@dialpad/dialtone 9.98.0 → 9.99.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/dialtone-default-theme.css +92 -85
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/dialtone.css +92 -85
- package/dist/css/dialtone.min.css +1 -1
- package/dist/tokens/doc.json +21788 -21788
- package/dist/vue2/component-documentation.json +1 -1
- package/dist/vue2/components/item_layout/item_layout.vue.cjs +63 -1
- package/dist/vue2/components/item_layout/item_layout.vue.cjs.map +1 -1
- package/dist/vue2/components/item_layout/item_layout.vue.js +63 -1
- package/dist/vue2/components/item_layout/item_layout.vue.js.map +1 -1
- package/dist/vue2/components/list_item/list_item.vue.cjs +12 -13
- package/dist/vue2/components/list_item/list_item.vue.cjs.map +1 -1
- package/dist/vue2/components/list_item/list_item.vue.js +12 -13
- package/dist/vue2/components/list_item/list_item.vue.js.map +1 -1
- package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs +1 -1
- package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs.map +1 -1
- package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js +1 -1
- package/dist/vue2/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js.map +1 -1
- package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.cjs +5 -1
- package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.cjs.map +1 -1
- package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.js +5 -1
- package/dist/vue2/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.js.map +1 -1
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs +15 -0
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.js +15 -0
- package/dist/vue2/recipes/conversation_view/editor/editor.vue.js.map +1 -1
- package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs +10 -10
- package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs.map +1 -1
- package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js +10 -10
- package/dist/vue2/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js.map +1 -1
- package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs +2 -4
- package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
- package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.js +2 -4
- package/dist/vue2/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
- package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.cjs +4 -4
- package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
- package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.js +4 -4
- package/dist/vue2/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
- package/dist/vue2/types/components/item_layout/item_layout.vue.d.ts +66 -1
- package/dist/vue2/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/list_item/list_item.vue.d.ts +1 -22
- package/dist/vue2/types/components/list_item/list_item.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +11 -0
- package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/components/avatar/avatar.vue.cjs +1 -0
- package/dist/vue3/components/avatar/avatar.vue.cjs.map +1 -1
- package/dist/vue3/components/avatar/avatar.vue.js +1 -0
- package/dist/vue3/components/avatar/avatar.vue.js.map +1 -1
- package/dist/vue3/components/badge/badge.vue.cjs +1 -0
- package/dist/vue3/components/badge/badge.vue.cjs.map +1 -1
- package/dist/vue3/components/badge/badge.vue.js +1 -0
- package/dist/vue3/components/badge/badge.vue.js.map +1 -1
- package/dist/vue3/components/banner/banner.vue.cjs +1 -0
- package/dist/vue3/components/banner/banner.vue.cjs.map +1 -1
- package/dist/vue3/components/banner/banner.vue.js +1 -0
- package/dist/vue3/components/banner/banner.vue.js.map +1 -1
- package/dist/vue3/components/breadcrumbs/breadcrumbs.vue.cjs +1 -0
- package/dist/vue3/components/breadcrumbs/breadcrumbs.vue.cjs.map +1 -1
- package/dist/vue3/components/breadcrumbs/breadcrumbs.vue.js +1 -0
- package/dist/vue3/components/breadcrumbs/breadcrumbs.vue.js.map +1 -1
- package/dist/vue3/components/button/button.vue.cjs +1 -0
- package/dist/vue3/components/button/button.vue.cjs.map +1 -1
- package/dist/vue3/components/button/button.vue.js +1 -0
- package/dist/vue3/components/button/button.vue.js.map +1 -1
- package/dist/vue3/components/button_group/button_group.vue.cjs +1 -0
- package/dist/vue3/components/button_group/button_group.vue.cjs.map +1 -1
- package/dist/vue3/components/button_group/button_group.vue.js +1 -0
- package/dist/vue3/components/button_group/button_group.vue.js.map +1 -1
- package/dist/vue3/components/card/card.vue.cjs +1 -0
- package/dist/vue3/components/card/card.vue.cjs.map +1 -1
- package/dist/vue3/components/card/card.vue.js +1 -0
- package/dist/vue3/components/card/card.vue.js.map +1 -1
- package/dist/vue3/components/checkbox/checkbox.vue.cjs +1 -0
- package/dist/vue3/components/checkbox/checkbox.vue.cjs.map +1 -1
- package/dist/vue3/components/checkbox/checkbox.vue.js +1 -0
- package/dist/vue3/components/checkbox/checkbox.vue.js.map +1 -1
- package/dist/vue3/components/checkbox_group/checkbox_group.vue.cjs +1 -0
- package/dist/vue3/components/checkbox_group/checkbox_group.vue.cjs.map +1 -1
- package/dist/vue3/components/checkbox_group/checkbox_group.vue.js +1 -0
- package/dist/vue3/components/checkbox_group/checkbox_group.vue.js.map +1 -1
- package/dist/vue3/components/chip/chip.vue.cjs +1 -0
- package/dist/vue3/components/chip/chip.vue.cjs.map +1 -1
- package/dist/vue3/components/chip/chip.vue.js +1 -0
- package/dist/vue3/components/chip/chip.vue.js.map +1 -1
- package/dist/vue3/components/codeblock/codeblock.vue.cjs +1 -0
- package/dist/vue3/components/codeblock/codeblock.vue.cjs.map +1 -1
- package/dist/vue3/components/codeblock/codeblock.vue.js +1 -0
- package/dist/vue3/components/codeblock/codeblock.vue.js.map +1 -1
- package/dist/vue3/components/collapsible/collapsible.vue.cjs +1 -0
- package/dist/vue3/components/collapsible/collapsible.vue.cjs.map +1 -1
- package/dist/vue3/components/collapsible/collapsible.vue.js +1 -0
- package/dist/vue3/components/collapsible/collapsible.vue.js.map +1 -1
- package/dist/vue3/components/combobox/combobox.vue.cjs +1 -0
- package/dist/vue3/components/combobox/combobox.vue.cjs.map +1 -1
- package/dist/vue3/components/combobox/combobox.vue.js +1 -0
- package/dist/vue3/components/combobox/combobox.vue.js.map +1 -1
- package/dist/vue3/components/description_list/description_list.vue.cjs +1 -0
- package/dist/vue3/components/description_list/description_list.vue.cjs.map +1 -1
- package/dist/vue3/components/description_list/description_list.vue.js +1 -0
- package/dist/vue3/components/description_list/description_list.vue.js.map +1 -1
- package/dist/vue3/components/dropdown/dropdown.vue.cjs +1 -0
- package/dist/vue3/components/dropdown/dropdown.vue.cjs.map +1 -1
- package/dist/vue3/components/dropdown/dropdown.vue.js +1 -0
- package/dist/vue3/components/dropdown/dropdown.vue.js.map +1 -1
- package/dist/vue3/components/dropdown/dropdown_separator.vue.cjs +1 -0
- package/dist/vue3/components/dropdown/dropdown_separator.vue.cjs.map +1 -1
- package/dist/vue3/components/dropdown/dropdown_separator.vue.js +1 -0
- package/dist/vue3/components/dropdown/dropdown_separator.vue.js.map +1 -1
- package/dist/vue3/components/emoji/emoji.vue.cjs +1 -0
- package/dist/vue3/components/emoji/emoji.vue.cjs.map +1 -1
- package/dist/vue3/components/emoji/emoji.vue.js +1 -0
- package/dist/vue3/components/emoji/emoji.vue.js.map +1 -1
- package/dist/vue3/components/emoji_text_wrapper/emoji_text_wrapper.vue.cjs +1 -0
- package/dist/vue3/components/emoji_text_wrapper/emoji_text_wrapper.vue.cjs.map +1 -1
- package/dist/vue3/components/emoji_text_wrapper/emoji_text_wrapper.vue.js +1 -0
- package/dist/vue3/components/emoji_text_wrapper/emoji_text_wrapper.vue.js.map +1 -1
- package/dist/vue3/components/icon/icon.vue.cjs +1 -0
- package/dist/vue3/components/icon/icon.vue.cjs.map +1 -1
- package/dist/vue3/components/icon/icon.vue.js +1 -0
- package/dist/vue3/components/icon/icon.vue.js.map +1 -1
- package/dist/vue3/components/image_viewer/image_viewer.vue.cjs +1 -0
- package/dist/vue3/components/image_viewer/image_viewer.vue.cjs.map +1 -1
- package/dist/vue3/components/image_viewer/image_viewer.vue.js +1 -0
- package/dist/vue3/components/image_viewer/image_viewer.vue.js.map +1 -1
- package/dist/vue3/components/input/input.vue.cjs +1 -0
- package/dist/vue3/components/input/input.vue.cjs.map +1 -1
- package/dist/vue3/components/input/input.vue.js +1 -0
- package/dist/vue3/components/input/input.vue.js.map +1 -1
- package/dist/vue3/components/input_group/input_group.vue.cjs +1 -0
- package/dist/vue3/components/input_group/input_group.vue.cjs.map +1 -1
- package/dist/vue3/components/input_group/input_group.vue.js +1 -0
- package/dist/vue3/components/input_group/input_group.vue.js.map +1 -1
- package/dist/vue3/components/item_layout/item_layout.vue.cjs +1 -0
- package/dist/vue3/components/item_layout/item_layout.vue.cjs.map +1 -1
- package/dist/vue3/components/item_layout/item_layout.vue.js +1 -0
- package/dist/vue3/components/item_layout/item_layout.vue.js.map +1 -1
- package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +1 -0
- package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.cjs.map +1 -1
- package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.js +1 -0
- package/dist/vue3/components/keyboard_shortcut/keyboard_shortcut.vue.js.map +1 -1
- package/dist/vue3/components/lazy_show/lazy_show.vue.cjs +1 -0
- package/dist/vue3/components/lazy_show/lazy_show.vue.cjs.map +1 -1
- package/dist/vue3/components/lazy_show/lazy_show.vue.js +1 -0
- package/dist/vue3/components/lazy_show/lazy_show.vue.js.map +1 -1
- package/dist/vue3/components/link/link.vue.cjs +1 -0
- package/dist/vue3/components/link/link.vue.cjs.map +1 -1
- package/dist/vue3/components/link/link.vue.js +1 -0
- package/dist/vue3/components/link/link.vue.js.map +1 -1
- package/dist/vue3/components/list_item/list_item.vue.cjs +1 -0
- package/dist/vue3/components/list_item/list_item.vue.cjs.map +1 -1
- package/dist/vue3/components/list_item/list_item.vue.js +1 -0
- package/dist/vue3/components/list_item/list_item.vue.js.map +1 -1
- package/dist/vue3/components/list_item_group/list_item_group.vue.cjs +1 -0
- package/dist/vue3/components/list_item_group/list_item_group.vue.cjs.map +1 -1
- package/dist/vue3/components/list_item_group/list_item_group.vue.js +1 -0
- package/dist/vue3/components/list_item_group/list_item_group.vue.js.map +1 -1
- package/dist/vue3/components/modal/modal.vue.cjs +1 -0
- package/dist/vue3/components/modal/modal.vue.cjs.map +1 -1
- package/dist/vue3/components/modal/modal.vue.js +1 -0
- package/dist/vue3/components/modal/modal.vue.js.map +1 -1
- package/dist/vue3/components/notice/notice.vue.cjs +1 -0
- package/dist/vue3/components/notice/notice.vue.cjs.map +1 -1
- package/dist/vue3/components/notice/notice.vue.js +1 -0
- package/dist/vue3/components/notice/notice.vue.js.map +1 -1
- package/dist/vue3/components/notice/notice_action.vue.cjs +1 -0
- package/dist/vue3/components/notice/notice_action.vue.cjs.map +1 -1
- package/dist/vue3/components/notice/notice_action.vue.js +1 -0
- package/dist/vue3/components/notice/notice_action.vue.js.map +1 -1
- package/dist/vue3/components/notice/notice_content.vue.cjs +1 -0
- package/dist/vue3/components/notice/notice_content.vue.cjs.map +1 -1
- package/dist/vue3/components/notice/notice_content.vue.js +1 -0
- package/dist/vue3/components/notice/notice_content.vue.js.map +1 -1
- package/dist/vue3/components/notice/notice_icon.vue.cjs +1 -0
- package/dist/vue3/components/notice/notice_icon.vue.cjs.map +1 -1
- package/dist/vue3/components/notice/notice_icon.vue.js +1 -0
- package/dist/vue3/components/notice/notice_icon.vue.js.map +1 -1
- package/dist/vue3/components/pagination/pagination.vue.cjs +1 -0
- package/dist/vue3/components/pagination/pagination.vue.cjs.map +1 -1
- package/dist/vue3/components/pagination/pagination.vue.js +1 -0
- package/dist/vue3/components/pagination/pagination.vue.js.map +1 -1
- package/dist/vue3/components/popover/popover.vue.cjs +1 -0
- package/dist/vue3/components/popover/popover.vue.cjs.map +1 -1
- package/dist/vue3/components/popover/popover.vue.js +1 -0
- package/dist/vue3/components/popover/popover.vue.js.map +1 -1
- package/dist/vue3/components/popover/popover_header_footer.vue.cjs +1 -0
- package/dist/vue3/components/popover/popover_header_footer.vue.cjs.map +1 -1
- package/dist/vue3/components/popover/popover_header_footer.vue.js +1 -0
- package/dist/vue3/components/popover/popover_header_footer.vue.js.map +1 -1
- package/dist/vue3/components/presence/presence.vue.cjs +1 -0
- package/dist/vue3/components/presence/presence.vue.cjs.map +1 -1
- package/dist/vue3/components/presence/presence.vue.js +1 -0
- package/dist/vue3/components/presence/presence.vue.js.map +1 -1
- package/dist/vue3/components/radio/radio.vue.cjs +1 -0
- package/dist/vue3/components/radio/radio.vue.cjs.map +1 -1
- package/dist/vue3/components/radio/radio.vue.js +1 -0
- package/dist/vue3/components/radio/radio.vue.js.map +1 -1
- package/dist/vue3/components/radio_group/radio_group.vue.cjs +1 -0
- package/dist/vue3/components/radio_group/radio_group.vue.cjs.map +1 -1
- package/dist/vue3/components/radio_group/radio_group.vue.js +1 -0
- package/dist/vue3/components/radio_group/radio_group.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelComponent.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelComponent.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelComponent.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelComponent.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionComponent.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionComponent.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionComponent.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionComponent.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.js.map +1 -1
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs +1 -0
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.cjs.map +1 -1
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js +1 -0
- package/dist/vue3/components/rich_text_editor/rich_text_editor.vue.js.map +1 -1
- package/dist/vue3/components/root_layout/root_layout.vue.cjs +1 -0
- package/dist/vue3/components/root_layout/root_layout.vue.cjs.map +1 -1
- package/dist/vue3/components/root_layout/root_layout.vue.js +1 -0
- package/dist/vue3/components/root_layout/root_layout.vue.js.map +1 -1
- package/dist/vue3/components/select_menu/select_menu.vue.cjs +1 -0
- package/dist/vue3/components/select_menu/select_menu.vue.cjs.map +1 -1
- package/dist/vue3/components/select_menu/select_menu.vue.js +1 -0
- package/dist/vue3/components/select_menu/select_menu.vue.js.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-list-item.vue.cjs +1 -0
- package/dist/vue3/components/skeleton/skeleton-list-item.vue.cjs.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-list-item.vue.js +1 -0
- package/dist/vue3/components/skeleton/skeleton-list-item.vue.js.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-paragraph.vue.cjs +1 -0
- package/dist/vue3/components/skeleton/skeleton-paragraph.vue.cjs.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-paragraph.vue.js +1 -0
- package/dist/vue3/components/skeleton/skeleton-paragraph.vue.js.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-shape.vue.cjs +1 -0
- package/dist/vue3/components/skeleton/skeleton-shape.vue.cjs.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-shape.vue.js +1 -0
- package/dist/vue3/components/skeleton/skeleton-shape.vue.js.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-text.vue.cjs +1 -0
- package/dist/vue3/components/skeleton/skeleton-text.vue.cjs.map +1 -1
- package/dist/vue3/components/skeleton/skeleton-text.vue.js +1 -0
- package/dist/vue3/components/skeleton/skeleton-text.vue.js.map +1 -1
- package/dist/vue3/components/skeleton/skeleton.vue.cjs +1 -0
- package/dist/vue3/components/skeleton/skeleton.vue.cjs.map +1 -1
- package/dist/vue3/components/skeleton/skeleton.vue.js +1 -0
- package/dist/vue3/components/skeleton/skeleton.vue.js.map +1 -1
- package/dist/vue3/components/split_button/split_button-alpha.vue.cjs +1 -0
- package/dist/vue3/components/split_button/split_button-alpha.vue.cjs.map +1 -1
- package/dist/vue3/components/split_button/split_button-alpha.vue.js +1 -0
- package/dist/vue3/components/split_button/split_button-alpha.vue.js.map +1 -1
- package/dist/vue3/components/split_button/split_button-omega.vue.cjs +1 -0
- package/dist/vue3/components/split_button/split_button-omega.vue.cjs.map +1 -1
- package/dist/vue3/components/split_button/split_button-omega.vue.js +1 -0
- package/dist/vue3/components/split_button/split_button-omega.vue.js.map +1 -1
- package/dist/vue3/components/split_button/split_button.vue.cjs +1 -0
- package/dist/vue3/components/split_button/split_button.vue.cjs.map +1 -1
- package/dist/vue3/components/split_button/split_button.vue.js +1 -0
- package/dist/vue3/components/split_button/split_button.vue.js.map +1 -1
- package/dist/vue3/components/stack/stack.vue.cjs +1 -0
- package/dist/vue3/components/stack/stack.vue.cjs.map +1 -1
- package/dist/vue3/components/stack/stack.vue.js +1 -0
- package/dist/vue3/components/stack/stack.vue.js.map +1 -1
- package/dist/vue3/components/tab/tab.vue.cjs +1 -0
- package/dist/vue3/components/tab/tab.vue.cjs.map +1 -1
- package/dist/vue3/components/tab/tab.vue.js +1 -0
- package/dist/vue3/components/tab/tab.vue.js.map +1 -1
- package/dist/vue3/components/tab/tab_group.vue.cjs +1 -0
- package/dist/vue3/components/tab/tab_group.vue.cjs.map +1 -1
- package/dist/vue3/components/tab/tab_group.vue.js +1 -0
- package/dist/vue3/components/tab/tab_group.vue.js.map +1 -1
- package/dist/vue3/components/tab/tab_panel.vue.cjs +1 -0
- package/dist/vue3/components/tab/tab_panel.vue.cjs.map +1 -1
- package/dist/vue3/components/tab/tab_panel.vue.js +1 -0
- package/dist/vue3/components/tab/tab_panel.vue.js.map +1 -1
- package/dist/vue3/components/toast/toast.vue.cjs +1 -0
- package/dist/vue3/components/toast/toast.vue.cjs.map +1 -1
- package/dist/vue3/components/toast/toast.vue.js +1 -0
- package/dist/vue3/components/toast/toast.vue.js.map +1 -1
- package/dist/vue3/components/toggle/toggle.vue.cjs +1 -0
- package/dist/vue3/components/toggle/toggle.vue.cjs.map +1 -1
- package/dist/vue3/components/toggle/toggle.vue.js +1 -0
- package/dist/vue3/components/toggle/toggle.vue.js.map +1 -1
- package/dist/vue3/components/tooltip/tooltip.vue.cjs +1 -0
- package/dist/vue3/components/tooltip/tooltip.vue.cjs.map +1 -1
- package/dist/vue3/components/tooltip/tooltip.vue.js +1 -0
- package/dist/vue3/components/tooltip/tooltip.vue.js.map +1 -1
- package/dist/vue3/components/validation_messages/validation_messages.vue.cjs +1 -0
- package/dist/vue3/components/validation_messages/validation_messages.vue.cjs.map +1 -1
- package/dist/vue3/components/validation_messages/validation_messages.vue.js +1 -0
- package/dist/vue3/components/validation_messages/validation_messages.vue.js.map +1 -1
- package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.cjs +1 -0
- package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.cjs.map +1 -1
- package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.js +1 -0
- package/dist/vue3/recipes/buttons/callbar_button/callbar_button.vue.js.map +1 -1
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +1 -0
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +1 -0
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
- package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.cjs +1 -0
- package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
- package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.js +1 -0
- package/dist/vue3/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
- package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.cjs +1 -0
- package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.cjs.map +1 -1
- package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.js +1 -0
- package/dist/vue3/recipes/chips/grouped_chip/grouped_chip.vue.js.map +1 -1
- package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs +1 -0
- package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.cjs.map +1 -1
- package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js +1 -0
- package/dist/vue3/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.js.map +1 -1
- package/dist/vue3/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.cjs +1 -0
- package/dist/vue3/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.cjs.map +1 -1
- package/dist/vue3/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.js +1 -0
- package/dist/vue3/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs +16 -0
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.js +16 -0
- package/dist/vue3/recipes/conversation_view/editor/editor.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/emoji_row/emoji_row.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_button.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_link.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/message_input/message_input_topbar.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.cjs +1 -0
- package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.js +1 -0
- package/dist/vue3/recipes/conversation_view/time_pill/time_pill.vue.js.map +1 -1
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +1 -0
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js +1 -0
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs +1 -0
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js +1 -0
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs +1 -0
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js +1 -0
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs +1 -0
- package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js +1 -0
- package/dist/vue3/recipes/leftbar/contact_centers_row/contact_centers_row.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs +1 -0
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js +1 -0
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs +1 -0
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js +1 -0
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +1 -0
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +1 -0
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs +1 -0
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js +1 -0
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.cjs +1 -0
- package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.js +1 -0
- package/dist/vue3/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
- package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.cjs +1 -0
- package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.cjs.map +1 -1
- package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.js +1 -0
- package/dist/vue3/recipes/notices/top_banner_info/top_banner_info.vue.js.map +1 -1
- package/dist/vue3/types/components/avatar/avatar.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/button/button.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/card/card.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/chip/chip.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/combobox/combobox.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/input/input.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/input_group/input_group.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/lazy_show/lazy_show.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/notice/notice_content.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/notice/notice_icon.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/radio/radio.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/toggle/toggle.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/validation_messages/validation_messages.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +11 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
- package/package.json +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress_bar.vue.js","sources":["../../../../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue"],"sourcesContent":["<script>\nexport default {\n name: 'DtProgressBar',\n props: {\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"progressbarAriaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"d-recipe-attachment-carousel__progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n </svg>\n </div>\n</template>\n"],"names":["_createElementVNode","_createElementBlock","_normalizeStyle"],"mappings":";;AACA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,IACL,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IAED,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,MAAM,OAAO;AAAA,IACX,qBAAqB;AAAA,EACvB;AAAA,EAEA,UAAU;AAAA,IACR,UAAW;AACT,aAAO;AAAA,QACL,uBACG,KAAK,sBAAuB,KAAK,sBAAsB,KAAK,WAAW;AAAA,QAE1E,sBAAsB,KAAK;AAAA;IAE9B;AAAA,EACF;AAAA,EAED,UAAW;AACT,SAAK,sBAAsB,KAAK,MAAM,kBAAkB,eAAc;AAAA,EACvE;AACH;
|
|
1
|
+
{"version":3,"file":"progress_bar.vue.js","sources":["../../../../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue"],"sourcesContent":["<script>\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtProgressBar',\n props: {\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"progressbarAriaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"d-recipe-attachment-carousel__progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n </svg>\n </div>\n</template>\n"],"names":["_createElementVNode","_createElementBlock","_normalizeStyle"],"mappings":";;AACA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EACN,OAAO;AAAA,IACL,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IAED,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,MAAM,OAAO;AAAA,IACX,qBAAqB;AAAA,EACvB;AAAA,EAEA,UAAU;AAAA,IACR,UAAW;AACT,aAAO;AAAA,QACL,uBACG,KAAK,sBAAuB,KAAK,sBAAsB,KAAK,WAAW;AAAA,QAE1E,sBAAsB,KAAK;AAAA;IAE9B;AAAA,EACF;AAAA,EAED,UAAW;AACT,SAAK,sBAAsB,KAAK,MAAM,kBAAkB,eAAc;AAAA,EACvE;AACH;AAlCA,MAAA,aAAA,CAAA,cAAA,eAAA;;EAmDQ,KAAI;AAAA,EACJ,GAAE;AAAA,EACF,IAAG;AAAA,EACH,IAAG;AAAA,EACH,OAAM;;mBAERA,mCAKE,UAAA;AAAA,EAJA,GAAE;AAAA,EACF,IAAG;AAAA,EACH,IAAG;AAAA,EACH,OAAM;;;sBAvBZC,mBA0BM,OAAA;AAAA,IAzBJ,MAAK;AAAA,IACJ,cAAY,OAAoB;AAAA,IACjC,UAAS;AAAA,IACR,iBAAe,OAAQ;AAAA,IACxB,iBAAc;AAAA,IACd,iBAAc;AAAA;kBAEdA,mBAiBM,OAAA;AAAA,MAhBJ,OAAM;AAAA,MACL,OAhDPC,eAgDc,SAAO,OAAA;AAAA;MAEfF,mBAME,UANF,YAME,MAAA,GAAA;AAAA,MACF;AAAA;EAzDN,GAAA,GAAA,UAAA;;;"}
|
|
@@ -12,6 +12,7 @@ const input = require("../../../components/input/input.vue.cjs");
|
|
|
12
12
|
const tooltip = require("../../../components/tooltip/tooltip.vue.cjs");
|
|
13
13
|
const rich_text_editor_constants = require("../../../components/rich_text_editor/rich_text_editor_constants.cjs");
|
|
14
14
|
const _sfc_main = {
|
|
15
|
+
compatConfig: { MODE: 3 },
|
|
15
16
|
name: "DtRecipeEditor",
|
|
16
17
|
components: {
|
|
17
18
|
DtRichTextEditor: rich_text_editor.default,
|
|
@@ -235,6 +236,13 @@ const _sfc_main = {
|
|
|
235
236
|
setLinkTitle: "Add a link",
|
|
236
237
|
setLinkInputAriaLabel: "Input field to add link"
|
|
237
238
|
})
|
|
239
|
+
},
|
|
240
|
+
/**
|
|
241
|
+
* Use default paste handler.
|
|
242
|
+
*/
|
|
243
|
+
useDefaultPasteHandler: {
|
|
244
|
+
type: Boolean,
|
|
245
|
+
default: false
|
|
238
246
|
}
|
|
239
247
|
},
|
|
240
248
|
emits: [
|
|
@@ -532,6 +540,14 @@ const _sfc_main = {
|
|
|
532
540
|
onQuickRepliesClick() {
|
|
533
541
|
this.$emit("quick-replies-click");
|
|
534
542
|
},
|
|
543
|
+
insertInMessageBody(messageContent) {
|
|
544
|
+
var _a;
|
|
545
|
+
(_a = this.$refs.richTextEditor) == null ? void 0 : _a.editor.chain().focus().insertContent(messageContent).run();
|
|
546
|
+
},
|
|
547
|
+
setCursorPosition(position = null) {
|
|
548
|
+
var _a;
|
|
549
|
+
(_a = this.$refs.richTextEditor) == null ? void 0 : _a.editor.chain().focus(position).run();
|
|
550
|
+
},
|
|
535
551
|
onBlockquoteToggle() {
|
|
536
552
|
var _a;
|
|
537
553
|
(_a = this.$refs.richTextEditor) == null ? void 0 : _a.editor.chain().focus().toggleBlockquote().run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.vue.cjs","sources":["../../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n\n class=\"d-recipe-editor\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"`${buttonGroup.key}-${JSON.stringify(button.selector)}`\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n {{ button?.label }}\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"'Close link input popover'\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span\n v-if=\"showAddLink.setLinkTitle.length > 0\"\n >\n {{ showAddLink.setLinkTitle }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLink.setLinkInputAriaLabel\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n :aria-label=\"removeLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"removeLink\"\n >\n {{ removeLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"cancelSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"confirmSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButton.label }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n class=\"d-recipe-editor__content\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconItalic,\n DtIconLightningBolt,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtIconLightningBolt,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n value: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n /**\n * Confirm set link button defaults.\n */\n confirmSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Confirm', ariaLabel: 'Confirm set link' }),\n },\n\n /**\n * Remove link button defaults.\n */\n removeLinkButton: {\n type: Object,\n default: () => ({ label: 'Remove', ariaLabel: 'Remove link' }),\n },\n\n /**\n * Cancel set link button defaults.\n */\n cancelSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Cancel', ariaLabel: 'Cancel set link' }),\n },\n\n /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n setLinkTitle: 'Add a link',\n setLinkInputAriaLabel: 'Input field to add link',\n }),\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n ],\n\n data () {\n return {\n internalInputValue: this.value, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n showLinkInput: false,\n linkInput: '',\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n label: 'Quick reply',\n selector: 'quickReplies',\n icon: DtIconLightningBolt,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: 'Quick Reply',\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showBoldButton,\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: 'Bold',\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: 'Italics',\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: 'Underline',\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: 'Strike',\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: 'Align Left',\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: 'Align Center',\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: 'Align Right',\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: 'Align Justify',\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: 'Bullet List',\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: 'Ordered List',\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: 'Quote',\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: 'Code',\n onClick: this.onCodeBlockToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: 'Link',\n onClick: this.openLinkInput,\n };\n },\n },\n\n watch: {\n value (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n\n },\n};\n</script>\n"],"names":["DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconLightningBolt","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","RICH_TEXT_EDITOR_OUTPUT_FORMATS","button","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","_createElementVNode","_createElementBlock","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createBlock","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_withModifiers","_createCommentVNode","_withKeys","_normalizeStyle","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor.vue.cjs","sources":["../../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n\n class=\"d-recipe-editor\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"`${buttonGroup.key}-${JSON.stringify(button.selector)}`\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n {{ button?.label }}\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"'Close link input popover'\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span\n v-if=\"showAddLink.setLinkTitle.length > 0\"\n >\n {{ showAddLink.setLinkTitle }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLink.setLinkInputAriaLabel\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n :aria-label=\"removeLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"removeLink\"\n >\n {{ removeLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"cancelSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"confirmSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButton.label }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n class=\"d-recipe-editor__content\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconItalic,\n DtIconLightningBolt,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtIconLightningBolt,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n value: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n /**\n * Confirm set link button defaults.\n */\n confirmSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Confirm', ariaLabel: 'Confirm set link' }),\n },\n\n /**\n * Remove link button defaults.\n */\n removeLinkButton: {\n type: Object,\n default: () => ({ label: 'Remove', ariaLabel: 'Remove link' }),\n },\n\n /**\n * Cancel set link button defaults.\n */\n cancelSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Cancel', ariaLabel: 'Cancel set link' }),\n },\n\n /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n setLinkTitle: 'Add a link',\n setLinkInputAriaLabel: 'Input field to add link',\n }),\n },\n\n /**\n * Use default paste handler.\n */\n useDefaultPasteHandler: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n ],\n\n data () {\n return {\n internalInputValue: this.value, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n showLinkInput: false,\n linkInput: '',\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n label: 'Quick reply',\n selector: 'quickReplies',\n icon: DtIconLightningBolt,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: 'Quick Reply',\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showBoldButton,\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: 'Bold',\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: 'Italics',\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: 'Underline',\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: 'Strike',\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: 'Align Left',\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: 'Align Center',\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: 'Align Right',\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: 'Align Justify',\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: 'Bullet List',\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: 'Ordered List',\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: 'Quote',\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: 'Code',\n onClick: this.onCodeBlockToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: 'Link',\n onClick: this.openLinkInput,\n };\n },\n },\n\n watch: {\n value (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n insertInMessageBody (messageContent) {\n this.$refs.richTextEditor?.editor.chain().focus().insertContent(messageContent).run();\n },\n\n setCursorPosition (position = null) {\n this.$refs.richTextEditor?.editor.chain().focus(position).run();\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n\n },\n};\n</script>\n"],"names":["DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconLightningBolt","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","RICH_TEXT_EDITOR_OUTPUT_FORMATS","button","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","_createElementVNode","_createElementBlock","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createBlock","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_withModifiers","_createCommentVNode","_withKeys","_normalizeStyle","_mergeProps"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import DtInput from "../../../components/input/input.vue.js";
|
|
|
10
10
|
import DtTooltip from "../../../components/tooltip/tooltip.vue.js";
|
|
11
11
|
import { RICH_TEXT_EDITOR_AUTOFOCUS_TYPES, RICH_TEXT_EDITOR_OUTPUT_FORMATS } from "../../../components/rich_text_editor/rich_text_editor_constants.js";
|
|
12
12
|
const _sfc_main = {
|
|
13
|
+
compatConfig: { MODE: 3 },
|
|
13
14
|
name: "DtRecipeEditor",
|
|
14
15
|
components: {
|
|
15
16
|
DtRichTextEditor,
|
|
@@ -233,6 +234,13 @@ const _sfc_main = {
|
|
|
233
234
|
setLinkTitle: "Add a link",
|
|
234
235
|
setLinkInputAriaLabel: "Input field to add link"
|
|
235
236
|
})
|
|
237
|
+
},
|
|
238
|
+
/**
|
|
239
|
+
* Use default paste handler.
|
|
240
|
+
*/
|
|
241
|
+
useDefaultPasteHandler: {
|
|
242
|
+
type: Boolean,
|
|
243
|
+
default: false
|
|
236
244
|
}
|
|
237
245
|
},
|
|
238
246
|
emits: [
|
|
@@ -530,6 +538,14 @@ const _sfc_main = {
|
|
|
530
538
|
onQuickRepliesClick() {
|
|
531
539
|
this.$emit("quick-replies-click");
|
|
532
540
|
},
|
|
541
|
+
insertInMessageBody(messageContent) {
|
|
542
|
+
var _a;
|
|
543
|
+
(_a = this.$refs.richTextEditor) == null ? void 0 : _a.editor.chain().focus().insertContent(messageContent).run();
|
|
544
|
+
},
|
|
545
|
+
setCursorPosition(position = null) {
|
|
546
|
+
var _a;
|
|
547
|
+
(_a = this.$refs.richTextEditor) == null ? void 0 : _a.editor.chain().focus(position).run();
|
|
548
|
+
},
|
|
533
549
|
onBlockquoteToggle() {
|
|
534
550
|
var _a;
|
|
535
551
|
(_a = this.$refs.richTextEditor) == null ? void 0 : _a.editor.chain().focus().toggleBlockquote().run();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.vue.js","sources":["../../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n\n class=\"d-recipe-editor\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"`${buttonGroup.key}-${JSON.stringify(button.selector)}`\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n {{ button?.label }}\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"'Close link input popover'\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span\n v-if=\"showAddLink.setLinkTitle.length > 0\"\n >\n {{ showAddLink.setLinkTitle }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLink.setLinkInputAriaLabel\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n :aria-label=\"removeLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"removeLink\"\n >\n {{ removeLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"cancelSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"confirmSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButton.label }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n class=\"d-recipe-editor__content\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconItalic,\n DtIconLightningBolt,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtIconLightningBolt,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n value: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n /**\n * Confirm set link button defaults.\n */\n confirmSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Confirm', ariaLabel: 'Confirm set link' }),\n },\n\n /**\n * Remove link button defaults.\n */\n removeLinkButton: {\n type: Object,\n default: () => ({ label: 'Remove', ariaLabel: 'Remove link' }),\n },\n\n /**\n * Cancel set link button defaults.\n */\n cancelSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Cancel', ariaLabel: 'Cancel set link' }),\n },\n\n /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n setLinkTitle: 'Add a link',\n setLinkInputAriaLabel: 'Input field to add link',\n }),\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n ],\n\n data () {\n return {\n internalInputValue: this.value, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n showLinkInput: false,\n linkInput: '',\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n label: 'Quick reply',\n selector: 'quickReplies',\n icon: DtIconLightningBolt,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: 'Quick Reply',\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showBoldButton,\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: 'Bold',\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: 'Italics',\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: 'Underline',\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: 'Strike',\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: 'Align Left',\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: 'Align Center',\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: 'Align Right',\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: 'Align Justify',\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: 'Bullet List',\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: 'Ordered List',\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: 'Quote',\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: 'Code',\n onClick: this.onCodeBlockToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: 'Link',\n onClick: this.openLinkInput,\n };\n },\n },\n\n watch: {\n value (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n\n },\n};\n</script>\n"],"names":["editor","_createElementVNode","_createElementBlock","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createBlock","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_withModifiers","_createCommentVNode","_withKeys","_normalizeStyle","_mergeProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor.vue.js","sources":["../../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n\n class=\"d-recipe-editor\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"`${buttonGroup.key}-${JSON.stringify(button.selector)}`\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n {{ button?.label }}\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"'Close link input popover'\"\n data-qa=\"dt-recipe-editor-link-input-popover\"\n padding=\"none\"\n placement=\"bottom-start\"\n @click=\"onInputFocus\"\n @opened=\"updateInput\"\n @click.stop=\"onInputFocus\"\n >\n <template #anchor>\n <dt-tooltip\n :key=\"linkButton.key\"\n :message=\"linkButton.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n >\n <template #icon>\n <component\n :is=\"linkButton.icon\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n\n <template #content>\n <div class=\"d-recipe-editor__popover-content\">\n <span\n v-if=\"showAddLink.setLinkTitle.length > 0\"\n >\n {{ showAddLink.setLinkTitle }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLink.setLinkInputAriaLabel\"\n :placeholder=\"setLinkPlaceholder\"\n data-qa=\"dt-recipe-editor-link-input\"\n input-wrapper-class=\"d-recipe-editor-link__input-wrapper\"\n @click=\"onInputFocus\"\n @focus=\"onInputFocus\"\n @click.stop=\"onInputFocus\"\n @keydown.enter=\"setLink\"\n />\n </div>\n </template>\n <template #footerContent>\n <dt-stack\n direction=\"row\"\n gap=\"300\"\n class=\"d-recipe-editor__popover-footer\"\n >\n <dt-button\n :aria-label=\"removeLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"removeLink\"\n >\n {{ removeLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"cancelSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"confirmSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButton.label }}\n </dt-button>\n </dt-stack>\n </template>\n </dt-popover>\n </dt-stack>\n </dt-stack>\n\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n :style=\"{ 'max-height': maxHeight }\"\n class=\"d-recipe-editor__content\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :hide-link-bubble-menu=\"true\"\n :auto-focus=\"autoFocus\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"`d-recipe-editor__content-input ${inputClass}`\"\n :link=\"true\"\n :output-format=\"htmlOutputFormat\"\n :placeholder=\"placeholder\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"$attrs\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { DtButton } from '@/components/button';\nimport { DtPopover } from '@/components/popover';\nimport { DtStack } from '@/components/stack';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconItalic,\n DtIconLightningBolt,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtIconLightningBolt,\n DtIconBold,\n DtIconItalic,\n DtIconUnderline,\n DtIconStrikethrough,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconAlignLeft,\n DtIconAlignCenter,\n DtIconAlignRight,\n DtIconAlignJustify,\n DtIconQuote,\n DtIconCodeBlock,\n DtIconLink2,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n value: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n /**\n * Confirm set link button defaults.\n */\n confirmSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Confirm', ariaLabel: 'Confirm set link' }),\n },\n\n /**\n * Remove link button defaults.\n */\n removeLinkButton: {\n type: Object,\n default: () => ({ label: 'Remove', ariaLabel: 'Remove link' }),\n },\n\n /**\n * Cancel set link button defaults.\n */\n cancelSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Cancel', ariaLabel: 'Cancel set link' }),\n },\n\n /**\n * Placeholder text for the set link input field\n */\n setLinkPlaceholder: {\n type: String,\n default: '',\n },\n\n /**\n * Show button to render text as bold\n */\n showBoldButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render text in italics\n */\n showItalicsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to underline text\n */\n showUnderlineButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to strike text\n */\n showStrikeButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render list items\n */\n showListItemsButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to render ordered list items\n */\n showOrderedListButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the left\n */\n showAlignLeftButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the center\n */\n showAlignCenterButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to align text to the right\n */\n showAlignRightButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to justify text\n */\n showAlignJustifyButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add quote format to text\n */\n showQuoteButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to add code block\n */\n showCodeBlockButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show button to handle quick replies\n */\n showQuickRepliesButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n setLinkTitle: 'Add a link',\n setLinkInputAriaLabel: 'Input field to add link',\n }),\n },\n\n /**\n * Use default paste handler.\n */\n useDefaultPasteHandler: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n ],\n\n data () {\n return {\n internalInputValue: this.value, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n showLinkInput: false,\n linkInput: '',\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n htmlOutputFormat () {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS[2];\n },\n\n showingTextFormatButtons () {\n return this.showBoldButton || this.showItalicsButton || this.showStrikeButton || this.showUnderlineButton;\n },\n\n showingAlignmentButtons () {\n return this.showAlignLeftButton || this.showAlignCenterButton ||\n this.showAlignRightButton || this.showAlignJustifyButton;\n },\n\n showingListButtons () {\n return this.showListItemsButton || this.showOrderedListButton;\n },\n\n buttonGroups () {\n const individualButtonStacks = this.individualButtons.map(buttonData => ({\n key: buttonData.selector,\n buttonGroup: [buttonData],\n }));\n return [\n { key: 'new', buttonGroup: this.newButtons },\n { key: 'format', buttonGroup: this.textFormatButtons },\n { key: 'alignment', buttonGroup: this.alignmentButtons },\n { key: 'list', buttonGroup: this.listButtons },\n ...individualButtonStacks,\n ].filter(buttonGroupData => buttonGroupData.buttonGroup.length > 0);\n },\n\n newButtons () {\n return [\n {\n showBtn: this.showQuickRepliesButton,\n label: 'Quick reply',\n selector: 'quickReplies',\n icon: DtIconLightningBolt,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: 'Quick Reply',\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showBoldButton,\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: 'Bold',\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: 'Italics',\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: 'Underline',\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: 'Strike',\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: 'Align Left',\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: 'Align Center',\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: 'Align Right',\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: 'Align Justify',\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: 'Bullet List',\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: 'Ordered List',\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: 'Quote',\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: 'Code',\n onClick: this.onCodeBlockToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: 'Link',\n onClick: this.openLinkInput,\n };\n },\n },\n\n watch: {\n value (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n insertInMessageBody (messageContent) {\n this.$refs.richTextEditor?.editor.chain().focus().insertContent(messageContent).run();\n },\n\n setCursorPosition (position = null) {\n this.$refs.richTextEditor?.editor.chain().focus(position).run();\n },\n\n onBlockquoteToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBlockquote().run();\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n\n },\n};\n</script>\n"],"names":["editor","_createElementVNode","_createElementBlock","_createVNode","_withCtx","_openBlock","_Fragment","_renderList","_createBlock","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_withModifiers","_createCommentVNode","_withKeys","_normalizeStyle","_mergeProps"],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const button = require("../../../components/button/button.vue.cjs");
|
|
|
8
8
|
const emoji = require("../../../components/emoji/emoji.vue.cjs");
|
|
9
9
|
const emoji_text_wrapper = require("../../../components/emoji_text_wrapper/emoji_text_wrapper.vue.cjs");
|
|
10
10
|
const _sfc_main = {
|
|
11
|
+
compatConfig: { MODE: 3 },
|
|
11
12
|
name: "DtRecipeEmojiRow",
|
|
12
13
|
components: { DtTooltip: tooltip.default, DtButton: button.default, DtEmoji: emoji.default, DtEmojiTextWrapper: emoji_text_wrapper.default },
|
|
13
14
|
mixins: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emoji_row.vue.cjs","sources":["../../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n :reaction=\"reaction\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"200\">\n {{ reaction.tooltip }}\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reaction.ariaLabel\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n size=\"200\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '../../../components/button';\nimport { DtTooltip } from '../../../components/tooltip';\nimport { DtEmoji } from '../../../components/emoji';\nimport { DtEmojiTextWrapper } from '../../../components/emoji_text_wrapper';\n\nexport default {\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n mixins: [],\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined ?? false);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n },\n};\n</script>\n"],"names":["DtTooltip","DtButton","DtEmoji","DtEmojiTextWrapper","REACTIONS_ATTRIBUTES","_openBlock","_createElementBlock","_Fragment","_renderList","_createVNode","_withCtx","_normalizeClass","_createElementVNode","_toDisplayString","_createTextVNode","_renderSlot"],"mappings":";;;;;;;;;AAwDA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY,EAAA,WAAEA,QAAS,SAAA,UAAEC,gBAAUC,SAAAA,MAAAA,SAASC,oBAAAA,mBAAAA,QAAoB;AAAA,EAEhE,QAAQ,CAAE;AAAA,EAEV,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,CAAC,cAAc;AACxB,mBAAW,YAAY,WAAW;AAChC,gBAAM,aAAaC,yCAAqB,MAAM,CAAC,cAAc,SAAS,SAAS,MAAM,MAAkB;AACvG,cAAI,CAAC,WAAY,QAAO;AAAA,QAC1B;AACA,eAAO;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,aAAc,UAAU;AACtB,WAAK,MAAM,iBAAiB,SAAS,uBAAuB;AAAA,IAC7D;AAAA,IAED,aAAc,UAAU,OAAO;AAC7B,WAAK,MAAM,iBAAiB;AAAA,QAC1B,UAAU,SAAS;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AACH;
|
|
1
|
+
{"version":3,"file":"emoji_row.vue.cjs","sources":["../../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n :reaction=\"reaction\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"200\">\n {{ reaction.tooltip }}\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reaction.ariaLabel\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n size=\"200\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '../../../components/button';\nimport { DtTooltip } from '../../../components/tooltip';\nimport { DtEmoji } from '../../../components/emoji';\nimport { DtEmojiTextWrapper } from '../../../components/emoji_text_wrapper';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n mixins: [],\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined ?? false);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n },\n};\n</script>\n"],"names":["DtTooltip","DtButton","DtEmoji","DtEmojiTextWrapper","REACTIONS_ATTRIBUTES","_openBlock","_createElementBlock","_Fragment","_renderList","_createVNode","_withCtx","_normalizeClass","_createElementVNode","_toDisplayString","_createTextVNode","_renderSlot"],"mappings":";;;;;;;;;AAwDA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,YAAY,EAAA,WAAEA,QAAS,SAAA,UAAEC,gBAAUC,SAAAA,MAAAA,SAASC,oBAAAA,mBAAAA,QAAoB;AAAA,EAEhE,QAAQ,CAAE;AAAA,EAEV,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,CAAC,cAAc;AACxB,mBAAW,YAAY,WAAW;AAChC,gBAAM,aAAaC,yCAAqB,MAAM,CAAC,cAAc,SAAS,SAAS,MAAM,MAAkB;AACvG,cAAI,CAAC,WAAY,QAAO;AAAA,QAC1B;AACA,eAAO;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,aAAc,UAAU;AACtB,WAAK,MAAM,iBAAiB,SAAS,uBAAuB;AAAA,IAC7D;AAAA,IAED,aAAc,UAAU,OAAO;AAC7B,WAAK,MAAM,iBAAiB;AAAA,QAC1B,UAAU,SAAS;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AACH;AAjGQ,MAAA,aAAA,EAAA,OAAM,qBAAoB;AADlC,MAAA,aAAA,CAAA,UAAA;AAac,MAAA,aAAA,EAAA,eAAY,OAAM;AAkBd,MAAA,aAAA,EAAA,OAAM,4BAA2B;AAMjC,MAAA,aAAA,EAAA,OAAM,sCAAqC;;;;;;AApC3D,SAAAC,cAAA,GAAAC,uBA6CO,QA7CP,YA6CO;AAAA,KA5CLD,cAAA,IAAA,GAAAC,IAAAA,mBAyCOC,IA3CX,UAAA,MAAAC,IAAAA,WAGyB,OAAS,WAHlC,CAGa,aAAQ;8BADjBF,IAyCO,mBAAA,QAAA;AAAA,QAvCJ,KAAK,SAAS;AAAA,QACd;AAAA;QAEDG,IAAAA,YAmCa,uBAAA;AAAA,UAlCX,OAAM;AAAA,UACN,iBAAc;AAAA,UACd,QAAO;AAAA,UACN,UAAQ,UAAU,sBAAa,UAAU,KAAK;AAAA;UAOpC,QAAMC,IAAA,QACf,CAqBY,EAtBO,YAAK;AAAA,YACxBD,IAAAA,YAqBY,sBAAA;AAAA,cApBV,YAAW;AAAA,cACX,MAAK;AAAA,cACL,WAAQ;AAAA,cACP,OAvBbE,IAAAA,eAAA;AAAA;gBAuBkF,SAAS,aAAU,2CAAA;AAAA;cAIxF,cAAY,SAAS;AAAA,cACrB;AAAA,cACA,SAAK,YAAE,SAAY,aAAC,QAAQ;AAAA;cA7BzC,SAAAD,IAAA,QA+BY,MAKO;AAAA,gBALPE,IAAA,mBAKO,QALP,YAKO;AAAA,kBAJLH,IAAAA,YAGE,qBAAA;AAAA,oBAFA,MAAK;AAAA,oBACJ,MAAM,SAAS;AAAA;;gBAGpBG,IAAA,mBAEO,QAFP,YACKC,IAAAA,gBAAA,SAAS,GAAG,GAAA,CAAA;AAAA;cAtC7B,GAAA;AAAA;;UAAA,SAAAH,IAAA,QAaQ,MAIO;AAAA,YAJPE,IAAA,mBAIO,QAJP,YAIO;AAAA,cAHLH,IAAAA,YAEwB,kCAAA,EAFD,MAAK,MAAK,GAAA;AAAA,gBAd3C,SAAAC,IAAA,QAeY,MAAsB;AAAA,kBAflCI,IAAAA,gBAeeD,IAAAA,gBAAA,SAAS,OAAO,GAAA,CAAA;AAAA;gBAf/B,GAAA;AAAA;;;UAAA,GAAA;AAAA;MAAA,GAAA,GAAA,UAAA;AAAA;IA6CIE,eAAsB,KAAA,QAAA,QAAA;AAAA;;;;"}
|
|
@@ -6,6 +6,7 @@ import DtButton from "../../../components/button/button.vue.js";
|
|
|
6
6
|
import DtEmoji from "../../../components/emoji/emoji.vue.js";
|
|
7
7
|
import DtEmojiTextWrapper from "../../../components/emoji_text_wrapper/emoji_text_wrapper.vue.js";
|
|
8
8
|
const _sfc_main = {
|
|
9
|
+
compatConfig: { MODE: 3 },
|
|
9
10
|
name: "DtRecipeEmojiRow",
|
|
10
11
|
components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },
|
|
11
12
|
mixins: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emoji_row.vue.js","sources":["../../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n :reaction=\"reaction\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"200\">\n {{ reaction.tooltip }}\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reaction.ariaLabel\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n size=\"200\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '../../../components/button';\nimport { DtTooltip } from '../../../components/tooltip';\nimport { DtEmoji } from '../../../components/emoji';\nimport { DtEmojiTextWrapper } from '../../../components/emoji_text_wrapper';\n\nexport default {\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n mixins: [],\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined ?? false);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n },\n};\n</script>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_renderList","_createVNode","_withCtx","_normalizeClass","_createElementVNode","_toDisplayString","_createTextVNode","_renderSlot"],"mappings":";;;;;;;AAwDA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY,EAAE,WAAW,UAAU,SAAS,mBAAoB;AAAA,EAEhE,QAAQ,CAAE;AAAA,EAEV,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,CAAC,cAAc;AACxB,mBAAW,YAAY,WAAW;AAChC,gBAAM,aAAa,qBAAqB,MAAM,CAAC,cAAc,SAAS,SAAS,MAAM,MAAkB;AACvG,cAAI,CAAC,WAAY,QAAO;AAAA,QAC1B;AACA,eAAO;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,aAAc,UAAU;AACtB,WAAK,MAAM,iBAAiB,SAAS,uBAAuB;AAAA,IAC7D;AAAA,IAED,aAAc,UAAU,OAAO;AAC7B,WAAK,MAAM,iBAAiB;AAAA,QAC1B,UAAU,SAAS;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AACH;
|
|
1
|
+
{"version":3,"file":"emoji_row.vue.js","sources":["../../../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["<template>\n <span class=\"d-recipe-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n :reaction=\"reaction\"\n >\n <dt-tooltip\n class=\"d-recipe-emoji-row__tooltip\"\n content-class=\"d-recipe-emoji-row__tooltip-content\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"200\">\n {{ reaction.tooltip }}\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"[\n 'd-recipe-emoji-row__reaction',\n reaction.isSelected ? 'd-recipe-emoji-row__reaction--selected' : '',\n ]\"\n :aria-label=\"reaction.ariaLabel\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"d-recipe-emoji-row__emoji\">\n <dt-emoji\n size=\"200\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"d-recipe-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '../../../components/button';\nimport { DtTooltip } from '../../../components/tooltip';\nimport { DtEmoji } from '../../../components/emoji';\nimport { DtEmojiTextWrapper } from '../../../components/emoji_text_wrapper';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n mixins: [],\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined ?? false);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n },\n};\n</script>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_renderList","_createVNode","_withCtx","_normalizeClass","_createElementVNode","_toDisplayString","_createTextVNode","_renderSlot"],"mappings":";;;;;;;AAwDA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,YAAY,EAAE,WAAW,UAAU,SAAS,mBAAoB;AAAA,EAEhE,QAAQ,CAAE;AAAA,EAEV,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,CAAC,cAAc;AACxB,mBAAW,YAAY,WAAW;AAChC,gBAAM,aAAa,qBAAqB,MAAM,CAAC,cAAc,SAAS,SAAS,MAAM,MAAkB;AACvG,cAAI,CAAC,WAAY,QAAO;AAAA,QAC1B;AACA,eAAO;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,aAAc,UAAU;AACtB,WAAK,MAAM,iBAAiB,SAAS,uBAAuB;AAAA,IAC7D;AAAA,IAED,aAAc,UAAU,OAAO;AAC7B,WAAK,MAAM,iBAAiB;AAAA,QAC1B,UAAU,SAAS;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AACH;AAjGQ,MAAA,aAAA,EAAA,OAAM,qBAAoB;AADlC,MAAA,aAAA,CAAA,UAAA;AAac,MAAA,aAAA,EAAA,eAAY,OAAM;AAkBd,MAAA,aAAA,EAAA,OAAM,4BAA2B;AAMjC,MAAA,aAAA,EAAA,OAAM,sCAAqC;;;;;;AApC3D,SAAAA,UAAA,GAAAC,mBA6CO,QA7CP,YA6CO;AAAA,KA5CLD,UAAA,IAAA,GAAAC,mBAyCOC,UA3CX,MAAAC,WAGyB,OAAS,WAHlC,CAGa,aAAQ;0BADjBF,mBAyCO,QAAA;AAAA,QAvCJ,KAAK,SAAS;AAAA,QACd;AAAA;QAEDG,YAmCa,uBAAA;AAAA,UAlCX,OAAM;AAAA,UACN,iBAAc;AAAA,UACd,QAAO;AAAA,UACN,UAAQ,UAAU,sBAAa,UAAU,KAAK;AAAA;UAOpC,QAAMC,QACf,CAqBY,EAtBO,YAAK;AAAA,YACxBD,YAqBY,sBAAA;AAAA,cApBV,YAAW;AAAA,cACX,MAAK;AAAA,cACL,WAAQ;AAAA,cACP,OAvBbE,eAAA;AAAA;gBAuBkF,SAAS,aAAU,2CAAA;AAAA;cAIxF,cAAY,SAAS;AAAA,cACrB;AAAA,cACA,SAAK,YAAE,SAAY,aAAC,QAAQ;AAAA;cA7BzC,SAAAD,QA+BY,MAKO;AAAA,gBALPE,mBAKO,QALP,YAKO;AAAA,kBAJLH,YAGE,qBAAA;AAAA,oBAFA,MAAK;AAAA,oBACJ,MAAM,SAAS;AAAA;;gBAGpBG,mBAEO,QAFP,YACKC,gBAAA,SAAS,GAAG,GAAA,CAAA;AAAA;cAtC7B,GAAA;AAAA;;UAAA,SAAAH,QAaQ,MAIO;AAAA,YAJPE,mBAIO,QAJP,YAIO;AAAA,cAHLH,YAEwB,kCAAA,EAFD,MAAK,MAAK,GAAA;AAAA,gBAd3C,SAAAC,QAeY,MAAsB;AAAA,kBAflCI,gBAeeD,gBAAA,SAAS,OAAO,GAAA,CAAA;AAAA;gBAf/B,GAAA;AAAA;;;UAAA,GAAA;AAAA;MAAA,GAAA,GAAA,UAAA;AAAA;IA6CIE,WAAsB,KAAA,QAAA,QAAA;AAAA;;;"}
|
|
@@ -7,6 +7,7 @@ const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-he
|
|
|
7
7
|
const item_layout = require("../../../components/item_layout/item_layout.vue.cjs");
|
|
8
8
|
const collapsible = require("../../../components/collapsible/collapsible.vue.cjs");
|
|
9
9
|
const _sfc_main = {
|
|
10
|
+
compatConfig: { MODE: 3 },
|
|
10
11
|
name: "DtRecipeFeedItemPill",
|
|
11
12
|
components: { DtItemLayout: item_layout.default, DtCollapsible: collapsible.default },
|
|
12
13
|
props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed_item_pill.vue.cjs","sources":["../../../../recipes/conversation_view/feed_item_pill/feed_item_pill.vue"],"sourcesContent":["<template>\n <div :class=\"['d-recipe-feed-item-pill__border', borderClass, wrapperClass]\">\n <div class=\"d-recipe-feed-item-pill__wrapper\">\n <dt-collapsible :open=\"expanded\">\n <template #anchor>\n <button\n data-qa=\"dt-recipe-feed-item-pill\"\n :aria-label=\"ariaLabel\"\n :class=\"['d-recipe-feed-item-pill__button', toggleableClass, buttonClass]\"\n @focusin=\"hover = true\"\n @focusout=\"hover = false\"\n @mouseenter=\"hover = true\"\n @mouseleave=\"hover = false\"\n @click=\"onClick\"\n >\n <dt-item-layout class=\"d-recipe-feed-item-pill__layout\">\n <slot name=\"title\">\n <span class=\"d-recipe-feed-item-pill__title\">{{ title }}</span>\n </slot>\n <template #left>\n <div\n class=\"d-recipe-feed-item-pill__icon\"\n data-qa=\"dt-recipe-feed-item-pill__icon\"\n >\n <component\n :is=\"toggleIcon\"\n v-if=\"showChevronIcon\"\n size=\"300\"\n />\n <!-- @slot Slot for left icon, icon-size slot prop defaults to '300' -->\n <slot\n v-else\n name=\"leftIcon\"\n :icon-size=\"'300'\"\n />\n </div>\n </template>\n <template #subtitle>\n <slot name=\"subtitle\" />\n </template>\n <template #bottom>\n <slot name=\"bottom\" />\n </template>\n <template #right>\n <slot name=\"right\" />\n </template>\n </dt-item-layout>\n </button>\n </template>\n <template #content>\n <div class=\"d-recipe-feed-item-pill__content\">\n <slot name=\"content\" />\n </div>\n </template>\n </dt-collapsible>\n </div>\n </div>\n</template>\n\n<script>\nimport { FEED_ITEM_PILL_BORDER_COLORS } from './feed_item_pill_constants';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtCollapsible } from '@/components/collapsible';\nimport { DtIconChevronDown, DtIconChevronRight } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n name: 'DtRecipeFeedItemPill',\n\n components: { DtItemLayout, DtCollapsible },\n\n props: {\n /**\n * Bolded primary text\n */\n title: {\n type: String,\n default: () => '',\n },\n\n /**\n * Additional styling around the pill\n */\n wrapperClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional styling for the pill\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Aria label for feed pill\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets whether the pill can be toggled (Icon changing on hover, expanding and collapsing, pointer)\n */\n toggleable: {\n type: Boolean,\n default: () => true,\n },\n\n defaultToggled: {\n type: Boolean,\n default: () => false,\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(FEED_ITEM_PILL_BORDER_COLORS).includes(color),\n },\n },\n\n data () {\n return {\n hover: false,\n expanded: this.defaultToggled,\n };\n },\n\n computed: {\n toggleIcon () {\n return this.expanded ? DtIconChevronDown : DtIconChevronRight;\n },\n\n showChevronIcon () {\n return this.toggleable && this.hover;\n },\n\n toggleableClass () {\n return this.toggleable ? 'd-recipe-feed-item-pill--toggleable' : '';\n },\n\n borderClass () {\n return FEED_ITEM_PILL_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n onClick () {\n if (!this.toggleable) return;\n\n this.expanded = !this.expanded;\n },\n },\n};\n</script>\n"],"names":["DtItemLayout","DtCollapsible","FEED_ITEM_PILL_BORDER_COLORS","DtIconChevronDown","DtIconChevronRight","_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_createBlock","_resolveDynamicComponent","_renderSlot","_withCtx","_toDisplayString"],"mappings":";;;;;;;;AAiEA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY,EAAA,cAAEA,YAAY,SAAA,eAAEC,oBAAe;AAAA,EAE3C,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,IAChB;AAAA;AAAA;AAAA;AAAA,IAKD,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,IAChB;AAAA,IAED,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,IAChB;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,UAAU,OAAO,KAAKC,qDAA4B,EAAE,SAAS,KAAK;AAAA,IAC/E;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,OAAO;AAAA,MACP,UAAU,KAAK;AAAA;EAElB;AAAA,EAED,UAAU;AAAA,IACR,aAAc;AACZ,aAAO,KAAK,WAAWC,KAAkB,oBAAEC;IAC5C;AAAA,IAED,kBAAmB;AACjB,aAAO,KAAK,cAAc,KAAK;AAAA,IAChC;AAAA,IAED,kBAAmB;AACjB,aAAO,KAAK,aAAa,wCAAwC;AAAA,IAClE;AAAA,IAED,cAAe;AACb,aAAOF,yBAA4B,6BAAC,KAAK,WAAW;AAAA,IACrD;AAAA,EACF;AAAA,EAED,SAAS;AAAA,IACP,UAAW;AACT,UAAI,CAAC,KAAK,WAAY;AAEtB,WAAK,WAAW,CAAC,KAAK;AAAA,IACvB;AAAA,EACF;AACH;
|
|
1
|
+
{"version":3,"file":"feed_item_pill.vue.cjs","sources":["../../../../recipes/conversation_view/feed_item_pill/feed_item_pill.vue"],"sourcesContent":["<template>\n <div :class=\"['d-recipe-feed-item-pill__border', borderClass, wrapperClass]\">\n <div class=\"d-recipe-feed-item-pill__wrapper\">\n <dt-collapsible :open=\"expanded\">\n <template #anchor>\n <button\n data-qa=\"dt-recipe-feed-item-pill\"\n :aria-label=\"ariaLabel\"\n :class=\"['d-recipe-feed-item-pill__button', toggleableClass, buttonClass]\"\n @focusin=\"hover = true\"\n @focusout=\"hover = false\"\n @mouseenter=\"hover = true\"\n @mouseleave=\"hover = false\"\n @click=\"onClick\"\n >\n <dt-item-layout class=\"d-recipe-feed-item-pill__layout\">\n <slot name=\"title\">\n <span class=\"d-recipe-feed-item-pill__title\">{{ title }}</span>\n </slot>\n <template #left>\n <div\n class=\"d-recipe-feed-item-pill__icon\"\n data-qa=\"dt-recipe-feed-item-pill__icon\"\n >\n <component\n :is=\"toggleIcon\"\n v-if=\"showChevronIcon\"\n size=\"300\"\n />\n <!-- @slot Slot for left icon, icon-size slot prop defaults to '300' -->\n <slot\n v-else\n name=\"leftIcon\"\n :icon-size=\"'300'\"\n />\n </div>\n </template>\n <template #subtitle>\n <slot name=\"subtitle\" />\n </template>\n <template #bottom>\n <slot name=\"bottom\" />\n </template>\n <template #right>\n <slot name=\"right\" />\n </template>\n </dt-item-layout>\n </button>\n </template>\n <template #content>\n <div class=\"d-recipe-feed-item-pill__content\">\n <slot name=\"content\" />\n </div>\n </template>\n </dt-collapsible>\n </div>\n </div>\n</template>\n\n<script>\nimport { FEED_ITEM_PILL_BORDER_COLORS } from './feed_item_pill_constants';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtCollapsible } from '@/components/collapsible';\nimport { DtIconChevronDown, DtIconChevronRight } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeFeedItemPill',\n\n components: { DtItemLayout, DtCollapsible },\n\n props: {\n /**\n * Bolded primary text\n */\n title: {\n type: String,\n default: () => '',\n },\n\n /**\n * Additional styling around the pill\n */\n wrapperClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional styling for the pill\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Aria label for feed pill\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets whether the pill can be toggled (Icon changing on hover, expanding and collapsing, pointer)\n */\n toggleable: {\n type: Boolean,\n default: () => true,\n },\n\n defaultToggled: {\n type: Boolean,\n default: () => false,\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(FEED_ITEM_PILL_BORDER_COLORS).includes(color),\n },\n },\n\n data () {\n return {\n hover: false,\n expanded: this.defaultToggled,\n };\n },\n\n computed: {\n toggleIcon () {\n return this.expanded ? DtIconChevronDown : DtIconChevronRight;\n },\n\n showChevronIcon () {\n return this.toggleable && this.hover;\n },\n\n toggleableClass () {\n return this.toggleable ? 'd-recipe-feed-item-pill--toggleable' : '';\n },\n\n borderClass () {\n return FEED_ITEM_PILL_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n onClick () {\n if (!this.toggleable) return;\n\n this.expanded = !this.expanded;\n },\n },\n};\n</script>\n"],"names":["DtItemLayout","DtCollapsible","FEED_ITEM_PILL_BORDER_COLORS","DtIconChevronDown","DtIconChevronRight","_createElementBlock","_normalizeClass","_createElementVNode","_createVNode","_createBlock","_resolveDynamicComponent","_renderSlot","_withCtx","_toDisplayString"],"mappings":"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"}
|