@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
1 lines • 11.3 kB
Source Map (JSON)
{"version":3,"file":"message-input-topbar.cjs","names":[],"sources":["../../../recipes/conversation_view/message_input/message_input_topbar.vue"],"sourcesContent":["<template>\n <dt-stack\n direction=\"row\"\n gap=\"200\"\n class=\"d-recipe-message-input__button-stack\"\n >\n <dt-recipe-message-input-button\n :aria-label=\"boldButtonLabel['aria-label']\"\n :tooltip-text=\"boldButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"boldButtonOptions.keyboardShortcutText\"\n data-qa=\"bold\"\n :is-active=\"isSelectionActive('bold')\"\n @click=\"$emit('click', 'bold', $event)\"\n >\n <template #icon>\n <dt-icon-bold\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"italicButtonLabel['aria-label']\"\n :tooltip-text=\"italicButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"italicButtonOptions.keyboardShortcutText\"\n data-qa=\"italic\"\n :is-active=\"isSelectionActive('italic')\"\n @click=\"$emit('click', 'italic', $event)\"\n >\n <template #icon>\n <dt-icon-italic\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"strikeButtonLabel['aria-label']\"\n :tooltip-text=\"strikeButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"strikeButtonOptions.keyboardShortcutText\"\n data-qa=\"strikethrough\"\n :is-active=\"isSelectionActive('strike')\"\n @click=\"$emit('click', 'strike', $event)\"\n >\n <template #icon>\n <dt-icon-strikethrough\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <!-- @slot special slot for link button, since links require a custom dialog -->\n <slot name=\"link\" />\n\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"bulletListButtonLabel['aria-label']\"\n :tooltip-text=\"bulletListButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"bulletListButtonOptions.keyboardShortcutText\"\n data-qa=\"bullet-list\"\n :is-active=\"isSelectionActive('bulletList')\"\n @click=\"$emit('click', 'bulletList', $event)\"\n >\n <template #icon>\n <dt-icon-list-bullet\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"orderedListButtonLabel['aria-label']\"\n :tooltip-text=\"orderedListButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"orderedListButtonOptions.keyboardShortcutText\"\n data-qa=\"ordered-list\"\n :is-active=\"isSelectionActive('orderedList')\"\n @click=\"$emit('click', 'orderedList', $event)\"\n >\n <template #icon>\n <dt-icon-list-ordered\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"blockQuoteButtonLabel['aria-label']\"\n :tooltip-text=\"blockQuoteButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"blockQuoteButtonOptions.keyboardShortcutText\"\n data-qa=\"blockquote\"\n :is-active=\"isSelectionActive('blockquote')\"\n @click=\"$emit('click', 'blockquote', $event)\"\n >\n <template #icon>\n <dt-icon-quote\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n\n <div class=\"d-recipe-message-input--button-group-divider\" />\n\n <dt-recipe-message-input-button\n :aria-label=\"codeButtonLabel['aria-label']\"\n :tooltip-text=\"codeButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"codeButtonOptions.keyboardShortcutText\"\n data-qa=\"code\"\n :is-active=\"isSelectionActive('code')\"\n @click=\"$emit('click', 'code', $event)\"\n >\n <template #icon>\n <dt-icon-code\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n <dt-recipe-message-input-button\n :aria-label=\"codeBlockButtonLabel['aria-label']\"\n :tooltip-text=\"codeBlockButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"codeBlockButtonOptions.keyboardShortcutText\"\n data-qa=\"code-block\"\n :is-active=\"isSelectionActive('codeBlock')\"\n @click=\"$emit('click', 'codeBlock', $event)\"\n >\n <template #icon>\n <dt-icon-code-block\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n </dt-stack>\n</template>\n\n<script>\nimport { DtStack } from '@/components/stack';\nimport {\n DtIconListBullet,\n DtIconBold,\n DtIconItalic,\n DtIconStrikethrough,\n DtIconListOrdered,\n DtIconQuote,\n DtIconCode,\n DtIconCodeBlock,\n} from '@dialpad/dialtone-icons/vue3';\nimport DtRecipeMessageInputButton from './message_input_button.vue';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeMessageInputTopbar',\n components: {\n DtStack,\n DtIconListBullet,\n DtIconBold,\n DtIconItalic,\n DtIconStrikethrough,\n DtIconListOrdered,\n DtIconQuote,\n DtIconCode,\n DtIconCodeBlock,\n DtRecipeMessageInputButton,\n },\n\n props: {\n boldButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n italicButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n strikeButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n bulletListButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n orderedListButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n blockQuoteButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n codeButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n codeBlockButtonOptions: {\n type: Object,\n default: () => ({}),\n },\n\n isSelectionActive: {\n type: Function,\n default: () => {},\n },\n },\n\n emits: ['click'],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n boldButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BOLD_BUTTON_LABEL'); },\n italicButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_ITALIC_BUTTON_LABEL'); },\n strikeButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_STRIKETHROUGH_BUTTON_LABEL'); },\n bulletListButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BULLET_LIST_BUTTON_LABEL'); },\n orderedListButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_ORDERED_LIST_BUTTON_LABEL'); },\n blockQuoteButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_BLOCK_QUOTE_BUTTON_LABEL'); },\n codeButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_CODE_BUTTON_LABEL'); },\n codeBlockButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_CODE_BLOCK_BUTTON_LABEL'); },\n },\n};\n</script>\n"],"mappings":"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"}