@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.
Files changed (132) hide show
  1. package/dist/css/dialtone-default-theme.css +7 -0
  2. package/dist/css/dialtone-default-theme.min.css +1 -1
  3. package/dist/css/dialtone.css +7 -0
  4. package/dist/css/dialtone.min.css +1 -1
  5. package/dist/tokens/doc.json +76215 -76215
  6. package/dist/vue3/common/dates/index.js +4 -4
  7. package/dist/vue3/common/utils/index.js +3 -3
  8. package/dist/vue3/component-documentation.json +1 -1
  9. package/dist/vue3/dialtone-vue.cjs +1 -1
  10. package/dist/vue3/dialtone-vue.js +349 -349
  11. package/dist/vue3/lib/attachment-carousel/attachment-carousel.js +1 -1
  12. package/dist/vue3/lib/avatar/avatar.js +10 -10
  13. package/dist/vue3/lib/badge/badge.js +5 -5
  14. package/dist/vue3/lib/banner/banner.js +1 -1
  15. package/dist/vue3/lib/breadcrumbs/breadcrumb-item.js +2 -2
  16. package/dist/vue3/lib/breadcrumbs/breadcrumbs.js +1 -1
  17. package/dist/vue3/lib/button/button.js +14 -14
  18. package/dist/vue3/lib/button-group/button-group.js +2 -2
  19. package/dist/vue3/lib/button-group/buttons-decorator.js +2 -2
  20. package/dist/vue3/lib/callbar-button/callbar-button.js +2 -2
  21. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  22. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +9 -9
  23. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  24. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js +9 -9
  25. package/dist/vue3/lib/callbox/callbox.js +1 -1
  26. package/dist/vue3/lib/card/card.js +4 -4
  27. package/dist/vue3/lib/checkbox/checkbox.js +5 -5
  28. package/dist/vue3/lib/checkbox-group/checkboxes-decorator.js +1 -1
  29. package/dist/vue3/lib/chip/chip.js +7 -7
  30. package/dist/vue3/lib/codeblock/codeblock.js +2 -2
  31. package/dist/vue3/lib/collapsible/collapsible-lazy-show.js +3 -3
  32. package/dist/vue3/lib/collapsible/collapsible.js +8 -8
  33. package/dist/vue3/lib/combobox/combobox-empty-list.js +2 -2
  34. package/dist/vue3/lib/combobox/combobox-loading-list.js +3 -3
  35. package/dist/vue3/lib/combobox/combobox.cjs +1 -1
  36. package/dist/vue3/lib/combobox/combobox.js +8 -8
  37. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js +1 -1
  38. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  39. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js +10 -10
  40. package/dist/vue3/lib/contact-centers-row/contact-centers-row.js +7 -7
  41. package/dist/vue3/lib/contact-info/contact-info.js +1 -1
  42. package/dist/vue3/lib/contact-row/contact-row.js +1 -1
  43. package/dist/vue3/lib/datepicker/datepicker.js +1 -1
  44. package/dist/vue3/lib/datepicker/utils.js +4 -4
  45. package/dist/vue3/lib/description-list/description-list.js +3 -3
  46. package/dist/vue3/lib/dropdown/dropdown-list.js +4 -4
  47. package/dist/vue3/lib/dropdown/dropdown-separator.js +2 -2
  48. package/dist/vue3/lib/dropdown/dropdown.js +2 -2
  49. package/dist/vue3/lib/editor/editor.cjs +1 -1
  50. package/dist/vue3/lib/editor/editor.cjs.map +1 -1
  51. package/dist/vue3/lib/editor/editor.js +59 -51
  52. package/dist/vue3/lib/editor/editor.js.map +1 -1
  53. package/dist/vue3/lib/emoji/emoji.js +2 -2
  54. package/dist/vue3/lib/emoji-picker/emoji-picker.js +1 -1
  55. package/dist/vue3/lib/emoji-row/emoji-row.js +6 -6
  56. package/dist/vue3/lib/empty-state/empty-state.js +7 -7
  57. package/dist/vue3/lib/feed-item-pill/feed-item-pill.js +1 -1
  58. package/dist/vue3/lib/feed-item-row/feed-item-row.js +15 -15
  59. package/dist/vue3/lib/general-row/general-row.js +13 -13
  60. package/dist/vue3/lib/general-row/leftbar-general-row-icon.js +5 -5
  61. package/dist/vue3/lib/group-row/group-row.js +2 -2
  62. package/dist/vue3/lib/grouped-chip/grouped-chip.js +14 -14
  63. package/dist/vue3/lib/hovercard/hovercard.js +2 -2
  64. package/dist/vue3/lib/icon/icon.js +3 -3
  65. package/dist/vue3/lib/illustration/illustration.js +3 -3
  66. package/dist/vue3/lib/image-viewer/image-viewer.js +12 -12
  67. package/dist/vue3/lib/input/input.js +10 -10
  68. package/dist/vue3/lib/input-group/input-group.js +8 -8
  69. package/dist/vue3/lib/item-layout/item-layout.js +13 -13
  70. package/dist/vue3/lib/ivr-node/ivr-node.js +9 -9
  71. package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.js +3 -3
  72. package/dist/vue3/lib/lazy-show/lazy-show.js +2 -2
  73. package/dist/vue3/lib/link/link.js +2 -2
  74. package/dist/vue3/lib/list-item/list-item.js +3 -3
  75. package/dist/vue3/lib/list-item-group/list-item-group.js +5 -5
  76. package/dist/vue3/lib/loader/loader.js +2 -2
  77. package/dist/vue3/lib/message-input/message-input-button.js +5 -5
  78. package/dist/vue3/lib/message-input/message-input-link.js +2 -2
  79. package/dist/vue3/lib/message-input/message-input-topbar.js +2 -2
  80. package/dist/vue3/lib/message-input/message-input.js +1 -1
  81. package/dist/vue3/lib/modal/modal.js +1 -1
  82. package/dist/vue3/lib/motion-text/motion-text.js +5 -5
  83. package/dist/vue3/lib/notice/notice-action.js +1 -1
  84. package/dist/vue3/lib/notice/notice-content.js +6 -6
  85. package/dist/vue3/lib/notice/notice-icon.js +4 -4
  86. package/dist/vue3/lib/notice/notice.js +1 -1
  87. package/dist/vue3/lib/pagination/pagination.js +1 -1
  88. package/dist/vue3/lib/popover/popover-constants.js +3 -3
  89. package/dist/vue3/lib/popover/popover-header-footer.js +6 -6
  90. package/dist/vue3/lib/popover/popover.js +7 -7
  91. package/dist/vue3/lib/presence/presence.js +4 -4
  92. package/dist/vue3/lib/radio/radio.js +10 -10
  93. package/dist/vue3/lib/radio-group/radios-decorator.js +1 -1
  94. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs +4 -4
  95. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  96. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js +161 -149
  97. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  98. package/dist/vue3/lib/root-layout/root-layout.js +3 -3
  99. package/dist/vue3/lib/scroller/scroller.js +1 -1
  100. package/dist/vue3/lib/select-menu/select-menu.js +12 -12
  101. package/dist/vue3/lib/settings-menu-button/settings-menu-button.js +3 -3
  102. package/dist/vue3/lib/skeleton/skeleton-list-item.js +2 -2
  103. package/dist/vue3/lib/skeleton/skeleton-paragraph.js +1 -1
  104. package/dist/vue3/lib/skeleton/skeleton-shape.js +2 -2
  105. package/dist/vue3/lib/skeleton/skeleton-text.js +4 -4
  106. package/dist/vue3/lib/skeleton/skeleton.js +1 -1
  107. package/dist/vue3/lib/split-button/split-button-alpha.js +2 -2
  108. package/dist/vue3/lib/split-button/split-button-omega.js +2 -2
  109. package/dist/vue3/lib/split-button/split-button.js +13 -13
  110. package/dist/vue3/lib/stack/stack.js +2 -2
  111. package/dist/vue3/lib/stack/utils.js +5 -5
  112. package/dist/vue3/lib/stack/validators.js +7 -7
  113. package/dist/vue3/lib/tab/tab-group.js +2 -2
  114. package/dist/vue3/lib/tab/tab-panel.js +2 -2
  115. package/dist/vue3/lib/tab/tab.js +2 -2
  116. package/dist/vue3/lib/time-pill/time-pill.js +2 -2
  117. package/dist/vue3/lib/toast/toast.js +1 -1
  118. package/dist/vue3/lib/toggle/toggle.js +7 -7
  119. package/dist/vue3/lib/tooltip/tooltip.js +5 -5
  120. package/dist/vue3/lib/top-banner-info/top-banner-info.js +2 -2
  121. package/dist/vue3/lib/unread-pill/unread-pill.js +1 -1
  122. package/dist/vue3/lib/validation-messages/validation-messages.js +6 -6
  123. package/dist/vue3/node_modules/@tiptap/vue-3.cjs.map +1 -1
  124. package/dist/vue3/node_modules/@tiptap/vue-3.js.map +1 -1
  125. package/dist/vue3/shared/sr_only_close_button.js +2 -2
  126. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +9 -0
  127. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  128. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +18 -0
  129. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  130. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +9 -0
  131. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  132. 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, createElementBlock as S, openBlock as L, normalizeClass as o, withDirectives as n, createVNode as E, vShow as l, createElementVNode as p } from "vue";
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 L(), S("span", {
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, createElementBlock as I, openBlock as E, 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, createCommentVNode as Y, toDisplayString as z, withDirectives as te, vShow as oe, normalizeClass as ce, watchEffect as ae, createTextVNode as fe } from "vue";
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, createElementBlock as l, openBlock as d, renderSlot as E, Fragment as S, renderList as k, createVNode as m, withCtx as s, createElementVNode as t, toDisplayString as c, createTextVNode as O, normalizeClass as v } from "vue";
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 d(), l("span", y, [
58
- (d(!0), l(S, null, k(p.reactions, (o) => (d(), l("span", {
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: v([
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
- O(c(o.names) + " ", 1),
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
- E(e.$slots, "picker")
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, createBlock as M, openBlock as o, unref as m, normalizeClass as a, withCtx as y, createElementBlock as r, createCommentVNode as c, createVNode as k, renderSlot as i, createElementVNode as O, toDisplayString as S } from "vue";
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
- i(n.$slots, "illustration")
50
- ])) : c("", !0),
49
+ c(n.$slots, "illustration")
50
+ ])) : i("", !0),
51
51
  I.value ? (o(), r("span", B, [
52
- i(n.$slots, "icon", { iconSize: "800" })
53
- ])) : c("", !0),
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)) : c("", !0)
65
+ }, S(e.bodyText), 3)) : i("", !0)
66
66
  ]),
