@dialpad/dialtone-vue 3.177.0 → 3.178.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/common/mixins/input.cjs +1 -1
  2. package/dist/common/mixins/input.cjs.map +1 -1
  3. package/dist/common/mixins/input.js +12 -16
  4. package/dist/common/mixins/input.js.map +1 -1
  5. package/dist/component-documentation.json +1 -1
  6. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  7. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  8. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +5 -4
  9. package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  10. package/dist/lib/checkbox/checkbox.cjs +1 -1
  11. package/dist/lib/checkbox/checkbox.cjs.map +1 -1
  12. package/dist/lib/checkbox/checkbox.js +33 -32
  13. package/dist/lib/checkbox/checkbox.js.map +1 -1
  14. package/dist/lib/checkbox-group/checkbox-group.cjs +1 -1
  15. package/dist/lib/checkbox-group/checkbox-group.cjs.map +1 -1
  16. package/dist/lib/checkbox-group/checkbox-group.js +15 -11
  17. package/dist/lib/checkbox-group/checkbox-group.js.map +1 -1
  18. package/dist/lib/editor/editor.cjs +1 -1
  19. package/dist/lib/editor/editor.cjs.map +1 -1
  20. package/dist/lib/editor/editor.js +22 -16
  21. package/dist/lib/editor/editor.js.map +1 -1
  22. package/dist/lib/radio/radio.cjs +1 -1
  23. package/dist/lib/radio/radio.cjs.map +1 -1
  24. package/dist/lib/radio/radio.js +34 -33
  25. package/dist/lib/radio/radio.js.map +1 -1
  26. package/dist/lib/radio-group/radio-group.cjs +1 -1
  27. package/dist/lib/radio-group/radio-group.cjs.map +1 -1
  28. package/dist/lib/radio-group/radio-group.js +12 -5
  29. package/dist/lib/radio-group/radio-group.js.map +1 -1
  30. package/dist/lib/root-layout/root-layout.cjs +1 -1
  31. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  32. package/dist/lib/root-layout/root-layout.js +21 -18
  33. package/dist/lib/root-layout/root-layout.js.map +1 -1
  34. package/dist/lib/select-menu/select-menu.cjs +1 -1
  35. package/dist/lib/select-menu/select-menu.cjs.map +1 -1
  36. package/dist/lib/select-menu/select-menu.js +20 -13
  37. package/dist/lib/select-menu/select-menu.js.map +1 -1
  38. package/dist/lib/toggle/toggle.cjs +1 -1
  39. package/dist/lib/toggle/toggle.cjs.map +1 -1
  40. package/dist/lib/toggle/toggle.js +33 -29
  41. package/dist/lib/toggle/toggle.js.map +1 -1
  42. package/dist/types/common/mixins/input.d.ts +2 -5
  43. package/dist/types/common/mixins/input.d.ts.map +1 -1
  44. package/dist/types/components/checkbox/checkbox.vue.d.ts +4 -8
  45. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  46. package/dist/types/components/checkbox_group/checkbox_group.vue.d.ts +5 -4
  47. package/dist/types/components/input/input.vue.d.ts +2 -2
  48. package/dist/types/components/radio/radio.vue.d.ts +4 -8
  49. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  50. package/dist/types/components/radio_group/radio_group.vue.d.ts +5 -4
  51. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +2 -2
  52. package/dist/types/components/root_layout/root_layout.vue.d.ts +1 -0
  53. package/dist/types/components/select_menu/select_menu.vue.d.ts +2 -1
  54. package/dist/types/components/select_menu/select_menu.vue.d.ts.map +1 -1
  55. package/dist/types/components/toggle/toggle.vue.d.ts +5 -4
  56. package/dist/types/components/toggle/toggle.vue.d.ts.map +1 -1
  57. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  58. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +5 -4
  59. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  60. package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  61. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n class=\"d-recipe-editor\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"`${buttonGroup.key}-${JSON.stringify(button.selector)}`\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\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 :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"'Close link input popover'\"\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 :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\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 v-if=\"showAddLink.setLinkTitle.length > 0\"\n >\n {{ showAddLink.setLinkTitle }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLink.setLinkInputAriaLabel\"\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 :aria-label=\"removeLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"removeLink\"\n >\n {{ removeLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"cancelSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"confirmSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButton.label }}\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-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 DtIconLightningBolt,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue3';\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 DtIconLightningBolt,\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 value: {\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 * Confirm set link button defaults.\n */\n confirmSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Confirm', ariaLabel: 'Confirm set link' }),\n },\n\n /**\n * Remove link button defaults.\n */\n removeLinkButton: {\n type: Object,\n default: () => ({ label: 'Remove', ariaLabel: 'Remove link' }),\n },\n\n /**\n * Cancel set link button defaults.\n */\n cancelSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Cancel', ariaLabel: 'Cancel set link' }),\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 setLinkTitle: 'Add a link',\n setLinkInputAriaLabel: 'Input field to add link',\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 * 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.value, // internal input content\n hasFocus: false,\n\n linkOptions: {\n class: 'd-recipe-editor__link',\n },\n\n showLinkInput: false,\n linkInput: '',\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 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: 'Quick reply',\n selector: 'quickReplies',\n icon: DtIconLightningBolt,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: 'Quick Reply',\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: 'Bold',\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: 'Italics',\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: 'Underline',\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: 'Strike',\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: 'Align Left',\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: 'Align Center',\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: 'Align Right',\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: 'Align Justify',\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: 'Bullet List',\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: 'Ordered List',\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: 'Quote',\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: 'Code',\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: 'Image',\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: 'Link',\n onClick: this.openLinkInput,\n };\n },\n },\n\n watch: {\n value (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 },\n\n },\n};\n</script>\n"],"names":["_sfc_main","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconLightningBolt","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","RICH_TEXT_EDITOR_OUTPUT_FORMATS","individualButtonStacks","buttonData","buttonGroupData","button","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","_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","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_hoisted_1","_component_dt_popover","$data","_withModifiers","$props","_hoisted_3","_createCommentVNode","_component_dt_input","_withKeys","_normalizeStyle","_component_dt_rich_text_editor"],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sources":["../../../recipes/conversation_view/editor/editor.vue"],"sourcesContent":["<template>\n <div\n class=\"d-recipe-editor\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n data-qa=\"dt-recipe-editor\"\n role=\"presentation\"\n @click=\"$refs.richTextEditor.focusEditor()\"\n >\n <!-- Section for the top UI -->\n <dt-stack\n class=\"d-recipe-editor__top-bar\"\n direction=\"row\"\n gap=\"450\"\n >\n <dt-stack\n v-for=\"buttonGroup in buttonGroups\"\n :key=\"buttonGroup.key\"\n direction=\"row\"\n gap=\"300\"\n >\n <dt-tooltip\n v-for=\"button in buttonGroup.buttonGroup\"\n :key=\"`${buttonGroup.key}-${JSON.stringify(button.selector)}`\"\n :message=\"button.tooltipMessage\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n :active=\"$refs.richTextEditor?.editor?.isActive(button.selector)\"\n :aria-label=\"button.tooltipMessage\"\n :data-qa=\"button.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"button.onClick()\"\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 :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"'Close link input popover'\"\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 :active=\"$refs.richTextEditor?.editor?.isActive(linkButton.selector)\"\n :aria-label=\"linkButton.tooltipMessage\"\n :data-qa=\"linkButton.dataQA\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"xs\"\n @click=\"linkButton.onClick()\"\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 v-if=\"showAddLink.setLinkTitle.length > 0\"\n >\n {{ showAddLink.setLinkTitle }}\n </span>\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"showAddLink.setLinkInputAriaLabel\"\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 :aria-label=\"removeLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-remove-link-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"removeLink\"\n >\n {{ removeLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"cancelSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-cancel-btn\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"sm\"\n @click=\"closeLinkInput\"\n >\n {{ cancelSetLinkButton.label }}\n </dt-button>\n <dt-button\n :aria-label=\"confirmSetLinkButton.ariaLabel\"\n data-qa=\"dt-recipe-editor-set-link-confirm-btn\"\n size=\"sm\"\n @click=\"setLink\"\n >\n {{ confirmSetLinkButton.label }}\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-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 DtIconLightningBolt,\n DtIconLink2,\n DtIconListBullet,\n DtIconListOrdered,\n DtIconQuote,\n DtIconStrikethrough,\n DtIconUnderline,\n} from '@dialpad/dialtone-icons/vue3';\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 DtIconLightningBolt,\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 * Confirm set link button defaults.\n */\n confirmSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Confirm', ariaLabel: 'Confirm set link' }),\n },\n\n /**\n * Remove link button defaults.\n */\n removeLinkButton: {\n type: Object,\n default: () => ({ label: 'Remove', ariaLabel: 'Remove link' }),\n },\n\n /**\n * Cancel set link button defaults.\n */\n cancelSetLinkButton: {\n type: Object,\n default: () => ({ label: 'Cancel', ariaLabel: 'Cancel set link' }),\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 setLinkTitle: 'Add a link',\n setLinkInputAriaLabel: 'Input field to add link',\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 };\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 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: 'Quick reply',\n selector: 'quickReplies',\n icon: DtIconLightningBolt,\n dataQA: 'dt-recipe-editor-quick-replies-btn',\n tooltipMessage: 'Quick Reply',\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: 'Bold',\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: 'Italics',\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: 'Underline',\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: 'Strike',\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: 'Align Left',\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: 'Align Center',\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: 'Align Right',\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: 'Align Justify',\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: 'Bullet List',\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: 'Ordered List',\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: 'Quote',\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: 'Code',\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: 'Image',\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: 'Link',\n onClick: this.openLinkInput,\n };\n },\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n\n onInputFocus (event) {\n event?.stopPropagation();\n },\n\n removeLink () {\n this.$refs.richTextEditor?.editor?.chain()?.focus()?.unsetLink()?.run();\n this.closeLinkInput();\n },\n\n setLink (event) {\n const editor = this.$refs.richTextEditor?.editor;\n event?.preventDefault();\n event?.stopPropagation();\n\n if (!this.linkInput) {\n // If link text is set to empty string,\n // remove any existing links.\n this.removeLink();\n return;\n }\n\n // Check if input matches any of the supported link formats\n const prefix = EDITOR_SUPPORTED_LINK_PROTOCOLS.find(prefixRegex => prefixRegex.test(this.linkInput));\n\n if (!prefix) {\n // If no matching pattern is found, prepend default prefix\n this.linkInput = `${EDITOR_DEFAULT_LINK_PREFIX}${this.linkInput}`;\n }\n\n const selection = editor?.view?.state?.selection;\n\n if (selection.anchor === selection.head) {\n // If no text has been selected, manually insert the link text.\n // Do not rely on link options set through DtRichTextEditor\n // component, because they clash with these and cause issues.\n editor\n .chain()\n .focus()\n .insertContentAt(\n selection.anchor,\n `<a class=\"${this.linkOptions.class}\" href=${this.linkInput}>${this.linkInput}</a>`,\n )\n .run();\n } else {\n // Set or edit the link\n editor\n .chain()\n .focus()\n .extendMarkRange('link')\n .setLink({ href: this.linkInput, class: this.linkOptions.class })\n .run();\n }\n\n this.closeLinkInput();\n },\n\n openLinkInput () {\n this.showLinkInput = true;\n },\n\n updateInput (openedInput) {\n if (!openedInput) {\n return this.closeLinkInput();\n }\n this.linkInput = this.$refs.richTextEditor?.editor?.getAttributes('link')?.href;\n },\n\n closeLinkInput () {\n this.showLinkInput = false;\n this.linkInput = '';\n this.$refs.richTextEditor.editor?.chain().focus();\n },\n\n onBoldTextToggle () {\n this.$refs.richTextEditor?.editor?.chain().focus().toggleBold().run();\n },\n\n onItalicTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleItalic().run();\n },\n\n onUnderlineTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleUnderline().run();\n },\n\n onStrikethroughTextToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleStrike().run();\n },\n\n onTextAlign (alignment) {\n if (this.$refs.richTextEditor?.editor?.isActive({ textAlign: alignment })) {\n // If this alignment type is already set here, unset it\n return this.$refs.richTextEditor?.editor.chain().focus().unsetTextAlign().run();\n }\n this.$refs.richTextEditor?.editor.chain().focus().setTextAlign(alignment).run();\n },\n\n onBulletListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleBulletList().run();\n },\n\n onOrderedListToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleOrderedList().run();\n },\n\n onCodeBlockToggle () {\n this.$refs.richTextEditor?.editor.chain().focus().toggleCodeBlock().run();\n },\n\n onQuickRepliesClick () {\n this.$emit('quick-replies-click');\n },\n\n onInsertInlineImageClick () {\n this.$emit('inline-image-click');\n },\n\n 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 },\n};\n</script>\n"],"names":["_sfc_main","DtRichTextEditor","DtButton","DtPopover","DtStack","DtInput","DtTooltip","DtIconLightningBolt","DtIconBold","DtIconItalic","DtIconUnderline","DtIconStrikethrough","DtIconListBullet","DtIconListOrdered","DtIconAlignLeft","DtIconAlignCenter","DtIconAlignRight","DtIconAlignJustify","DtIconQuote","DtIconCodeBlock","DtIconLink2","DtIconImage","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","RICH_TEXT_EDITOR_OUTPUT_FORMATS","individualButtonStacks","buttonData","buttonGroupData","button","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","_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","_resolveDynamicComponent","_createTextVNode","_toDisplayString","_hoisted_1","_component_dt_popover","$data","_withModifiers","$props","_hoisted_3","_createCommentVNode","_component_dt_input","_withKeys","_normalizeStyle","_component_dt_rich_text_editor"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/mixins/input.cjs"),n=require("./radio-constants.cjs"),i=require("../../common/utils/index.cjs"),s=require("vue"),l=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d=require("../validation-messages/validation-messages.cjs"),u={compatConfig:{MODE:3},name:"DtRadio",components:{DtValidationMessages:d.default},mixins:[a.InputMixin,a.CheckableMixin,a.GroupableMixin,a.MessagesMixin],inheritAttrs:!1,props:{value:{type:[String,Number],default:""}},emits:["input","focus","focusin","focusout","click"],data(){return{hasSlotContent:i.hasSlotContent}},computed:{inputValidationClass(){return n.RADIO_INPUT_VALIDATION_CLASSES[this.internalValidationState]},radioGroupValue(){var e;return(e=this.groupContext)==null?void 0:e.selectedValue},inputListeners(){return{input:()=>{},focusin:e=>this.$emit("focusin",e),focusout:e=>this.$emit("focusout",e),change:e=>this.emitValue(e.target.value)}},hasDescription(){return!!(this.$slots.description||this.description)},hasDescriptionOrMessages(){return this.hasDescription||this.hasMessages},hasMessages(){return this.formattedMessages.length&&this.showMessages}},watch:{radioGroupValue:{immediate:!0,handler(e){this.hasGroup&&(this.internalChecked=e===this.value)}}},methods:{removeClassStyleAttrs:i.removeClassStyleAttrs,addClassStyleAttrs:i.addClassStyleAttrs,emitValue(e){e!==this.radioGroupValue&&(this.setGroupValue(e),this.$emit("input",e))}}},c={class:"d-radio__input"},m=["checked","name","value","disabled"],p={key:0,class:"d-radio__messages","data-qa":"radio-description-messages"};function h(e,C,r,v,V,t){const o=s.resolveComponent("dt-validation-messages");return s.openBlock(),s.createElementBlock("div",s.normalizeProps(s.guardReactiveProps(t.addClassStyleAttrs(e.$attrs))),[s.createElementVNode("label",{class:s.normalizeClass(["d-radio-group",{"d-radio-group--disabled":e.internalDisabled}])},[s.createElementVNode("div",c,[s.createElementVNode("input",s.mergeProps({checked:e.internalChecked,name:e.internalName,value:r.value,disabled:e.internalDisabled,type:"radio",class:["d-radio",t.inputValidationClass,e.inputClass]},t.removeClassStyleAttrs(e.$attrs),s.toHandlers(t.inputListeners,!0)),null,16,m)]),s.createElementVNode("div",s.mergeProps({class:[e.labelClass,"d-radio__copy d-radio__label"]},e.labelChildProps,{"data-qa":"radio-label"}),[s.renderSlot(e.$slots,"default",{},()=>[s.createTextVNode(s.toDisplayString(e.label),1)])],16)],2),t.hasDescriptionOrMessages?(s.openBlock(),s.createElementBlock("div",p,[t.hasDescription?(s.openBlock(),s.createElementBlock("div",s.mergeProps({key:0,class:["d-description",e.descriptionClass]},e.descriptionChildProps,{"data-qa":"radio-description"}),[s.renderSlot(e.$slots,"description",{},()=>[s.createTextVNode(s.toDisplayString(e.description),1)])],16)):s.createCommentVNode("",!0),s.createVNode(o,s.mergeProps({"validation-messages":e.formattedMessages,"show-messages":e.showMessages,class:e.messagesClass},e.messagesChildProps,{"data-qa":"dt-radio-validation-messages"}),null,16,["validation-messages","show-messages","class"])])):s.createCommentVNode("",!0)],16)}const g=l._(u,[["render",h]]);exports.default=g;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../common/mixins/input.cjs"),l=require("./radio-constants.cjs"),i=require("../../common/utils/index.cjs"),s=require("vue"),n=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d=require("../validation-messages/validation-messages.cjs"),u={compatConfig:{MODE:3},name:"DtRadio",components:{DtValidationMessages:d.default},mixins:[a.InputMixin,a.CheckableMixin,a.GroupableMixin,a.MessagesMixin],inheritAttrs:!1,props:{value:{type:[String,Number],default:""}},emits:["input","update:modelValue","focus","focusin","focusout","click"],data(){return{hasSlotContent:i.hasSlotContent}},computed:{inputValidationClass(){return l.RADIO_INPUT_VALIDATION_CLASSES[this.internalValidationState]},radioGroupValue(){var e;return(e=this.groupContext)==null?void 0:e.selectedValue},inputListeners(){return{input:()=>{},focusin:e=>this.$emit("focusin",e),focusout:e=>this.$emit("focusout",e),change:e=>this.emitValue(e.target.value)}},hasMessages(){return this.formattedMessages.length&&this.showMessages}},watch:{radioGroupValue:{immediate:!0,handler(e){this.hasGroup&&(this.internalChecked=e===this.value)}}},methods:{removeClassStyleAttrs:i.removeClassStyleAttrs,addClassStyleAttrs:i.addClassStyleAttrs,emitValue(e){e!==this.radioGroupValue&&(this.setGroupValue(e),this.$emit("input",e),this.$emit("update:modelValue",e))}}},m={class:"d-radio__input"},c=["checked","name","value","disabled"],p={key:0,class:"d-radio__messages","data-qa":"radio-description-messages"};function h(e,C,o,V,v,t){const r=s.resolveComponent("dt-validation-messages");return s.openBlock(),s.createElementBlock("div",s.normalizeProps(s.guardReactiveProps(t.addClassStyleAttrs(e.$attrs))),[s.createElementVNode("label",{class:s.normalizeClass(["d-radio-group",{"d-radio-group--disabled":e.internalDisabled}])},[s.createElementVNode("div",m,[s.createElementVNode("input",s.mergeProps({checked:e.internalChecked,name:e.internalName,value:o.value,disabled:e.internalDisabled,type:"radio",class:["d-radio",t.inputValidationClass,e.inputClass]},t.removeClassStyleAttrs(e.$attrs),s.toHandlers(t.inputListeners,!0)),null,16,c)]),s.createElementVNode("div",s.mergeProps({class:[e.labelClass,"d-radio__copy d-radio__label"]},e.labelChildProps,{"data-qa":"radio-label"}),[s.renderSlot(e.$slots,"default",{},()=>[s.createTextVNode(s.toDisplayString(e.label),1)])],16)],2),e.$slots.description||e.description||t.hasMessages?(s.openBlock(),s.createElementBlock("div",p,[e.$slots.description||e.description?(s.openBlock(),s.createElementBlock("div",s.mergeProps({key:0,class:["d-description",e.descriptionClass]},e.descriptionChildProps,{"data-qa":"radio-description"}),[s.renderSlot(e.$slots,"description",{},()=>[s.createTextVNode(s.toDisplayString(e.description),1)])],16)):s.createCommentVNode("",!0),s.createVNode(r,s.mergeProps({"validation-messages":e.formattedMessages,"show-messages":e.showMessages,class:e.messagesClass},e.messagesChildProps,{"data-qa":"dt-radio-validation-messages"}),null,16,["validation-messages","show-messages","class"])])):s.createCommentVNode("",!0)],16)}const g=n._(u,[["render",h]]);exports.default=g;
