@dialpad/dialtone 9.156.1 → 9.158.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/dialtone-default-theme.css +7 -0
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/dialtone.css +7 -0
- package/dist/css/dialtone.min.css +1 -1
- package/dist/tokens/doc.json +76215 -76215
- package/dist/vue3/common/dates/index.js +4 -4
- package/dist/vue3/common/utils/index.js +3 -3
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/dialtone-vue.cjs +1 -1
- package/dist/vue3/dialtone-vue.js +349 -349
- package/dist/vue3/lib/attachment-carousel/attachment-carousel.js +1 -1
- package/dist/vue3/lib/avatar/avatar.js +10 -10
- package/dist/vue3/lib/badge/badge.js +5 -5
- package/dist/vue3/lib/banner/banner.js +1 -1
- package/dist/vue3/lib/breadcrumbs/breadcrumb-item.js +2 -2
- package/dist/vue3/lib/breadcrumbs/breadcrumbs.js +1 -1
- package/dist/vue3/lib/button/button.js +14 -14
- package/dist/vue3/lib/button-group/button-group.js +2 -2
- package/dist/vue3/lib/button-group/buttons-decorator.js +2 -2
- package/dist/vue3/lib/callbar-button/callbar-button.js +2 -2
- package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
- package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +9 -9
- package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
- package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js +9 -9
- package/dist/vue3/lib/callbox/callbox.js +1 -1
- package/dist/vue3/lib/card/card.js +4 -4
- package/dist/vue3/lib/checkbox/checkbox.js +5 -5
- package/dist/vue3/lib/checkbox-group/checkboxes-decorator.js +1 -1
- package/dist/vue3/lib/chip/chip.js +7 -7
- package/dist/vue3/lib/codeblock/codeblock.js +2 -2
- package/dist/vue3/lib/collapsible/collapsible-lazy-show.js +3 -3
- package/dist/vue3/lib/collapsible/collapsible.js +8 -8
- package/dist/vue3/lib/combobox/combobox-empty-list.js +2 -2
- package/dist/vue3/lib/combobox/combobox-loading-list.js +3 -3
- package/dist/vue3/lib/combobox/combobox.cjs +1 -1
- package/dist/vue3/lib/combobox/combobox.js +8 -8
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js +1 -1
- package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
- package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js +10 -10
- package/dist/vue3/lib/contact-centers-row/contact-centers-row.js +7 -7
- package/dist/vue3/lib/contact-info/contact-info.js +1 -1
- package/dist/vue3/lib/contact-row/contact-row.js +1 -1
- package/dist/vue3/lib/datepicker/datepicker.js +1 -1
- package/dist/vue3/lib/datepicker/utils.js +4 -4
- package/dist/vue3/lib/description-list/description-list.js +3 -3
- package/dist/vue3/lib/dropdown/dropdown-list.js +4 -4
- package/dist/vue3/lib/dropdown/dropdown-separator.js +2 -2
- package/dist/vue3/lib/dropdown/dropdown.js +2 -2
- package/dist/vue3/lib/editor/editor.cjs +1 -1
- package/dist/vue3/lib/editor/editor.cjs.map +1 -1
- package/dist/vue3/lib/editor/editor.js +59 -51
- package/dist/vue3/lib/editor/editor.js.map +1 -1
- package/dist/vue3/lib/emoji/emoji.js +2 -2
- package/dist/vue3/lib/emoji-picker/emoji-picker.js +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row.js +6 -6
- package/dist/vue3/lib/empty-state/empty-state.js +7 -7
- package/dist/vue3/lib/feed-item-pill/feed-item-pill.js +1 -1
- package/dist/vue3/lib/feed-item-row/feed-item-row.js +15 -15
- package/dist/vue3/lib/general-row/general-row.js +13 -13
- package/dist/vue3/lib/general-row/leftbar-general-row-icon.js +5 -5
- package/dist/vue3/lib/group-row/group-row.js +2 -2
- package/dist/vue3/lib/grouped-chip/grouped-chip.js +14 -14
- package/dist/vue3/lib/hovercard/hovercard.js +2 -2
- package/dist/vue3/lib/icon/icon.js +3 -3
- package/dist/vue3/lib/illustration/illustration.js +3 -3
- package/dist/vue3/lib/image-viewer/image-viewer.js +12 -12
- package/dist/vue3/lib/input/input.js +10 -10
- package/dist/vue3/lib/input-group/input-group.js +8 -8
- package/dist/vue3/lib/item-layout/item-layout.js +13 -13
- package/dist/vue3/lib/ivr-node/ivr-node.js +9 -9
- package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.js +3 -3
- package/dist/vue3/lib/lazy-show/lazy-show.js +2 -2
- package/dist/vue3/lib/link/link.js +2 -2
- package/dist/vue3/lib/list-item/list-item.js +3 -3
- package/dist/vue3/lib/list-item-group/list-item-group.js +5 -5
- package/dist/vue3/lib/loader/loader.js +2 -2
- package/dist/vue3/lib/message-input/message-input-button.js +5 -5
- package/dist/vue3/lib/message-input/message-input-link.js +2 -2
- package/dist/vue3/lib/message-input/message-input-topbar.js +2 -2
- package/dist/vue3/lib/message-input/message-input.js +1 -1
- package/dist/vue3/lib/modal/modal.js +1 -1
- package/dist/vue3/lib/motion-text/motion-text.js +5 -5
- package/dist/vue3/lib/notice/notice-action.js +1 -1
- package/dist/vue3/lib/notice/notice-content.js +6 -6
- package/dist/vue3/lib/notice/notice-icon.js +4 -4
- package/dist/vue3/lib/notice/notice.js +1 -1
- package/dist/vue3/lib/pagination/pagination.js +1 -1
- package/dist/vue3/lib/popover/popover-constants.js +3 -3
- package/dist/vue3/lib/popover/popover-header-footer.js +6 -6
- package/dist/vue3/lib/popover/popover.js +7 -7
- package/dist/vue3/lib/presence/presence.js +4 -4
- package/dist/vue3/lib/radio/radio.js +10 -10
- package/dist/vue3/lib/radio-group/radios-decorator.js +1 -1
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs +4 -4
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.js +161 -149
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/vue3/lib/root-layout/root-layout.js +3 -3
- package/dist/vue3/lib/scroller/scroller.js +1 -1
- package/dist/vue3/lib/select-menu/select-menu.js +12 -12
- package/dist/vue3/lib/settings-menu-button/settings-menu-button.js +3 -3
- package/dist/vue3/lib/skeleton/skeleton-list-item.js +2 -2
- package/dist/vue3/lib/skeleton/skeleton-paragraph.js +1 -1
- package/dist/vue3/lib/skeleton/skeleton-shape.js +2 -2
- package/dist/vue3/lib/skeleton/skeleton-text.js +4 -4
- package/dist/vue3/lib/skeleton/skeleton.js +1 -1
- package/dist/vue3/lib/split-button/split-button-alpha.js +2 -2
- package/dist/vue3/lib/split-button/split-button-omega.js +2 -2
- package/dist/vue3/lib/split-button/split-button.js +13 -13
- package/dist/vue3/lib/stack/stack.js +2 -2
- package/dist/vue3/lib/stack/utils.js +5 -5
- package/dist/vue3/lib/stack/validators.js +7 -7
- package/dist/vue3/lib/tab/tab-group.js +2 -2
- package/dist/vue3/lib/tab/tab-panel.js +2 -2
- package/dist/vue3/lib/tab/tab.js +2 -2
- package/dist/vue3/lib/time-pill/time-pill.js +2 -2
- package/dist/vue3/lib/toast/toast.js +1 -1
- package/dist/vue3/lib/toggle/toggle.js +7 -7
- package/dist/vue3/lib/tooltip/tooltip.js +5 -5
- package/dist/vue3/lib/top-banner-info/top-banner-info.js +2 -2
- package/dist/vue3/lib/unread-pill/unread-pill.js +1 -1
- package/dist/vue3/lib/validation-messages/validation-messages.js +6 -6
- package/dist/vue3/node_modules/@tiptap/vue-3.cjs.map +1 -1
- package/dist/vue3/node_modules/@tiptap/vue-3.js.map +1 -1
- package/dist/vue3/shared/sr_only_close_button.js +2 -2
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +9 -0
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +18 -0
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +9 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/package.json +9 -15
|
@@ -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 <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n {{ button?.label }}\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n 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\"\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 :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 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 />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { 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 {\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} from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n 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 },\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 add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\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 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 showLinkInput: false,\n linkInput: '',\n currentButtonRefIndex: 0,\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 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 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.showBoldButton,\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 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 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 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 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 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 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 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 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 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 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 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 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 ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: 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\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 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 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 previousRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const previousActionBarBtn = Array.isArray(previousRef) ? previousRef[0] : previousRef;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const currentActionBarBtn = Array.isArray(currentRef) ? currentRef[0] : currentRef;\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","DialtoneLocalization","RICH_TEXT_EDITOR_OUTPUT_FORMATS","refs","acc","buttonData","button","individualButtonStacks","buttonGroupData","newValue","removeClassStyleAttrs","addClassStyleAttrs","event","_e","_d","_c","_b","_a","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","imageUrl","messageContent","position","input","key","selector","refKey","shiftAmount","previousRef","previousActionBarBtn","index","currentRef","currentActionBarBtn","_hoisted_1","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_Fragment","_renderList","buttonGroup","_createBlock","_openBlock","_component_dt_tooltip","_component_dt_button","_resolveDynamicComponent","_toDisplayString","_createElementVNode","_component_dt_popover","$data","_component_dt_input","$props","_createTextVNode","_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 <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"getButtonKey(buttonGroup.key, button.selector)\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :ref=\"getButtonRef(buttonGroup.key, button.selector)\"\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n :tabindex=\"canFocus(getButtonRef(buttonGroup.key, button.selector)) ? 0 : -1\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\n @keydown.right.stop=\"shiftActionBarFocusRight\"\n @keydown.left.stop=\"shiftActionBarFocusLeft\"\n >\n <template #icon>\n <component\n :is=\"button.icon\"\n size=\"200\"\n />\n </template>\n {{ button?.label }}\n </dt-button>\n </template>\n </dt-tooltip>\n <div class=\"d-recipe-editor__button-group-divider\" />\n </dt-stack>\n <dt-stack\n v-if=\"linkButton.showBtn\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-popover\n :open=\"showLinkInput\"\n :show-close-button=\"false\"\n 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\"\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 :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 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 />\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n} from './editor_constants.js';\nimport { 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 {\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} from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeEditor',\n\n components: {\n DtRichTextEditor,\n DtButton,\n DtPopover,\n DtStack,\n DtInput,\n DtTooltip,\n 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 },\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 add link default config.\n */\n showAddLink: {\n type: Object,\n default: () => ({\n showAddLinkButton: true,\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 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 showLinkInput: false,\n linkInput: '',\n currentButtonRefIndex: 0,\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 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 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.showBoldButton,\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 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 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 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 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 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 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 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 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 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 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 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 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 ].filter(button => button.showBtn);\n },\n\n linkButton () {\n return {\n showBtn: this.showAddLink.showAddLinkButton,\n selector: 'link',\n icon: DtIconLink2,\n dataQA: 'dt-recipe-editor-add-link-btn',\n tooltipMessage: 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\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 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 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 previousRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const previousActionBarBtn = Array.isArray(previousRef) ? previousRef[0] : previousRef;\n const index = (this.currentButtonRefIndex + shiftAmount) % this.orderedRefs.length;\n this.currentButtonRefIndex = index >= 0 ? index : this.orderedRefs.length + index;\n const currentRef = this.$refs[this.orderedRefs[this.currentButtonRefIndex]];\n const currentActionBarBtn = Array.isArray(currentRef) ? currentRef[0] : currentRef;\n previousActionBarBtn.$el.blur();\n currentActionBarBtn.$el.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconQuickReply","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","DialtoneLocalization","RICH_TEXT_EDITOR_OUTPUT_FORMATS","refs","acc","buttonData","button","individualButtonStacks","buttonGroupData","newValue","removeClassStyleAttrs","addClassStyleAttrs","event","_e","_d","_c","_b","_a","editor","EDITOR_SUPPORTED_LINK_PROTOCOLS","prefixRegex","EDITOR_DEFAULT_LINK_PREFIX","selection","openedInput","alignment","imageUrl","messageContent","position","input","key","selector","refKey","shiftAmount","previousRef","previousActionBarBtn","index","currentRef","currentActionBarBtn","_hoisted_1","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_Fragment","_renderList","buttonGroup","_createBlock","_openBlock","_component_dt_tooltip","_component_dt_button","_resolveDynamicComponent","_toDisplayString","_createElementVNode","_component_dt_popover","$data","_component_dt_input","$props","_createTextVNode","_component_dt_rich_text_editor"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { codeToEmojiData as c, stringToUnicode as u, emojiImageUrlSmall as j, emojiFileExtensionSmall as g, emojiImageUrlLarge as h, emojiFileExtensionLarge as f } from "../../common/emoji/index.js";
|
|
2
|
-
import { resolveComponent as D,
|
|
2
|
+
import { resolveComponent as D, openBlock as S, createElementBlock as L, normalizeClass as o, withDirectives as n, createVNode as E, vShow as l, createElementVNode as p } from "vue";
|
|
3
3
|
import { _ } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
import b from "../skeleton/skeleton.js";
|
|
5
5
|
import { ICON_SIZE_MODIFIERS as s } from "../icon/icon-constants.js";
|
|
@@ -110,7 +110,7 @@ const k = {
|
|
|
110
110
|
}, y = ["aria-label", "alt", "title", "src"];
|
|
111
111
|
function z(i, t, r, I, m, e) {
|
|
112
112
|
const d = D("dt-skeleton");
|
|
113
|
-
return
|
|
113
|
+
return S(), L("span", {
|
|
114
114
|
class: o(["d-emoji d-icon", e.emojiSize])
|
|
115
115
|
}, [
|
|
116
116
|
n(E(d, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref as S, onMounted as re,
|
|
1
|
+
import { ref as S, onMounted as re, openBlock as E, createElementBlock as I, createVNode as F, unref as k, withKeys as J, withModifiers as ue, createSlots as ye, withCtx as N, computed as M, watch as K, Fragment as W, renderList as G, createBlock as Z, resolveDynamicComponent as Le, nextTick as x, onBeforeUnmount as Te, createElementVNode as A, toDisplayString as z, withDirectives as te, createCommentVNode as Y, vShow as oe, normalizeClass as ce, watchEffect as ae, createTextVNode as fe } from "vue";
|
|
2
2
|
import { DtIconSearch as je, DtIconClose as Ie, DtIconClock as Re, DtIconSatisfied as Ae, DtIconLivingThing as $e, DtIconFood as we, DtIconObject as Oe, DtIconTransportation as De, DtIconLightbulb as Ce, DtIconHeart as Be, DtIconFlag as Fe, DtIconDialpadStar as Ke } from "@dialpad/dialtone-icons/vue3";
|
|
3
3
|
import Ne from "../input/input.js";
|
|
4
4
|
import de from "../button/button.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { REACTIONS_ATTRIBUTES as w } from "./emoji-row-constants.js";
|
|
2
2
|
import { DialtoneLocalization as C } from "../../localization/index.js";
|
|
3
3
|
import { getEmojiShortCode as b } from "../../common/emoji/index.js";
|
|
4
|
-
import { resolveComponent as n,
|
|
4
|
+
import { resolveComponent as n, openBlock as l, createElementBlock as d, Fragment as E, renderList as S, createVNode as m, withCtx as s, createElementVNode as t, toDisplayString as c, createTextVNode as k, normalizeClass as O, renderSlot as v } from "vue";
|
|
5
5
|
import { _ as x } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
import D from "../emoji-text-wrapper/emoji-text-wrapper.js";
|
|
7
7
|
import T from "../emoji/emoji.js";
|
|
@@ -54,8 +54,8 @@ const g = {
|
|
|
54
54
|
}, y = { class: "d-recipe-emoji-row" }, A = { "aria-hidden": "true" }, N = { class: "d-recipe-emoji-row__tooltip-emoji" }, R = { class: "d-recipe-emoji-row__tooltip-names" }, U = ["textContent"], z = { class: "d-recipe-emoji-row__emoji" }, B = { class: "d-recipe-emoji-row__reaction-number" };
|
|
55
55
|
function $(e, i, p, _, V, r) {
|
|
56
56
|
const j = n("dt-emoji-text-wrapper"), u = n("dt-emoji"), f = n("dt-button"), h = n("dt-tooltip");
|
|
57
|
-
return
|
|
58
|
-
(
|
|
57
|
+
return l(), d("span", y, [
|
|
58
|
+
(l(!0), d(E, null, S(p.reactions, (o) => (l(), d("span", {
|
|
59
59
|
key: o.unicodeOutput
|
|
60
60
|
}, [
|
|
61
61
|
m(h, {
|
|
@@ -70,7 +70,7 @@ function $(e, i, p, _, V, r) {
|
|
|
70
70
|
importance: "clear",
|
|
71
71
|
size: "sm",
|
|
72
72
|
"data-qa": "feed-item-reaction-button",
|
|
73
|
-
class:
|
|
73
|
+
class: O([
|
|
74
74
|
"d-recipe-emoji-row__reaction",
|
|
75
75
|
o.isSelected ? "d-recipe-emoji-row__reaction--selected" : ""
|
|
76
76
|
]),
|
|
@@ -99,7 +99,7 @@ function $(e, i, p, _, V, r) {
|
|
|
99
99
|
t("p", N, c(o.emojiUnicodeOrShortname), 1),
|
|
100
100
|
i[0] || (i[0] = t("br", null, null, -1)),
|
|
101
101
|
t("p", R, [
|
|
102
|
-
|
|
102
|
+
k(c(o.names) + " ", 1),
|
|
103
103
|
t("span", {
|
|
104
104
|
class: "d-recipe-emoji-row__tooltip-label",
|
|
105
105
|
textContent: c(r.reactionLabel(o))
|
|
@@ -113,7 +113,7 @@ function $(e, i, p, _, V, r) {
|
|
|
113
113
|
_: 2
|
|
114
114
|
}, 1032, ["onShown"])
|
|
115
115
|
]))), 128)),
|
|
116
|
-
|
|
116
|
+
v(e.$slots, "picker")
|
|
117
117
|
]);
|
|
118
118
|
}
|
|
119
119
|
const X = /* @__PURE__ */ x(g, [["render", $]]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useSlots as x, computed as t, onMounted as D,
|
|
1
|
+
import { useSlots as x, computed as t, onMounted as D, openBlock as o, createBlock as M, unref as m, normalizeClass as a, withCtx as y, createElementBlock as r, renderSlot as c, createCommentVNode as i, createVNode as k, createElementVNode as O, toDisplayString as S } from "vue";
|
|
2
2
|
import { hasSlotContent as d } from "../../common/utils/index.js";
|
|
3
3
|
import { EMPTY_STATE_SIZE_MODIFIERS as p, EMPTY_STATE_CONTENT_SIZE_MODIFIERS as g, EMPTY_STATE_HEADLINE_SIZE_MODIFIERS as N, EMPTY_STATE_BODY_SIZE_MODIFIERS as Y } from "./empty-state-constants.js";
|
|
4
4
|
import E from "../stack/stack.js";
|
|
@@ -46,11 +46,11 @@ const A = {
|
|
|
46
46
|
}, {
|
|
47
47
|
default: y(() => [
|
|
48
48
|
h.value ? (o(), r("span", A, [
|
|
49
|
-
|
|
50
|
-
])) :
|
|
49
|
+
c(n.$slots, "illustration")
|
|
50
|
+
])) : i("", !0),
|
|
51
51
|
I.value ? (o(), r("span", B, [
|
|
52
|
-
|
|
53
|
-
])) :
|
|
52
|
+
c(n.$slots, "icon", { iconSize: "800" })
|
|
53
|
+
])) : i("", !0),
|
|
54
54
|
k(m(E), {
|
|
55
55
|
gap: "450",
|
|
56
56
|
class: a(["d-empty-state__content", b.value])
|
|
@@ -62,11 +62,11 @@ const A = {
|
|
|
62
62
|
e.bodyText ? (o(), r("p", {
|
|
63
63
|
key: 0,
|
|
64
64
|
class: a(["d-empty-state__body-text", C.value])
|
|
65
|
-
}, S(e.bodyText), 3)) :
|
|
65
|
+
}, S(e.bodyText), 3)) : i("", !0)
|
|
66
66
|
]),
|
|
67
67
|
_: 1
|
|
68
68
|
}, 8, ["class"]),
|
|
69
|
-
|
|
69
|
+
c(n.$slots, "body")
|
|
70
70
|
]),
|
|
71
71
|
_: 3
|
|
72
72
|
}, 8, ["class"]));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FEED_ITEM_PILL_BORDER_COLORS as a } from "./feed-item-pill-constants.js";
|
|
2
2
|
import { DtIconChevronDown as b, DtIconChevronRight as h } from "@dialpad/dialtone-icons/vue3";
|
|
3
3
|
import { DialtoneLocalization as v } from "../../localization/index.js";
|
|
4
|
-
import { resolveComponent as p,
|
|
4
|
+
import { resolveComponent as p, openBlock as c, createElementBlock as C, normalizeClass as m, createElementVNode as l, createVNode as f, createSlots as u, withCtx as i, renderSlot as n, toDisplayString as y, createBlock as I, resolveDynamicComponent as k } from "vue";
|
|
5
5
|
import { _ as D } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
import E from "../collapsible/collapsible.js";
|
|
7
7
|
import L from "../item-layout/item-layout.js";
|
|
@@ -2,7 +2,7 @@ import { DEFAULT_FEED_ROW_STATE as c, FEED_ROW_STATE_BACKGROUND_COLOR as _ } fro
|
|
|
2
2
|
import k from "../../common/mixins/modal.js";
|
|
3
3
|
import { DtIconUser as C } from "@dialpad/dialtone-icons/vue3";
|
|
4
4
|
import { hasSlotContent as D } from "../../common/utils/index.js";
|
|
5
|
-
import { resolveComponent as r,
|
|
5
|
+
import { resolveComponent as r, openBlock as a, createBlock as h, mergeProps as T, toHandlers as b, withCtx as n, createElementVNode as d, createElementBlock as o, renderSlot as i, toDisplayString as l, createCommentVNode as s, withDirectives as u, createVNode as f, vShow as p, createSlots as E } from "vue";
|
|
6
6
|
import { _ as F } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
7
7
|
import I from "../badge/badge.js";
|
|
8
8
|
import B from "../list-item/list-item.js";
|
|
@@ -209,7 +209,7 @@ function G(e, K, t, x, J, m) {
|
|
|
209
209
|
}, b(m.feedListeners)), {
|
|
210
210
|
left: n(() => [
|
|
211
211
|
t.showHeader ? (a(), o("div", O, [
|
|
212
|
-
|
|
212
|
+
i(e.$slots, "avatar", {}, () => [
|
|
213
213
|
f(v, {
|
|
214
214
|
"full-name": t.displayName,
|
|
215
215
|
"image-src": t.avatarImageUrl,
|
|
@@ -225,8 +225,8 @@ function G(e, K, t, x, J, m) {
|
|
|
225
225
|
} : void 0
|
|
226
226
|
]), 1032, ["full-name", "image-src", "seed"])
|
|
227
227
|
])
|
|
228
|
-
])) :
|
|
229
|
-
t.showHeader ?
|
|
228
|
+
])) : s("", !0),
|
|
229
|
+
t.showHeader ? s("", !0) : u((a(), o("span", {
|
|
230
230
|
key: 1,
|
|
231
231
|
class: "d-recipe-feed-item-row__left-time",
|
|
232
232
|
"data-qa": "dt-recipe-feed-item-row--left-time"
|
|
@@ -236,11 +236,11 @@ function G(e, K, t, x, J, m) {
|
|
|
236
236
|
]),
|
|
237
237
|
bottom: n(() => [
|
|
238
238
|
e.$slots.reactions ? (a(), o("div", P, [
|
|
239
|
-
|
|
240
|
-
])) :
|
|
239
|
+
i(e.$slots, "reactions")
|
|
240
|
+
])) : s("", !0),
|
|
241
241
|
e.$slots.threading ? (a(), o("div", W, [
|
|
242
|
-
|
|
243
|
-
])) :
|
|
242
|
+
i(e.$slots, "threading")
|
|
243
|
+
])) : s("", !0),
|
|
244
244
|
u(d("div", j, [
|
|
245
245
|
f(g, {
|
|
246
246
|
appear: !0,
|
|
@@ -248,7 +248,7 @@ function G(e, K, t, x, J, m) {
|
|
|
248
248
|
show: t.isActive
|
|
249
249
|
}, {
|
|
250
250
|
default: n(() => [
|
|
251
|
-
|
|
251
|
+
i(e.$slots, "menu")
|
|
252
252
|
]),
|
|
253
253
|
_: 3
|
|
254
254
|
}, 8, ["show"])
|
|
@@ -259,21 +259,21 @@ function G(e, K, t, x, J, m) {
|
|
|
259
259
|
default: n(() => [
|
|
260
260
|
d("article", R, [
|
|
261
261
|
t.showHeader ? (a(), o("div", L, [
|
|
262
|
-
|
|
262
|
+
i(e.$slots, "displayName", {}, () => [
|
|
263
263
|
d("p", z, l(t.displayName), 1)
|
|
264
264
|
]),
|
|
265
265
|
d("time", U, l(t.time), 1),
|
|
266
266
|
t.labelText ? (a(), h(y, {
|
|
267
267
|
key: 0,
|
|
268
268
|
text: t.labelText
|
|
269
|
-
}, null, 8, ["text"])) :
|
|
270
|
-
])) :
|
|
269
|
+
}, null, 8, ["text"])) : s("", !0)
|
|
270
|
+
])) : s("", !0),
|
|
271
271
|
d("span", V, [
|
|
272
|
-
|
|
272
|
+
i(e.$slots, "default")
|
|
273
273
|
]),
|
|
274
274
|
m.hasAttachmentContent ? (a(), o("div", M, [
|
|
275
|
-
|
|
276
|
-
])) :
|
|
275
|
+
i(e.$slots, "attachment")
|
|
276
|
+
])) : s("", !0)
|
|
277
277
|
])
|
|
278
278
|
]),
|
|
279
279
|
_: 3
|
|
@@ -3,7 +3,7 @@ import { DtIconWaveform as M, DtIconPhone as W } from "@dialpad/dialtone-icons/v
|
|
|
3
3
|
import I from "./leftbar-general-row-icon.js";
|
|
4
4
|
import { addClassStyleAttrs as q, removeClassStyleAttrs as z, returnFirstEl as b, safeConcatStrings as v, extractVueListeners as F } from "../../common/utils/index.js";
|
|
5
5
|
import { DialtoneLocalization as V } from "../../localization/index.js";
|
|
6
|
-
import { resolveComponent as o, resolveDirective as G,
|
|
6
|
+
import { resolveComponent as o, resolveDirective as G, openBlock as a, createElementBlock as h, mergeProps as O, createElementVNode as i, toHandlers as x, withDirectives as L, renderSlot as R, createVNode as u, normalizeStyle as j, withCtx as s, createTextVNode as w, toDisplayString as m, createBlock as T, createCommentVNode as c, normalizeClass as S, withModifiers as P } from "vue";
|
|
7
7
|
import { _ as X } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
8
|
import H from "../tooltip/tooltip.js";
|
|
9
9
|
import Y from "../button/button.js";
|
|
@@ -300,7 +300,7 @@ function ae(t, n, r, g, l, e) {
|
|
|
300
300
|
])])), [
|
|
301
301
|
[A, e.typingTooltip]
|
|
302
302
|
]) : R(t.$slots, "left", { key: 1 }, () => [
|
|
303
|
-
|
|
303
|
+
u(_, {
|
|
304
304
|
type: e.getIcon,
|
|
305
305
|
color: r.color,
|
|
306
306
|
"icon-size": r.iconSize,
|
|
@@ -313,7 +313,7 @@ function ae(t, n, r, g, l, e) {
|
|
|
313
313
|
style: j(`flex-basis: ${l.labelWidth}`)
|
|
314
314
|
}, [
|
|
315
315
|
R(t.$slots, "label", {}, () => [
|
|
316
|
-
|
|
316
|
+
u(p, {
|
|
317
317
|
class: "d-recipe-leftbar-row__description",
|
|
318
318
|
"data-qa": "dt-recipe-leftbar-row-description",
|
|
319
319
|
size: "200"
|
|
@@ -340,9 +340,9 @@ function ae(t, n, r, g, l, e) {
|
|
|
340
340
|
}, m(r.dndText), 513)
|
|
341
341
|
]),
|
|
342
342
|
_: 1
|
|
343
|
-
}, 8, ["message"])) :
|
|
343
|
+
}, 8, ["message"])) : c("", !0),
|
|
344
344
|
r.activeVoiceChat ? L((a(), h("div", re, [
|
|
345
|
-
|
|
345
|
+
u(f, { size: "300" })
|
|
346
346
|
])), [
|
|
347
347
|
[A, e.activeVoiceChatTooltip]
|
|
348
348
|
]) : e.showUnreadCount || e.showUnreadMentionCount ? (a(), T(d, {
|
|
@@ -364,7 +364,7 @@ function ae(t, n, r, g, l, e) {
|
|
|
364
364
|
w(m(r.unreadCount), 1)
|
|
365
365
|
]),
|
|
366
366
|
_: 1
|
|
367
|
-
}, 8, ["class"])) :
|
|
367
|
+
}, 8, ["class"])) : c("", !0),
|
|
368
368
|
e.showUnreadMentionCount ? (a(), T(E, {
|
|
369
369
|
key: 1,
|
|
370
370
|
kind: "count",
|
|
@@ -380,17 +380,17 @@ function ae(t, n, r, g, l, e) {
|
|
|
380
380
|
w(m(r.unreadMentionCount), 1)
|
|
381
381
|
]),
|
|
382
382
|
_: 1
|
|
383
|
-
}, 8, ["class"])) :
|
|
383
|
+
}, 8, ["class"])) : c("", !0)
|
|
384
384
|
]),
|
|
385
385
|
_: 1
|
|
386
|
-
}, 8, ["message"])) :
|
|
386
|
+
}, 8, ["message"])) : c("", !0),
|
|
387
387
|
r.hasCallButton ? (a(), h("div", ne, [
|
|
388
|
-
|
|
388
|
+
u(d, {
|
|
389
389
|
message: e.callButtonTooltip,
|
|
390
390
|
placement: "top"
|
|
391
391
|
}, {
|
|
392
392
|
anchor: s(() => [
|
|
393
|
-
|
|
393
|
+
u(B, {
|
|
394
394
|
class: "d-recipe-leftbar-row__action-button",
|
|
395
395
|
"data-qa": "dt-recipe-leftbar-row-action-call-button",
|
|
396
396
|
circle: "",
|
|
@@ -402,15 +402,15 @@ function ae(t, n, r, g, l, e) {
|
|
|
402
402
|
onClick: n[2] || (n[2] = P((y) => t.$emit("call", y), ["stop"]))
|
|
403
403
|
}, {
|
|
404
404
|
icon: s(() => [
|
|
405
|
-
|
|
405
|
+
u(U, { size: "200" })
|
|
406
406
|
]),
|
|
407
407
|
_: 1
|
|
408
408
|
}, 8, ["aria-label"])
|
|
409
409
|
]),
|
|
410
410
|
_: 1
|
|
411
411
|
}, 8, ["message"])
|
|
412
|
-
])) :
|
|
413
|
-
])) :
|
|
412
|
+
])) : c("", !0)
|
|
413
|
+
])) : c("", !0)
|
|
414
414
|
], 16);
|
|
415
415
|
}
|
|
416
416
|
const Ce = /* @__PURE__ */ X(J, [["render", ae]]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DtIconCalendarClock as c, DtIconLaptop2 as r, DtIconAtSign as a, DtIconHashBold as l, DtIconLockFilled as i, DtIconExternalLink as s, DtIconUsers as C, DtIconSparkle as p, DtIconLock as I, DtIconLayoutTemplate as _, DtIconThread as D, DtIconHash as T, DtIconContacts as d, DtIconInbox as E, DtIconDialbot as u } from "@dialpad/dialtone-icons/vue3";
|
|
2
2
|
import { LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS as A, LEFTBAR_GENERAL_ROW_TYPES as e } from "./general-row-constants.js";
|
|
3
|
-
import { resolveComponent as y,
|
|
3
|
+
import { resolveComponent as y, openBlock as n, createBlock as L, resolveDynamicComponent as R, createElementBlock as o, normalizeClass as f, createVNode as O, createCommentVNode as S } from "vue";
|
|
4
4
|
import { _ as h } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const k = /* @__PURE__ */ new Map([
|
|
6
6
|
[e.INBOX, E],
|
|
@@ -78,15 +78,15 @@ const k = /* @__PURE__ */ new Map([
|
|
|
78
78
|
};
|
|
79
79
|
function B(G, H, m, w, z, t) {
|
|
80
80
|
const N = y("dt-icon-dialbot");
|
|
81
|
-
return t.isIconType ? (n(), L(
|
|
81
|
+
return t.isIconType ? (n(), L(R(t.getIconName), {
|
|
82
82
|
key: 0,
|
|
83
83
|
size: m.iconSize
|
|
84
84
|
}, null, 8, ["size"])) : t.isContactCenterType ? (n(), o("div", {
|
|
85
85
|
key: 1,
|
|
86
|
-
class:
|
|
86
|
+
class: f(t.contactCenterIconClasses)
|
|
87
87
|
}, null, 2)) : t.isDialbotType ? (n(), o("div", g, [
|
|
88
|
-
|
|
89
|
-
])) :
|
|
88
|
+
O(N, { size: "500" })
|
|
89
|
+
])) : S("", !0);
|
|
90
90
|
}
|
|
91
91
|
const P = /* @__PURE__ */ h(b, [["render", B]]);
|
|
92
92
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DtIconUsers as u } from "@dialpad/dialtone-icons/vue3";
|
|
2
2
|
import { extractVueListeners as s, safeConcatStrings as n } from "../../common/utils/index.js";
|
|
3
3
|
import { DialtoneLocalization as d } from "../../localization/index.js";
|
|
4
|
-
import { resolveComponent as o,
|
|
4
|
+
import { resolveComponent as o, openBlock as c, createBlock as l, mergeProps as p, toHandlers as _, withCtx as m, createVNode as C } from "vue";
|
|
5
5
|
import { _ as h } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
6
|
import T from "../general-row/general-row.js";
|
|
7
7
|
const f = {
|
|
@@ -96,7 +96,7 @@ const f = {
|
|
|
96
96
|
};
|
|
97
97
|
function g(r, N, t, E, y, e) {
|
|
98
98
|
const i = o("dt-icon-users"), a = o("dt-recipe-general-row");
|
|
99
|
-
return
|
|
99
|
+
return c(), l(a, p({
|
|
100
100
|
description: t.names,
|
|
101
101
|
"aria-label": e.ariaLabel,
|
|
102
102
|
"unread-count": t.unreadCount,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { hasSlotContent as d } from "../../common/utils/index.js";
|
|
2
|
-
import { resolveComponent as h,
|
|
2
|
+
import { resolveComponent as h, openBlock as o, createElementBlock as n, createVNode as p, createSlots as l, withCtx as i, renderSlot as r, createCommentVNode as s } from "vue";
|
|
3
3
|
import { _ as a } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
4
4
|
import u from "../chip/chip.js";
|
|
5
5
|
const f = {
|
|
@@ -31,7 +31,7 @@ const f = {
|
|
|
31
31
|
};
|
|
32
32
|
function S(e, $, k, q, t, y) {
|
|
33
33
|
const c = h("dt-chip");
|
|
34
|
-
return
|
|
34
|
+
return o(), n("div", _, [
|
|
35
35
|
p(c, {
|
|
36
36
|
"hide-close": !0,
|
|
37
37
|
interactive: !1,
|
|
@@ -40,18 +40,18 @@ function S(e, $, k, q, t, y) {
|
|
|
40
40
|
class: "d-recipe-grouped-chip__content d-recipe-grouped-chip__content-left"
|
|
41
41
|
}, l({
|
|
42
42
|
default: i(() => [
|
|
43
|
-
t.hasSlotContent(e.$slots.leftContent) ? (
|
|
44
|
-
|
|
45
|
-
])) :
|
|
43
|
+
t.hasSlotContent(e.$slots.leftContent) ? (o(), n("div", m, [
|
|
44
|
+
r(e.$slots, "leftContent")
|
|
45
|
+
])) : s("", !0)
|
|
46
46
|
]),
|
|
47
47
|
_: 2
|
|
48
48
|
}, [
|
|
49
49
|
t.hasSlotContent(e.$slots.leftIcon) ? {
|
|
50
50
|
name: "icon",
|
|
51
51
|
fn: i(() => [
|
|
52
|
-
t.hasSlotContent(e.$slots.leftIcon) ? (
|
|
53
|
-
|
|
54
|
-
])) :
|
|
52
|
+
t.hasSlotContent(e.$slots.leftIcon) ? (o(), n("div", g, [
|
|
53
|
+
r(e.$slots, "leftIcon")
|
|
54
|
+
])) : s("", !0)
|
|
55
55
|
]),
|
|
56
56
|
key: "0"
|
|
57
57
|
} : void 0
|
|
@@ -64,14 +64,14 @@ function S(e, $, k, q, t, y) {
|
|
|
64
64
|
class: "d-recipe-grouped-chip__content d-recipe-grouped-chip__content-right"
|
|
65
65
|
}, {
|
|
66
66
|
icon: i(() => [
|
|
67
|
-
t.hasSlotContent(e.$slots.rightIcon) ? (
|
|
68
|
-
|
|
69
|
-
])) :
|
|
67
|
+
t.hasSlotContent(e.$slots.rightIcon) ? (o(), n("div", C, [
|
|
68
|
+
r(e.$slots, "rightIcon")
|
|
69
|
+
])) : s("", !0)
|
|
70
70
|
]),
|
|
71
71
|
default: i(() => [
|
|
72
|
-
t.hasSlotContent(e.$slots.rightContent) ? (
|
|
73
|
-
|
|
74
|
-
])) :
|
|
72
|
+
t.hasSlotContent(e.$slots.rightContent) ? (o(), n("div", v, [
|
|
73
|
+
r(e.$slots, "rightContent")
|
|
74
|
+
])) : s("", !0)
|
|
75
75
|
]),
|
|
76
76
|
_: 3
|
|
77
77
|
})
|