67
67
  _: 1
68
68
  }, 8, ["class"]),
69
- i(n.$slots, "body")
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, createElementBlock as C, openBlock 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";
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, createBlock as h, openBlock as a, mergeProps as T, toHandlers as b, withCtx as n, createElementVNode as d, createElementBlock as o, createCommentVNode as i, renderSlot as s, toDisplayString as l, withDirectives as u, createVNode as f, vShow as p, createSlots as E } from "vue";
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
- s(e.$slots, "avatar", {}, () => [
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
- ])) : i("", !0),
229
- t.showHeader ? i("", !0) : u((a(), o("span", {
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
- s(e.$slots, "reactions")
240
- ])) : i("", !0),
239
+ i(e.$slots, "reactions")
240
+ ])) : s("", !0),
241
241
  e.$slots.threading ? (a(), o("div", W, [
242
- s(e.$slots, "threading")
243
- ])) : i("", !0),
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
- s(e.$slots, "menu")
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
- s(e.$slots, "displayName", {}, () => [
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"])) : i("", !0)
270
- ])) : i("", !0),
269
+ }, null, 8, ["text"])) : s("", !0)
270
+ ])) : s("", !0),
271
271
  d("span", V, [
272
- s(e.$slots, "default")
272
+ i(e.$slots, "default")
273
273
  ]),