2
2
  //# sourceMappingURL=radio.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio.cjs","sources":["../../../components/radio/radio.vue"],"sourcesContent":["<template>\n <div\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <label :class=\"['d-radio-group', { 'd-radio-group--disabled': internalDisabled }]\">\n <div class=\"d-radio__input\">\n <input\n :checked=\"internalChecked\"\n :name=\"internalName\"\n :value=\"value\"\n :disabled=\"internalDisabled\"\n type=\"radio\"\n :class=\"['d-radio', inputValidationClass, inputClass]\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n >\n </div>\n <div\n :class=\"[labelClass, 'd-radio__copy d-radio__label']\"\n v-bind=\"labelChildProps\"\n data-qa=\"radio-label\"\n >\n <!-- @slot slot for Radio Label -->\n <slot>{{ label }}</slot>\n </div>\n </label>\n <div\n v-if=\"hasDescriptionOrMessages\"\n class=\"d-radio__messages\"\n data-qa=\"radio-description-messages\"\n >\n <div\n v-if=\"hasDescription\"\n :class=\"['d-description', descriptionClass]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"radio-description\"\n >\n <!-- @slot slot for Radio Description -->\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-radio-validation-messages\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n} from '@/common/mixins/input';\nimport { RADIO_INPUT_VALIDATION_CLASSES } from './radio_constants';\nimport { DtValidationMessages } from '../validation_messages';\nimport { hasSlotContent, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\n/**\n * Radios are control elements that allow the user to make a single selection.\n * They are typically used in a Radio Group which allows the user to make a selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadio',\n\n components: { DtValidationMessages },\n\n mixins: [InputMixin, CheckableMixin, GroupableMixin, MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * A provided value for the radio\n */\n value: {\n type: [String, Number],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native input focus event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native input focusin event\n *\n * @event focusin\n * @property {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native input focusout event\n *\n * @event focusout\n * @property {FocusEvent}\n */\n 'focusout',\n\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n inputValidationClass () {\n return RADIO_INPUT_VALIDATION_CLASSES[this.internalValidationState];\n },\n\n radioGroupValue () {\n return this.groupContext?.selectedValue;\n },\n\n inputListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice\n * (once on the input element and once by the emitted input event by the change listener).\n */\n input: () => {},\n focusin: event => this.$emit('focusin', event),\n focusout: event => this.$emit('focusout', event),\n change: event => this.emitValue(event.target.value),\n };\n },\n\n hasDescription () {\n return !!(this.$slots.description || this.description);\n },\n\n hasDescriptionOrMessages () {\n return this.hasDescription || this.hasMessages;\n },\n\n hasMessages () {\n return this.formattedMessages.length && this.showMessages;\n },\n },\n\n watch: {\n radioGroupValue: {\n immediate: true,\n handler (newRadioGroupValue) {\n if (this.hasGroup) {\n // update internal value when the radio group value changes\n this.internalChecked = newRadioGroupValue === this.value;\n }\n },\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n emitValue (value) {\n if (value !== this.radioGroupValue) {\n // update provided value if injected\n this.setGroupValue(value);\n\n this.$emit('input', value);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtValidationMessages","InputMixin","CheckableMixin","GroupableMixin","MessagesMixin","hasSlotContent","RADIO_INPUT_VALIDATION_CLASSES","_a","event","newRadioGroupValue","removeClassStyleAttrs","addClassStyleAttrs","value","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_normalizeProps","_guardReactiveProps","$options","_ctx","_createElementVNode","_normalizeClass","_mergeProps","$props","_toHandlers","_renderSlot","_createTextVNode","_toDisplayString","_hoisted_3","_createCommentVNode","_createVNode","_component_dt_validation_messages"],"mappings":"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"}
