@dialpad/dialtone 9.130.0 → 9.131.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 +8 -2
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/dialtone-docs.json +1 -1
- package/dist/css/dialtone.css +8 -2
- package/dist/css/dialtone.min.css +1 -1
- package/dist/tokens/doc.json +32694 -32694
- package/dist/vue2/common/constants/index.cjs.map +1 -1
- package/dist/vue2/common/constants/index.js.map +1 -1
- package/dist/vue2/common/dates/index.cjs.map +1 -1
- package/dist/vue2/common/dates/index.js +3 -3
- package/dist/vue2/common/dates/index.js.map +1 -1
- package/dist/vue2/common/emoji/index.cjs.map +1 -1
- package/dist/vue2/common/emoji/index.js.map +1 -1
- package/dist/vue2/common/mixins/dom.cjs.map +1 -1
- package/dist/vue2/common/mixins/dom.js.map +1 -1
- package/dist/vue2/common/mixins/input-group.cjs.map +1 -1
- package/dist/vue2/common/mixins/input-group.js +5 -5
- package/dist/vue2/common/mixins/input-group.js.map +1 -1
- package/dist/vue2/common/mixins/input.cjs.map +1 -1
- package/dist/vue2/common/mixins/input.js.map +1 -1
- package/dist/vue2/common/mixins/keyboard-list-navigation.cjs.map +1 -1
- package/dist/vue2/common/mixins/keyboard-list-navigation.js.map +1 -1
- package/dist/vue2/common/mixins/modal.cjs.map +1 -1
- package/dist/vue2/common/mixins/modal.js.map +1 -1
- package/dist/vue2/common/mixins/skeleton.cjs.map +1 -1
- package/dist/vue2/common/mixins/skeleton.js.map +1 -1
- package/dist/vue2/common/utils/index.cjs.map +1 -1
- package/dist/vue2/common/utils/index.js +0 -1
- package/dist/vue2/common/utils/index.js.map +1 -1
- package/dist/vue2/common/validators/index.cjs.map +1 -1
- package/dist/vue2/common/validators/index.js.map +1 -1
- package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs +1 -1
- package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
- package/dist/vue2/lib/attachment-carousel/attachment-carousel.js +4 -4
- package/dist/vue2/lib/avatar/avatar-constants.cjs.map +1 -1
- package/dist/vue2/lib/avatar/avatar-constants.js.map +1 -1
- package/dist/vue2/lib/avatar/avatar.cjs.map +1 -1
- package/dist/vue2/lib/avatar/avatar.js +11 -11
- package/dist/vue2/lib/avatar/avatar.js.map +1 -1
- package/dist/vue2/lib/avatar/utils.cjs.map +1 -1
- package/dist/vue2/lib/avatar/utils.js.map +1 -1
- package/dist/vue2/lib/badge/badge.cjs.map +1 -1
- package/dist/vue2/lib/badge/badge.js +7 -7
- package/dist/vue2/lib/badge/badge.js.map +1 -1
- package/dist/vue2/lib/banner/banner.cjs +1 -1
- package/dist/vue2/lib/banner/banner.cjs.map +1 -1
- package/dist/vue2/lib/banner/banner.js +4 -4
- package/dist/vue2/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
- package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
- package/dist/vue2/lib/button/button-constants.cjs.map +1 -1
- package/dist/vue2/lib/button/button-constants.js.map +1 -1
- package/dist/vue2/lib/button/button.cjs +1 -1
- package/dist/vue2/lib/button/button.cjs.map +1 -1
- package/dist/vue2/lib/button/button.js +14 -14
- package/dist/vue2/lib/button/button.js.map +1 -1
- package/dist/vue2/lib/button-group/button-group.cjs.map +1 -1
- package/dist/vue2/lib/button-group/buttons-decorator.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button/callbar-button-constants.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button/callbar-button-constants.js.map +1 -1
- package/dist/vue2/lib/callbar-button/callbar-button.cjs +1 -1
- package/dist/vue2/lib/callbar-button/callbar-button.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button/callbar-button.js +3 -3
- package/dist/vue2/lib/callbar-button/callbar-button.js.map +1 -1
- package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
- package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +6 -6
- package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
- package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
- package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js +6 -6
- package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
- package/dist/vue2/lib/callbox/callbox-constants.cjs.map +1 -1
- package/dist/vue2/lib/callbox/callbox-constants.js.map +1 -1
- package/dist/vue2/lib/callbox/callbox.cjs.map +1 -1
- package/dist/vue2/lib/callbox/callbox.js +5 -5
- package/dist/vue2/lib/checkbox/checkbox-constants.cjs.map +1 -1
- package/dist/vue2/lib/checkbox/checkbox-constants.js.map +1 -1
- package/dist/vue2/lib/checkbox/checkbox.cjs.map +1 -1
- package/dist/vue2/lib/checkbox-group/checkbox-group.cjs.map +1 -1
- package/dist/vue2/lib/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/vue2/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
- package/dist/vue2/lib/chip/chip-constants.cjs.map +1 -1
- package/dist/vue2/lib/chip/chip-constants.js.map +1 -1
- package/dist/vue2/lib/chip/chip.cjs.map +1 -1
- package/dist/vue2/lib/chip/chip.js +3 -3
- package/dist/vue2/lib/collapsible/collapsible.cjs +1 -1
- package/dist/vue2/lib/collapsible/collapsible.cjs.map +1 -1
- package/dist/vue2/lib/collapsible/collapsible.js +7 -7
- package/dist/vue2/lib/combobox/combobox-constants.cjs.map +1 -1
- package/dist/vue2/lib/combobox/combobox-constants.js.map +1 -1
- package/dist/vue2/lib/combobox/combobox-empty-list.cjs.map +1 -1
- package/dist/vue2/lib/combobox/combobox-loading-list.cjs +1 -1
- package/dist/vue2/lib/combobox/combobox-loading-list.cjs.map +1 -1
- package/dist/vue2/lib/combobox/combobox-loading-list.js +3 -3
- package/dist/vue2/lib/combobox/combobox.cjs +1 -1
- package/dist/vue2/lib/combobox/combobox.cjs.map +1 -1
- package/dist/vue2/lib/combobox/combobox.js +1 -1
- package/dist/vue2/lib/combobox/combobox.js.map +1 -1
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-story-constants.cjs.map +1 -1
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-story-constants.js.map +1 -1
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js +4 -4
- package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
- package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
- package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
- package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js +9 -9
- package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs +1 -1
- package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
- package/dist/vue2/lib/contact-centers-row/contact-centers-row.js +7 -7
- package/dist/vue2/lib/contact-centers-row/contact-centers-row.js.map +1 -1
- package/dist/vue2/lib/contact-info/contact-info.cjs.map +1 -1
- package/dist/vue2/lib/contact-row/contact-row.cjs +1 -1
- package/dist/vue2/lib/contact-row/contact-row.cjs.map +1 -1
- package/dist/vue2/lib/contact-row/contact-row.js +4 -4
- package/dist/vue2/lib/datepicker/datepicker.cjs +1 -1
- package/dist/vue2/lib/datepicker/datepicker.cjs.map +1 -1
- package/dist/vue2/lib/datepicker/datepicker.js +83 -83
- package/dist/vue2/lib/datepicker/datepicker.js.map +1 -1
- package/dist/vue2/lib/datepicker/formatUtils.cjs.map +1 -1
- package/dist/vue2/lib/datepicker/formatUtils.js.map +1 -1
- package/dist/vue2/lib/datepicker/utils.cjs.map +1 -1
- package/dist/vue2/lib/datepicker/utils.js.map +1 -1
- package/dist/vue2/lib/description-list/description-list.cjs.map +1 -1
- package/dist/vue2/lib/dropdown/dropdown-constants.cjs.map +1 -1
- package/dist/vue2/lib/dropdown/dropdown-constants.js.map +1 -1
- package/dist/vue2/lib/dropdown/dropdown-story-constants.cjs.map +1 -1
- package/dist/vue2/lib/dropdown/dropdown-story-constants.js.map +1 -1
- package/dist/vue2/lib/dropdown/dropdown.cjs +1 -1
- package/dist/vue2/lib/dropdown/dropdown.cjs.map +1 -1
- package/dist/vue2/lib/dropdown/dropdown.js +1 -1
- package/dist/vue2/lib/dropdown/dropdown.js.map +1 -1
- package/dist/vue2/lib/editor/editor-constants.cjs.map +1 -1
- package/dist/vue2/lib/editor/editor-constants.js.map +1 -1
- package/dist/vue2/lib/editor/editor.cjs +1 -1
- package/dist/vue2/lib/editor/editor.cjs.map +1 -1
- package/dist/vue2/lib/editor/editor.js +44 -44
- package/dist/vue2/lib/editor/editor.js.map +1 -1
- package/dist/vue2/lib/emoji/emoji.cjs.map +1 -1
- package/dist/vue2/lib/emoji/emoji.js +4 -4
- package/dist/vue2/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
- package/dist/vue2/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
- package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
- package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
- package/dist/vue2/lib/emoji-picker/emoji-picker.js +9 -9
- package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row-constants.js.map +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
- package/dist/vue2/lib/emoji-row/emoji-row.js +5 -5
- package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
- package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +1 -1
- package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
- package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.js +1 -1
- package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
- package/dist/vue2/lib/empty-state/empty-state-constants.cjs.map +1 -1
- package/dist/vue2/lib/empty-state/empty-state-constants.js.map +1 -1
- package/dist/vue2/lib/empty-state/empty-state.cjs.map +1 -1
- package/dist/vue2/lib/empty-state/empty-state.js +3 -3
- package/dist/vue2/lib/empty-state/empty-state.js.map +1 -1
- package/dist/vue2/lib/feed-item-pill/feed-item-pill-constants.cjs.map +1 -1
- package/dist/vue2/lib/feed-item-pill/feed-item-pill-constants.js.map +1 -1
- package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs +1 -1
- package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
- package/dist/vue2/lib/feed-item-pill/feed-item-pill.js +3 -3
- package/dist/vue2/lib/feed-item-row/feed-item-row-constants.cjs.map +1 -1
- package/dist/vue2/lib/feed-item-row/feed-item-row-constants.js.map +1 -1
- package/dist/vue2/lib/feed-item-row/feed-item-row.cjs +1 -1
- package/dist/vue2/lib/feed-item-row/feed-item-row.cjs.map +1 -1
- package/dist/vue2/lib/feed-item-row/feed-item-row.js +9 -9
- package/dist/vue2/lib/feed-item-row/feed-item-row.js.map +1 -1
- package/dist/vue2/lib/general-row/general-row-constants.cjs.map +1 -1
- package/dist/vue2/lib/general-row/general-row-constants.js.map +1 -1
- package/dist/vue2/lib/general-row/general-row.cjs +1 -1
- package/dist/vue2/lib/general-row/general-row.cjs.map +1 -1
- package/dist/vue2/lib/general-row/general-row.js +14 -14
- package/dist/vue2/lib/general-row/general-row.js.map +1 -1
- package/dist/vue2/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
- package/dist/vue2/lib/general-row/leftbar-general-row-icon.js +30 -30
- package/dist/vue2/lib/group-row/group-row.cjs.map +1 -1
- package/dist/vue2/lib/grouped-chip/grouped-chip.cjs.map +1 -1
- package/dist/vue2/lib/hovercard/hovercard.cjs +1 -1
- package/dist/vue2/lib/hovercard/hovercard.cjs.map +1 -1
- package/dist/vue2/lib/hovercard/hovercard.js +7 -7
- package/dist/vue2/lib/hovercard/hovercard.js.map +1 -1
- package/dist/vue2/lib/icon/icon-constants.cjs.map +1 -1
- package/dist/vue2/lib/icon/icon-constants.js.map +1 -1
- package/dist/vue2/lib/icon/icon.js +3 -3
- package/dist/vue2/lib/illustration/illustration-constants.cjs.map +1 -1
- package/dist/vue2/lib/illustration/illustration-constants.js.map +1 -1
- package/dist/vue2/lib/image-viewer/image-viewer.cjs.map +1 -1
- package/dist/vue2/lib/image-viewer/image-viewer.js.map +1 -1
- package/dist/vue2/lib/input/input-constants.cjs.map +1 -1
- package/dist/vue2/lib/input/input-constants.js.map +1 -1
- package/dist/vue2/lib/input/input.cjs.map +1 -1
- package/dist/vue2/lib/input/input.js +8 -8
- package/dist/vue2/lib/input/input.js.map +1 -1
- package/dist/vue2/lib/input-group/input-group.cjs.map +1 -1
- package/dist/vue2/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
- package/dist/vue2/lib/ivr-node/ivr-node-constants.js.map +1 -1
- package/dist/vue2/lib/ivr-node/ivr-node.cjs +1 -1
- package/dist/vue2/lib/ivr-node/ivr-node.cjs.map +1 -1
- package/dist/vue2/lib/ivr-node/ivr-node.js +27 -27
- package/dist/vue2/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
- package/dist/vue2/lib/keyboard-shortcut/keyboard-shortcut.js +13 -13
- package/dist/vue2/lib/link/link-constants.cjs.map +1 -1
- package/dist/vue2/lib/link/link-constants.js.map +1 -1
- package/dist/vue2/lib/link/link.cjs.map +1 -1
- package/dist/vue2/lib/link/link.js +3 -3
- package/dist/vue2/lib/list-item/list-item-constants.cjs.map +1 -1
- package/dist/vue2/lib/list-item/list-item-constants.js.map +1 -1
- package/dist/vue2/lib/list-item/list-item.cjs.map +1 -1
- package/dist/vue2/lib/list-item/list-item.js +1 -1
- package/dist/vue2/lib/list-item/list-item.js.map +1 -1
- package/dist/vue2/lib/list-item-group/list-item-group-constants.cjs.map +1 -1
- package/dist/vue2/lib/list-item-group/list-item-group-constants.js.map +1 -1
- package/dist/vue2/lib/list-item-group/list-item-group.cjs.map +1 -1
- package/dist/vue2/lib/loader/loader.cjs.map +1 -1
- package/dist/vue2/lib/message-input/last-active-nodes.cjs +1 -1
- package/dist/vue2/lib/message-input/last-active-nodes.cjs.map +1 -1
- package/dist/vue2/lib/message-input/last-active-nodes.js +22 -22
- package/dist/vue2/lib/message-input/last-active-nodes.js.map +1 -1
- package/dist/vue2/lib/message-input/message-input-button.cjs +1 -1
- package/dist/vue2/lib/message-input/message-input-button.cjs.map +1 -1
- package/dist/vue2/lib/message-input/message-input-button.js +8 -8
- package/dist/vue2/lib/message-input/message-input-constants.cjs.map +1 -1
- package/dist/vue2/lib/message-input/message-input-constants.js.map +1 -1
- package/dist/vue2/lib/message-input/message-input-link.cjs +1 -1
- package/dist/vue2/lib/message-input/message-input-link.cjs.map +1 -1
- package/dist/vue2/lib/message-input/message-input-link.js +8 -8
- package/dist/vue2/lib/message-input/message-input-topbar.cjs.map +1 -1
- package/dist/vue2/lib/message-input/message-input-topbar.js +9 -9
- package/dist/vue2/lib/message-input/message-input.cjs +1 -1
- package/dist/vue2/lib/message-input/message-input.cjs.map +1 -1
- package/dist/vue2/lib/message-input/message-input.js +27 -28
- package/dist/vue2/lib/message-input/message-input.js.map +1 -1
- package/dist/vue2/lib/modal/modal.cjs +1 -1
- package/dist/vue2/lib/modal/modal.cjs.map +1 -1
- package/dist/vue2/lib/modal/modal.js +12 -12
- package/dist/vue2/lib/modal/modal.js.map +1 -1
- package/dist/vue2/lib/notice/notice-action.cjs.map +1 -1
- package/dist/vue2/lib/notice/notice-constants.cjs.map +1 -1
- package/dist/vue2/lib/notice/notice-constants.js.map +1 -1
- package/dist/vue2/lib/notice/notice-icon.cjs.map +1 -1
- package/dist/vue2/lib/notice/notice-icon.js +9 -9
- package/dist/vue2/lib/notice/notice.cjs.map +1 -1
- package/dist/vue2/lib/notice/notice.js +3 -3
- package/dist/vue2/lib/pagination/pagination.cjs.map +1 -1
- package/dist/vue2/lib/pagination/pagination.js +3 -3
- package/dist/vue2/lib/pagination/pagination.js.map +1 -1
- package/dist/vue2/lib/popover/popover-constants.cjs.map +1 -1
- package/dist/vue2/lib/popover/popover-constants.js.map +1 -1
- package/dist/vue2/lib/popover/popover-header-footer.cjs.map +1 -1
- package/dist/vue2/lib/popover/popover.cjs +1 -1
- package/dist/vue2/lib/popover/popover.cjs.map +1 -1
- package/dist/vue2/lib/popover/popover.js +16 -16
- package/dist/vue2/lib/popover/popover.js.map +1 -1
- package/dist/vue2/lib/popover/tippy-utils.cjs +1 -1
- package/dist/vue2/lib/popover/tippy-utils.cjs.map +1 -1
- package/dist/vue2/lib/popover/tippy-utils.js +16 -18
- package/dist/vue2/lib/popover/tippy-utils.js.map +1 -1
- package/dist/vue2/lib/presence/presence.cjs.map +1 -1
- package/dist/vue2/lib/radio/radio-constants.cjs.map +1 -1
- package/dist/vue2/lib/radio/radio-constants.js.map +1 -1
- package/dist/vue2/lib/radio/radio.cjs.map +1 -1
- package/dist/vue2/lib/radio-group/radio-group.cjs.map +1 -1
- package/dist/vue2/lib/radio-group/radios-decorator.cjs.map +1 -1
- package/dist/vue2/lib/recipes/eslint.config.cjs +2 -0
- package/dist/vue2/lib/recipes/eslint.config.cjs.map +1 -0
- package/dist/vue2/lib/recipes/eslint.config.js +12 -0
- package/dist/vue2/lib/recipes/eslint.config.js.map +1 -0
- package/dist/vue2/lib/rich-text-editor/channel-suggestion.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor/channel-suggestion.js.map +1 -1
- package/dist/vue2/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor/mention-suggestion.js.map +1 -1
- package/dist/vue2/lib/rich-text-editor/rich-text-editor-constants.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor/rich-text-editor-constants.js.map +1 -1
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +2 -2
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +63 -63
- package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/vue2/lib/rich-text-editor/slash-command-suggestion.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor/slash-command-suggestion.js.map +1 -1
- package/dist/vue2/lib/root-layout/root-layout-constants.cjs.map +1 -1
- package/dist/vue2/lib/root-layout/root-layout-constants.js.map +1 -1
- package/dist/vue2/lib/root-layout/root-layout.cjs.map +1 -1
- package/dist/vue2/lib/root-layout/root-layout.js +1 -1
- package/dist/vue2/lib/scrollbar-directive/scrollbar.cjs.map +1 -1
- package/dist/vue2/lib/scrollbar-directive/scrollbar.js.map +1 -1
- package/dist/vue2/lib/select-menu/select-menu-constants.cjs.map +1 -1
- package/dist/vue2/lib/select-menu/select-menu-constants.js.map +1 -1
- package/dist/vue2/lib/select-menu/select-menu.cjs.map +1 -1
- package/dist/vue2/lib/select-menu/select-menu.js +7 -7
- package/dist/vue2/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton-constants.cjs.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton-constants.js.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton-list-item.cjs.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton-paragraph.cjs.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton-paragraph.js.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton-shape.cjs.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton-shape.js +1 -1
- package/dist/vue2/lib/skeleton/skeleton-text.cjs.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton.cjs +1 -1
- package/dist/vue2/lib/skeleton/skeleton.cjs.map +1 -1
- package/dist/vue2/lib/skeleton/skeleton.js +1 -1
- package/dist/vue2/lib/skeleton/skeleton.js.map +1 -1
- package/dist/vue2/lib/split-button/split-button-alpha.cjs.map +1 -1
- package/dist/vue2/lib/split-button/split-button-constants.cjs.map +1 -1
- package/dist/vue2/lib/split-button/split-button-constants.js.map +1 -1
- package/dist/vue2/lib/split-button/split-button-omega.cjs.map +1 -1
- package/dist/vue2/lib/split-button/split-button.cjs.map +1 -1
- package/dist/vue2/lib/split-button/split-button.js +5 -5
- package/dist/vue2/lib/split-button/split-button.js.map +1 -1
- package/dist/vue2/lib/stack/stack-constants.cjs.map +1 -1
- package/dist/vue2/lib/stack/stack-constants.js.map +1 -1
- package/dist/vue2/lib/stack/stack.cjs.map +1 -1
- package/dist/vue2/lib/stack/stack.js +9 -9
- package/dist/vue2/lib/stack/utils.cjs.map +1 -1
- package/dist/vue2/lib/stack/utils.js.map +1 -1
- package/dist/vue2/lib/stack/validators.cjs.map +1 -1
- package/dist/vue2/lib/stack/validators.js.map +1 -1
- package/dist/vue2/lib/tab/tab-group.cjs.map +1 -1
- package/dist/vue2/lib/tab/tab-group.js +5 -5
- package/dist/vue2/lib/tab/tab-group.js.map +1 -1
- package/dist/vue2/lib/tab/tab.cjs.map +1 -1
- package/dist/vue2/lib/toast/toast-constants.cjs.map +1 -1
- package/dist/vue2/lib/toast/toast-constants.js.map +1 -1
- package/dist/vue2/lib/toast/toast.cjs +1 -1
- package/dist/vue2/lib/toast/toast.cjs.map +1 -1
- package/dist/vue2/lib/toast/toast.js +11 -11
- package/dist/vue2/lib/toggle/toggle-constants.cjs.map +1 -1
- package/dist/vue2/lib/toggle/toggle-constants.js.map +1 -1
- package/dist/vue2/lib/toggle/toggle.cjs +1 -1
- package/dist/vue2/lib/toggle/toggle.cjs.map +1 -1
- package/dist/vue2/lib/toggle/toggle.js +1 -1
- package/dist/vue2/lib/toggle/toggle.js.map +1 -1
- package/dist/vue2/lib/tooltip/tooltip-constants.cjs.map +1 -1
- package/dist/vue2/lib/tooltip/tooltip-constants.js.map +1 -1
- package/dist/vue2/lib/tooltip/tooltip.cjs +1 -1
- package/dist/vue2/lib/tooltip/tooltip.cjs.map +1 -1
- package/dist/vue2/lib/tooltip/tooltip.js +63 -64
- package/dist/vue2/lib/tooltip/tooltip.js.map +1 -1
- package/dist/vue2/lib/tooltip-directive/tooltip.cjs.map +1 -1
- package/dist/vue2/lib/tooltip-directive/tooltip.js.map +1 -1
- package/dist/vue2/lib/top-banner-info/top-banner-info-constants.cjs.map +1 -1
- package/dist/vue2/lib/top-banner-info/top-banner-info-constants.js.map +1 -1
- package/dist/vue2/lib/top-banner-info/top-banner-info.cjs.map +1 -1
- package/dist/vue2/lib/unread-pill/unread-pill-constants.cjs.map +1 -1
- package/dist/vue2/lib/unread-pill/unread-pill-constants.js.map +1 -1
- package/dist/vue2/lib/unread-pill/unread-pill.cjs.map +1 -1
- package/dist/vue2/lib/unread-pill/unread-pill.js +6 -6
- package/dist/vue2/lib/validation-messages/validation-messages.cjs.map +1 -1
- package/dist/vue2/lib/validation-messages/validation-messages.js +3 -3
- package/dist/vue2/localization/de-DE.cjs.map +1 -1
- package/dist/vue2/localization/de-DE.js.map +1 -1
- package/dist/vue2/localization/en-US.cjs.map +1 -1
- package/dist/vue2/localization/en-US.js.map +1 -1
- package/dist/vue2/localization/es-LA.cjs.map +1 -1
- package/dist/vue2/localization/es-LA.js.map +1 -1
- package/dist/vue2/localization/fr-FR.cjs.map +1 -1
- package/dist/vue2/localization/fr-FR.js.map +1 -1
- package/dist/vue2/localization/index.cjs.map +1 -1
- package/dist/vue2/localization/index.js.map +1 -1
- package/dist/vue2/localization/it-IT.cjs.map +1 -1
- package/dist/vue2/localization/it-IT.js.map +1 -1
- package/dist/vue2/localization/ja-JP.cjs.map +1 -1
- package/dist/vue2/localization/ja-JP.js.map +1 -1
- package/dist/vue2/localization/nl-NL.cjs.map +1 -1
- package/dist/vue2/localization/nl-NL.js.map +1 -1
- package/dist/vue2/localization/pt-BR.cjs.map +1 -1
- package/dist/vue2/localization/pt-BR.js.map +1 -1
- package/dist/vue2/localization/ru-RU.cjs.map +1 -1
- package/dist/vue2/localization/ru-RU.js.map +1 -1
- package/dist/vue2/localization/zh-CN.cjs.map +1 -1
- package/dist/vue2/localization/zh-CN.js.map +1 -1
- package/dist/vue2/node_modules/@linusborg/vue-simple-portal.cjs.map +1 -1
- package/dist/vue2/node_modules/@linusborg/vue-simple-portal.js.map +1 -1
- package/dist/vue2/node_modules/@tiptap/vue-2.cjs.map +1 -1
- package/dist/vue2/node_modules/@tiptap/vue-2.js.map +1 -1
- package/dist/vue2/shared/sr_only_close_button.cjs.map +1 -1
- package/dist/vue2/types/common/constants/index.d.ts.map +1 -1
- package/dist/vue2/types/common/dates/index.d.ts.map +1 -1
- package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
- package/dist/vue2/types/common/mixins/dom.d.ts.map +1 -1
- package/dist/vue2/types/common/mixins/input.d.ts +7 -7
- package/dist/vue2/types/common/mixins/input.d.ts.map +1 -1
- package/dist/vue2/types/common/mixins/input_group.d.ts +3 -3
- package/dist/vue2/types/common/mixins/modal.d.ts.map +1 -1
- package/dist/vue2/types/common/utils/index.d.ts.map +1 -1
- package/dist/vue2/types/components/avatar/avatar.vue.d.ts +8 -8
- package/dist/vue2/types/components/badge/badge.vue.d.ts +3 -3
- package/dist/vue2/types/components/banner/banner.vue.d.ts +2 -2
- package/dist/vue2/types/components/banner/banner.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts +1 -1
- package/dist/vue2/types/components/breadcrumbs/breadcrumbs_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/button/button.vue.d.ts +2 -2
- package/dist/vue2/types/components/button/button_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/card/card.vue.d.ts +8 -8
- package/dist/vue2/types/components/checkbox/checkbox.vue.d.ts +7 -7
- package/dist/vue2/types/components/checkbox_group/checkbox_group.vue.d.ts +3 -3
- package/dist/vue2/types/components/chip/chip.vue.d.ts +5 -5
- package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts +4 -4
- package/dist/vue2/types/components/combobox/combobox.vue.d.ts +3 -3
- package/dist/vue2/types/components/combobox/combobox_empty-list.vue.d.ts +2 -2
- package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/datepicker/formatUtils.d.ts +5 -5
- package/dist/vue2/types/components/datepicker/formatUtils.d.ts.map +1 -1
- package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts +1 -1
- package/dist/vue2/types/components/description_list/description_list.vue.d.ts +4 -4
- package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts +8 -8
- package/dist/vue2/types/components/emoji/emoji.vue.d.ts +2 -2
- package/dist/vue2/types/components/emoji_picker/emoji_picker_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +1 -1
- package/dist/vue2/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/eslint.config.d.ts +8 -0
- package/dist/vue2/types/components/eslint.config.d.ts.map +1 -0
- package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/input/input.vue.d.ts +7 -7
- package/dist/vue2/types/components/input_group/input_group.vue.d.ts +3 -3
- package/dist/vue2/types/components/item_layout/item_layout.vue.d.ts +1 -1
- package/dist/vue2/types/components/link/link_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/list_item/list_item.vue.d.ts +2 -2
- package/dist/vue2/types/components/list_item_group/list_item_group.vue.d.ts +4 -4
- package/dist/vue2/types/components/modal/modal.vue.d.ts +13 -13
- package/dist/vue2/types/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/notice/notice.vue.d.ts +2 -2
- package/dist/vue2/types/components/popover/popover.vue.d.ts +22 -22
- package/dist/vue2/types/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +2 -2
- package/dist/vue2/types/components/popover/tippy_utils.d.ts +2 -3
- package/dist/vue2/types/components/popover/tippy_utils.d.ts.map +1 -1
- package/dist/vue2/types/components/radio/radio.vue.d.ts +7 -7
- package/dist/vue2/types/components/radio_group/radio_group.vue.d.ts +3 -3
- package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts +1 -1
- package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts.map +1 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +12 -17
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/root_layout/root_layout.vue.d.ts +8 -8
- package/dist/vue2/types/components/select_menu/select_menu.vue.d.ts +10 -10
- package/dist/vue2/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
- package/dist/vue2/types/components/skeleton/skeleton-paragraph.vue.d.ts +1 -1
- package/dist/vue2/types/components/skeleton/skeleton-shape.vue.d.ts +3 -3
- package/dist/vue2/types/components/skeleton/skeleton-text.vue.d.ts +1 -1
- package/dist/vue2/types/components/skeleton/skeleton.vue.d.ts +7 -7
- package/dist/vue2/types/components/skeleton/skeleton_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +3 -3
- package/dist/vue2/types/components/split_button/split_button-omega.vue.d.ts +1 -1
- package/dist/vue2/types/components/split_button/split_button.vue.d.ts +2 -2
- package/dist/vue2/types/components/tab/tab.vue.d.ts +2 -2
- package/dist/vue2/types/components/tab/tab_group.vue.d.ts +2 -2
- package/dist/vue2/types/components/tab/tab_panel.vue.d.ts +2 -2
- package/dist/vue2/types/components/tab/tab_panel.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +2 -2
- package/dist/vue2/types/components/toast/layouts/toast_layout_default.vue.d.ts +2 -2
- package/dist/vue2/types/components/toast/toast.vue.d.ts +7 -7
- package/dist/vue2/types/components/toast/toast_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/toggle/toggle.vue.d.ts +5 -5
- package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +8 -8
- package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/tooltip/tooltip_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/validation_messages/validation_messages.vue.d.ts +0 -1
- package/dist/vue2/types/components/validation_messages/validation_messages.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +6 -6
- package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +5 -5
- package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +6 -6
- package/dist/vue2/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +7 -7
- package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +3 -3
- package/dist/vue2/types/recipes/conversation_view/editor/editor_constants.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +4 -4
- package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row_constants.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +1 -1
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +15 -15
- package/dist/vue2/types/recipes/eslint.config.d.ts +8 -0
- package/dist/vue2/types/recipes/eslint.config.d.ts.map +1 -0
- package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/leftbar/callbox/callbox.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
- package/dist/vue3/common/constants/index.cjs.map +1 -1
- package/dist/vue3/common/constants/index.js.map +1 -1
- package/dist/vue3/common/dates/index.cjs.map +1 -1
- package/dist/vue3/common/dates/index.js +3 -3
- package/dist/vue3/common/dates/index.js.map +1 -1
- package/dist/vue3/common/emoji/index.cjs.map +1 -1
- package/dist/vue3/common/emoji/index.js.map +1 -1
- package/dist/vue3/common/mixins/dom.cjs.map +1 -1
- package/dist/vue3/common/mixins/dom.js.map +1 -1
- package/dist/vue3/common/mixins/input-group.cjs.map +1 -1
- package/dist/vue3/common/mixins/input-group.js +5 -5
- package/dist/vue3/common/mixins/input-group.js.map +1 -1
- package/dist/vue3/common/mixins/input.cjs.map +1 -1
- package/dist/vue3/common/mixins/input.js.map +1 -1
- package/dist/vue3/common/mixins/keyboard-list-navigation.cjs.map +1 -1
- package/dist/vue3/common/mixins/keyboard-list-navigation.js.map +1 -1
- package/dist/vue3/common/mixins/modal.cjs.map +1 -1
- package/dist/vue3/common/mixins/modal.js.map +1 -1
- package/dist/vue3/common/mixins/skeleton.cjs.map +1 -1
- package/dist/vue3/common/mixins/skeleton.js.map +1 -1
- package/dist/vue3/common/utils/index.cjs.map +1 -1
- package/dist/vue3/common/utils/index.js +3 -3
- package/dist/vue3/common/utils/index.js.map +1 -1
- package/dist/vue3/common/validators/index.cjs.map +1 -1
- package/dist/vue3/common/validators/index.js.map +1 -1
- package/dist/vue3/lib/attachment-carousel/attachment-carousel.cjs +1 -1
- package/dist/vue3/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
- package/dist/vue3/lib/attachment-carousel/attachment-carousel.js +5 -5
- package/dist/vue3/lib/attachment-carousel/attachment-carousel.js.map +1 -1
- package/dist/vue3/lib/avatar/avatar-constants.cjs.map +1 -1
- package/dist/vue3/lib/avatar/avatar-constants.js.map +1 -1
- package/dist/vue3/lib/avatar/avatar.cjs.map +1 -1
- package/dist/vue3/lib/avatar/avatar.js +11 -11
- package/dist/vue3/lib/avatar/avatar.js.map +1 -1
- package/dist/vue3/lib/avatar/utils.cjs.map +1 -1
- package/dist/vue3/lib/avatar/utils.js.map +1 -1
- package/dist/vue3/lib/badge/badge.cjs.map +1 -1
- package/dist/vue3/lib/badge/badge.js +12 -12
- package/dist/vue3/lib/badge/badge.js.map +1 -1
- package/dist/vue3/lib/banner/banner.cjs +1 -1
- package/dist/vue3/lib/banner/banner.cjs.map +1 -1
- package/dist/vue3/lib/banner/banner.js +7 -7
- package/dist/vue3/lib/banner/banner.js.map +1 -1
- package/dist/vue3/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
- package/dist/vue3/lib/breadcrumbs/breadcrumb-item.js +5 -5
- package/dist/vue3/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
- package/dist/vue3/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
- package/dist/vue3/lib/breadcrumbs/breadcrumbs.js +1 -1
- package/dist/vue3/lib/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/vue3/lib/button/button-constants.cjs.map +1 -1
- package/dist/vue3/lib/button/button-constants.js.map +1 -1
- package/dist/vue3/lib/button/button.cjs.map +1 -1
- package/dist/vue3/lib/button/button.js +22 -22
- package/dist/vue3/lib/button/button.js.map +1 -1
- package/dist/vue3/lib/button-group/button-group.cjs.map +1 -1
- package/dist/vue3/lib/button-group/button-group.js +2 -2
- package/dist/vue3/lib/button-group/button-group.js.map +1 -1
- package/dist/vue3/lib/button-group/buttons-decorator.cjs.map +1 -1
- package/dist/vue3/lib/button-group/buttons-decorator.js +2 -2
- package/dist/vue3/lib/button-group/buttons-decorator.js.map +1 -1
- package/dist/vue3/lib/callbar-button/callbar-button-constants.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button/callbar-button-constants.js.map +1 -1
- package/dist/vue3/lib/callbar-button/callbar-button.cjs +1 -1
- package/dist/vue3/lib/callbar-button/callbar-button.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button/callbar-button.js +13 -13
- package/dist/vue3/lib/callbar-button/callbar-button.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +13 -13
- package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
- 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.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js +13 -13
- package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
- package/dist/vue3/lib/callbox/callbox-constants.cjs.map +1 -1
- package/dist/vue3/lib/callbox/callbox-constants.js.map +1 -1
- package/dist/vue3/lib/callbox/callbox.cjs.map +1 -1
- package/dist/vue3/lib/callbox/callbox.js +6 -6
- package/dist/vue3/lib/callbox/callbox.js.map +1 -1
- package/dist/vue3/lib/card/card.cjs.map +1 -1
- package/dist/vue3/lib/card/card.js +4 -4
- package/dist/vue3/lib/card/card.js.map +1 -1
- package/dist/vue3/lib/checkbox/checkbox-constants.cjs.map +1 -1
- package/dist/vue3/lib/checkbox/checkbox-constants.js.map +1 -1
- package/dist/vue3/lib/checkbox/checkbox.cjs.map +1 -1
- package/dist/vue3/lib/checkbox/checkbox.js +8 -8
- package/dist/vue3/lib/checkbox/checkbox.js.map +1 -1
- package/dist/vue3/lib/checkbox-group/checkbox-group.cjs.map +1 -1
- package/dist/vue3/lib/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/vue3/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
- package/dist/vue3/lib/checkbox-group/checkboxes-decorator.js +1 -1
- package/dist/vue3/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
- package/dist/vue3/lib/chip/chip-constants.cjs.map +1 -1
- package/dist/vue3/lib/chip/chip-constants.js.map +1 -1
- package/dist/vue3/lib/chip/chip.cjs.map +1 -1
- package/dist/vue3/lib/chip/chip.js +13 -13
- package/dist/vue3/lib/chip/chip.js.map +1 -1
- package/dist/vue3/lib/codeblock/codeblock.cjs.map +1 -1
- package/dist/vue3/lib/codeblock/codeblock.js +2 -2
- package/dist/vue3/lib/codeblock/codeblock.js.map +1 -1
- package/dist/vue3/lib/collapsible/collapsible-lazy-show.cjs.map +1 -1
- package/dist/vue3/lib/collapsible/collapsible-lazy-show.js +3 -3
- package/dist/vue3/lib/collapsible/collapsible-lazy-show.js.map +1 -1
- package/dist/vue3/lib/collapsible/collapsible.cjs +1 -1
- package/dist/vue3/lib/collapsible/collapsible.cjs.map +1 -1
- package/dist/vue3/lib/collapsible/collapsible.js +18 -18
- package/dist/vue3/lib/collapsible/collapsible.js.map +1 -1
- package/dist/vue3/lib/combobox/combobox-constants.cjs.map +1 -1
- package/dist/vue3/lib/combobox/combobox-constants.js.map +1 -1
- package/dist/vue3/lib/combobox/combobox-empty-list.cjs.map +1 -1
- package/dist/vue3/lib/combobox/combobox-empty-list.js +2 -2
- package/dist/vue3/lib/combobox/combobox-empty-list.js.map +1 -1
- package/dist/vue3/lib/combobox/combobox-loading-list.cjs +1 -1
- package/dist/vue3/lib/combobox/combobox-loading-list.cjs.map +1 -1
- package/dist/vue3/lib/combobox/combobox-loading-list.js +6 -6
- package/dist/vue3/lib/combobox/combobox-loading-list.js.map +1 -1
- package/dist/vue3/lib/combobox/combobox.cjs +1 -1
- package/dist/vue3/lib/combobox/combobox.cjs.map +1 -1
- package/dist/vue3/lib/combobox/combobox.js +8 -8
- package/dist/vue3/lib/combobox/combobox.js.map +1 -1
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-story-constants.cjs.map +1 -1
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-story-constants.js.map +1 -1
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js +16 -16
- package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js.map +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.cjs.map +1 -1
- package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js +13 -13
- package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
- package/dist/vue3/lib/contact-centers-row/contact-centers-row.cjs +1 -1
- package/dist/vue3/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
- package/dist/vue3/lib/contact-centers-row/contact-centers-row.js +19 -19
- package/dist/vue3/lib/contact-centers-row/contact-centers-row.js.map +1 -1
- package/dist/vue3/lib/contact-info/contact-info.cjs.map +1 -1
- package/dist/vue3/lib/contact-info/contact-info.js +1 -1
- package/dist/vue3/lib/contact-info/contact-info.js.map +1 -1
- package/dist/vue3/lib/contact-row/contact-row.cjs +1 -1
- package/dist/vue3/lib/contact-row/contact-row.cjs.map +1 -1
- package/dist/vue3/lib/contact-row/contact-row.js +12 -12
- package/dist/vue3/lib/contact-row/contact-row.js.map +1 -1
- package/dist/vue3/lib/datepicker/datepicker.cjs +1 -1
- package/dist/vue3/lib/datepicker/datepicker.cjs.map +1 -1
- package/dist/vue3/lib/datepicker/datepicker.js +139 -139
- package/dist/vue3/lib/datepicker/datepicker.js.map +1 -1
- package/dist/vue3/lib/datepicker/formatUtils.cjs.map +1 -1
- package/dist/vue3/lib/datepicker/formatUtils.js.map +1 -1
- package/dist/vue3/lib/datepicker/utils.cjs.map +1 -1
- package/dist/vue3/lib/datepicker/utils.js.map +1 -1
- package/dist/vue3/lib/description-list/description-list.cjs.map +1 -1
- package/dist/vue3/lib/description-list/description-list.js +3 -3
- package/dist/vue3/lib/description-list/description-list.js.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-constants.cjs.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-constants.js.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-list.cjs.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-list.js +5 -5
- package/dist/vue3/lib/dropdown/dropdown-list.js.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-separator.cjs.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-separator.js +2 -2
- package/dist/vue3/lib/dropdown/dropdown-separator.js.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-story-constants.cjs.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown-story-constants.js.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown.cjs +1 -1
- package/dist/vue3/lib/dropdown/dropdown.cjs.map +1 -1
- package/dist/vue3/lib/dropdown/dropdown.js +3 -3
- package/dist/vue3/lib/dropdown/dropdown.js.map +1 -1
- package/dist/vue3/lib/editor/editor-constants.cjs.map +1 -1
- package/dist/vue3/lib/editor/editor-constants.js.map +1 -1
- 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 +48 -48
- package/dist/vue3/lib/editor/editor.js.map +1 -1
- package/dist/vue3/lib/emoji/emoji.cjs.map +1 -1
- package/dist/vue3/lib/emoji/emoji.js +6 -6
- package/dist/vue3/lib/emoji/emoji.js.map +1 -1
- package/dist/vue3/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
- package/dist/vue3/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
- package/dist/vue3/lib/emoji-picker/emoji-picker.cjs.map +1 -1
- package/dist/vue3/lib/emoji-picker/emoji-picker.js +2 -2
- package/dist/vue3/lib/emoji-picker/emoji-picker.js.map +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row-constants.js.map +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row.cjs +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row.cjs.map +1 -1
- package/dist/vue3/lib/emoji-row/emoji-row.js +10 -10
- package/dist/vue3/lib/emoji-row/emoji-row.js.map +1 -1
- package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +1 -1
- package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
- package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.js +1 -1
- package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
- package/dist/vue3/lib/empty-state/empty-state-constants.cjs.map +1 -1
- package/dist/vue3/lib/empty-state/empty-state-constants.js.map +1 -1
- package/dist/vue3/lib/empty-state/empty-state.cjs.map +1 -1
- package/dist/vue3/lib/empty-state/empty-state.js +7 -7
- package/dist/vue3/lib/feed-item-pill/feed-item-pill-constants.cjs.map +1 -1
- package/dist/vue3/lib/feed-item-pill/feed-item-pill-constants.js.map +1 -1
- package/dist/vue3/lib/feed-item-pill/feed-item-pill.cjs +1 -1
- package/dist/vue3/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
- package/dist/vue3/lib/feed-item-pill/feed-item-pill.js +6 -6
- package/dist/vue3/lib/feed-item-pill/feed-item-pill.js.map +1 -1
- package/dist/vue3/lib/feed-item-row/feed-item-row-constants.cjs.map +1 -1
- package/dist/vue3/lib/feed-item-row/feed-item-row-constants.js.map +1 -1
- package/dist/vue3/lib/feed-item-row/feed-item-row.cjs +1 -1
- package/dist/vue3/lib/feed-item-row/feed-item-row.cjs.map +1 -1
- package/dist/vue3/lib/feed-item-row/feed-item-row.js +56 -56
- package/dist/vue3/lib/feed-item-row/feed-item-row.js.map +1 -1
- package/dist/vue3/lib/general-row/general-row-constants.cjs.map +1 -1
- package/dist/vue3/lib/general-row/general-row-constants.js.map +1 -1
- package/dist/vue3/lib/general-row/general-row.cjs +1 -1
- package/dist/vue3/lib/general-row/general-row.cjs.map +1 -1
- package/dist/vue3/lib/general-row/general-row.js +30 -30
- package/dist/vue3/lib/general-row/general-row.js.map +1 -1
- package/dist/vue3/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
- package/dist/vue3/lib/general-row/leftbar-general-row-icon.js +35 -35
- package/dist/vue3/lib/general-row/leftbar-general-row-icon.js.map +1 -1
- package/dist/vue3/lib/group-row/group-row.cjs.map +1 -1
- package/dist/vue3/lib/group-row/group-row.js +3 -3
- package/dist/vue3/lib/group-row/group-row.js.map +1 -1
- package/dist/vue3/lib/grouped-chip/grouped-chip.cjs.map +1 -1
- package/dist/vue3/lib/grouped-chip/grouped-chip.js +14 -14
- package/dist/vue3/lib/grouped-chip/grouped-chip.js.map +1 -1
- package/dist/vue3/lib/hovercard/hovercard.cjs +1 -1
- package/dist/vue3/lib/hovercard/hovercard.cjs.map +1 -1
- package/dist/vue3/lib/hovercard/hovercard.js +6 -6
- package/dist/vue3/lib/hovercard/hovercard.js.map +1 -1
- package/dist/vue3/lib/icon/icon-constants.cjs.map +1 -1
- package/dist/vue3/lib/icon/icon-constants.js.map +1 -1
- package/dist/vue3/lib/icon/icon.cjs.map +1 -1
- package/dist/vue3/lib/icon/icon.js +6 -6
- package/dist/vue3/lib/icon/icon.js.map +1 -1
- package/dist/vue3/lib/illustration/illustration-constants.cjs.map +1 -1
- package/dist/vue3/lib/illustration/illustration-constants.js.map +1 -1
- package/dist/vue3/lib/illustration/illustration.cjs.map +1 -1
- package/dist/vue3/lib/illustration/illustration.js +3 -3
- package/dist/vue3/lib/image-viewer/image-viewer.cjs.map +1 -1
- package/dist/vue3/lib/image-viewer/image-viewer.js +12 -12
- package/dist/vue3/lib/image-viewer/image-viewer.js.map +1 -1
- package/dist/vue3/lib/input/input-constants.cjs.map +1 -1
- package/dist/vue3/lib/input/input-constants.js.map +1 -1
- package/dist/vue3/lib/input/input.cjs.map +1 -1
- package/dist/vue3/lib/input/input.js +20 -20
- package/dist/vue3/lib/input/input.js.map +1 -1
- package/dist/vue3/lib/input-group/input-group.cjs.map +1 -1
- package/dist/vue3/lib/input-group/input-group.js +8 -8
- package/dist/vue3/lib/input-group/input-group.js.map +1 -1
- package/dist/vue3/lib/item-layout/item-layout.cjs.map +1 -1
- package/dist/vue3/lib/item-layout/item-layout.js +13 -13
- package/dist/vue3/lib/item-layout/item-layout.js.map +1 -1
- package/dist/vue3/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
- package/dist/vue3/lib/ivr-node/ivr-node-constants.js.map +1 -1
- package/dist/vue3/lib/ivr-node/ivr-node.cjs +1 -1
- package/dist/vue3/lib/ivr-node/ivr-node.cjs.map +1 -1
- package/dist/vue3/lib/ivr-node/ivr-node.js +36 -36
- package/dist/vue3/lib/ivr-node/ivr-node.js.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.js +15 -15
- package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/dist/vue3/lib/lazy-show/lazy-show.cjs.map +1 -1
- package/dist/vue3/lib/lazy-show/lazy-show.js +2 -2
- package/dist/vue3/lib/lazy-show/lazy-show.js.map +1 -1
- package/dist/vue3/lib/link/link-constants.cjs.map +1 -1
- package/dist/vue3/lib/link/link-constants.js.map +1 -1
- package/dist/vue3/lib/link/link.cjs.map +1 -1
- package/dist/vue3/lib/link/link.js +5 -5
- package/dist/vue3/lib/link/link.js.map +1 -1
- package/dist/vue3/lib/list-item/list-item-constants.cjs.map +1 -1
- package/dist/vue3/lib/list-item/list-item-constants.js.map +1 -1
- package/dist/vue3/lib/list-item/list-item.cjs.map +1 -1
- package/dist/vue3/lib/list-item/list-item.js +4 -4
- package/dist/vue3/lib/list-item/list-item.js.map +1 -1
- package/dist/vue3/lib/list-item-group/list-item-group-constants.cjs.map +1 -1
- package/dist/vue3/lib/list-item-group/list-item-group-constants.js.map +1 -1
- package/dist/vue3/lib/list-item-group/list-item-group.cjs.map +1 -1
- package/dist/vue3/lib/list-item-group/list-item-group.js +5 -5
- package/dist/vue3/lib/list-item-group/list-item-group.js.map +1 -1
- package/dist/vue3/lib/loader/loader.cjs.map +1 -1
- package/dist/vue3/lib/loader/loader.js +2 -2
- package/dist/vue3/lib/loader/loader.js.map +1 -1
- package/dist/vue3/lib/message-input/last-active-nodes.cjs +1 -1
- package/dist/vue3/lib/message-input/last-active-nodes.cjs.map +1 -1
- package/dist/vue3/lib/message-input/last-active-nodes.js +22 -22
- package/dist/vue3/lib/message-input/last-active-nodes.js.map +1 -1
- package/dist/vue3/lib/message-input/message-input-button.cjs +1 -1
- package/dist/vue3/lib/message-input/message-input-button.cjs.map +1 -1
- package/dist/vue3/lib/message-input/message-input-button.js +14 -14
- package/dist/vue3/lib/message-input/message-input-button.js.map +1 -1
- package/dist/vue3/lib/message-input/message-input-constants.cjs.map +1 -1
- package/dist/vue3/lib/message-input/message-input-constants.js.map +1 -1
- package/dist/vue3/lib/message-input/message-input-link.cjs +1 -1
- package/dist/vue3/lib/message-input/message-input-link.cjs.map +1 -1
- package/dist/vue3/lib/message-input/message-input-link.js +10 -10
- package/dist/vue3/lib/message-input/message-input-link.js.map +1 -1
- package/dist/vue3/lib/message-input/message-input-topbar.cjs.map +1 -1
- package/dist/vue3/lib/message-input/message-input-topbar.js +11 -11
- package/dist/vue3/lib/message-input/message-input-topbar.js.map +1 -1
- package/dist/vue3/lib/message-input/message-input.cjs +1 -1
- package/dist/vue3/lib/message-input/message-input.cjs.map +1 -1
- package/dist/vue3/lib/message-input/message-input.js +31 -31
- package/dist/vue3/lib/message-input/message-input.js.map +1 -1
- package/dist/vue3/lib/modal/modal.cjs +1 -1
- package/dist/vue3/lib/modal/modal.cjs.map +1 -1
- package/dist/vue3/lib/modal/modal.js +14 -14
- package/dist/vue3/lib/modal/modal.js.map +1 -1
- package/dist/vue3/lib/notice/notice-action.cjs.map +1 -1
- package/dist/vue3/lib/notice/notice-action.js +1 -1
- package/dist/vue3/lib/notice/notice-action.js.map +1 -1
- package/dist/vue3/lib/notice/notice-constants.cjs.map +1 -1
- package/dist/vue3/lib/notice/notice-constants.js.map +1 -1
- package/dist/vue3/lib/notice/notice-content.cjs.map +1 -1
- package/dist/vue3/lib/notice/notice-content.js +6 -6
- package/dist/vue3/lib/notice/notice-content.js.map +1 -1
- package/dist/vue3/lib/notice/notice-icon.cjs.map +1 -1
- package/dist/vue3/lib/notice/notice-icon.js +13 -13
- package/dist/vue3/lib/notice/notice-icon.js.map +1 -1
- package/dist/vue3/lib/notice/notice.cjs.map +1 -1
- package/dist/vue3/lib/notice/notice.js +4 -4
- package/dist/vue3/lib/notice/notice.js.map +1 -1
- package/dist/vue3/lib/pagination/pagination.cjs.map +1 -1
- package/dist/vue3/lib/pagination/pagination.js +4 -4
- package/dist/vue3/lib/pagination/pagination.js.map +1 -1
- package/dist/vue3/lib/popover/popover-constants.cjs.map +1 -1
- package/dist/vue3/lib/popover/popover-constants.js.map +1 -1
- package/dist/vue3/lib/popover/popover-header-footer.cjs.map +1 -1
- package/dist/vue3/lib/popover/popover-header-footer.js +6 -6
- package/dist/vue3/lib/popover/popover-header-footer.js.map +1 -1
- package/dist/vue3/lib/popover/popover.cjs +1 -1
- package/dist/vue3/lib/popover/popover.cjs.map +1 -1
- package/dist/vue3/lib/popover/popover.js +17 -17
- package/dist/vue3/lib/popover/popover.js.map +1 -1
- package/dist/vue3/lib/popover/tippy-utils.cjs +1 -1
- package/dist/vue3/lib/popover/tippy-utils.cjs.map +1 -1
- package/dist/vue3/lib/popover/tippy-utils.js +16 -18
- package/dist/vue3/lib/popover/tippy-utils.js.map +1 -1
- package/dist/vue3/lib/presence/presence.cjs.map +1 -1
- package/dist/vue3/lib/presence/presence.js +4 -4
- package/dist/vue3/lib/presence/presence.js.map +1 -1
- package/dist/vue3/lib/radio/radio-constants.cjs.map +1 -1
- package/dist/vue3/lib/radio/radio-constants.js.map +1 -1
- package/dist/vue3/lib/radio/radio.cjs.map +1 -1
- package/dist/vue3/lib/radio/radio.js +13 -13
- package/dist/vue3/lib/radio/radio.js.map +1 -1
- package/dist/vue3/lib/radio-group/radio-group.cjs.map +1 -1
- package/dist/vue3/lib/radio-group/radio-group.js.map +1 -1
- package/dist/vue3/lib/radio-group/radios-decorator.cjs.map +1 -1
- package/dist/vue3/lib/radio-group/radios-decorator.js +1 -1
- package/dist/vue3/lib/radio-group/radios-decorator.js.map +1 -1
- package/dist/vue3/lib/recipes/eslint.config.cjs +2 -0
- package/dist/vue3/lib/recipes/eslint.config.cjs.map +1 -0
- package/dist/vue3/lib/recipes/eslint.config.js +12 -0
- package/dist/vue3/lib/recipes/eslint.config.js.map +1 -0
- package/dist/vue3/lib/rich-text-editor/channel-suggestion.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor/channel-suggestion.js.map +1 -1
- package/dist/vue3/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor/mention-suggestion.js.map +1 -1
- package/dist/vue3/lib/rich-text-editor/rich-text-editor-constants.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor/rich-text-editor-constants.js.map +1 -1
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs +3 -3
- 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 +52 -52
- package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/vue3/lib/rich-text-editor/slash-command-suggestion.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor/slash-command-suggestion.js.map +1 -1
- package/dist/vue3/lib/root-layout/root-layout-constants.cjs.map +1 -1
- package/dist/vue3/lib/root-layout/root-layout-constants.js.map +1 -1
- package/dist/vue3/lib/root-layout/root-layout.cjs.map +1 -1
- package/dist/vue3/lib/root-layout/root-layout.js +3 -3
- package/dist/vue3/lib/root-layout/root-layout.js.map +1 -1
- package/dist/vue3/lib/scrollbar-directive/scrollbar.cjs.map +1 -1
- package/dist/vue3/lib/scrollbar-directive/scrollbar.js.map +1 -1
- package/dist/vue3/lib/scroller/scroller.cjs +1 -1
- package/dist/vue3/lib/scroller/scroller.cjs.map +1 -1
- package/dist/vue3/lib/scroller/scroller.js +2 -2
- package/dist/vue3/lib/scroller/scroller.js.map +1 -1
- package/dist/vue3/lib/select-menu/select-menu-constants.cjs.map +1 -1
- package/dist/vue3/lib/select-menu/select-menu-constants.js.map +1 -1
- package/dist/vue3/lib/select-menu/select-menu.cjs.map +1 -1
- package/dist/vue3/lib/select-menu/select-menu.js +21 -21
- package/dist/vue3/lib/select-menu/select-menu.js.map +1 -1
- package/dist/vue3/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
- package/dist/vue3/lib/settings-menu-button/settings-menu-button.js +3 -3
- package/dist/vue3/lib/settings-menu-button/settings-menu-button.js.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-constants.cjs.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-constants.js.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-list-item.cjs.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-list-item.js +2 -2
- package/dist/vue3/lib/skeleton/skeleton-list-item.js.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-paragraph.cjs.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-paragraph.js +1 -1
- package/dist/vue3/lib/skeleton/skeleton-paragraph.js.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-shape.cjs.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-shape.js +5 -5
- package/dist/vue3/lib/skeleton/skeleton-shape.js.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-text.cjs.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton-text.js +7 -7
- package/dist/vue3/lib/skeleton/skeleton-text.js.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton.cjs +1 -1
- package/dist/vue3/lib/skeleton/skeleton.cjs.map +1 -1
- package/dist/vue3/lib/skeleton/skeleton.js +11 -11
- package/dist/vue3/lib/skeleton/skeleton.js.map +1 -1
- package/dist/vue3/lib/split-button/split-button-alpha.cjs.map +1 -1
- package/dist/vue3/lib/split-button/split-button-alpha.js +2 -2
- package/dist/vue3/lib/split-button/split-button-alpha.js.map +1 -1
- package/dist/vue3/lib/split-button/split-button-constants.cjs.map +1 -1
- package/dist/vue3/lib/split-button/split-button-constants.js.map +1 -1
- package/dist/vue3/lib/split-button/split-button-omega.cjs.map +1 -1
- package/dist/vue3/lib/split-button/split-button-omega.js +2 -2
- package/dist/vue3/lib/split-button/split-button-omega.js.map +1 -1
- package/dist/vue3/lib/split-button/split-button.cjs.map +1 -1
- package/dist/vue3/lib/split-button/split-button.js +19 -19
- package/dist/vue3/lib/split-button/split-button.js.map +1 -1
- package/dist/vue3/lib/stack/stack-constants.cjs.map +1 -1
- package/dist/vue3/lib/stack/stack-constants.js.map +1 -1
- package/dist/vue3/lib/stack/stack.cjs.map +1 -1
- package/dist/vue3/lib/stack/stack.js +11 -11
- package/dist/vue3/lib/stack/stack.js.map +1 -1
- package/dist/vue3/lib/stack/utils.cjs.map +1 -1
- package/dist/vue3/lib/stack/utils.js.map +1 -1
- package/dist/vue3/lib/stack/validators.cjs.map +1 -1
- package/dist/vue3/lib/stack/validators.js +5 -5
- package/dist/vue3/lib/stack/validators.js.map +1 -1
- package/dist/vue3/lib/tab/tab-group.cjs.map +1 -1
- package/dist/vue3/lib/tab/tab-group.js +7 -7
- package/dist/vue3/lib/tab/tab-group.js.map +1 -1
- package/dist/vue3/lib/tab/tab-panel.cjs.map +1 -1
- package/dist/vue3/lib/tab/tab-panel.js +2 -2
- package/dist/vue3/lib/tab/tab-panel.js.map +1 -1
- package/dist/vue3/lib/tab/tab.cjs.map +1 -1
- package/dist/vue3/lib/tab/tab.js +2 -2
- package/dist/vue3/lib/tab/tab.js.map +1 -1
- package/dist/vue3/lib/time-pill/time-pill.cjs.map +1 -1
- package/dist/vue3/lib/time-pill/time-pill.js +2 -2
- package/dist/vue3/lib/time-pill/time-pill.js.map +1 -1
- package/dist/vue3/lib/toast/toast-constants.cjs.map +1 -1
- package/dist/vue3/lib/toast/toast-constants.js.map +1 -1
- package/dist/vue3/lib/toast/toast.cjs +1 -1
- package/dist/vue3/lib/toast/toast.cjs.map +1 -1
- package/dist/vue3/lib/toast/toast.js +12 -12
- package/dist/vue3/lib/toast/toast.js.map +1 -1
- package/dist/vue3/lib/toggle/toggle-constants.cjs.map +1 -1
- package/dist/vue3/lib/toggle/toggle-constants.js.map +1 -1
- package/dist/vue3/lib/toggle/toggle.cjs +1 -1
- package/dist/vue3/lib/toggle/toggle.cjs.map +1 -1
- package/dist/vue3/lib/toggle/toggle.js +14 -14
- package/dist/vue3/lib/toggle/toggle.js.map +1 -1
- package/dist/vue3/lib/tooltip/tooltip-constants.cjs.map +1 -1
- package/dist/vue3/lib/tooltip/tooltip-constants.js.map +1 -1
- package/dist/vue3/lib/tooltip/tooltip.cjs +1 -1
- package/dist/vue3/lib/tooltip/tooltip.cjs.map +1 -1
- package/dist/vue3/lib/tooltip/tooltip.js +20 -22
- package/dist/vue3/lib/tooltip/tooltip.js.map +1 -1
- package/dist/vue3/lib/tooltip-directive/tooltip.cjs.map +1 -1
- package/dist/vue3/lib/tooltip-directive/tooltip.js +1 -1
- package/dist/vue3/lib/tooltip-directive/tooltip.js.map +1 -1
- package/dist/vue3/lib/top-banner-info/top-banner-info-constants.cjs.map +1 -1
- package/dist/vue3/lib/top-banner-info/top-banner-info-constants.js.map +1 -1
- package/dist/vue3/lib/top-banner-info/top-banner-info.cjs.map +1 -1
- package/dist/vue3/lib/top-banner-info/top-banner-info.js +2 -2
- package/dist/vue3/lib/top-banner-info/top-banner-info.js.map +1 -1
- package/dist/vue3/lib/unread-pill/unread-pill-constants.cjs.map +1 -1
- package/dist/vue3/lib/unread-pill/unread-pill-constants.js.map +1 -1
- package/dist/vue3/lib/unread-pill/unread-pill.cjs.map +1 -1
- package/dist/vue3/lib/unread-pill/unread-pill.js +7 -7
- package/dist/vue3/lib/unread-pill/unread-pill.js.map +1 -1
- package/dist/vue3/lib/validation-messages/validation-messages.cjs.map +1 -1
- package/dist/vue3/lib/validation-messages/validation-messages.js +9 -9
- package/dist/vue3/lib/validation-messages/validation-messages.js.map +1 -1
- package/dist/vue3/localization/de-DE.cjs.map +1 -1
- package/dist/vue3/localization/de-DE.js.map +1 -1
- package/dist/vue3/localization/en-US.cjs.map +1 -1
- package/dist/vue3/localization/en-US.js.map +1 -1
- package/dist/vue3/localization/es-LA.cjs.map +1 -1
- package/dist/vue3/localization/es-LA.js.map +1 -1
- package/dist/vue3/localization/fr-FR.cjs.map +1 -1
- package/dist/vue3/localization/fr-FR.js.map +1 -1
- package/dist/vue3/localization/index.cjs.map +1 -1
- package/dist/vue3/localization/index.js.map +1 -1
- package/dist/vue3/localization/it-IT.cjs.map +1 -1
- package/dist/vue3/localization/it-IT.js.map +1 -1
- package/dist/vue3/localization/ja-JP.cjs.map +1 -1
- package/dist/vue3/localization/ja-JP.js.map +1 -1
- package/dist/vue3/localization/nl-NL.cjs.map +1 -1
- package/dist/vue3/localization/nl-NL.js.map +1 -1
- package/dist/vue3/localization/pt-BR.cjs.map +1 -1
- package/dist/vue3/localization/pt-BR.js.map +1 -1
- package/dist/vue3/localization/ru-RU.cjs.map +1 -1
- package/dist/vue3/localization/ru-RU.js.map +1 -1
- package/dist/vue3/localization/zh-CN.cjs.map +1 -1
- package/dist/vue3/localization/zh-CN.js.map +1 -1
- package/dist/vue3/node_modules/@tiptap/vue-3.cjs.map +1 -1
- package/dist/vue3/node_modules/@tiptap/vue-3.js +3 -3
- package/dist/vue3/node_modules/@tiptap/vue-3.js.map +1 -1
- package/dist/vue3/shared/sr_only_close_button.cjs.map +1 -1
- package/dist/vue3/shared/sr_only_close_button.js +2 -2
- package/dist/vue3/shared/sr_only_close_button.js.map +1 -1
- package/dist/vue3/types/common/constants/index.d.ts.map +1 -1
- package/dist/vue3/types/common/dates/index.d.ts.map +1 -1
- package/dist/vue3/types/common/emoji/index.d.ts.map +1 -1
- package/dist/vue3/types/common/mixins/dom.d.ts.map +1 -1
- package/dist/vue3/types/common/mixins/input.d.ts +6 -6
- package/dist/vue3/types/common/mixins/input.d.ts.map +1 -1
- package/dist/vue3/types/common/mixins/input_group.d.ts +2 -2
- package/dist/vue3/types/common/mixins/modal.d.ts.map +1 -1
- package/dist/vue3/types/common/utils/index.d.ts.map +1 -1
- package/dist/vue3/types/components/avatar/avatar.vue.d.ts +12 -12
- package/dist/vue3/types/components/badge/badge.vue.d.ts +4 -4
- package/dist/vue3/types/components/banner/banner.vue.d.ts +1 -1
- package/dist/vue3/types/components/banner/banner.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/breadcrumbs/breadcrumbs_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/button/button.vue.d.ts +3 -3
- package/dist/vue3/types/components/button/button_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/card/card.vue.d.ts +12 -12
- package/dist/vue3/types/components/checkbox/checkbox.vue.d.ts +6 -6
- package/dist/vue3/types/components/checkbox_group/checkbox_group.vue.d.ts +2 -2
- package/dist/vue3/types/components/chip/chip.vue.d.ts +6 -6
- package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts +6 -6
- package/dist/vue3/types/components/combobox/combobox.vue.d.ts +4 -4
- package/dist/vue3/types/components/combobox/combobox_empty-list.vue.d.ts +3 -3
- package/dist/vue3/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/datepicker/formatUtils.d.ts +5 -5
- package/dist/vue3/types/components/datepicker/formatUtils.d.ts.map +1 -1
- package/dist/vue3/types/components/datepicker/modules/calendar.vue.d.ts +1 -1
- package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
- package/dist/vue3/types/components/description_list/description_list.vue.d.ts +6 -6
- package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts +10 -10
- package/dist/vue3/types/components/emoji/emoji.vue.d.ts +3 -3
- package/dist/vue3/types/components/emoji_picker/emoji_picker_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +1 -1
- package/dist/vue3/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts +7 -11
- package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/eslint.config.d.ts +8 -0
- package/dist/vue3/types/components/eslint.config.d.ts.map +1 -0
- package/dist/vue3/types/components/hovercard/hovercard.vue.d.ts +686 -11
- package/dist/vue3/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/input/input.vue.d.ts +8 -8
- package/dist/vue3/types/components/input_group/input_group.vue.d.ts +2 -2
- package/dist/vue3/types/components/item_layout/item_layout.vue.d.ts +1 -1
- package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +7 -210
- package/dist/vue3/types/components/lazy_show/lazy_show.vue.d.ts +1 -1
- package/dist/vue3/types/components/link/link_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/list_item/list_item.vue.d.ts +3 -3
- package/dist/vue3/types/components/list_item_group/list_item_group.vue.d.ts +6 -6
- package/dist/vue3/types/components/modal/modal.vue.d.ts +16 -16
- package/dist/vue3/types/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
- package/dist/vue3/types/components/notice/notice_icon.vue.d.ts +1 -30
- package/dist/vue3/types/components/notice/notice_icon.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/popover/popover.vue.d.ts +26 -26
- package/dist/vue3/types/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts +3 -3
- package/dist/vue3/types/components/popover/tippy_utils.d.ts +2 -3
- package/dist/vue3/types/components/popover/tippy_utils.d.ts.map +1 -1
- package/dist/vue3/types/components/radio/radio.vue.d.ts +6 -6
- package/dist/vue3/types/components/radio_group/radio_group.vue.d.ts +2 -2
- package/dist/vue3/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +22 -22
- package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +22 -22
- package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +22 -22
- package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +22 -22
- package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts +1 -1
- package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts.map +1 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +7 -12
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/root_layout/root_layout.vue.d.ts +15 -15
- package/dist/vue3/types/components/scroller/modules/core_scroller.vue.d.ts +26 -16
- package/dist/vue3/types/components/scroller/modules/core_scroller.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
- package/dist/vue3/types/components/scroller/scroller.vue.d.ts +245 -12
- package/dist/vue3/types/components/scroller/scroller.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/select_menu/select_menu.vue.d.ts +13 -13
- package/dist/vue3/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
- package/dist/vue3/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
- package/dist/vue3/types/components/skeleton/skeleton-shape.vue.d.ts +4 -4
- package/dist/vue3/types/components/skeleton/skeleton-text.vue.d.ts +1 -1
- package/dist/vue3/types/components/skeleton/skeleton.vue.d.ts +1 -1
- package/dist/vue3/types/components/skeleton/skeleton_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +3 -3
- package/dist/vue3/types/components/split_button/split_button.vue.d.ts +3 -3
- package/dist/vue3/types/components/tab/tab.vue.d.ts +3 -3
- package/dist/vue3/types/components/tab/tab_group.vue.d.ts +3 -3
- package/dist/vue3/types/components/tab/tab_panel.vue.d.ts +3 -3
- package/dist/vue3/types/components/tab/tab_panel.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +1 -1
- package/dist/vue3/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +1 -30
- package/dist/vue3/types/components/toast/layouts/toast_layout_default.vue.d.ts +1 -1
- package/dist/vue3/types/components/toast/toast.vue.d.ts +4 -4
- package/dist/vue3/types/components/toast/toast_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/toggle/toggle.vue.d.ts +7 -7
- package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +10 -10
- package/dist/vue3/types/components/tooltip/tooltip_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/validation_messages/validation_messages.vue.d.ts +0 -1
- package/dist/vue3/types/components/validation_messages/validation_messages.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +7 -7
- package/dist/vue3/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +7 -7
- package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +9 -9
- package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +1 -30
- package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -1
- package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +9 -9
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +9 -241
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/editor/editor_constants.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +7 -36
- package/dist/vue3/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row_constants.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +22 -22
- package/dist/vue3/types/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +7 -7
- package/dist/vue3/types/recipes/eslint.config.d.ts +8 -0
- package/dist/vue3/types/recipes/eslint.config.d.ts.map +1 -0
- package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -30
- package/package.json +7 -6
- package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +0 -47
- package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +0 -1
- package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +0 -47
- package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts.map +0 -1
- package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +0 -47
- package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts.map +0 -1
- package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +0 -52
- package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.cjs","sources":["../../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n </ul>\n </template>\n <template #footerContent=\"{ close }\">\n <!-- @slot Slot for the footer content -->\n <slot\n name=\"footer\"\n :close=\"close\"\n />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","KeyboardNavigation","padding","DROPDOWN_PADDING_CLASSES","item","getUniqueString","LIST_ITEM_NAVIGATION_TYPES","t","appendTo","POPOVER_APPEND_TO_VALUES","EVENT_KEYNAMES","isPopoverOpen","event","liElement","_hoisted_1","_openBlock","_createBlock","_component_dt_popover","_mergeProps","$props","$data","$options","_ctx","_toHandlers","_withCtx","attrs","_renderSlot","close","_createElementVNode","_normalizeClass","args","_cache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown.cjs","sources":["../../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n </ul>\n </template>\n <template #footerContent=\"{ close }\">\n <!-- @slot Slot for the footer content -->\n <slot\n name=\"footer\"\n :close=\"close\"\n />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","KeyboardNavigation","padding","DROPDOWN_PADDING_CLASSES","item","getUniqueString","LIST_ITEM_NAVIGATION_TYPES","t","appendTo","POPOVER_APPEND_TO_VALUES","EVENT_KEYNAMES","isPopoverOpen","event","liElement","_hoisted_1","_openBlock","_createBlock","_component_dt_popover","_mergeProps","$props","$data","$options","_ctx","_toHandlers","_withCtx","attrs","_renderSlot","close","_createElementVNode","_normalizeClass","args","_cache"],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ import f from "../../common/mixins/keyboard-list-navigation.js";
|
|
|
2
2
|
import { DROPDOWN_PADDING_CLASSES as a } from "./dropdown-constants.js";
|
|
3
3
|
import { getUniqueString as m } from "../../common/utils/index.js";
|
|
4
4
|
import { EVENT_KEYNAMES as n } from "../../common/constants/index.js";
|
|
5
|
-
import { resolveComponent as y,
|
|
5
|
+
import { resolveComponent as y, createBlock as c, openBlock as K, mergeProps as p, toHandlers as w, withCtx as h, renderSlot as l, createElementVNode as O, normalizeClass as E } from "vue";
|
|
6
6
|
import { _ as I } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
|
7
|
-
import b from "../popover/popover.js";
|
|
8
7
|
import { LIST_ITEM_NAVIGATION_TYPES as d } from "../list-item/list-item-constants.js";
|
|
8
|
+
import b from "../popover/popover.js";
|
|
9
9
|
import { POPOVER_APPEND_TO_VALUES as x } from "../popover/popover-constants.js";
|
|
10
10
|
const P = {
|
|
11
11
|
compatConfig: { MODE: 3 },
|
|
@@ -344,7 +344,7 @@ const P = {
|
|
|
344
344
|
}, S = ["id"];
|
|
345
345
|
function A(e, t, i, H, u, o) {
|
|
346
346
|
const g = y("dt-popover");
|
|
347
|
-
return
|
|
347
|
+
return K(), c(g, p({
|
|
348
348
|
ref: "popover",
|
|
349
349
|
"content-width": i.contentWidth,
|
|
350
350
|
open: i.open,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.js","sources":["../../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n </ul>\n </template>\n <template #footerContent=\"{ close }\">\n <!-- @slot Slot for the footer content -->\n <slot\n name=\"footer\"\n :close=\"close\"\n />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","KeyboardNavigation","padding","DROPDOWN_PADDING_CLASSES","item","getUniqueString","LIST_ITEM_NAVIGATION_TYPES","t","appendTo","POPOVER_APPEND_TO_VALUES","EVENT_KEYNAMES","isPopoverOpen","event","liElement","_hoisted_1","_openBlock","_createBlock","_component_dt_popover","_mergeProps","$props","$data","$options","_ctx","_toHandlers","_withCtx","attrs","_renderSlot","close","_createElementVNode","_normalizeClass","args","_cache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown.js","sources":["../../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n </ul>\n </template>\n <template #footerContent=\"{ close }\">\n <!-- @slot Slot for the footer content -->\n <slot\n name=\"footer\"\n :close=\"close\"\n />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","KeyboardNavigation","padding","DROPDOWN_PADDING_CLASSES","item","getUniqueString","LIST_ITEM_NAVIGATION_TYPES","t","appendTo","POPOVER_APPEND_TO_VALUES","EVENT_KEYNAMES","isPopoverOpen","event","liElement","_hoisted_1","_openBlock","_createBlock","_component_dt_popover","_mergeProps","$props","$data","$options","_ctx","_toHandlers","_withCtx","attrs","_renderSlot","close","_createElementVNode","_normalizeClass","args","_cache"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-constants.cjs","sources":["../../../recipes/conversation_view/editor/editor_constants.js"],"sourcesContent":["export const EDITOR_SUPPORTED_LINK_PROTOCOLS = [\n /^https?:\\/\\//,\n /^http?:\\/\\//,\n /^ftp?:\\/\\//,\n /^ftps?:\\/\\//,\n /^ftps?:\\/\\//,\n /mailto:([^?]*)/,\n];\n\nexport const EDITOR_DEFAULT_LINK_PREFIX = 'https://';\n\nexport default {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n};\n"],"names":["EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","editor_constants"],"mappings":"4GAAY,MAACA,EAAkC,CAC7C,eACA,cACA,aACA,cACA,cACA,gBACF,EAEaC,EAA6B,
|
|
1
|
+
{"version":3,"file":"editor-constants.cjs","sources":["../../../recipes/conversation_view/editor/editor_constants.js"],"sourcesContent":["export const EDITOR_SUPPORTED_LINK_PROTOCOLS = [\n /^https?:\\/\\//,\n /^http?:\\/\\//,\n /^ftp?:\\/\\//,\n /^ftps?:\\/\\//,\n /^ftps?:\\/\\//,\n /mailto:([^?]*)/,\n];\n\nexport const EDITOR_DEFAULT_LINK_PREFIX = 'https://';\n\nexport default {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n};\n"],"names":["EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","editor_constants"],"mappings":"4GAAY,MAACA,EAAkC,CAC7C,eACA,cACA,aACA,cACA,cACA,gBACF,EAEaC,EAA6B,WAE1CC,EAAe,CACb,gCAAAF,EACA,2BAAAC,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-constants.js","sources":["../../../recipes/conversation_view/editor/editor_constants.js"],"sourcesContent":["export const EDITOR_SUPPORTED_LINK_PROTOCOLS = [\n /^https?:\\/\\//,\n /^http?:\\/\\//,\n /^ftp?:\\/\\//,\n /^ftps?:\\/\\//,\n /^ftps?:\\/\\//,\n /mailto:([^?]*)/,\n];\n\nexport const EDITOR_DEFAULT_LINK_PREFIX = 'https://';\n\nexport default {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n};\n"],"names":["EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","editor_constants"],"mappings":"AAAY,MAACA,IAAkC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,IAA6B,
|
|
1
|
+
{"version":3,"file":"editor-constants.js","sources":["../../../recipes/conversation_view/editor/editor_constants.js"],"sourcesContent":["export const EDITOR_SUPPORTED_LINK_PROTOCOLS = [\n /^https?:\\/\\//,\n /^http?:\\/\\//,\n /^ftp?:\\/\\//,\n /^ftps?:\\/\\//,\n /^ftps?:\\/\\//,\n /mailto:([^?]*)/,\n];\n\nexport const EDITOR_DEFAULT_LINK_PREFIX = 'https://';\n\nexport default {\n EDITOR_SUPPORTED_LINK_PROTOCOLS,\n EDITOR_DEFAULT_LINK_PREFIX,\n};\n"],"names":["EDITOR_SUPPORTED_LINK_PROTOCOLS","EDITOR_DEFAULT_LINK_PREFIX","editor_constants"],"mappings":"AAAY,MAACA,IAAkC;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,IAA6B,YAE1CC,IAAe;AAAA,EACb,iCAAAF;AAAA,EACA,4BAAAC;AACF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("./editor-constants.cjs"),f=require("../../common/utils/index.cjs"),n=require("@dialpad/dialtone-icons/vue3"),L=require("../../localization/index.cjs"),e=require("vue"),m=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),A=require("../rich-text-editor/rich-text-editor.cjs"),E=require("../button/button.cjs"),w=require("../popover/popover.cjs"),D=require("../stack/stack.cjs"),x=require("../input/input.cjs"),C=require("../tooltip/tooltip.cjs"),k=require("../rich-text-editor/rich-text-editor-constants.cjs"),O={compatConfig:{MODE:3},name:"DtRecipeEditor",components:{DtRichTextEditor:A.default,DtButton:E.default,DtPopover:w.default,DtStack:D.default,DtInput:x.default,DtTooltip:C.default,DtIconQuickReply:n.DtIconQuickReply,DtIconBold:n.DtIconBold,DtIconItalic:n.DtIconItalic,DtIconUnderline:n.DtIconUnderline,DtIconStrikethrough:n.DtIconStrikethrough,DtIconListBullet:n.DtIconListBullet,DtIconListOrdered:n.DtIconListOrdered,DtIconAlignLeft:n.DtIconAlignLeft,DtIconAlignCenter:n.DtIconAlignCenter,DtIconAlignRight:n.DtIconAlignRight,DtIconAlignJustify:n.DtIconAlignJustify,DtIconQuote:n.DtIconQuote,DtIconCodeBlock:n.DtIconCodeBlock,DtIconLink2:n.DtIconLink2,DtIconImage:n.DtIconImage},mixins:[],inheritAttrs:!1,props:{modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(t){return typeof t=="string"?k.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(t):!0}},placeholder:{type:String,default:""},maxHeight:{type:String,default:"unset"},setLinkPlaceholder:{type:String,default:""},showBoldButton:{type:Boolean,default:!0},showItalicsButton:{type:Boolean,default:!0},showUnderlineButton:{type:Boolean,default:!0},showStrikeButton:{type:Boolean,default:!0},showListItemsButton:{type:Boolean,default:!0},showOrderedListButton:{type:Boolean,default:!0},showAlignLeftButton:{type:Boolean,default:!0},showAlignCenterButton:{type:Boolean,default:!0},showAlignRightButton:{type:Boolean,default:!0},showAlignJustifyButton:{type:Boolean,default:!0},showQuoteButton:{type:Boolean,default:!0},showCodeBlockButton:{type:Boolean,default:!0},showQuickRepliesButton:{type:Boolean,default:!0},showInlineImageButton:{type:Boolean,default:!1},showAddLink:{type:Object,default:()=>({showAddLinkButton:!0})},useDivTags:{type:Boolean,default:!1}},emits:["focus","blur","input","update:modelValue","quick-replies-click","inline-image-click","text-input"],data(){return{internalInputValue:this.modelValue,hasFocus:!1,linkOptions:{class:"d-recipe-editor__link"},showLinkInput:!1,linkInput:"",currentButtonRefIndex:0,i18n:new L.DialtoneLocalization}},computed:{inputLength(){return this.internalInputValue.length},htmlOutputFormat(){return k.RICH_TEXT_EDITOR_OUTPUT_FORMATS[2]},showingTextFormatButtons(){return this.showBoldButton||this.showItalicsButton||this.showStrikeButton||this.showUnderlineButton},showingAlignmentButtons(){return this.showAlignLeftButton||this.showAlignCenterButton||this.showAlignRightButton||this.showAlignJustifyButton},showingListButtons(){return this.showListItemsButton||this.showOrderedListButton},orderedRefs(){const t=this.buttonGroups.reduce((function(i,r){return r.buttonGroup.forEach(s=>{i.push(this.getButtonRef(r.key,s.selector))},this),i}).bind(this),[]);return t.push(this.getButtonRef("custom","link")),t},buttonGroups(){const t=this.individualButtons.map(i=>({key:i.selector,buttonGroup:[i]}));return[{key:"new",buttonGroup:this.newButtons},{key:"format",buttonGroup:this.textFormatButtons},{key:"alignment",buttonGroup:this.alignmentButtons},{key:"list",buttonGroup:this.listButtons},...t].filter(i=>i.buttonGroup.length>0)},newButtons(){return[{showBtn:this.showQuickRepliesButton,label:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),selector:"quickReplies",icon:n.DtIconQuickReply,dataQA:"dt-recipe-editor-quick-replies-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),onClick:this.onQuickRepliesClick}].filter(t=>t.showBtn)},textFormatButtons(){return[{showBtn:this.showBoldButton,selector:"bold",icon:n.DtIconBold,dataQA:"dt-recipe-editor-bold-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BOLD_BUTTON_LABEL"),onClick:this.onBoldTextToggle},{showBtn:this.showItalicsButton,selector:"italic",icon:n.DtIconItalic,dataQA:"dt-recipe-editor-italics-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ITALICS_BUTTON_LABEL"),onClick:this.onItalicTextToggle},{showBtn:this.showUnderlineButton,selector:"underline",icon:n.DtIconUnderline,dataQA:"dt-recipe-editor-underline-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL"),onClick:this.onUnderlineTextToggle},{showBtn:this.showStrikeButton,selector:"strike",icon:n.DtIconStrikethrough,dataQA:"dt-recipe-editor-strike-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_STRIKE_BUTTON_LABEL"),onClick:this.onStrikethroughTextToggle}].filter(t=>t.showBtn)},alignmentButtons(){return[{showBtn:this.showAlignLeftButton,selector:{textAlign:"left"},icon:n.DtIconAlignLeft,dataQA:"dt-recipe-editor-align-left-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("left")},{showBtn:this.showAlignCenterButton,selector:{textAlign:"center"},icon:n.DtIconAlignCenter,dataQA:"dt-recipe-editor-align-center-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL"),onClick:()=>this.onTextAlign("center")},{showBtn:this.showAlignRightButton,selector:{textAlign:"right"},icon:n.DtIconAlignRight,dataQA:"dt-recipe-editor-align-right-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("right")},{showBtn:this.showAlignJustifyButton,selector:{textAlign:"justify"},icon:n.DtIconAlignJustify,dataQA:"dt-recipe-editor-align-justify-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL"),onClick:()=>this.onTextAlign("justify")}].filter(t=>t.showBtn)},listButtons(){return[{showBtn:this.showListItemsButton,selector:"bulletList",icon:n.DtIconListBullet,dataQA:"dt-recipe-editor-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL"),onClick:this.onBulletListToggle},{showBtn:this.showOrderedListButton,selector:"orderedList",icon:n.DtIconListOrdered,dataQA:"dt-recipe-editor-ordered-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL"),onClick:this.onOrderedListToggle}].filter(t=>t.showBtn)},individualButtons(){return[{showBtn:this.showQuoteButton,selector:"blockquote",icon:n.DtIconQuote,dataQA:"dt-recipe-editor-blockquote-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUOTE_BUTTON_LABEL"),onClick:this.onBlockquoteToggle},{showBtn:this.showCodeBlockButton,selector:"codeBlock",icon:n.DtIconCodeBlock,dataQA:"dt-recipe-editor-code-block-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_CODE_BUTTON_LABEL"),onClick:this.onCodeBlockToggle},{showBtn:this.showInlineImageButton,selector:"image",icon:n.DtIconImage,dataQA:"dt-recipe-editor-inline-image-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_IMAGE_BUTTON_LABEL"),onClick:this.onInsertInlineImageClick}].filter(t=>t.showBtn)},linkButton(){return{showBtn:this.showAddLink.showAddLinkButton,selector:"link",icon:n.DtIconLink2,dataQA:"dt-recipe-editor-add-link-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_LINK_BUTTON_LABEL"),onClick:this.openLinkInput}},confirmSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON")},cancelSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON")},removeLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_REMOVE_LINK_BUTTON")},showAddLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_ADD_LINK_BUTTON")}},watch:{modelValue(t){this.internalInputValue=t}},methods:{removeClassStyleAttrs:f.removeClassStyleAttrs,addClassStyleAttrs:f.addClassStyleAttrs,onInputFocus(t){t==null||t.stopPropagation()},removeLink(){var t,i,r,s,l;(l=(s=(r=(i=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null?void 0:i.chain())==null?void 0:r.focus())==null?void 0:s.unsetLink())==null||l.run(),this.closeLinkInput()},setLink(t){var l,o,a;const i=(l=this.$refs.richTextEditor)==null?void 0:l.editor;if(t==null||t.preventDefault(),t==null||t.stopPropagation(),!this.linkInput){this.removeLink();return}g.EDITOR_SUPPORTED_LINK_PROTOCOLS.find(d=>d.test(this.linkInput))||(this.linkInput=`${g.EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`);const s=(a=(o=i==null?void 0:i.view)==null?void 0:o.state)==null?void 0:a.selection;s.anchor===s.head?i.chain().focus().insertContentAt(s.anchor,`<a class="${this.linkOptions.class}" href=${this.linkInput}>${this.linkInput}</a>`).run():i.chain().focus().extendMarkRange("link").setLink({href:this.linkInput,class:this.linkOptions.class}).run(),this.closeLinkInput()},openLinkInput(){this.showLinkInput=!0},updateInput(t){var i,r,s;if(!t)return this.closeLinkInput();this.linkInput=(s=(r=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:r.getAttributes("link"))==null?void 0:s.href},closeLinkInput(){var t;this.showLinkInput=!1,this.linkInput="",(t=this.$refs.richTextEditor.editor)==null||t.chain().focus()},onBoldTextToggle(){var t,i;(i=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null||i.chain().focus().toggleBold().run()},onItalicTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleItalic().run()},onUnderlineTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleUnderline().run()},onStrikethroughTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleStrike().run()},onTextAlign(t){var i,r,s,l;if((r=(i=this.$refs.richTextEditor)==null?void 0:i.editor)!=null&&r.isActive({textAlign:t}))return(s=this.$refs.richTextEditor)==null?void 0:s.editor.chain().focus().unsetTextAlign().run();(l=this.$refs.richTextEditor)==null||l.editor.chain().focus().setTextAlign(t).run()},onBulletListToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleBulletList().run()},onOrderedListToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleOrderedList().run()},onCodeBlockToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleCodeBlock().run()},onQuickRepliesClick(){this.$emit("quick-replies-click")},onInsertInlineImageClick(){this.$emit("inline-image-click")},insertInlineImage(t){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().setImage({src:t}).run()},insertInMessageBody(t){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().insertContent(t).run()},setCursorPosition(t=null){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus(t).run()},onBlockquoteToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleBlockquote().run()},onTextInput(t){this.$emit("text-input",t)},onFocus(t){this.hasFocus=!0,this.$emit("focus",t)},onBlur(t){this.hasFocus=!1,this.$emit("blur",t)},onInput(t){this.$emit("input",t),this.$emit("update:modelValue",t)},getButtonKey(t,i){return`${t}-${JSON.stringify(i)}`},getButtonRef(t,i){return`${this.getButtonKey(t,i)}-ref`},canFocus(t){return t===this.orderedRefs[this.currentButtonRefIndex]},shiftActionBarFocusRight(){this.shiftButtonRefIndex(1)},shiftActionBarFocusLeft(){this.shiftButtonRefIndex(-1)},shiftButtonRefIndex(t){const i=this.$refs[this.orderedRefs[this.currentButtonRefIndex]],r=Array.isArray(i)?i[0]:i,s=(this.currentButtonRefIndex+t)%this.orderedRefs.length;this.currentButtonRefIndex=s>=0?s:this.orderedRefs.length+s;const l=this.$refs[this.orderedRefs[this.currentButtonRefIndex]],o=Array.isArray(l)?l[0]:l;r.$el.blur(),o.$el.focus()}}},y=e.createElementVNode("div",{class:"d-recipe-editor__button-group-divider"},null,-1),R={class:"d-recipe-editor__popover-content"};function b(t,i,r,s,l,o){const a=e.resolveComponent("dt-button"),d=e.resolveComponent("dt-tooltip"),h=e.resolveComponent("dt-stack"),I=e.resolveComponent("dt-input"),T=e.resolveComponent("dt-popover"),_=e.resolveComponent("dt-rich-text-editor");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"d-recipe-editor"},o.addClassStyleAttrs(t.$attrs),{"data-qa":"dt-recipe-editor",role:"presentation",onClick:i[4]||(i[4]=u=>t.$refs.richTextEditor.focusEditor())}),[e.createVNode(h,{class:"d-recipe-editor__top-bar",direction:"row",gap:"450"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.buttonGroups,u=>(e.openBlock(),e.createBlock(h,{key:u.key,direction:"row",gap:"300"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.buttonGroup,c=>(e.openBlock(),e.createBlock(d,{key:o.getButtonKey(u.key,c.selector),message:c.tooltipMessage,placement:"top"},{anchor:e.withCtx(()=>{var p,B;return[e.createVNode(a,{ref_for:!0,ref:o.getButtonRef(u.key,c.selector),active:(B=(p=t.$refs.richTextEditor)==null?void 0:p.editor)==null?void 0:B.isActive(c.selector),"aria-label":c.tooltipMessage,"data-qa":c.dataQA,tabindex:o.canFocus(o.getButtonRef(u.key,c.selector))?0:-1,importance:"clear",kind:"muted",size:"xs",onClick:S=>c.onClick(),onKeydown:[e.withKeys(e.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),e.withKeys(e.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])]},{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.icon),{size:"200"}))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(c==null?void 0:c.label),1)]),_:2},1032,["active","aria-label","data-qa","tabindex","onClick","onKeydown"])]}),_:2},1032,["message"]))),128)),y]),_:2},1024))),128)),o.linkButton.showBtn?(e.openBlock(),e.createBlock(h,{key:0,direction:"row",gap:"300"},{default:e.withCtx(()=>[e.createVNode(T,{open:l.showLinkInput,"show-close-button":!1,"data-qa":"dt-recipe-editor-link-input-popover",padding:"none",placement:"bottom-start",onClick:[o.onInputFocus,e.withModifiers(o.onInputFocus,["stop"])],onOpened:o.updateInput},{anchor:e.withCtx(()=>[(e.openBlock(),e.createBlock(d,{key:o.linkButton.key,message:o.linkButton.tooltipMessage,placement:"top"},{anchor:e.withCtx(()=>{var u,c;return[e.createVNode(a,{ref:o.getButtonRef("custom","link"),active:(c=(u=t.$refs.richTextEditor)==null?void 0:u.editor)==null?void 0:c.isActive(o.linkButton.selector),"aria-label":o.linkButton.tooltipMessage,"data-qa":o.linkButton.dataQA,tabindex:o.canFocus(o.getButtonRef("custom","link"))?0:-1,importance:"clear",kind:"muted",size:"xs",onClick:i[0]||(i[0]=p=>o.linkButton.onClick()),onKeydown:[e.withKeys(e.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),e.withKeys(e.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])]},{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.linkButton.icon),{size:"200"}))]),_:1},8,["active","aria-label","data-qa","tabindex","onKeydown"])]}),_:1},8,["message"]))]),content:e.withCtx(()=>[e.createElementVNode("div",R,[e.createElementVNode("span",null,e.toDisplayString(o.showAddLinkButtonLabels.title),1),e.createVNode(I,{modelValue:l.linkInput,"onUpdate:modelValue":i[1]||(i[1]=u=>l.linkInput=u),"input-aria-label":o.showAddLinkButtonLabels["aria-label"],placeholder:r.setLinkPlaceholder,"data-qa":"dt-recipe-editor-link-input","input-wrapper-class":"d-recipe-editor-link__input-wrapper",onClick:[o.onInputFocus,e.withModifiers(o.onInputFocus,["stop"])],onFocus:o.onInputFocus,onKeydown:e.withKeys(o.setLink,["enter"])},null,8,["modelValue","input-aria-label","placeholder","onClick","onFocus","onKeydown"])])]),footerContent:e.withCtx(()=>[e.createVNode(h,{direction:"row",gap:"300",class:"d-recipe-editor__popover-footer"},{default:e.withCtx(()=>[e.createVNode(a,e.mergeProps({"data-qa":"dt-recipe-editor-remove-link-btn",importance:"clear",kind:"muted",size:"sm"},o.removeLinkButtonLabels,{onClick:o.removeLink}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.removeLinkButtonLabels.title),1)]),_:1},16,["onClick"]),e.createVNode(a,e.mergeProps({"data-qa":"dt-recipe-editor-set-link-cancel-btn",importance:"clear",kind:"muted",size:"sm"},o.cancelSetLinkButtonLabels,{onClick:o.closeLinkInput}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.cancelSetLinkButtonLabels.title),1)]),_:1},16,["onClick"]),e.createVNode(a,e.mergeProps({"data-qa":"dt-recipe-editor-set-link-confirm-btn",size:"sm"},o.confirmSetLinkButtonLabels,{onClick:o.setLink}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.confirmSetLinkButtonLabels.title),1)]),_:1},16,["onClick"])]),_:1})]),_:1},8,["open","onClick","onOpened"])]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",{style:e.normalizeStyle({"max-height":r.maxHeight}),class:"d-recipe-editor__content"},[e.createVNode(_,e.mergeProps({ref:"richTextEditor",modelValue:l.internalInputValue,"onUpdate:modelValue":i[2]||(i[2]=u=>l.internalInputValue=u),"allow-font-color":!0,"allow-font-family":!0,"allow-inline-images":!0,"allow-line-breaks":!0,"hide-link-bubble-menu":!0,"auto-focus":r.autoFocus,editable:r.editable,"input-aria-label":r.inputAriaLabel,"input-class":`d-recipe-editor__content-input ${r.inputClass}`,link:!0,"output-format":o.htmlOutputFormat,placeholder:r.placeholder,"use-div-tags":r.useDivTags,"data-qa":"dt-rich-text-editor"},o.removeClassStyleAttrs(t.$attrs),{onTextInput:o.onTextInput,onBlur:o.onBlur,onFocus:o.onFocus,onInput:i[3]||(i[3]=u=>o.onInput(u))}),null,16,["modelValue","auto-focus","editable","input-aria-label","input-class","output-format","placeholder","use-div-tags","onTextInput","onBlur","onFocus"])],4)],16)}const N=m._(O,[["render",b]]);exports.default=N;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("./editor-constants.cjs"),f=require("../../common/utils/index.cjs"),n=require("@dialpad/dialtone-icons/vue3"),L=require("../../localization/index.cjs"),e=require("vue"),m=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),A=require("../tooltip/tooltip.cjs"),E=require("../input/input.cjs"),w=require("../stack/stack.cjs"),D=require("../popover/popover.cjs"),x=require("../button/button.cjs"),C=require("../rich-text-editor/rich-text-editor.cjs"),k=require("../rich-text-editor/rich-text-editor-constants.cjs"),O={compatConfig:{MODE:3},name:"DtRecipeEditor",components:{DtRichTextEditor:C.default,DtButton:x.default,DtPopover:D.default,DtStack:w.default,DtInput:E.default,DtTooltip:A.default,DtIconQuickReply:n.DtIconQuickReply,DtIconBold:n.DtIconBold,DtIconItalic:n.DtIconItalic,DtIconUnderline:n.DtIconUnderline,DtIconStrikethrough:n.DtIconStrikethrough,DtIconListBullet:n.DtIconListBullet,DtIconListOrdered:n.DtIconListOrdered,DtIconAlignLeft:n.DtIconAlignLeft,DtIconAlignCenter:n.DtIconAlignCenter,DtIconAlignRight:n.DtIconAlignRight,DtIconAlignJustify:n.DtIconAlignJustify,DtIconQuote:n.DtIconQuote,DtIconCodeBlock:n.DtIconCodeBlock,DtIconLink2:n.DtIconLink2,DtIconImage:n.DtIconImage},mixins:[],inheritAttrs:!1,props:{modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(t){return typeof t=="string"?k.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(t):!0}},placeholder:{type:String,default:""},maxHeight:{type:String,default:"unset"},setLinkPlaceholder:{type:String,default:""},showBoldButton:{type:Boolean,default:!0},showItalicsButton:{type:Boolean,default:!0},showUnderlineButton:{type:Boolean,default:!0},showStrikeButton:{type:Boolean,default:!0},showListItemsButton:{type:Boolean,default:!0},showOrderedListButton:{type:Boolean,default:!0},showAlignLeftButton:{type:Boolean,default:!0},showAlignCenterButton:{type:Boolean,default:!0},showAlignRightButton:{type:Boolean,default:!0},showAlignJustifyButton:{type:Boolean,default:!0},showQuoteButton:{type:Boolean,default:!0},showCodeBlockButton:{type:Boolean,default:!0},showQuickRepliesButton:{type:Boolean,default:!0},showInlineImageButton:{type:Boolean,default:!1},showAddLink:{type:Object,default:()=>({showAddLinkButton:!0})},useDivTags:{type:Boolean,default:!1}},emits:["focus","blur","input","update:modelValue","quick-replies-click","inline-image-click","text-input"],data(){return{internalInputValue:this.modelValue,hasFocus:!1,linkOptions:{class:"d-recipe-editor__link"},showLinkInput:!1,linkInput:"",currentButtonRefIndex:0,i18n:new L.DialtoneLocalization}},computed:{inputLength(){return this.internalInputValue.length},htmlOutputFormat(){return k.RICH_TEXT_EDITOR_OUTPUT_FORMATS[2]},showingTextFormatButtons(){return this.showBoldButton||this.showItalicsButton||this.showStrikeButton||this.showUnderlineButton},showingAlignmentButtons(){return this.showAlignLeftButton||this.showAlignCenterButton||this.showAlignRightButton||this.showAlignJustifyButton},showingListButtons(){return this.showListItemsButton||this.showOrderedListButton},orderedRefs(){const t=this.buttonGroups.reduce((function(i,r){return r.buttonGroup.forEach(s=>{i.push(this.getButtonRef(r.key,s.selector))},this),i}).bind(this),[]);return t.push(this.getButtonRef("custom","link")),t},buttonGroups(){const t=this.individualButtons.map(i=>({key:i.selector,buttonGroup:[i]}));return[{key:"new",buttonGroup:this.newButtons},{key:"format",buttonGroup:this.textFormatButtons},{key:"alignment",buttonGroup:this.alignmentButtons},{key:"list",buttonGroup:this.listButtons},...t].filter(i=>i.buttonGroup.length>0)},newButtons(){return[{showBtn:this.showQuickRepliesButton,label:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),selector:"quickReplies",icon:n.DtIconQuickReply,dataQA:"dt-recipe-editor-quick-replies-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUICK_REPLY_BUTTON_LABEL"),onClick:this.onQuickRepliesClick}].filter(t=>t.showBtn)},textFormatButtons(){return[{showBtn:this.showBoldButton,selector:"bold",icon:n.DtIconBold,dataQA:"dt-recipe-editor-bold-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BOLD_BUTTON_LABEL"),onClick:this.onBoldTextToggle},{showBtn:this.showItalicsButton,selector:"italic",icon:n.DtIconItalic,dataQA:"dt-recipe-editor-italics-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ITALICS_BUTTON_LABEL"),onClick:this.onItalicTextToggle},{showBtn:this.showUnderlineButton,selector:"underline",icon:n.DtIconUnderline,dataQA:"dt-recipe-editor-underline-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_UNDERLINE_BUTTON_LABEL"),onClick:this.onUnderlineTextToggle},{showBtn:this.showStrikeButton,selector:"strike",icon:n.DtIconStrikethrough,dataQA:"dt-recipe-editor-strike-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_STRIKE_BUTTON_LABEL"),onClick:this.onStrikethroughTextToggle}].filter(t=>t.showBtn)},alignmentButtons(){return[{showBtn:this.showAlignLeftButton,selector:{textAlign:"left"},icon:n.DtIconAlignLeft,dataQA:"dt-recipe-editor-align-left-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_LEFT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("left")},{showBtn:this.showAlignCenterButton,selector:{textAlign:"center"},icon:n.DtIconAlignCenter,dataQA:"dt-recipe-editor-align-center-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_CENTER_BUTTON_LABEL"),onClick:()=>this.onTextAlign("center")},{showBtn:this.showAlignRightButton,selector:{textAlign:"right"},icon:n.DtIconAlignRight,dataQA:"dt-recipe-editor-align-right-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_RIGHT_BUTTON_LABEL"),onClick:()=>this.onTextAlign("right")},{showBtn:this.showAlignJustifyButton,selector:{textAlign:"justify"},icon:n.DtIconAlignJustify,dataQA:"dt-recipe-editor-align-justify-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ALIGN_JUSTIFY_BUTTON_LABEL"),onClick:()=>this.onTextAlign("justify")}].filter(t=>t.showBtn)},listButtons(){return[{showBtn:this.showListItemsButton,selector:"bulletList",icon:n.DtIconListBullet,dataQA:"dt-recipe-editor-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_BULLET_LIST_BUTTON_LABEL"),onClick:this.onBulletListToggle},{showBtn:this.showOrderedListButton,selector:"orderedList",icon:n.DtIconListOrdered,dataQA:"dt-recipe-editor-ordered-list-items-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_ORDERED_LIST_BUTTON_LABEL"),onClick:this.onOrderedListToggle}].filter(t=>t.showBtn)},individualButtons(){return[{showBtn:this.showQuoteButton,selector:"blockquote",icon:n.DtIconQuote,dataQA:"dt-recipe-editor-blockquote-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_QUOTE_BUTTON_LABEL"),onClick:this.onBlockquoteToggle},{showBtn:this.showCodeBlockButton,selector:"codeBlock",icon:n.DtIconCodeBlock,dataQA:"dt-recipe-editor-code-block-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_CODE_BUTTON_LABEL"),onClick:this.onCodeBlockToggle},{showBtn:this.showInlineImageButton,selector:"image",icon:n.DtIconImage,dataQA:"dt-recipe-editor-inline-image-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_IMAGE_BUTTON_LABEL"),onClick:this.onInsertInlineImageClick}].filter(t=>t.showBtn)},linkButton(){return{showBtn:this.showAddLink.showAddLinkButton,selector:"link",icon:n.DtIconLink2,dataQA:"dt-recipe-editor-add-link-btn",tooltipMessage:this.i18n.$t("DIALTONE_EDITOR_LINK_BUTTON_LABEL"),onClick:this.openLinkInput}},confirmSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CONFIRM_SET_LINK_BUTTON")},cancelSetLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_CANCEL_SET_LINK_BUTTON")},removeLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_REMOVE_LINK_BUTTON")},showAddLinkButtonLabels(){return this.i18n.$ta("DIALTONE_EDITOR_ADD_LINK_BUTTON")}},watch:{modelValue(t){this.internalInputValue=t}},methods:{removeClassStyleAttrs:f.removeClassStyleAttrs,addClassStyleAttrs:f.addClassStyleAttrs,onInputFocus(t){t==null||t.stopPropagation()},removeLink(){var t,i,r,s,l;(l=(s=(r=(i=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null?void 0:i.chain())==null?void 0:r.focus())==null?void 0:s.unsetLink())==null||l.run(),this.closeLinkInput()},setLink(t){var l,o,a;const i=(l=this.$refs.richTextEditor)==null?void 0:l.editor;if(t==null||t.preventDefault(),t==null||t.stopPropagation(),!this.linkInput){this.removeLink();return}g.EDITOR_SUPPORTED_LINK_PROTOCOLS.find(d=>d.test(this.linkInput))||(this.linkInput=`${g.EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`);const s=(a=(o=i==null?void 0:i.view)==null?void 0:o.state)==null?void 0:a.selection;s.anchor===s.head?i.chain().focus().insertContentAt(s.anchor,`<a class="${this.linkOptions.class}" href=${this.linkInput}>${this.linkInput}</a>`).run():i.chain().focus().extendMarkRange("link").setLink({href:this.linkInput,class:this.linkOptions.class}).run(),this.closeLinkInput()},openLinkInput(){this.showLinkInput=!0},updateInput(t){var i,r,s;if(!t)return this.closeLinkInput();this.linkInput=(s=(r=(i=this.$refs.richTextEditor)==null?void 0:i.editor)==null?void 0:r.getAttributes("link"))==null?void 0:s.href},closeLinkInput(){var t;this.showLinkInput=!1,this.linkInput="",(t=this.$refs.richTextEditor.editor)==null||t.chain().focus()},onBoldTextToggle(){var t,i;(i=(t=this.$refs.richTextEditor)==null?void 0:t.editor)==null||i.chain().focus().toggleBold().run()},onItalicTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleItalic().run()},onUnderlineTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleUnderline().run()},onStrikethroughTextToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleStrike().run()},onTextAlign(t){var i,r,s,l;if((r=(i=this.$refs.richTextEditor)==null?void 0:i.editor)!=null&&r.isActive({textAlign:t}))return(s=this.$refs.richTextEditor)==null?void 0:s.editor.chain().focus().unsetTextAlign().run();(l=this.$refs.richTextEditor)==null||l.editor.chain().focus().setTextAlign(t).run()},onBulletListToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleBulletList().run()},onOrderedListToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleOrderedList().run()},onCodeBlockToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleCodeBlock().run()},onQuickRepliesClick(){this.$emit("quick-replies-click")},onInsertInlineImageClick(){this.$emit("inline-image-click")},insertInlineImage(t){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().setImage({src:t}).run()},insertInMessageBody(t){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus().insertContent(t).run()},setCursorPosition(t=null){var i;(i=this.$refs.richTextEditor)==null||i.editor.chain().focus(t).run()},onBlockquoteToggle(){var t;(t=this.$refs.richTextEditor)==null||t.editor.chain().focus().toggleBlockquote().run()},onTextInput(t){this.$emit("text-input",t)},onFocus(t){this.hasFocus=!0,this.$emit("focus",t)},onBlur(t){this.hasFocus=!1,this.$emit("blur",t)},onInput(t){this.$emit("input",t),this.$emit("update:modelValue",t)},getButtonKey(t,i){return`${t}-${JSON.stringify(i)}`},getButtonRef(t,i){return`${this.getButtonKey(t,i)}-ref`},canFocus(t){return t===this.orderedRefs[this.currentButtonRefIndex]},shiftActionBarFocusRight(){this.shiftButtonRefIndex(1)},shiftActionBarFocusLeft(){this.shiftButtonRefIndex(-1)},shiftButtonRefIndex(t){const i=this.$refs[this.orderedRefs[this.currentButtonRefIndex]],r=Array.isArray(i)?i[0]:i,s=(this.currentButtonRefIndex+t)%this.orderedRefs.length;this.currentButtonRefIndex=s>=0?s:this.orderedRefs.length+s;const l=this.$refs[this.orderedRefs[this.currentButtonRefIndex]],o=Array.isArray(l)?l[0]:l;r.$el.blur(),o.$el.focus()}}},y=e.createElementVNode("div",{class:"d-recipe-editor__button-group-divider"},null,-1),R={class:"d-recipe-editor__popover-content"};function b(t,i,r,s,l,o){const a=e.resolveComponent("dt-button"),d=e.resolveComponent("dt-tooltip"),h=e.resolveComponent("dt-stack"),I=e.resolveComponent("dt-input"),T=e.resolveComponent("dt-popover"),_=e.resolveComponent("dt-rich-text-editor");return e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"d-recipe-editor"},o.addClassStyleAttrs(t.$attrs),{"data-qa":"dt-recipe-editor",role:"presentation",onClick:i[4]||(i[4]=u=>t.$refs.richTextEditor.focusEditor())}),[e.createVNode(h,{class:"d-recipe-editor__top-bar",direction:"row",gap:"450"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.buttonGroups,u=>(e.openBlock(),e.createBlock(h,{key:u.key,direction:"row",gap:"300"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.buttonGroup,c=>(e.openBlock(),e.createBlock(d,{key:o.getButtonKey(u.key,c.selector),message:c.tooltipMessage,placement:"top"},{anchor:e.withCtx(()=>{var p,B;return[e.createVNode(a,{ref_for:!0,ref:o.getButtonRef(u.key,c.selector),active:(B=(p=t.$refs.richTextEditor)==null?void 0:p.editor)==null?void 0:B.isActive(c.selector),"aria-label":c.tooltipMessage,"data-qa":c.dataQA,tabindex:o.canFocus(o.getButtonRef(u.key,c.selector))?0:-1,importance:"clear",kind:"muted",size:"xs",onClick:S=>c.onClick(),onKeydown:[e.withKeys(e.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),e.withKeys(e.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])]},{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.icon),{size:"200"}))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(c==null?void 0:c.label),1)]),_:2},1032,["active","aria-label","data-qa","tabindex","onClick","onKeydown"])]}),_:2},1032,["message"]))),128)),y]),_:2},1024))),128)),o.linkButton.showBtn?(e.openBlock(),e.createBlock(h,{key:0,direction:"row",gap:"300"},{default:e.withCtx(()=>[e.createVNode(T,{open:l.showLinkInput,"show-close-button":!1,"data-qa":"dt-recipe-editor-link-input-popover",padding:"none",placement:"bottom-start",onClick:[o.onInputFocus,e.withModifiers(o.onInputFocus,["stop"])],onOpened:o.updateInput},{anchor:e.withCtx(()=>[(e.openBlock(),e.createBlock(d,{key:o.linkButton.key,message:o.linkButton.tooltipMessage,placement:"top"},{anchor:e.withCtx(()=>{var u,c;return[e.createVNode(a,{ref:o.getButtonRef("custom","link"),active:(c=(u=t.$refs.richTextEditor)==null?void 0:u.editor)==null?void 0:c.isActive(o.linkButton.selector),"aria-label":o.linkButton.tooltipMessage,"data-qa":o.linkButton.dataQA,tabindex:o.canFocus(o.getButtonRef("custom","link"))?0:-1,importance:"clear",kind:"muted",size:"xs",onClick:i[0]||(i[0]=p=>o.linkButton.onClick()),onKeydown:[e.withKeys(e.withModifiers(o.shiftActionBarFocusRight,["stop"]),["right"]),e.withKeys(e.withModifiers(o.shiftActionBarFocusLeft,["stop"]),["left"])]},{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.linkButton.icon),{size:"200"}))]),_:1},8,["active","aria-label","data-qa","tabindex","onKeydown"])]}),_:1},8,["message"]))]),content:e.withCtx(()=>[e.createElementVNode("div",R,[e.createElementVNode("span",null,e.toDisplayString(o.showAddLinkButtonLabels.title),1),e.createVNode(I,{modelValue:l.linkInput,"onUpdate:modelValue":i[1]||(i[1]=u=>l.linkInput=u),"input-aria-label":o.showAddLinkButtonLabels["aria-label"],placeholder:r.setLinkPlaceholder,"data-qa":"dt-recipe-editor-link-input","input-wrapper-class":"d-recipe-editor-link__input-wrapper",onClick:[o.onInputFocus,e.withModifiers(o.onInputFocus,["stop"])],onFocus:o.onInputFocus,onKeydown:e.withKeys(o.setLink,["enter"])},null,8,["modelValue","input-aria-label","placeholder","onClick","onFocus","onKeydown"])])]),footerContent:e.withCtx(()=>[e.createVNode(h,{direction:"row",gap:"300",class:"d-recipe-editor__popover-footer"},{default:e.withCtx(()=>[e.createVNode(a,e.mergeProps({"data-qa":"dt-recipe-editor-remove-link-btn",importance:"clear",kind:"muted",size:"sm"},o.removeLinkButtonLabels,{onClick:o.removeLink}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.removeLinkButtonLabels.title),1)]),_:1},16,["onClick"]),e.createVNode(a,e.mergeProps({"data-qa":"dt-recipe-editor-set-link-cancel-btn",importance:"clear",kind:"muted",size:"sm"},o.cancelSetLinkButtonLabels,{onClick:o.closeLinkInput}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.cancelSetLinkButtonLabels.title),1)]),_:1},16,["onClick"]),e.createVNode(a,e.mergeProps({"data-qa":"dt-recipe-editor-set-link-confirm-btn",size:"sm"},o.confirmSetLinkButtonLabels,{onClick:o.setLink}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.confirmSetLinkButtonLabels.title),1)]),_:1},16,["onClick"])]),_:1})]),_:1},8,["open","onClick","onOpened"])]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",{style:e.normalizeStyle({"max-height":r.maxHeight}),class:"d-recipe-editor__content"},[e.createVNode(_,e.mergeProps({ref:"richTextEditor",modelValue:l.internalInputValue,"onUpdate:modelValue":i[2]||(i[2]=u=>l.internalInputValue=u),"allow-font-color":!0,"allow-font-family":!0,"allow-inline-images":!0,"allow-line-breaks":!0,"hide-link-bubble-menu":!0,"auto-focus":r.autoFocus,editable:r.editable,"input-aria-label":r.inputAriaLabel,"input-class":`d-recipe-editor__content-input ${r.inputClass}`,link:!0,"output-format":o.htmlOutputFormat,placeholder:r.placeholder,"use-div-tags":r.useDivTags,"data-qa":"dt-rich-text-editor"},o.removeClassStyleAttrs(t.$attrs),{onTextInput:o.onTextInput,onBlur:o.onBlur,onFocus:o.onFocus,onInput:i[3]||(i[3]=u=>o.onInput(u))}),null,16,["modelValue","auto-focus","editable","input-aria-label","input-class","output-format","placeholder","use-div-tags","onTextInput","onBlur","onFocus"])],4)],16)}const N=m._(O,[["render",b]]);exports.default=N;
|
|
2
2
|
//# sourceMappingURL=editor.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.cjs","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","_createElementVNode","_hoisted_2","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_withCtx","_openBlock","_Fragment","_renderList","buttonGroup","_createBlock","_component_dt_tooltip","_component_dt_button","_withKeys","_withModifiers","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_hoisted_1","_component_dt_popover","$data","_component_dt_input","$props","_createCommentVNode","_normalizeStyle","_component_dt_rich_text_editor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"editor.cjs","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","_createElementVNode","_hoisted_2","_createElementBlock","_mergeProps","$options","_ctx","_cache","$event","_createVNode","_component_dt_stack","_withCtx","_openBlock","_Fragment","_renderList","buttonGroup","_createBlock","_component_dt_tooltip","_component_dt_button","_withKeys","_withModifiers","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_hoisted_1","_component_dt_popover","$data","_component_dt_input","$props","_createCommentVNode","_normalizeStyle","_component_dt_rich_text_editor"],"mappings":"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"}
|