@design-system-rte/angular 1.5.0 → 1.6.1-rc1
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/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 +2 -2
- package/lib/components/icon-button-toggle/icon-button-toggle.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/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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { inject, Injectable, input, DestroyRef, ChangeDetectorRef, effect, Component, ChangeDetectionStrategy, computed, HostBinding, Directive, ElementRef, ViewContainerRef, Renderer2, HostListener, output, signal, TemplateRef, contentChild, viewChild, viewChildren, NgModule, RendererFactory2, Injector, untracked, afterNextRender } from '@angular/core';
|
|
3
|
+
import { ButtonIconSize, getAutoPlacement, getCoordinates, shouldUseDrawerDefaultHeader, shouldUseDrawerDefaultFooter, DRAWER_PADDING, waitForNextFrame as waitForNextFrame$1, DRAWER_TRANSITION_DURATION, getDrawerConfigurationIssues, dividerAppearanceBySideNavAppearance as dividerAppearanceBySideNavAppearance$1 } from '@design-system-rte/core';
|
|
3
4
|
import * as i1 from '@angular/common';
|
|
4
5
|
import { CommonModule } from '@angular/common';
|
|
5
6
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
@@ -7,13 +8,12 @@ import { DomSanitizer } from '@angular/platform-browser';
|
|
|
7
8
|
import { HttpClient } from '@angular/common/http';
|
|
8
9
|
import { isValidIconName as isValidIconName$1 } from '@design-system-rte/core/components/icon/icon-utils';
|
|
9
10
|
import { labelSize } from '@design-system-rte/core/components/radio-button/radio-button.constants';
|
|
10
|
-
import { getAutoPlacement, getCoordinates, dividerAppearanceBySideNavAppearance as dividerAppearanceBySideNavAppearance$1 } from '@design-system-rte/core';
|
|
11
11
|
import { TOOLTIP_GAP, TOOLTIP_FADE_OUT_DURATION } from '@design-system-rte/core/components/tooltip/tooltip.constants';
|
|
12
12
|
import { getTooltipGap } from '@design-system-rte/core/components/tooltip/tooltip.utils';
|
|
13
13
|
import { FOCUSABLE_ELEMENTS_QUERY, FOCUSABLE_BUTTONS_QUERY } from '@design-system-rte/core/constants/dom/dom.constants';
|
|
14
14
|
import { getShowIcon, getShowText, getDisplayCount, getBadgeIconSize, getShowBadge, shouldDisplayBadge } from '@design-system-rte/core/components/badge/badge.utils';
|
|
15
15
|
import { splitButtonLeftIconSize, splitButtonRightIconSize } from '@design-system-rte/core/components/split-button/split-button.constants';
|
|
16
|
-
import { SPACE_KEY, ENTER_KEY, ARROW_DOWN_KEY, ARROW_UP_KEY, ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ESCAPE_KEY, TAB_KEY, BACKSPACE_KEY, DELETE_KEY } from '@design-system-rte/core/constants/keyboard/keyboard.constants';
|
|
16
|
+
import { SPACE_KEY, ENTER_KEY, ARROW_DOWN_KEY, ARROW_UP_KEY, ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ESCAPE_KEY, TAB_KEY, BACKSPACE_KEY, DELETE_KEY, ARROW_KEYS } from '@design-system-rte/core/constants/keyboard/keyboard.constants';
|
|
17
17
|
import { DropdownManager } from '@design-system-rte/core/components/dropdown/DropdownManager';
|
|
18
18
|
import { getAutoPlacementDropdown, getAutoAlignment, getCoordinates as getCoordinates$1, getAutoPlacement as getAutoPlacement$1 } from '@design-system-rte/core/components/utils/auto-placement';
|
|
19
19
|
import { logWarn, logError } from '@design-system-rte/core/utils/log-handlers';
|
|
@@ -21,7 +21,7 @@ import { BehaviorSubject } from 'rxjs';
|
|
|
21
21
|
import { map } from 'rxjs/operators';
|
|
22
22
|
import { waitForNextFrame } from '@design-system-rte/core/common/animation';
|
|
23
23
|
import { DROPDOWN_ANIMATION_DURATION } from '@design-system-rte/core/components/dropdown/dropdown.constants';
|
|
24
|
-
import { ButtonIconSize } from '@design-system-rte/core/components/button/common/common-button.constants';
|
|
24
|
+
import { ButtonIconSize as ButtonIconSize$1 } from '@design-system-rte/core/components/button/common/common-button.constants';
|
|
25
25
|
import { loaderSize } from '@design-system-rte/core/components/loader/loader.constants';
|
|
26
26
|
import { CHIP_TYPE_TO_ARIA_ROLE_MAP } from '@design-system-rte/core/components/chip/chip.constants';
|
|
27
27
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
@@ -31,7 +31,8 @@ import { switchHeight, switchWidth } from '@design-system-rte/core/components/sw
|
|
|
31
31
|
import { isValidSegmentedControlOptions, focusNextSegmentElement, focusPreviousSegmentElement, focusPreviousNotSegmentElement, focusNextNotSegmentElement, getSegmentPosition } from '@design-system-rte/core/components/segmented-control/segmented-control-utils';
|
|
32
32
|
import { BREADCRUMBS_DEFAULT_ARIA_LABEL } from '@design-system-rte/core/components/breadcrumbs/breadcrumbs.constants';
|
|
33
33
|
import { shouldTruncateBreadcrumbs, getBreadcrumbsTruncatedItems } from '@design-system-rte/core/components/breadcrumbs/breadcrumbs.utils';
|
|
34
|
-
import {
|
|
34
|
+
import { AccordionIconSizeMap } from '@design-system-rte/core/components/accordion/accordion.constants';
|
|
35
|
+
import { DEFAULT_CARD_WIDTH } from '@design-system-rte/core/components/card/card.constants';
|
|
35
36
|
import { POPOVER_GAP_ARROW, POPOVER_GAP } from '@design-system-rte/core/components/popover/popover.constants';
|
|
36
37
|
import { IconSize, IconTypeMap } from '@design-system-rte/core/components/icon/icon.constants';
|
|
37
38
|
import { APPEARANCE_CONFIG, SEARCHBAR_BORDER_RADIUS, SEARCHBAR_PADDING_LEFT, SEARCHBAR_BUTTON_WIDTH, SEARCHBAR_BUTTON_HEIGHT_COMPACT } from '@design-system-rte/core/components/searchbar/searchbar.constants';
|
|
@@ -46,105 +47,16 @@ import { getSelectedOption } from '@design-system-rte/core/components/select/sel
|
|
|
46
47
|
import { ASSISTIVE_TEXT_ICON_SIZE } from '@design-system-rte/core/components/assistive-text/assistive-text.constants';
|
|
47
48
|
import { getIconNameFromAppearance } from '@design-system-rte/core/components/assistive-text/assistive-text.utils';
|
|
48
49
|
import { scrollToSelectedTab } from '@design-system-rte/core/components/tab/tab.utils';
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.rteButtonSize = input("m");
|
|
54
|
-
this.rteBadgeCount = input();
|
|
55
|
-
this.rteBadgeContent = input();
|
|
56
|
-
this.shouldDisplayBadge = computed(() => {
|
|
57
|
-
const count = this.rteBadgeCount();
|
|
58
|
-
const content = this.rteBadgeContent();
|
|
59
|
-
return (count && count > 0 && content === "number") || content === "icon";
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
get classes() {
|
|
63
|
-
return `rte-button ${this.rteButtonVariant()} size-${this.rteButtonSize()}`;
|
|
64
|
-
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "button[rteButton]", inputs: { rteButtonVariant: { classPropertyName: "rteButtonVariant", publicName: "rteButtonVariant", isSignal: true, isRequired: false, transformFunction: null }, rteButtonSize: { classPropertyName: "rteButtonSize", publicName: "rteButtonSize", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeCount: { classPropertyName: "rteBadgeCount", publicName: "rteBadgeCount", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeContent: { classPropertyName: "rteBadgeContent", publicName: "rteBadgeContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "<span class=\"rte-button-label\">\n <ng-content />\n <!-- Le badge est g\u00E9r\u00E9 par BadgeDirective attach\u00E9e via hostDirectives -->\n</span>\n", styles: [":host{display:inline-flex;flex-shrink:0;align-items:center;cursor:pointer;justify-content:center;width:fit-content}:host:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}:host.size-s{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;height:24px;border-radius:4px;padding:4px 8px}:host.size-s .rte-button-label{margin:0 4px}:host.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;height:32px;border-radius:4px;padding:4px 12px}:host.size-m .rte-button-label{margin:0 6px}:host.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;height:40px;border-radius:8px;padding:4px 16px}:host.size-l .rte-button-label{margin:0 8px}:host.primary{border:var(--border-brand-default);color:var(--content-primary-inverse);background:var(--background-brand-default)}:host.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}:host.primary:active{background:var(--background-brand-pressed)}:host.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}:host.secondary:hover{background:var(--background-brand-inverse-hover)}:host.secondary:active{background:var(--background-brand-inverse-pressed)}:host.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}:host.text{background:transparent;border:none;color:var(--content-brand-default)}:host.text:hover{background:var(--background-brand-inverse-hover)}:host.text:active{background:var(--background-brand-inverse-pressed)}:host.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}:host.transparent{background:transparent;border:none;color:var(--content-brand-default)}:host.transparent:hover{color:var(--content-brand-hover)}:host.transparent:active{color:var(--content-brand-pressed)}:host.transparent:disabled{color:var(--content-disabled);box-shadow:none;cursor:default}:host.danger{background:var(--background-danger-default);border:none;color:var(--content-primary-inverse)}:host.danger:hover{background:var(--background-danger-hover)}:host.danger:active{background:var(--background-danger-pressed)}:host.danger:disabled{background:var(--background-disabled);border:var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.neutral{background:none;border:none;color:var(--content-primary)}:host.neutral:hover{color:var(--content-secondary)}:host.neutral:active{color:var(--content-tertiary)}:host.neutral:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}:host.reverse{background:none;border:none;color:var(--content-primary-inverse)}:host.reverse:hover{color:var(--background-hover)}:host.reverse:active{color:var(--content-primary-inverse)}:host.reverse:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
69
|
-
type: Component,
|
|
70
|
-
args: [{ selector: "button[rteButton]", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"rte-button-label\">\n <ng-content />\n <!-- Le badge est g\u00E9r\u00E9 par BadgeDirective attach\u00E9e via hostDirectives -->\n</span>\n", styles: [":host{display:inline-flex;flex-shrink:0;align-items:center;cursor:pointer;justify-content:center;width:fit-content}:host:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}:host.size-s{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;height:24px;border-radius:4px;padding:4px 8px}:host.size-s .rte-button-label{margin:0 4px}:host.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;height:32px;border-radius:4px;padding:4px 12px}:host.size-m .rte-button-label{margin:0 6px}:host.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;height:40px;border-radius:8px;padding:4px 16px}:host.size-l .rte-button-label{margin:0 8px}:host.primary{border:var(--border-brand-default);color:var(--content-primary-inverse);background:var(--background-brand-default)}:host.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}:host.primary:active{background:var(--background-brand-pressed)}:host.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}:host.secondary:hover{background:var(--background-brand-inverse-hover)}:host.secondary:active{background:var(--background-brand-inverse-pressed)}:host.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}:host.text{background:transparent;border:none;color:var(--content-brand-default)}:host.text:hover{background:var(--background-brand-inverse-hover)}:host.text:active{background:var(--background-brand-inverse-pressed)}:host.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}:host.transparent{background:transparent;border:none;color:var(--content-brand-default)}:host.transparent:hover{color:var(--content-brand-hover)}:host.transparent:active{color:var(--content-brand-pressed)}:host.transparent:disabled{color:var(--content-disabled);box-shadow:none;cursor:default}:host.danger{background:var(--background-danger-default);border:none;color:var(--content-primary-inverse)}:host.danger:hover{background:var(--background-danger-hover)}:host.danger:active{background:var(--background-danger-pressed)}:host.danger:disabled{background:var(--background-disabled);border:var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.neutral{background:none;border:none;color:var(--content-primary)}:host.neutral:hover{color:var(--content-secondary)}:host.neutral:active{color:var(--content-tertiary)}:host.neutral:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}:host.reverse{background:none;border:none;color:var(--content-primary-inverse)}:host.reverse:hover{color:var(--background-hover)}:host.reverse:active{color:var(--content-primary-inverse)}:host.reverse:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}\n"] }]
|
|
71
|
-
}], propDecorators: { classes: [{
|
|
72
|
-
type: HostBinding,
|
|
73
|
-
args: ["class"]
|
|
74
|
-
}] } });
|
|
75
|
-
|
|
76
|
-
class GridDirective {
|
|
77
|
-
get hostClasses() {
|
|
78
|
-
return "grid";
|
|
79
|
-
}
|
|
80
|
-
get hostDataClasses() {
|
|
81
|
-
const variation = this.gridType();
|
|
82
|
-
return `${variation}`;
|
|
83
|
-
}
|
|
84
|
-
constructor() {
|
|
85
|
-
this.gridType = input("fluid");
|
|
86
|
-
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
88
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: GridDirective, isStandalone: true, selector: "[rteGrid]", inputs: { gridType: { classPropertyName: "gridType", publicName: "gridType", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.hostClasses", "attr.data-gridtype": "this.hostDataClasses" } }, ngImport: i0 }); }
|
|
89
|
-
}
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridDirective, decorators: [{
|
|
91
|
-
type: Directive,
|
|
92
|
-
args: [{
|
|
93
|
-
selector: "[rteGrid]",
|
|
94
|
-
standalone: true,
|
|
95
|
-
}]
|
|
96
|
-
}], ctorParameters: () => [], propDecorators: { hostClasses: [{
|
|
97
|
-
type: HostBinding,
|
|
98
|
-
args: ["class"]
|
|
99
|
-
}], hostDataClasses: [{
|
|
100
|
-
type: HostBinding,
|
|
101
|
-
args: ["attr.data-gridtype"]
|
|
102
|
-
}] } });
|
|
103
|
-
|
|
104
|
-
class ColDirective {
|
|
105
|
-
get colClasses() {
|
|
106
|
-
return [
|
|
107
|
-
"col",
|
|
108
|
-
this.generateColumnClass("col-xxs", this.xxs()),
|
|
109
|
-
this.generateColumnClass("col-xs", this.xs()),
|
|
110
|
-
this.generateColumnClass("col-s", this.s()),
|
|
111
|
-
this.generateColumnClass("col-m", this.m()),
|
|
112
|
-
this.generateColumnClass("col-l", this.l()),
|
|
113
|
-
this.generateColumnClass("col-xl", this.xl()),
|
|
114
|
-
]
|
|
115
|
-
.filter(Boolean)
|
|
116
|
-
.join(" ");
|
|
117
|
-
}
|
|
118
|
-
constructor() {
|
|
119
|
-
this.xxs = input();
|
|
120
|
-
this.xs = input();
|
|
121
|
-
this.s = input();
|
|
122
|
-
this.m = input();
|
|
123
|
-
this.l = input();
|
|
124
|
-
this.xl = input();
|
|
125
|
-
}
|
|
126
|
-
generateColumnClass(prefix, size) {
|
|
127
|
-
return size ? `${prefix}-${size}` : "";
|
|
128
|
-
}
|
|
129
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
130
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: ColDirective, isStandalone: true, selector: "[rteCol]", inputs: { xxs: { classPropertyName: "xxs", publicName: "xxs", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "xs", isSignal: true, isRequired: false, transformFunction: null }, s: { classPropertyName: "s", publicName: "s", isSignal: true, isRequired: false, transformFunction: null }, m: { classPropertyName: "m", publicName: "m", isSignal: true, isRequired: false, transformFunction: null }, l: { classPropertyName: "l", publicName: "l", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "xl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.colClasses" } }, ngImport: i0 }); }
|
|
131
|
-
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColDirective, decorators: [{
|
|
133
|
-
type: Directive,
|
|
134
|
-
args: [{
|
|
135
|
-
selector: "[rteCol]",
|
|
136
|
-
standalone: true,
|
|
137
|
-
}]
|
|
138
|
-
}], ctorParameters: () => [], propDecorators: { colClasses: [{
|
|
139
|
-
type: HostBinding,
|
|
140
|
-
args: ["class"]
|
|
141
|
-
}] } });
|
|
50
|
+
import { computeCheckedIdsAfterToggle, getChildBorderTypes, hasChildren, allDescendantsChecked, isNodeIndeterminate, isItemSelected, buildTreeviewNodeId, computeCheckboxId, computeConnectorBorderTypes, canToggleOpen, getTreeviewItemKey } from '@design-system-rte/core/components/treeview/treeview.utils';
|
|
51
|
+
import { parsePathString, getNodeAtPath, TREEVIEW_BORDER_SVG_MAP_COMPACT, TREEVIEW_BORDER_SVG_MAP, isTreeviewFocusable, getVisibleFocusableRows, findFocusedPosition, getNextFocusTarget, setMovingTabindex, resetMovingTabIndex, hasNestedItemsInTree } from '@design-system-rte/core/components/treeview';
|
|
52
|
+
import { IconSizeMap, StatusIndicatorSizeMap } from '@design-system-rte/core/components/avatar';
|
|
53
|
+
import { computeBackgroundColor, computeMaskImage } from '@design-system-rte/core/components/avatar/avatar.utils';
|
|
142
54
|
|
|
143
55
|
// This file is auto-generated. Do not edit manually.
|
|
144
56
|
const RegularIcons = {
|
|
145
|
-
add: "add",
|
|
57
|
+
"add": "add",
|
|
146
58
|
"alt-route": "alt_route",
|
|
147
|
-
apps: "apps",
|
|
59
|
+
"apps": "apps",
|
|
148
60
|
"arrow-alt-down": "arrow_alt_down",
|
|
149
61
|
"arrow-alt-down-left": "arrow_alt_down_left",
|
|
150
62
|
"arrow-alt-down-right": "arrow_alt_down_right",
|
|
@@ -161,6 +73,7 @@ const RegularIcons = {
|
|
|
161
73
|
"arrow-chevron-left": "arrow_chevron_left",
|
|
162
74
|
"arrow-chevron-right": "arrow_chevron_right",
|
|
163
75
|
"arrow-chevron-up": "arrow_chevron_up",
|
|
76
|
+
"arrow-compare": "arrow_compare",
|
|
164
77
|
"arrow-double-down": "arrow_double_down",
|
|
165
78
|
"arrow-double-left": "arrow_double_left",
|
|
166
79
|
"arrow-double-right": "arrow_double_right",
|
|
@@ -175,100 +88,103 @@ const RegularIcons = {
|
|
|
175
88
|
"arrow-up": "arrow_up",
|
|
176
89
|
"arrow-up-left": "arrow_up_left",
|
|
177
90
|
"arrow-up-right": "arrow_up_right",
|
|
178
|
-
asterisk: "asterisk",
|
|
91
|
+
"asterisk": "asterisk",
|
|
179
92
|
"attach-file": "attach_file",
|
|
180
93
|
"battery-alt-empty": "battery_alt_empty",
|
|
181
94
|
"battery-alt-full": "battery_alt_full",
|
|
182
95
|
"battery-charging": "battery_charging",
|
|
183
96
|
"battery-empty": "battery_empty",
|
|
184
97
|
"battery-full": "battery_full",
|
|
185
|
-
bluetooth: "bluetooth",
|
|
98
|
+
"bluetooth": "bluetooth",
|
|
186
99
|
"bluetooth-off": "bluetooth_off",
|
|
187
100
|
"chart-bar": "chart_bar",
|
|
188
101
|
"chart-bar-stacked": "chart_bar_stacked",
|
|
189
|
-
check: "check",
|
|
102
|
+
"check": "check",
|
|
190
103
|
"check-indeterminate": "check_indeterminate",
|
|
191
104
|
"check-small": "check_small",
|
|
192
105
|
"checkbox-empty": "checkbox_empty",
|
|
193
|
-
close: "close",
|
|
194
|
-
|
|
106
|
+
"close": "close",
|
|
107
|
+
"company": "company",
|
|
108
|
+
"compare": "compare",
|
|
195
109
|
"copy-all": "copy_all",
|
|
196
110
|
"crisis-alert": "crisis_alert",
|
|
197
|
-
cut: "cut",
|
|
198
|
-
download: "download",
|
|
111
|
+
"cut": "cut",
|
|
112
|
+
"download": "download",
|
|
199
113
|
"download-done": "download_done",
|
|
200
114
|
"drag-handle": "drag_handle",
|
|
201
115
|
"drag-indicator": "drag_indicator",
|
|
202
|
-
exclamation: "exclamation",
|
|
116
|
+
"exclamation": "exclamation",
|
|
203
117
|
"explore-travel": "explore_travel",
|
|
204
118
|
"external-link": "external_link",
|
|
205
|
-
filter: "filter",
|
|
119
|
+
"filter": "filter",
|
|
206
120
|
"filter-off": "filter_off",
|
|
207
121
|
"first-page": "first_page",
|
|
208
|
-
forward: "forward",
|
|
209
|
-
fullscreen: "fullscreen",
|
|
122
|
+
"forward": "forward",
|
|
123
|
+
"fullscreen": "fullscreen",
|
|
210
124
|
"fullscreen-exit": "fullscreen_exit",
|
|
211
|
-
history: "history",
|
|
125
|
+
"history": "history",
|
|
212
126
|
"hourglass-empty": "hourglass_empty",
|
|
213
127
|
"info-i": "info_i",
|
|
214
|
-
language: "language",
|
|
128
|
+
"language": "language",
|
|
215
129
|
"last-page": "last_page",
|
|
216
|
-
link: "link",
|
|
130
|
+
"link": "link",
|
|
217
131
|
"link-off": "link_off",
|
|
218
|
-
list: "list",
|
|
132
|
+
"list": "list",
|
|
219
133
|
"location-disabled": "location_disabled",
|
|
220
|
-
login: "login",
|
|
221
|
-
logout: "logout",
|
|
222
|
-
menu: "menu",
|
|
134
|
+
"login": "login",
|
|
135
|
+
"logout": "logout",
|
|
136
|
+
"menu": "menu",
|
|
223
137
|
"menu-open": "menu_open",
|
|
224
|
-
monitoring: "monitoring",
|
|
138
|
+
"monitoring": "monitoring",
|
|
225
139
|
"more-down": "more_down",
|
|
226
140
|
"more-horiz": "more_horiz",
|
|
227
141
|
"more-up": "more_up",
|
|
228
142
|
"more-vert": "more_vert",
|
|
229
|
-
ohm: "ohm",
|
|
143
|
+
"ohm": "ohm",
|
|
230
144
|
"open-in-full": "open_in_full",
|
|
231
|
-
paste: "paste",
|
|
145
|
+
"paste": "paste",
|
|
232
146
|
"play-pause": "play_pause",
|
|
233
147
|
"power-input": "power_input",
|
|
234
148
|
"power-plug": "power_plug",
|
|
235
149
|
"power-settings": "power_settings",
|
|
236
150
|
"priority-high": "priority_high",
|
|
237
|
-
public: "public",
|
|
238
|
-
publish: "publish",
|
|
151
|
+
"public": "public",
|
|
152
|
+
"publish": "publish",
|
|
239
153
|
"question-mark": "question_mark",
|
|
240
|
-
radar: "radar",
|
|
154
|
+
"radar": "radar",
|
|
241
155
|
"radio-button-empty": "radio_button_empty",
|
|
242
|
-
redo: "redo",
|
|
243
|
-
reload: "reload",
|
|
244
|
-
remove: "remove",
|
|
245
|
-
reply: "reply",
|
|
156
|
+
"redo": "redo",
|
|
157
|
+
"reload": "reload",
|
|
158
|
+
"remove": "remove",
|
|
159
|
+
"reply": "reply",
|
|
246
160
|
"reply-all": "reply_all",
|
|
247
|
-
route: "route",
|
|
248
|
-
search: "search",
|
|
161
|
+
"route": "route",
|
|
162
|
+
"search": "search",
|
|
249
163
|
"side-navigation": "side_navigation",
|
|
250
|
-
sort: "sort",
|
|
164
|
+
"sort": "sort",
|
|
251
165
|
"support-agent": "support_agent",
|
|
252
|
-
|
|
166
|
+
"swap-horiz": "swap_horiz",
|
|
167
|
+
"swap-vert": "swap_vert",
|
|
168
|
+
"timeline": "timeline",
|
|
253
169
|
"trending-down": "trending_down",
|
|
254
170
|
"trending-flat": "trending_flat",
|
|
255
171
|
"trending-up": "trending_up",
|
|
256
|
-
tune: "tune",
|
|
257
|
-
undo: "undo",
|
|
258
|
-
upload: "upload",
|
|
259
|
-
water: "water",
|
|
172
|
+
"tune": "tune",
|
|
173
|
+
"undo": "undo",
|
|
174
|
+
"upload": "upload",
|
|
175
|
+
"water": "water",
|
|
260
176
|
"water-alt": "water_alt",
|
|
261
|
-
wifi: "wifi",
|
|
177
|
+
"wifi": "wifi",
|
|
262
178
|
"wifi-off": "wifi_off",
|
|
263
|
-
windmill: "windmill",
|
|
179
|
+
"windmill": "windmill",
|
|
264
180
|
"zoom-in": "zoom_in",
|
|
265
181
|
"zoom-out": "zoom_out",
|
|
266
182
|
};
|
|
267
183
|
const TogglableIcons = {
|
|
268
184
|
"add-circle": ["add_circle_outlined", "add_circle_filled"],
|
|
269
185
|
"admin-panel-settings": ["admin_panel_settings_outlined", "admin_panel_settings_filled"],
|
|
270
|
-
analytics: ["analytics_outlined", "analytics_filled"],
|
|
271
|
-
archive: ["archive_outlined", "archive_filled"],
|
|
186
|
+
"analytics": ["analytics_outlined", "analytics_filled"],
|
|
187
|
+
"archive": ["archive_outlined", "archive_filled"],
|
|
272
188
|
"arrow-circle-chevron-down": ["arrow_circle_chevron_down_outlined", "arrow_circle_chevron_down_filled"],
|
|
273
189
|
"arrow-circle-chevron-left": ["arrow_circle_chevron_left_outlined", "arrow_circle_chevron_left_filled"],
|
|
274
190
|
"arrow-circle-chevron-right": ["arrow_circle_chevron_right_outlined", "arrow_circle_chevron_right_filled"],
|
|
@@ -277,153 +193,156 @@ const TogglableIcons = {
|
|
|
277
193
|
"arrow-circle-left": ["arrow_circle_left_outlined", "arrow_circle_left_filled"],
|
|
278
194
|
"arrow-circle-right": ["arrow_circle_right_outlined", "arrow_circle_right_filled"],
|
|
279
195
|
"arrow-circle-up": ["arrow_circle_up_outlined", "arrow_circle_up_filled"],
|
|
280
|
-
article: ["article_outlined", "article_filled"],
|
|
196
|
+
"article": ["article_outlined", "article_filled"],
|
|
281
197
|
"assignment-complete": ["assignment_complete_outlined", "assignment_complete_filled"],
|
|
282
|
-
assignment: ["assignment_outlined", "assignment_filled"],
|
|
198
|
+
"assignment": ["assignment_outlined", "assignment_filled"],
|
|
283
199
|
"battery-alert": ["battery_alert_outlined", "battery_alert_filled"],
|
|
284
200
|
"battery-charging-full": ["battery_charging_full_outlined", "battery_charging_full_filled"],
|
|
285
201
|
"bolt-alt-circle": ["bolt_alt_circle_outlined", "bolt_alt_circle_filled"],
|
|
286
202
|
"bolt-alt": ["bolt_alt_outlined", "bolt_alt_filled"],
|
|
287
203
|
"bolt-circle": ["bolt_circle_outlined", "bolt_circle_filled"],
|
|
288
|
-
bolt: ["bolt_outlined", "bolt_filled"],
|
|
289
|
-
bookmark: ["bookmark_outlined", "bookmark_filled"],
|
|
290
|
-
bookmarks: ["bookmarks_outlined", "bookmarks_filled"],
|
|
291
|
-
build: ["build_outlined", "build_filled"],
|
|
204
|
+
"bolt": ["bolt_outlined", "bolt_filled"],
|
|
205
|
+
"bookmark": ["bookmark_outlined", "bookmark_filled"],
|
|
206
|
+
"bookmarks": ["bookmarks_outlined", "bookmarks_filled"],
|
|
207
|
+
"build": ["build_outlined", "build_filled"],
|
|
292
208
|
"calendar-available": ["calendar_available_outlined", "calendar_available_filled"],
|
|
293
209
|
"calendar-busy": ["calendar_busy_outlined", "calendar_busy_filled"],
|
|
294
210
|
"calendar-month": ["calendar_month_outlined", "calendar_month_filled"],
|
|
295
211
|
"calendar-today": ["calendar_today_outlined", "calendar_today_filled"],
|
|
296
|
-
call: ["call_outlined", "call_filled"],
|
|
297
|
-
cancel: ["cancel_outlined", "cancel_filled"],
|
|
298
|
-
category: ["category_outlined", "category_filled"],
|
|
212
|
+
"call": ["call_outlined", "call_filled"],
|
|
213
|
+
"cancel": ["cancel_outlined", "cancel_filled"],
|
|
214
|
+
"category": ["category_outlined", "category_filled"],
|
|
299
215
|
"chart-add": ["chart_add_outlined", "chart_add_filled"],
|
|
300
216
|
"chart-area": ["chart_area_outlined", "chart_area_filled"],
|
|
301
217
|
"chart-pie": ["chart_pie_outlined", "chart_pie_filled"],
|
|
302
218
|
"chart-table": ["chart_table_outlined", "chart_table_filled"],
|
|
303
219
|
"chat-alt": ["chat_alt_outlined", "chat_alt_filled"],
|
|
304
220
|
"chat-alt-unread": ["chat_alt_unread_outlined", "chat_alt_unread_filled"],
|
|
305
|
-
chat: ["chat_outlined", "chat_filled"],
|
|
221
|
+
"chat": ["chat_outlined", "chat_filled"],
|
|
306
222
|
"chat-unread": ["chat_unread_outlined", "chat_unread_filled"],
|
|
307
223
|
"check-circle": ["check_circle_outlined", "check_circle_filled"],
|
|
308
|
-
checkbox: ["checkbox_outlined", "checkbox_filled"],
|
|
224
|
+
"checkbox": ["checkbox_outlined", "checkbox_filled"],
|
|
309
225
|
"checkbox-indeterminate": ["checkbox_indeterminate_outlined", "checkbox_indeterminate_filled"],
|
|
310
|
-
clock: ["clock_outlined", "clock_filled"],
|
|
226
|
+
"clock": ["clock_outlined", "clock_filled"],
|
|
311
227
|
"cloud-download": ["cloud_download_outlined", "cloud_download_filled"],
|
|
312
|
-
cloud: ["cloud_outlined", "cloud_filled"],
|
|
228
|
+
"cloud": ["cloud_outlined", "cloud_filled"],
|
|
313
229
|
"cloud-off": ["cloud_off_outlined", "cloud_off_filled"],
|
|
314
230
|
"cloud-upload": ["cloud_upload_outlined", "cloud_upload_filled"],
|
|
315
231
|
"comment-add": ["comment_add_outlined", "comment_add_filled"],
|
|
316
|
-
comment: ["comment_outlined", "comment_filled"],
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
232
|
+
"comment": ["comment_outlined", "comment_filled"],
|
|
233
|
+
"contact": ["contact_outlined", "contact_filled"],
|
|
234
|
+
"copy": ["copy_outlined", "copy_filled"],
|
|
235
|
+
"dangerous": ["dangerous_outlined", "dangerous_filled"],
|
|
236
|
+
"dashboard": ["dashboard_outlined", "dashboard_filled"],
|
|
237
|
+
"database": ["database_outlined", "database_filled"],
|
|
238
|
+
"delete": ["delete_outlined", "delete_filled"],
|
|
239
|
+
"desktop": ["desktop_outlined", "desktop_filled"],
|
|
240
|
+
"devices": ["devices_outlined", "devices_filled"],
|
|
241
|
+
"draft": ["draft_outlined", "draft_filled"],
|
|
242
|
+
"eco": ["eco_outlined", "eco_filled"],
|
|
243
|
+
"edit": ["edit_outlined", "edit_filled"],
|
|
327
244
|
"electric-meter": ["electric_meter_outlined", "electric_meter_filled"],
|
|
328
|
-
error: ["error_outlined", "error_filled"],
|
|
329
|
-
explore: ["explore_outlined", "explore_filled"],
|
|
245
|
+
"error": ["error_outlined", "error_filled"],
|
|
246
|
+
"explore": ["explore_outlined", "explore_filled"],
|
|
330
247
|
"explore-off": ["explore_off_outlined", "explore_off_filled"],
|
|
248
|
+
"export-xls": ["export_xls_outlined", "export_xls_filled"],
|
|
331
249
|
"fast-forward": ["fast_forward_outlined", "fast_forward_filled"],
|
|
332
250
|
"fast-rewind": ["fast_rewind_outlined", "fast_rewind_filled"],
|
|
333
|
-
feedback: ["feedback_outlined", "feedback_filled"],
|
|
251
|
+
"feedback": ["feedback_outlined", "feedback_filled"],
|
|
334
252
|
"file-copy": ["file_copy_outlined", "file_copy_filled"],
|
|
335
253
|
"file-download": ["file_download_outlined", "file_download_filled"],
|
|
336
254
|
"file-upload": ["file_upload_outlined", "file_upload_filled"],
|
|
337
255
|
"filter-alt": ["filter_alt_outlined", "filter_alt_filled"],
|
|
338
256
|
"filter-alt-off": ["filter_alt_off_outlined", "filter_alt_off_filled"],
|
|
339
|
-
fire: ["fire_outlined", "fire_filled"],
|
|
257
|
+
"fire": ["fire_outlined", "fire_filled"],
|
|
340
258
|
"fit-screen": ["fit_screen_outlined", "fit_screen_filled"],
|
|
341
|
-
flag: ["flag_outlined", "flag_filled"],
|
|
342
|
-
flash: ["flash_outlined", "flash_filled"],
|
|
259
|
+
"flag": ["flag_outlined", "flag_filled"],
|
|
260
|
+
"flash": ["flash_outlined", "flash_filled"],
|
|
343
261
|
"flash-off": ["flash_off_outlined", "flash_off_filled"],
|
|
344
262
|
"folder-add": ["folder_add_outlined", "folder_add_filled"],
|
|
345
|
-
folder: ["folder_outlined", "folder_filled"],
|
|
263
|
+
"folder": ["folder_outlined", "folder_filled"],
|
|
346
264
|
"folder-move": ["folder_move_outlined", "folder_move_filled"],
|
|
347
265
|
"folder-open": ["folder_open_outlined", "folder_open_filled"],
|
|
348
266
|
"folder-shared": ["folder_shared_outlined", "folder_shared_filled"],
|
|
349
|
-
forum: ["forum_outlined", "forum_filled"],
|
|
267
|
+
"forum": ["forum_outlined", "forum_filled"],
|
|
350
268
|
"group-add": ["group_add_outlined", "group_add_filled"],
|
|
351
|
-
group: ["group_outlined", "group_filled"],
|
|
352
|
-
groups: ["groups_outlined", "groups_filled"],
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
269
|
+
"group": ["group_outlined", "group_filled"],
|
|
270
|
+
"groups": ["groups_outlined", "groups_filled"],
|
|
271
|
+
"handshake": ["handshake_outlined", "handshake_filled"],
|
|
272
|
+
"headphones": ["headphones_outlined", "headphones_filled"],
|
|
273
|
+
"heart": ["heart_outlined", "heart_filled"],
|
|
274
|
+
"help": ["help_outlined", "help_filled"],
|
|
275
|
+
"home": ["home_outlined", "home_filled"],
|
|
276
|
+
"hourglass": ["hourglass_outlined", "hourglass_filled"],
|
|
358
277
|
"image-broken": ["image_broken_outlined", "image_broken_filled"],
|
|
359
|
-
image: ["image_outlined", "image_filled"],
|
|
278
|
+
"image": ["image_outlined", "image_filled"],
|
|
360
279
|
"image-gallery": ["image_gallery_outlined", "image_gallery_filled"],
|
|
361
|
-
inbox: ["inbox_outlined", "inbox_filled"],
|
|
362
|
-
info: ["info_outlined", "info_filled"],
|
|
363
|
-
keep: ["keep_outlined", "keep_filled"],
|
|
280
|
+
"inbox": ["inbox_outlined", "inbox_filled"],
|
|
281
|
+
"info": ["info_outlined", "info_filled"],
|
|
282
|
+
"keep": ["keep_outlined", "keep_filled"],
|
|
364
283
|
"keep-off": ["keep_off_outlined", "keep_off_filled"],
|
|
365
|
-
label: ["label_outlined", "label_filled"],
|
|
366
|
-
laptop: ["laptop_outlined", "laptop_filled"],
|
|
284
|
+
"label": ["label_outlined", "label_filled"],
|
|
285
|
+
"laptop": ["laptop_outlined", "laptop_filled"],
|
|
367
286
|
"left-panel-close": ["left_panel_close_outlined", "left_panel_close_filled"],
|
|
368
287
|
"left-panel-open": ["left_panel_open_outlined", "left_panel_open_filled"],
|
|
369
288
|
"light-off": ["light_off_outlined", "light_off_filled"],
|
|
370
289
|
"lightbulb-alt": ["lightbulb_alt_outlined", "lightbulb_alt_filled"],
|
|
371
290
|
"lightbulb-circle": ["lightbulb_circle_outlined", "lightbulb_circle_filled"],
|
|
372
|
-
lightbulb: ["lightbulb_outlined", "lightbulb_filled"],
|
|
291
|
+
"lightbulb": ["lightbulb_outlined", "lightbulb_filled"],
|
|
373
292
|
"list-alt": ["list_alt_outlined", "list_alt_filled"],
|
|
374
293
|
"location-me": ["location_me_outlined", "location_me_filled"],
|
|
375
294
|
"location-off": ["location_off_outlined", "location_off_filled"],
|
|
376
295
|
"location-on": ["location_on_outlined", "location_on_filled"],
|
|
377
|
-
lock: ["lock_outlined", "lock_filled"],
|
|
296
|
+
"lock": ["lock_outlined", "lock_filled"],
|
|
378
297
|
"lock-open": ["lock_open_outlined", "lock_open_filled"],
|
|
379
298
|
"lock-open-right": ["lock_open_right_outlined", "lock_open_right_filled"],
|
|
380
|
-
mail: ["mail_outlined", "mail_filled"],
|
|
299
|
+
"mail": ["mail_outlined", "mail_filled"],
|
|
381
300
|
"mail-unread": ["mail_unread_outlined", "mail_unread_filled"],
|
|
382
|
-
map: ["map_outlined", "map_filled"],
|
|
383
|
-
mic: ["mic_outlined", "mic_filled"],
|
|
301
|
+
"map": ["map_outlined", "map_filled"],
|
|
302
|
+
"mic": ["mic_outlined", "mic_filled"],
|
|
384
303
|
"mic-off": ["mic_off_outlined", "mic_off_filled"],
|
|
385
304
|
"mode-dark": ["mode_dark_outlined", "mode_dark_filled"],
|
|
386
305
|
"mode-light": ["mode_light_outlined", "mode_light_filled"],
|
|
387
|
-
notification: ["notification_outlined", "notification_filled"],
|
|
306
|
+
"notification": ["notification_outlined", "notification_filled"],
|
|
388
307
|
"notification-important": ["notification_important_outlined", "notification_important_filled"],
|
|
389
308
|
"notification-off": ["notification_off_outlined", "notification_off_filled"],
|
|
390
309
|
"notification-unread": ["notification_unread_outlined", "notification_unread_filled"],
|
|
391
|
-
palette: ["palette_outlined", "palette_filled"],
|
|
310
|
+
"palette": ["palette_outlined", "palette_filled"],
|
|
392
311
|
"pause-circle": ["pause_circle_outlined", "pause_circle_filled"],
|
|
393
|
-
pause: ["pause_outlined", "pause_filled"],
|
|
312
|
+
"pause": ["pause_outlined", "pause_filled"],
|
|
394
313
|
"photo-camera": ["photo_camera_outlined", "photo_camera_filled"],
|
|
395
314
|
"play-circle": ["play_circle_outlined", "play_circle_filled"],
|
|
396
|
-
play: ["play_outlined", "play_filled"],
|
|
397
|
-
power: ["power_outlined", "power_filled"],
|
|
315
|
+
"play": ["play_outlined", "play_filled"],
|
|
316
|
+
"power": ["power_outlined", "power_filled"],
|
|
398
317
|
"power-off": ["power_off_outlined", "power_off_filled"],
|
|
399
318
|
"power-plug-connect": ["power_plug_connect_outlined", "power_plug_connect_filled"],
|
|
400
319
|
"power-settings-circle": ["power_settings_circle_outlined", "power_settings_circle_filled"],
|
|
401
320
|
"power-solar": ["power_solar_outlined", "power_solar_filled"],
|
|
402
321
|
"power-switch": ["power_switch_outlined", "power_switch_filled"],
|
|
403
322
|
"power-wind": ["power_wind_outlined", "power_wind_filled"],
|
|
404
|
-
print: ["print_outlined", "print_filled"],
|
|
323
|
+
"print": ["print_outlined", "print_filled"],
|
|
405
324
|
"right-panel-close": ["right_panel_close_outlined", "right_panel_close_filled"],
|
|
406
325
|
"right-panel-open": ["right_panel_open_outlined", "right_panel_open_filled"],
|
|
407
|
-
save: ["save_outlined", "save_filled"],
|
|
408
|
-
send: ["send_outlined", "send_filled"],
|
|
409
|
-
settings: ["settings_outlined", "settings_filled"],
|
|
410
|
-
share: ["share_outlined", "share_filled"],
|
|
326
|
+
"save": ["save_outlined", "save_filled"],
|
|
327
|
+
"send": ["send_outlined", "send_filled"],
|
|
328
|
+
"settings": ["settings_outlined", "settings_filled"],
|
|
329
|
+
"share": ["share_outlined", "share_filled"],
|
|
411
330
|
"skip-next": ["skip_next_outlined", "skip_next_filled"],
|
|
412
331
|
"skip-previous": ["skip_previous_outlined", "skip_previous_filled"],
|
|
413
|
-
smartphone: ["smartphone_outlined", "smartphone_filled"],
|
|
414
|
-
star: ["star_outlined", "star_filled"],
|
|
332
|
+
"smartphone": ["smartphone_outlined", "smartphone_filled"],
|
|
333
|
+
"star": ["star_outlined", "star_filled"],
|
|
415
334
|
"sticky-note": ["sticky_note_outlined", "sticky_note_filled"],
|
|
416
335
|
"stop-circle": ["stop_circle_outlined", "stop_circle_filled"],
|
|
417
|
-
stop: ["stop_outlined", "stop_filled"],
|
|
418
|
-
subtitles: ["subtitles_outlined", "subtitles_filled"],
|
|
336
|
+
"stop": ["stop_outlined", "stop_filled"],
|
|
337
|
+
"subtitles": ["subtitles_outlined", "subtitles_filled"],
|
|
419
338
|
"text-snippet": ["text_snippet_outlined", "text_snippet_filled"],
|
|
420
339
|
"trash-restore": ["trash_restore_outlined", "trash_restore_filled"],
|
|
421
|
-
unarchive: ["unarchive_outlined", "unarchive_filled"],
|
|
340
|
+
"unarchive": ["unarchive_outlined", "unarchive_filled"],
|
|
422
341
|
"user-add": ["user_add_outlined", "user_add_filled"],
|
|
423
342
|
"user-circle": ["user_circle_outlined", "user_circle_filled"],
|
|
424
|
-
user: ["user_outlined", "user_filled"],
|
|
343
|
+
"user": ["user_outlined", "user_filled"],
|
|
425
344
|
"user-settings": ["user_settings_outlined", "user_settings_filled"],
|
|
426
|
-
verified: ["verified_outlined", "verified_filled"],
|
|
345
|
+
"verified": ["verified_outlined", "verified_filled"],
|
|
427
346
|
"video-camera": ["video_camera_outlined", "video_camera_filled"],
|
|
428
347
|
"video-camera-off": ["video_camera_off_outlined", "video_camera_off_filled"],
|
|
429
348
|
"video-gallery": ["video_gallery_outlined", "video_gallery_filled"],
|
|
@@ -439,8 +358,8 @@ const TogglableIcons = {
|
|
|
439
358
|
"volume-mute": ["volume_mute_outlined", "volume_mute_filled"],
|
|
440
359
|
"volume-off": ["volume_off_outlined", "volume_off_filled"],
|
|
441
360
|
"volume-up": ["volume_up_outlined", "volume_up_filled"],
|
|
442
|
-
warning: ["warning_outlined", "warning_filled"],
|
|
443
|
-
waterdrop: ["waterdrop_outlined", "waterdrop_filled"],
|
|
361
|
+
"warning": ["warning_outlined", "warning_filled"],
|
|
362
|
+
"waterdrop": ["waterdrop_outlined", "waterdrop_filled"],
|
|
444
363
|
};
|
|
445
364
|
function isValidIconName(iconName) {
|
|
446
365
|
return isValidIconName$1(iconName, RegularIcons, TogglableIcons);
|
|
@@ -479,7 +398,7 @@ class IconComponent {
|
|
|
479
398
|
constructor() {
|
|
480
399
|
this.name = input.required();
|
|
481
400
|
this.size = input(20);
|
|
482
|
-
this.color = input(
|
|
401
|
+
this.color = input();
|
|
483
402
|
this.classes = input("");
|
|
484
403
|
this.appearance = input();
|
|
485
404
|
this.destroyRef = inject(DestroyRef);
|
|
@@ -488,26 +407,122 @@ class IconComponent {
|
|
|
488
407
|
this.iconService = inject(IconService);
|
|
489
408
|
this.cdr = inject(ChangeDetectorRef);
|
|
490
409
|
effect(() => {
|
|
491
|
-
this.setSvgContent(this.name());
|
|
492
|
-
});
|
|
410
|
+
this.setSvgContent(this.name(), this.size(), this.appearance(), this.color());
|
|
411
|
+
}, { allowSignalWrites: true });
|
|
493
412
|
}
|
|
494
|
-
setSvgContent(svgName) {
|
|
495
|
-
const svgFile = this.iconService.getSvg(svgName,
|
|
413
|
+
setSvgContent(svgName, size, appearance, color) {
|
|
414
|
+
const svgFile = this.iconService.getSvg(svgName, appearance || "outlined");
|
|
496
415
|
svgFile.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((res) => {
|
|
497
|
-
const
|
|
498
|
-
const svgWithSize = res.replace(/<svg([^>]*)>/, `<svg$1 width="${size}" height="${size}">`);
|
|
416
|
+
const svgWithSize = res.replace(/<svg([^>]*)>/, `<svg$1 width="${size}" height="${size}" color="${color}">`);
|
|
499
417
|
this.svgContent = this.sanitizer.bypassSecurityTrustHtml(svgWithSize);
|
|
500
418
|
this.cdr.markForCheck();
|
|
501
419
|
});
|
|
502
420
|
}
|
|
503
421
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
504
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: IconComponent, isStandalone: true, selector: "rte-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, providers: [IconService], ngImport: i0, template: "<div\n class=\"rte-icon-container\"\n [innerHTML]=\"svgContent\"\n [style.height]=\"size() + 'px'\"\n [style.width]=\"size() + 'px'\"\n></div>\n", styles: [".rte-icon-container{display:flex;color:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
422
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: IconComponent, isStandalone: true, selector: "rte-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null } }, providers: [IconService], ngImport: i0, template: "<div\n class=\"rte-icon-container\"\n [innerHTML]=\"svgContent\"\n [style.height]=\"size() + 'px'\"\n [style.width]=\"size() + 'px'\"\n [style.color]=\"color()\"\n></div>\n", styles: [".rte-icon-container{display:flex;color:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
505
423
|
}
|
|
506
424
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconComponent, decorators: [{
|
|
507
425
|
type: Component,
|
|
508
|
-
args: [{ selector: "rte-icon", imports: [CommonModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [IconService], template: "<div\n class=\"rte-icon-container\"\n [innerHTML]=\"svgContent\"\n [style.height]=\"size() + 'px'\"\n [style.width]=\"size() + 'px'\"\n></div>\n", styles: [".rte-icon-container{display:flex;color:inherit}\n"] }]
|
|
426
|
+
args: [{ selector: "rte-icon", imports: [CommonModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [IconService], template: "<div\n class=\"rte-icon-container\"\n [innerHTML]=\"svgContent\"\n [style.height]=\"size() + 'px'\"\n [style.width]=\"size() + 'px'\"\n [style.color]=\"color()\"\n></div>\n", styles: [".rte-icon-container{display:flex;color:inherit}\n"] }]
|
|
509
427
|
}], ctorParameters: () => [] });
|
|
510
428
|
|
|
429
|
+
class ButtonComponent {
|
|
430
|
+
constructor() {
|
|
431
|
+
this.rteButtonVariant = input("primary");
|
|
432
|
+
this.rteButtonSize = input("m");
|
|
433
|
+
this.rteBadgeCount = input();
|
|
434
|
+
this.rteBadgeContent = input();
|
|
435
|
+
this.rteButtonIcon = input();
|
|
436
|
+
this.rteButtonIconPosition = input("left");
|
|
437
|
+
this.rteButtonIconAppearance = input("filled");
|
|
438
|
+
this.iconSize = computed(() => ButtonIconSize[this.rteButtonSize()]);
|
|
439
|
+
this.shouldDisplayBadge = computed(() => {
|
|
440
|
+
const count = this.rteBadgeCount();
|
|
441
|
+
const content = this.rteBadgeContent();
|
|
442
|
+
return (count && count > 0 && content === "number") || content === "icon";
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
get classes() {
|
|
446
|
+
return `rte-button ${this.rteButtonVariant()} size-${this.rteButtonSize()}`;
|
|
447
|
+
}
|
|
448
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
449
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "button[rteButton]", inputs: { rteButtonVariant: { classPropertyName: "rteButtonVariant", publicName: "rteButtonVariant", isSignal: true, isRequired: false, transformFunction: null }, rteButtonSize: { classPropertyName: "rteButtonSize", publicName: "rteButtonSize", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeCount: { classPropertyName: "rteBadgeCount", publicName: "rteBadgeCount", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeContent: { classPropertyName: "rteBadgeContent", publicName: "rteBadgeContent", isSignal: true, isRequired: false, transformFunction: null }, rteButtonIcon: { classPropertyName: "rteButtonIcon", publicName: "rteButtonIcon", isSignal: true, isRequired: false, transformFunction: null }, rteButtonIconPosition: { classPropertyName: "rteButtonIconPosition", publicName: "rteButtonIconPosition", isSignal: true, isRequired: false, transformFunction: null }, rteButtonIconAppearance: { classPropertyName: "rteButtonIconAppearance", publicName: "rteButtonIconAppearance", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.classes" } }, ngImport: i0, template: "@if (rteButtonIcon() && rteButtonIconPosition() === \"left\") {\n <rte-icon [name]=\"rteButtonIcon()!\" [appearance]=\"rteButtonIconAppearance()\" [size]=\"iconSize()!\"></rte-icon>\n}\n<span class=\"rte-button-label\">\n <ng-content />\n <!-- Le badge est g\u00E9r\u00E9 par BadgeDirective attach\u00E9e via hostDirectives -->\n</span>\n@if (rteButtonIcon() && rteButtonIconPosition() === \"right\") {\n <rte-icon #icon [name]=\"rteButtonIcon()!\" [appearance]=\"rteButtonIconAppearance()\" [size]=\"iconSize()!\"></rte-icon>\n}\n", styles: [":host{display:inline-flex;flex-shrink:0;align-items:center;cursor:pointer;justify-content:center;width:fit-content}:host:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}:host.size-s{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;height:24px;border-radius:4px;padding:4px 8px}:host.size-s .rte-button-label{margin:0 4px}:host.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;height:32px;border-radius:4px;padding:4px 12px}:host.size-m .rte-button-label{margin:0 6px}:host.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;height:40px;border-radius:8px;padding:4px 16px}:host.size-l .rte-button-label{margin:0 8px}:host.primary{border:var(--border-brand-default);color:var(--content-primary-inverse);background:var(--background-brand-default)}:host.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}:host.primary:active{background:var(--background-brand-pressed)}:host.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}:host.secondary:hover{background:var(--background-brand-inverse-hover)}:host.secondary:active{background:var(--background-brand-inverse-pressed)}:host.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}:host.text{background:transparent;border:none;color:var(--content-brand-default)}:host.text:hover{background:var(--background-brand-inverse-hover)}:host.text:active{background:var(--background-brand-inverse-pressed)}:host.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}:host.transparent{background:transparent;border:none;color:var(--content-brand-default)}:host.transparent:hover{color:var(--content-brand-hover)}:host.transparent:active{color:var(--content-brand-pressed)}:host.transparent:disabled{color:var(--content-disabled);box-shadow:none;cursor:default}:host.danger{background:var(--background-danger-default);border:none;color:var(--content-primary-inverse)}:host.danger:hover{background:var(--background-danger-hover)}:host.danger:active{background:var(--background-danger-pressed)}:host.danger:disabled{background:var(--background-disabled);border:var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.neutral{background:none;border:none;color:var(--content-primary)}:host.neutral:hover{color:var(--content-secondary)}:host.neutral:active{color:var(--content-tertiary)}:host.neutral:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}:host.reverse{background:none;border:none;color:var(--content-primary-inverse)}:host.reverse:hover{color:var(--background-hover)}:host.reverse:active{color:var(--content-primary-inverse)}:host.reverse:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
450
|
+
}
|
|
451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
452
|
+
type: Component,
|
|
453
|
+
args: [{ selector: "button[rteButton]", imports: [IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (rteButtonIcon() && rteButtonIconPosition() === \"left\") {\n <rte-icon [name]=\"rteButtonIcon()!\" [appearance]=\"rteButtonIconAppearance()\" [size]=\"iconSize()!\"></rte-icon>\n}\n<span class=\"rte-button-label\">\n <ng-content />\n <!-- Le badge est g\u00E9r\u00E9 par BadgeDirective attach\u00E9e via hostDirectives -->\n</span>\n@if (rteButtonIcon() && rteButtonIconPosition() === \"right\") {\n <rte-icon #icon [name]=\"rteButtonIcon()!\" [appearance]=\"rteButtonIconAppearance()\" [size]=\"iconSize()!\"></rte-icon>\n}\n", styles: [":host{display:inline-flex;flex-shrink:0;align-items:center;cursor:pointer;justify-content:center;width:fit-content}:host:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}:host.size-s{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;height:24px;border-radius:4px;padding:4px 8px}:host.size-s .rte-button-label{margin:0 4px}:host.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;height:32px;border-radius:4px;padding:4px 12px}:host.size-m .rte-button-label{margin:0 6px}:host.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:20px;line-height:28px;letter-spacing:-.5px;height:40px;border-radius:8px;padding:4px 16px}:host.size-l .rte-button-label{margin:0 8px}:host.primary{border:var(--border-brand-default);color:var(--content-primary-inverse);background:var(--background-brand-default)}:host.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}:host.primary:active{background:var(--background-brand-pressed)}:host.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}:host.secondary:hover{background:var(--background-brand-inverse-hover)}:host.secondary:active{background:var(--background-brand-inverse-pressed)}:host.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}:host.text{background:transparent;border:none;color:var(--content-brand-default)}:host.text:hover{background:var(--background-brand-inverse-hover)}:host.text:active{background:var(--background-brand-inverse-pressed)}:host.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}:host.transparent{background:transparent;border:none;color:var(--content-brand-default)}:host.transparent:hover{color:var(--content-brand-hover)}:host.transparent:active{color:var(--content-brand-pressed)}:host.transparent:disabled{color:var(--content-disabled);box-shadow:none;cursor:default}:host.danger{background:var(--background-danger-default);border:none;color:var(--content-primary-inverse)}:host.danger:hover{background:var(--background-danger-hover)}:host.danger:active{background:var(--background-danger-pressed)}:host.danger:disabled{background:var(--background-disabled);border:var(--border-disabled);color:var(--content-disabled);box-shadow:none;cursor:default}:host.neutral{background:none;border:none;color:var(--content-primary)}:host.neutral:hover{color:var(--content-secondary)}:host.neutral:active{color:var(--content-tertiary)}:host.neutral:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}:host.reverse{background:none;border:none;color:var(--content-primary-inverse)}:host.reverse:hover{color:var(--background-hover)}:host.reverse:active{color:var(--content-primary-inverse)}:host.reverse:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}\n"] }]
|
|
454
|
+
}], propDecorators: { classes: [{
|
|
455
|
+
type: HostBinding,
|
|
456
|
+
args: ["class"]
|
|
457
|
+
}] } });
|
|
458
|
+
|
|
459
|
+
class GridDirective {
|
|
460
|
+
get hostClasses() {
|
|
461
|
+
return "grid";
|
|
462
|
+
}
|
|
463
|
+
get hostDataClasses() {
|
|
464
|
+
const variation = this.gridType();
|
|
465
|
+
return `${variation}`;
|
|
466
|
+
}
|
|
467
|
+
constructor() {
|
|
468
|
+
this.gridType = input("fluid");
|
|
469
|
+
}
|
|
470
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
471
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: GridDirective, isStandalone: true, selector: "[rteGrid]", inputs: { gridType: { classPropertyName: "gridType", publicName: "gridType", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.hostClasses", "attr.data-gridtype": "this.hostDataClasses" } }, ngImport: i0 }); }
|
|
472
|
+
}
|
|
473
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GridDirective, decorators: [{
|
|
474
|
+
type: Directive,
|
|
475
|
+
args: [{
|
|
476
|
+
selector: "[rteGrid]",
|
|
477
|
+
standalone: true,
|
|
478
|
+
}]
|
|
479
|
+
}], ctorParameters: () => [], propDecorators: { hostClasses: [{
|
|
480
|
+
type: HostBinding,
|
|
481
|
+
args: ["class"]
|
|
482
|
+
}], hostDataClasses: [{
|
|
483
|
+
type: HostBinding,
|
|
484
|
+
args: ["attr.data-gridtype"]
|
|
485
|
+
}] } });
|
|
486
|
+
|
|
487
|
+
class ColDirective {
|
|
488
|
+
get colClasses() {
|
|
489
|
+
return [
|
|
490
|
+
"col",
|
|
491
|
+
this.generateColumnClass("col-xxs", this.xxs()),
|
|
492
|
+
this.generateColumnClass("col-xs", this.xs()),
|
|
493
|
+
this.generateColumnClass("col-s", this.s()),
|
|
494
|
+
this.generateColumnClass("col-m", this.m()),
|
|
495
|
+
this.generateColumnClass("col-l", this.l()),
|
|
496
|
+
this.generateColumnClass("col-xl", this.xl()),
|
|
497
|
+
]
|
|
498
|
+
.filter(Boolean)
|
|
499
|
+
.join(" ");
|
|
500
|
+
}
|
|
501
|
+
constructor() {
|
|
502
|
+
this.xxs = input();
|
|
503
|
+
this.xs = input();
|
|
504
|
+
this.s = input();
|
|
505
|
+
this.m = input();
|
|
506
|
+
this.l = input();
|
|
507
|
+
this.xl = input();
|
|
508
|
+
}
|
|
509
|
+
generateColumnClass(prefix, size) {
|
|
510
|
+
return size ? `${prefix}-${size}` : "";
|
|
511
|
+
}
|
|
512
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
513
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: ColDirective, isStandalone: true, selector: "[rteCol]", inputs: { xxs: { classPropertyName: "xxs", publicName: "xxs", isSignal: true, isRequired: false, transformFunction: null }, xs: { classPropertyName: "xs", publicName: "xs", isSignal: true, isRequired: false, transformFunction: null }, s: { classPropertyName: "s", publicName: "s", isSignal: true, isRequired: false, transformFunction: null }, m: { classPropertyName: "m", publicName: "m", isSignal: true, isRequired: false, transformFunction: null }, l: { classPropertyName: "l", publicName: "l", isSignal: true, isRequired: false, transformFunction: null }, xl: { classPropertyName: "xl", publicName: "xl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.colClasses" } }, ngImport: i0 }); }
|
|
514
|
+
}
|
|
515
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColDirective, decorators: [{
|
|
516
|
+
type: Directive,
|
|
517
|
+
args: [{
|
|
518
|
+
selector: "[rteCol]",
|
|
519
|
+
standalone: true,
|
|
520
|
+
}]
|
|
521
|
+
}], ctorParameters: () => [], propDecorators: { colClasses: [{
|
|
522
|
+
type: HostBinding,
|
|
523
|
+
args: ["class"]
|
|
524
|
+
}] } });
|
|
525
|
+
|
|
511
526
|
class LinkComponent {
|
|
512
527
|
constructor() {
|
|
513
528
|
this.label = input("");
|
|
@@ -581,6 +596,7 @@ class CheckboxComponent {
|
|
|
581
596
|
this.errorMessage = input("");
|
|
582
597
|
this.readOnly = input(false);
|
|
583
598
|
this.checked = input(false);
|
|
599
|
+
this.tabindex = input(undefined);
|
|
584
600
|
}
|
|
585
601
|
onKeydown(event) {
|
|
586
602
|
if (event.code === "Space") {
|
|
@@ -590,11 +606,11 @@ class CheckboxComponent {
|
|
|
590
606
|
}
|
|
591
607
|
}
|
|
592
608
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
593
|
-
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 }); }
|
|
609
|
+
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 }); }
|
|
594
610
|
}
|
|
595
611
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
596
612
|
type: Component,
|
|
597
|
-
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"] }]
|
|
613
|
+
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"] }]
|
|
598
614
|
}] });
|
|
599
615
|
|
|
600
616
|
class CheckboxGroupComponent {
|
|
@@ -613,7 +629,7 @@ class CheckboxGroupComponent {
|
|
|
613
629
|
this.isDisplayed = computed(() => !(this.disabled() && this.error()));
|
|
614
630
|
}
|
|
615
631
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
616
|
-
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 }); }
|
|
632
|
+
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 }); }
|
|
617
633
|
}
|
|
618
634
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
|
|
619
635
|
type: Component,
|
|
@@ -1147,7 +1163,7 @@ class DropdownItemComponent {
|
|
|
1147
1163
|
this.destroySubMenu();
|
|
1148
1164
|
}
|
|
1149
1165
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1150
|
-
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"] }] }); }
|
|
1166
|
+
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"] }] }); }
|
|
1151
1167
|
}
|
|
1152
1168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownItemComponent, decorators: [{
|
|
1153
1169
|
type: Component,
|
|
@@ -1798,7 +1814,7 @@ class IconButtonComponent {
|
|
|
1798
1814
|
this.badgeType = input();
|
|
1799
1815
|
this.badgeIcon = input("settings");
|
|
1800
1816
|
this.customStyle = input();
|
|
1801
|
-
this.buttonIconSize = computed(() => ButtonIconSize[this.size()]);
|
|
1817
|
+
this.buttonIconSize = computed(() => ButtonIconSize$1[this.size()]);
|
|
1802
1818
|
this.isValidIconName = computed(() => isValidIconName(this.name()));
|
|
1803
1819
|
this.clickEvent = output();
|
|
1804
1820
|
this.shouldDisplayBadge = computed(() => {
|
|
@@ -1836,7 +1852,7 @@ class IconButtonToggleComponent {
|
|
|
1836
1852
|
this.isSelected = computed(() => {
|
|
1837
1853
|
return this.isControlled() ? this.selected() : this.internalSelected();
|
|
1838
1854
|
});
|
|
1839
|
-
this.buttonIconSize = computed(() => ButtonIconSize[this.size()]);
|
|
1855
|
+
this.buttonIconSize = computed(() => ButtonIconSize$1[this.size()]);
|
|
1840
1856
|
}
|
|
1841
1857
|
toggleInternalSelectedState() {
|
|
1842
1858
|
this.internalSelected.set(!this.internalSelected());
|
|
@@ -2358,6 +2374,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2358
2374
|
args: [{ selector: "rte-breadcrumbs", imports: [CommonModule, DropdownModule, IconButtonComponent, BreadcrumbItemComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"breadcrumbs-container\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabel()\"\n [ngClass]=\"{ truncated: truncatedItems()?.truncated?.length }\"\n>\n @if (truncatedItems()?.truncated?.length) {\n <rte-breadcrumb-item [item]=\"truncatedItems()!.root\" [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\" />\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n <span class=\"breadcrumb-item\" rteDropdown [rteDropdownOffset]=\"8\">\n <rte-icon-button\n rteDropdownTrigger\n name=\"more-horiz\"\n role=\"menu\"\n variant=\"neutral\"\n aria-label=\"More items\"\n data-testid=\"show-more\"\n tabindex=\"-1\"\n [compactSpacing]=\"true\"\n />\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [count]=\"badgeCount()\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"badgeContent()!\"\n [icon]=\"badgeIcon()!\"\n [badgeType]=\"badgeType()!\"\n [badgeSize]=\"badgeSize()!\"\n />\n <rte-dropdown-menu [items]=\"truncatedItems()?.truncated ?? []\" />\n </span>\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n @for (item of truncatedItems()!.remaining; track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === truncatedItems()!.remaining.length - 1\"\n />\n @if (i < truncatedItems()!.remaining.length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n } @else {\n @for (item of items(); track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === items().length - 1\"\n />\n @if (i < items().length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n }\n</nav>\n", styles: [".breadcrumbs-container{display:flex;align-items:center;gap:2px}.breadcrumbs-container .breadcrumb-item{display:inline-flex;align-items:center;opacity:0;animation:fadeIn .15s forwards;font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px}.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a,.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a.subtle{color:var(--content-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item:last-child{cursor:default;color:var(--content-primary)}.breadcrumbs-container .breadcrumb-item :focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.separator{color:var(--content-secondary);padding:0 8px;-webkit-user-select:none;user-select:none;opacity:0;animation:fadeIn .15s forwards}@keyframes fadeIn{to{opacity:1}}\n"] }]
|
|
2359
2375
|
}] });
|
|
2360
2376
|
|
|
2377
|
+
class AccordionComponent {
|
|
2378
|
+
static { this.nextFallbackId = 0; }
|
|
2379
|
+
get hostClasses() {
|
|
2380
|
+
return ["rte-accordion", this.internalOpen() ? "is-open" : ""].filter(Boolean).join(" ");
|
|
2381
|
+
}
|
|
2382
|
+
constructor() {
|
|
2383
|
+
this.id = input(undefined);
|
|
2384
|
+
this.appearance = input("brand");
|
|
2385
|
+
this.alignement = input("right");
|
|
2386
|
+
this.compactSpacing = input(false);
|
|
2387
|
+
this.icon = input(undefined);
|
|
2388
|
+
this.disabled = input(false);
|
|
2389
|
+
this.isOpen = input(undefined);
|
|
2390
|
+
this.size = input("small");
|
|
2391
|
+
this.isOpenChange = output();
|
|
2392
|
+
this.clicked = output();
|
|
2393
|
+
this.internalOpen = signal(false);
|
|
2394
|
+
this.isAnimating = signal(false);
|
|
2395
|
+
this.panelHeightPx = signal(0);
|
|
2396
|
+
this.generatedInstanceId = AccordionComponent.createInstanceId();
|
|
2397
|
+
this.contentArea = viewChild("accordionContent");
|
|
2398
|
+
effect(() => {
|
|
2399
|
+
const fromParent = this.isOpen();
|
|
2400
|
+
if (fromParent !== undefined) {
|
|
2401
|
+
this.internalOpen.set(fromParent);
|
|
2402
|
+
}
|
|
2403
|
+
}, { allowSignalWrites: true });
|
|
2404
|
+
effect((onCleanup) => {
|
|
2405
|
+
const open = this.internalOpen();
|
|
2406
|
+
if (open) {
|
|
2407
|
+
this.isAnimating.set(false);
|
|
2408
|
+
this.panelHeightPx.set(0);
|
|
2409
|
+
const cancelWaitForNextFrame = waitForNextFrame(() => {
|
|
2410
|
+
this.isAnimating.set(true);
|
|
2411
|
+
this.syncPanelHeightFromContent();
|
|
2412
|
+
});
|
|
2413
|
+
onCleanup(cancelWaitForNextFrame);
|
|
2414
|
+
}
|
|
2415
|
+
else {
|
|
2416
|
+
this.isAnimating.set(false);
|
|
2417
|
+
this.panelHeightPx.set(0);
|
|
2418
|
+
}
|
|
2419
|
+
}, { allowSignalWrites: true });
|
|
2420
|
+
}
|
|
2421
|
+
summaryElementId() {
|
|
2422
|
+
return `accordion-summary-${this.id() ?? this.generatedInstanceId}`;
|
|
2423
|
+
}
|
|
2424
|
+
contentElementId() {
|
|
2425
|
+
return `accordion-content-${this.id() ?? this.generatedInstanceId}`;
|
|
2426
|
+
}
|
|
2427
|
+
iconPixelSize() {
|
|
2428
|
+
const currentSize = this.size() ?? "small";
|
|
2429
|
+
return AccordionIconSizeMap[currentSize];
|
|
2430
|
+
}
|
|
2431
|
+
onSummaryClick(event) {
|
|
2432
|
+
if (this.disabled()) {
|
|
2433
|
+
return;
|
|
2434
|
+
}
|
|
2435
|
+
this.clicked.emit(event);
|
|
2436
|
+
const next = !this.internalOpen();
|
|
2437
|
+
this.internalOpen.set(next);
|
|
2438
|
+
this.isOpenChange.emit(next);
|
|
2439
|
+
}
|
|
2440
|
+
syncPanelHeightFromContent() {
|
|
2441
|
+
const contentElement = this.contentArea()?.nativeElement;
|
|
2442
|
+
if (!contentElement) {
|
|
2443
|
+
return;
|
|
2444
|
+
}
|
|
2445
|
+
this.panelHeightPx.set(contentElement.scrollHeight);
|
|
2446
|
+
}
|
|
2447
|
+
static createInstanceId() {
|
|
2448
|
+
if (typeof globalThis.crypto !== "undefined" && "randomUUID" in globalThis.crypto) {
|
|
2449
|
+
return globalThis.crypto.randomUUID();
|
|
2450
|
+
}
|
|
2451
|
+
AccordionComponent.nextFallbackId += 1;
|
|
2452
|
+
return `accordion-${AccordionComponent.nextFallbackId}`;
|
|
2453
|
+
}
|
|
2454
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2455
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AccordionComponent, isStandalone: true, selector: "rte-accordion", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, alignement: { classPropertyName: "alignement", publicName: "alignement", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", clicked: "clicked" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "contentArea", first: true, predicate: ["accordionContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"accordion\">\n <button\n class=\"rte-accordion-summary {{ appearance() }} size-{{ size() }}\"\n type=\"button\"\n [class.compact-spacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [attr.aria-expanded]=\"internalOpen()\"\n [attr.aria-controls]=\"contentElementId()\"\n (click)=\"onSummaryClick($event)\"\n >\n <div class=\"rte-accordion-summary-row\" [id]=\"summaryElementId()\">\n @if (alignement() === \"left\") {\n <rte-icon\n class=\"rte-accordion-chevron\"\n name=\"arrow-chevron-down\"\n [class.animating]=\"isAnimating()\"\n [size]=\"iconPixelSize()\"\n />\n }\n @if (icon(); as iconName) {\n <rte-icon [name]=\"iconName\" [size]=\"iconPixelSize()\" />\n }\n <span class=\"rte-accordion-title size-{{ size() }}\">Accordion title</span>\n @if (alignement() === \"right\") {\n <rte-icon\n class=\"rte-accordion-chevron\"\n name=\"arrow-chevron-down\"\n [class.animating]=\"isAnimating()\"\n [size]=\"iconPixelSize()\"\n />\n }\n </div>\n </button>\n <div\n #accordionContent\n class=\"rte-accordion-panel\"\n [class.animating]=\"isAnimating()\"\n [class.is-disabled]=\"disabled()\"\n [attr.aria-hidden]=\"!internalOpen()\"\n [id]=\"contentElementId()\"\n [style.height.px]=\"panelHeightPx()\"\n >\n <ng-content />\n </div>\n <rte-divider thickness=\"light\" />\n</div>\n", styles: [":host{display:block;width:100%;inline-size:100%;background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background:var(--background-default)}.rte-accordion-summary{text-align:left;display:flex;padding:8px 0;flex-direction:column;align-items:flex-start;color:var(--content-brand-default);height:48px;border:none;background:none;width:100%}.rte-accordion-summary:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.rte-accordion-summary:hover{color:var(--content-brand-hover);background:var(--background-default);cursor:pointer}.rte-accordion-summary:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:not-allowed}.rte-accordion-summary.neutral{color:var(--content-primary)}.rte-accordion-summary.neutral:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:not-allowed}.rte-accordion-summary.compact-spacing{padding:0;height:32px}.rte-accordion-summary.compact-spacing:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:not-allowed}.rte-accordion-summary.size-large{height:60px}.rte-accordion-summary.size-large.compact-spacing{height:48px}.rte-accordion-summary .rte-accordion-summary-row{width:100%;display:flex;padding:2px 4px;align-items:center;gap:8px;align-self:stretch;box-sizing:border-box}.rte-accordion-summary .rte-accordion-summary-row .rte-accordion-chevron{transition:transform .11s cubic-bezier(0,0,.38,.9) allow-discrete}.rte-accordion-summary .rte-accordion-summary-row .rte-accordion-chevron.animating{transform:rotate(180deg)}.rte-accordion-summary .rte-accordion-title{flex:1 1 auto;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}.rte-accordion-summary .rte-accordion-title.size-large{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:32px;line-height:40px;letter-spacing:-1px}.rte-accordion-panel-container{border-block-end:solid 1px var(--border-divider)}.rte-accordion-panel{padding:0 8px;transform:translateY(-10px);overflow:hidden;opacity:0;transition:all .12s cubic-bezier(0,0,.38,.9) allow-discrete}.rte-accordion-panel.animating{padding:16px 8px;opacity:1;overflow:visible;transform:translateY(0)}.rte-accordion-panel.is-disabled{background:var(--background-disabled);color:var(--content-disabled)}\n"], dependencies: [{ 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2456
|
+
}
|
|
2457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
2458
|
+
type: Component,
|
|
2459
|
+
args: [{ selector: "rte-accordion", imports: [IconComponent, DividerComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"accordion\">\n <button\n class=\"rte-accordion-summary {{ appearance() }} size-{{ size() }}\"\n type=\"button\"\n [class.compact-spacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [attr.aria-expanded]=\"internalOpen()\"\n [attr.aria-controls]=\"contentElementId()\"\n (click)=\"onSummaryClick($event)\"\n >\n <div class=\"rte-accordion-summary-row\" [id]=\"summaryElementId()\">\n @if (alignement() === \"left\") {\n <rte-icon\n class=\"rte-accordion-chevron\"\n name=\"arrow-chevron-down\"\n [class.animating]=\"isAnimating()\"\n [size]=\"iconPixelSize()\"\n />\n }\n @if (icon(); as iconName) {\n <rte-icon [name]=\"iconName\" [size]=\"iconPixelSize()\" />\n }\n <span class=\"rte-accordion-title size-{{ size() }}\">Accordion title</span>\n @if (alignement() === \"right\") {\n <rte-icon\n class=\"rte-accordion-chevron\"\n name=\"arrow-chevron-down\"\n [class.animating]=\"isAnimating()\"\n [size]=\"iconPixelSize()\"\n />\n }\n </div>\n </button>\n <div\n #accordionContent\n class=\"rte-accordion-panel\"\n [class.animating]=\"isAnimating()\"\n [class.is-disabled]=\"disabled()\"\n [attr.aria-hidden]=\"!internalOpen()\"\n [id]=\"contentElementId()\"\n [style.height.px]=\"panelHeightPx()\"\n >\n <ng-content />\n </div>\n <rte-divider thickness=\"light\" />\n</div>\n", styles: [":host{display:block;width:100%;inline-size:100%;background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background:var(--background-default)}.rte-accordion-summary{text-align:left;display:flex;padding:8px 0;flex-direction:column;align-items:flex-start;color:var(--content-brand-default);height:48px;border:none;background:none;width:100%}.rte-accordion-summary:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.rte-accordion-summary:hover{color:var(--content-brand-hover);background:var(--background-default);cursor:pointer}.rte-accordion-summary:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:not-allowed}.rte-accordion-summary.neutral{color:var(--content-primary)}.rte-accordion-summary.neutral:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:not-allowed}.rte-accordion-summary.compact-spacing{padding:0;height:32px}.rte-accordion-summary.compact-spacing:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:not-allowed}.rte-accordion-summary.size-large{height:60px}.rte-accordion-summary.size-large.compact-spacing{height:48px}.rte-accordion-summary .rte-accordion-summary-row{width:100%;display:flex;padding:2px 4px;align-items:center;gap:8px;align-self:stretch;box-sizing:border-box}.rte-accordion-summary .rte-accordion-summary-row .rte-accordion-chevron{transition:transform .11s cubic-bezier(0,0,.38,.9) allow-discrete}.rte-accordion-summary .rte-accordion-summary-row .rte-accordion-chevron.animating{transform:rotate(180deg)}.rte-accordion-summary .rte-accordion-title{flex:1 1 auto;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}.rte-accordion-summary .rte-accordion-title.size-large{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:32px;line-height:40px;letter-spacing:-1px}.rte-accordion-panel-container{border-block-end:solid 1px var(--border-divider)}.rte-accordion-panel{padding:0 8px;transform:translateY(-10px);overflow:hidden;opacity:0;transition:all .12s cubic-bezier(0,0,.38,.9) allow-discrete}.rte-accordion-panel.animating{padding:16px 8px;opacity:1;overflow:visible;transform:translateY(0)}.rte-accordion-panel.is-disabled{background:var(--background-disabled);color:var(--content-disabled)}\n"] }]
|
|
2460
|
+
}], ctorParameters: () => [], propDecorators: { hostClasses: [{
|
|
2461
|
+
type: HostBinding,
|
|
2462
|
+
args: ["class"]
|
|
2463
|
+
}] } });
|
|
2464
|
+
|
|
2361
2465
|
class BannerComponent {
|
|
2362
2466
|
constructor() {
|
|
2363
2467
|
this.type = input("info");
|
|
@@ -2417,7 +2521,7 @@ class BannerComponent {
|
|
|
2417
2521
|
});
|
|
2418
2522
|
}
|
|
2419
2523
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2420
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BannerComponent, isStandalone: true, selector: "rte-banner", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, actionLabel: { classPropertyName: "actionLabel", publicName: "actionLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click", close: "close" }, usesOnChanges: true, ngImport: i0, template: "<section\n *ngIf=\"rendering()\"\n class=\"rte-banner-container {{ type() }} {{ position() }}\"\n class=\"rte-banner\"\n [ngClass]=\"{ open: visible(), close: !visible() }\"\n [attr.role]=\"type() === 'error' ? 'alert' : 'status'\"\n>\n <div class=\"rte-banner-icon\">\n <rte-icon [name]=\"iconName()\" [size]=\"32\" />\n </div>\n <div class=\"rte-banner-content\">\n <span *ngIf=\"title()\" class=\"rte-banner-title\">{{ title() }}</span>\n <div *ngIf=\"message()\" class=\"rte-banner-message\">\n <span>{{ message() }}</span>\n </div>\n </div>\n <button\n *ngIf=\"actionLabel()\"\n rteButton\n rteButtonVariant=\"text\"\n rteButtonSize=\"s\"\n [attr.aria-label]=\"actionLabel()!\"\n (click)=\"clickAction()\"\n >\n {{ actionLabel() }}\n </button>\n <div *ngIf=\"closable()\" class=\"rte-banner-close-icon\">\n <rte-icon-button name=\"close\" variant=\"neutral\" ariaLabel=\"close banner\" (clickEvent)=\"closeBanner()\" />\n </div>\n</section>\n", styles: [".rte-banner{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);padding:16px;gap:16px;align-self:stretch;border-radius:0 0 4px 4px;display:flex;box-sizing:border-box;width:100%;min-width:320px;justify-content:center;align-items:center;color:var(--content-info-default);top:0;left:0;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:10;border-bottom:8px solid var(--border-info);background-color:var(--background-default)}.rte-banner.error{color:var(--content-danger-default);border-bottom-color:var(--border-danger)}.rte-banner.success{color:var(--content-success-default);border-bottom-color:var(--border-success)}.rte-banner.warning{color:var(--content-primary);border-bottom-color:var(--border-warning)}.rte-banner.overlay{position:fixed}.rte-banner.open{opacity:1;transform:translateY(0)}.rte-banner.close{opacity:0;transform:translateY(-10px)}.rte-banner .rte-banner-icon{display:flex;padding:0 0 0 16px;justify-content:center;align-items:center;gap:var(--positive-spacing_0, 0);align-self:stretch}.rte-banner .banner-close-icon{color:var(--content-secondary)}.rte-banner .rte-banner-content{display:flex;padding:0 16px;flex-direction:column;align-items:flex-start;gap:8px;flex:1 0 0;border-radius:0;opacity:100%}.rte-banner .rte-banner-content .rte-banner-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}.rte-banner .rte-banner-content .rte-banner-action-button{width:max-content}.rte-banner .rte-banner-content .rte-banner-message{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-secondary);display:flex;align-items:center;gap:24px;padding:8px 0;justify-content:space-between;width:100%}.rte-banner .rte-banner-close-icon{color:var(--content-secondary)}\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"] }, { 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"] }, { kind: "component", type: ButtonComponent, selector: "button[rteButton]", inputs: ["rteButtonVariant", "rteButtonSize", "rteBadgeCount", "rteBadgeContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2524
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BannerComponent, isStandalone: true, selector: "rte-banner", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, actionLabel: { classPropertyName: "actionLabel", publicName: "actionLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click", close: "close" }, usesOnChanges: true, ngImport: i0, template: "<section\n *ngIf=\"rendering()\"\n class=\"rte-banner-container {{ type() }} {{ position() }}\"\n class=\"rte-banner\"\n [ngClass]=\"{ open: visible(), close: !visible() }\"\n [attr.role]=\"type() === 'error' ? 'alert' : 'status'\"\n>\n <div class=\"rte-banner-icon\">\n <rte-icon [name]=\"iconName()\" [size]=\"32\" />\n </div>\n <div class=\"rte-banner-content\">\n <span *ngIf=\"title()\" class=\"rte-banner-title\">{{ title() }}</span>\n <div *ngIf=\"message()\" class=\"rte-banner-message\">\n <span>{{ message() }}</span>\n </div>\n </div>\n <button\n *ngIf=\"actionLabel()\"\n rteButton\n rteButtonVariant=\"text\"\n rteButtonSize=\"s\"\n [attr.aria-label]=\"actionLabel()!\"\n (click)=\"clickAction()\"\n >\n {{ actionLabel() }}\n </button>\n <div *ngIf=\"closable()\" class=\"rte-banner-close-icon\">\n <rte-icon-button name=\"close\" variant=\"neutral\" ariaLabel=\"close banner\" (clickEvent)=\"closeBanner()\" />\n </div>\n</section>\n", styles: [".rte-banner{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);padding:16px;gap:16px;align-self:stretch;border-radius:0 0 4px 4px;display:flex;box-sizing:border-box;width:100%;min-width:320px;justify-content:center;align-items:center;color:var(--content-info-default);top:0;left:0;opacity:0;transition:opacity .2s ease,transform .2s ease;z-index:10;border-bottom:8px solid var(--border-info);background-color:var(--background-default)}.rte-banner.error{color:var(--content-danger-default);border-bottom-color:var(--border-danger)}.rte-banner.success{color:var(--content-success-default);border-bottom-color:var(--border-success)}.rte-banner.warning{color:var(--content-primary);border-bottom-color:var(--border-warning)}.rte-banner.overlay{position:fixed}.rte-banner.open{opacity:1;transform:translateY(0)}.rte-banner.close{opacity:0;transform:translateY(-10px)}.rte-banner .rte-banner-icon{display:flex;padding:0 0 0 16px;justify-content:center;align-items:center;gap:var(--positive-spacing_0, 0);align-self:stretch}.rte-banner .banner-close-icon{color:var(--content-secondary)}.rte-banner .rte-banner-content{display:flex;padding:0 16px;flex-direction:column;align-items:flex-start;gap:8px;flex:1 0 0;border-radius:0;opacity:100%}.rte-banner .rte-banner-content .rte-banner-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}.rte-banner .rte-banner-content .rte-banner-action-button{width:max-content}.rte-banner .rte-banner-content .rte-banner-message{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-secondary);display:flex;align-items:center;gap:24px;padding:8px 0;justify-content:space-between;width:100%}.rte-banner .rte-banner-close-icon{color:var(--content-secondary)}\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"] }, { 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"] }, { kind: "component", type: ButtonComponent, selector: "button[rteButton]", inputs: ["rteButtonVariant", "rteButtonSize", "rteBadgeCount", "rteBadgeContent", "rteButtonIcon", "rteButtonIconPosition", "rteButtonIconAppearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2421
2525
|
}
|
|
2422
2526
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BannerComponent, decorators: [{
|
|
2423
2527
|
type: Component,
|
|
@@ -2426,7 +2530,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2426
2530
|
|
|
2427
2531
|
class CardComponent {
|
|
2428
2532
|
constructor() {
|
|
2429
|
-
this.
|
|
2533
|
+
this.width = input(DEFAULT_CARD_WIDTH);
|
|
2430
2534
|
this.cardType = input("default");
|
|
2431
2535
|
this.clickable = input(false);
|
|
2432
2536
|
this.disabled = input(false);
|
|
@@ -2434,7 +2538,6 @@ class CardComponent {
|
|
|
2434
2538
|
this.ariaLabelledby = input(undefined);
|
|
2435
2539
|
this.ariaRole = input(undefined);
|
|
2436
2540
|
this.cardClicked = output();
|
|
2437
|
-
this.cardWidth = computed(() => `${cardSize[this.size()]}px`);
|
|
2438
2541
|
this.tabIndex = computed(() => (this.clickable() ? 0 : -1));
|
|
2439
2542
|
}
|
|
2440
2543
|
onClick() {
|
|
@@ -2451,11 +2554,11 @@ class CardComponent {
|
|
|
2451
2554
|
}
|
|
2452
2555
|
}
|
|
2453
2556
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2454
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CardComponent, isStandalone: true, selector: "rte-card", inputs: {
|
|
2557
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CardComponent, isStandalone: true, selector: "rte-card", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, cardType: { classPropertyName: "cardType", publicName: "cardType", isSignal: true, isRequired: false, transformFunction: null }, clickable: { classPropertyName: "clickable", publicName: "clickable", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaRole: { classPropertyName: "ariaRole", publicName: "ariaRole", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { cardClicked: "cardClicked" }, ngImport: i0, template: "<div\n class=\"card card-{{ cardType() }}\"\n [style.width]=\"width()\"\n [attr.disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-role]=\"ariaRole()\"\n [ngClass]=\"{ clickable: clickable() }\"\n [tabIndex]=\"tabIndex()\"\n (click)=\"onClick()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content />\n</div>\n", styles: [".card{display:flex;flex-direction:column;justify-content:center;align-items:center;align-self:stretch;border-radius:4px;box-shadow:0 1px 2px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-1) 0%,var(--elevation-surface-shadow-1) 100%);transition:background-color .3s,box-shadow .3s}.card:hover{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%)}.card[disabled=true]{background:var(--background-disabled);opacity:30%;box-shadow:none;pointer-events:none}.card[disabled=true].card-outlined{border:1px solid var(--border-disabled);background:var(--background-disabled);box-shadow:none}.card.card-outlined{box-shadow:0 1px 2px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-1) 0%,var(--elevation-surface-shadow-1) 100%);flex-shrink:0;border:1px solid var(--border-tertiary)}.card.card-outlined:active.clickable{border-color:var(--border-secondary)}.card.clickable{cursor:pointer}.card:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2455
2558
|
}
|
|
2456
2559
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, decorators: [{
|
|
2457
2560
|
type: Component,
|
|
2458
|
-
args: [{ selector: "rte-card", imports: [CommonModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"card card-{{ cardType() }}\"\n [style.width]=\"
|
|
2561
|
+
args: [{ selector: "rte-card", imports: [CommonModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"card card-{{ cardType() }}\"\n [style.width]=\"width()\"\n [attr.disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-role]=\"ariaRole()\"\n [ngClass]=\"{ clickable: clickable() }\"\n [tabIndex]=\"tabIndex()\"\n (click)=\"onClick()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content />\n</div>\n", styles: [".card{display:flex;flex-direction:column;justify-content:center;align-items:center;align-self:stretch;border-radius:4px;box-shadow:0 1px 2px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-1) 0%,var(--elevation-surface-shadow-1) 100%);transition:background-color .3s,box-shadow .3s}.card:hover{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%)}.card[disabled=true]{background:var(--background-disabled);opacity:30%;box-shadow:none;pointer-events:none}.card[disabled=true].card-outlined{border:1px solid var(--border-disabled);background:var(--background-disabled);box-shadow:none}.card.card-outlined{box-shadow:0 1px 2px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-1) 0%,var(--elevation-surface-shadow-1) 100%);flex-shrink:0;border:1px solid var(--border-tertiary)}.card.card-outlined:active.clickable{border-color:var(--border-secondary)}.card.clickable{cursor:pointer}.card:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}\n"] }]
|
|
2459
2562
|
}] });
|
|
2460
2563
|
|
|
2461
2564
|
class FocusTrapService {
|
|
@@ -2551,7 +2654,7 @@ class PopoverComponent {
|
|
|
2551
2654
|
this.clickSecondaryButton.emit();
|
|
2552
2655
|
}
|
|
2553
2656
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2554
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: PopoverComponent, isStandalone: true, selector: "rte-popover", inputs: { primaryButtonLabel: { classPropertyName: "primaryButtonLabel", publicName: "primaryButtonLabel", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonLabel: { classPropertyName: "secondaryButtonLabel", publicName: "secondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, coordinates: { classPropertyName: "coordinates", publicName: "coordinates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickPrimaryButton: "clickPrimaryButton", clickSecondaryButton: "clickSecondaryButton" }, ngImport: i0, template: "<div\n #root\n class=\"rte-popover\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.data-arrow]=\"arrow()\"\n [attr.data-position]=\"position()\"\n [attr.data-alignment]=\"alignment()\"\n [attr.data-open]=\"isOpen()\"\n [style]=\"{ top: coordinates().top + 'px', left: coordinates().left + 'px' }\"\n>\n <div class=\"popoverInner\">\n <div class=\"popoverContentContainer\">\n <div *ngIf=\"title\" class=\"popoverTitle\">{{ title() }}</div>\n <div class=\"popoverContent\">{{ content() }}</div>\n </div>\n <div class=\"popoverButtonContainer\">\n <button\n *ngIf=\"secondaryButtonLabel()\"\n rteButton\n rteButtonVariant=\"secondary\"\n (click)=\"handleClickSecondaryButton()\"\n >\n {{ secondaryButtonLabel() }}\n </button>\n <button rteButton rteButtonVariant=\"primary\" (click)=\"handleClickPrimaryButton()\">\n {{ primaryButtonLabel() }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".rte-popoverTrigger{position:relative;width:max-content}.rte-popover{filter:drop-shadow(0px 2px 4px var(--elevation-shadow-key)) drop-shadow(0px 0px 2px var(--elevation-shadow-ambient));background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);position:absolute;pointer-events:auto;top:0;left:0;padding:0;display:flex;flex-direction:column;gap:0px;background-color:var(--background-default);transition:opacity .15s ease-out;opacity:0;z-index:1000;min-width:320px;max-width:600px;width:fit-content;height:fit-content}.rte-popover .popoverInner{display:flex;flex-direction:column;align-items:flex-start;padding:24px;gap:24px;border-radius:4px}.rte-popover .popoverInner .popoverContentContainer{display:flex;flex-direction:column;align-items:flex-start;padding:0;gap:16px}.rte-popover .popoverInner .popoverContentContainer .popoverTitle{overflow:hidden;text-overflow:ellipsis;color:var(--content-primary);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}.rte-popover .popoverInner .popoverContentContainer .popoverContent{color:var(--content-secondary);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;width:100%;word-break:break-word}.rte-popover .popoverInner .popoverButtonContainer{display:flex;justify-content:flex-end;align-items:flex-start;padding:0;gap:24px;width:100%}.rte-popover:after{content:\"\";position:absolute;border-width:12px;border-style:solid}.rte-popover[data-position=top]:after{top:100%;left:50%;margin-left:-12px;border-color:var(--background-default) transparent transparent transparent}.rte-popover[data-position=top][data-alignment=start]:after{left:20px}.rte-popover[data-position=top][data-alignment=end]:after{left:auto;right:20px}.rte-popover[data-position=bottom]:after{bottom:100%;left:50%;margin-left:-12px;border-color:transparent transparent var(--background-default) transparent}.rte-popover[data-position=bottom][data-alignment=start]:after{left:20px}.rte-popover[data-position=bottom][data-alignment=end]:after{left:auto;right:20px}.rte-popover[data-position=left]:after{top:50%;left:100%;margin-top:-12px;border-color:transparent transparent transparent var(--background-default)}.rte-popover[data-position=left][data-alignment=start]:after{top:20px}.rte-popover[data-position=left][data-alignment=end]:after{top:auto;bottom:20px}.rte-popover[data-position=right]:after{top:50%;right:100%;margin-top:-12px;border-color:transparent var(--background-default) transparent transparent}.rte-popover[data-position=right][data-alignment=start]:after{top:20px}.rte-popover[data-position=right][data-alignment=end]:after{top:auto;bottom:20px}.rte-popover[data-arrow=false]{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);filter:none;background:var(--background-default)}.rte-popover[data-arrow=false]:after{display:none}.rte-popover[data-open=true]{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[rteButton]", inputs: ["rteButtonVariant", "rteButtonSize", "rteBadgeCount", "rteBadgeContent"] }] }); }
|
|
2657
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: PopoverComponent, isStandalone: true, selector: "rte-popover", inputs: { primaryButtonLabel: { classPropertyName: "primaryButtonLabel", publicName: "primaryButtonLabel", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, secondaryButtonLabel: { classPropertyName: "secondaryButtonLabel", publicName: "secondaryButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, coordinates: { classPropertyName: "coordinates", publicName: "coordinates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickPrimaryButton: "clickPrimaryButton", clickSecondaryButton: "clickSecondaryButton" }, ngImport: i0, template: "<div\n #root\n class=\"rte-popover\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.data-arrow]=\"arrow()\"\n [attr.data-position]=\"position()\"\n [attr.data-alignment]=\"alignment()\"\n [attr.data-open]=\"isOpen()\"\n [style]=\"{ top: coordinates().top + 'px', left: coordinates().left + 'px' }\"\n>\n <div class=\"popoverInner\">\n <div class=\"popoverContentContainer\">\n <div *ngIf=\"title\" class=\"popoverTitle\">{{ title() }}</div>\n <div class=\"popoverContent\">{{ content() }}</div>\n </div>\n <div class=\"popoverButtonContainer\">\n <button\n *ngIf=\"secondaryButtonLabel()\"\n rteButton\n rteButtonVariant=\"secondary\"\n (click)=\"handleClickSecondaryButton()\"\n >\n {{ secondaryButtonLabel() }}\n </button>\n <button rteButton rteButtonVariant=\"primary\" (click)=\"handleClickPrimaryButton()\">\n {{ primaryButtonLabel() }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".rte-popoverTrigger{position:relative;width:max-content}.rte-popover{filter:drop-shadow(0px 2px 4px var(--elevation-shadow-key)) drop-shadow(0px 0px 2px var(--elevation-shadow-ambient));background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);position:absolute;pointer-events:auto;top:0;left:0;padding:0;display:flex;flex-direction:column;gap:0px;background-color:var(--background-default);transition:opacity .15s ease-out;opacity:0;z-index:1000;min-width:320px;max-width:600px;width:fit-content;height:fit-content}.rte-popover .popoverInner{display:flex;flex-direction:column;align-items:flex-start;padding:24px;gap:24px;border-radius:4px}.rte-popover .popoverInner .popoverContentContainer{display:flex;flex-direction:column;align-items:flex-start;padding:0;gap:16px}.rte-popover .popoverInner .popoverContentContainer .popoverTitle{overflow:hidden;text-overflow:ellipsis;color:var(--content-primary);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}.rte-popover .popoverInner .popoverContentContainer .popoverContent{color:var(--content-secondary);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;width:100%;word-break:break-word}.rte-popover .popoverInner .popoverButtonContainer{display:flex;justify-content:flex-end;align-items:flex-start;padding:0;gap:24px;width:100%}.rte-popover:after{content:\"\";position:absolute;border-width:12px;border-style:solid}.rte-popover[data-position=top]:after{top:100%;left:50%;margin-left:-12px;border-color:var(--background-default) transparent transparent transparent}.rte-popover[data-position=top][data-alignment=start]:after{left:20px}.rte-popover[data-position=top][data-alignment=end]:after{left:auto;right:20px}.rte-popover[data-position=bottom]:after{bottom:100%;left:50%;margin-left:-12px;border-color:transparent transparent var(--background-default) transparent}.rte-popover[data-position=bottom][data-alignment=start]:after{left:20px}.rte-popover[data-position=bottom][data-alignment=end]:after{left:auto;right:20px}.rte-popover[data-position=left]:after{top:50%;left:100%;margin-top:-12px;border-color:transparent transparent transparent var(--background-default)}.rte-popover[data-position=left][data-alignment=start]:after{top:20px}.rte-popover[data-position=left][data-alignment=end]:after{top:auto;bottom:20px}.rte-popover[data-position=right]:after{top:50%;right:100%;margin-top:-12px;border-color:transparent var(--background-default) transparent transparent}.rte-popover[data-position=right][data-alignment=start]:after{top:20px}.rte-popover[data-position=right][data-alignment=end]:after{top:auto;bottom:20px}.rte-popover[data-arrow=false]{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);filter:none;background:var(--background-default)}.rte-popover[data-arrow=false]:after{display:none}.rte-popover[data-open=true]{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[rteButton]", inputs: ["rteButtonVariant", "rteButtonSize", "rteBadgeCount", "rteBadgeContent", "rteButtonIcon", "rteButtonIconPosition", "rteButtonIconAppearance"] }] }); }
|
|
2555
2658
|
}
|
|
2556
2659
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
2557
2660
|
type: Component,
|
|
@@ -2891,36 +2994,525 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2891
2994
|
}]
|
|
2892
2995
|
}] });
|
|
2893
2996
|
|
|
2894
|
-
class
|
|
2997
|
+
class DrawerComponent {
|
|
2895
2998
|
constructor() {
|
|
2896
|
-
this.id = input();
|
|
2897
|
-
this.
|
|
2898
|
-
this.
|
|
2899
|
-
this.
|
|
2900
|
-
this.
|
|
2901
|
-
this.
|
|
2902
|
-
this.
|
|
2903
|
-
this.
|
|
2904
|
-
this.
|
|
2905
|
-
this.
|
|
2906
|
-
this.
|
|
2907
|
-
this.
|
|
2908
|
-
this.
|
|
2909
|
-
this.
|
|
2910
|
-
this.
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2999
|
+
this.id = input.required();
|
|
3000
|
+
this.title = input();
|
|
3001
|
+
this.icon = input();
|
|
3002
|
+
this.iconAppearance = input("outlined");
|
|
3003
|
+
this.isOpen = input(false);
|
|
3004
|
+
this.position = input("modal");
|
|
3005
|
+
this.width = input();
|
|
3006
|
+
this.closeOnOverlayClick = input(false);
|
|
3007
|
+
this.primaryButtonLabel = input();
|
|
3008
|
+
this.secondaryButtonLabel = input();
|
|
3009
|
+
this.isCollapsible = input(false);
|
|
3010
|
+
this.fixedHeader = input(false);
|
|
3011
|
+
this.closeOnEscape = input(false);
|
|
3012
|
+
this.isClosable = input(true);
|
|
3013
|
+
this.modalHostMode = input(false);
|
|
3014
|
+
this.drawerContent = input(null);
|
|
3015
|
+
this.drawerHeader = input(null);
|
|
3016
|
+
this.drawerFooter = input(null);
|
|
3017
|
+
this.drawerContextContent = input(null);
|
|
3018
|
+
this.closed = output();
|
|
3019
|
+
this.clickToggle = output();
|
|
3020
|
+
this.iconSize = signal(IconSize["xl"]);
|
|
3021
|
+
this.drawerPanelModal = viewChild("drawerPanelModal");
|
|
3022
|
+
this.drawerPanelResponsive = viewChild("drawerPanelResponsive");
|
|
3023
|
+
this.isAnimating = signal(false);
|
|
3024
|
+
this.shouldRenderModalLayer = signal(false);
|
|
3025
|
+
this.shouldDisplayDefaultHeader = computed(() => shouldUseDrawerDefaultHeader(!!this.drawerHeader(), this.title()));
|
|
3026
|
+
this.shouldDisplayDefaultFooter = computed(() => shouldUseDrawerDefaultFooter(!!this.drawerFooter(), this.primaryButtonLabel()));
|
|
3027
|
+
this.panelWidthPx = signal(0);
|
|
3028
|
+
this.collapsibleToggleTransform = computed(() => {
|
|
3029
|
+
const widthPx = this.panelWidthPx();
|
|
3030
|
+
return this.isAnimating() ? `translateX(-${widthPx + DRAWER_PADDING}px)` : "none";
|
|
3031
|
+
});
|
|
3032
|
+
this.responsiveDividerTransform = computed(() => {
|
|
3033
|
+
const widthPx = this.panelWidthPx();
|
|
3034
|
+
return this.isAnimating() ? `translateX(-${widthPx}px)` : "none";
|
|
3035
|
+
});
|
|
3036
|
+
this.floatingToggleOpacity = computed(() => (this.isAnimating() ? 0 : 1));
|
|
3037
|
+
this.collapsibleToggleIconName = computed(() => this.isOpen() ? "right-panel-close" : "right-panel-open");
|
|
3038
|
+
this.collapsibleToggleAriaLabel = computed(() => {
|
|
3039
|
+
const verb = this.isOpen() ? "Close" : "Open";
|
|
3040
|
+
return `${verb} drawer ${this.id()}`;
|
|
3041
|
+
});
|
|
3042
|
+
this.responsiveMainMarginRight = computed(() => (this.isAnimating() ? (this.width() ?? "0") : "0"));
|
|
3043
|
+
this.focusTrap = inject(FocusTrapService);
|
|
3044
|
+
this.destroyRef = inject(DestroyRef);
|
|
3045
|
+
this.injector = inject(Injector);
|
|
3046
|
+
this.resizeObserver = null;
|
|
3047
|
+
this.focusTrapActive = false;
|
|
3048
|
+
effect(() => {
|
|
3049
|
+
const open = this.isOpen();
|
|
3050
|
+
const usesModalLayer = this.position() === "modal";
|
|
3051
|
+
if (open) {
|
|
3052
|
+
this.handleDrawerOpen(usesModalLayer);
|
|
3053
|
+
}
|
|
3054
|
+
else {
|
|
3055
|
+
this.handleDrawerClose(usesModalLayer);
|
|
3056
|
+
}
|
|
3057
|
+
}, { allowSignalWrites: true });
|
|
3058
|
+
effect(() => {
|
|
3059
|
+
const modalPanel = this.drawerPanelModal()?.nativeElement;
|
|
3060
|
+
const responsivePanel = this.drawerPanelResponsive()?.nativeElement;
|
|
3061
|
+
const panel = modalPanel ?? responsivePanel;
|
|
3062
|
+
if (!panel) {
|
|
3063
|
+
untracked(() => {
|
|
3064
|
+
this.resizeObserver?.disconnect();
|
|
3065
|
+
this.resizeObserver = null;
|
|
3066
|
+
});
|
|
3067
|
+
return;
|
|
3068
|
+
}
|
|
3069
|
+
untracked(() => {
|
|
3070
|
+
this.resizeObserver?.disconnect();
|
|
3071
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
3072
|
+
this.panelWidthPx.set(panel.clientWidth);
|
|
3073
|
+
});
|
|
3074
|
+
this.resizeObserver.observe(panel);
|
|
3075
|
+
this.panelWidthPx.set(panel.clientWidth);
|
|
3076
|
+
});
|
|
3077
|
+
}, { allowSignalWrites: true });
|
|
3078
|
+
this.destroyRef.onDestroy(() => {
|
|
3079
|
+
this.resizeObserver?.disconnect();
|
|
3080
|
+
if (this.focusTrapActive) {
|
|
3081
|
+
this.focusTrap.deactivate();
|
|
3082
|
+
this.focusTrapActive = false;
|
|
3083
|
+
}
|
|
3084
|
+
});
|
|
3085
|
+
}
|
|
3086
|
+
activateFocusTrapForPanel(resolvePanel) {
|
|
3087
|
+
afterNextRender(() => {
|
|
3088
|
+
const panelElement = resolvePanel();
|
|
3089
|
+
if (panelElement && !this.focusTrapActive) {
|
|
3090
|
+
this.focusTrap.activate(panelElement);
|
|
3091
|
+
this.focusTrapActive = true;
|
|
3092
|
+
}
|
|
3093
|
+
}, { injector: this.injector });
|
|
3094
|
+
}
|
|
3095
|
+
handleDrawerOpen(usesModalLayer) {
|
|
3096
|
+
if (usesModalLayer) {
|
|
3097
|
+
this.shouldRenderModalLayer.set(true);
|
|
3098
|
+
}
|
|
3099
|
+
this.isAnimating.set(false);
|
|
3100
|
+
const resolvePanel = () => {
|
|
3101
|
+
if (usesModalLayer) {
|
|
3102
|
+
return this.drawerPanelModal()?.nativeElement ?? this.drawerPanelResponsive()?.nativeElement;
|
|
3103
|
+
}
|
|
3104
|
+
return this.drawerPanelResponsive()?.nativeElement;
|
|
3105
|
+
};
|
|
3106
|
+
untracked(() => {
|
|
3107
|
+
waitForNextFrame$1(() => {
|
|
3108
|
+
this.isAnimating.set(true);
|
|
3109
|
+
this.activateFocusTrapForPanel(resolvePanel);
|
|
3110
|
+
});
|
|
3111
|
+
});
|
|
3112
|
+
}
|
|
3113
|
+
handleDrawerClose(usesModalLayer) {
|
|
3114
|
+
this.isAnimating.set(false);
|
|
3115
|
+
if (this.focusTrapActive) {
|
|
3116
|
+
this.focusTrap.deactivate();
|
|
3117
|
+
this.focusTrapActive = false;
|
|
3118
|
+
}
|
|
3119
|
+
if (usesModalLayer && this.shouldRenderModalLayer()) {
|
|
3120
|
+
setTimeout(() => {
|
|
3121
|
+
this.shouldRenderModalLayer.set(false);
|
|
3122
|
+
}, DRAWER_TRANSITION_DURATION);
|
|
3123
|
+
}
|
|
3124
|
+
}
|
|
3125
|
+
onClose() {
|
|
3126
|
+
this.closed.emit();
|
|
3127
|
+
}
|
|
3128
|
+
onClickToggle() {
|
|
3129
|
+
this.clickToggle.emit();
|
|
3130
|
+
}
|
|
3131
|
+
ngOnDestroy() {
|
|
3132
|
+
this.resizeObserver?.disconnect();
|
|
3133
|
+
if (this.focusTrapActive) {
|
|
3134
|
+
this.focusTrap.deactivate();
|
|
3135
|
+
this.focusTrapActive = false;
|
|
3136
|
+
}
|
|
3137
|
+
}
|
|
3138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3139
|
+
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 }); }
|
|
3140
|
+
}
|
|
3141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerComponent, decorators: [{
|
|
3142
|
+
type: Component,
|
|
3143
|
+
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"] }]
|
|
3144
|
+
}], ctorParameters: () => [] });
|
|
3145
|
+
|
|
3146
|
+
class DrawerDirective {
|
|
3147
|
+
get isResponsiveLayoutHost() {
|
|
3148
|
+
return this.rteDrawerPosition() === "responsive";
|
|
3149
|
+
}
|
|
3150
|
+
get responsiveHostDisplay() {
|
|
3151
|
+
return this.rteDrawerPosition() === "responsive" ? "flex" : undefined;
|
|
3152
|
+
}
|
|
3153
|
+
get responsiveHostFlexDirection() {
|
|
3154
|
+
return this.rteDrawerPosition() === "responsive" ? "column" : undefined;
|
|
3155
|
+
}
|
|
3156
|
+
get responsiveHostMinHeight() {
|
|
3157
|
+
return this.rteDrawerPosition() === "responsive" ? "0" : undefined;
|
|
3158
|
+
}
|
|
3159
|
+
get responsiveHostBoxSizing() {
|
|
3160
|
+
return this.rteDrawerPosition() === "responsive" ? "border-box" : undefined;
|
|
3161
|
+
}
|
|
3162
|
+
static { this.responsiveShellMountMaxAttempts = 12; }
|
|
3163
|
+
constructor() {
|
|
3164
|
+
this.drawerCompRef = null;
|
|
3165
|
+
this.drawerPanelElement = null;
|
|
3166
|
+
this.usedOverlay = false;
|
|
3167
|
+
this.isOpenProvided = false;
|
|
3168
|
+
this.elementRef = inject(ElementRef);
|
|
3169
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
3170
|
+
this.overlayService = inject(OverlayService);
|
|
3171
|
+
this.injector = inject(Injector);
|
|
3172
|
+
this.drawerContent = contentChild.required("drawerContent");
|
|
3173
|
+
this.drawerHeader = contentChild("drawerHeader");
|
|
3174
|
+
this.drawerFooter = contentChild("drawerFooter");
|
|
3175
|
+
this.drawerContextContent = contentChild("drawerContextContent");
|
|
3176
|
+
this.rteDrawerId = input.required();
|
|
3177
|
+
this.rteDrawerIsOpen = input(false);
|
|
3178
|
+
this.rteDrawerTitle = input();
|
|
3179
|
+
this.rteDrawerIcon = input();
|
|
3180
|
+
this.rteDrawerIconAppearance = input("outlined");
|
|
3181
|
+
this.rteDrawerPosition = input("modal");
|
|
3182
|
+
this.rteDrawerWidth = input();
|
|
3183
|
+
this.rteDrawerCloseOnOverlayClick = input(false);
|
|
3184
|
+
this.rteDrawerPrimaryButtonLabel = input();
|
|
3185
|
+
this.rteDrawerSecondaryButtonLabel = input();
|
|
3186
|
+
this.rteDrawerIsCollapsible = input(false);
|
|
3187
|
+
this.rteDrawerFixedHeader = input(false);
|
|
3188
|
+
this.rteDrawerCloseOnEscape = input(false);
|
|
3189
|
+
this.rteDrawerIsClosable = input(true);
|
|
3190
|
+
this.effectiveOpen = signal(false);
|
|
3191
|
+
this.onMouseDown = (mouseEvent) => this.handleClickAway(mouseEvent);
|
|
3192
|
+
this.onKeyDown = (keyboardEvent) => this.handleKeydown(keyboardEvent);
|
|
3193
|
+
this.scheduleResponsiveShellMount(DrawerDirective.responsiveShellMountMaxAttempts);
|
|
3194
|
+
effect(() => {
|
|
3195
|
+
this.rteDrawerIsOpen();
|
|
3196
|
+
untracked(() => {
|
|
3197
|
+
if (this.isOpenProvided) {
|
|
3198
|
+
return;
|
|
3199
|
+
}
|
|
3200
|
+
this.effectiveOpen.set(this.rteDrawerIsOpen());
|
|
3201
|
+
this.isOpenProvided = true;
|
|
3202
|
+
});
|
|
3203
|
+
});
|
|
3204
|
+
effect(() => {
|
|
3205
|
+
const open = this.effectiveOpen();
|
|
3206
|
+
untracked(() => {
|
|
3207
|
+
if (open) {
|
|
3208
|
+
this.runOpenTransition();
|
|
3209
|
+
}
|
|
3210
|
+
else {
|
|
3211
|
+
this.runCloseTransition();
|
|
3212
|
+
}
|
|
3213
|
+
});
|
|
3214
|
+
}, { allowSignalWrites: true });
|
|
3215
|
+
}
|
|
3216
|
+
open() {
|
|
3217
|
+
if (!this.validateForOpen()) {
|
|
3218
|
+
return;
|
|
3219
|
+
}
|
|
3220
|
+
this.effectiveOpen.set(true);
|
|
3221
|
+
}
|
|
3222
|
+
close() {
|
|
3223
|
+
this.effectiveOpen.set(false);
|
|
3224
|
+
}
|
|
3225
|
+
scheduleResponsiveShellMount(attemptsRemaining) {
|
|
3226
|
+
afterNextRender(() => {
|
|
3227
|
+
if (this.rteDrawerPosition() !== "responsive" || this.drawerCompRef) {
|
|
3228
|
+
return;
|
|
3229
|
+
}
|
|
3230
|
+
if (this.validateForOpen()) {
|
|
3231
|
+
this.mountDrawer();
|
|
3232
|
+
const mountedRef = this.drawerCompRef;
|
|
3233
|
+
if (mountedRef === null) {
|
|
3234
|
+
return;
|
|
3235
|
+
}
|
|
3236
|
+
this.syncInputsToDrawer();
|
|
3237
|
+
mountedRef.setInput("isOpen", false);
|
|
3238
|
+
return;
|
|
3239
|
+
}
|
|
3240
|
+
if (attemptsRemaining > 1) {
|
|
3241
|
+
this.scheduleResponsiveShellMount(attemptsRemaining - 1);
|
|
3242
|
+
}
|
|
3243
|
+
else {
|
|
3244
|
+
console.warn("Drawer: responsive shell could not mount after multiple attempts (content queries may still be empty).");
|
|
3245
|
+
}
|
|
3246
|
+
}, { injector: this.injector });
|
|
3247
|
+
}
|
|
3248
|
+
ngAfterContentInit() {
|
|
3249
|
+
document.addEventListener("mousedown", this.onMouseDown);
|
|
3250
|
+
document.addEventListener("keydown", this.onKeyDown);
|
|
3251
|
+
}
|
|
3252
|
+
onHostClick(clickEvent) {
|
|
3253
|
+
const target = clickEvent.target;
|
|
3254
|
+
if (!(target instanceof Node)) {
|
|
3255
|
+
return;
|
|
3256
|
+
}
|
|
3257
|
+
const triggerElement = target instanceof Element ? target.closest("[data-rte-drawer-trigger]") : null;
|
|
3258
|
+
if (!triggerElement || !this.elementRef.nativeElement.contains(triggerElement)) {
|
|
3259
|
+
return;
|
|
3260
|
+
}
|
|
3261
|
+
this.open();
|
|
3262
|
+
}
|
|
3263
|
+
ngOnDestroy() {
|
|
3264
|
+
document.removeEventListener("mousedown", this.onMouseDown);
|
|
3265
|
+
document.removeEventListener("keydown", this.onKeyDown);
|
|
3266
|
+
this.teardownDrawer();
|
|
3267
|
+
}
|
|
3268
|
+
runOpenTransition() {
|
|
3269
|
+
if (!this.validateForOpen()) {
|
|
3270
|
+
this.close();
|
|
3271
|
+
return;
|
|
3272
|
+
}
|
|
3273
|
+
if (!this.drawerCompRef) {
|
|
3274
|
+
this.mountDrawer();
|
|
3275
|
+
}
|
|
3276
|
+
if (!this.drawerCompRef) {
|
|
3277
|
+
return;
|
|
3278
|
+
}
|
|
3279
|
+
this.syncInputsToDrawer();
|
|
3280
|
+
this.refreshDrawerPanelElement();
|
|
3281
|
+
waitForNextFrame$1(() => {
|
|
3282
|
+
this.drawerCompRef?.setInput("isOpen", true);
|
|
3283
|
+
this.refreshDrawerPanelElement();
|
|
3284
|
+
});
|
|
3285
|
+
if (this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible()) {
|
|
3286
|
+
document.body.style.overflow = "hidden";
|
|
3287
|
+
}
|
|
3288
|
+
}
|
|
3289
|
+
runCloseTransition() {
|
|
3290
|
+
if (!this.drawerCompRef) {
|
|
3291
|
+
return;
|
|
3292
|
+
}
|
|
3293
|
+
this.drawerCompRef.setInput("isOpen", false);
|
|
3294
|
+
const keepMounted = this.rteDrawerIsCollapsible() || this.rteDrawerPosition() === "responsive";
|
|
3295
|
+
if (!keepMounted) {
|
|
3296
|
+
setTimeout(() => this.teardownDrawer(), DRAWER_TRANSITION_DURATION);
|
|
3297
|
+
}
|
|
3298
|
+
else if (this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible()) {
|
|
3299
|
+
document.body.style.overflow = "";
|
|
3300
|
+
}
|
|
3301
|
+
}
|
|
3302
|
+
handleClosed() {
|
|
3303
|
+
this.close();
|
|
3304
|
+
}
|
|
3305
|
+
handleToggle() {
|
|
3306
|
+
this.effectiveOpen.update((current) => !current);
|
|
3307
|
+
}
|
|
3308
|
+
mountDrawer() {
|
|
3309
|
+
const position = this.rteDrawerPosition();
|
|
3310
|
+
const collapsible = this.rteDrawerIsCollapsible();
|
|
3311
|
+
const useOverlay = position === "modal" && !collapsible;
|
|
3312
|
+
if (useOverlay) {
|
|
3313
|
+
this.drawerCompRef = this.overlayService.create(DrawerComponent, this.viewContainerRef, true);
|
|
3314
|
+
this.usedOverlay = true;
|
|
3315
|
+
}
|
|
3316
|
+
else {
|
|
3317
|
+
this.drawerCompRef = this.viewContainerRef.createComponent(DrawerComponent);
|
|
3318
|
+
this.usedOverlay = false;
|
|
3319
|
+
this.elementRef.nativeElement.appendChild(this.drawerCompRef.location.nativeElement);
|
|
3320
|
+
}
|
|
3321
|
+
this.drawerCompRef.instance.closed.subscribe(() => {
|
|
3322
|
+
this.handleClosed();
|
|
3323
|
+
});
|
|
3324
|
+
this.drawerCompRef.instance.clickToggle.subscribe(() => {
|
|
3325
|
+
this.handleToggle();
|
|
3326
|
+
});
|
|
3327
|
+
}
|
|
3328
|
+
teardownDrawer() {
|
|
3329
|
+
if (this.drawerCompRef) {
|
|
3330
|
+
this.drawerCompRef.destroy();
|
|
3331
|
+
this.drawerCompRef = null;
|
|
3332
|
+
}
|
|
3333
|
+
if (this.usedOverlay) {
|
|
3334
|
+
this.overlayService.destroy();
|
|
3335
|
+
this.usedOverlay = false;
|
|
3336
|
+
}
|
|
3337
|
+
document.body.style.overflow = "";
|
|
3338
|
+
this.drawerPanelElement = null;
|
|
3339
|
+
}
|
|
3340
|
+
syncInputsToDrawer() {
|
|
3341
|
+
const componentRef = this.drawerCompRef;
|
|
3342
|
+
if (!componentRef) {
|
|
3343
|
+
return;
|
|
3344
|
+
}
|
|
3345
|
+
componentRef.setInput("id", this.rteDrawerId());
|
|
3346
|
+
componentRef.setInput("title", this.rteDrawerTitle());
|
|
3347
|
+
componentRef.setInput("icon", this.rteDrawerIcon());
|
|
3348
|
+
componentRef.setInput("iconAppearance", this.rteDrawerIconAppearance());
|
|
3349
|
+
componentRef.setInput("position", this.rteDrawerPosition());
|
|
3350
|
+
componentRef.setInput("width", this.rteDrawerWidth());
|
|
3351
|
+
componentRef.setInput("closeOnOverlayClick", this.rteDrawerCloseOnOverlayClick());
|
|
3352
|
+
componentRef.setInput("primaryButtonLabel", this.rteDrawerPrimaryButtonLabel());
|
|
3353
|
+
componentRef.setInput("secondaryButtonLabel", this.rteDrawerSecondaryButtonLabel());
|
|
3354
|
+
componentRef.setInput("isCollapsible", this.rteDrawerIsCollapsible());
|
|
3355
|
+
componentRef.setInput("fixedHeader", this.rteDrawerFixedHeader());
|
|
3356
|
+
componentRef.setInput("closeOnEscape", this.rteDrawerCloseOnEscape());
|
|
3357
|
+
componentRef.setInput("isClosable", this.rteDrawerIsClosable());
|
|
3358
|
+
componentRef.setInput("modalHostMode", this.rteDrawerPosition() === "modal" && this.rteDrawerIsCollapsible());
|
|
3359
|
+
componentRef.setInput("drawerContent", this.drawerContent());
|
|
3360
|
+
componentRef.setInput("drawerHeader", this.drawerHeader() ?? null);
|
|
3361
|
+
componentRef.setInput("drawerFooter", this.drawerFooter() ?? null);
|
|
3362
|
+
componentRef.setInput("drawerContextContent", this.drawerContextContent() ?? null);
|
|
3363
|
+
}
|
|
3364
|
+
refreshDrawerPanelElement() {
|
|
3365
|
+
const root = this.drawerCompRef?.location.nativeElement;
|
|
3366
|
+
this.drawerPanelElement = root?.querySelector("[data-drawer-panel]") ?? null;
|
|
3367
|
+
}
|
|
3368
|
+
validateForOpen() {
|
|
3369
|
+
const issues = getDrawerConfigurationIssues({
|
|
3370
|
+
hasCustomHeader: !!this.drawerHeader(),
|
|
3371
|
+
hasTitle: !!this.rteDrawerTitle(),
|
|
3372
|
+
hasCustomFooter: !!this.drawerFooter(),
|
|
3373
|
+
hasPrimaryButtonLabel: !!this.rteDrawerPrimaryButtonLabel(),
|
|
3374
|
+
position: this.rteDrawerPosition(),
|
|
3375
|
+
hasMainContent: !!this.drawerContextContent(),
|
|
3376
|
+
});
|
|
3377
|
+
if (issues) {
|
|
3378
|
+
console.warn(issues);
|
|
3379
|
+
return false;
|
|
3380
|
+
}
|
|
3381
|
+
return true;
|
|
3382
|
+
}
|
|
3383
|
+
handleKeydown(keyboardEvent) {
|
|
3384
|
+
if (!this.effectiveOpen()) {
|
|
3385
|
+
return;
|
|
3386
|
+
}
|
|
3387
|
+
if (keyboardEvent.key === ESCAPE_KEY && this.rteDrawerCloseOnEscape()) {
|
|
3388
|
+
keyboardEvent.preventDefault();
|
|
3389
|
+
this.close();
|
|
3390
|
+
}
|
|
3391
|
+
}
|
|
3392
|
+
handleClickAway(mouseEvent) {
|
|
3393
|
+
if (!this.effectiveOpen()) {
|
|
3394
|
+
return;
|
|
3395
|
+
}
|
|
3396
|
+
if (this.rteDrawerPosition() !== "modal") {
|
|
3397
|
+
return;
|
|
3398
|
+
}
|
|
3399
|
+
if (!this.rteDrawerCloseOnOverlayClick()) {
|
|
3400
|
+
return;
|
|
3401
|
+
}
|
|
3402
|
+
const hostElement = this.elementRef.nativeElement;
|
|
3403
|
+
const target = mouseEvent.target;
|
|
3404
|
+
if (hostElement.contains(target)) {
|
|
3405
|
+
return;
|
|
3406
|
+
}
|
|
3407
|
+
if (this.drawerPanelElement?.contains(target)) {
|
|
3408
|
+
return;
|
|
3409
|
+
}
|
|
3410
|
+
this.close();
|
|
3411
|
+
}
|
|
3412
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3413
|
+
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 }); }
|
|
3414
|
+
}
|
|
3415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerDirective, decorators: [{
|
|
3416
|
+
type: Directive,
|
|
3417
|
+
args: [{
|
|
3418
|
+
selector: "[rteDrawer]",
|
|
3419
|
+
exportAs: "rteDrawer",
|
|
3420
|
+
standalone: true,
|
|
3421
|
+
}]
|
|
3422
|
+
}], ctorParameters: () => [], propDecorators: { isResponsiveLayoutHost: [{
|
|
3423
|
+
type: HostBinding,
|
|
3424
|
+
args: ["class.rte-drawer-host--responsive-layout"]
|
|
3425
|
+
}], responsiveHostDisplay: [{
|
|
3426
|
+
type: HostBinding,
|
|
3427
|
+
args: ["style.display"]
|
|
3428
|
+
}], responsiveHostFlexDirection: [{
|
|
3429
|
+
type: HostBinding,
|
|
3430
|
+
args: ["style.flex-direction"]
|
|
3431
|
+
}], responsiveHostMinHeight: [{
|
|
3432
|
+
type: HostBinding,
|
|
3433
|
+
args: ["style.min-height"]
|
|
3434
|
+
}], responsiveHostBoxSizing: [{
|
|
3435
|
+
type: HostBinding,
|
|
3436
|
+
args: ["style.box-sizing"]
|
|
3437
|
+
}], onHostClick: [{
|
|
3438
|
+
type: HostListener,
|
|
3439
|
+
args: ["click", ["$event"]]
|
|
3440
|
+
}] } });
|
|
3441
|
+
|
|
3442
|
+
class DrawerTriggerDirective {
|
|
3443
|
+
constructor() {
|
|
3444
|
+
this.drawerTriggerKeyDown = output();
|
|
3445
|
+
this.drawerTriggerClicked = output();
|
|
3446
|
+
}
|
|
3447
|
+
onDrawerTriggerClicked(clickEvent) {
|
|
3448
|
+
this.drawerTriggerClicked.emit(clickEvent);
|
|
3449
|
+
}
|
|
3450
|
+
onKeyDown(keyboardEvent) {
|
|
3451
|
+
this.drawerTriggerKeyDown.emit(keyboardEvent);
|
|
3452
|
+
}
|
|
3453
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3454
|
+
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 }); }
|
|
3455
|
+
}
|
|
3456
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerTriggerDirective, decorators: [{
|
|
3457
|
+
type: Directive,
|
|
3458
|
+
args: [{
|
|
3459
|
+
selector: "[rteDrawerTrigger]",
|
|
3460
|
+
standalone: true,
|
|
3461
|
+
host: {
|
|
3462
|
+
"[attr.data-rte-drawer-trigger]": "true",
|
|
3463
|
+
},
|
|
3464
|
+
}]
|
|
3465
|
+
}], propDecorators: { onDrawerTriggerClicked: [{
|
|
3466
|
+
type: HostListener,
|
|
3467
|
+
args: ["click", ["$event"]]
|
|
3468
|
+
}], onKeyDown: [{
|
|
3469
|
+
type: HostListener,
|
|
3470
|
+
args: ["keydown", ["$event"]]
|
|
3471
|
+
}] } });
|
|
3472
|
+
|
|
3473
|
+
class DrawerModule {
|
|
3474
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3475
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, imports: [DrawerDirective, DrawerTriggerDirective], exports: [DrawerDirective, DrawerTriggerDirective] }); }
|
|
3476
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule }); }
|
|
3477
|
+
}
|
|
3478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DrawerModule, decorators: [{
|
|
3479
|
+
type: NgModule,
|
|
3480
|
+
args: [{
|
|
3481
|
+
imports: [DrawerDirective, DrawerTriggerDirective],
|
|
3482
|
+
exports: [DrawerDirective, DrawerTriggerDirective],
|
|
3483
|
+
}]
|
|
3484
|
+
}] });
|
|
3485
|
+
|
|
3486
|
+
class SearchbarComponent {
|
|
3487
|
+
constructor() {
|
|
3488
|
+
this.id = input();
|
|
3489
|
+
this.label = input("Rechercher");
|
|
3490
|
+
this.disabled = input(false);
|
|
3491
|
+
this.showResetButton = input(true);
|
|
3492
|
+
this.appearance = input("primary");
|
|
3493
|
+
this.compactSpacing = input(false);
|
|
3494
|
+
this.value = input("");
|
|
3495
|
+
this.assistiveText = input("");
|
|
3496
|
+
this.valueChange = output();
|
|
3497
|
+
this.searchEvent = output();
|
|
3498
|
+
this.clear = output();
|
|
3499
|
+
this.hasFocusWithin = signal(false);
|
|
3500
|
+
this.appearanceConfig = computed(() => APPEARANCE_CONFIG[this.appearance()]);
|
|
3501
|
+
this.placeholder = computed(() => (this.disabled() ? "Recherche indisponible" : this.label()));
|
|
3502
|
+
this.textInputStyles = computed(() => {
|
|
3503
|
+
const styles = {};
|
|
3504
|
+
const hasLeftIcon = this.appearanceConfig().showLeftIcon;
|
|
3505
|
+
if (this.appearance() === "primary") {
|
|
3506
|
+
styles["border-right"] = "none";
|
|
3507
|
+
styles["border-radius"] = `${SEARCHBAR_BORDER_RADIUS} 0 0 ${SEARCHBAR_BORDER_RADIUS}`;
|
|
3508
|
+
if (!hasLeftIcon) {
|
|
3509
|
+
styles["padding-left"] = SEARCHBAR_PADDING_LEFT;
|
|
3510
|
+
}
|
|
3511
|
+
}
|
|
3512
|
+
else if (this.appearance() === "secondary") {
|
|
3513
|
+
styles["border-radius"] = SEARCHBAR_BORDER_RADIUS;
|
|
3514
|
+
}
|
|
3515
|
+
return styles;
|
|
2924
3516
|
});
|
|
2925
3517
|
this.searchButtonStyles = computed(() => {
|
|
2926
3518
|
const styles = {
|
|
@@ -3414,7 +4006,7 @@ class ToastComponent {
|
|
|
3414
4006
|
}
|
|
3415
4007
|
}
|
|
3416
4008
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3417
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToastComponent, isStandalone: true, selector: "rte-toast", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null }, autoDismiss: { classPropertyName: "autoDismiss", publicName: "autoDismiss", isSignal: true, isRequired: false, transformFunction: null }, showActionButton: { classPropertyName: "showActionButton", publicName: "showActionButton", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, showLeftIcon: { classPropertyName: "showLeftIcon", publicName: "showLeftIcon", isSignal: true, isRequired: false, transformFunction: null }, actionButtonLabel: { classPropertyName: "actionButtonLabel", publicName: "actionButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, onActionButtonClick: { classPropertyName: "onActionButtonClick", publicName: "onActionButtonClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"rte-toast {{ type() }} {{ position() }} {{ alignment() }}\"\n role=\"status\"\n [ngClass]=\"{ open: isOpen() }\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n>\n <div class=\"rte-toast-content\">\n @if (displayLeftIcon()) {\n <rte-icon class=\"rte-toast-icon\" aria-hidden=\"true\" [name]=\"defaultIconName()\" [size]=\"iconSize\" />\n } @else {\n @if (displayCustomIcon()) {\n <rte-icon class=\"rte-toast-icon\" aria-hidden=\"true\" [name]=\"iconName()!\" [size]=\"iconSize\" />\n }\n }\n <span class=\"rte-toast-message\">{{ message() }}</span>\n </div>\n @if (displayActionButton()) {\n <button rteButton rteButtonVariant=\"text\" class=\"rte-toast-action-button\" (click)=\"onClickActionButton()\">\n {{ actionButtonLabel() }}\n </button>\n }\n @if (closable()) {\n <rte-icon-button\n name=\"close\"\n [attr.data-testid]=\"'toast-close-button'\"\n [variant]=\"type() === 'neutral' ? 'reverse' : 'neutral'\"\n (clickEvent)=\"clickCloseButton()\"\n />\n }\n</div>\n", styles: [".rte-toast{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);display:flex;width:400px;min-width:240px;max-width:336px;padding:8px 4px 8px 16px;align-items:center;border-radius:4px;border-bottom:4px solid var(--border-info);color:var(--content-primary);background-color:var(--background-default);z-index:10;position:fixed;inset:auto;opacity:0;transition:opacity .3s ease,transform .2s ease}.rte-toast.top{top:12px}.rte-toast.bottom{bottom:12px}.rte-toast.bottom.center{left:50%;transform:translate(-50%,10px)}.rte-toast.bottom.center.open{opacity:1;transform:translate(-50%)}.rte-toast.left{left:12px;transform:translate(-10px)}.rte-toast.left.open{opacity:1;transform:translate(0)}.rte-toast.right{right:12px;transform:translate(10px)}.rte-toast.right.open{opacity:1;transform:translate(0)}.rte-toast .rte-toast-message{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;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;width:100%;-webkit-line-clamp:2;line-clamp:2}.rte-toast .rte-toast-icon{flex:1 0 auto}.rte-toast .rte-toast-content{display:flex;align-items:center;gap:12px;flex-grow:1;overflow:hidden;width:100%}.rte-toast.info{border-bottom-color:var(--border-info)}.rte-toast.info .rte-toast-icon{color:var(--content-info-default)}.rte-toast.error{border-bottom-color:var(--border-danger)}.rte-toast.error .rte-toast-icon{color:var(--content-danger-default)}.rte-toast.success{border-bottom-color:var(--border-success)}.rte-toast.success .rte-toast-icon{color:var(--content-success-default)}.rte-toast.warning{border-bottom-color:var(--border-warning)}.rte-toast.warning .rte-toast-icon{color:var(--content-warning-default)}.rte-toast.neutral{background-color:var(--background-inverse);color:var(--content-primary-inverse);border-bottom-color:var(--border-primary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }, { kind: "component", type: ButtonComponent, selector: "button[rteButton]", inputs: ["rteButtonVariant", "rteButtonSize", "rteBadgeCount", "rteBadgeContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4009
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ToastComponent, isStandalone: true, selector: "rte-toast", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null }, autoDismiss: { classPropertyName: "autoDismiss", publicName: "autoDismiss", isSignal: true, isRequired: false, transformFunction: null }, showActionButton: { classPropertyName: "showActionButton", publicName: "showActionButton", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, showLeftIcon: { classPropertyName: "showLeftIcon", publicName: "showLeftIcon", isSignal: true, isRequired: false, transformFunction: null }, actionButtonLabel: { classPropertyName: "actionButtonLabel", publicName: "actionButtonLabel", isSignal: true, isRequired: false, transformFunction: null }, onActionButtonClick: { classPropertyName: "onActionButtonClick", publicName: "onActionButtonClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { close: "close" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"rte-toast {{ type() }} {{ position() }} {{ alignment() }}\"\n role=\"status\"\n [ngClass]=\"{ open: isOpen() }\"\n (mouseenter)=\"handleMouseEnter()\"\n (mouseleave)=\"handleMouseLeave()\"\n>\n <div class=\"rte-toast-content\">\n @if (displayLeftIcon()) {\n <rte-icon class=\"rte-toast-icon\" aria-hidden=\"true\" [name]=\"defaultIconName()\" [size]=\"iconSize\" />\n } @else {\n @if (displayCustomIcon()) {\n <rte-icon class=\"rte-toast-icon\" aria-hidden=\"true\" [name]=\"iconName()!\" [size]=\"iconSize\" />\n }\n }\n <span class=\"rte-toast-message\">{{ message() }}</span>\n </div>\n @if (displayActionButton()) {\n <button rteButton rteButtonVariant=\"text\" class=\"rte-toast-action-button\" (click)=\"onClickActionButton()\">\n {{ actionButtonLabel() }}\n </button>\n }\n @if (closable()) {\n <rte-icon-button\n name=\"close\"\n [attr.data-testid]=\"'toast-close-button'\"\n [variant]=\"type() === 'neutral' ? 'reverse' : 'neutral'\"\n (clickEvent)=\"clickCloseButton()\"\n />\n }\n</div>\n", styles: [".rte-toast{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);display:flex;width:400px;min-width:240px;max-width:336px;padding:8px 4px 8px 16px;align-items:center;border-radius:4px;border-bottom:4px solid var(--border-info);color:var(--content-primary);background-color:var(--background-default);z-index:10;position:fixed;inset:auto;opacity:0;transition:opacity .3s ease,transform .2s ease}.rte-toast.top{top:12px}.rte-toast.bottom{bottom:12px}.rte-toast.bottom.center{left:50%;transform:translate(-50%,10px)}.rte-toast.bottom.center.open{opacity:1;transform:translate(-50%)}.rte-toast.left{left:12px;transform:translate(-10px)}.rte-toast.left.open{opacity:1;transform:translate(0)}.rte-toast.right{right:12px;transform:translate(10px)}.rte-toast.right.open{opacity:1;transform:translate(0)}.rte-toast .rte-toast-message{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;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;width:100%;-webkit-line-clamp:2;line-clamp:2}.rte-toast .rte-toast-icon{flex:1 0 auto}.rte-toast .rte-toast-content{display:flex;align-items:center;gap:12px;flex-grow:1;overflow:hidden;width:100%}.rte-toast.info{border-bottom-color:var(--border-info)}.rte-toast.info .rte-toast-icon{color:var(--content-info-default)}.rte-toast.error{border-bottom-color:var(--border-danger)}.rte-toast.error .rte-toast-icon{color:var(--content-danger-default)}.rte-toast.success{border-bottom-color:var(--border-success)}.rte-toast.success .rte-toast-icon{color:var(--content-success-default)}.rte-toast.warning{border-bottom-color:var(--border-warning)}.rte-toast.warning .rte-toast-icon{color:var(--content-warning-default)}.rte-toast.neutral{background-color:var(--background-inverse);color:var(--content-primary-inverse);border-bottom-color:var(--border-primary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }, { kind: "component", type: ButtonComponent, selector: "button[rteButton]", inputs: ["rteButtonVariant", "rteButtonSize", "rteBadgeCount", "rteBadgeContent", "rteButtonIcon", "rteButtonIconPosition", "rteButtonIconAppearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3418
4010
|
}
|
|
3419
4011
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToastComponent, decorators: [{
|
|
3420
4012
|
type: Component,
|
|
@@ -4241,9 +4833,494 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
4241
4833
|
args: [{ selector: "rte-tab", imports: [CommonModule, TabItemComponent, IconButtonComponent, DropdownModule, IconComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"rte-tab-container\" [attr.data-direction]=\"direction()\">\n <div class=\"rte-tab-border-vertical\" aria-hidden=\"true\" role=\"presentation\" [attr.data-direction]=\"direction()\"></div>\n <div\n [ngStyle]=\"{\n position: 'relative',\n display: 'flex',\n 'align-items': 'center',\n 'flex-direction': direction() === 'horizontal' ? 'row' : 'column',\n }\"\n >\n <rte-icon-button\n *ngIf=\"isScrollable() && !shouldDisplayDropdown()\"\n aria-label=\"Previous tabs\"\n variant=\"transparent\"\n [name]=\"direction() === 'horizontal' ? 'arrow-chevron-left' : 'arrow-chevron-up'\"\n [ngStyle]=\"{\n opacity: canScrollBackward() ? '1' : '0',\n 'pointer-events': canScrollBackward() ? 'auto' : 'none',\n }\"\n (clickEvent)=\"scrollBackward()\"\n />\n <div\n #tabList\n role=\"tablist\"\n aria-label=\"Sample Tabs\"\n class=\"rte-tab\"\n [attr.data-alignment]=\"shouldDisplayDropdown() ? 'start' : alignment()\"\n [attr.data-direction]=\"direction()\"\n [attr.data-overflow-type]=\"overflowType()\"\n >\n <span class=\"rte-tab-selected-indicator\" [ngStyle]=\"tabItemSelectedIndicatorStyle()\"></span>\n <div\n *ngIf=\"shouldDisplayDropdown() && options().length\"\n rteDropdown\n [rteDropdownOffset]=\"10\"\n (menuEvent)=\"onClickTabItem($event.id)\"\n >\n <button\n rteDropdownTrigger\n class=\"rte-tab-dropdown-button\"\n [attr.data-inverted]=\"inverted()\"\n [attr.data-overflow-type]=\"overflowType()\"\n >\n <rte-icon *ngIf=\"selectedTab()?.icon\" appearance=\"filled\" [name]=\"selectedTab()?.icon!\"></rte-icon>\n <span *ngIf=\"selectedTab()?.label\">{{ selectedTab()?.label }}</span>\n <rte-badge\n *ngIf=\"selectedTab()?.badgeCount && selectedTab()?.badgeContent === 'number'\"\n [badgeType]=\"selectedTab()?.badgeType!\"\n [badgeContent]=\"selectedTab()?.badgeContent!\"\n [count]=\"selectedTab()?.badgeCount\"\n [simpleBadge]=\"true\"\n ></rte-badge>\n <rte-icon name=\"arrow-chevron-down\" appearance=\"outlined\"></rte-icon>\n </button>\n <rte-dropdown-menu [items]=\"dropdownFilteredOptions()\" />\n </div>\n <ng-container *ngFor=\"let option of options(); let idx = index\">\n <rte-tab-item\n #tabItem\n [option]=\"option\"\n [direction]=\"direction()\"\n [compactSpacing]=\"compactSpacing()\"\n [isSelected]=\"isSelected(option.id)\"\n [inverted]=\"inverted()\"\n [attr.data-hidden]=\"shouldDisplayDropdown()\"\n [isHidden]=\"shouldDisplayDropdown()\"\n (keydown)=\"onKeydownTabItem($event)\"\n (click)=\"onClickTabItem(option.id)\"\n ></rte-tab-item>\n </ng-container>\n </div>\n <rte-icon-button\n *ngIf=\"isScrollable() && !shouldDisplayDropdown()\"\n aria-label=\"Next tabs\"\n variant=\"transparent\"\n [name]=\"direction() === 'horizontal' ? 'arrow-chevron-right' : 'arrow-chevron-down'\"\n [ngStyle]=\"{\n opacity: canScrollForward() ? '1' : '0',\n 'pointer-events': canScrollForward() ? 'auto' : 'none',\n }\"\n (clickEvent)=\"scrollForward()\"\n />\n </div>\n <div\n class=\"rte-tab-border-horizontal\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.data-direction]=\"direction()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-scrollable]=\"isScrollable() && overflowType() === 'scrollable'\"\n ></div>\n</div>\n", styles: [".rte-tab-container{position:relative;display:flex;flex-direction:column}.rte-tab-container[data-direction=vertical]{flex-direction:row;height:100%}.rte-tab{position:relative;display:flex;height:100%;gap:24px;justify-content:flex-start;padding-bottom:2px;margin-bottom:-2px;margin-left:-2px;scrollbar-width:none;width:100%;padding-top:2px;padding-left:2px;align-items:center}.rte-tab[data-direction=horizontal]{overflow-x:scroll}.rte-tab[data-direction=horizontal][data-overflow-type=dropdown]{overflow:hidden;margin-left:0}.rte-tab[data-direction=vertical]{flex-direction:column;border-bottom:none;gap:4px;height:100%;padding-right:2px;margin-left:-2px;width:max-content;align-items:start;margin-bottom:0}.rte-tab[data-direction=vertical] .rte-tab-selected-indicator{width:2px;transition:top .2s ease,height .2s ease}.rte-tab[data-alignment=center]{justify-content:center}.rte-tab .rte-tab-selected-indicator{position:absolute;bottom:0;height:2px;background:var(--background-brand-selected-default);transition:left .2s ease,width .2s ease;pointer-events:none;z-index:1}.rte-tab .rte-tab-separator{width:24px;flex-shrink:0}.rte-tab-border-horizontal{background-color:var(--background-neutral-regular-default);position:relative;height:2px}.rte-tab-border-horizontal[data-compact-spacing=true][data-scrollable=true]{bottom:5px}.rte-tab-border-horizontal[data-direction=vertical]{display:none}.rte-tab-border-vertical{background-color:var(--background-neutral-regular-default);position:relative;width:2px}.rte-tab-border-vertical[data-direction=horizontal]{display:none}.rte-tab-dropdown-button{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-secondary);width:max-content;display:flex;align-items:center;gap:12px;background-color:transparent;border:none;cursor:pointer;padding:0;margin:12px}.rte-tab-dropdown-button:focus-visible{outline:2px solid var(--border-brand-focused);outline-offset:12px;z-index:1}.rte-tab-dropdown-button[data-inverted=true]{color:var(--content-primary-inverse)}\n"] }]
|
|
4242
4834
|
}] });
|
|
4243
4835
|
|
|
4836
|
+
class TreeviewCheckService {
|
|
4837
|
+
constructor() {
|
|
4838
|
+
this.checkedIds = signal(new Set());
|
|
4839
|
+
this.rootItems = signal([]);
|
|
4840
|
+
}
|
|
4841
|
+
setRootItems(items) {
|
|
4842
|
+
this.rootItems.set(items);
|
|
4843
|
+
}
|
|
4844
|
+
toggleChecked(node, rootItemsOverride) {
|
|
4845
|
+
const current = this.checkedIds();
|
|
4846
|
+
const rootItems = rootItemsOverride ?? this.rootItems();
|
|
4847
|
+
const next = computeCheckedIdsAfterToggle(current, node, rootItems);
|
|
4848
|
+
this.checkedIds.set(next);
|
|
4849
|
+
}
|
|
4850
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewCheckService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4851
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewCheckService }); }
|
|
4852
|
+
}
|
|
4853
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewCheckService, decorators: [{
|
|
4854
|
+
type: Injectable
|
|
4855
|
+
}] });
|
|
4856
|
+
|
|
4857
|
+
class TreeviewSelectionService {
|
|
4858
|
+
constructor() {
|
|
4859
|
+
this.selectedId = signal(undefined);
|
|
4860
|
+
}
|
|
4861
|
+
select(id) {
|
|
4862
|
+
this.selectedId.set(id);
|
|
4863
|
+
}
|
|
4864
|
+
selectByNodePath(pathString, items) {
|
|
4865
|
+
const pathIndices = parsePathString(pathString);
|
|
4866
|
+
const node = getNodeAtPath(items, pathIndices);
|
|
4867
|
+
const id = node?.id ?? node?.labelText;
|
|
4868
|
+
this.select(id);
|
|
4869
|
+
}
|
|
4870
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4871
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewSelectionService }); }
|
|
4872
|
+
}
|
|
4873
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewSelectionService, decorators: [{
|
|
4874
|
+
type: Injectable
|
|
4875
|
+
}] });
|
|
4876
|
+
|
|
4877
|
+
class TreeviewItemBorderComponent {
|
|
4878
|
+
constructor() {
|
|
4879
|
+
this.borderType = input.required();
|
|
4880
|
+
this.isCompact = input(false);
|
|
4881
|
+
this.svgConfig = computed(() => {
|
|
4882
|
+
const map = this.isCompact() ? TREEVIEW_BORDER_SVG_MAP_COMPACT : TREEVIEW_BORDER_SVG_MAP;
|
|
4883
|
+
return map[this.borderType()];
|
|
4884
|
+
});
|
|
4885
|
+
}
|
|
4886
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewItemBorderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4887
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeviewItemBorderComponent, isStandalone: true, selector: "rte-treeview-item-border", inputs: { borderType: { classPropertyName: "borderType", publicName: "borderType", isSignal: true, isRequired: true, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<svg\n class=\"treeview-item-border\"\n fill=\"none\"\n aria-hidden=\"true\"\n [attr.width]=\"svgConfig().width\"\n [attr.height]=\"svgConfig().height\"\n [attr.viewBox]=\"svgConfig().viewBox\"\n>\n @for (element of svgConfig().elements; track $index) {\n @if (element.kind === \"path\") {\n <path class=\"treeview-item-border-path\" [attr.d]=\"element.d\" />\n } @else {\n <line\n class=\"treeview-item-border-path\"\n [attr.x1]=\"element.x1\"\n [attr.y1]=\"element.y1\"\n [attr.x2]=\"element.x2\"\n [attr.y2]=\"element.y2\"\n />\n }\n }\n</svg>\n", styles: [":host{display:block;flex-shrink:0;width:16px;min-width:16px;height:32px;align-self:stretch}:host-context(.treeview-item.compact){height:24px}.treeview-item-border{display:block;width:100%;height:100%}.treeview-item-border .treeview-item-border-path{stroke:var(--border-tertiary);stroke-width:1px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4888
|
+
}
|
|
4889
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewItemBorderComponent, decorators: [{
|
|
4890
|
+
type: Component,
|
|
4891
|
+
args: [{ selector: "rte-treeview-item-border", standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg\n class=\"treeview-item-border\"\n fill=\"none\"\n aria-hidden=\"true\"\n [attr.width]=\"svgConfig().width\"\n [attr.height]=\"svgConfig().height\"\n [attr.viewBox]=\"svgConfig().viewBox\"\n>\n @for (element of svgConfig().elements; track $index) {\n @if (element.kind === \"path\") {\n <path class=\"treeview-item-border-path\" [attr.d]=\"element.d\" />\n } @else {\n <line\n class=\"treeview-item-border-path\"\n [attr.x1]=\"element.x1\"\n [attr.y1]=\"element.y1\"\n [attr.x2]=\"element.x2\"\n [attr.y2]=\"element.y2\"\n />\n }\n }\n</svg>\n", styles: [":host{display:block;flex-shrink:0;width:16px;min-width:16px;height:32px;align-self:stretch}:host-context(.treeview-item.compact){height:24px}.treeview-item-border{display:block;width:100%;height:100%}.treeview-item-border .treeview-item-border-path{stroke:var(--border-tertiary);stroke-width:1px}\n"] }]
|
|
4892
|
+
}] });
|
|
4893
|
+
|
|
4894
|
+
class TreeviewItemComponent {
|
|
4895
|
+
get hostClasses() {
|
|
4896
|
+
const classes = ["treeview-item"];
|
|
4897
|
+
if (this.isCompact())
|
|
4898
|
+
classes.push("compact");
|
|
4899
|
+
if (this.isSelected())
|
|
4900
|
+
classes.push("selected");
|
|
4901
|
+
if (this.disabled())
|
|
4902
|
+
classes.push("disabled");
|
|
4903
|
+
if (this.hasChildren())
|
|
4904
|
+
classes.push("has-children");
|
|
4905
|
+
if (this.hasChildren() && this.isOpenSignal())
|
|
4906
|
+
classes.push("is-expanded");
|
|
4907
|
+
if (this.effectiveDepth() === 0)
|
|
4908
|
+
classes.push("root-depth");
|
|
4909
|
+
return classes.join(" ");
|
|
4910
|
+
}
|
|
4911
|
+
get dataItemId() {
|
|
4912
|
+
return this.itemId();
|
|
4913
|
+
}
|
|
4914
|
+
get ariaLevel() {
|
|
4915
|
+
return this.effectiveDepth() + 1;
|
|
4916
|
+
}
|
|
4917
|
+
get ariaExpanded() {
|
|
4918
|
+
return this.hasChildren() ? this.isOpenSignal() : undefined;
|
|
4919
|
+
}
|
|
4920
|
+
get ariaSelected() {
|
|
4921
|
+
return !!this.isSelected();
|
|
4922
|
+
}
|
|
4923
|
+
getChildBorderTypes(isLastChild) {
|
|
4924
|
+
return getChildBorderTypes(this.resolvedBorderTypes(), isLastChild);
|
|
4925
|
+
}
|
|
4926
|
+
constructor() {
|
|
4927
|
+
this.role = "treeitem";
|
|
4928
|
+
this.treeId = input.required();
|
|
4929
|
+
this.nodePath = input([]);
|
|
4930
|
+
this.labelText = input.required();
|
|
4931
|
+
this.icon = input();
|
|
4932
|
+
this.disabled = input(false);
|
|
4933
|
+
this.isCompact = input(false);
|
|
4934
|
+
this.hasCheckbox = input(false);
|
|
4935
|
+
this.isOpen = input(false);
|
|
4936
|
+
this.hasIcon = input(false);
|
|
4937
|
+
this.hasBadge = input(false);
|
|
4938
|
+
this.items = input([]);
|
|
4939
|
+
this.rootItems = input(undefined);
|
|
4940
|
+
this.id = input();
|
|
4941
|
+
this.depth = input(undefined);
|
|
4942
|
+
this.isLastChild = input(undefined);
|
|
4943
|
+
this.borderTypes = input([]);
|
|
4944
|
+
this.actionIcon = input();
|
|
4945
|
+
this.actionMenuItems = input();
|
|
4946
|
+
this.isOpenSignal = signal(false);
|
|
4947
|
+
this.itemClick = output();
|
|
4948
|
+
this.openChange = output();
|
|
4949
|
+
this.actionIconClick = output();
|
|
4950
|
+
this.actionMenuClick = output();
|
|
4951
|
+
this.parentItem = inject(TreeviewItemComponent, { optional: true, skipSelf: true });
|
|
4952
|
+
this.selectionService = inject(TreeviewSelectionService, { optional: true });
|
|
4953
|
+
this.checkService = inject(TreeviewCheckService, { optional: true });
|
|
4954
|
+
this.hasChildren = computed(() => hasChildren(this.items()));
|
|
4955
|
+
this.isChecked = computed(() => {
|
|
4956
|
+
const ids = this.checkService?.checkedIds() ?? new Set();
|
|
4957
|
+
const node = { id: this.itemId(), labelText: this.labelText(), items: this.items() };
|
|
4958
|
+
const hasChildren$1 = hasChildren(this.items());
|
|
4959
|
+
return allDescendantsChecked(node, ids) || (ids.has(this.itemId()) && !hasChildren$1);
|
|
4960
|
+
});
|
|
4961
|
+
this.isIndeterminate = computed(() => {
|
|
4962
|
+
const ids = this.checkService?.checkedIds() ?? new Set();
|
|
4963
|
+
const node = { id: this.itemId(), labelText: this.labelText(), items: this.items() };
|
|
4964
|
+
return isNodeIndeterminate(node, ids);
|
|
4965
|
+
});
|
|
4966
|
+
this.itemId = computed(() => this.id() ?? this.labelText());
|
|
4967
|
+
this.isSelected = computed(() => this.selectionService && !!isItemSelected(this.itemId(), this.selectionService.selectedId()));
|
|
4968
|
+
this.effectiveDepth = computed(() => {
|
|
4969
|
+
const depthInput = this.depth();
|
|
4970
|
+
if (depthInput !== undefined) {
|
|
4971
|
+
return depthInput;
|
|
4972
|
+
}
|
|
4973
|
+
const parent = this.parentItem;
|
|
4974
|
+
return parent ? parent.effectiveDepth() + 1 : 0;
|
|
4975
|
+
});
|
|
4976
|
+
this.nodeUid = computed(() => buildTreeviewNodeId({
|
|
4977
|
+
treeId: this.treeId(),
|
|
4978
|
+
path: this.nodePath(),
|
|
4979
|
+
itemId: this.itemId(),
|
|
4980
|
+
}));
|
|
4981
|
+
this.checkboxId = computed(() => computeCheckboxId(this.nodeUid()));
|
|
4982
|
+
this.resolvedBorderTypes = computed(() => {
|
|
4983
|
+
const inputBorderTypes = this.borderTypes();
|
|
4984
|
+
return inputBorderTypes.length > 0 ? inputBorderTypes : [];
|
|
4985
|
+
});
|
|
4986
|
+
this.connectorBorderTypes = computed(() => computeConnectorBorderTypes({
|
|
4987
|
+
depth: this.effectiveDepth(),
|
|
4988
|
+
isCompact: this.isCompact(),
|
|
4989
|
+
resolvedBorderTypes: this.resolvedBorderTypes(),
|
|
4990
|
+
hasChildren: this.hasChildren(),
|
|
4991
|
+
}));
|
|
4992
|
+
effect(() => {
|
|
4993
|
+
this.isOpenSignal.set(this.isOpen());
|
|
4994
|
+
}, { allowSignalWrites: true });
|
|
4995
|
+
}
|
|
4996
|
+
toggleOpen() {
|
|
4997
|
+
if (!canToggleOpen(this.hasChildren(), this.disabled())) {
|
|
4998
|
+
return;
|
|
4999
|
+
}
|
|
5000
|
+
const newOpen = !this.isOpenSignal();
|
|
5001
|
+
this.isOpenSignal.set(newOpen);
|
|
5002
|
+
this.openChange.emit({ id: this.itemId(), open: newOpen });
|
|
5003
|
+
}
|
|
5004
|
+
handleContentClick() {
|
|
5005
|
+
if (this.disabled()) {
|
|
5006
|
+
return;
|
|
5007
|
+
}
|
|
5008
|
+
const service = this.selectionService;
|
|
5009
|
+
if (service) {
|
|
5010
|
+
const currentItemId = this.itemId();
|
|
5011
|
+
service.select(currentItemId);
|
|
5012
|
+
}
|
|
5013
|
+
this.itemClick.emit(this.itemId());
|
|
5014
|
+
}
|
|
5015
|
+
handleChevronKeyDown(event) {
|
|
5016
|
+
if ([SPACE_KEY, ENTER_KEY].includes(event.key)) {
|
|
5017
|
+
event.preventDefault();
|
|
5018
|
+
this.toggleOpen();
|
|
5019
|
+
}
|
|
5020
|
+
}
|
|
5021
|
+
handleContentKeyDown(event) {
|
|
5022
|
+
if ([SPACE_KEY, ENTER_KEY].includes(event.key)) {
|
|
5023
|
+
event.preventDefault();
|
|
5024
|
+
this.handleContentClick();
|
|
5025
|
+
}
|
|
5026
|
+
}
|
|
5027
|
+
handleCheckboxClick(event) {
|
|
5028
|
+
event.preventDefault();
|
|
5029
|
+
event.stopPropagation();
|
|
5030
|
+
if (this.disabled()) {
|
|
5031
|
+
return;
|
|
5032
|
+
}
|
|
5033
|
+
this.checkService?.toggleChecked({ id: this.itemId(), labelText: this.labelText(), items: this.items() }, this.rootItems());
|
|
5034
|
+
}
|
|
5035
|
+
handleCheckboxKeydown(event) {
|
|
5036
|
+
if ([SPACE_KEY, ENTER_KEY].includes(event.key)) {
|
|
5037
|
+
event.preventDefault();
|
|
5038
|
+
this.handleCheckboxClick(event);
|
|
5039
|
+
}
|
|
5040
|
+
}
|
|
5041
|
+
handleActionIconClick(event) {
|
|
5042
|
+
event.stopPropagation();
|
|
5043
|
+
if (this.disabled()) {
|
|
5044
|
+
return;
|
|
5045
|
+
}
|
|
5046
|
+
this.actionIconClick.emit({ itemId: this.itemId(), event });
|
|
5047
|
+
}
|
|
5048
|
+
handleActionIconKeyDown(event) {
|
|
5049
|
+
if ([SPACE_KEY, ENTER_KEY].includes(event.key)) {
|
|
5050
|
+
event.preventDefault();
|
|
5051
|
+
event.stopPropagation();
|
|
5052
|
+
this.handleActionIconClick(event);
|
|
5053
|
+
}
|
|
5054
|
+
}
|
|
5055
|
+
handleActionMenuClick(menuEvent) {
|
|
5056
|
+
if (this.disabled()) {
|
|
5057
|
+
return;
|
|
5058
|
+
}
|
|
5059
|
+
const menuItemId = menuEvent.id;
|
|
5060
|
+
const menuItemLabel = menuEvent.item?.label ?? menuItemId;
|
|
5061
|
+
this.actionMenuClick.emit({
|
|
5062
|
+
itemId: this.itemId(),
|
|
5063
|
+
menuItemId,
|
|
5064
|
+
menuItemLabel,
|
|
5065
|
+
event: menuEvent.event,
|
|
5066
|
+
item: menuEvent.item,
|
|
5067
|
+
});
|
|
5068
|
+
}
|
|
5069
|
+
trackChild(child) {
|
|
5070
|
+
return getTreeviewItemKey(child);
|
|
5071
|
+
}
|
|
5072
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5073
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeviewItemComponent, isStandalone: true, selector: "li[rteTreeviewItem]", inputs: { treeId: { classPropertyName: "treeId", publicName: "treeId", isSignal: true, isRequired: true, transformFunction: null }, nodePath: { classPropertyName: "nodePath", publicName: "nodePath", isSignal: true, isRequired: false, transformFunction: null }, labelText: { classPropertyName: "labelText", publicName: "labelText", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, hasCheckbox: { classPropertyName: "hasCheckbox", publicName: "hasCheckbox", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, hasIcon: { classPropertyName: "hasIcon", publicName: "hasIcon", isSignal: true, isRequired: false, transformFunction: null }, hasBadge: { classPropertyName: "hasBadge", publicName: "hasBadge", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, rootItems: { classPropertyName: "rootItems", publicName: "rootItems", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: false, transformFunction: null }, isLastChild: { classPropertyName: "isLastChild", publicName: "isLastChild", isSignal: true, isRequired: false, transformFunction: null }, borderTypes: { classPropertyName: "borderTypes", publicName: "borderTypes", isSignal: true, isRequired: false, transformFunction: null }, actionIcon: { classPropertyName: "actionIcon", publicName: "actionIcon", isSignal: true, isRequired: false, transformFunction: null }, actionMenuItems: { classPropertyName: "actionMenuItems", publicName: "actionMenuItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", openChange: "openChange", actionIconClick: "actionIconClick", actionMenuClick: "actionMenuClick" }, host: { properties: { "class": "this.hostClasses", "attr.role": "this.role", "attr.data-item-id": "this.dataItemId", "attr.aria-level": "this.ariaLevel", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-selected": "this.ariaSelected" } }, ngImport: i0, template: "<div class=\"treeview-item-row\">\n @if (hasCheckbox()) {\n <div\n class=\"treeview-item-checkbox\"\n role=\"input\"\n data-treeview-focusable=\"checkbox\"\n tabindex=\"-1\"\n [attr.aria-checked]=\"isChecked() ? 'true' : isIndeterminate() ? 'mixed' : 'false'\"\n [attr.aria-label]=\"labelText()\"\n (click)=\"handleCheckboxClick($event)\"\n (keydown)=\"handleCheckboxKeydown($event)\"\n >\n <rte-checkbox\n [id]=\"checkboxId()\"\n [label]=\"labelText()\"\n [showLabel]=\"false\"\n [tabindex]=\"-1\"\n [disabled]=\"disabled()\"\n [checked]=\"isChecked()\"\n [indeterminate]=\"isIndeterminate()\"\n />\n </div>\n }\n <div class=\"treeview-item-borders-container\">\n @for (borderType of connectorBorderTypes(); track $index) {\n <rte-treeview-item-border [borderType]=\"borderType\" [isCompact]=\"isCompact()\" />\n }\n @if (hasChildren()) {\n <button\n type=\"button\"\n class=\"treeview-item-chevron\"\n data-treeview-focusable=\"chevron\"\n tabindex=\"-1\"\n [attr.aria-label]=\"isOpenSignal() ? 'Replier' : 'D\u00E9plier'\"\n [disabled]=\"disabled()\"\n (click)=\"toggleOpen(); $event.stopPropagation()\"\n (keydown)=\"handleChevronKeyDown($event)\"\n >\n <rte-icon [name]=\"isOpenSignal() ? 'arrow-chevron-down' : 'arrow-chevron-right'\" [size]=\"16\" />\n </button>\n }\n </div>\n <div class=\"treeview-item-content-wrapper\">\n <div class=\"treeview-item-main-content\" (keydown)=\"handleContentKeyDown($event)\" (click)=\"handleContentClick()\">\n @if (hasIcon() && icon() && !isCompact()) {\n <rte-icon class=\"treeview-item-icon\" [name]=\"icon()!\" [size]=\"16\" />\n }\n <div\n class=\"treeview-item-content\"\n data-treeview-focusable=\"content\"\n tabindex=\"-1\"\n [class.treeview-item-content-compact]=\"isCompact()\"\n >\n <span class=\"treeview-item-label\">{{ labelText() }}</span>\n </div>\n @if (hasBadge()) {\n <span class=\"treeview-item-badge\">\n <rte-badge badgeType=\"indicator\" badgeContent=\"empty\" badgeSize=\"s\" [simpleBadge]=\"true\" />\n </span>\n }\n @if (actionIcon()) {\n @if (actionMenuItems() && actionMenuItems()!.length > 0) {\n <div\n class=\"treeview-item-action\"\n rteDropdown\n (menuEvent)=\"handleActionMenuClick($event)\"\n (click)=\"$event.stopPropagation()\"\n >\n <button\n type=\"button\"\n class=\"treeview-item-action-button\"\n data-treeview-focusable=\"action\"\n tabindex=\"-1\"\n rteDropdownTrigger\n [attr.aria-label]=\"'Actions pour ' + labelText()\"\n [disabled]=\"disabled()\"\n >\n <rte-icon [name]=\"actionIcon()!\" [size]=\"16\" />\n </button>\n <rte-dropdown-menu [items]=\"actionMenuItems()!\" />\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"treeview-item-action-button\"\n data-treeview-focusable=\"action\"\n tabindex=\"-1\"\n [attr.aria-label]=\"'Actions pour ' + labelText()\"\n [disabled]=\"disabled()\"\n (click)=\"handleActionIconClick($event)\"\n (keydown)=\"handleActionIconKeyDown($event)\"\n >\n <rte-icon [name]=\"actionIcon()!\" [size]=\"16\" />\n </button>\n }\n }\n </div>\n </div>\n</div>\n@if (hasChildren()) {\n <ul class=\"treeview-item-children\" role=\"group\" [class.treeview-item-children-open]=\"isOpenSignal()\">\n @for (child of items(); track trackChild(child); let childIndex = $index) {\n <li\n rteTreeviewItem\n [rootItems]=\"rootItems()\"\n [treeId]=\"treeId()\"\n [nodePath]=\"nodePath().concat(childIndex)\"\n [id]=\"child.id\"\n [labelText]=\"child.labelText\"\n [icon]=\"child.icon\"\n [disabled]=\"child.disabled ?? false\"\n [isCompact]=\"child.isCompact ?? isCompact()\"\n [hasCheckbox]=\"child.hasCheckbox ?? hasCheckbox()\"\n [isOpen]=\"child.isOpen ?? false\"\n [hasIcon]=\"child.hasIcon ?? hasIcon()\"\n [hasBadge]=\"child.hasBadge ?? false\"\n [items]=\"child.items ?? []\"\n [actionIcon]=\"child.actionIcon\"\n [actionMenuItems]=\"child.actionMenuItems\"\n [depth]=\"effectiveDepth() + 1\"\n [isLastChild]=\"childIndex === items().length - 1\"\n [borderTypes]=\"getChildBorderTypes(childIndex === items().length - 1)\"\n (itemClick)=\"itemClick.emit($event)\"\n (openChange)=\"openChange.emit($event)\"\n (actionIconClick)=\"actionIconClick.emit($event)\"\n (actionMenuClick)=\"actionMenuClick.emit($event)\"\n ></li>\n }\n </ul>\n}\n", styles: [":host{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;min-height:32px}:host.root-depth:not(.has-children) .treeview-item-borders-container{padding-left:var(--treeview-root-indent, 0)}:host.compact{min-height:24px}:host.compact .treeview-item-row{min-height:24px}:host.compact .treeview-item-main-content{height:20px;padding:2px 4px}:host.compact .treeview-item-chevron{background:transparent}:host.compact .treeview-item-chevron:hover{background:transparent}:host.compact .treeview-item-chevron:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}:host.disabled .treeview-item-row{cursor:not-allowed;pointer-events:none}:host.disabled .treeview-item-main-content{background:var(--background-disabled)}:host.disabled .treeview-item-content,:host.disabled .treeview-item-icon{color:var(--content-disabled)}:host.selected>.treeview-item-row .treeview-item-main-content{background:var(--background-brand-default);color:var(--content-primary-inverse)}:host.selected>.treeview-item-row .treeview-item-content,:host.selected>.treeview-item-row .treeview-item-icon{color:var(--content-primary-inverse)}:host.selected>.treeview-item-row:hover .treeview-item-main-content{background:var(--background-brand-hover)}:host.is-expanded:not(.compact)>.treeview-item-row .treeview-item-chevron:after{content:\"\";position:absolute;bottom:0;left:50%;width:1px;height:8px;background:var(--border-tertiary);transform:translate(-50%) translateY(100%)}.treeview-item-row{display:flex;align-items:center;gap:4px;min-height:32px;border-radius:4px;cursor:pointer;box-sizing:border-box;flex:1;min-width:0}.treeview-item-row .treeview-item-main-content:hover{background:var(--background-hover)}.treeview-item-borders-container{display:flex;align-items:center;flex-shrink:0}.treeview-item-content-wrapper{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.treeview-item-main-content{flex:1;display:flex;align-items:center;gap:4px;min-width:0;padding:4px;border-radius:4px;transition:background-color .12s;box-sizing:border-box}@media (prefers-reduced-motion: reduce){.treeview-item-main-content{transition:none}}.treeview-item-main-content:focus-within:not(:has(.treeview-item-action-button:focus)){box-shadow:0 0 0 1px var(--border-brand-focused);border-radius:4px}.treeview-item-checkbox{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:16px;visibility:hidden;cursor:pointer;border-radius:2px}:host-context(.has-checked-items) .treeview-item-checkbox,.treeview-item-row:hover .treeview-item-checkbox,.treeview-item-row:focus-within .treeview-item-checkbox{visibility:visible}.treeview-item-checkbox:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}.treeview-item-checkbox ::ng-deep .rte-checkbox{margin:0}.treeview-item-checkbox ::ng-deep .rte-checkbox-container,.treeview-item-checkbox ::ng-deep .rte-checkbox-container *{pointer-events:none}.treeview-item-checkbox ::ng-deep .rte-checkbox-container{padding:0 4px;gap:0}.treeview-item-checkbox-spacer{flex-shrink:0;width:20px;min-width:20px}.treeview-item-chevron{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;min-width:16px;height:16px;padding:0;background:var(--background-neutral-regular-default);border:none;border-radius:2px;cursor:pointer;color:inherit;position:relative}.treeview-item-chevron:hover{background:var(--background-neutral-navigation-hover)}.treeview-item-chevron:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}.treeview-item-chevron-spacer{flex-shrink:0;width:16px;min-width:16px}.treeview-item-action{flex-shrink:0;display:flex;align-items:center;justify-content:center}.treeview-item-action-button{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;background:transparent;border:none;border-radius:2px;cursor:pointer;color:inherit;padding:0}.treeview-item-action-button:hover{background:transparent}.treeview-item-action-button:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}:host(.selected) .treeview-item-action-button:focus-visible{outline-color:var(--border-inverse)}.treeview-item-action-button:disabled{cursor:not-allowed;opacity:.5}.treeview-item-icon{flex-shrink:0}.treeview-item-content{flex:1;display:flex;align-items:center;gap:4px;min-width:0;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;color:var(--content-secondary)}.treeview-item-content:focus,.treeview-item-content:focus-visible{outline:none}.treeview-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.treeview-item-badge{flex-shrink:0;margin-left:auto}.treeview-item-children{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;overflow:hidden;max-height:0;transition:max-height .14s ease-out}@media (prefers-reduced-motion: reduce){.treeview-item-children{transition:none}}.treeview-item-children.treeview-item-children-open{max-height:2000px;overflow:visible}\n"], dependencies: [{ kind: "component", type: TreeviewItemComponent, selector: "li[rteTreeviewItem]", inputs: ["treeId", "nodePath", "labelText", "icon", "disabled", "isCompact", "hasCheckbox", "isOpen", "hasIcon", "hasBadge", "items", "rootItems", "id", "depth", "isLastChild", "borderTypes", "actionIcon", "actionMenuItems"], outputs: ["itemClick", "openChange", "actionIconClick", "actionMenuClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: CheckboxComponent, selector: "rte-checkbox", inputs: ["id", "label", "value", "indeterminate", "description", "showLabel", "disabled", "error", "errorMessage", "readOnly", "checked", "tabindex"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge", "withPlusSign"] }, { kind: "component", type: TreeviewItemBorderComponent, selector: "rte-treeview-item-border", inputs: ["borderType", "isCompact"] }, { kind: "directive", type: DropdownDirective, selector: "[rteDropdown]", inputs: ["rteDropdownId", "rteDropdownPosition", "rteDropdownAlignment", "rteDropdownIsOpen", "rteDropdownOffset", "rteDropdownAutofocus", "rteDropdownAutoOpen", "rteDropdownWidth", "rteCloseOnItemClick"], outputs: ["menuEvent", "clickedOutside", "closedDropdown", "menuChangeEvent"] }, { kind: "directive", type: DropdownTriggerDirective, selector: "[rteDropdownTrigger]", inputs: ["rteDropdownTriggerActivateWithArrowDown"], outputs: ["dropdownKeyDown", "dropdownTriggered", "dropdownTriggerFocus", "dropdownTriggerClearContent", "dropdownTriggerOpenDropdown", "dropdownTriggerCloseDropdown"] }, { kind: "component", type: DropdownMenuComponent, selector: "rte-dropdown-menu", inputs: ["items", "menuId", "isOpen", "width", "headerTemplate", "footerTemplate"], outputs: ["itemEvent", "closingMenu"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5074
|
+
}
|
|
5075
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewItemComponent, decorators: [{
|
|
5076
|
+
type: Component,
|
|
5077
|
+
args: [{ selector: "li[rteTreeviewItem]", imports: [
|
|
5078
|
+
CommonModule,
|
|
5079
|
+
CheckboxComponent,
|
|
5080
|
+
IconComponent,
|
|
5081
|
+
BadgeComponent,
|
|
5082
|
+
TreeviewItemBorderComponent,
|
|
5083
|
+
DropdownDirective,
|
|
5084
|
+
DropdownTriggerDirective,
|
|
5085
|
+
DropdownMenuComponent,
|
|
5086
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"treeview-item-row\">\n @if (hasCheckbox()) {\n <div\n class=\"treeview-item-checkbox\"\n role=\"input\"\n data-treeview-focusable=\"checkbox\"\n tabindex=\"-1\"\n [attr.aria-checked]=\"isChecked() ? 'true' : isIndeterminate() ? 'mixed' : 'false'\"\n [attr.aria-label]=\"labelText()\"\n (click)=\"handleCheckboxClick($event)\"\n (keydown)=\"handleCheckboxKeydown($event)\"\n >\n <rte-checkbox\n [id]=\"checkboxId()\"\n [label]=\"labelText()\"\n [showLabel]=\"false\"\n [tabindex]=\"-1\"\n [disabled]=\"disabled()\"\n [checked]=\"isChecked()\"\n [indeterminate]=\"isIndeterminate()\"\n />\n </div>\n }\n <div class=\"treeview-item-borders-container\">\n @for (borderType of connectorBorderTypes(); track $index) {\n <rte-treeview-item-border [borderType]=\"borderType\" [isCompact]=\"isCompact()\" />\n }\n @if (hasChildren()) {\n <button\n type=\"button\"\n class=\"treeview-item-chevron\"\n data-treeview-focusable=\"chevron\"\n tabindex=\"-1\"\n [attr.aria-label]=\"isOpenSignal() ? 'Replier' : 'D\u00E9plier'\"\n [disabled]=\"disabled()\"\n (click)=\"toggleOpen(); $event.stopPropagation()\"\n (keydown)=\"handleChevronKeyDown($event)\"\n >\n <rte-icon [name]=\"isOpenSignal() ? 'arrow-chevron-down' : 'arrow-chevron-right'\" [size]=\"16\" />\n </button>\n }\n </div>\n <div class=\"treeview-item-content-wrapper\">\n <div class=\"treeview-item-main-content\" (keydown)=\"handleContentKeyDown($event)\" (click)=\"handleContentClick()\">\n @if (hasIcon() && icon() && !isCompact()) {\n <rte-icon class=\"treeview-item-icon\" [name]=\"icon()!\" [size]=\"16\" />\n }\n <div\n class=\"treeview-item-content\"\n data-treeview-focusable=\"content\"\n tabindex=\"-1\"\n [class.treeview-item-content-compact]=\"isCompact()\"\n >\n <span class=\"treeview-item-label\">{{ labelText() }}</span>\n </div>\n @if (hasBadge()) {\n <span class=\"treeview-item-badge\">\n <rte-badge badgeType=\"indicator\" badgeContent=\"empty\" badgeSize=\"s\" [simpleBadge]=\"true\" />\n </span>\n }\n @if (actionIcon()) {\n @if (actionMenuItems() && actionMenuItems()!.length > 0) {\n <div\n class=\"treeview-item-action\"\n rteDropdown\n (menuEvent)=\"handleActionMenuClick($event)\"\n (click)=\"$event.stopPropagation()\"\n >\n <button\n type=\"button\"\n class=\"treeview-item-action-button\"\n data-treeview-focusable=\"action\"\n tabindex=\"-1\"\n rteDropdownTrigger\n [attr.aria-label]=\"'Actions pour ' + labelText()\"\n [disabled]=\"disabled()\"\n >\n <rte-icon [name]=\"actionIcon()!\" [size]=\"16\" />\n </button>\n <rte-dropdown-menu [items]=\"actionMenuItems()!\" />\n </div>\n } @else {\n <button\n type=\"button\"\n class=\"treeview-item-action-button\"\n data-treeview-focusable=\"action\"\n tabindex=\"-1\"\n [attr.aria-label]=\"'Actions pour ' + labelText()\"\n [disabled]=\"disabled()\"\n (click)=\"handleActionIconClick($event)\"\n (keydown)=\"handleActionIconKeyDown($event)\"\n >\n <rte-icon [name]=\"actionIcon()!\" [size]=\"16\" />\n </button>\n }\n }\n </div>\n </div>\n</div>\n@if (hasChildren()) {\n <ul class=\"treeview-item-children\" role=\"group\" [class.treeview-item-children-open]=\"isOpenSignal()\">\n @for (child of items(); track trackChild(child); let childIndex = $index) {\n <li\n rteTreeviewItem\n [rootItems]=\"rootItems()\"\n [treeId]=\"treeId()\"\n [nodePath]=\"nodePath().concat(childIndex)\"\n [id]=\"child.id\"\n [labelText]=\"child.labelText\"\n [icon]=\"child.icon\"\n [disabled]=\"child.disabled ?? false\"\n [isCompact]=\"child.isCompact ?? isCompact()\"\n [hasCheckbox]=\"child.hasCheckbox ?? hasCheckbox()\"\n [isOpen]=\"child.isOpen ?? false\"\n [hasIcon]=\"child.hasIcon ?? hasIcon()\"\n [hasBadge]=\"child.hasBadge ?? false\"\n [items]=\"child.items ?? []\"\n [actionIcon]=\"child.actionIcon\"\n [actionMenuItems]=\"child.actionMenuItems\"\n [depth]=\"effectiveDepth() + 1\"\n [isLastChild]=\"childIndex === items().length - 1\"\n [borderTypes]=\"getChildBorderTypes(childIndex === items().length - 1)\"\n (itemClick)=\"itemClick.emit($event)\"\n (openChange)=\"openChange.emit($event)\"\n (actionIconClick)=\"actionIconClick.emit($event)\"\n (actionMenuClick)=\"actionMenuClick.emit($event)\"\n ></li>\n }\n </ul>\n}\n", styles: [":host{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;min-height:32px}:host.root-depth:not(.has-children) .treeview-item-borders-container{padding-left:var(--treeview-root-indent, 0)}:host.compact{min-height:24px}:host.compact .treeview-item-row{min-height:24px}:host.compact .treeview-item-main-content{height:20px;padding:2px 4px}:host.compact .treeview-item-chevron{background:transparent}:host.compact .treeview-item-chevron:hover{background:transparent}:host.compact .treeview-item-chevron:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}:host.disabled .treeview-item-row{cursor:not-allowed;pointer-events:none}:host.disabled .treeview-item-main-content{background:var(--background-disabled)}:host.disabled .treeview-item-content,:host.disabled .treeview-item-icon{color:var(--content-disabled)}:host.selected>.treeview-item-row .treeview-item-main-content{background:var(--background-brand-default);color:var(--content-primary-inverse)}:host.selected>.treeview-item-row .treeview-item-content,:host.selected>.treeview-item-row .treeview-item-icon{color:var(--content-primary-inverse)}:host.selected>.treeview-item-row:hover .treeview-item-main-content{background:var(--background-brand-hover)}:host.is-expanded:not(.compact)>.treeview-item-row .treeview-item-chevron:after{content:\"\";position:absolute;bottom:0;left:50%;width:1px;height:8px;background:var(--border-tertiary);transform:translate(-50%) translateY(100%)}.treeview-item-row{display:flex;align-items:center;gap:4px;min-height:32px;border-radius:4px;cursor:pointer;box-sizing:border-box;flex:1;min-width:0}.treeview-item-row .treeview-item-main-content:hover{background:var(--background-hover)}.treeview-item-borders-container{display:flex;align-items:center;flex-shrink:0}.treeview-item-content-wrapper{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.treeview-item-main-content{flex:1;display:flex;align-items:center;gap:4px;min-width:0;padding:4px;border-radius:4px;transition:background-color .12s;box-sizing:border-box}@media (prefers-reduced-motion: reduce){.treeview-item-main-content{transition:none}}.treeview-item-main-content:focus-within:not(:has(.treeview-item-action-button:focus)){box-shadow:0 0 0 1px var(--border-brand-focused);border-radius:4px}.treeview-item-checkbox{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:16px;visibility:hidden;cursor:pointer;border-radius:2px}:host-context(.has-checked-items) .treeview-item-checkbox,.treeview-item-row:hover .treeview-item-checkbox,.treeview-item-row:focus-within .treeview-item-checkbox{visibility:visible}.treeview-item-checkbox:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}.treeview-item-checkbox ::ng-deep .rte-checkbox{margin:0}.treeview-item-checkbox ::ng-deep .rte-checkbox-container,.treeview-item-checkbox ::ng-deep .rte-checkbox-container *{pointer-events:none}.treeview-item-checkbox ::ng-deep .rte-checkbox-container{padding:0 4px;gap:0}.treeview-item-checkbox-spacer{flex-shrink:0;width:20px;min-width:20px}.treeview-item-chevron{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;min-width:16px;height:16px;padding:0;background:var(--background-neutral-regular-default);border:none;border-radius:2px;cursor:pointer;color:inherit;position:relative}.treeview-item-chevron:hover{background:var(--background-neutral-navigation-hover)}.treeview-item-chevron:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}.treeview-item-chevron-spacer{flex-shrink:0;width:16px;min-width:16px}.treeview-item-action{flex-shrink:0;display:flex;align-items:center;justify-content:center}.treeview-item-action-button{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;background:transparent;border:none;border-radius:2px;cursor:pointer;color:inherit;padding:0}.treeview-item-action-button:hover{background:transparent}.treeview-item-action-button:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:0}:host(.selected) .treeview-item-action-button:focus-visible{outline-color:var(--border-inverse)}.treeview-item-action-button:disabled{cursor:not-allowed;opacity:.5}.treeview-item-icon{flex-shrink:0}.treeview-item-content{flex:1;display:flex;align-items:center;gap:4px;min-width:0;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-size:14px;letter-spacing:-.5px;font-weight:600;line-height:20px;color:var(--content-secondary)}.treeview-item-content:focus,.treeview-item-content:focus-visible{outline:none}.treeview-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.treeview-item-badge{flex-shrink:0;margin-left:auto}.treeview-item-children{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;overflow:hidden;max-height:0;transition:max-height .14s ease-out}@media (prefers-reduced-motion: reduce){.treeview-item-children{transition:none}}.treeview-item-children.treeview-item-children-open{max-height:2000px;overflow:visible}\n"] }]
|
|
5087
|
+
}], ctorParameters: () => [], propDecorators: { hostClasses: [{
|
|
5088
|
+
type: HostBinding,
|
|
5089
|
+
args: ["class"]
|
|
5090
|
+
}], role: [{
|
|
5091
|
+
type: HostBinding,
|
|
5092
|
+
args: ["attr.role"]
|
|
5093
|
+
}], dataItemId: [{
|
|
5094
|
+
type: HostBinding,
|
|
5095
|
+
args: ["attr.data-item-id"]
|
|
5096
|
+
}], ariaLevel: [{
|
|
5097
|
+
type: HostBinding,
|
|
5098
|
+
args: ["attr.aria-level"]
|
|
5099
|
+
}], ariaExpanded: [{
|
|
5100
|
+
type: HostBinding,
|
|
5101
|
+
args: ["attr.aria-expanded"]
|
|
5102
|
+
}], ariaSelected: [{
|
|
5103
|
+
type: HostBinding,
|
|
5104
|
+
args: ["attr.aria-selected"]
|
|
5105
|
+
}] } });
|
|
5106
|
+
|
|
5107
|
+
class TreeviewKeyboardService {
|
|
5108
|
+
handleKeyDown(event, treeElement) {
|
|
5109
|
+
if (event.altKey || event.ctrlKey || event.metaKey) {
|
|
5110
|
+
return;
|
|
5111
|
+
}
|
|
5112
|
+
if (ARROW_KEYS.includes(event.key)) {
|
|
5113
|
+
this.handleArrowKey(treeElement, event);
|
|
5114
|
+
}
|
|
5115
|
+
}
|
|
5116
|
+
handleArrowKey(treeElement, event) {
|
|
5117
|
+
const target = event.target;
|
|
5118
|
+
if (!treeElement.contains(target)) {
|
|
5119
|
+
return;
|
|
5120
|
+
}
|
|
5121
|
+
if (!isTreeviewFocusable(target)) {
|
|
5122
|
+
return;
|
|
5123
|
+
}
|
|
5124
|
+
const rows = getVisibleFocusableRows(treeElement);
|
|
5125
|
+
if (rows.length === 0) {
|
|
5126
|
+
return;
|
|
5127
|
+
}
|
|
5128
|
+
const position = findFocusedPosition(rows, target);
|
|
5129
|
+
if (position.rowIndex === -1 || position.focusableIndex === -1) {
|
|
5130
|
+
return;
|
|
5131
|
+
}
|
|
5132
|
+
if ([ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) {
|
|
5133
|
+
const direction = event.key === ARROW_UP_KEY ? -1 : 1;
|
|
5134
|
+
const nextTarget = getNextFocusTarget(rows, position, direction, true);
|
|
5135
|
+
if (nextTarget) {
|
|
5136
|
+
const element = rows[nextTarget.rowIndex].focusables[nextTarget.focusableIndex];
|
|
5137
|
+
event.preventDefault();
|
|
5138
|
+
setMovingTabindex(treeElement, element);
|
|
5139
|
+
element.focus();
|
|
5140
|
+
}
|
|
5141
|
+
else {
|
|
5142
|
+
event.preventDefault();
|
|
5143
|
+
}
|
|
5144
|
+
return;
|
|
5145
|
+
}
|
|
5146
|
+
if ([ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)) {
|
|
5147
|
+
const direction = event.key === ARROW_LEFT_KEY ? -1 : 1;
|
|
5148
|
+
const nextTarget = getNextFocusTarget(rows, position, direction, false);
|
|
5149
|
+
if (nextTarget) {
|
|
5150
|
+
const element = rows[nextTarget.rowIndex].focusables[nextTarget.focusableIndex];
|
|
5151
|
+
event.preventDefault();
|
|
5152
|
+
setMovingTabindex(treeElement, element);
|
|
5153
|
+
element.focus();
|
|
5154
|
+
}
|
|
5155
|
+
else {
|
|
5156
|
+
event.preventDefault();
|
|
5157
|
+
}
|
|
5158
|
+
}
|
|
5159
|
+
}
|
|
5160
|
+
onFocusIn(treeElement, event) {
|
|
5161
|
+
const target = event.target;
|
|
5162
|
+
if (treeElement.contains(target) && isTreeviewFocusable(target)) {
|
|
5163
|
+
setMovingTabindex(treeElement, target);
|
|
5164
|
+
}
|
|
5165
|
+
}
|
|
5166
|
+
onFocusOut(treeElement, event) {
|
|
5167
|
+
const relatedTarget = event.relatedTarget;
|
|
5168
|
+
if (relatedTarget && treeElement.contains(relatedTarget)) {
|
|
5169
|
+
return;
|
|
5170
|
+
}
|
|
5171
|
+
resetMovingTabIndex(treeElement);
|
|
5172
|
+
}
|
|
5173
|
+
initialize(treeElement) {
|
|
5174
|
+
resetMovingTabIndex(treeElement);
|
|
5175
|
+
}
|
|
5176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewKeyboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5177
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewKeyboardService }); }
|
|
5178
|
+
}
|
|
5179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewKeyboardService, decorators: [{
|
|
5180
|
+
type: Injectable
|
|
5181
|
+
}] });
|
|
5182
|
+
|
|
5183
|
+
class TreeviewComponent {
|
|
5184
|
+
constructor() {
|
|
5185
|
+
this.treeRef = viewChild("treeRef");
|
|
5186
|
+
this.isCompact = input(false);
|
|
5187
|
+
this.hasCheckbox = input(false);
|
|
5188
|
+
this.items = input([]);
|
|
5189
|
+
this.selectedId = input(undefined);
|
|
5190
|
+
this.selectedPath = input(undefined);
|
|
5191
|
+
this.id = input("treeview");
|
|
5192
|
+
this.itemClick = output();
|
|
5193
|
+
this.openChange = output();
|
|
5194
|
+
this.actionIconClick = output();
|
|
5195
|
+
this.actionMenuClick = output();
|
|
5196
|
+
this.selectionChange = output();
|
|
5197
|
+
this.checkedIdsChange = output();
|
|
5198
|
+
this.selectionService = inject(TreeviewSelectionService);
|
|
5199
|
+
this.checkService = inject(TreeviewCheckService);
|
|
5200
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
5201
|
+
this.keyboardService = inject(TreeviewKeyboardService);
|
|
5202
|
+
this.destroyRef = inject(DestroyRef);
|
|
5203
|
+
this.hasCheckedItems = computed(() => this.hasCheckbox() && this.checkService.checkedIds().size > 0);
|
|
5204
|
+
this.hasNestedItems = computed(() => hasNestedItemsInTree(this.items()));
|
|
5205
|
+
effect(() => {
|
|
5206
|
+
const id = this.selectedId();
|
|
5207
|
+
this.selectionService.select(id);
|
|
5208
|
+
this.selectionChange.emit({ id, selected: true });
|
|
5209
|
+
}, { allowSignalWrites: true });
|
|
5210
|
+
effect(() => {
|
|
5211
|
+
const pathString = this.selectedPath();
|
|
5212
|
+
const currentItems = this.items();
|
|
5213
|
+
if (pathString != null && pathString !== "" && currentItems.length > 0) {
|
|
5214
|
+
this.selectionService.selectByNodePath(pathString, currentItems);
|
|
5215
|
+
}
|
|
5216
|
+
}, { allowSignalWrites: true });
|
|
5217
|
+
effect(() => {
|
|
5218
|
+
const ids = this.checkService.checkedIds();
|
|
5219
|
+
this.checkedIdsChange.emit(ids);
|
|
5220
|
+
this.cdr.markForCheck();
|
|
5221
|
+
}, { allowSignalWrites: true });
|
|
5222
|
+
effect(() => {
|
|
5223
|
+
this.checkService.setRootItems(this.items());
|
|
5224
|
+
}, { allowSignalWrites: true });
|
|
5225
|
+
}
|
|
5226
|
+
setupKeyboardListeners() {
|
|
5227
|
+
const treeElement = this.treeRef()?.nativeElement;
|
|
5228
|
+
if (!treeElement) {
|
|
5229
|
+
return;
|
|
5230
|
+
}
|
|
5231
|
+
this.keyboardService.initialize(treeElement);
|
|
5232
|
+
const handleKeyDown = (event) => {
|
|
5233
|
+
this.keyboardService.handleKeyDown(event, treeElement);
|
|
5234
|
+
};
|
|
5235
|
+
const handleFocusIn = (event) => {
|
|
5236
|
+
this.keyboardService.onFocusIn(treeElement, event);
|
|
5237
|
+
};
|
|
5238
|
+
const handleFocusOut = (event) => {
|
|
5239
|
+
this.keyboardService.onFocusOut(treeElement, event);
|
|
5240
|
+
};
|
|
5241
|
+
treeElement.addEventListener("keydown", handleKeyDown, true);
|
|
5242
|
+
treeElement.addEventListener("focusin", handleFocusIn);
|
|
5243
|
+
treeElement.addEventListener("focusout", handleFocusOut);
|
|
5244
|
+
this.destroyRef.onDestroy(() => {
|
|
5245
|
+
treeElement.removeEventListener("keydown", handleKeyDown, true);
|
|
5246
|
+
treeElement.removeEventListener("focusin", handleFocusIn);
|
|
5247
|
+
treeElement.removeEventListener("focusout", handleFocusOut);
|
|
5248
|
+
});
|
|
5249
|
+
}
|
|
5250
|
+
ngAfterViewInit() {
|
|
5251
|
+
this.setupKeyboardListeners();
|
|
5252
|
+
}
|
|
5253
|
+
itemTrack(item) {
|
|
5254
|
+
return item.id ?? item.labelText;
|
|
5255
|
+
}
|
|
5256
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5257
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TreeviewComponent, isStandalone: true, selector: "rte-treeview", inputs: { isCompact: { classPropertyName: "isCompact", publicName: "isCompact", isSignal: true, isRequired: false, transformFunction: null }, hasCheckbox: { classPropertyName: "hasCheckbox", publicName: "hasCheckbox", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectedId: { classPropertyName: "selectedId", publicName: "selectedId", isSignal: true, isRequired: false, transformFunction: null }, selectedPath: { classPropertyName: "selectedPath", publicName: "selectedPath", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick", openChange: "openChange", actionIconClick: "actionIconClick", actionMenuClick: "actionMenuClick", selectionChange: "selectionChange", checkedIdsChange: "checkedIdsChange" }, providers: [TreeviewSelectionService, TreeviewCheckService, TreeviewKeyboardService], viewQueries: [{ propertyName: "treeRef", first: true, predicate: ["treeRef"], descendants: true, isSignal: true }], ngImport: i0, template: "<ul\n #treeRef\n class=\"treeview\"\n role=\"tree\"\n [class.compact]=\"isCompact()\"\n [class.has-checked-items]=\"hasCheckedItems()\"\n [class.has-nested-items]=\"hasNestedItems()\"\n>\n @for (item of items(); track itemTrack(item); let itemIndex = $index) {\n <li\n rteTreeviewItem\n [rootItems]=\"items()\"\n [treeId]=\"id()\"\n [nodePath]=\"[itemIndex]\"\n [id]=\"item.id\"\n [labelText]=\"item.labelText\"\n [icon]=\"item.icon\"\n [disabled]=\"item.disabled ?? false\"\n [isCompact]=\"item.isCompact ?? isCompact()\"\n [hasCheckbox]=\"item.hasCheckbox ?? hasCheckbox()\"\n [isOpen]=\"item.isOpen ?? false\"\n [hasIcon]=\"item.hasIcon ?? false\"\n [hasBadge]=\"item.hasBadge ?? false\"\n [items]=\"item.items ?? []\"\n [actionIcon]=\"item.actionIcon\"\n [actionMenuItems]=\"item.actionMenuItems\"\n [isLastChild]=\"itemIndex === items().length - 1\"\n (itemClick)=\"itemClick.emit($event)\"\n (openChange)=\"openChange.emit($event)\"\n (actionIconClick)=\"actionIconClick.emit($event)\"\n (actionMenuClick)=\"actionMenuClick.emit($event)\"\n ></li>\n }\n</ul>\n", styles: [".treeview{display:flex;flex-direction:column;margin:0;padding:0 2px}.treeview.has-nested-items{--treeview-root-indent: 16px}.treeview>li[rteTreeviewItem]:not(:first-child){padding-top:8px}.treeview.compact>li[rteTreeviewItem]:not(:first-child){padding-top:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: TreeviewItemComponent, selector: "li[rteTreeviewItem]", inputs: ["treeId", "nodePath", "labelText", "icon", "disabled", "isCompact", "hasCheckbox", "isOpen", "hasIcon", "hasBadge", "items", "rootItems", "id", "depth", "isLastChild", "borderTypes", "actionIcon", "actionMenuItems"], outputs: ["itemClick", "openChange", "actionIconClick", "actionMenuClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5258
|
+
}
|
|
5259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TreeviewComponent, decorators: [{
|
|
5260
|
+
type: Component,
|
|
5261
|
+
args: [{ selector: "rte-treeview", imports: [CommonModule, TreeviewItemComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [TreeviewSelectionService, TreeviewCheckService, TreeviewKeyboardService], template: "<ul\n #treeRef\n class=\"treeview\"\n role=\"tree\"\n [class.compact]=\"isCompact()\"\n [class.has-checked-items]=\"hasCheckedItems()\"\n [class.has-nested-items]=\"hasNestedItems()\"\n>\n @for (item of items(); track itemTrack(item); let itemIndex = $index) {\n <li\n rteTreeviewItem\n [rootItems]=\"items()\"\n [treeId]=\"id()\"\n [nodePath]=\"[itemIndex]\"\n [id]=\"item.id\"\n [labelText]=\"item.labelText\"\n [icon]=\"item.icon\"\n [disabled]=\"item.disabled ?? false\"\n [isCompact]=\"item.isCompact ?? isCompact()\"\n [hasCheckbox]=\"item.hasCheckbox ?? hasCheckbox()\"\n [isOpen]=\"item.isOpen ?? false\"\n [hasIcon]=\"item.hasIcon ?? false\"\n [hasBadge]=\"item.hasBadge ?? false\"\n [items]=\"item.items ?? []\"\n [actionIcon]=\"item.actionIcon\"\n [actionMenuItems]=\"item.actionMenuItems\"\n [isLastChild]=\"itemIndex === items().length - 1\"\n (itemClick)=\"itemClick.emit($event)\"\n (openChange)=\"openChange.emit($event)\"\n (actionIconClick)=\"actionIconClick.emit($event)\"\n (actionMenuClick)=\"actionMenuClick.emit($event)\"\n ></li>\n }\n</ul>\n", styles: [".treeview{display:flex;flex-direction:column;margin:0;padding:0 2px}.treeview.has-nested-items{--treeview-root-indent: 16px}.treeview>li[rteTreeviewItem]:not(:first-child){padding-top:8px}.treeview.compact>li[rteTreeviewItem]:not(:first-child){padding-top:4px}\n"] }]
|
|
5262
|
+
}], ctorParameters: () => [] });
|
|
5263
|
+
|
|
5264
|
+
class StatusComponent {
|
|
5265
|
+
constructor() {
|
|
5266
|
+
this.status = input();
|
|
5267
|
+
this.size = input();
|
|
5268
|
+
}
|
|
5269
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5270
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StatusComponent, isStandalone: true, selector: "rte-status", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"rte-avatar-status\"\n [style]=\"{\n width: size() + 'px',\n height: size() + 'px',\n }\"\n>\n @switch (status()) {\n @case (\"available\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM20.4629 8C20.1963 8.00003 19.9627 8.09983 19.7627 8.2998L11.2881 16.7754L7.73828 13.2002C7.53828 13.0002 7.30039 12.9004 7.02539 12.9004C6.7505 12.9004 6.51342 13.0003 6.31348 13.2002C6.11357 13.4001 6.0094 13.6373 6.00098 13.9121C5.99264 14.1871 6.08809 14.425 6.28809 14.625L10.5879 18.9248C10.7879 19.1248 11.0214 19.2246 11.2881 19.2246C11.5547 19.2246 11.7883 19.1248 11.9883 18.9248L21.1631 9.72461C21.3629 9.52471 21.4628 9.2875 21.4629 9.0127C21.4629 8.7377 21.3631 8.4998 21.1631 8.2998C20.9631 8.09984 20.7295 8 20.4629 8Z\"\n fill=\"#0B8A4D\"\n />\n </svg>\n }\n\n @case (\"away\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 6C16.2167 6 18.1038 6.77956 19.6621 8.33789C21.2204 9.89622 22 11.7833 22 14C22 16.2167 21.2204 18.1038 19.6621 19.6621C18.1038 21.2204 16.2167 22 14 22C11.7833 22 9.89622 21.2204 8.33789 19.6621C6.77956 18.1038 6 16.2167 6 14C6 11.7833 6.77956 9.89622 8.33789 8.33789C9.89622 6.77956 11.7833 6 14 6ZM14 9C13.7167 9 13.4788 9.09544 13.2871 9.28711C13.0954 9.47878 13 9.71667 13 10V13.9746C13 14.1079 13.0252 14.2373 13.0752 14.3623C13.1252 14.4873 13.1998 14.6002 13.2998 14.7002L16.5996 18C16.7829 18.1833 17.0166 18.2753 17.2998 18.2754C17.5831 18.2754 17.8167 18.1833 18 18C18.1833 17.8167 18.2754 17.5831 18.2754 17.2998C18.2753 17.0166 18.1833 16.7829 18 16.5996L15 13.5996V10C15 9.71667 14.9046 9.47878 14.7129 9.28711C14.5212 9.09544 14.2833 9 14 9Z\"\n fill=\"#ED6E13\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM14 4C12.6167 4 11.3163 4.26211 10.0996 4.78711C8.88302 5.3121 7.82476 6.02485 6.9248 6.9248C6.02485 7.82476 5.3121 8.88302 4.78711 10.0996C4.26211 11.3163 4 12.6167 4 14C4 15.3833 4.26211 16.6837 4.78711 17.9004C5.3121 19.117 6.02485 20.1752 6.9248 21.0752C7.82476 21.9751 8.88302 22.6879 10.0996 23.2129C11.3163 23.7379 12.6167 24 14 24C15.3833 24 16.6837 23.7379 17.9004 23.2129C19.117 22.6879 20.1752 21.9751 21.0752 21.0752C21.9751 20.1752 22.6879 19.117 23.2129 17.9004C23.7379 16.6837 24 15.3833 24 14C24 12.6167 23.7379 11.3163 23.2129 10.0996C22.6879 8.88302 21.9751 7.82476 21.0752 6.9248C20.1752 6.02485 19.117 5.3121 17.9004 4.78711C16.6837 4.26211 15.3833 4 14 4Z\"\n fill=\"#ED6E13\"\n />\n </svg>\n }\n\n @case (\"busy\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0Z\"\n fill=\"#DE2048\"\n />\n </svg>\n }\n\n @case (\"offline\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n d=\"M17.5996 9.4248C17.8829 9.4248 18.1165 9.51686 18.2998 9.7002C18.4831 9.88353 18.5752 10.1171 18.5752 10.4004C18.5751 10.6835 18.483 10.9164 18.2998 11.0996L15.4004 14L18.2998 16.9004C18.483 17.0836 18.5751 17.3165 18.5752 17.5996C18.5752 17.8829 18.4831 18.1165 18.2998 18.2998C18.1165 18.4831 17.8829 18.5752 17.5996 18.5752C17.3165 18.5751 17.0836 18.483 16.9004 18.2998L14 15.4004L11.0996 18.2998C10.9164 18.483 10.6835 18.5751 10.4004 18.5752C10.1171 18.5752 9.88353 18.4831 9.7002 18.2998C9.51686 18.1165 9.4248 17.8829 9.4248 17.5996C9.42489 17.3165 9.51701 17.0836 9.7002 16.9004L12.5996 14L9.7002 11.0996C9.51701 10.9164 9.42489 10.6835 9.4248 10.4004C9.4248 10.1171 9.51686 9.88353 9.7002 9.7002C9.88353 9.51686 10.1171 9.4248 10.4004 9.4248C10.6835 9.42489 10.9164 9.51701 11.0996 9.7002L14 12.5996L16.9004 9.7002C17.0836 9.51701 17.3165 9.42489 17.5996 9.4248Z\"\n fill=\"#737272\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM14 4C12.6167 4 11.3163 4.26211 10.0996 4.78711C8.88302 5.3121 7.82476 6.02485 6.9248 6.9248C6.02485 7.82476 5.3121 8.88302 4.78711 10.0996C4.26211 11.3163 4 12.6167 4 14C4 15.3833 4.26211 16.6837 4.78711 17.9004C5.3121 19.117 6.02485 20.1752 6.9248 21.0752C7.82476 21.9751 8.88302 22.6879 10.0996 23.2129C11.3163 23.7379 12.6167 24 14 24C15.3833 24 16.6837 23.7379 17.9004 23.2129C19.117 22.6879 20.1752 21.9751 21.0752 21.0752C21.9751 20.1752 22.6879 19.117 23.2129 17.9004C23.7379 16.6837 24 15.3833 24 14C24 12.6167 23.7379 11.3163 23.2129 10.0996C22.6879 8.88302 21.9751 7.82476 21.0752 6.9248C20.1752 6.02485 19.117 5.3121 17.9004 4.78711C16.6837 4.26211 15.3833 4 14 4Z\"\n fill=\"#737272\"\n />\n </svg>\n }\n\n @case (\"unknown\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM13.9922 19C13.4422 19 12.9708 19.1962 12.5791 19.5879C12.1877 19.9795 11.9922 20.4502 11.9922 21C11.9922 21.5498 12.1877 22.0205 12.5791 22.4121C12.9708 22.8038 13.4422 23 13.9922 23C14.5421 23 15.0127 22.8037 15.4043 22.4121C15.7959 22.0205 15.9922 21.55 15.9922 21C15.9922 20.45 15.7959 19.9795 15.4043 19.5879C15.0127 19.1963 14.5421 19 13.9922 19ZM13.9922 4C13.0089 4 12.1043 4.22044 11.2793 4.66211C10.4543 5.10378 9.77552 5.72539 9.24219 6.52539C9.05897 6.80862 8.97993 7.10827 9.00488 7.4248C9.02987 7.74129 9.15853 8.00801 9.3916 8.22461C9.72483 8.52451 10.121 8.64609 10.5791 8.58789C11.0374 8.52956 11.4003 8.30814 11.667 7.9248C11.9503 7.52487 12.2881 7.22101 12.6797 7.0127C13.0713 6.80439 13.5089 6.7002 13.9922 6.7002C14.7754 6.70023 15.4049 6.91631 15.8799 7.34961C16.3549 7.78294 16.5918 8.35854 16.5918 9.0752C16.5918 9.55831 16.4545 10.0039 16.1797 10.4121C15.9047 10.8204 15.3422 11.4004 14.4922 12.1504C13.8257 12.7502 13.3507 13.3208 13.0674 13.8623C12.784 14.404 12.6416 15.0004 12.6416 15.6504C12.6417 16.0336 12.7798 16.3541 13.0547 16.6123C13.3297 16.8706 13.6587 17 14.042 17C14.4253 17 14.7543 16.8663 15.0293 16.5996C15.3042 16.333 15.4753 15.9996 15.542 15.5996C15.6087 15.1831 15.7502 14.8122 15.9668 14.4873C16.1835 14.1623 16.6002 13.7083 17.2168 13.125C18.0668 12.3084 18.6501 11.6 18.9668 11C19.2835 10.4 19.4424 9.72461 19.4424 8.97461C19.4423 7.49151 18.9379 6.29157 17.9297 5.375C16.9214 4.45837 15.6088 4.00004 13.9922 4Z\"\n fill=\"#737272\"\n />\n </svg>\n }\n }\n</div>\n", styles: [".rte-avatar-status{display:flex;position:absolute;bottom:0;right:0;border-radius:50%}\n"] }); }
|
|
5271
|
+
}
|
|
5272
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StatusComponent, decorators: [{
|
|
5273
|
+
type: Component,
|
|
5274
|
+
args: [{ selector: "rte-status", standalone: true, template: "<div\n class=\"rte-avatar-status\"\n [style]=\"{\n width: size() + 'px',\n height: size() + 'px',\n }\"\n>\n @switch (status()) {\n @case (\"available\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM20.4629 8C20.1963 8.00003 19.9627 8.09983 19.7627 8.2998L11.2881 16.7754L7.73828 13.2002C7.53828 13.0002 7.30039 12.9004 7.02539 12.9004C6.7505 12.9004 6.51342 13.0003 6.31348 13.2002C6.11357 13.4001 6.0094 13.6373 6.00098 13.9121C5.99264 14.1871 6.08809 14.425 6.28809 14.625L10.5879 18.9248C10.7879 19.1248 11.0214 19.2246 11.2881 19.2246C11.5547 19.2246 11.7883 19.1248 11.9883 18.9248L21.1631 9.72461C21.3629 9.52471 21.4628 9.2875 21.4629 9.0127C21.4629 8.7377 21.3631 8.4998 21.1631 8.2998C20.9631 8.09984 20.7295 8 20.4629 8Z\"\n fill=\"#0B8A4D\"\n />\n </svg>\n }\n\n @case (\"away\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 6C16.2167 6 18.1038 6.77956 19.6621 8.33789C21.2204 9.89622 22 11.7833 22 14C22 16.2167 21.2204 18.1038 19.6621 19.6621C18.1038 21.2204 16.2167 22 14 22C11.7833 22 9.89622 21.2204 8.33789 19.6621C6.77956 18.1038 6 16.2167 6 14C6 11.7833 6.77956 9.89622 8.33789 8.33789C9.89622 6.77956 11.7833 6 14 6ZM14 9C13.7167 9 13.4788 9.09544 13.2871 9.28711C13.0954 9.47878 13 9.71667 13 10V13.9746C13 14.1079 13.0252 14.2373 13.0752 14.3623C13.1252 14.4873 13.1998 14.6002 13.2998 14.7002L16.5996 18C16.7829 18.1833 17.0166 18.2753 17.2998 18.2754C17.5831 18.2754 17.8167 18.1833 18 18C18.1833 17.8167 18.2754 17.5831 18.2754 17.2998C18.2753 17.0166 18.1833 16.7829 18 16.5996L15 13.5996V10C15 9.71667 14.9046 9.47878 14.7129 9.28711C14.5212 9.09544 14.2833 9 14 9Z\"\n fill=\"#ED6E13\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM14 4C12.6167 4 11.3163 4.26211 10.0996 4.78711C8.88302 5.3121 7.82476 6.02485 6.9248 6.9248C6.02485 7.82476 5.3121 8.88302 4.78711 10.0996C4.26211 11.3163 4 12.6167 4 14C4 15.3833 4.26211 16.6837 4.78711 17.9004C5.3121 19.117 6.02485 20.1752 6.9248 21.0752C7.82476 21.9751 8.88302 22.6879 10.0996 23.2129C11.3163 23.7379 12.6167 24 14 24C15.3833 24 16.6837 23.7379 17.9004 23.2129C19.117 22.6879 20.1752 21.9751 21.0752 21.0752C21.9751 20.1752 22.6879 19.117 23.2129 17.9004C23.7379 16.6837 24 15.3833 24 14C24 12.6167 23.7379 11.3163 23.2129 10.0996C22.6879 8.88302 21.9751 7.82476 21.0752 6.9248C20.1752 6.02485 19.117 5.3121 17.9004 4.78711C16.6837 4.26211 15.3833 4 14 4Z\"\n fill=\"#ED6E13\"\n />\n </svg>\n }\n\n @case (\"busy\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0Z\"\n fill=\"#DE2048\"\n />\n </svg>\n }\n\n @case (\"offline\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n d=\"M17.5996 9.4248C17.8829 9.4248 18.1165 9.51686 18.2998 9.7002C18.4831 9.88353 18.5752 10.1171 18.5752 10.4004C18.5751 10.6835 18.483 10.9164 18.2998 11.0996L15.4004 14L18.2998 16.9004C18.483 17.0836 18.5751 17.3165 18.5752 17.5996C18.5752 17.8829 18.4831 18.1165 18.2998 18.2998C18.1165 18.4831 17.8829 18.5752 17.5996 18.5752C17.3165 18.5751 17.0836 18.483 16.9004 18.2998L14 15.4004L11.0996 18.2998C10.9164 18.483 10.6835 18.5751 10.4004 18.5752C10.1171 18.5752 9.88353 18.4831 9.7002 18.2998C9.51686 18.1165 9.4248 17.8829 9.4248 17.5996C9.42489 17.3165 9.51701 17.0836 9.7002 16.9004L12.5996 14L9.7002 11.0996C9.51701 10.9164 9.42489 10.6835 9.4248 10.4004C9.4248 10.1171 9.51686 9.88353 9.7002 9.7002C9.88353 9.51686 10.1171 9.4248 10.4004 9.4248C10.6835 9.42489 10.9164 9.51701 11.0996 9.7002L14 12.5996L16.9004 9.7002C17.0836 9.51701 17.3165 9.42489 17.5996 9.4248Z\"\n fill=\"#737272\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM14 4C12.6167 4 11.3163 4.26211 10.0996 4.78711C8.88302 5.3121 7.82476 6.02485 6.9248 6.9248C6.02485 7.82476 5.3121 8.88302 4.78711 10.0996C4.26211 11.3163 4 12.6167 4 14C4 15.3833 4.26211 16.6837 4.78711 17.9004C5.3121 19.117 6.02485 20.1752 6.9248 21.0752C7.82476 21.9751 8.88302 22.6879 10.0996 23.2129C11.3163 23.7379 12.6167 24 14 24C15.3833 24 16.6837 23.7379 17.9004 23.2129C19.117 22.6879 20.1752 21.9751 21.0752 21.0752C21.9751 20.1752 22.6879 19.117 23.2129 17.9004C23.7379 16.6837 24 15.3833 24 14C24 12.6167 23.7379 11.3163 23.2129 10.0996C22.6879 8.88302 21.9751 7.82476 21.0752 6.9248C20.1752 6.02485 19.117 5.3121 17.9004 4.78711C16.6837 4.26211 15.3833 4 14 4Z\"\n fill=\"#737272\"\n />\n </svg>\n }\n\n @case (\"unknown\") {\n <svg viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14Z\"\n fill=\"white\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0ZM13.9922 19C13.4422 19 12.9708 19.1962 12.5791 19.5879C12.1877 19.9795 11.9922 20.4502 11.9922 21C11.9922 21.5498 12.1877 22.0205 12.5791 22.4121C12.9708 22.8038 13.4422 23 13.9922 23C14.5421 23 15.0127 22.8037 15.4043 22.4121C15.7959 22.0205 15.9922 21.55 15.9922 21C15.9922 20.45 15.7959 19.9795 15.4043 19.5879C15.0127 19.1963 14.5421 19 13.9922 19ZM13.9922 4C13.0089 4 12.1043 4.22044 11.2793 4.66211C10.4543 5.10378 9.77552 5.72539 9.24219 6.52539C9.05897 6.80862 8.97993 7.10827 9.00488 7.4248C9.02987 7.74129 9.15853 8.00801 9.3916 8.22461C9.72483 8.52451 10.121 8.64609 10.5791 8.58789C11.0374 8.52956 11.4003 8.30814 11.667 7.9248C11.9503 7.52487 12.2881 7.22101 12.6797 7.0127C13.0713 6.80439 13.5089 6.7002 13.9922 6.7002C14.7754 6.70023 15.4049 6.91631 15.8799 7.34961C16.3549 7.78294 16.5918 8.35854 16.5918 9.0752C16.5918 9.55831 16.4545 10.0039 16.1797 10.4121C15.9047 10.8204 15.3422 11.4004 14.4922 12.1504C13.8257 12.7502 13.3507 13.3208 13.0674 13.8623C12.784 14.404 12.6416 15.0004 12.6416 15.6504C12.6417 16.0336 12.7798 16.3541 13.0547 16.6123C13.3297 16.8706 13.6587 17 14.042 17C14.4253 17 14.7543 16.8663 15.0293 16.5996C15.3042 16.333 15.4753 15.9996 15.542 15.5996C15.6087 15.1831 15.7502 14.8122 15.9668 14.4873C16.1835 14.1623 16.6002 13.7083 17.2168 13.125C18.0668 12.3084 18.6501 11.6 18.9668 11C19.2835 10.4 19.4424 9.72461 19.4424 8.97461C19.4423 7.49151 18.9379 6.29157 17.9297 5.375C16.9214 4.45837 15.6088 4.00004 13.9922 4Z\"\n fill=\"#737272\"\n />\n </svg>\n }\n }\n</div>\n", styles: [".rte-avatar-status{display:flex;position:absolute;bottom:0;right:0;border-radius:50%}\n"] }]
|
|
5275
|
+
}] });
|
|
5276
|
+
|
|
5277
|
+
class AvatarComponent {
|
|
5278
|
+
constructor() {
|
|
5279
|
+
this.size = input(32);
|
|
5280
|
+
this.type = input("user");
|
|
5281
|
+
this.imgSrc = input();
|
|
5282
|
+
this.alt = input("Avatar");
|
|
5283
|
+
this.status = input();
|
|
5284
|
+
this.layout = input("initials");
|
|
5285
|
+
this.initials = input();
|
|
5286
|
+
this.colorType = input("neutral");
|
|
5287
|
+
this.decorativeColor = input();
|
|
5288
|
+
this.isInteractive = input(false);
|
|
5289
|
+
this.avatarClick = output();
|
|
5290
|
+
this.backgroundColor = computed(() => {
|
|
5291
|
+
return computeBackgroundColor(this.layout(), this.colorType(), this.decorativeColor());
|
|
5292
|
+
});
|
|
5293
|
+
this.maskImage = computed(() => {
|
|
5294
|
+
return computeMaskImage(this.size(), !!this.status());
|
|
5295
|
+
});
|
|
5296
|
+
this.iconSize = computed(() => {
|
|
5297
|
+
return IconSizeMap[this.size()] || IconSizeMap[32];
|
|
5298
|
+
});
|
|
5299
|
+
this.statusIndicatorSize = computed(() => {
|
|
5300
|
+
return StatusIndicatorSizeMap[this.size()] || StatusIndicatorSizeMap[32];
|
|
5301
|
+
});
|
|
5302
|
+
this.isValidAvatar = computed(() => {
|
|
5303
|
+
return ((this.layout() === "initials" && !!this.initials() && this.initials().length <= 2) ||
|
|
5304
|
+
(this.layout() === "image" && this.imgSrc()) ||
|
|
5305
|
+
this.layout() === "icon");
|
|
5306
|
+
});
|
|
5307
|
+
}
|
|
5308
|
+
handleClick(e) {
|
|
5309
|
+
if (this.isInteractive()) {
|
|
5310
|
+
this.avatarClick.emit(e);
|
|
5311
|
+
}
|
|
5312
|
+
}
|
|
5313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5314
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AvatarComponent, isStandalone: true, selector: "rte-avatar", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, imgSrc: { classPropertyName: "imgSrc", publicName: "imgSrc", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, initials: { classPropertyName: "initials", publicName: "initials", isSignal: true, isRequired: false, transformFunction: null }, colorType: { classPropertyName: "colorType", publicName: "colorType", isSignal: true, isRequired: false, transformFunction: null }, decorativeColor: { classPropertyName: "decorativeColor", publicName: "decorativeColor", isSignal: true, isRequired: false, transformFunction: null }, isInteractive: { classPropertyName: "isInteractive", publicName: "isInteractive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { avatarClick: "avatarClick" }, ngImport: i0, template: "@if (isInteractive()) {\n <button\n class=\"rte-avatar__button rte-avatar__container\"\n aria-label=\"Avatar button\"\n [attr.data-avatar-type]=\"type()\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"baseAvatar\"></ng-container>\n </button>\n} @else {\n <div class=\"rte-avatar__container\">\n <ng-container *ngTemplateOutlet=\"baseAvatar\"></ng-container>\n </div>\n}\n\n<ng-template #baseAvatar>\n <div *ngIf=\"isValidAvatar()\" [style.width]=\"size() + 'px'\" [style.height]=\"size() + 'px'\">\n <div\n class=\"rte-avatar\"\n [attr.data-size]=\"size()\"\n [attr.data-avatar-type]=\"type()\"\n [attr.data-color]=\"colorType()\"\n [style.background-color]=\"backgroundColor()\"\n [style.maskImage]=\"maskImage()\"\n >\n @if (layout() === \"initials\") {\n <span class=\"rte-avatar__initials\" [attr.data-size]=\"size()\">{{ initials() }}</span>\n }\n @if (layout() === \"icon\") {\n <rte-icon [name]=\"type() === 'user' ? 'user' : 'company'\" [size]=\"iconSize()\"></rte-icon>\n }\n @if (layout() === \"image\") {\n <img class=\"rte-avatar__image\" [src]=\"imgSrc()\" [alt]=\"alt()\" />\n }\n </div>\n @if (status()) {\n <rte-status [status]=\"status()\" [size]=\"statusIndicatorSize()\"></rte-status>\n }\n </div>\n</ng-template>\n", styles: [".rte-avatar__button{background:none;border:none;padding:0;cursor:pointer;border-radius:999px}.rte-avatar__button[data-avatar-type=entity]{border-radius:0}.rte-avatar__button:focus-visible{outline:2px solid var(--border-brand-focused);outline-offset:4px}.rte-avatar__container{position:relative;display:block}.rte-avatar{position:relative;width:100%;height:100%;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--content-tertiary)}.rte-avatar[data-color=decorative]{color:var(--content-secondary)}.rte-avatar[data-avatar-type=entity]{border-radius:4px}.rte-avatar[data-avatar-type=entity][data-size=\"48\"],.rte-avatar[data-avatar-type=entity][data-size=\"56\"],.rte-avatar[data-avatar-type=entity][data-size=\"64\"],.rte-avatar[data-avatar-type=entity][data-size=\"72\"]{border-radius:8px}.rte-avatar[data-avatar-type=entity][data-size=\"96\"],.rte-avatar[data-avatar-type=entity][data-size=\"120\"]{border-radius:12px}.rte-avatar[data-color=brand]{background-color:var(--background-brand-default);color:var(--content-primary-inverse)}.rte-avatar .rte-avatar__image{width:100%;height:100%;object-fit:cover;border-radius:inherit}.rte-avatar .rte-avatar__initials{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:14px;line-height:20px;letter-spacing:0px}.rte-avatar .rte-avatar__initials[data-size=\"24\"]{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}.rte-avatar .rte-avatar__initials[data-size=\"36\"],.rte-avatar .rte-avatar__initials[data-size=\"40\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px}.rte-avatar .rte-avatar__initials[data-size=\"48\"]{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}.rte-avatar .rte-avatar__initials[data-size=\"56\"]{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}.rte-avatar .rte-avatar__initials[data-size=\"64\"],.rte-avatar .rte-avatar__initials[data-size=\"72\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:32px;line-height:40px;letter-spacing:-1px}.rte-avatar .rte-avatar__initials[data-size=\"96\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:40px;line-height:48px;letter-spacing:-1px}.rte-avatar .rte-avatar__initials[data-size=\"120\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:48px;line-height:56px;letter-spacing:-1px}.rte-avatar__status-indicator{position:absolute;bottom:0;right:0;border-radius:50%;z-index:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: StatusComponent, selector: "rte-status", inputs: ["status", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5315
|
+
}
|
|
5316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
5317
|
+
type: Component,
|
|
5318
|
+
args: [{ selector: "rte-avatar", imports: [CommonModule, IconComponent, StatusComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isInteractive()) {\n <button\n class=\"rte-avatar__button rte-avatar__container\"\n aria-label=\"Avatar button\"\n [attr.data-avatar-type]=\"type()\"\n (click)=\"handleClick($event)\"\n >\n <ng-container *ngTemplateOutlet=\"baseAvatar\"></ng-container>\n </button>\n} @else {\n <div class=\"rte-avatar__container\">\n <ng-container *ngTemplateOutlet=\"baseAvatar\"></ng-container>\n </div>\n}\n\n<ng-template #baseAvatar>\n <div *ngIf=\"isValidAvatar()\" [style.width]=\"size() + 'px'\" [style.height]=\"size() + 'px'\">\n <div\n class=\"rte-avatar\"\n [attr.data-size]=\"size()\"\n [attr.data-avatar-type]=\"type()\"\n [attr.data-color]=\"colorType()\"\n [style.background-color]=\"backgroundColor()\"\n [style.maskImage]=\"maskImage()\"\n >\n @if (layout() === \"initials\") {\n <span class=\"rte-avatar__initials\" [attr.data-size]=\"size()\">{{ initials() }}</span>\n }\n @if (layout() === \"icon\") {\n <rte-icon [name]=\"type() === 'user' ? 'user' : 'company'\" [size]=\"iconSize()\"></rte-icon>\n }\n @if (layout() === \"image\") {\n <img class=\"rte-avatar__image\" [src]=\"imgSrc()\" [alt]=\"alt()\" />\n }\n </div>\n @if (status()) {\n <rte-status [status]=\"status()\" [size]=\"statusIndicatorSize()\"></rte-status>\n }\n </div>\n</ng-template>\n", styles: [".rte-avatar__button{background:none;border:none;padding:0;cursor:pointer;border-radius:999px}.rte-avatar__button[data-avatar-type=entity]{border-radius:0}.rte-avatar__button:focus-visible{outline:2px solid var(--border-brand-focused);outline-offset:4px}.rte-avatar__container{position:relative;display:block}.rte-avatar{position:relative;width:100%;height:100%;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--content-tertiary)}.rte-avatar[data-color=decorative]{color:var(--content-secondary)}.rte-avatar[data-avatar-type=entity]{border-radius:4px}.rte-avatar[data-avatar-type=entity][data-size=\"48\"],.rte-avatar[data-avatar-type=entity][data-size=\"56\"],.rte-avatar[data-avatar-type=entity][data-size=\"64\"],.rte-avatar[data-avatar-type=entity][data-size=\"72\"]{border-radius:8px}.rte-avatar[data-avatar-type=entity][data-size=\"96\"],.rte-avatar[data-avatar-type=entity][data-size=\"120\"]{border-radius:12px}.rte-avatar[data-color=brand]{background-color:var(--background-brand-default);color:var(--content-primary-inverse)}.rte-avatar .rte-avatar__image{width:100%;height:100%;object-fit:cover;border-radius:inherit}.rte-avatar .rte-avatar__initials{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:14px;line-height:20px;letter-spacing:0px}.rte-avatar .rte-avatar__initials[data-size=\"24\"]{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}.rte-avatar .rte-avatar__initials[data-size=\"36\"],.rte-avatar .rte-avatar__initials[data-size=\"40\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px}.rte-avatar .rte-avatar__initials[data-size=\"48\"]{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}.rte-avatar .rte-avatar__initials[data-size=\"56\"]{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}.rte-avatar .rte-avatar__initials[data-size=\"64\"],.rte-avatar .rte-avatar__initials[data-size=\"72\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:32px;line-height:40px;letter-spacing:-1px}.rte-avatar .rte-avatar__initials[data-size=\"96\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:40px;line-height:48px;letter-spacing:-1px}.rte-avatar .rte-avatar__initials[data-size=\"120\"]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:48px;line-height:56px;letter-spacing:-1px}.rte-avatar__status-indicator{position:absolute;bottom:0;right:0;border-radius:50%;z-index:0}\n"] }]
|
|
5319
|
+
}] });
|
|
5320
|
+
|
|
4244
5321
|
/**
|
|
4245
5322
|
* Generated bundle index. Do not edit.
|
|
4246
5323
|
*/
|
|
4247
5324
|
|
|
4248
|
-
export { BadgeDirective, BannerComponent, BaseSideNavComponent, BreadcrumbsComponent, ButtonComponent, CardComponent, CheckboxComponent, CheckboxGroupComponent, ChipComponent, ColDirective, DividerComponent, DropdownDirective, DropdownItemComponent, DropdownMenuComponent, DropdownMenuFooterDirective, DropdownMenuHeaderDirective, DropdownModule, DropdownTriggerDirective, GridDirective, IconButtonComponent, IconButtonToggleComponent, IconComponent, LinkComponent, LoaderComponent, ModalDirective, ModalModule, ModalTriggerDirective, PopoverDirective, RadioButtonComponent, RadioButtonGroupComponent, SearchbarComponent, SegmentedControlComponent, SelectComponent, SideNavComponent, SplitButtonComponent, StepperComponent, SwitchComponent, TabComponent, TagComponent, TextInputComponent, TextareaComponent, ToastComponent, ToastService, TooltipDirective };
|
|
5325
|
+
export { AccordionComponent, AvatarComponent, BadgeDirective, BannerComponent, BaseSideNavComponent, BreadcrumbsComponent, ButtonComponent, CardComponent, CheckboxComponent, CheckboxGroupComponent, ChipComponent, ColDirective, DividerComponent, DrawerComponent, DrawerDirective, DrawerModule, DrawerTriggerDirective, DropdownDirective, DropdownItemComponent, DropdownMenuComponent, DropdownMenuFooterDirective, DropdownMenuHeaderDirective, DropdownModule, DropdownTriggerDirective, GridDirective, IconButtonComponent, IconButtonToggleComponent, IconComponent, LinkComponent, LoaderComponent, ModalDirective, ModalModule, ModalTriggerDirective, PopoverDirective, RadioButtonComponent, RadioButtonGroupComponent, SearchbarComponent, SegmentedControlComponent, SelectComponent, SideNavComponent, SplitButtonComponent, StepperComponent, SwitchComponent, TabComponent, TagComponent, TextInputComponent, TextareaComponent, ToastComponent, ToastService, TooltipDirective, TreeviewComponent, TreeviewItemComponent, TreeviewSelectionService };
|
|
4249
5326
|
//# sourceMappingURL=design-system-rte-angular.mjs.map
|