274
274
  m.hasAttachmentContent ? (a(), o("div", M, [
275
- s(e.$slots, "attachment")
276
- ])) : i("", !0)
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, createElementBlock as h, openBlock as a, mergeProps as O, createElementVNode as i, createCommentVNode as u, toHandlers as x, withDirectives as L, renderSlot as R, createVNode as c, normalizeStyle as j, withCtx as s, createTextVNode as w, toDisplayString as m, createBlock as T, normalizeClass as S, withModifiers as P } from "vue";
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
- c(_, {
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
- c(p, {
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"])) : u("", !0),
343
+ }, 8, ["message"])) : c("", !0),
344
344
  r.activeVoiceChat ? L((a(), h("div", re, [
345
- c(f, { size: "300" })
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"])) : u("", !0),
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"])) : u("", !0)
383
+ }, 8, ["class"])) : c("", !0)
384
384
  ]),
385
385
  _: 1
386
- }, 8, ["message"])) : u("", !0),
386
+ }, 8, ["message"])) : c("", !0),
387
387
  r.hasCallButton ? (a(), h("div", ne, [
388
- c(d, {
388
+ u(d, {
389
389
  message: e.callButtonTooltip,
390
390
  placement: "top"
391
391
  }, {
392
392
  anchor: s(() => [
393
- c(B, {
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
- c(U, { size: "200" })
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
- ])) : u("", !0)
413
- ])) : u("", !0)
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, createBlock as L, createElementBlock as o, createCommentVNode as R, openBlock as n, resolveDynamicComponent as f, normalizeClass as O, createVNode as S } from "vue";
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(f(t.getIconName), {
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: O(t.contactCenterIconClasses)
86
+ class: f(t.contactCenterIconClasses)
87
87
  }, null, 2)) : t.isDialbotType ? (n(), o("div", g, [
88
- S(N, { size: "500" })
89
- ])) : R("", !0);
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, createBlock as c, openBlock as l, mergeProps as p, toHandlers as _, withCtx as m, createVNode as C } from "vue";
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 l(), c(a, p({
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, createElementBlock as o, openBlock as n, createVNode as p, createSlots as l, withCtx as i, createCommentVNode as r, renderSlot as s } from "vue";
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 n(), o("div", _, [
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) ? (n(), o("div", m, [
44
- s(e.$slots, "leftContent")
45
- ])) : r("", !0)
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) ? (n(), o("div", g, [
53
- s(e.$slots, "leftIcon")
54
- ])) : r("", !0)
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) ? (n(), o("div", C, [
68
- s(e.$slots, "rightIcon")
69
- ])) : r("", !0)
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) ? (n(), o("div", v, [
73
- s(e.$slots, "rightContent")
74
- ])) : r("", !0)
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
  })