@dialpad/dialtone-vue 3.210.0 → 3.211.0-next.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/common/constants/index.cjs +1 -1
- package/dist/common/constants/index.cjs.map +1 -1
- package/dist/common/constants/index.js +10 -10
- package/dist/common/constants/index.js.map +1 -1
- package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
- package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
- package/dist/common/mixins/keyboard-list-navigation.js +7 -7
- package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/dialtone-vue.cjs +1 -1
- package/dist/dialtone-vue.js +425 -387
- package/dist/dialtone-vue.js.map +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
- package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
- package/dist/lib/avatar/avatar-constants.cjs +1 -1
- package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
- package/dist/lib/avatar/avatar-constants.js +169 -43
- package/dist/lib/avatar/avatar-constants.js.map +1 -1
- package/dist/lib/avatar/avatar.cjs +1 -1
- package/dist/lib/avatar/avatar.cjs.map +1 -1
- package/dist/lib/avatar/avatar.js +185 -100
- package/dist/lib/avatar/avatar.js.map +1 -1
- package/dist/lib/avatar/index.cjs +1 -1
- package/dist/lib/avatar/index.js +16 -10
- package/dist/lib/badge/badge.cjs +1 -1
- package/dist/lib/badge/badge.cjs.map +1 -1
- package/dist/lib/badge/badge.js +47 -35
- package/dist/lib/badge/badge.js.map +1 -1
- package/dist/lib/button/button-constants.cjs +1 -1
- package/dist/lib/button/button-constants.cjs.map +1 -1
- package/dist/lib/button/button-constants.js +23 -19
- package/dist/lib/button/button-constants.js.map +1 -1
- package/dist/lib/button/button.cjs +1 -1
- package/dist/lib/button/button.cjs.map +1 -1
- package/dist/lib/button/button.js +171 -66
- package/dist/lib/button/button.js.map +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button/callbar-button.js +13 -14
- package/dist/lib/callbar-button/callbar-button.js.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +42 -30
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +38 -26
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbox/callbox.cjs +1 -1
- package/dist/lib/callbox/callbox.cjs.map +1 -1
- package/dist/lib/callbox/callbox.js +47 -47
- package/dist/lib/callbox/callbox.js.map +1 -1
- package/dist/lib/chip/chip.cjs +1 -1
- package/dist/lib/chip/chip.cjs.map +1 -1
- package/dist/lib/chip/chip.js +1 -1
- package/dist/lib/chip/chip.js.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
- package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
- package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
- package/dist/lib/contact-info/contact-info.cjs +1 -1
- package/dist/lib/contact-info/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info/contact-info.js +56 -56
- package/dist/lib/contact-info/contact-info.js.map +1 -1
- package/dist/lib/contact-row/contact-row.cjs +1 -1
- package/dist/lib/contact-row/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row/contact-row.js +1 -1
- package/dist/lib/contact-row/contact-row.js.map +1 -1
- package/dist/lib/datepicker/datepicker.cjs +1 -1
- package/dist/lib/datepicker/datepicker.cjs.map +1 -1
- package/dist/lib/datepicker/datepicker.js +11 -11
- package/dist/lib/datepicker/datepicker.js.map +1 -1
- package/dist/lib/editor/editor.cjs.map +1 -1
- package/dist/lib/editor/editor.js.map +1 -1
- package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
- package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
- package/dist/lib/emoji-picker/emoji-picker.js +2 -2
- package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
- package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.js +11 -11
- package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs +2 -0
- package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
- package/dist/lib/filter-pill/filter-pill.js +346 -0
- package/dist/lib/filter-pill/filter-pill.js.map +1 -0
- package/dist/lib/filter-pill/index.cjs +2 -0
- package/dist/lib/filter-pill/index.cjs.map +1 -0
- package/dist/lib/filter-pill/index.js +5 -0
- package/dist/lib/filter-pill/index.js.map +1 -0
- package/dist/lib/general-row/general-row.cjs +1 -1
- package/dist/lib/general-row/general-row.cjs.map +1 -1
- package/dist/lib/general-row/general-row.js +153 -99
- package/dist/lib/general-row/general-row.js.map +1 -1
- package/dist/lib/group-row/group-row.cjs +1 -1
- package/dist/lib/group-row/group-row.cjs.map +1 -1
- package/dist/lib/group-row/group-row.js +1 -1
- package/dist/lib/group-row/group-row.js.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.js +31 -31
- package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
- package/dist/lib/input/input.cjs +1 -1
- package/dist/lib/input/input.cjs.map +1 -1
- package/dist/lib/input/input.js +53 -42
- package/dist/lib/input/input.js.map +1 -1
- package/dist/lib/item-layout/item-layout.cjs +3 -3
- package/dist/lib/item-layout/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout/item-layout.js +74 -39
- package/dist/lib/item-layout/item-layout.js.map +1 -1
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
- package/dist/lib/link/link.cjs +1 -1
- package/dist/lib/link/link.cjs.map +1 -1
- package/dist/lib/link/link.js +21 -12
- package/dist/lib/link/link.js.map +1 -1
- package/dist/lib/list-item/list-item.cjs +1 -1
- package/dist/lib/list-item/list-item.cjs.map +1 -1
- package/dist/lib/list-item/list-item.js +25 -15
- package/dist/lib/list-item/list-item.js.map +1 -1
- package/dist/lib/loader/loader.cjs +13 -1
- package/dist/lib/loader/loader.cjs.map +1 -1
- package/dist/lib/loader/loader.js +31 -20
- package/dist/lib/loader/loader.js.map +1 -1
- package/dist/lib/message-input/message-input.cjs +1 -1
- package/dist/lib/message-input/message-input.cjs.map +1 -1
- package/dist/lib/message-input/message-input.js +39 -39
- package/dist/lib/message-input/message-input.js.map +1 -1
- package/dist/lib/mode-island/index.cjs +2 -0
- package/dist/lib/mode-island/index.cjs.map +1 -0
- package/dist/lib/mode-island/index.js +7 -0
- package/dist/lib/mode-island/index.js.map +1 -0
- package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
- package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island-constants.js +12 -0
- package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
- package/dist/lib/mode-island/mode-island.cjs +2 -0
- package/dist/lib/mode-island/mode-island.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island.js +130 -0
- package/dist/lib/mode-island/mode-island.js.map +1 -0
- package/dist/lib/mode-island/utils.cjs +2 -0
- package/dist/lib/mode-island/utils.cjs.map +1 -0
- package/dist/lib/mode-island/utils.js +32 -0
- package/dist/lib/mode-island/utils.js.map +1 -0
- package/dist/lib/mode-island/validators.cjs +2 -0
- package/dist/lib/mode-island/validators.cjs.map +1 -0
- package/dist/lib/mode-island/validators.js +12 -0
- package/dist/lib/mode-island/validators.js.map +1 -0
- package/dist/lib/notice/notice-action.cjs +1 -1
- package/dist/lib/notice/notice-action.cjs.map +1 -1
- package/dist/lib/notice/notice-action.js +7 -7
- package/dist/lib/notice/notice-action.js.map +1 -1
- package/dist/lib/pagination/pagination.cjs +1 -1
- package/dist/lib/pagination/pagination.cjs.map +1 -1
- package/dist/lib/pagination/pagination.js +15 -14
- package/dist/lib/pagination/pagination.js.map +1 -1
- package/dist/lib/popover/popover.cjs +1 -1
- package/dist/lib/popover/popover.cjs.map +1 -1
- package/dist/lib/popover/popover.js +1 -1
- package/dist/lib/popover/popover.js.map +1 -1
- package/dist/lib/progress-circle/index.cjs +2 -0
- package/dist/lib/progress-circle/index.cjs.map +1 -0
- package/dist/lib/progress-circle/index.js +10 -0
- package/dist/lib/progress-circle/index.js.map +1 -0
- package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
- package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
- package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
- package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
- package/dist/lib/progress-circle/progress-circle.cjs +2 -0
- package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
- package/dist/lib/progress-circle/progress-circle.js +136 -0
- package/dist/lib/progress-circle/progress-circle.js.map +1 -0
- package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout-constants.js +4 -2
- package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
- package/dist/lib/root-layout/root-layout.cjs +1 -1
- package/dist/lib/root-layout/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout.js +9 -10
- package/dist/lib/root-layout/root-layout.js.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
- package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
- package/dist/lib/split-button/split-button-alpha.cjs +1 -1
- package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
- package/dist/lib/split-button/split-button-alpha.js +86 -33
- package/dist/lib/split-button/split-button-alpha.js.map +1 -1
- package/dist/lib/split-button/split-button.cjs +1 -1
- package/dist/lib/split-button/split-button.cjs.map +1 -1
- package/dist/lib/split-button/split-button.js +282 -92
- package/dist/lib/split-button/split-button.js.map +1 -1
- package/dist/lib/tab/index.cjs +1 -1
- package/dist/lib/tab/index.js +13 -11
- package/dist/lib/tab/tab-group.cjs +1 -1
- package/dist/lib/tab/tab-group.cjs.map +1 -1
- package/dist/lib/tab/tab-group.js +107 -46
- package/dist/lib/tab/tab-group.js.map +1 -1
- package/dist/lib/tab/tab.cjs +1 -1
- package/dist/lib/tab/tab.cjs.map +1 -1
- package/dist/lib/tab/tab.js +128 -37
- package/dist/lib/tab/tab.js.map +1 -1
- package/dist/lib/tab/tabs-constants.cjs +1 -1
- package/dist/lib/tab/tabs-constants.cjs.map +1 -1
- package/dist/lib/tab/tabs-constants.js +13 -11
- package/dist/lib/tab/tabs-constants.js.map +1 -1
- package/dist/lib/text/index.cjs +2 -0
- package/dist/lib/text/index.cjs.map +1 -0
- package/dist/lib/text/index.js +20 -0
- package/dist/lib/text/index.js.map +1 -0
- package/dist/lib/text/text-constants.cjs +2 -0
- package/dist/lib/text/text-constants.cjs.map +1 -0
- package/dist/lib/text/text-constants.js +69 -0
- package/dist/lib/text/text-constants.js.map +1 -0
- package/dist/lib/text/text-tone-tokens.cjs +2 -0
- package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
- package/dist/lib/text/text-tone-tokens.js +33 -0
- package/dist/lib/text/text-tone-tokens.js.map +1 -0
- package/dist/lib/text/text.cjs +2 -0
- package/dist/lib/text/text.cjs.map +1 -0
- package/dist/lib/text/text.js +203 -0
- package/dist/lib/text/text.js.map +1 -0
- package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
- package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info/top-banner-info.js +16 -16
- package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
- package/dist/localization/en-US.cjs +2 -0
- package/dist/localization/en-US.cjs.map +1 -1
- package/dist/localization/en-US.js +2 -0
- package/dist/localization/en-US.js.map +1 -1
- package/dist/localization/es-LA.cjs +1 -1
- package/dist/localization/es-LA.cjs.map +1 -1
- package/dist/localization/es-LA.js +1 -1
- package/dist/localization/es-LA.js.map +1 -1
- package/dist/localization/it-IT.cjs +3 -3
- package/dist/localization/it-IT.cjs.map +1 -1
- package/dist/localization/it-IT.js +3 -3
- package/dist/localization/it-IT.js.map +1 -1
- package/dist/localization/nl-NL.cjs +2 -2
- package/dist/localization/nl-NL.cjs.map +1 -1
- package/dist/localization/nl-NL.js +2 -2
- package/dist/localization/nl-NL.js.map +1 -1
- package/dist/localization/ru-RU.cjs +1 -1
- package/dist/localization/ru-RU.cjs.map +1 -1
- package/dist/localization/ru-RU.js +1 -1
- package/dist/localization/ru-RU.js.map +1 -1
- package/dist/localization/zh-CN.cjs +1 -1
- package/dist/localization/zh-CN.cjs.map +1 -1
- package/dist/localization/zh-CN.js +1 -1
- package/dist/localization/zh-CN.js.map +1 -1
- package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
- package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
- package/dist/types/common/sr_only_close_button.vue.d.ts +38 -2
- package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
- package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
- package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
- package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
- package/dist/types/components/avatar/index.d.ts +1 -1
- package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
- package/dist/types/components/banner/banner.vue.d.ts +76 -4
- package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
- package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
- package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
- package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
- package/dist/types/components/button/button.vue.d.ts +38 -2
- package/dist/types/components/button/button.vue.d.ts.map +1 -1
- package/dist/types/components/button/button_constants.d.ts +4 -0
- package/dist/types/components/button/button_constants.d.ts.map +1 -1
- package/dist/types/components/chip/chip.vue.d.ts +38 -2
- package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
- package/dist/types/components/collapsible/collapsible.vue.d.ts +38 -2
- package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
- package/dist/types/components/combobox/combobox.vue.d.ts +79 -13
- package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
- package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +39 -6
- package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
- package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +39 -6
- package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
- package/dist/types/components/dropdown/dropdown.vue.d.ts +76 -4
- package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
- package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2070 -0
- package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
- package/dist/types/components/filter_pill/index.d.ts +2 -0
- package/dist/types/components/filter_pill/index.d.ts.map +1 -0
- package/dist/types/components/hovercard/hovercard.vue.d.ts +152 -8
- package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/types/components/image_viewer/image_viewer.vue.d.ts +76 -4
- package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/types/components/input/input.vue.d.ts.map +1 -1
- package/dist/types/components/item_layout/item_layout.vue.d.ts +36 -5
- package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
- package/dist/types/components/link/link.vue.d.ts +9 -0
- package/dist/types/components/list_item/list_item.vue.d.ts +39 -6
- package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
- package/dist/types/components/loader/loader.vue.d.ts +1 -32
- package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
- package/dist/types/components/modal/modal.vue.d.ts +76 -4
- package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/types/components/mode_island/index.d.ts +3 -0
- package/dist/types/components/mode_island/index.d.ts.map +1 -0
- package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
- package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
- package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
- package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
- package/dist/types/components/mode_island/utils.d.ts +12 -0
- package/dist/types/components/mode_island/utils.d.ts.map +1 -0
- package/dist/types/components/mode_island/validators.d.ts +6 -0
- package/dist/types/components/mode_island/validators.d.ts.map +1 -0
- package/dist/types/components/notice/notice.vue.d.ts +76 -4
- package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
- package/dist/types/components/notice/notice_action.vue.d.ts +76 -4
- package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
- package/dist/types/components/pagination/pagination.vue.d.ts +38 -2
- package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
- package/dist/types/components/popover/popover.vue.d.ts +76 -4
- package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/types/components/popover/popover_header_footer.vue.d.ts +38 -2
- package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
- package/dist/types/components/progress_circle/index.d.ts +3 -0
- package/dist/types/components/progress_circle/index.d.ts.map +1 -0
- package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
- package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
- package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
- package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
- package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
- package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +71 -25
- package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +39 -6
- package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +114 -6
- package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
- package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
- package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
- package/dist/types/components/split_button/split_button-alpha.vue.d.ts +57 -3
- package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +1 -1
- package/dist/types/components/split_button/split_button-omega.vue.d.ts +38 -2
- package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
- package/dist/types/components/split_button/split_button.vue.d.ts +342 -28
- package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
- package/dist/types/components/tab/index.d.ts +1 -1
- package/dist/types/components/tab/tab.vue.d.ts +73 -7
- package/dist/types/components/tab/tab.vue.d.ts.map +1 -1
- package/dist/types/components/tab/tab_group.vue.d.ts +42 -0
- package/dist/types/components/tab/tab_group.vue.d.ts.map +1 -1
- package/dist/types/components/tab/tabs_constants.d.ts +5 -3
- package/dist/types/components/tab/tabs_constants.d.ts.map +1 -1
- package/dist/types/components/text/index.d.ts +3 -0
- package/dist/types/components/text/index.d.ts.map +1 -0
- package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
- package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
- package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
- package/dist/types/components/text/text.vue.d.ts +141 -0
- package/dist/types/components/text/text.vue.d.ts.map +1 -0
- package/dist/types/components/text/text_constants.d.ts +73 -0
- package/dist/types/components/text/text_constants.d.ts.map +1 -0
- package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
- package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
- package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +76 -4
- package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
- package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +76 -4
- package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
- package/dist/types/components/toast/toast.vue.d.ts +304 -16
- package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +38 -2
- package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
- package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +152 -8
- package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
- package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +152 -8
- package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
- package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +114 -6
- package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
- package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +38 -2
- package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
- package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +234 -30
- package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +196 -12
- package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +158 -10
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +38 -2
- package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +114 -6
- package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +114 -6
- package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +38 -2
- package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +74 -7
- package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +110 -31
- package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +74 -7
- package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +38 -2
- package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +152 -8
- package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
- package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +38 -2
- package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
- package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +38 -2
- package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
- package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +107 -30
- package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
- package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +38 -2
- package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +467 -28
- package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +396 -3
- package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +396 -3
- package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
- package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
- package/package.json +7 -6
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
- package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n class=\"d-recipe-editor\"\n v-bind=\"addClassStyleAttrs($attrs)\"\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 <template v-for=\"button in buttonGroup.buttonGroup\">\n <!-- Font Style Popover -->\n <editor-toolbar-popover-button\n v-if=\"button.buttonType === 'popover' && button.selector === 'fontStyle'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-font-style-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"fontStyleSearch\"\n root-class=\"d-p8 d-pb4 d-w216\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER')\"\n size=\"sm\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <ul\n v-bind=\"listProps\"\n >\n <dt-list-item\n v-for=\"fontStyle in filteredFontStyles\"\n :key=\"fontStyle.name\"\n :selected=\"isCurrentFontFamily(fontStyle.value)\"\n :style=\"{ fontFamily: fontStyle.value || 'inherit' }\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontStyleSelect(fontStyle.value)\n \"\n >\n {{ fontStyle.name }}\n </dt-list-item>\n </ul>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Font Size Dropdown -->\n <editor-toolbar-dropdown-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'fontSize'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :dropdown-data-qa=\"'dt-recipe-editor-font-size-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #list=\"{ close }\">\n <dt-list-item\n v-for=\"fontSize in fontSizes\"\n :key=\"fontSize.name\"\n :selected=\"isCurrentFontSize(fontSize.value)\"\n role=\"menuitem\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontSizeSelect(fontSize.value, $event)\n \"\n >\n <span :style=\"{ fontSize: fontSize.value }\">{{ fontSize.name }}</span>\n </dt-list-item>\n </template>\n </editor-toolbar-dropdown-button>\n\n <!-- Font Color Button -->\n <dt-button\n v-else-if=\"button.buttonType === 'custom' && button.selector === 'fontColor'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n v-dt-tooltip=\"{ message: button.tooltipMessage, placement: 'top' }\"\n kind=\"muted\"\n importance=\"clear\"\n size=\"xs\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n :style=\"!isDefaultFontColor ? { color: currentFontColor } : {}\"\n />\n <dt-input\n :value=\"currentFontColor\"\n root-class=\"d-w0 d-h0 d-of-hidden\"\n input-class=\"colorPickerInput d-w0 d-h0 d-p0 d-bar0\"\n input-wrapper-class=\"d-w0 d-h0 d-ba-none\"\n size=\"sm\"\n type=\"color\"\n @input=\"onColorPickerInput\"\n @click.stop\n />\n </template>\n </dt-button>\n\n <!-- Variable Popover -->\n <editor-toolbar-popover-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'variable'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"false\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-variable-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"variableSearchValue\"\n root-class=\"d-p8 d-pb4 d-w264\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER')\"\n size=\"md\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <div v-bind=\"listProps\">\n <dt-list-item-group\n v-for=\"(category, index) in filteredCategories\"\n :key=\"category.name\"\n :heading=\"category.name\"\n heading-class=\"d-headline--sm-compact d-p8\"\n >\n <dt-list-item\n v-for=\"item in getFilteredItemsForCategory(category)\"\n :key=\"category.name + item.name\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n insertVariable(category.name, item);\n close();\n \"\n >\n {{ item.name }}\n </dt-list-item>\n <dt-dropdown-separator\n v-if=\"index < filteredCategories.length - 1\"\n />\n </dt-list-item-group>\n </div>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Regular Toolbar Button -->\n <editor-toolbar-button\n v-else-if=\"button.buttonType === 'button'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n :label=\"button.label\"\n :on-click=\"button.onClick\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n />\n </template>\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 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 :ref=\"getButtonRef('custom', 'link')\"\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n :tabindex=\"canFocus(getButtonRef('custom', 'link')) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\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 {{ showAddLinkButtonLabels.title }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLinkButtonLabels['aria-label']\"\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 data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"removeLinkButtonLabels\"\n @click=\"removeLink\"\n >\n {{ removeLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"cancelSetLinkButtonLabels\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n v-bind=\"confirmSetLinkButtonLabels\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButtonLabels.title }}\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', { 'd-recipe-editor__content-image-resize': allowImageResize }]\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-font-color=\"true\"\n :allow-font-family=\"true\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :allow-variable=\"true\"\n :allow-font-size=\"showFontSizeButton\"\n :variable-items=\"flattenedVariableItems\"\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 :use-div-tags=\"useDivTags\"\n :allow-tables=\"allowTables\"\n :allow-image-resize=\"allowImageResize\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n @selected=\"onSelected\"\n />\n </div>\n </div>\n</template>\n\n<script>\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 EDITOR_DEFAULT_FONT_COLOR,\n} from './editor_constants.js';\nimport { removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\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 { DtListItem } from '@/components/list_item';\nimport { DtCombobox } from '@/components/combobox';\n\nimport { DtDropdownSeparator } from '@/components/dropdown/index.js';\nimport { DtListItemGroup } from '@/components/list_item_group/index.js';\nimport EditorToolbarButton from './EditorToolbarButton.vue';\nimport EditorToolbarDropdownButton from './EditorToolbarDropdownButton.vue';\nimport EditorToolbarPopoverButton from './EditorToolbarPopoverButton.vue';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconImage,\n DtIconItalic,\n DtIconQuickReply,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n DtIconType,\n DtIconBraces,\n DtIconSearch,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n} from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtListItemGroup,\n DtDropdownSeparator,\n DtListItem,\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtCombobox,\n EditorToolbarButton,\n EditorToolbarDropdownButton,\n EditorToolbarPopoverButton,\n DtIconQuickReply,\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 DtIconImage,\n DtIconSearch,\n DtIconType,\n DtIconBraces,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\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 modelValue: {\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 * 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 button to add an inline image\n */\n showInlineImageButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show button to add a variable\n */\n showVariableButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Variable categories to display when variable button is clicked\n */\n variableCategories: {\n type: Array,\n default: () => [],\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n }),\n },\n\n /**\n * Show font style button.\n */\n showFontStyleButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font size button.\n */\n showFontSizeButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font color button.\n */\n showFontColorButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Available font styles for the font style dropdown.\n */\n fontStyles: {\n type: Array,\n default: () => [\n { name: 'Arial', value: null }, // arial is the default font\n { name: 'Georgia', value: 'Georgia' },\n { name: 'Helvetica', value: 'Helvetica' },\n { name: 'Verdana', value: 'Verdana'},\n { name: 'Times New Roman', value: 'Times New Roman' },\n ],\n },\n\n fontSizes : {\n type: Array,\n default: () => [\n { name: 'Small', value: '12px'},\n { name: 'Normal', value: '15px'},\n { name: 'Large', value: '24px'},\n { name: 'Huge', value: '36px'},\n ],\n },\n\n /**\n * Use div tags instead of paragraph tags to show text\n */\n useDivTags: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow Tables to be used in to the editor\n */\n allowTables: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow image resizing\n */\n allowImageResize: {\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 * Event fired to sync the modelValue prop with the parent component\n * @event input\n * @type {String|JSON}\n */\n 'update:modelValue',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n\n /**\n * Emit when inline image button is clicked\n * @event inline-image-click\n */\n 'inline-image-click',\n\n /**\n * Emit when text input is changed\n * @event text-input\n * @type {String}\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n currentFontColor: undefined,\n showLinkInput: false,\n fontStyleSearch: '',\n linkInput: '',\n currentButtonRefIndex: 0,\n variableSearchValue: '',\n i18n: new DialtoneLocalization(),\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 flattenedVariableItems () {\n if (!this.variableCategories) return [];\n return this.variableCategories.reduce((acc, category) => {\n return acc.concat(category.items || []);\n }, []);\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 orderedRefs () {\n const refs = this.buttonGroups.reduce(function (acc, buttonData) {\n buttonData.buttonGroup.forEach(button => {\n acc.push(this.getButtonRef(buttonData.key, button.selector));\n }, this);\n return acc;\n }.bind(this), []);\n refs.push(this.getButtonRef('custom', 'link'));\n return refs;\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 buttonType: 'button',\n label: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n selector: 'quickReplies',\n icon: DtIconQuickReply,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showFontStyleButton,\n buttonType: 'popover',\n selector: 'fontStyle',\n icon: DtIconType,\n dataQA: 'dt-recipe-editor-font-style-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontSizeButton,\n buttonType: 'popover',\n selector: 'fontSize',\n icon: DtIconFontSize,\n dataQA: 'dt-recipe-editor-font-size-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontColorButton,\n buttonType: 'custom',\n selector: 'fontColor',\n icon: DtIconStopFilled,\n dataQA: 'dt-recipe-editor-font-color-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL'),\n onClick: this.onColorPickerButtonClick,\n },\n {\n showBtn: this.showBoldButton,\n buttonType: 'button',\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BOLD_BUTTON_LABEL'),\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n buttonType: 'button',\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ITALICS_BUTTON_LABEL'),\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n buttonType: 'button',\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL'),\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n buttonType: 'button',\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_STRIKE_BUTTON_LABEL'),\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n buttonType: 'button',\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n buttonType: 'button',\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n buttonType: 'button',\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n buttonType: 'button',\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n buttonType: 'button',\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL'),\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n buttonType: 'button',\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL'),\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n buttonType: 'button',\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUOTE_BUTTON_LABEL'),\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n buttonType: 'button',\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_CODE_BUTTON_LABEL'),\n onClick: this.onCodeBlockToggle,\n },\n {\n showBtn: this.showInlineImageButton,\n buttonType: 'button',\n selector: 'image',\n icon: DtIconImage,\n dataQA: 'dt-recipe-editor-inline-image-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_IMAGE_BUTTON_LABEL'),\n // Handle getting image\n onClick: this.onInsertInlineImageClick,\n },\n {\n showBtn: this.showVariableButton,\n buttonType: 'popover',\n selector: 'variable',\n icon: DtIconBraces,\n dataQA: 'dt-recipe-editor-variable-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL'),\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n buttonType: 'custom',\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_LINK_BUTTON_LABEL'),\n onClick: this.openLinkInput,\n };\n },\n\n confirmSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON');\n },\n\n cancelSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON');\n },\n\n removeLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_REMOVE_LINK_BUTTON');\n },\n\n showAddLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_ADD_LINK_BUTTON');\n },\n\n filteredFontStyles () {\n const searchValue = this.fontStyleSearch.toLowerCase();\n return this.fontStyles.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n filteredCategories() {\n return this.variableCategories.filter(\n (category) => this.getFilteredItemsForCategory(category).length,\n );\n },\n\n colorPickerInput() {\n return document.querySelector('.colorPickerInput');\n },\n\n isDefaultFontColor() {\n return this.currentFontColor === EDITOR_DEFAULT_FONT_COLOR;\n },\n\n actionBarBtn () {\n const ref = this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0]?.$refs?.buttonRef // get nested ref\n || this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n return Array.isArray(ref) ? ref[0] : ref;\n },\n\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\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 onInsertInlineImageClick () {\n this.$emit('inline-image-click');\n },\n\n insertVariable (categoryName, variableData) {\n // Insert a variable using the custom command from the Variable extension\n this.$refs.richTextEditor?.editor.chain().focus().insertVariable({\n id: variableData.id,\n placeholder: variableData.placeholder || '',\n altText: '',\n enableAltText: variableData.enableAltText,\n }).run();\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).run();\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 onTextInput (input) {\n this.$emit('text-input', input);\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 this.$emit('update:modelValue', event);\n },\n\n onSelected() {\n this.updateFontColorInput();\n },\n\n getButtonKey (key, selector) {\n return `${key}-${JSON.stringify(selector)}`;\n },\n\n // Unique Button Ref Key to identify ref\n getButtonRef (key, selector) {\n return `${this.getButtonKey(key, selector)}-ref`;\n },\n\n /**\n * Determines if an element in the action bar button list is focusable with tab key\n * @param {string} refKey - unique identifier for the ref element in DOM\n */\n canFocus (refKey) {\n return refKey === this.orderedRefs[this.currentButtonRefIndex];\n },\n\n shiftActionBarFocusRight () {\n this.shiftButtonRefIndex(1);\n },\n\n shiftActionBarFocusLeft () {\n this.shiftButtonRefIndex(-1);\n },\n\n shiftButtonRefIndex (shiftAmount) {\n const previousActionBarBtn = this.actionBarBtn;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentActionBarBtn = this.actionBarBtn;\n\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n\n onFontStyleSelect (fontFamily) {\n if (fontFamily) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontFamily(fontFamily).run();\n } else {\n this.$refs.richTextEditor?.editor?.chain().focus().unsetFontFamily().run();\n }\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontFamily (fontFamily) {\n if (!fontFamily) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontFamily;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontFamily });\n },\n\n onFontSizeSelect (fontSize) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontSize(fontSize).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontSize (fontSize) {\n if (!fontSize) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontSize;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontSize });\n },\n\n getFilteredItemsForCategory(category) {\n const searchValue = this.variableSearchValue.toLowerCase();\n if (category.name.toLowerCase().includes(searchValue)) {\n return category.items;\n }\n return category.items.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n updateFontColorInput() {\n this.currentFontColor = this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.color || EDITOR_DEFAULT_FONT_COLOR;\n },\n\n onColorPickerButtonClick () {\n this.colorPickerInput?.click();\n },\n\n onColorPickerInput (fontColor) {\n this.$refs.richTextEditor?.editor?.chain().focus().setColor(fontColor).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n this.updateFontColorInput();\n },\n },\n};\n</script>\n\n<style>\n/* Image resizing classes - only active when allowImageResize is true */\n\n/* Image border */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-wrapper] {\n outline: 1px solid var(--dt-color-chart-info-selected);\n line-height: 0 !important;\n}\n\n/* Corner handles */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle] {\n position: absolute;\n background: var(--dt-color-chart-info-selected);\n z-index: 10;\n}\n\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n width: 8px;\n height: 8px;\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'] {\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'] {\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'] {\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n}\n</style>\n"],"names":["_sfc_main","DtListItemGroup","DtDropdownSeparator","DtListItem","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtCombobox","EditorToolbarButton","EditorToolbarDropdownButton","EditorToolbarPopoverButton","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","DtIconSearch","DtIconType","DtIconBraces","DtIconChevronDown","DtIconFontSize","DtIconStopFilled","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","DialtoneLocalization","RICH_TEXT_EDITOR_OUTPUT_FORMATS","acc","category","refs","buttonData","button","individualButtonStacks","buttonGroupData","searchValue","item","EDITOR_DEFAULT_FONT_COLOR","ref","_b","_a","newValue","removeClassStyleAttrs","addClassStyleAttrs","event","_e","_d","_c","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","categoryName","variableData","imageUrl","messageContent","position","input","key","selector","refKey","shiftAmount","previousActionBarBtn","index","currentActionBarBtn","fontFamily","_f","fontSize","fontColor","_hoisted_1","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_Fragment","_renderList","buttonGroup","_createBlock","_openBlock","_component_editor_toolbar_popover_button","_withCtx","close","_component_dt_combobox","inputProps","_component_dt_input","$data","iconSize","_component_dt_icon_search","listProps","_createElementVNode","fontStyle","_component_dt_list_item","_normalizeStyle","_createTextVNode","_toDisplayString","_component_editor_toolbar_dropdown_button","$props","_component_dt_button","_resolveDynamicComponent","_directive_dt_tooltip","_component_dt_list_item_group","_component_dt_dropdown_separator","_component_editor_toolbar_button","_h","_g","_component_dt_popover","_component_dt_tooltip","_component_dt_rich_text_editor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor.js","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n class=\"d-recipe-editor\"\n v-bind=\"addClassStyleAttrs($attrs)\"\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 <template v-for=\"button in buttonGroup.buttonGroup\">\n <!-- Font Style Popover -->\n <editor-toolbar-popover-button\n v-if=\"button.buttonType === 'popover' && button.selector === 'fontStyle'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-font-style-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"fontStyleSearch\"\n root-class=\"d-p8 d-pb4 d-w216\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_FONT_STYLE_SEARCH_PLACEHOLDER')\"\n size=\"sm\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <ul\n v-bind=\"listProps\"\n >\n <dt-list-item\n v-for=\"fontStyle in filteredFontStyles\"\n :key=\"fontStyle.name\"\n :selected=\"isCurrentFontFamily(fontStyle.value)\"\n :style=\"{ fontFamily: fontStyle.value || 'inherit' }\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontStyleSelect(fontStyle.value)\n \"\n >\n {{ fontStyle.name }}\n </dt-list-item>\n </ul>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Font Size Dropdown -->\n <editor-toolbar-dropdown-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'fontSize'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :dropdown-data-qa=\"'dt-recipe-editor-font-size-input-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #list=\"{ close }\">\n <dt-list-item\n v-for=\"fontSize in fontSizes\"\n :key=\"fontSize.name\"\n :selected=\"isCurrentFontSize(fontSize.value)\"\n role=\"menuitem\"\n navigation-type=\"arrow-keys\"\n @click=\"\n close();\n onFontSizeSelect(fontSize.value, $event)\n \"\n >\n <span :style=\"{ fontSize: fontSize.value }\">{{ fontSize.name }}</span>\n </dt-list-item>\n </template>\n </editor-toolbar-dropdown-button>\n\n <!-- Font Color Button -->\n <dt-button\n v-else-if=\"button.buttonType === 'custom' && button.selector === 'fontColor'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n v-dt-tooltip=\"{ message: button.tooltipMessage, placement: 'top' }\"\n kind=\"muted\"\n importance=\"clear\"\n size=\"xs\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n @click=\"button.onClick()\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n :style=\"!isDefaultFontColor ? { color: currentFontColor } : {}\"\n />\n <dt-input\n :value=\"currentFontColor\"\n root-class=\"d-w0 d-h0 d-of-hidden\"\n input-class=\"colorPickerInput d-w0 d-h0 d-p0 d-bar0\"\n input-wrapper-class=\"d-w0 d-h0 d-ba-none\"\n size=\"sm\"\n type=\"color\"\n @input=\"onColorPickerInput\"\n @click.stop\n />\n </template>\n </dt-button>\n\n <!-- Variable Popover -->\n <editor-toolbar-popover-button\n v-else-if=\"button.buttonType === 'popover' && button.selector === 'variable'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"false\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :popover-data-qa=\"'dt-recipe-editor-variable-popover'\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n >\n <template #content=\"{ close }\">\n <dt-combobox\n label=\"\"\n :label-visible=\"false\"\n :show-list=\"true\"\n :click-on-select=\"true\"\n @escape=\"close()\"\n >\n <template #input=\"{ inputProps }\">\n <dt-input\n v-bind=\"inputProps\"\n v-model=\"variableSearchValue\"\n root-class=\"d-p8 d-pb4 d-w264\"\n type=\"search\"\n :placeholder=\"i18n.$t('DIALTONE_EDITOR_VARIABLE_POPOVER_SEARCH_PLACEHOLDER')\"\n size=\"md\"\n role=\"menuitem\"\n >\n <template #leftIcon=\"{ iconSize }\">\n <dt-icon-search :size=\"iconSize\" />\n </template>\n </dt-input>\n </template>\n <template #list=\"{ listProps }\">\n <div v-bind=\"listProps\">\n <dt-list-item-group\n v-for=\"(category, index) in filteredCategories\"\n :key=\"category.name\"\n :heading=\"category.name\"\n heading-class=\"d-headline--sm-compact d-p8\"\n >\n <dt-list-item\n v-for=\"item in getFilteredItemsForCategory(category)\"\n :key=\"category.name + item.name\"\n role=\"option\"\n navigation-type=\"arrow-keys\"\n @click=\"\n insertVariable(category.name, item);\n close();\n \"\n >\n {{ item.name }}\n </dt-list-item>\n <dt-dropdown-separator\n v-if=\"index < filteredCategories.length - 1\"\n />\n </dt-list-item-group>\n </div>\n </template>\n </dt-combobox>\n </template>\n </editor-toolbar-popover-button>\n\n <!-- Regular Toolbar Button -->\n <editor-toolbar-button\n v-else-if=\"button.buttonType === 'button'\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :is-active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :tooltip-message=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n :icon=\"button.icon\"\n :label=\"button.label\"\n :on-click=\"button.onClick\"\n @shift-focus-right=\"shiftActionBarFocusRight\"\n @shift-focus-left=\"shiftActionBarFocusLeft\"\n />\n </template>\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 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 :ref=\"getButtonRef('custom', 'link')\"\n :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n :tabindex=\"canFocus(getButtonRef('custom', 'link')) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\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 {{ showAddLinkButtonLabels.title }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLinkButtonLabels['aria-label']\"\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 data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"removeLinkButtonLabels\"\n @click=\"removeLink\"\n >\n {{ removeLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n v-bind=\"cancelSetLinkButtonLabels\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButtonLabels.title }}\n </dt-button>\n <dt-button\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n v-bind=\"confirmSetLinkButtonLabels\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButtonLabels.title }}\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', { 'd-recipe-editor__content-image-resize': allowImageResize }]\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-font-color=\"true\"\n :allow-font-family=\"true\"\n :allow-inline-images=\"true\"\n :allow-line-breaks=\"true\"\n :allow-variable=\"true\"\n :allow-font-size=\"showFontSizeButton\"\n :variable-items=\"flattenedVariableItems\"\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 :use-div-tags=\"useDivTags\"\n :allow-tables=\"allowTables\"\n :allow-image-resize=\"allowImageResize\"\n data-qa=\"dt-rich-text-editor\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n @text-input=\"onTextInput\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput($event)\"\n @selected=\"onSelected\"\n />\n </div>\n </div>\n</template>\n\n<script>\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 EDITOR_DEFAULT_FONT_COLOR,\n} from './editor_constants.js';\nimport { removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\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 { DtListItem } from '@/components/list_item';\nimport { DtCombobox } from '@/components/combobox';\n\nimport { DtDropdownSeparator } from '@/components/dropdown/index.js';\nimport { DtListItemGroup } from '@/components/list_item_group/index.js';\nimport EditorToolbarButton from './EditorToolbarButton.vue';\nimport EditorToolbarDropdownButton from './EditorToolbarDropdownButton.vue';\nimport EditorToolbarPopoverButton from './EditorToolbarPopoverButton.vue';\nimport {\n DtIconAlignCenter,\n DtIconAlignJustify,\n DtIconAlignLeft,\n DtIconAlignRight,\n DtIconBold,\n DtIconCodeBlock,\n DtIconImage,\n DtIconItalic,\n DtIconQuickReply,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n DtIconType,\n DtIconBraces,\n DtIconSearch,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\n} from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtListItemGroup,\n DtDropdownSeparator,\n DtListItem,\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n DtCombobox,\n EditorToolbarButton,\n EditorToolbarDropdownButton,\n EditorToolbarPopoverButton,\n DtIconQuickReply,\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 DtIconImage,\n DtIconSearch,\n DtIconType,\n DtIconBraces,\n DtIconChevronDown,\n DtIconFontSize,\n DtIconStopFilled,\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 modelValue: {\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 * 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 button to add an inline image\n */\n showInlineImageButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show button to add a variable\n */\n showVariableButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Variable categories to display when variable button is clicked\n */\n variableCategories: {\n type: Array,\n default: () => [],\n },\n\n /**\n * Show add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\n }),\n },\n\n /**\n * Show font style button.\n */\n showFontStyleButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font size button.\n */\n showFontSizeButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Show font color button.\n */\n showFontColorButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Available font styles for the font style dropdown.\n */\n fontStyles: {\n type: Array,\n default: () => [\n { name: 'Arial', value: null }, // arial is the default font\n { name: 'Georgia', value: 'Georgia' },\n { name: 'Helvetica', value: 'Helvetica' },\n { name: 'Verdana', value: 'Verdana'},\n { name: 'Times New Roman', value: 'Times New Roman' },\n ],\n },\n\n fontSizes : {\n type: Array,\n default: () => [\n { name: 'Small', value: '12px'},\n { name: 'Normal', value: '15px'},\n { name: 'Large', value: '24px'},\n { name: 'Huge', value: '36px'},\n ],\n },\n\n /**\n * Use div tags instead of paragraph tags to show text\n */\n useDivTags: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow Tables to be used in to the editor\n */\n allowTables: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Allow image resizing\n */\n allowImageResize: {\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 * Event fired to sync the modelValue prop with the parent component\n * @event input\n * @type {String|JSON}\n */\n 'update:modelValue',\n\n /**\n * Quick replies button\n * pressed event\n * @event quick-replies-click\n */\n 'quick-replies-click',\n\n /**\n * Emit when inline image button is clicked\n * @event inline-image-click\n */\n 'inline-image-click',\n\n /**\n * Emit when text input is changed\n * @event text-input\n * @type {String}\n */\n 'text-input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n currentFontColor: undefined,\n showLinkInput: false,\n fontStyleSearch: '',\n linkInput: '',\n currentButtonRefIndex: 0,\n variableSearchValue: '',\n i18n: new DialtoneLocalization(),\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 flattenedVariableItems () {\n if (!this.variableCategories) return [];\n return this.variableCategories.reduce((acc, category) => {\n return acc.concat(category.items || []);\n }, []);\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 orderedRefs () {\n const refs = this.buttonGroups.reduce(function (acc, buttonData) {\n buttonData.buttonGroup.forEach(button => {\n acc.push(this.getButtonRef(buttonData.key, button.selector));\n }, this);\n return acc;\n }.bind(this), []);\n refs.push(this.getButtonRef('custom', 'link'));\n return refs;\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 buttonType: 'button',\n label: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n selector: 'quickReplies',\n icon: DtIconQuickReply,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL'),\n onClick: this.onQuickRepliesClick,\n },\n ].filter(button => button.showBtn);\n },\n\n textFormatButtons () {\n return [\n {\n showBtn: this.showFontStyleButton,\n buttonType: 'popover',\n selector: 'fontStyle',\n icon: DtIconType,\n dataQA: 'dt-recipe-editor-font-style-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_STYLE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontSizeButton,\n buttonType: 'popover',\n selector: 'fontSize',\n icon: DtIconFontSize,\n dataQA: 'dt-recipe-editor-font-size-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_SIZE_BUTTON_LABEL'),\n },\n {\n showBtn: this.showFontColorButton,\n buttonType: 'custom',\n selector: 'fontColor',\n icon: DtIconStopFilled,\n dataQA: 'dt-recipe-editor-font-color-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_FONT_COLOR_BUTTON_LABEL'),\n onClick: this.onColorPickerButtonClick,\n },\n {\n showBtn: this.showBoldButton,\n buttonType: 'button',\n selector: 'bold',\n icon: DtIconBold,\n dataQA: 'dt-recipe-editor-bold-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BOLD_BUTTON_LABEL'),\n onClick: this.onBoldTextToggle,\n },\n {\n showBtn: this.showItalicsButton,\n buttonType: 'button',\n selector: 'italic',\n icon: DtIconItalic,\n dataQA: 'dt-recipe-editor-italics-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ITALICS_BUTTON_LABEL'),\n onClick: this.onItalicTextToggle,\n },\n {\n showBtn: this.showUnderlineButton,\n buttonType: 'button',\n selector: 'underline',\n icon: DtIconUnderline,\n dataQA: 'dt-recipe-editor-underline-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL'),\n onClick: this.onUnderlineTextToggle,\n },\n {\n showBtn: this.showStrikeButton,\n buttonType: 'button',\n selector: 'strike',\n icon: DtIconStrikethrough,\n dataQA: 'dt-recipe-editor-strike-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_STRIKE_BUTTON_LABEL'),\n onClick: this.onStrikethroughTextToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n alignmentButtons () {\n return [\n {\n showBtn: this.showAlignLeftButton,\n buttonType: 'button',\n selector: { textAlign: 'left' },\n icon: DtIconAlignLeft,\n dataQA: 'dt-recipe-editor-align-left-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('left'),\n },\n {\n showBtn: this.showAlignCenterButton,\n buttonType: 'button',\n selector: { textAlign: 'center' },\n icon: DtIconAlignCenter,\n dataQA: 'dt-recipe-editor-align-center-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('center'),\n },\n {\n showBtn: this.showAlignRightButton,\n buttonType: 'button',\n selector: { textAlign: 'right' },\n icon: DtIconAlignRight,\n dataQA: 'dt-recipe-editor-align-right-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('right'),\n },\n {\n showBtn: this.showAlignJustifyButton,\n buttonType: 'button',\n selector: { textAlign: 'justify' },\n icon: DtIconAlignJustify,\n dataQA: 'dt-recipe-editor-align-justify-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL'),\n onClick: () => this.onTextAlign('justify'),\n },\n ].filter(button => button.showBtn);\n },\n\n listButtons () {\n return [\n {\n showBtn: this.showListItemsButton,\n buttonType: 'button',\n selector: 'bulletList',\n icon: DtIconListBullet,\n dataQA: 'dt-recipe-editor-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL'),\n onClick: this.onBulletListToggle,\n },\n {\n showBtn: this.showOrderedListButton,\n buttonType: 'button',\n selector: 'orderedList',\n icon: DtIconListOrdered,\n dataQA: 'dt-recipe-editor-ordered-list-items-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL'),\n onClick: this.onOrderedListToggle,\n },\n ].filter(button => button.showBtn);\n },\n\n individualButtons () {\n return [\n {\n showBtn: this.showQuoteButton,\n buttonType: 'button',\n selector: 'blockquote',\n icon: DtIconQuote,\n dataQA: 'dt-recipe-editor-blockquote-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_QUOTE_BUTTON_LABEL'),\n onClick: this.onBlockquoteToggle,\n },\n {\n showBtn: this.showCodeBlockButton,\n buttonType: 'button',\n selector: 'codeBlock',\n icon: DtIconCodeBlock,\n dataQA: 'dt-recipe-editor-code-block-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_CODE_BUTTON_LABEL'),\n onClick: this.onCodeBlockToggle,\n },\n {\n showBtn: this.showInlineImageButton,\n buttonType: 'button',\n selector: 'image',\n icon: DtIconImage,\n dataQA: 'dt-recipe-editor-inline-image-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_IMAGE_BUTTON_LABEL'),\n // Handle getting image\n onClick: this.onInsertInlineImageClick,\n },\n {\n showBtn: this.showVariableButton,\n buttonType: 'popover',\n selector: 'variable',\n icon: DtIconBraces,\n dataQA: 'dt-recipe-editor-variable-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_VARIABLE_BUTTON_LABEL'),\n },\n ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n buttonType: 'custom',\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: this.i18n.$t('DIALTONE_EDITOR_LINK_BUTTON_LABEL'),\n onClick: this.openLinkInput,\n };\n },\n\n confirmSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON');\n },\n\n cancelSetLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON');\n },\n\n removeLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_REMOVE_LINK_BUTTON');\n },\n\n showAddLinkButtonLabels () {\n return this.i18n.$ta('DIALTONE_EDITOR_ADD_LINK_BUTTON');\n },\n\n filteredFontStyles () {\n const searchValue = this.fontStyleSearch.toLowerCase();\n return this.fontStyles.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n filteredCategories() {\n return this.variableCategories.filter(\n (category) => this.getFilteredItemsForCategory(category).length,\n );\n },\n\n colorPickerInput() {\n return document.querySelector('.colorPickerInput');\n },\n\n isDefaultFontColor() {\n return this.currentFontColor === EDITOR_DEFAULT_FONT_COLOR;\n },\n\n actionBarBtn () {\n const ref = this.$refs[this.orderedRefs[this.currentButtonRefIndex]][0]?.$refs?.buttonRef // get nested ref\n || this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n return Array.isArray(ref) ? ref[0] : ref;\n },\n\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\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 onInsertInlineImageClick () {\n this.$emit('inline-image-click');\n },\n\n insertVariable (categoryName, variableData) {\n // Insert a variable using the custom command from the Variable extension\n this.$refs.richTextEditor?.editor.chain().focus().insertVariable({\n id: variableData.id,\n placeholder: variableData.placeholder || '',\n altText: '',\n enableAltText: variableData.enableAltText,\n }).run();\n },\n\n insertInlineImage (imageUrl) {\n this.$refs.richTextEditor?.editor.chain().focus().setImage({ src: imageUrl }).run();\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 onTextInput (input) {\n this.$emit('text-input', input);\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 this.$emit('update:modelValue', event);\n },\n\n onSelected() {\n this.updateFontColorInput();\n },\n\n getButtonKey (key, selector) {\n return `${key}-${JSON.stringify(selector)}`;\n },\n\n // Unique Button Ref Key to identify ref\n getButtonRef (key, selector) {\n return `${this.getButtonKey(key, selector)}-ref`;\n },\n\n /**\n * Determines if an element in the action bar button list is focusable with tab key\n * @param {string} refKey - unique identifier for the ref element in DOM\n */\n canFocus (refKey) {\n return refKey === this.orderedRefs[this.currentButtonRefIndex];\n },\n\n shiftActionBarFocusRight () {\n this.shiftButtonRefIndex(1);\n },\n\n shiftActionBarFocusLeft () {\n this.shiftButtonRefIndex(-1);\n },\n\n shiftButtonRefIndex (shiftAmount) {\n const previousActionBarBtn = this.actionBarBtn;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentActionBarBtn = this.actionBarBtn;\n\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n\n onFontStyleSelect (fontFamily) {\n if (fontFamily) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontFamily(fontFamily).run();\n } else {\n this.$refs.richTextEditor?.editor?.chain().focus().unsetFontFamily().run();\n }\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontFamily (fontFamily) {\n if (!fontFamily) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontFamily;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontFamily });\n },\n\n onFontSizeSelect (fontSize) {\n this.$refs.richTextEditor?.editor?.chain().focus().setFontSize(fontSize).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n },\n\n isCurrentFontSize (fontSize) {\n if (!fontSize) {\n return !this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.fontSize;\n }\n return this.$refs.richTextEditor?.editor?.isActive('textStyle', { fontSize });\n },\n\n getFilteredItemsForCategory(category) {\n const searchValue = this.variableSearchValue.toLowerCase();\n if (category.name.toLowerCase().includes(searchValue)) {\n return category.items;\n }\n return category.items.filter((item) =>\n item.name.toLowerCase().includes(searchValue),\n );\n },\n\n updateFontColorInput() {\n this.currentFontColor = this.$refs.richTextEditor?.editor?.getAttributes('textStyle')?.color || EDITOR_DEFAULT_FONT_COLOR;\n },\n\n onColorPickerButtonClick () {\n this.colorPickerInput?.click();\n },\n\n onColorPickerInput (fontColor) {\n this.$refs.richTextEditor?.editor?.chain().focus().setColor(fontColor).run();\n this.$refs.richTextEditor?.editor?.commands.focus();\n this.updateFontColorInput();\n },\n },\n};\n</script>\n\n<style>\n/* Image resizing classes - only active when allowImageResize is true */\n\n/* Image border */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-wrapper] {\n outline: 1px solid var(--dt-color-chart-info-selected);\n line-height: 0 !important;\n}\n\n/* Corner handles */\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle] {\n position: absolute;\n background: var(--dt-color-chart-info-selected);\n z-index: 10;\n}\n\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'],\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n inline-size: 8px;\n block-size: 8px;\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-left'] {\n cursor: nwse-resize;\n transform: translate(-50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='top-right'] {\n cursor: nesw-resize;\n transform: translate(50%, -50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-left'] {\n cursor: nesw-resize;\n transform: translate(-50%, 50%);\n}\n.d-recipe-editor__content-image-resize .tiptap .ProseMirror-selectednode [data-resize-handle='bottom-right'] {\n cursor: nwse-resize;\n transform: translate(50%, 50%);\n}\n</style>\n"],"names":["_sfc_main","DtListItemGroup","DtDropdownSeparator","DtListItem","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtCombobox","EditorToolbarButton","EditorToolbarDropdownButton","EditorToolbarPopoverButton","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","DtIconSearch","DtIconType","DtIconBraces","DtIconChevronDown","DtIconFontSize","DtIconStopFilled","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","DialtoneLocalization","RICH_TEXT_EDITOR_OUTPUT_FORMATS","acc","category","refs","buttonData","button","individualButtonStacks","buttonGroupData","searchValue","item","EDITOR_DEFAULT_FONT_COLOR","ref","_b","_a","newValue","removeClassStyleAttrs","addClassStyleAttrs","event","_e","_d","_c","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","categoryName","variableData","imageUrl","messageContent","position","input","key","selector","refKey","shiftAmount","previousActionBarBtn","index","currentActionBarBtn","fontFamily","_f","fontSize","fontColor","_hoisted_1","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_Fragment","_renderList","buttonGroup","_createBlock","_openBlock","_component_editor_toolbar_popover_button","_withCtx","close","_component_dt_combobox","inputProps","_component_dt_input","$data","iconSize","_component_dt_icon_search","listProps","_createElementVNode","fontStyle","_component_dt_list_item","_normalizeStyle","_createTextVNode","_toDisplayString","_component_editor_toolbar_dropdown_button","$props","_component_dt_button","_resolveDynamicComponent","_directive_dt_tooltip","_component_dt_list_item_group","_component_dt_dropdown_separator","_component_editor_toolbar_button","_h","_g","_component_dt_popover","_component_dt_tooltip","_component_dt_rich_text_editor"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("@dialpad/dialtone-icons/vue3"),x=require("../input/input.cjs"),J=require("../button/button.cjs"),ee=require("../../common/utils/index.cjs"),te=require("../tab/tab-group.cjs"),oe=require("../tab/tab.cjs"),O=require("@dialpad/dialtone-emojis"),E=require("./emoji-picker-constants.cjs"),le=require("../tooltip/tooltip.cjs"),ne=require("../../localization/index.cjs"),se={class:"d-emoji-picker__search d-emoji-picker__alignment"},ie={__name:"emoji_search",props:{searchPlaceholderLabel:{type:String,required:!0},modelValue:{type:String,default:""}},emits:["update:modelValue","focus-emoji-selector","focus-tabset","select-first-emoji"],setup(o,{expose:S,emit:I}){const n=I,d=e.ref(null);function j(){n("update:modelValue",""),R()}function R(){d.value.focus()}return e.onMounted(()=>{R()}),S({focusSearchInput:R}),(y,_)=>(e.openBlock(),e.createElementBlock("div",se,[e.createVNode(e.unref(x.default),{id:"searchInput",ref_key:"searchInput",ref:d,placeholder:o.searchPlaceholderLabel,"model-value":o.modelValue,"onUpdate:modelValue":_[0]||(_[0]=a=>y.$emit("update:modelValue",a)),onKeydown:[_[1]||(_[1]=e.withKeys(a=>y.$emit("focus-tabset"),["up"])),_[2]||(_[2]=e.withKeys(e.withModifiers(a=>y.$emit("focus-emoji-selector"),["prevent"]),["down"])),_[3]||(_[3]=e.withKeys(a=>y.$emit("select-first-emoji"),["enter"]))]},e.createSlots({leftIcon:e.withCtx(()=>[e.createVNode(e.unref(w.DtIconSearch),{size:"200"})]),_:2},[o.modelValue.length>0?{name:"rightIcon",fn:e.withCtx(()=>[e.createVNode(e.unref(J.default),{importance:"clear",size:"xs",class:"d-emoji-picker__search-x-button",circle:"",kind:"muted",onClick:j},{icon:e.withCtx(()=>[e.createVNode(e.unref(w.DtIconClose),{size:"200"})]),_:1})]),key:"0"}:void 0]),1032,["placeholder","model-value"])]))}},re={class:"d-emoji-picker__tabset"},ae={__name:"emoji_tabset",props:{showRecentlyUsedTab:{type:Boolean,default:!1},showCustomEmojisTab:{type:Boolean,default:!1},scrollIntoTab:{type:Number,required:!0},emojiFilter:{type:String,default:""},tabSetLabels:{type:Array,required:!0}},emits:["selected-tabset","focus-search-input","focus-skin-selector"],setup(o,{expose:S,emit:I}){const n=o,d=I,j=[{label:n.tabSetLabels[0],icon:w.DtIconClock},{label:n.tabSetLabels[1],icon:w.DtIconSatisfied},{label:n.tabSetLabels[2],icon:w.DtIconLivingThing},{label:n.tabSetLabels[3],icon:w.DtIconFood},{label:n.tabSetLabels[4],icon:w.DtIconObject},{label:n.tabSetLabels[5],icon:w.DtIconTransportation},{label:n.tabSetLabels[6],icon:w.DtIconLightbulb},{label:n.tabSetLabels[7],icon:w.DtIconHeart},{label:n.tabSetLabels[8],icon:w.DtIconFlag},{label:n.tabSetLabels[9],icon:w.DtIconDialpadStar}],R=e.computed(()=>{const l=n.showRecentlyUsedTab?j:j.slice(1);return n.showCustomEmojisTab||l.pop(),l.map((t,i)=>({...t,id:(i+1).toString(),panelId:(i+1).toString()}))}),y=e.computed(()=>n.emojiFilter.length>0),_=e.ref("1"),a=e.ref([]);e.watch(()=>n.scrollIntoTab,()=>{y.value||(_.value=(n.scrollIntoTab+1).toString())}),e.watch(y,()=>{y.value&&(_.value=null)});function m(l){const t=parseInt(l);_.value=l,d("selected-tabset",t)}function A(l){a.value.push(ee.returnFirstEl(l.$el))}function B(){a.value[0].focus()}function L(l,t){l.key==="Enter"&&(m(t),a.value[t-1].blur()),l.key==="Tab"&&(l.preventDefault(),l.shiftKey?d("focus-skin-selector"):d("focus-search-input")),l.key==="ArrowDown"&&d("focus-search-input")}return S({focusTabset:B}),(l,t)=>(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(e.unref(te.default),{selected:_.value,size:"sm","tab-list-class":"d-emoji-picker__tabset-list"},{tabs:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,(i,v)=>(e.openBlock(),e.createBlock(e.unref(oe.default),{id:i.id,key:i.id,ref_for:!0,ref:f=>{f&&A(f)},label:i.label,"panel-id":i.panelId,tabindex:v+1,"aria-controls":"d-emoji-picker-list",onKeydown:f=>L(f,i.id),onClickCapture:e.withModifiers(f=>m(i.id),["stop"])},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.icon),{size:"400"}))]),_:2},1032,["id","label","panel-id","tabindex","onKeydown","onClickCapture"]))),128))]),_:1},8,["selected"])]))}};function ce(){const o=e.ref([]),S=e.ref([]),I=e.ref(!1),n=e.ref(!0);function d(l,t){a(l,t-1)||(o.value[l-1]?a(l-1,o.value[l-1].length-1):a(o.value.length-1,o.value[o.value.length-1].length-1))}function j(l,t){a(l,t+1)||a(l+1,0)||a(0,0)}function R(l,t){a(0,t-1)||a(0,S.value.length-1)}function y(l,t){a(0,t+1)||a(0,0)}function _(l,t,i){I.value?l==="left"?R(t,i):l==="right"&&y(t,i):l==="left"?d(t,i):l==="right"&&j(t,i)}function a(l,t){var v,f,g;const i=I.value?(v=S.value)==null?void 0:v[t]:(g=(f=o.value)==null?void 0:f[l])==null?void 0:g[t];return i?(i.focus(),!0):!1}function m(l,t,i){o.value[t]||(o.value[t]=[]),o.value[t][i]=l}function A(l,t){S.value[t]=l}function B(l,t){var i;if(n.value=!1,l===E.ARROW_KEYS.ARROW_UP){const v=t%E.EMOJIS_PER_ROW;if(!a(0,t-E.EMOJIS_PER_ROW)){const f=S.value.length-S.value.length%E.EMOJIS_PER_ROW+v;a(0,f),a(0,f)||a(0,S.value.length-1)}}if(l===E.ARROW_KEYS.ARROW_DOWN&&!a(0,t+E.EMOJIS_PER_ROW)){const v=t%E.EMOJIS_PER_ROW;(i=S.value)!=null&&i[t+(E.EMOJIS_PER_ROW-v)]?a(0,S.value.length-1):a(0,v)}l===E.ARROW_KEYS.ARROW_LEFT&&_("left",0,t),l===E.ARROW_KEYS.ARROW_RIGHT&&_("right",0,t)}function L(l,t,i){var v,f;if(l==="ArrowUp"){const g=i%E.EMOJIS_PER_ROW;if(t===0){const c=E.EMOJIS_PER_ROW-o.value[o.value.length-1].length%E.EMOJIS_PER_ROW,r=o.value[o.value.length-1].length+c-(E.EMOJIS_PER_ROW-g);a(o.value.length-1,r)||a(o.value.length-1,o.value[o.value.length-1].length-1);return}if(!a(t,i-E.EMOJIS_PER_ROW)){const c=t-1<0?0:t-1,r=o.value[c].length,k=r-r%E.EMOJIS_PER_ROW+g;a(c,k)||a(t-1,o.value[t-1].length-1)}}if(l==="ArrowDown"&&!a(t,i+E.EMOJIS_PER_ROW)){const g=i%E.EMOJIS_PER_ROW;(f=(v=o.value)==null?void 0:v[t])!=null&&f[i+(E.EMOJIS_PER_ROW-g)]?a(t,o.value[t].length-1):a(t+1,g)||a(0,g)||a(0,o.value[0].length-1)}l==="ArrowLeft"&&_("left",t,i),l==="ArrowRight"&&_("right",t,i)}return{emojiFilteredRefs:S,isFiltering:I,hoverFirstEmoji:n,setEmojiRef:m,setFilteredRef:A,focusEmoji:a,handleArrowNavigationFiltered:B,handleArrowNavigation:L}}const ue={class:"d-emoji-picker__selector"},fe={key:0,class:"d-emoji-picker__search-label d-emoji-picker__alignment"},de={key:0},me={class:"d-emoji-picker__tab"},Ee=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],_e=["alt","aria-label","title","src"],ve={key:2,class:"d-emoji-picker__alignment"},be={class:"d-emoji-picker__tab","data-qa":"filtered-emojis"},pe=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],he=["alt","aria-label","title","src"],ke={__name:"emoji_selector",props:{emojiFilter:{type:String,default:""},skinTone:{type:String,required:!0},tabsetLabels:{type:Array,required:!0},selectedTabset:{type:Object,required:!0},searchResultsLabel:{type:String,required:!0},searchNoResultsLabel:{type:String,required:!0},recentlyUsedEmojis:{type:Array,default:()=>[]},customEmojis:{type:Array,default:()=>[]}},emits:["highlighted-emoji","selected-emoji","scroll-into-tab","scroll-bottom-reached","focus-skin-selector","focus-search-input"],setup(o,{expose:S,emit:I}){const n=o,d=I,{emojiFilteredRefs:j,isFiltering:R,hoverFirstEmoji:y,setEmojiRef:_,setFilteredRef:a,focusEmoji:m,handleArrowNavigationFiltered:A,handleArrowNavigation:B}=ce(),L=e.ref(null),l=e.ref(null),t=e.ref(null),i=["Recently used","People","Nature","Food","Activity","Travel","Objects","Symbols","Flags","Custom"],v=e.computed(()=>{let s=n.tabsetLabels.map(u=>({label:u,ref:e.ref(null)}));return n.recentlyUsedEmojis&&!n.recentlyUsedEmojis.length&&(s=n.tabsetLabels.slice(1).map(u=>({label:u,ref:e.ref(null)}))),n.customEmojis&&!n.customEmojis.length&&s.pop(),s}),f=e.ref(v.value[0].label),g=e.computed(()=>{const s=n.recentlyUsedEmojis.length?i.slice():i.slice(1);return n.customEmojis&&!n.customEmojis.length&&s.pop(),s}),c=e.ref([]),r=e.computed(()=>[...O.emojisGrouped[`People${n.skinTone}`],...O.emojisGrouped.Nature,...O.emojisGrouped.Food,...O.emojisGrouped[`Activity${n.skinTone}`],...O.emojisGrouped.Travel,...O.emojisGrouped[`Objects${n.skinTone}`],...O.emojisGrouped.Symbols,...O.emojisGrouped.Flags]),k=U(()=>{j.value=[],F()}),M=()=>{const s=l.value;s.scrollTop+s.clientHeight>=s.scrollHeight&&d("scroll-bottom-reached")};e.watch(r,()=>{F()},{immediate:!0}),e.watch(()=>n.recentlyUsedEmojis,()=>{O.emojisGrouped["Recently used"]=n.recentlyUsedEmojis},{immediate:!0}),e.watch(()=>n.customEmojis,()=>{O.emojisGrouped.Custom=n.customEmojis},{immediate:!0}),e.watch(()=>n.emojiFilter,()=>{G(),n.emojiFilter?R.value=!0:(R.value=!1,C(null)),k()}),e.watch(()=>n.selectedTabset,s=>{$(s.tabId)},{deep:!0});function K(s,u=!1){y.value=u,d("highlighted-emoji",s)}function F(){const s=n.emojiFilter.toLowerCase();c.value=r.value.filter(u=>{const p=u.name.toLowerCase().includes(s),h=u.keywords.some(b=>b.toLowerCase().includes(s));return p||h}),e.nextTick(()=>{s&&K(c.value[0],!0)})}function U(s,u=300){let p;return(...h)=>{clearTimeout(p),p=setTimeout(()=>s(...h),u)}}function W(s){return s.date_added?s.image:E.CDN_URL+s.unicode_character+".png"}function q(s){s.target.parentNode.style.display="none"}function $(s,u=!0){const h=v.value[s-1].ref.value[0];e.nextTick(()=>{const b=l.value,N=s===1?0:h.offsetTop-15;b.scrollTop=N,u&&m(s-1,0)})}function G(){const s=l.value;s.scrollTop=0}function z(){l.value.addEventListener("scroll",M)}function H(){t.value=new IntersectionObserver(async s=>{s.forEach(u=>{var b,N,T,P,V;const{target:p}=u,h=parseInt(p.dataset.index);u.isIntersecting&&p.offsetTop<=L.value.offsetTop+50?(f.value=((b=v.value[h-1])==null?void 0:b.label)??((N=v.value[0])==null?void 0:N.label),d("scroll-into-tab",h-1)):u.boundingClientRect.bottom<=((T=L.value)==null?void 0:T.getBoundingClientRect().bottom)?(d("scroll-into-tab",h),f.value=(P=v.value[h])==null?void 0:P.label):h===1&&(d("scroll-into-tab",h),f.value=(V=v.value[0])==null?void 0:V.label)})}),t.value.observe(L.value),Array.from(l.value.children).forEach((s,u)=>{t.value.observe(s),s.dataset.index=u})}const Y=(s,u,p)=>{if(s.preventDefault(),Object.values(E.ARROW_KEYS).includes(s.key)){A(s.key,u);return}switch(s.key){case"Tab":d("focus-skin-selector");break;case"Enter":D(p,s);break}},Q=(s,u,p,h)=>{if(s.preventDefault(),Object.values(E.ARROW_KEYS).includes(s.key)){B(s.key,u,p);return}switch(s.key){case"Tab":s.shiftKey?m(u,0)&&u>0?$(u,!0):($(1,!1),d("focus-search-input")):m(u+1,0)?$(u+1+1,!1):d("focus-skin-selector");break;case"Enter":D(h,s);break}};function D(s,u){d("selected-emoji",{...s,shift_key:u.shiftKey})}function C(s){d("highlighted-emoji",s)}function X(){m(0,0)}function Z(){$(g.value.length,!0)}return e.onMounted(()=>{H(),z()}),e.onBeforeUnmount(()=>{t.value.disconnect(),l.value.removeEventListener("scroll",M)}),S({focusEmojiSelector:X,focusLastEmoji:Z}),(s,u)=>(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",{id:"d-emoji-picker-list",ref_key:"listRef",ref:l,class:"d-emoji-picker__list"},[o.emojiFilter?(e.openBlock(),e.createElementBlock("p",fe,e.toDisplayString(c.value.length>0?o.searchResultsLabel:o.searchNoResultsLabel),1)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"tabCategoryRef",ref:L,class:"d-emoji-picker__category d-emoji-picker__alignment"},[e.createElementVNode("p",null,e.toDisplayString(f.value),1)],512)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(p,h)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:h,ref_for:!0,ref:p.ref,class:"d-emoji-picker__alignment"},[h?(e.openBlock(),e.createElementBlock("p",de,e.toDisplayString(p.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(O.emojisGrouped)[g.value[h]+o.skinTone]?e.unref(O.emojisGrouped)[g.value[h]+o.skinTone]:e.unref(O.emojisGrouped)[g.value[h]],(b,N)=>(e.openBlock(),e.createElementBlock("button",{key:b.shortname,ref_for:!0,ref:T=>{T&&e.unref(_)(T,h,N)},type:"button","aria-label":b.name,onClick:T=>D(b,T),onFocusin:T=>C(b),onFocusout:u[0]||(u[0]=T=>C(null)),onMouseover:T=>C(b),onMouseleave:u[1]||(u[1]=T=>C(null)),onKeydown:T=>Q(T,h,N,b)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:b.name,"aria-label":b.name,title:b.name,src:W(b),onError:q},null,40,_e)],40,Ee))),128))])])),[[e.vShow,!o.emojiFilter]])),128)),o.emojiFilter?(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(p,h)=>(e.openBlock(),e.createElementBlock("button",{key:p.shortname,ref_for:!0,ref:b=>{b&&e.unref(a)(b,h)},type:"button","aria-label":p.name,class:e.normalizeClass({"hover-emoji":h===0&&e.unref(y)}),onClick:b=>D(p,b),onFocusin:b=>C(p),onFocusout:u[2]||(u[2]=b=>C(null)),onMouseover:b=>K(p),onMouseleave:u[3]||(u[3]=b=>K(null)),onKeydown:b=>Y(b,h,p)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:p.name,"aria-label":p.name,title:p.name,src:`${e.unref(E.CDN_URL)+p.unicode_character}.png`},null,8,he)],42,pe))),128))])])):e.createCommentVNode("",!0)],512)]))}},Se={"data-qa":"skin-selector"},Ie={class:"d-emoji-picker__skin-list"},Re=["onKeydown","onClick"],ge=["alt","aria-label","title","src"],ye={class:"d-emoji-picker__skin-selected"},je=["aria-label"],Le=["alt","aria-label","title","src"],Te={__name:"emoji_skin_selector",props:{skinTone:{type:String,required:!0},isHovering:{type:Boolean,default:!1},skinSelectorButtonTooltipLabel:{type:String,required:!0}},emits:["skin-tone","focus-tabset","focus-last-emoji"],setup(o,{expose:S,emit:I}){const n=o,d=I,j=[{name:":wave_tone1:",unicode_output:"1f44b-1f3fb",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.LIGHT,skinCode:"_tone1"},{name:":wave_tone2:",unicode_output:"1f44b-1f3fc",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.MEDIUM_LIGHT,skinCode:"_tone2"},{name:":wave_tone3:",unicode_output:"1f44b-1f3fd",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.MEDIUM,skinCode:"_tone3"},{name:":wave_tone4:",unicode_output:"1f44b-1f3fe",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.MEDIUM_DARK,skinCode:"_tone4"},{name:":wave_tone5:",unicode_output:"1f44b-1f3ff",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.DARK,skinCode:"_tone5"},{name:":wave:",unicode_output:"1f44b",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.DEFAULT,skinCode:""}],R=e.ref(!1),y=e.ref(null),_=e.ref([]);e.watchEffect(()=>n.isHovering&&(R.value=!1));const a=e.computed(()=>j.find(i=>i.skinTone===n.skinTone)),m=e.ref(a.value);e.watchEffect(()=>a.value&&(m.value=a.value));function A(i){_.value.push(i)}function B(){y.value.focus()}function L(i){m.value=i,R.value=!1,d("skin-tone",i.skinTone),e.nextTick(()=>B())}const l=(i,v,f)=>{var g,c,r;i.preventDefault(),i.key==="ArrowLeft"&&(f===0&&((g=_.value[_.value.length-1])==null||g.focus()),(c=_.value[f-1])==null||c.focus()),i.key==="ArrowRight"&&((r=_.value[f+1])==null||r.focus()),i.key==="Enter"&&(v?L(v):t()),i.key==="Tab"&&(i.shiftKey?d("focus-last-emoji"):d("focus-tabset"))};function t(){R.value=!R.value,e.nextTick(()=>_.value[0].focus())}return S({focusSkinSelector:B}),(i,v)=>(e.openBlock(),e.createElementBlock("div",Se,[e.withDirectives(e.createElementVNode("div",Ie,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(j,(f,g)=>e.createElementVNode("button",{ref_for:!0,ref:c=>{c&&A(c)},key:f.name,class:e.normalizeClass({selected:m.value.skinCode===f.skinCode}),onKeydown:c=>l(c,f,g),onClick:c=>L(f)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:f.name,"aria-label":f.name,title:f.name,src:`${e.unref(E.CDN_URL)+f.unicode_output}.png`},null,8,ge)],42,Re)),64))],512),[[e.vShow,R.value]]),e.withDirectives(e.createElementVNode("div",ye,[e.createVNode(e.unref(le.default),{placement:"top-end"},{anchor:e.withCtx(()=>[e.createElementVNode("button",{ref_key:"skinSelectorRef",ref:y,"aria-label":o.skinSelectorButtonTooltipLabel,tabindex:"-1",onClick:t,onKeydown:v[0]||(v[0]=f=>l(f))},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:m.value.name,"aria-label":m.value.name,title:m.value.name,src:`${e.unref(E.CDN_URL)+m.value.unicode_output}.png`},null,8,Le)],40,je)]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.skinSelectorButtonTooltipLabel)+" ",1)]),_:1})],512),[[e.vShow,!R.value]])]))}},Oe={class:"d-emoji-picker__data"},we=["alt","aria-label","title","src"],Ae={__name:"emoji_description",props:{emoji:{type:Object,default:null}},setup(o){function S(I){return I.date_added?I.image:`${E.CDN_URL+I.unicode_character}.png`}return(I,n)=>{var d;return e.openBlock(),e.createElementBlock("div",Oe,[o.emoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"d-icon d-icon--size-500",alt:o.emoji.name,"aria-label":o.emoji.name,title:o.emoji.name,src:S(o.emoji)},null,8,we)):e.createCommentVNode("",!0),e.createElementVNode("div",null,e.toDisplayString((d=o.emoji)==null?void 0:d.name),1)])}}},Be={class:"d-emoji-picker"},Ce={class:"d-emoji-picker--header"},Ne={class:"d-emoji-picker--body"},$e={class:"d-emoji-picker--footer"},De={__name:"emoji_picker",props:{recentlyUsedEmojis:{type:Array,default:()=>[]},customEmojis:{type:Array},skinTone:{type:String,default:"Default"},searchQuery:{type:String,default:""},showSearch:{type:Boolean,default:!0},showAddEmojiButton:{type:Boolean,default:!1}},emits:["selected-emoji","scroll-bottom-reached","skin-tone","close","add-emoji"],setup(o,{emit:S}){const I=o,n=S,d=e.ref(I.searchQuery.value),j=e.ref(null),R=e.ref({}),y=e.ref(0),_=e.computed(()=>{var c;return((c=I.recentlyUsedEmojis)==null?void 0:c.length)>0}),a=e.computed(()=>{var c;return((c=I.customEmojis)==null?void 0:c.length)>0}),m=new ne.DialtoneLocalization,A=[m.$t("DIALTONE_EMOJI_PICKER_TABSET_RECENTLY_USED_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_SMILEYS_AND_PEOPLE_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_NATURE_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_FOOD_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_ACTIVITY_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_TRAVEL_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_OBJECTS_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_SYMBOLS_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_FLAGS_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_CUSTOM_LABEL")],B=m.$t("DIALTONE_EMOJI_PICKER_SEARCH_PLACEHOLDER_LABEL"),L=m.$t("DIALTONE_EMOJI_PICKER_SEARCH_RESULTS_LABEL"),l=m.$t("DIALTONE_EMOJI_PICKER_SEARCH_NO_RESULTS_LABEL"),t=m.$t("DIALTONE_EMOJI_PICKER_SKIN_SELECTOR_BUTTON_TOOLTIP_LABEL"),i=m.$t("DIALTONE_EMOJI_PICKER_ADD_EMOJI_LABEL");e.watch(()=>I.searchQuery,c=>{d.value=c});function v(c){d.value="",R.value={...R.value,tabId:c}}function f(c){y.value=c}function g(c){j.value=c}return(c,r)=>(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("div",Ce,[e.createVNode(ae,{ref:"tabsetRef","emoji-filter":d.value,"show-custom-emojis-tab":a.value,"show-recently-used-tab":_.value,"scroll-into-tab":y.value,"tab-set-labels":A,onFocusSkinSelector:r[0]||(r[0]=k=>c.$refs.skinSelectorRef.focusSkinSelector()),onFocusSearchInput:r[1]||(r[1]=k=>o.showSearch?c.$refs.searchInputRef.focusSearchInput():c.$refs.emojiSelectorRef.focusEmojiSelector()),onSelectedTabset:v,onKeydown:r[2]||(r[2]=e.withKeys(k=>n("close"),["esc"]))},null,8,["emoji-filter","show-custom-emojis-tab","show-recently-used-tab","scroll-into-tab"])]),e.createElementVNode("div",Ne,[o.showSearch?(e.openBlock(),e.createBlock(ie,{key:0,ref:"searchInputRef",modelValue:d.value,"onUpdate:modelValue":r[3]||(r[3]=k=>d.value=k),"search-placeholder-label":e.unref(B),onSelectFirstEmoji:r[4]||(r[4]=k=>n("selected-emoji",j.value)),onFocusTabset:r[5]||(r[5]=k=>c.$refs.tabsetRef.focusTabset()),onFocusEmojiSelector:r[6]||(r[6]=k=>c.$refs.emojiSelectorRef.focusEmojiSelector()),onKeydown:r[7]||(r[7]=e.withKeys(k=>n("close"),["esc"]))},null,8,["modelValue","search-placeholder-label"])):e.createCommentVNode("",!0),e.createVNode(ke,{ref:"emojiSelectorRef","emoji-filter":d.value,"skin-tone":o.skinTone,"tabset-labels":A,"search-results-label":e.unref(L),"search-no-results-label":e.unref(l),"recently-used-emojis":o.recentlyUsedEmojis,"custom-emojis":o.customEmojis,"selected-tabset":R.value,onScrollIntoTab:f,onHighlightedEmoji:g,onSelectedEmoji:r[8]||(r[8]=k=>n("selected-emoji",k)),onFocusSkinSelector:r[9]||(r[9]=k=>c.$refs.skinSelectorRef.focusSkinSelector()),onFocusSearchInput:r[10]||(r[10]=k=>o.showSearch?c.$refs.searchInputRef.focusSearchInput():c.$refs.tabsetRef.focusTabset()),onKeydown:r[11]||(r[11]=e.withKeys(k=>n("close"),["esc"])),onScrollBottomReached:r[12]||(r[12]=k=>n("scroll-bottom-reached"))},null,8,["emoji-filter","skin-tone","search-results-label","search-no-results-label","recently-used-emojis","custom-emojis","selected-tabset"])]),e.createElementVNode("div",$e,[o.showAddEmojiButton&&!j.value?(e.openBlock(),e.createBlock(e.unref(J.default),{key:0,importance:"outlined","aria-label":e.unref(i),class:"d-emoji-picker__add-emoji",onClick:r[13]||(r[13]=k=>n("add-emoji"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)),1)]),_:1},8,["aria-label"])):e.createCommentVNode("",!0),e.createVNode(Ae,{emoji:j.value},null,8,["emoji"]),e.createVNode(Te,{ref:"skinSelectorRef","is-hovering":!!j.value,"skin-selector-button-tooltip-label":e.unref(t),"skin-tone":o.skinTone,onSkinTone:r[14]||(r[14]=k=>n("skin-tone",k)),onFocusTabset:r[15]||(r[15]=k=>c.$refs.tabsetRef.focusTabset()),onFocusLastEmoji:r[16]||(r[16]=k=>c.$refs.emojiSelectorRef.focusLastEmoji()),onKeydown:r[17]||(r[17]=e.withKeys(k=>n("close"),["esc"]))},null,8,["is-hovering","skin-selector-button-tooltip-label","skin-tone"])])]))}};exports.default=De;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),w=require("@dialpad/dialtone-icons/vue3"),x=require("../input/input.cjs"),J=require("../button/button.cjs"),ee=require("../../common/utils/index.cjs"),te=require("../tab/tab-group.cjs"),oe=require("../tab/tab.cjs"),O=require("@dialpad/dialtone-emojis"),E=require("./emoji-picker-constants.cjs"),le=require("../tooltip/tooltip.cjs"),ne=require("../../localization/index.cjs"),se={class:"d-emoji-picker__search d-emoji-picker__alignment"},ie={__name:"emoji_search",props:{searchPlaceholderLabel:{type:String,required:!0},modelValue:{type:String,default:""}},emits:["update:modelValue","focus-emoji-selector","focus-tabset","select-first-emoji"],setup(o,{expose:S,emit:I}){const n=I,d=e.ref(null);function j(){n("update:modelValue",""),R()}function R(){d.value.focus()}return e.onMounted(()=>{R()}),S({focusSearchInput:R}),(y,_)=>(e.openBlock(),e.createElementBlock("div",se,[e.createVNode(e.unref(x.default),{id:"searchInput",ref_key:"searchInput",ref:d,placeholder:o.searchPlaceholderLabel,"model-value":o.modelValue,"onUpdate:modelValue":_[0]||(_[0]=a=>y.$emit("update:modelValue",a)),onKeydown:[_[1]||(_[1]=e.withKeys(a=>y.$emit("focus-tabset"),["up"])),_[2]||(_[2]=e.withKeys(e.withModifiers(a=>y.$emit("focus-emoji-selector"),["prevent"]),["down"])),_[3]||(_[3]=e.withKeys(a=>y.$emit("select-first-emoji"),["enter"]))]},e.createSlots({startIcon:e.withCtx(()=>[e.createVNode(e.unref(w.DtIconSearch),{size:"200"})]),_:2},[o.modelValue.length>0?{name:"endIcon",fn:e.withCtx(()=>[e.createVNode(e.unref(J.default),{importance:"clear",size:"xs",class:"d-emoji-picker__search-x-button",circle:"",kind:"muted",onClick:j},{icon:e.withCtx(()=>[e.createVNode(e.unref(w.DtIconClose),{size:"200"})]),_:1})]),key:"0"}:void 0]),1032,["placeholder","model-value"])]))}},re={class:"d-emoji-picker__tabset"},ae={__name:"emoji_tabset",props:{showRecentlyUsedTab:{type:Boolean,default:!1},showCustomEmojisTab:{type:Boolean,default:!1},scrollIntoTab:{type:Number,required:!0},emojiFilter:{type:String,default:""},tabSetLabels:{type:Array,required:!0}},emits:["selected-tabset","focus-search-input","focus-skin-selector"],setup(o,{expose:S,emit:I}){const n=o,d=I,j=[{label:n.tabSetLabels[0],icon:w.DtIconClock},{label:n.tabSetLabels[1],icon:w.DtIconSatisfied},{label:n.tabSetLabels[2],icon:w.DtIconLivingThing},{label:n.tabSetLabels[3],icon:w.DtIconFood},{label:n.tabSetLabels[4],icon:w.DtIconObject},{label:n.tabSetLabels[5],icon:w.DtIconTransportation},{label:n.tabSetLabels[6],icon:w.DtIconLightbulb},{label:n.tabSetLabels[7],icon:w.DtIconHeart},{label:n.tabSetLabels[8],icon:w.DtIconFlag},{label:n.tabSetLabels[9],icon:w.DtIconDialpadStar}],R=e.computed(()=>{const l=n.showRecentlyUsedTab?j:j.slice(1);return n.showCustomEmojisTab||l.pop(),l.map((t,i)=>({...t,id:(i+1).toString(),panelId:(i+1).toString()}))}),y=e.computed(()=>n.emojiFilter.length>0),_=e.ref("1"),a=e.ref([]);e.watch(()=>n.scrollIntoTab,()=>{y.value||(_.value=(n.scrollIntoTab+1).toString())}),e.watch(y,()=>{y.value&&(_.value=null)});function m(l){const t=parseInt(l);_.value=l,d("selected-tabset",t)}function A(l){a.value.push(ee.returnFirstEl(l.$el))}function B(){a.value[0].focus()}function L(l,t){l.key==="Enter"&&(m(t),a.value[t-1].blur()),l.key==="Tab"&&(l.preventDefault(),l.shiftKey?d("focus-skin-selector"):d("focus-search-input")),l.key==="ArrowDown"&&d("focus-search-input")}return S({focusTabset:B}),(l,t)=>(e.openBlock(),e.createElementBlock("div",re,[e.createVNode(e.unref(te.default),{selected:_.value,size:"sm","tab-list-class":"d-emoji-picker__tabset-list"},{tabs:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,(i,v)=>(e.openBlock(),e.createBlock(e.unref(oe.default),{id:i.id,key:i.id,ref_for:!0,ref:f=>{f&&A(f)},label:i.label,"panel-id":i.panelId,tabindex:v+1,"aria-controls":"d-emoji-picker-list",onKeydown:f=>L(f,i.id),onClickCapture:e.withModifiers(f=>m(i.id),["stop"])},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.icon),{size:"400"}))]),_:2},1032,["id","label","panel-id","tabindex","onKeydown","onClickCapture"]))),128))]),_:1},8,["selected"])]))}};function ce(){const o=e.ref([]),S=e.ref([]),I=e.ref(!1),n=e.ref(!0);function d(l,t){a(l,t-1)||(o.value[l-1]?a(l-1,o.value[l-1].length-1):a(o.value.length-1,o.value[o.value.length-1].length-1))}function j(l,t){a(l,t+1)||a(l+1,0)||a(0,0)}function R(l,t){a(0,t-1)||a(0,S.value.length-1)}function y(l,t){a(0,t+1)||a(0,0)}function _(l,t,i){I.value?l==="left"?R(t,i):l==="right"&&y(t,i):l==="left"?d(t,i):l==="right"&&j(t,i)}function a(l,t){var v,f,g;const i=I.value?(v=S.value)==null?void 0:v[t]:(g=(f=o.value)==null?void 0:f[l])==null?void 0:g[t];return i?(i.focus(),!0):!1}function m(l,t,i){o.value[t]||(o.value[t]=[]),o.value[t][i]=l}function A(l,t){S.value[t]=l}function B(l,t){var i;if(n.value=!1,l===E.ARROW_KEYS.ARROW_UP){const v=t%E.EMOJIS_PER_ROW;if(!a(0,t-E.EMOJIS_PER_ROW)){const f=S.value.length-S.value.length%E.EMOJIS_PER_ROW+v;a(0,f),a(0,f)||a(0,S.value.length-1)}}if(l===E.ARROW_KEYS.ARROW_DOWN&&!a(0,t+E.EMOJIS_PER_ROW)){const v=t%E.EMOJIS_PER_ROW;(i=S.value)!=null&&i[t+(E.EMOJIS_PER_ROW-v)]?a(0,S.value.length-1):a(0,v)}l===E.ARROW_KEYS.ARROW_LEFT&&_("left",0,t),l===E.ARROW_KEYS.ARROW_RIGHT&&_("right",0,t)}function L(l,t,i){var v,f;if(l==="ArrowUp"){const g=i%E.EMOJIS_PER_ROW;if(t===0){const c=E.EMOJIS_PER_ROW-o.value[o.value.length-1].length%E.EMOJIS_PER_ROW,r=o.value[o.value.length-1].length+c-(E.EMOJIS_PER_ROW-g);a(o.value.length-1,r)||a(o.value.length-1,o.value[o.value.length-1].length-1);return}if(!a(t,i-E.EMOJIS_PER_ROW)){const c=t-1<0?0:t-1,r=o.value[c].length,k=r-r%E.EMOJIS_PER_ROW+g;a(c,k)||a(t-1,o.value[t-1].length-1)}}if(l==="ArrowDown"&&!a(t,i+E.EMOJIS_PER_ROW)){const g=i%E.EMOJIS_PER_ROW;(f=(v=o.value)==null?void 0:v[t])!=null&&f[i+(E.EMOJIS_PER_ROW-g)]?a(t,o.value[t].length-1):a(t+1,g)||a(0,g)||a(0,o.value[0].length-1)}l==="ArrowLeft"&&_("left",t,i),l==="ArrowRight"&&_("right",t,i)}return{emojiFilteredRefs:S,isFiltering:I,hoverFirstEmoji:n,setEmojiRef:m,setFilteredRef:A,focusEmoji:a,handleArrowNavigationFiltered:B,handleArrowNavigation:L}}const ue={class:"d-emoji-picker__selector"},fe={key:0,class:"d-emoji-picker__search-label d-emoji-picker__alignment"},de={key:0},me={class:"d-emoji-picker__tab"},Ee=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],_e=["alt","aria-label","title","src"],ve={key:2,class:"d-emoji-picker__alignment"},be={class:"d-emoji-picker__tab","data-qa":"filtered-emojis"},pe=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],he=["alt","aria-label","title","src"],ke={__name:"emoji_selector",props:{emojiFilter:{type:String,default:""},skinTone:{type:String,required:!0},tabsetLabels:{type:Array,required:!0},selectedTabset:{type:Object,required:!0},searchResultsLabel:{type:String,required:!0},searchNoResultsLabel:{type:String,required:!0},recentlyUsedEmojis:{type:Array,default:()=>[]},customEmojis:{type:Array,default:()=>[]}},emits:["highlighted-emoji","selected-emoji","scroll-into-tab","scroll-bottom-reached","focus-skin-selector","focus-search-input"],setup(o,{expose:S,emit:I}){const n=o,d=I,{emojiFilteredRefs:j,isFiltering:R,hoverFirstEmoji:y,setEmojiRef:_,setFilteredRef:a,focusEmoji:m,handleArrowNavigationFiltered:A,handleArrowNavigation:B}=ce(),L=e.ref(null),l=e.ref(null),t=e.ref(null),i=["Recently used","People","Nature","Food","Activity","Travel","Objects","Symbols","Flags","Custom"],v=e.computed(()=>{let s=n.tabsetLabels.map(u=>({label:u,ref:e.ref(null)}));return n.recentlyUsedEmojis&&!n.recentlyUsedEmojis.length&&(s=n.tabsetLabels.slice(1).map(u=>({label:u,ref:e.ref(null)}))),n.customEmojis&&!n.customEmojis.length&&s.pop(),s}),f=e.ref(v.value[0].label),g=e.computed(()=>{const s=n.recentlyUsedEmojis.length?i.slice():i.slice(1);return n.customEmojis&&!n.customEmojis.length&&s.pop(),s}),c=e.ref([]),r=e.computed(()=>[...O.emojisGrouped[`People${n.skinTone}`],...O.emojisGrouped.Nature,...O.emojisGrouped.Food,...O.emojisGrouped[`Activity${n.skinTone}`],...O.emojisGrouped.Travel,...O.emojisGrouped[`Objects${n.skinTone}`],...O.emojisGrouped.Symbols,...O.emojisGrouped.Flags]),k=U(()=>{j.value=[],F()}),M=()=>{const s=l.value;s.scrollTop+s.clientHeight>=s.scrollHeight&&d("scroll-bottom-reached")};e.watch(r,()=>{F()},{immediate:!0}),e.watch(()=>n.recentlyUsedEmojis,()=>{O.emojisGrouped["Recently used"]=n.recentlyUsedEmojis},{immediate:!0}),e.watch(()=>n.customEmojis,()=>{O.emojisGrouped.Custom=n.customEmojis},{immediate:!0}),e.watch(()=>n.emojiFilter,()=>{G(),n.emojiFilter?R.value=!0:(R.value=!1,C(null)),k()}),e.watch(()=>n.selectedTabset,s=>{$(s.tabId)},{deep:!0});function K(s,u=!1){y.value=u,d("highlighted-emoji",s)}function F(){const s=n.emojiFilter.toLowerCase();c.value=r.value.filter(u=>{const p=u.name.toLowerCase().includes(s),h=u.keywords.some(b=>b.toLowerCase().includes(s));return p||h}),e.nextTick(()=>{s&&K(c.value[0],!0)})}function U(s,u=300){let p;return(...h)=>{clearTimeout(p),p=setTimeout(()=>s(...h),u)}}function W(s){return s.date_added?s.image:E.CDN_URL+s.unicode_character+".png"}function q(s){s.target.parentNode.style.display="none"}function $(s,u=!0){const h=v.value[s-1].ref.value[0];e.nextTick(()=>{const b=l.value,N=s===1?0:h.offsetTop-15;b.scrollTop=N,u&&m(s-1,0)})}function G(){const s=l.value;s.scrollTop=0}function z(){l.value.addEventListener("scroll",M)}function H(){t.value=new IntersectionObserver(async s=>{s.forEach(u=>{var b,N,T,P,V;const{target:p}=u,h=parseInt(p.dataset.index);u.isIntersecting&&p.offsetTop<=L.value.offsetTop+50?(f.value=((b=v.value[h-1])==null?void 0:b.label)??((N=v.value[0])==null?void 0:N.label),d("scroll-into-tab",h-1)):u.boundingClientRect.bottom<=((T=L.value)==null?void 0:T.getBoundingClientRect().bottom)?(d("scroll-into-tab",h),f.value=(P=v.value[h])==null?void 0:P.label):h===1&&(d("scroll-into-tab",h),f.value=(V=v.value[0])==null?void 0:V.label)})}),t.value.observe(L.value),Array.from(l.value.children).forEach((s,u)=>{t.value.observe(s),s.dataset.index=u})}const Y=(s,u,p)=>{if(s.preventDefault(),Object.values(E.ARROW_KEYS).includes(s.key)){A(s.key,u);return}switch(s.key){case"Tab":d("focus-skin-selector");break;case"Enter":D(p,s);break}},Q=(s,u,p,h)=>{if(s.preventDefault(),Object.values(E.ARROW_KEYS).includes(s.key)){B(s.key,u,p);return}switch(s.key){case"Tab":s.shiftKey?m(u,0)&&u>0?$(u,!0):($(1,!1),d("focus-search-input")):m(u+1,0)?$(u+1+1,!1):d("focus-skin-selector");break;case"Enter":D(h,s);break}};function D(s,u){d("selected-emoji",{...s,shift_key:u.shiftKey})}function C(s){d("highlighted-emoji",s)}function X(){m(0,0)}function Z(){$(g.value.length,!0)}return e.onMounted(()=>{H(),z()}),e.onBeforeUnmount(()=>{t.value.disconnect(),l.value.removeEventListener("scroll",M)}),S({focusEmojiSelector:X,focusLastEmoji:Z}),(s,u)=>(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",{id:"d-emoji-picker-list",ref_key:"listRef",ref:l,class:"d-emoji-picker__list"},[o.emojiFilter?(e.openBlock(),e.createElementBlock("p",fe,e.toDisplayString(c.value.length>0?o.searchResultsLabel:o.searchNoResultsLabel),1)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"tabCategoryRef",ref:L,class:"d-emoji-picker__category d-emoji-picker__alignment"},[e.createElementVNode("p",null,e.toDisplayString(f.value),1)],512)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(p,h)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:h,ref_for:!0,ref:p.ref,class:"d-emoji-picker__alignment"},[h?(e.openBlock(),e.createElementBlock("p",de,e.toDisplayString(p.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(O.emojisGrouped)[g.value[h]+o.skinTone]?e.unref(O.emojisGrouped)[g.value[h]+o.skinTone]:e.unref(O.emojisGrouped)[g.value[h]],(b,N)=>(e.openBlock(),e.createElementBlock("button",{key:b.shortname,ref_for:!0,ref:T=>{T&&e.unref(_)(T,h,N)},type:"button","aria-label":b.name,onClick:T=>D(b,T),onFocusin:T=>C(b),onFocusout:u[0]||(u[0]=T=>C(null)),onMouseover:T=>C(b),onMouseleave:u[1]||(u[1]=T=>C(null)),onKeydown:T=>Q(T,h,N,b)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:b.name,"aria-label":b.name,title:b.name,src:W(b),onError:q},null,40,_e)],40,Ee))),128))])])),[[e.vShow,!o.emojiFilter]])),128)),o.emojiFilter?(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(p,h)=>(e.openBlock(),e.createElementBlock("button",{key:p.shortname,ref_for:!0,ref:b=>{b&&e.unref(a)(b,h)},type:"button","aria-label":p.name,class:e.normalizeClass({"hover-emoji":h===0&&e.unref(y)}),onClick:b=>D(p,b),onFocusin:b=>C(p),onFocusout:u[2]||(u[2]=b=>C(null)),onMouseover:b=>K(p),onMouseleave:u[3]||(u[3]=b=>K(null)),onKeydown:b=>Y(b,h,p)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:p.name,"aria-label":p.name,title:p.name,src:`${e.unref(E.CDN_URL)+p.unicode_character}.png`},null,8,he)],42,pe))),128))])])):e.createCommentVNode("",!0)],512)]))}},Se={"data-qa":"skin-selector"},Ie={class:"d-emoji-picker__skin-list"},Re=["onKeydown","onClick"],ge=["alt","aria-label","title","src"],ye={class:"d-emoji-picker__skin-selected"},je=["aria-label"],Le=["alt","aria-label","title","src"],Te={__name:"emoji_skin_selector",props:{skinTone:{type:String,required:!0},isHovering:{type:Boolean,default:!1},skinSelectorButtonTooltipLabel:{type:String,required:!0}},emits:["skin-tone","focus-tabset","focus-last-emoji"],setup(o,{expose:S,emit:I}){const n=o,d=I,j=[{name:":wave_tone1:",unicode_output:"1f44b-1f3fb",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.LIGHT,skinCode:"_tone1"},{name:":wave_tone2:",unicode_output:"1f44b-1f3fc",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.MEDIUM_LIGHT,skinCode:"_tone2"},{name:":wave_tone3:",unicode_output:"1f44b-1f3fd",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.MEDIUM,skinCode:"_tone3"},{name:":wave_tone4:",unicode_output:"1f44b-1f3fe",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.MEDIUM_DARK,skinCode:"_tone4"},{name:":wave_tone5:",unicode_output:"1f44b-1f3ff",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.DARK,skinCode:"_tone5"},{name:":wave:",unicode_output:"1f44b",skinTone:E.EMOJI_PICKER_SKIN_TONE_MODIFIERS.DEFAULT,skinCode:""}],R=e.ref(!1),y=e.ref(null),_=e.ref([]);e.watchEffect(()=>n.isHovering&&(R.value=!1));const a=e.computed(()=>j.find(i=>i.skinTone===n.skinTone)),m=e.ref(a.value);e.watchEffect(()=>a.value&&(m.value=a.value));function A(i){_.value.push(i)}function B(){y.value.focus()}function L(i){m.value=i,R.value=!1,d("skin-tone",i.skinTone),e.nextTick(()=>B())}const l=(i,v,f)=>{var g,c,r;i.preventDefault(),i.key==="ArrowLeft"&&(f===0&&((g=_.value[_.value.length-1])==null||g.focus()),(c=_.value[f-1])==null||c.focus()),i.key==="ArrowRight"&&((r=_.value[f+1])==null||r.focus()),i.key==="Enter"&&(v?L(v):t()),i.key==="Tab"&&(i.shiftKey?d("focus-last-emoji"):d("focus-tabset"))};function t(){R.value=!R.value,e.nextTick(()=>_.value[0].focus())}return S({focusSkinSelector:B}),(i,v)=>(e.openBlock(),e.createElementBlock("div",Se,[e.withDirectives(e.createElementVNode("div",Ie,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(j,(f,g)=>e.createElementVNode("button",{ref_for:!0,ref:c=>{c&&A(c)},key:f.name,class:e.normalizeClass({selected:m.value.skinCode===f.skinCode}),onKeydown:c=>l(c,f,g),onClick:c=>L(f)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:f.name,"aria-label":f.name,title:f.name,src:`${e.unref(E.CDN_URL)+f.unicode_output}.png`},null,8,ge)],42,Re)),64))],512),[[e.vShow,R.value]]),e.withDirectives(e.createElementVNode("div",ye,[e.createVNode(e.unref(le.default),{placement:"top-end"},{anchor:e.withCtx(()=>[e.createElementVNode("button",{ref_key:"skinSelectorRef",ref:y,"aria-label":o.skinSelectorButtonTooltipLabel,tabindex:"-1",onClick:t,onKeydown:v[0]||(v[0]=f=>l(f))},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:m.value.name,"aria-label":m.value.name,title:m.value.name,src:`${e.unref(E.CDN_URL)+m.value.unicode_output}.png`},null,8,Le)],40,je)]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.skinSelectorButtonTooltipLabel)+" ",1)]),_:1})],512),[[e.vShow,!R.value]])]))}},Oe={class:"d-emoji-picker__data"},we=["alt","aria-label","title","src"],Ae={__name:"emoji_description",props:{emoji:{type:Object,default:null}},setup(o){function S(I){return I.date_added?I.image:`${E.CDN_URL+I.unicode_character}.png`}return(I,n)=>{var d;return e.openBlock(),e.createElementBlock("div",Oe,[o.emoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"d-icon d-icon--size-500",alt:o.emoji.name,"aria-label":o.emoji.name,title:o.emoji.name,src:S(o.emoji)},null,8,we)):e.createCommentVNode("",!0),e.createElementVNode("div",null,e.toDisplayString((d=o.emoji)==null?void 0:d.name),1)])}}},Be={class:"d-emoji-picker"},Ce={class:"d-emoji-picker--header"},Ne={class:"d-emoji-picker--body"},$e={class:"d-emoji-picker--footer"},De={__name:"emoji_picker",props:{recentlyUsedEmojis:{type:Array,default:()=>[]},customEmojis:{type:Array},skinTone:{type:String,default:"Default"},searchQuery:{type:String,default:""},showSearch:{type:Boolean,default:!0},showAddEmojiButton:{type:Boolean,default:!1}},emits:["selected-emoji","scroll-bottom-reached","skin-tone","close","add-emoji"],setup(o,{emit:S}){const I=o,n=S,d=e.ref(I.searchQuery.value),j=e.ref(null),R=e.ref({}),y=e.ref(0),_=e.computed(()=>{var c;return((c=I.recentlyUsedEmojis)==null?void 0:c.length)>0}),a=e.computed(()=>{var c;return((c=I.customEmojis)==null?void 0:c.length)>0}),m=new ne.DialtoneLocalization,A=[m.$t("DIALTONE_EMOJI_PICKER_TABSET_RECENTLY_USED_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_SMILEYS_AND_PEOPLE_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_NATURE_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_FOOD_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_ACTIVITY_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_TRAVEL_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_OBJECTS_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_SYMBOLS_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_FLAGS_LABEL"),m.$t("DIALTONE_EMOJI_PICKER_TABSET_CUSTOM_LABEL")],B=m.$t("DIALTONE_EMOJI_PICKER_SEARCH_PLACEHOLDER_LABEL"),L=m.$t("DIALTONE_EMOJI_PICKER_SEARCH_RESULTS_LABEL"),l=m.$t("DIALTONE_EMOJI_PICKER_SEARCH_NO_RESULTS_LABEL"),t=m.$t("DIALTONE_EMOJI_PICKER_SKIN_SELECTOR_BUTTON_TOOLTIP_LABEL"),i=m.$t("DIALTONE_EMOJI_PICKER_ADD_EMOJI_LABEL");e.watch(()=>I.searchQuery,c=>{d.value=c});function v(c){d.value="",R.value={...R.value,tabId:c}}function f(c){y.value=c}function g(c){j.value=c}return(c,r)=>(e.openBlock(),e.createElementBlock("div",Be,[e.createElementVNode("div",Ce,[e.createVNode(ae,{ref:"tabsetRef","emoji-filter":d.value,"show-custom-emojis-tab":a.value,"show-recently-used-tab":_.value,"scroll-into-tab":y.value,"tab-set-labels":A,onFocusSkinSelector:r[0]||(r[0]=k=>c.$refs.skinSelectorRef.focusSkinSelector()),onFocusSearchInput:r[1]||(r[1]=k=>o.showSearch?c.$refs.searchInputRef.focusSearchInput():c.$refs.emojiSelectorRef.focusEmojiSelector()),onSelectedTabset:v,onKeydown:r[2]||(r[2]=e.withKeys(k=>n("close"),["esc"]))},null,8,["emoji-filter","show-custom-emojis-tab","show-recently-used-tab","scroll-into-tab"])]),e.createElementVNode("div",Ne,[o.showSearch?(e.openBlock(),e.createBlock(ie,{key:0,ref:"searchInputRef",modelValue:d.value,"onUpdate:modelValue":r[3]||(r[3]=k=>d.value=k),"search-placeholder-label":e.unref(B),onSelectFirstEmoji:r[4]||(r[4]=k=>n("selected-emoji",j.value)),onFocusTabset:r[5]||(r[5]=k=>c.$refs.tabsetRef.focusTabset()),onFocusEmojiSelector:r[6]||(r[6]=k=>c.$refs.emojiSelectorRef.focusEmojiSelector()),onKeydown:r[7]||(r[7]=e.withKeys(k=>n("close"),["esc"]))},null,8,["modelValue","search-placeholder-label"])):e.createCommentVNode("",!0),e.createVNode(ke,{ref:"emojiSelectorRef","emoji-filter":d.value,"skin-tone":o.skinTone,"tabset-labels":A,"search-results-label":e.unref(L),"search-no-results-label":e.unref(l),"recently-used-emojis":o.recentlyUsedEmojis,"custom-emojis":o.customEmojis,"selected-tabset":R.value,onScrollIntoTab:f,onHighlightedEmoji:g,onSelectedEmoji:r[8]||(r[8]=k=>n("selected-emoji",k)),onFocusSkinSelector:r[9]||(r[9]=k=>c.$refs.skinSelectorRef.focusSkinSelector()),onFocusSearchInput:r[10]||(r[10]=k=>o.showSearch?c.$refs.searchInputRef.focusSearchInput():c.$refs.tabsetRef.focusTabset()),onKeydown:r[11]||(r[11]=e.withKeys(k=>n("close"),["esc"])),onScrollBottomReached:r[12]||(r[12]=k=>n("scroll-bottom-reached"))},null,8,["emoji-filter","skin-tone","search-results-label","search-no-results-label","recently-used-emojis","custom-emojis","selected-tabset"])]),e.createElementVNode("div",$e,[o.showAddEmojiButton&&!j.value?(e.openBlock(),e.createBlock(e.unref(J.default),{key:0,importance:"outlined","aria-label":e.unref(i),class:"d-emoji-picker__add-emoji",onClick:r[13]||(r[13]=k=>n("add-emoji"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)),1)]),_:1},8,["aria-label"])):e.createCommentVNode("",!0),e.createVNode(Ae,{emoji:j.value},null,8,["emoji"]),e.createVNode(Te,{ref:"skinSelectorRef","is-hovering":!!j.value,"skin-selector-button-tooltip-label":e.unref(t),"skin-tone":o.skinTone,onSkinTone:r[14]||(r[14]=k=>n("skin-tone",k)),onFocusTabset:r[15]||(r[15]=k=>c.$refs.tabsetRef.focusTabset()),onFocusLastEmoji:r[16]||(r[16]=k=>c.$refs.emojiSelectorRef.focusLastEmoji()),onKeydown:r[17]||(r[17]=e.withKeys(k=>n("close"),["esc"]))},null,8,["is-hovering","skin-selector-button-tooltip-label","skin-tone"])])]))}};exports.default=De;
|
|
2
2
|
//# sourceMappingURL=emoji-picker.cjs.map
|