1
+ {"version":3,"file":"radio.cjs","sources":["../../../components/radio/radio.vue"],"sourcesContent":["<template>\n <div\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <label :class=\"['d-radio-group', { 'd-radio-group--disabled': internalDisabled }]\">\n <div class=\"d-radio__input\">\n <input\n :checked=\"internalChecked\"\n :name=\"internalName\"\n :value=\"value\"\n :disabled=\"internalDisabled\"\n type=\"radio\"\n :class=\"['d-radio', inputValidationClass, inputClass]\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n >\n </div>\n <div\n :class=\"[labelClass, 'd-radio__copy d-radio__label']\"\n v-bind=\"labelChildProps\"\n data-qa=\"radio-label\"\n >\n <!-- @slot slot for Radio Label -->\n <slot>{{ label }}</slot>\n </div>\n </label>\n <div\n v-if=\"$slots.description || description || hasMessages\"\n class=\"d-radio__messages\"\n data-qa=\"radio-description-messages\"\n >\n <div\n v-if=\"$slots.description || description\"\n :class=\"['d-description', descriptionClass]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"radio-description\"\n >\n <!-- @slot slot for Radio Description -->\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-radio-validation-messages\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n} from '@/common/mixins/input';\nimport { RADIO_INPUT_VALIDATION_CLASSES } from './radio_constants';\nimport { DtValidationMessages } from '../validation_messages';\nimport { hasSlotContent, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\n/**\n * Radios are control elements that allow the user to make a single selection.\n * They are typically used in a Radio Group which allows the user to make a selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadio',\n\n components: { DtValidationMessages },\n\n mixins: [InputMixin, CheckableMixin, GroupableMixin, MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * A provided value for the radio\n */\n value: {\n type: [String, Number],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n /**\n * Event fired to sync the modelValue prop with the parent component\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Native input focus event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native input focusin event\n *\n * @event focusin\n * @property {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native input focusout event\n *\n * @event focusout\n * @property {FocusEvent}\n */\n 'focusout',\n\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n inputValidationClass () {\n return RADIO_INPUT_VALIDATION_CLASSES[this.internalValidationState];\n },\n\n radioGroupValue () {\n return this.groupContext?.selectedValue;\n },\n\n inputListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice\n * (once on the input element and once by the emitted input event by the change listener).\n */\n input: () => {},\n focusin: event => this.$emit('focusin', event),\n focusout: event => this.$emit('focusout', event),\n change: event => this.emitValue(event.target.value),\n };\n },\n\n hasMessages () {\n return this.formattedMessages.length && this.showMessages;\n },\n },\n\n watch: {\n radioGroupValue: {\n immediate: true,\n handler (newRadioGroupValue) {\n if (this.hasGroup) {\n // update internal value when the radio group value changes\n this.internalChecked = newRadioGroupValue === this.value;\n }\n },\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n emitValue (value) {\n if (value !== this.radioGroupValue) {\n // update provided value if injected\n this.setGroupValue(value);\n this.$emit('input', value);\n this.$emit('update:modelValue', value);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtValidationMessages","InputMixin","CheckableMixin","GroupableMixin","MessagesMixin","hasSlotContent","RADIO_INPUT_VALIDATION_CLASSES","_a","event","newRadioGroupValue","removeClassStyleAttrs","addClassStyleAttrs","value","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_normalizeProps","_guardReactiveProps","$options","_ctx","_createElementVNode","_normalizeClass","_mergeProps","$props","_toHandlers","_renderSlot","_createTextVNode","_toDisplayString","_hoisted_3","_createCommentVNode","_createVNode","_component_dt_validation_messages"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { InputMixin as m, CheckableMixin as c, GroupableMixin as h, MessagesMixin as g } from "../../common/mixins/input.js";
1
+ import { InputMixin as p, CheckableMixin as c, GroupableMixin as h, MessagesMixin as g } from "../../common/mixins/input.js";
2
2
  import { RADIO_INPUT_VALIDATION_CLASSES as f } from "./radio-constants.js";
3
- import { hasSlotContent as C, removeClassStyleAttrs as v, addClassStyleAttrs as V } from "../../common/utils/index.js";
4
- import { resolveComponent as M, openBlock as i, createElementBlock as r, normalizeProps as b, guardReactiveProps as D, createElementVNode as a, normalizeClass as S, mergeProps as t, toHandlers as _, renderSlot as o, createTextVNode as n, toDisplayString as d, createCommentVNode as l, createVNode as k } from "vue";
5
- import { _ as y } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
- import A from "../validation-messages/validation-messages.js";
7
- const N = {
3
+ import { hasSlotContent as C, removeClassStyleAttrs as V, addClassStyleAttrs as v } from "../../common/utils/index.js";
4
+ import { resolveComponent as b, openBlock as i, createElementBlock as o, normalizeProps as M, guardReactiveProps as S, createElementVNode as a, normalizeClass as k, mergeProps as t, toHandlers as y, renderSlot as r, createTextVNode as d, toDisplayString as l, createCommentVNode as n, createVNode as A } from "vue";
5
+ import { _ as D } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
+ import N from "../validation-messages/validation-messages.js";
7
+ const $ = {
8
8
  compatConfig: { MODE: 3 },
9
9
  name: "DtRadio",
10
- components: { DtValidationMessages: A },
11
- mixins: [m, c, h, g],
10
+ components: { DtValidationMessages: N },
11
+ mixins: [p, c, h, g],
12
12
  inheritAttrs: !1,
13
13
  props: {
14
14
  /**
@@ -27,6 +27,13 @@ const N = {
27
27
  * @type {String | Number}
28
28
  */
29
29
  "input",
30
+ /**
31
+ * Event fired to sync the modelValue prop with the parent component
32
+ *
33
+ * @event input
34
+ * @type {String | Number}
35
+ */
36
+ "update:modelValue",
30
37
  /**
31
38
  * Native input focus event
32
39
  *
@@ -83,12 +90,6 @@ const N = {
83
90
  change: (e) => this.emitValue(e.target.value)
84
91
  };
85
92
  },
86
- hasDescription() {
87
- return !!(this.$slots.description || this.description);
88
- },
89
- hasDescriptionOrMessages() {
90
- return this.hasDescription || this.hasMessages;
91
- },
92
93
  hasMessages() {
93
94
  return this.formattedMessages.length && this.showMessages;
94
95
  }
@@ -102,22 +103,22 @@ const N = {
102
103
  }
103
104
  },
104
105
  methods: {
105
- removeClassStyleAttrs: v,
106
- addClassStyleAttrs: V,
106
+ removeClassStyleAttrs: V,
107
+ addClassStyleAttrs: v,
107
108
  emitValue(e) {
108
- e !== this.radioGroupValue && (this.setGroupValue(e), this.$emit("input", e));
109
+ e !== this.radioGroupValue && (this.setGroupValue(e), this.$emit("input", e), this.$emit("update:modelValue", e));
109
110
  }
110
111
  }
111
- }, P = { class: "d-radio__input" }, G = ["checked", "name", "value", "disabled"], w = {
112
+ }, P = { class: "d-radio__input" }, _ = ["checked", "name", "value", "disabled"], G = {
112
113
  key: 0,
113
114
  class: "d-radio__messages",
114
115
  "data-qa": "radio-description-messages"
115
116
  };
116
- function I(e, O, u, $, q, s) {
117
- const p = M("dt-validation-messages");
118
- return i(), r("div", b(D(s.addClassStyleAttrs(e.$attrs))), [
117
+ function w(e, I, u, q, E, s) {
118
+ const m = b("dt-validation-messages");
119
+ return i(), o("div", M(S(s.addClassStyleAttrs(e.$attrs))), [
119
120
  a("label", {
120
- class: S(["d-radio-group", { "d-radio-group--disabled": e.internalDisabled }])
121
+ class: k(["d-radio-group", { "d-radio-group--disabled": e.internalDisabled }])
121
122
  }, [
122
123
  a("div", P, [
123
124
  a("input", t({
@@ -127,34 +128,34 @@ function I(e, O, u, $, q, s) {
127
128
  disabled: e.internalDisabled,
128
129
  type: "radio",
129
130
  class: ["d-radio", s.inputValidationClass, e.inputClass]
130
- }, s.removeClassStyleAttrs(e.$attrs), _(s.inputListeners, !0)), null, 16, G)
131
+ }, s.removeClassStyleAttrs(e.$attrs), y(s.inputListeners, !0)), null, 16, _)
131
132
  ]),
132
133
  a("div", t({
133
134
  class: [e.labelClass, "d-radio__copy d-radio__label"]
134
135
  }, e.labelChildProps, { "data-qa": "radio-label" }), [
135
- o(e.$slots, "default", {}, () => [
136
- n(d(e.label), 1)
136
+ r(e.$slots, "default", {}, () => [
137
+ d(l(e.label), 1)
137
138
  ])
138
139
  ], 16)
139
140
  ], 2),
140
- s.hasDescriptionOrMessages ? (i(), r("div", w, [
141
- s.hasDescription ? (i(), r("div", t({
141
+ e.$slots.description || e.description || s.hasMessages ? (i(), o("div", G, [
142
+ e.$slots.description || e.description ? (i(), o("div", t({
142
143
  key: 0,
143
144
  class: ["d-description", e.descriptionClass]
144
145
  }, e.descriptionChildProps, { "data-qa": "radio-description" }), [
145
- o(e.$slots, "description", {}, () => [
146
- n(d(e.description), 1)
146
+ r(e.$slots, "description", {}, () => [
147
+ d(l(e.description), 1)
147
148
  ])
148
- ], 16)) : l("", !0),
149
- k(p, t({
149
+ ], 16)) : n("", !0),
150
+ A(m, t({
150
151
  "validation-messages": e.formattedMessages,
151
152
  "show-messages": e.showMessages,
152
153
  class: e.messagesClass
153
154
  }, e.messagesChildProps, { "data-qa": "dt-radio-validation-messages" }), null, 16, ["validation-messages", "show-messages", "class"])
154
- ])) : l("", !0)
155
+ ])) : n("", !0)
155
156
  ], 16);
156
157
  }
157
- const H = /* @__PURE__ */ y(N, [["render", I]]);
158
+ const H = /* @__PURE__ */ D($, [["render", w]]);
158
159
  export {
159
160
  H as default
160
161
  };
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sources":["../../../components/radio/radio.vue"],"sourcesContent":["<template>\n <div\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <label :class=\"['d-radio-group', { 'd-radio-group--disabled': internalDisabled }]\">\n <div class=\"d-radio__input\">\n <input\n :checked=\"internalChecked\"\n :name=\"internalName\"\n :value=\"value\"\n :disabled=\"internalDisabled\"\n type=\"radio\"\n :class=\"['d-radio', inputValidationClass, inputClass]\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n >\n </div>\n <div\n :class=\"[labelClass, 'd-radio__copy d-radio__label']\"\n v-bind=\"labelChildProps\"\n data-qa=\"radio-label\"\n >\n <!-- @slot slot for Radio Label -->\n <slot>{{ label }}</slot>\n </div>\n </label>\n <div\n v-if=\"hasDescriptionOrMessages\"\n class=\"d-radio__messages\"\n data-qa=\"radio-description-messages\"\n >\n <div\n v-if=\"hasDescription\"\n :class=\"['d-description', descriptionClass]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"radio-description\"\n >\n <!-- @slot slot for Radio Description -->\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-radio-validation-messages\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n} from '@/common/mixins/input';\nimport { RADIO_INPUT_VALIDATION_CLASSES } from './radio_constants';\nimport { DtValidationMessages } from '../validation_messages';\nimport { hasSlotContent, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\n/**\n * Radios are control elements that allow the user to make a single selection.\n * They are typically used in a Radio Group which allows the user to make a selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadio',\n\n components: { DtValidationMessages },\n\n mixins: [InputMixin, CheckableMixin, GroupableMixin, MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * A provided value for the radio\n */\n value: {\n type: [String, Number],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native input focus event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native input focusin event\n *\n * @event focusin\n * @property {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native input focusout event\n *\n * @event focusout\n * @property {FocusEvent}\n */\n 'focusout',\n\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n inputValidationClass () {\n return RADIO_INPUT_VALIDATION_CLASSES[this.internalValidationState];\n },\n\n radioGroupValue () {\n return this.groupContext?.selectedValue;\n },\n\n inputListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice\n * (once on the input element and once by the emitted input event by the change listener).\n */\n input: () => {},\n focusin: event => this.$emit('focusin', event),\n focusout: event => this.$emit('focusout', event),\n change: event => this.emitValue(event.target.value),\n };\n },\n\n hasDescription () {\n return !!(this.$slots.description || this.description);\n },\n\n hasDescriptionOrMessages () {\n return this.hasDescription || this.hasMessages;\n },\n\n hasMessages () {\n return this.formattedMessages.length && this.showMessages;\n },\n },\n\n watch: {\n radioGroupValue: {\n immediate: true,\n handler (newRadioGroupValue) {\n if (this.hasGroup) {\n // update internal value when the radio group value changes\n this.internalChecked = newRadioGroupValue === this.value;\n }\n },\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n emitValue (value) {\n if (value !== this.radioGroupValue) {\n // update provided value if injected\n this.setGroupValue(value);\n\n this.$emit('input', value);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtValidationMessages","InputMixin","CheckableMixin","GroupableMixin","MessagesMixin","hasSlotContent","RADIO_INPUT_VALIDATION_CLASSES","_a","event","newRadioGroupValue","removeClassStyleAttrs","addClassStyleAttrs","value","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_normalizeProps","_guardReactiveProps","$options","_ctx","_createElementVNode","_normalizeClass","_mergeProps","$props","_toHandlers","_renderSlot","_createTextVNode","_toDisplayString","_hoisted_3","_createCommentVNode","_createVNode","_component_dt_validation_messages"],"mappings":"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"}
1
+ {"version":3,"file":"radio.js","sources":["../../../components/radio/radio.vue"],"sourcesContent":["<template>\n <div\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <label :class=\"['d-radio-group', { 'd-radio-group--disabled': internalDisabled }]\">\n <div class=\"d-radio__input\">\n <input\n :checked=\"internalChecked\"\n :name=\"internalName\"\n :value=\"value\"\n :disabled=\"internalDisabled\"\n type=\"radio\"\n :class=\"['d-radio', inputValidationClass, inputClass]\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"inputListeners\"\n >\n </div>\n <div\n :class=\"[labelClass, 'd-radio__copy d-radio__label']\"\n v-bind=\"labelChildProps\"\n data-qa=\"radio-label\"\n >\n <!-- @slot slot for Radio Label -->\n <slot>{{ label }}</slot>\n </div>\n </label>\n <div\n v-if=\"$slots.description || description || hasMessages\"\n class=\"d-radio__messages\"\n data-qa=\"radio-description-messages\"\n >\n <div\n v-if=\"$slots.description || description\"\n :class=\"['d-description', descriptionClass]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"radio-description\"\n >\n <!-- @slot slot for Radio Description -->\n <slot name=\"description\">\n {{ description }}\n </slot>\n </div>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-radio-validation-messages\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n} from '@/common/mixins/input';\nimport { RADIO_INPUT_VALIDATION_CLASSES } from './radio_constants';\nimport { DtValidationMessages } from '../validation_messages';\nimport { hasSlotContent, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\n/**\n * Radios are control elements that allow the user to make a single selection.\n * They are typically used in a Radio Group which allows the user to make a selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadio',\n\n components: { DtValidationMessages },\n\n mixins: [InputMixin, CheckableMixin, GroupableMixin, MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * A provided value for the radio\n */\n value: {\n type: [String, Number],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n /**\n * Event fired to sync the modelValue prop with the parent component\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Native input focus event\n *\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n\n /**\n * Native input focusin event\n *\n * @event focusin\n * @property {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native input focusout event\n *\n * @event focusout\n * @property {FocusEvent}\n */\n 'focusout',\n\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n computed: {\n inputValidationClass () {\n return RADIO_INPUT_VALIDATION_CLASSES[this.internalValidationState];\n },\n\n radioGroupValue () {\n return this.groupContext?.selectedValue;\n },\n\n inputListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice\n * (once on the input element and once by the emitted input event by the change listener).\n */\n input: () => {},\n focusin: event => this.$emit('focusin', event),\n focusout: event => this.$emit('focusout', event),\n change: event => this.emitValue(event.target.value),\n };\n },\n\n hasMessages () {\n return this.formattedMessages.length && this.showMessages;\n },\n },\n\n watch: {\n radioGroupValue: {\n immediate: true,\n handler (newRadioGroupValue) {\n if (this.hasGroup) {\n // update internal value when the radio group value changes\n this.internalChecked = newRadioGroupValue === this.value;\n }\n },\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n emitValue (value) {\n if (value !== this.radioGroupValue) {\n // update provided value if injected\n this.setGroupValue(value);\n this.$emit('input', value);\n this.$emit('update:modelValue', value);\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtValidationMessages","InputMixin","CheckableMixin","GroupableMixin","MessagesMixin","hasSlotContent","RADIO_INPUT_VALIDATION_CLASSES","_a","event","newRadioGroupValue","removeClassStyleAttrs","addClassStyleAttrs","value","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_normalizeProps","_guardReactiveProps","$options","_ctx","_createElementVNode","_normalizeClass","_mergeProps","$props","_toHandlers","_renderSlot","_createTextVNode","_toDisplayString","_hoisted_3","_createCommentVNode","_createVNode","_component_dt_validation_messages"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../input-group/input-group.cjs"),u={compatConfig:{MODE:3},name:"DtRadioGroup",extends:a.default,props:{value:{type:[String,Number],default:""},dataQaGroup:{type:String,default:"radio-group"},dataQaGroupLegend:{type:String,default:"radio-group-legend"},dataQaGroupMessages:{type:String,default:"radio-group-messages"}},emits:["input"],data(){return{internalValue:this.value}},watch:{value(e){this.internalValue=e},internalValue:{immediate:!0,handler(e){this.provideObj.selectedValue=e}}},methods:{setGroupValue(e){this.$emit("input",e)},getMessageKey(e,t){return`radio-group-message-${e}-${t}-${this.id}`}}};exports.default=u;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../input-group/input-group.cjs"),u={compatConfig:{MODE:3},name:"DtRadioGroup",extends:a.default,props:{modelValue:{type:[String,Number],default:""},dataQaGroup:{type:String,default:"radio-group"},dataQaGroupLegend:{type:String,default:"radio-group-legend"},dataQaGroupMessages:{type:String,default:"radio-group-messages"}},emits:["input","update:modelValue"],data(){return{internalValue:this.modelValue}},watch:{modelValue(e){this.internalValue=e},internalValue:{immediate:!0,handler(e){this.provideObj.selectedValue=e}}},methods:{setGroupValue(e){this.$emit("input",e),this.$emit("update:modelValue",e)},getMessageKey(e,t){return`radio-group-message-${e}-${t}-${this.id}`}}};exports.default=u;
2
2
  //# sourceMappingURL=radio-group.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.cjs","sources":["../../../components/radio_group/radio_group.vue"],"sourcesContent":["<script>\nimport { DtInputGroup } from '../input_group';\n\n/**\n * Radio Groups are control elements that allow the user to make a single selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio_group.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadioGroup',\n\n extends: DtInputGroup,\n\n props: {\n /**\n * A provided value for the radio group\n * @model value\n */\n value: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * A data qa tag for the radio group\n */\n dataQaGroup: {\n type: String,\n default: 'radio-group',\n },\n\n /**\n * A data qa tag for the radio group legend\n */\n dataQaGroupLegend: {\n type: String,\n default: 'radio-group-legend',\n },\n\n /**\n * A data qa tag for the radio group messages\n */\n dataQaGroupMessages: {\n type: String,\n default: 'radio-group-messages',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n ],\n\n data () {\n return {\n internalValue: this.value,\n };\n },\n\n watch: {\n value (newValue) {\n this.internalValue = newValue;\n },\n\n /*\n * watching value to support 2 way binding for slotted radios.\n * need this to pass value to slotted checkboxes if modified outside\n * radio group.\n */\n internalValue: {\n immediate: true,\n handler (newInternalValue) {\n this.provideObj.selectedValue = newInternalValue;\n },\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted radios.\n * slotted radios will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.$emit('input', newValue);\n },\n\n getMessageKey (type, index) {\n return `radio-group-message-${type}-${index}-${this.id}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtInputGroup","newValue","newInternalValue","type","index"],"mappings":"8JAOKA,EAAU,CACb,aAAc,CAAE,KAAM,CAAG,EACzB,KAAM,eAEN,QAASC,EAAY,QAErB,MAAO,CAKL,MAAO,CACL,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,EACV,EAKD,YAAa,CACX,KAAM,OACN,QAAS,aACV,EAKD,kBAAmB,CACjB,KAAM,OACN,QAAS,oBACV,EAKD,oBAAqB,CACnB,KAAM,OACN,QAAS,sBACV,CACF,EAED,MAAO,CAOL,OACD,EAED,MAAQ,CACN,MAAO,CACL,cAAe,KAAK,MAEvB,EAED,MAAO,CACL,MAAOC,EAAU,CACf,KAAK,cAAgBA,CACtB,EAOD,cAAe,CACb,UAAW,GACX,QAASC,EAAkB,CACzB,KAAK,WAAW,cAAgBA,CACjC,CACF,CACF,EAED,QAAS,CAKP,cAAeD,EAAU,CACvB,KAAK,MAAM,QAASA,CAAQ,CAC7B,EAED,cAAeE,EAAMC,EAAO,CAC1B,MAAO,uBAAuBD,CAAI,IAAIC,CAAK,IAAI,KAAK,EAAE,EACvD,CACF,CACH"}
1
+ {"version":3,"file":"radio-group.cjs","sources":["../../../components/radio_group/radio_group.vue"],"sourcesContent":["<script>\nimport { DtInputGroup } from '../input_group';\n\n/**\n * Radio Groups are control elements that allow the user to make a single selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio_group.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadioGroup',\n\n extends: DtInputGroup,\n\n props: {\n /**\n * A provided value for the radio group\n * @model value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * A data qa tag for the radio group\n */\n dataQaGroup: {\n type: String,\n default: 'radio-group',\n },\n\n /**\n * A data qa tag for the radio group legend\n */\n dataQaGroupLegend: {\n type: String,\n default: 'radio-group-legend',\n },\n\n /**\n * A data qa tag for the radio group messages\n */\n dataQaGroupMessages: {\n type: String,\n default: 'radio-group-messages',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n ],\n\n data () {\n return {\n internalValue: this.modelValue,\n };\n },\n\n watch: {\n modelValue (newValue) {\n this.internalValue = newValue;\n },\n\n /*\n * watching value to support 2 way binding for slotted radios.\n * need this to pass value to slotted checkboxes if modified outside\n * radio group.\n */\n internalValue: {\n immediate: true,\n handler (newInternalValue) {\n this.provideObj.selectedValue = newInternalValue;\n },\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted radios.\n * slotted radios will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.$emit('input', newValue);\n this.$emit('update:modelValue', newValue);\n },\n\n getMessageKey (type, index) {\n return `radio-group-message-${type}-${index}-${this.id}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtInputGroup","newValue","newInternalValue","type","index"],"mappings":"8JAOKA,EAAU,CACb,aAAc,CAAE,KAAM,CAAG,EACzB,KAAM,eAEN,QAASC,EAAY,QAErB,MAAO,CAKL,WAAY,CACV,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,EACV,EAKD,YAAa,CACX,KAAM,OACN,QAAS,aACV,EAKD,kBAAmB,CACjB,KAAM,OACN,QAAS,oBACV,EAKD,oBAAqB,CACnB,KAAM,OACN,QAAS,sBACV,CACF,EAED,MAAO,CAOL,QAOA,mBACD,EAED,MAAQ,CACN,MAAO,CACL,cAAe,KAAK,WAEvB,EAED,MAAO,CACL,WAAYC,EAAU,CACpB,KAAK,cAAgBA,CACtB,EAOD,cAAe,CACb,UAAW,GACX,QAASC,EAAkB,CACzB,KAAK,WAAW,cAAgBA,CACjC,CACF,CACF,EAED,QAAS,CAKP,cAAeD,EAAU,CACvB,KAAK,MAAM,QAASA,CAAQ,EAC5B,KAAK,MAAM,oBAAqBA,CAAQ,CACzC,EAED,cAAeE,EAAMC,EAAO,CAC1B,MAAO,uBAAuBD,CAAI,IAAIC,CAAK,IAAI,KAAK,EAAE,EACvD,CACF,CACH"}
@@ -8,7 +8,7 @@ const u = {
8
8
  * A provided value for the radio group
9
9
  * @model value
10
10
  */
11
- value: {
11
+ modelValue: {
12
12
  type: [String, Number],
13
13
  default: ""
14
14
  },
@@ -41,15 +41,22 @@ const u = {
41
41
  * @event input
42
42
  * @type {String | Number}
43
43
  */
44
- "input"
44
+ "input",
45
+ /**
46
+ * Native input event
47
+ *
48
+ * @event input
49
+ * @type {String | Number}
50
+ */
51
+ "update:modelValue"
45
52
  ],
46
53
  data() {
47
54
  return {
48
- internalValue: this.value
55
+ internalValue: this.modelValue
49
56
  };
50
57
  },
51
58
  watch: {
52
- value(e) {
59
+ modelValue(e) {
53
60
  this.internalValue = e;
54
61
  },
55
62
  /*
@@ -70,7 +77,7 @@ const u = {
70
77
  * slotted radios will change this value and need to emit new value up.
71
78
  */
72
79
  setGroupValue(e) {
73
- this.$emit("input", e);
80
+ this.$emit("input", e), this.$emit("update:modelValue", e);
74
81
  },
75
82
  getMessageKey(e, t) {
76
83
  return `radio-group-message-${e}-${t}-${this.id}`;
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sources":["../../../components/radio_group/radio_group.vue"],"sourcesContent":["<script>\nimport { DtInputGroup } from '../input_group';\n\n/**\n * Radio Groups are control elements that allow the user to make a single selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio_group.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadioGroup',\n\n extends: DtInputGroup,\n\n props: {\n /**\n * A provided value for the radio group\n * @model value\n */\n value: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * A data qa tag for the radio group\n */\n dataQaGroup: {\n type: String,\n default: 'radio-group',\n },\n\n /**\n * A data qa tag for the radio group legend\n */\n dataQaGroupLegend: {\n type: String,\n default: 'radio-group-legend',\n },\n\n /**\n * A data qa tag for the radio group messages\n */\n dataQaGroupMessages: {\n type: String,\n default: 'radio-group-messages',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n ],\n\n data () {\n return {\n internalValue: this.value,\n };\n },\n\n watch: {\n value (newValue) {\n this.internalValue = newValue;\n },\n\n /*\n * watching value to support 2 way binding for slotted radios.\n * need this to pass value to slotted checkboxes if modified outside\n * radio group.\n */\n internalValue: {\n immediate: true,\n handler (newInternalValue) {\n this.provideObj.selectedValue = newInternalValue;\n },\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted radios.\n * slotted radios will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.$emit('input', newValue);\n },\n\n getMessageKey (type, index) {\n return `radio-group-message-${type}-${index}-${this.id}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtInputGroup","newValue","newInternalValue","type","index"],"mappings":";AAOK,MAAAA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,SAASC;AAAA,EAET,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA,EACD;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,eAAe,KAAK;AAAA;EAEvB;AAAA,EAED,OAAO;AAAA,IACL,MAAOC,GAAU;AACf,WAAK,gBAAgBA;AAAA,IACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,eAAe;AAAA,MACb,WAAW;AAAA,MACX,QAASC,GAAkB;AACzB,aAAK,WAAW,gBAAgBA;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,cAAeD,GAAU;AACvB,WAAK,MAAM,SAASA,CAAQ;AAAA,IAC7B;AAAA,IAED,cAAeE,GAAMC,GAAO;AAC1B,aAAO,uBAAuBD,CAAI,IAAIC,CAAK,IAAI,KAAK,EAAE;AAAA,IACvD;AAAA,EACF;AACH;"}
1
+ {"version":3,"file":"radio-group.js","sources":["../../../components/radio_group/radio_group.vue"],"sourcesContent":["<script>\nimport { DtInputGroup } from '../input_group';\n\n/**\n * Radio Groups are control elements that allow the user to make a single selection from a list of options.\n * @see https://dialtone.dialpad.com/components/radio_group.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRadioGroup',\n\n extends: DtInputGroup,\n\n props: {\n /**\n * A provided value for the radio group\n * @model value\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * A data qa tag for the radio group\n */\n dataQaGroup: {\n type: String,\n default: 'radio-group',\n },\n\n /**\n * A data qa tag for the radio group legend\n */\n dataQaGroupLegend: {\n type: String,\n default: 'radio-group-legend',\n },\n\n /**\n * A data qa tag for the radio group messages\n */\n dataQaGroupMessages: {\n type: String,\n default: 'radio-group-messages',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n ],\n\n data () {\n return {\n internalValue: this.modelValue,\n };\n },\n\n watch: {\n modelValue (newValue) {\n this.internalValue = newValue;\n },\n\n /*\n * watching value to support 2 way binding for slotted radios.\n * need this to pass value to slotted checkboxes if modified outside\n * radio group.\n */\n internalValue: {\n immediate: true,\n handler (newInternalValue) {\n this.provideObj.selectedValue = newInternalValue;\n },\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted radios.\n * slotted radios will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.$emit('input', newValue);\n this.$emit('update:modelValue', newValue);\n },\n\n getMessageKey (type, index) {\n return `radio-group-message-${type}-${index}-${this.id}`;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtInputGroup","newValue","newInternalValue","type","index"],"mappings":";AAOK,MAAAA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EAEN,SAASC;AAAA,EAET,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACD;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,eAAe,KAAK;AAAA;EAEvB;AAAA,EAED,OAAO;AAAA,IACL,WAAYC,GAAU;AACpB,WAAK,gBAAgBA;AAAA,IACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,eAAe;AAAA,MACb,WAAW;AAAA,MACX,QAASC,GAAkB;AACzB,aAAK,WAAW,gBAAgBA;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,cAAeD,GAAU;AACvB,WAAK,MAAM,SAASA,CAAQ,GAC5B,KAAK,MAAM,qBAAqBA,CAAQ;AAAA,IACzC;AAAA,IAED,cAAeE,GAAMC,GAAO;AAC1B,aAAO,uBAAuBD,CAAI,IAAIC,CAAK,IAAI,KAAK,EAAE;AAAA,IACvD;AAAA,EACF;AACH;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./root-layout-constants.cjs"),e=require("vue"),l=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d={compatConfig:{MODE:3},name:"DtRootLayout",props:{fixed:{type:Boolean,default:!0},headerClass:{type:[String,Array,Object],default:""},headerHeight:{type:String,default:"64px"},headerSticky:{type:Boolean,default:!1},bodyClass:{type:[String,Array,Object],default:""},contentClass:{type:[String,Array,Object],default:""},sidebarClass:{type:[String,Array,Object],default:""},sidebarWidth:{type:String,default:"256px"},sidebarPosition:{type:String,default:"left",validator:t=>Object.values(a.ROOT_LAYOUT_SIDEBAR_POSITIONS).includes(t)},footerClass:{type:[String,Array,Object],default:""},footerHeight:{type:String,default:"64px"},responsiveBreakpoint:{type:String,default:null,validator:t=>a.ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS.includes(t)}},computed:{isInverted(){return this.sidebarPosition===a.ROOT_LAYOUT_SIDEBAR_POSITIONS.RIGHT}}};function s(t,i,o,u,y,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["root-layout","d-root-layout",{"d-root-layout--fixed":o.fixed,"d-root-layout--inverted":r.isInverted,[`d-root-layout__responsive--${o.responsiveBreakpoint}`]:!!o.responsiveBreakpoint}]),"data-qa":"dt-root-layout"},[e.createElementVNode("header",{class:e.normalizeClass(["d-root-layout__header",{"d-root-layout__header--sticky":o.headerSticky},o.headerClass]),"data-qa":"dt-root-layout-header"},[e.renderSlot(t.$slots,"header")],2),e.createElementVNode("aside",{ref:"root-layout-sidebar",tabindex:"0",class:e.normalizeClass(["d-root-layout__sidebar",o.sidebarClass]),"data-qa":"dt-root-layout-sidebar"},[e.renderSlot(t.$slots,"sidebar")],2),e.createElementVNode("main",{ref:"root-layout-content",class:e.normalizeClass(["d-root-layout__content",o.contentClass]),"data-qa":"dt-root-layout-content",tabindex:"0"},[e.renderSlot(t.$slots,"default")],2),e.createElementVNode("footer",{class:e.normalizeClass(["d-root-layout__footer",o.footerClass]),"data-qa":"dt-root-layout-footer"},[e.renderSlot(t.$slots,"footer")],2)],2)}const n=l._(d,[["render",s]]);exports.default=n;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("./root-layout-constants.cjs"),e=require("vue"),s=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),l={compatConfig:{MODE:3},name:"DtRootLayout",props:{fixed:{type:Boolean,default:!0},headerClass:{type:[String,Array,Object],default:""},headerHeight:{type:String,default:"64px"},headerSticky:{type:Boolean,default:!1},bodyClass:{type:[String,Array,Object],default:""},contentClass:{type:[String,Array,Object],default:""},sidebarClass:{type:[String,Array,Object],default:""},sidebarWidth:{type:String,default:"256px"},sidebarPosition:{type:String,default:"left",validator:t=>Object.values(a.ROOT_LAYOUT_SIDEBAR_POSITIONS).includes(t)},footerClass:{type:[String,Array,Object],default:""},footerHeight:{type:String,default:"64px"},responsiveBreakpoint:{type:String,default:null,validator:t=>a.ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS.includes(t)}},computed:{isInverted(){return this.sidebarPosition===a.ROOT_LAYOUT_SIDEBAR_POSITIONS.RIGHT},responsiveBreakpointClass(){return this.responsiveBreakpoint?`d-root-layout__responsive--${this.responsiveBreakpoint}`:"d-root-layout__responsive--default"}}};function d(t,i,o,u,y,r){return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["root-layout","d-root-layout",{"d-root-layout--fixed":o.fixed,"d-root-layout--inverted":r.isInverted},r.responsiveBreakpointClass]),"data-qa":"dt-root-layout"},[e.createElementVNode("header",{class:e.normalizeClass(["d-root-layout__header",{"d-root-layout__header--sticky":o.headerSticky},o.headerClass]),"data-qa":"dt-root-layout-header"},[e.renderSlot(t.$slots,"header")],2),e.createElementVNode("aside",{ref:"root-layout-sidebar",tabindex:"0",class:e.normalizeClass(["d-root-layout__sidebar",o.sidebarClass]),"data-qa":"dt-root-layout-sidebar"},[e.renderSlot(t.$slots,"sidebar")],2),e.createElementVNode("main",{ref:"root-layout-content",class:e.normalizeClass(["d-root-layout__content",o.contentClass]),"data-qa":"dt-root-layout-content",tabindex:"0"},[e.renderSlot(t.$slots,"default")],2),e.createElementVNode("footer",{class:e.normalizeClass(["d-root-layout__footer",o.footerClass]),"data-qa":"dt-root-layout-footer"},[e.renderSlot(t.$slots,"footer")],2)],2)}const n=s._(l,[["render",d]]);exports.default=n;
2
2
  //# sourceMappingURL=root-layout.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-layout.cjs","sources":["../../../components/root_layout/root_layout.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'root-layout',\n 'd-root-layout',\n {\n 'd-root-layout--fixed': fixed,\n 'd-root-layout--inverted': isInverted,\n [`d-root-layout__responsive--${responsiveBreakpoint}`]: !!responsiveBreakpoint,\n },\n ]\"\n data-qa=\"dt-root-layout\"\n >\n <header\n :class=\"['d-root-layout__header', { 'd-root-layout__header--sticky': headerSticky }, headerClass]\"\n data-qa=\"dt-root-layout-header\"\n >\n <!-- @slot Slot for header content, be sure to set a height on the element inside this\n if you want a fixed height. -->\n <slot name=\"header\" />\n </header>\n <aside\n ref=\"root-layout-sidebar\"\n tabindex=\"0\"\n :class=\"['d-root-layout__sidebar', sidebarClass]\"\n data-qa=\"dt-root-layout-sidebar\"\n >\n <!-- @slot Slot for sidebar content, be sure to set a width on the element within this. -->\n <slot name=\"sidebar\" />\n </aside>\n <main\n ref=\"root-layout-content\"\n :class=\"['d-root-layout__content', contentClass]\"\n data-qa=\"dt-root-layout-content\"\n tabindex=\"0\"\n >\n <!-- @slot Slot for the main content -->\n <slot />\n </main>\n <footer\n :class=\"['d-root-layout__footer', footerClass]\"\n data-qa=\"dt-root-layout-footer\"\n >\n <!-- @slot Slot for footer content, be sure to set a height on the element inside this\n if you want a fixed height. -->\n <slot name=\"footer\" />\n </footer>\n </div>\n</template>\n\n<script>\nimport { ROOT_LAYOUT_SIDEBAR_POSITIONS, ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS } from './root_layout_constants';\n\n/**\n * A root layout provides a standardized group of containers to display content at the root level.\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRootLayout',\n\n props: {\n /**\n * When true, the header, footer and sidebar will be locked in position and the content will\n * be scrollable. When false the header, footer and sidebar will scroll out of view.\n * @values true, false\n */\n fixed: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Additional class name for the header element\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * DEPRECATED: set the height of the inner element instead.\n */\n headerHeight: {\n type: String,\n default: '64px',\n },\n\n /**\n * Scroll the header with the page\n * @values true, false\n */\n headerSticky: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the body\n */\n bodyClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content element\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the sidebar element\n */\n sidebarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * DEPRECATED: set the width of the inner element instead.\n */\n sidebarWidth: {\n type: String,\n default: '256px',\n },\n\n /**\n * Whether the sidebar is on the left or right side\n * Possible options: 'left', 'right'\n * @values left, right\n */\n sidebarPosition: {\n type: String,\n default: 'left',\n validator: (s) => Object.values(ROOT_LAYOUT_SIDEBAR_POSITIONS).includes(s),\n },\n\n /**\n * Additional class name for the footer element\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * DEPRECATED: set the height of the inner element instead.\n */\n footerHeight: {\n type: String,\n default: '64px',\n },\n\n /**\n * Defines the breakpoint when the root layout will change to responsive version\n * @values 'sm', 'md', 'lg', null\n */\n responsiveBreakpoint: {\n type: String,\n default: null,\n validator: (bp) => ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS.includes(bp),\n },\n },\n\n computed: {\n isInverted () {\n return this.sidebarPosition === ROOT_LAYOUT_SIDEBAR_POSITIONS.RIGHT;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ROOT_LAYOUT_SIDEBAR_POSITIONS","bp","ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS","_createElementBlock","_normalizeClass","$props","$options","_createElementVNode","_renderSlot","_ctx"],"mappings":"sOAwDKA,EAAU,CACb,aAAc,CAAE,KAAM,CAAG,EACzB,KAAM,eAEN,MAAO,CAML,MAAO,CACL,KAAM,QACN,QAAS,EACV,EAKD,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,OACN,QAAS,MACV,EAMD,aAAc,CACZ,KAAM,QACN,QAAS,EACV,EAKD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,OACN,QAAS,OACV,EAOD,gBAAiB,CACf,KAAM,OACN,QAAS,OACT,UAAYC,GAAM,OAAO,OAAOC,+BAA6B,EAAE,SAASD,CAAC,CAC1E,EAKD,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,OACN,QAAS,MACV,EAMD,qBAAsB,CACpB,KAAM,OACN,QAAS,KACT,UAAYE,GAAOC,qCAAmC,SAASD,CAAE,CAClE,CACF,EAED,SAAU,CACR,YAAc,CACZ,OAAO,KAAK,kBAAoBD,EAA6B,8BAAC,KAC/D,CACF,CACH,+CA1KEG,EA8CM,mBAAA,MAAA,CA7CH,MAFLC,EAAAA,eAAA,uDAEkGC,EAAK,gCAAqCC,EAAU,WAAyC,CAAA,8BAAAD,EAAA,oBAAoB,MAAOA,EAAoB,wBAS1O,UAAQ,mBAERE,EAAAA,mBAOS,SAAA,CANN,MAdPH,EAAAA,eAAA,CAAA,wBAAA,CAAA,gCAc2EC,EAAY,YAAA,EAAIA,EAAW,WAAA,CAAA,EAChG,UAAQ,0BAIRG,aAAsBC,EAAA,OAAA,QAAA,MAExBF,EAAAA,mBAQQ,QAAA,CAPN,IAAI,sBACJ,SAAS,IACR,MAxBPH,EAAAA,yCAwByCC,EAAY,YAAA,CAAA,EAC/C,UAAQ,2BAGRG,aAAuBC,EAAA,OAAA,SAAA,MAEzBF,EAAAA,mBAQO,OAAA,CAPL,IAAI,sBACH,MAhCPH,EAAAA,yCAgCyCC,EAAY,YAAA,CAAA,EAC/C,UAAQ,yBACR,SAAS,MAGTG,aAAQC,EAAA,OAAA,SAAA,MAEVF,EAAAA,mBAOS,SAAA,CANN,MAxCPH,EAAAA,wCAwCwCC,EAAW,WAAA,CAAA,EAC7C,UAAQ,0BAIRG,aAAsBC,EAAA,OAAA,QAAA"}
1
+ {"version":3,"file":"root-layout.cjs","sources":["../../../components/root_layout/root_layout.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'root-layout',\n 'd-root-layout',\n {\n 'd-root-layout--fixed': fixed,\n 'd-root-layout--inverted': isInverted,\n },\n responsiveBreakpointClass,\n ]\"\n data-qa=\"dt-root-layout\"\n >\n <header\n :class=\"['d-root-layout__header', { 'd-root-layout__header--sticky': headerSticky }, headerClass]\"\n data-qa=\"dt-root-layout-header\"\n >\n <!-- @slot Slot for header content, be sure to set a height on the element inside this\n if you want a fixed height. -->\n <slot name=\"header\" />\n </header>\n <aside\n ref=\"root-layout-sidebar\"\n tabindex=\"0\"\n :class=\"['d-root-layout__sidebar', sidebarClass]\"\n data-qa=\"dt-root-layout-sidebar\"\n >\n <!-- @slot Slot for sidebar content, be sure to set a width on the element within this. -->\n <slot name=\"sidebar\" />\n </aside>\n <main\n ref=\"root-layout-content\"\n :class=\"['d-root-layout__content', contentClass]\"\n data-qa=\"dt-root-layout-content\"\n tabindex=\"0\"\n >\n <!-- @slot Slot for the main content -->\n <slot />\n </main>\n <footer\n :class=\"['d-root-layout__footer', footerClass]\"\n data-qa=\"dt-root-layout-footer\"\n >\n <!-- @slot Slot for footer content, be sure to set a height on the element inside this\n if you want a fixed height. -->\n <slot name=\"footer\" />\n </footer>\n </div>\n</template>\n\n<script>\nimport { ROOT_LAYOUT_SIDEBAR_POSITIONS, ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS } from './root_layout_constants';\n\n/**\n * A root layout provides a standardized group of containers to display content at the root level.\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRootLayout',\n\n props: {\n /**\n * When true, the header, footer and sidebar will be locked in position and the content will\n * be scrollable. When false the header, footer and sidebar will scroll out of view.\n * @values true, false\n */\n fixed: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Additional class name for the header element\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * DEPRECATED: set the height of the inner element instead.\n */\n headerHeight: {\n type: String,\n default: '64px',\n },\n\n /**\n * Scroll the header with the page\n * @values true, false\n */\n headerSticky: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the body\n */\n bodyClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content element\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the sidebar element\n */\n sidebarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * DEPRECATED: set the width of the inner element instead.\n */\n sidebarWidth: {\n type: String,\n default: '256px',\n },\n\n /**\n * Whether the sidebar is on the left or right side\n * Possible options: 'left', 'right'\n * @values left, right\n */\n sidebarPosition: {\n type: String,\n default: 'left',\n validator: (s) => Object.values(ROOT_LAYOUT_SIDEBAR_POSITIONS).includes(s),\n },\n\n /**\n * Additional class name for the footer element\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * DEPRECATED: set the height of the inner element instead.\n */\n footerHeight: {\n type: String,\n default: '64px',\n },\n\n /**\n * Defines the breakpoint when the root layout will change to responsive version\n * @values 'sm', 'md', 'lg', null\n */\n responsiveBreakpoint: {\n type: String,\n default: null,\n validator: (bp) => ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS.includes(bp),\n },\n },\n\n computed: {\n isInverted () {\n return this.sidebarPosition === ROOT_LAYOUT_SIDEBAR_POSITIONS.RIGHT;\n },\n\n responsiveBreakpointClass () {\n return this.responsiveBreakpoint\n ? `d-root-layout__responsive--${this.responsiveBreakpoint}`\n : 'd-root-layout__responsive--default';\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ROOT_LAYOUT_SIDEBAR_POSITIONS","bp","ROOT_LAYOUT_RESPONSIVE_BREAKPOINTS","_createElementBlock","_normalizeClass","$props","$options","_createElementVNode","_renderSlot","_ctx"],"mappings":"sOAwDKA,EAAU,CACb,aAAc,CAAE,KAAM,CAAG,EACzB,KAAM,eAEN,MAAO,CAML,MAAO,CACL,KAAM,QACN,QAAS,EACV,EAKD,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,OACN,QAAS,MACV,EAMD,aAAc,CACZ,KAAM,QACN,QAAS,EACV,EAKD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,OACN,QAAS,OACV,EAOD,gBAAiB,CACf,KAAM,OACN,QAAS,OACT,UAAYC,GAAM,OAAO,OAAOC,+BAA6B,EAAE,SAASD,CAAC,CAC1E,EAKD,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,OACN,QAAS,MACV,EAMD,qBAAsB,CACpB,KAAM,OACN,QAAS,KACT,UAAYE,GAAOC,qCAAmC,SAASD,CAAE,CAClE,CACF,EAED,SAAU,CACR,YAAc,CACZ,OAAO,KAAK,kBAAoBD,EAA6B,8BAAC,KAC/D,EAED,2BAA6B,CAC3B,OAAO,KAAK,qBACR,8BAA8B,KAAK,oBAAoB,GACvD,oCACL,CACF,CACH,+CAhLEG,EA8CM,mBAAA,MAAA,CA7CH,MAFLC,EAAAA,eAAA,uDAEkGC,EAAK,gCAAqCC,EAAU,YAAiBA,EAAyB,4BAS5L,UAAQ,mBAERC,EAAAA,mBAOS,SAAA,CANN,MAdPH,EAAAA,eAAA,CAAA,wBAAA,CAAA,gCAc2EC,EAAY,YAAA,EAAIA,EAAW,WAAA,CAAA,EAChG,UAAQ,0BAIRG,aAAsBC,EAAA,OAAA,QAAA,MAExBF,EAAAA,mBAQQ,QAAA,CAPN,IAAI,sBACJ,SAAS,IACR,MAxBPH,EAAAA,yCAwByCC,EAAY,YAAA,CAAA,EAC/C,UAAQ,2BAGRG,aAAuBC,EAAA,OAAA,SAAA,MAEzBF,EAAAA,mBAQO,OAAA,CAPL,IAAI,sBACH,MAhCPH,EAAAA,yCAgCyCC,EAAY,YAAA,CAAA,EAC/C,UAAQ,yBACR,SAAS,MAGTG,aAAQC,EAAA,OAAA,SAAA,MAEVF,EAAAA,mBAOS,SAAA,CANN,MAxCPH,EAAAA,wCAwCwCC,EAAW,WAAA,CAAA,EAC7C,UAAQ,0BAIRG,aAAsBC,EAAA,OAAA,QAAA"}