@dialpad/dialtone 9.36.1 → 9.38.2

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 (106) hide show
  1. package/dist/css/dialtone.css +2 -2
  2. package/dist/tokens/css/variables-dark.css +1 -1
  3. package/dist/tokens/css/variables-expressive-dark.css +1 -1
  4. package/dist/tokens/css/variables-expressive-light.css +1 -1
  5. package/dist/tokens/css/variables-expressive-sm-dark.css +1 -1
  6. package/dist/tokens/css/variables-expressive-sm-light.css +1 -1
  7. package/dist/tokens/css/variables-light.css +1 -1
  8. package/dist/tokens/css/variables-tmo-dark.css +1 -1
  9. package/dist/tokens/css/variables-tmo-light.css +1 -1
  10. package/dist/tokens/less/variables-dark.less +1 -1
  11. package/dist/tokens/less/variables-expressive-dark.less +1 -1
  12. package/dist/tokens/less/variables-expressive-light.less +1 -1
  13. package/dist/tokens/less/variables-expressive-sm-dark.less +1 -1
  14. package/dist/tokens/less/variables-expressive-sm-light.less +1 -1
  15. package/dist/tokens/less/variables-light.less +1 -1
  16. package/dist/tokens/less/variables-tmo-dark.less +1 -1
  17. package/dist/tokens/less/variables-tmo-light.less +1 -1
  18. package/dist/vue2/lib/callbar-button.cjs +1 -1
  19. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  20. package/dist/vue2/lib/callbar-button.js +1 -1
  21. package/dist/vue2/lib/callbar-button.js.map +1 -1
  22. package/dist/vue2/lib/editor.cjs +1 -1
  23. package/dist/vue2/lib/editor.cjs.map +1 -1
  24. package/dist/vue2/lib/editor.js +1 -1
  25. package/dist/vue2/lib/editor.js.map +1 -1
  26. package/dist/vue2/lib/feed-item-row.cjs +12 -2
  27. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  28. package/dist/vue2/lib/feed-item-row.js +12 -2
  29. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  30. package/dist/vue2/lib/message-input.cjs +4 -4
  31. package/dist/vue2/lib/message-input.cjs.map +1 -1
  32. package/dist/vue2/lib/message-input.js +4 -4
  33. package/dist/vue2/lib/message-input.js.map +1 -1
  34. package/dist/vue2/lib/rich-text-editor.cjs +38 -14
  35. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  36. package/dist/vue2/lib/rich-text-editor.js +38 -14
  37. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  38. package/dist/vue2/lib/tooltip.cjs +1 -1
  39. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  40. package/dist/vue2/lib/tooltip.js +1 -1
  41. package/dist/vue2/lib/tooltip.js.map +1 -1
  42. package/dist/vue2/style.css +37 -33
  43. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/autolink.d.ts.map +1 -0
  44. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts +3 -0
  45. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -0
  46. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/index.d.ts +3 -0
  47. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/index.d.ts.map +1 -0
  48. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/utils.d.ts.map +1 -0
  49. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +37 -2
  50. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  51. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +16 -0
  52. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  53. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -1
  54. package/dist/vue3/lib/callbar-button.cjs +1 -1
  55. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  56. package/dist/vue3/lib/callbar-button.js +1 -1
  57. package/dist/vue3/lib/callbar-button.js.map +1 -1
  58. package/dist/vue3/lib/editor.cjs +1 -1
  59. package/dist/vue3/lib/editor.cjs.map +1 -1
  60. package/dist/vue3/lib/editor.js +1 -1
  61. package/dist/vue3/lib/editor.js.map +1 -1
  62. package/dist/vue3/lib/feed-item-row.cjs +13 -2
  63. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  64. package/dist/vue3/lib/feed-item-row.js +13 -2
  65. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  66. package/dist/vue3/lib/message-input.cjs +4 -4
  67. package/dist/vue3/lib/message-input.cjs.map +1 -1
  68. package/dist/vue3/lib/message-input.js +4 -4
  69. package/dist/vue3/lib/message-input.js.map +1 -1
  70. package/dist/vue3/lib/rich-text-editor.cjs +38 -14
  71. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  72. package/dist/vue3/lib/rich-text-editor.js +38 -14
  73. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  74. package/dist/vue3/lib/tooltip.cjs +1 -1
  75. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  76. package/dist/vue3/lib/tooltip.js +1 -1
  77. package/dist/vue3/lib/tooltip.js.map +1 -1
  78. package/dist/vue3/style.css +37 -33
  79. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/autolink.d.ts.map +1 -0
  80. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts +3 -0
  81. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -0
  82. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/index.d.ts +3 -0
  83. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/index.d.ts.map +1 -0
  84. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/utils.d.ts.map +1 -0
  85. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +37 -2
  86. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  87. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +16 -0
  88. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  89. package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -1
  90. package/package.json +3 -3
  91. package/dist/vue2/types/components/rich_text_editor/extensions/link/autolink.d.ts.map +0 -1
  92. package/dist/vue2/types/components/rich_text_editor/extensions/link/index.d.ts +0 -4
  93. package/dist/vue2/types/components/rich_text_editor/extensions/link/index.d.ts.map +0 -1
  94. package/dist/vue2/types/components/rich_text_editor/extensions/link/link.d.ts +0 -3
  95. package/dist/vue2/types/components/rich_text_editor/extensions/link/link.d.ts.map +0 -1
  96. package/dist/vue2/types/components/rich_text_editor/extensions/link/utils.d.ts.map +0 -1
  97. package/dist/vue3/types/components/rich_text_editor/extensions/link/autolink.d.ts.map +0 -1
  98. package/dist/vue3/types/components/rich_text_editor/extensions/link/index.d.ts +0 -4
  99. package/dist/vue3/types/components/rich_text_editor/extensions/link/index.d.ts.map +0 -1
  100. package/dist/vue3/types/components/rich_text_editor/extensions/link/link.d.ts +0 -3
  101. package/dist/vue3/types/components/rich_text_editor/extensions/link/link.d.ts.map +0 -1
  102. package/dist/vue3/types/components/rich_text_editor/extensions/link/utils.d.ts.map +0 -1
  103. /package/dist/vue2/types/components/rich_text_editor/extensions/{link → custom_link}/autolink.d.ts +0 -0
  104. /package/dist/vue2/types/components/rich_text_editor/extensions/{link → custom_link}/utils.d.ts +0 -0
  105. /package/dist/vue3/types/components/rich_text_editor/extensions/{link → custom_link}/autolink.d.ts +0 -0
  106. /package/dist/vue3/types/components/rich_text_editor/extensions/{link → custom_link}/utils.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sources":["../../components/tooltip/tooltip.vue"],"sourcesContent":["<template>\n <div data-qa=\"dt-tooltip-container\">\n <!-- disabling as the below events are for capturing events from interactive\n elements within the span rather than on the span itself -->\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <span\n v-if=\"!externalAnchor\"\n ref=\"anchor\"\n data-qa=\"dt-tooltip-anchor\"\n @focusin=\"onEnterAnchor\"\n @focusout=\"onLeaveAnchor\"\n @mouseenter=\"onEnterAnchor\"\n @mouseleave=\"onLeaveAnchor\"\n @keydown.esc=\"onLeaveAnchor\"\n >\n <!-- @slot Slot for the anchor element -->\n <slot\n name=\"anchor\"\n />\n </span>\n <div\n :id=\"id\"\n ref=\"content\"\n data-qa=\"dt-tooltip\"\n :class=\"[\n 'd-tooltip',\n {\n [ TOOLTIP_KIND_MODIFIERS.inverted ]: inverted,\n },\n contentClass,\n ]\"\n v-on=\"tooltipListeners\"\n >\n <!-- In case when transitionend event doesn't work correct (for ex. tooltip component with custom trigger) -->\n <!-- after-leave event can be used instead of transitionend -->\n <!-- @slot Slot for the content, defaults to message prop -->\n <slot>\n {{ message }}\n </slot>\n </div>\n </div>\n</template>\n\n<script>\nimport {\n TOOLTIP_KIND_MODIFIERS,\n TOOLTIP_DIRECTIONS,\n TOOLTIP_STICKY_VALUES,\n TOOLTIP_DELAY_MS,\n} from './tooltip_constants.js';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '../popover/popover_constants';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport {\n createTippy,\n getAnchor,\n getPopperOptions,\n} from '@/components/popover/tippy_utils';\n\n/**\n * A tooltip is a floating label that briefly explains an action, function, or an element.\n * Its content is exclusively text and shouldn't be vital information for users.\n * If richer media is desired, consider using a popover instead.\n * @see https://dialtone.dialpad.com/components/tooltip.html\n */\nexport default {\n name: 'DtTooltip',\n\n props: {\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * If the popover does not fit in the direction described by \"placement\",\n * it will attempt to change its direction to the \"fallbackPlacements\"\n * if defined, otherwise it will automatically position to a new location\n * as it sees best fit. See\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * */\n fallbackPlacements: {\n type: Array,\n default: () => ['auto'],\n },\n\n /**\n * If true, applies inverted styles to the tooltip\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the tooltip from its reference element\n * by the specified number of pixels. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n */\n offset: {\n type: Array,\n default: () => [0, 12],\n },\n\n /**\n * The direction the popover displays relative to the anchor. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n */\n placement: {\n type: String,\n default: 'top',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * If the tooltip sticks to the anchor. This is usually not needed, but can be needed\n * if the reference element's position is animating, or to automatically update the popover\n * position in those cases the DOM layout changes the reference element's position.\n * `true` enables it, `reference` only checks the \"reference\" rect for changes and `popper` only\n * checks the \"popper\" rect for changes. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#sticky\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values true, false, reference, popper\n */\n sticky: {\n type: [Boolean, String],\n default: false,\n validator: (sticky) => {\n return TOOLTIP_STICKY_VALUES.includes(sticky);\n },\n },\n\n /**\n * Sets the element to which the tooltip is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * This prop is not reactive, must be set on initial render.\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Additional css classes for the tooltip content element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * A provided message for the tooltip content\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Controls whether hover/focus causes the tooltip to appear.\n * Cannot be combined with the show prop. show value will be ignored.\n * by default this is true, if you override with false, the tooltip will never show up.\n */\n enabled: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Controls whether the tooltip is shown. Leaving this null will have the tooltip trigger on mouseover by default.\n * If you set this value, the default mouseover behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n show: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Whether the tooltip should have a transition effect.\n */\n transition: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the tooltip will have a delay when being focused or moused over.\n * @values true, false\n */\n delay: {\n type: Boolean,\n default: true,\n },\n\n /**\n * External anchor id to use in those cases the anchor can't be provided via the slot.\n * For instance, using the combobox's input as the anchor for the popover.\n */\n externalAnchor: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Emitted when tooltip is shown or hidden\n *\n * @event shown\n * @type {Boolean}\n */\n 'shown',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n TOOLTIP_KIND_MODIFIERS,\n hasSlotContent,\n tip: null,\n\n inTimer: null,\n\n // Internal state for whether the tooltip is shown. Changing the prop\n // will update this.\n isShown: false,\n\n // this is where the placement currently is, this can be different than\n // the placement prop when there is not enough available room for the tip\n // to display and it uses a fallback placement.\n currentPlacement: this.placement,\n };\n },\n\n computed: {\n // whether the tooltip is visible or not.\n isVisible () {\n const hasMessage = !!this.message?.trim();\n const hasDefaultSlot = !!this.$slots?.default;\n const isDeviceCompatible = !this.isTouchDevice;\n\n const shouldBeVisible = this.isShown && this.enabled && (hasMessage || hasDefaultSlot);\n\n return shouldBeVisible && isDeviceCompatible;\n },\n\n tooltipListeners () {\n return {\n 'after-leave': () => {\n this.onLeaveTransitionComplete();\n },\n\n 'after-enter': () => {\n this.onEnterTransitionComplete();\n },\n };\n },\n\n tippyProps () {\n return {\n offset: this.offset,\n delay: this.delay ? TOOLTIP_DELAY_MS : false,\n placement: this.placement,\n sticky: this.sticky,\n theme: this.inverted ? 'inverted' : undefined,\n animation: this.transition ? 'fade' : false,\n\n popperOptions: getPopperOptions({\n fallbackPlacements: this.fallbackPlacements,\n hasHideModifierEnabled: true,\n onChangePlacement: this.onChangePlacement,\n }),\n };\n },\n\n anchor () {\n return this.externalAnchor ? document.body.querySelector(this.externalAnchor) : getAnchor(this.$refs.anchor);\n },\n },\n\n watch: {\n\n tippyProps: {\n handler: 'setProps',\n deep: true,\n },\n\n show: {\n handler: function (show) {\n if (show !== null) {\n this.isShown = show;\n }\n },\n\n immediate: true,\n },\n\n isShown (isShown) {\n if (isShown) {\n this.setProps();\n this.tip.show();\n } else {\n this.tip.hide();\n }\n },\n\n sticky (sticky) {\n this.tip.setProps({\n sticky,\n });\n },\n },\n\n mounted () {\n if (!this.enabled && this.show != null) {\n console.warn('Tooltip: You cannot use both the enabled and show props at the same time.');\n console.warn('The show prop will be ignored.');\n }\n\n this.externalAnchor && this.addExternalAnchorEventListeners();\n this.tip = createTippy(this.anchor, this.initOptions());\n\n // immediate watcher fires before mounted, so have this here in case\n // show prop was initially set to true.\n if (this.isShown) {\n this.tip.show();\n }\n },\n\n beforeUnmount () {\n this.externalAnchor && this.removeExternalAnchorEventListeners();\n\n if (this.tip) {\n this.tip?.destroy();\n }\n },\n\n methods: {\n calculateAnchorZindex () {\n // if a modal is currently active render at modal-element z-index, otherwise at tooltip z-index\n if (this.$el.getRootNode()\n .querySelector('.d-modal[aria-hidden=\"false\"], .d-modal--transparent[aria-hidden=\"false\"]') ||\n // Special case because we don't have any dialtone drawer component yet. Render at 651 when\n // anchor of popover is within a drawer.\n this.$el.closest('.d-zi-drawer')) {\n return 651;\n } else {\n return 400;\n }\n },\n\n hasVisibleFocus () {\n return this.anchor.matches(':focus-visible');\n },\n\n onEnterAnchor (e) {\n if (this.delay && this.inTimer === null) {\n this.inTimer = setTimeout(() => {\n this.triggerShow(e);\n }, TOOLTIP_DELAY_MS);\n } else {\n this.triggerShow(e);\n }\n },\n\n triggerShow (e) {\n if (e.type === 'focusin') {\n // only show tooltips on visible focus when triggered via focus.\n // when the user is using the mouse they only want tooltips to display\n // on mouseover.\n //\n // Example: anchor of a popover is a button with tooltip.\n // closing it with the mouse would trigger the tooltip to display as\n // the anchor is focused on close. Not what we want.\n if (this.show === null && this.hasVisibleFocus()) {\n this.isShown = true;\n }\n } else {\n if (this.show === null) this.isShown = true;\n }\n },\n\n onLeaveAnchor (e) {\n if (e.type === 'keydown' && e.code !== 'Escape') return;\n\n clearTimeout(this.inTimer);\n this.inTimer = null;\n this.triggerHide();\n },\n\n triggerHide () {\n if (this.show === null) this.isShown = false;\n },\n\n onChangePlacement (placement) {\n this.currentPlacement = placement;\n },\n\n onLeaveTransitionComplete () {\n this.tip?.unmount();\n this.$emit('shown', false);\n if (this.show !== null) {\n this.$emit('update:show', false);\n }\n },\n\n onEnterTransitionComplete () {\n this.$emit('shown', true);\n if (this.show !== null) {\n this.$emit('update:show', true);\n }\n },\n\n setProps () {\n if (this.tip && this.tip.setProps) {\n this.tip.setProps({\n ...this.tippyProps,\n // these need to be set here rather than in tippyProps because they are non-reactive\n appendTo: this.appendTo === 'body' ? this.anchor?.getRootNode()?.querySelector('body') : this.appendTo,\n zIndex: this.calculateAnchorZindex(),\n });\n }\n },\n\n onMount () {\n this.setProps();\n },\n\n onShow (tooltipInstance) {\n // don't show tooltip when no content\n if (tooltipInstance.props.content.textContent.length === 0) {\n return false;\n }\n },\n\n // set initial options here. If any of the options need to dynamically change, they should be put in\n // tippyProps instead.\n initOptions () {\n const template = this.$refs.content;\n return {\n content: template,\n arrow: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"7\"><path d=\"M 14.5,7 8,0 1.5,7 Z\"/></svg>',\n // transition duration - same as our custom fade delay in dialtone-globals.less\n duration: 180,\n interactive: false,\n trigger: 'manual',\n hideOnClick: false,\n // disable tooltip from displaying on touch devices\n touch: false,\n onMount: this.onMount,\n onShow: this.onShow,\n popperOptions: getPopperOptions({\n hasHideModifierEnabled: true,\n }),\n };\n },\n\n addExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n\n removeExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n@import 'tippy.js/dist/svg-arrow.css';\n\n.tippy-box[data-reference-hidden] {\n visibility: hidden;\n pointer-events: none;\n}\n\n.tippy-box > .tippy-svg-arrow {\n fill: var(--dt-color-surface-contrast);\n}\n\n.tippy-box[data-theme~='inverted'] > .tippy-svg-arrow {\n fill: var(--dt-color-surface-moderate);\n}\n\n.tippy-box[data-animation='fade'][data-state='hidden'] {\n opacity: 0;\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_renderSlot","_createElementVNode","_mergeProps","_toHandlers"],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.js","sources":["../../components/tooltip/tooltip.vue"],"sourcesContent":["<template>\n <div data-qa=\"dt-tooltip-container\">\n <!-- disabling as the below events are for capturing events from interactive\n elements within the span rather than on the span itself -->\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <span\n v-if=\"!externalAnchor\"\n ref=\"anchor\"\n data-qa=\"dt-tooltip-anchor\"\n @focusin=\"onEnterAnchor\"\n @focusout=\"onLeaveAnchor\"\n @mouseenter=\"onEnterAnchor\"\n @mouseleave=\"onLeaveAnchor\"\n @keydown.esc=\"onLeaveAnchor\"\n >\n <!-- @slot Slot for the anchor element -->\n <slot\n name=\"anchor\"\n />\n </span>\n <div\n :id=\"id\"\n ref=\"content\"\n data-qa=\"dt-tooltip\"\n :class=\"[\n 'd-tooltip',\n {\n [ TOOLTIP_KIND_MODIFIERS.inverted ]: inverted,\n },\n contentClass,\n ]\"\n v-on=\"tooltipListeners\"\n >\n <!-- In case when transitionend event doesn't work correct (for ex. tooltip component with custom trigger) -->\n <!-- after-leave event can be used instead of transitionend -->\n <!-- @slot Slot for the content, defaults to message prop -->\n <slot>\n {{ message }}\n </slot>\n </div>\n </div>\n</template>\n\n<script>\nimport {\n TOOLTIP_KIND_MODIFIERS,\n TOOLTIP_DIRECTIONS,\n TOOLTIP_STICKY_VALUES,\n TOOLTIP_DELAY_MS,\n} from './tooltip_constants.js';\nimport {\n POPOVER_APPEND_TO_VALUES,\n} from '../popover/popover_constants';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport {\n createTippy,\n getAnchor,\n getPopperOptions,\n} from '@/components/popover/tippy_utils';\n\n/**\n * A tooltip is a floating label that briefly explains an action, function, or an element.\n * Its content is exclusively text and shouldn't be vital information for users.\n * If richer media is desired, consider using a popover instead.\n * @see https://dialtone.dialpad.com/components/tooltip.html\n */\nexport default {\n name: 'DtTooltip',\n\n props: {\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * If the popover does not fit in the direction described by \"placement\",\n * it will attempt to change its direction to the \"fallbackPlacements\"\n * if defined, otherwise it will automatically position to a new location\n * as it sees best fit. See\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * */\n fallbackPlacements: {\n type: Array,\n default: () => ['auto'],\n },\n\n /**\n * If true, applies inverted styles to the tooltip\n * @values true, false\n */\n inverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the tooltip from its reference element\n * by the specified number of pixels. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n */\n offset: {\n type: Array,\n default: () => [0, 12],\n },\n\n /**\n * The direction the popover displays relative to the anchor. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n */\n placement: {\n type: String,\n default: 'top',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * If the tooltip sticks to the anchor. This is usually not needed, but can be needed\n * if the reference element's position is animating, or to automatically update the popover\n * position in those cases the DOM layout changes the reference element's position.\n * `true` enables it, `reference` only checks the \"reference\" rect for changes and `popper` only\n * checks the \"popper\" rect for changes. See\n * <a\n * class=\"d-link\"\n * href=\"https://atomiks.github.io/tippyjs/v6/all-props/#sticky\"\n * target=\"_blank\"\n * >\n * Tippy.js docs\n * </a>\n * @values true, false, reference, popper\n */\n sticky: {\n type: [Boolean, String],\n default: false,\n validator: (sticky) => {\n return TOOLTIP_STICKY_VALUES.includes(sticky);\n },\n },\n\n /**\n * Sets the element to which the tooltip is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * This prop is not reactive, must be set on initial render.\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * Additional css classes for the tooltip content element.\n * Can accept all of String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n contentClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * A provided message for the tooltip content\n */\n message: {\n type: String,\n default: '',\n },\n\n /**\n * Controls whether hover/focus causes the tooltip to appear.\n * Cannot be combined with the show prop. show value will be ignored.\n * by default this is true, if you override with false, the tooltip will never show up.\n */\n enabled: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Controls whether the tooltip is shown. Leaving this null will have the tooltip trigger on mouseover by default.\n * If you set this value, the default mouseover behavior will be disabled and you can control it as you need.\n * Supports .sync modifier\n * @values null, true, false\n */\n show: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Whether the tooltip should have a transition effect.\n */\n transition: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the tooltip will have a delay when being focused or moused over.\n * @values true, false\n */\n delay: {\n type: Boolean,\n default: true,\n },\n\n /**\n * External anchor id to use in those cases the anchor can't be provided via the slot.\n * For instance, using the combobox's input as the anchor for the popover.\n */\n externalAnchor: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Emitted when tooltip is shown or hidden\n *\n * @event shown\n * @type {Boolean}\n */\n 'shown',\n\n /**\n * Sync show value\n *\n * @event update:show\n */\n 'update:show',\n ],\n\n data () {\n return {\n TOOLTIP_KIND_MODIFIERS,\n hasSlotContent,\n tip: null,\n\n inTimer: null,\n\n // Internal state for whether the tooltip is shown. Changing the prop\n // will update this.\n isShown: false,\n\n // this is where the placement currently is, this can be different than\n // the placement prop when there is not enough available room for the tip\n // to display and it uses a fallback placement.\n currentPlacement: this.placement,\n };\n },\n\n computed: {\n // whether the tooltip is visible or not.\n isVisible () {\n const hasMessage = !!this.message?.trim();\n const hasDefaultSlot = !!this.$slots?.default;\n const isDeviceCompatible = !this.isTouchDevice;\n\n const shouldBeVisible = this.isShown && this.enabled && (hasMessage || hasDefaultSlot);\n\n return shouldBeVisible && isDeviceCompatible;\n },\n\n tooltipListeners () {\n return {\n 'after-leave': () => {\n this.onLeaveTransitionComplete();\n },\n\n 'after-enter': () => {\n this.onEnterTransitionComplete();\n },\n };\n },\n\n tippyProps () {\n return {\n offset: this.offset,\n delay: this.delay ? TOOLTIP_DELAY_MS : false,\n placement: this.placement,\n sticky: this.sticky,\n theme: this.inverted ? 'inverted' : undefined,\n animation: this.transition ? 'fade' : false,\n\n popperOptions: getPopperOptions({\n fallbackPlacements: this.fallbackPlacements,\n hasHideModifierEnabled: true,\n onChangePlacement: this.onChangePlacement,\n }),\n };\n },\n\n anchor () {\n return this.externalAnchor ? document.body.querySelector(this.externalAnchor) : getAnchor(this.$refs.anchor);\n },\n },\n\n watch: {\n\n tippyProps: {\n handler: 'setProps',\n deep: true,\n },\n\n show: {\n handler: function (show) {\n if (show !== null) {\n this.isShown = show;\n }\n },\n\n immediate: true,\n },\n\n isShown (isShown) {\n if (isShown) {\n this.setProps();\n this.tip.show();\n } else {\n this.tip.hide();\n }\n },\n\n sticky (sticky) {\n this.tip.setProps({\n sticky,\n });\n },\n },\n\n mounted () {\n if (!this.enabled && this.show != null) {\n console.warn('Tooltip: You cannot use both the enabled and show props at the same time.');\n console.warn('The show prop will be ignored.');\n }\n\n this.externalAnchor && this.addExternalAnchorEventListeners();\n this.tip = createTippy(this.anchor, this.initOptions());\n\n // immediate watcher fires before mounted, so have this here in case\n // show prop was initially set to true.\n if (this.isShown) {\n this.tip.show();\n }\n },\n\n beforeUnmount () {\n this.externalAnchor && this.removeExternalAnchorEventListeners();\n\n if (this.tip) {\n this.tip?.destroy();\n }\n },\n\n methods: {\n calculateAnchorZindex () {\n // if a modal is currently active render at modal-element z-index, otherwise at tooltip z-index\n if (this.$el.getRootNode()\n .querySelector('.d-modal[aria-hidden=\"false\"], .d-modal--transparent[aria-hidden=\"false\"]') ||\n // Special case because we don't have any dialtone drawer component yet. Render at 651 when\n // anchor of popover is within a drawer.\n this.$el.closest('.d-zi-drawer')) {\n return 651;\n } else {\n return 400;\n }\n },\n\n hasVisibleFocus () {\n return this.anchor.matches(':focus-visible');\n },\n\n onEnterAnchor (e) {\n if (this.delay && this.inTimer === null) {\n this.inTimer = setTimeout(() => {\n this.triggerShow(e);\n }, TOOLTIP_DELAY_MS);\n } else {\n this.triggerShow(e);\n }\n },\n\n triggerShow (e) {\n if (e.type === 'focusin') {\n // only show tooltips on visible focus when triggered via focus.\n // when the user is using the mouse they only want tooltips to display\n // on mouseover.\n //\n // Example: anchor of a popover is a button with tooltip.\n // closing it with the mouse would trigger the tooltip to display as\n // the anchor is focused on close. Not what we want.\n if (this.show === null && this.hasVisibleFocus()) {\n this.isShown = true;\n }\n } else {\n if (this.show === null) this.isShown = true;\n }\n },\n\n onLeaveAnchor (e) {\n if (e.type === 'keydown' && e.code !== 'Escape') return;\n\n clearTimeout(this.inTimer);\n this.inTimer = null;\n this.triggerHide();\n },\n\n triggerHide () {\n if (this.show === null) this.isShown = false;\n },\n\n onChangePlacement (placement) {\n this.currentPlacement = placement;\n },\n\n onLeaveTransitionComplete () {\n this.tip?.unmount();\n this.$emit('shown', false);\n if (this.show !== null) {\n this.$emit('update:show', false);\n }\n },\n\n onEnterTransitionComplete () {\n this.$emit('shown', true);\n if (this.show !== null) {\n this.$emit('update:show', true);\n }\n },\n\n setProps () {\n if (this.tip && this.tip.setProps) {\n this.tip.setProps({\n ...this.tippyProps,\n // these need to be set here rather than in tippyProps because they are non-reactive\n appendTo: this.appendTo === 'body' ? this.anchor?.getRootNode()?.querySelector('body') : this.appendTo,\n zIndex: this.calculateAnchorZindex(),\n });\n }\n },\n\n onMount () {\n this.setProps();\n },\n\n onShow (tooltipInstance) {\n // don't show tooltip when no content\n if (tooltipInstance.props.content.textContent.trim().length === 0) {\n return false;\n }\n },\n\n // set initial options here. If any of the options need to dynamically change, they should be put in\n // tippyProps instead.\n initOptions () {\n const template = this.$refs.content;\n return {\n content: template,\n arrow: '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"7\"><path d=\"M 14.5,7 8,0 1.5,7 Z\"/></svg>',\n // transition duration - same as our custom fade delay in dialtone-globals.less\n duration: 180,\n interactive: false,\n trigger: 'manual',\n hideOnClick: false,\n // disable tooltip from displaying on touch devices\n touch: false,\n onMount: this.onMount,\n onShow: this.onShow,\n popperOptions: getPopperOptions({\n hasHideModifierEnabled: true,\n }),\n };\n },\n\n addExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.addEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n\n removeExternalAnchorEventListeners () {\n ['focusin', 'mouseenter'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onEnterAnchor(event));\n });\n ['focusout', 'mouseleave', 'keydown'].forEach(listener => {\n this.anchor.removeEventListener(listener, (event) => this.onLeaveAnchor(event));\n });\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n@import 'tippy.js/dist/svg-arrow.css';\n\n.tippy-box[data-reference-hidden] {\n visibility: hidden;\n pointer-events: none;\n}\n\n.tippy-box > .tippy-svg-arrow {\n fill: var(--dt-color-surface-contrast);\n}\n\n.tippy-box[data-theme~='inverted'] > .tippy-svg-arrow {\n fill: var(--dt-color-surface-moderate);\n}\n\n.tippy-box[data-animation='fade'][data-state='hidden'] {\n opacity: 0;\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_renderSlot","_createElementVNode","_mergeProps","_toHandlers"],"mappings":"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"}
@@ -170,31 +170,35 @@
170
170
  .dt-suggestion-list--item {
171
171
  border: var(--dt-size-100) solid transparent;
172
172
  }
173
- .ProseMirror p.is-editor-empty:first-child::before {
173
+ .dt-rich-text-editor--code-block {
174
+ background: var(--dt-color-surface-secondary);
175
+ padding: var(--dt-space-400);
176
+ }
177
+ .dt-rich-text-editor > .ProseMirror {
178
+ box-shadow: none;
179
+ }
180
+ .dt-rich-text-editor > .ProseMirror p.is-editor-empty:first-child::before {
174
181
  content: attr(data-placeholder);
175
182
  float: left;
176
183
  color: var(--dt-color-foreground-placeholder);
177
184
  pointer-events: none;
178
185
  height: 0;
179
186
  }
180
- .ProseMirror ul > li {
187
+ .dt-rich-text-editor > .ProseMirror ul,
188
+ .dt-rich-text-editor > .ProseMirror ol {
189
+ padding-left: var(--dt-space-525);
190
+ }
191
+ .dt-rich-text-editor > .ProseMirror ul > li {
181
192
  list-style-type: disc;
182
193
  }
183
- .ProseMirror ol > li {
194
+ .dt-rich-text-editor > .ProseMirror ol > li {
184
195
  list-style-type: decimal;
185
196
  }
186
- .ProseMirror blockquote {
197
+ .dt-rich-text-editor > .ProseMirror blockquote {
187
198
  padding-left: var(--dt-space-400);
188
199
  border-left: var(--dt-size-border-300) solid var(--dt-color-foreground-muted-inverted);
189
200
  margin-left: 0;
190
201
  }
191
- .dt-rich-text-editor--code-block {
192
- background: var(--dt-color-surface-secondary);
193
- padding: var(--dt-space-400);
194
- }
195
- .dt-rich-text-editor {
196
- overflow: hidden;
197
- }
198
202
  .dt-list-item[role="menuitem"] {
199
203
  border-radius: var(--dt-size-300);
200
204
  }
@@ -1165,42 +1169,42 @@
1165
1169
  transform: scale(1);
1166
1170
  }
1167
1171
  }
1168
- .dt-feed-item-row[data-v-070cce61] {
1172
+ .dt-feed-item-row[data-v-418199f0] {
1169
1173
  width: var(--dt-size-100-percent);
1170
1174
  box-sizing: border-box;
1171
1175
  position: relative;
1172
1176
  padding: var(--dt-space-300) var(--dt-space-500);
1173
1177
  }
1174
- .dt-feed-item-row[data-v-070cce61]:focus-visible {
1178
+ .dt-feed-item-row[data-v-418199f0]:focus-visible {
1175
1179
  box-shadow: var(--dt-shadow-focus-inset);
1176
1180
  }
1177
- .dt-feed-item-row--state-searched[data-v-070cce61] {
1181
+ .dt-feed-item-row--state-searched[data-v-418199f0] {
1178
1182
  background-color: var(--dt-color-surface-warning-subtle);
1179
1183
  }
1180
- .dt-feed-item-row--state-error[data-v-070cce61] {
1184
+ .dt-feed-item-row--state-error[data-v-418199f0] {
1181
1185
  background-color: var(--dt-color-surface-critical-subtle);
1182
1186
  }
1183
- .dt-feed-item-row--active[data-v-070cce61] {
1187
+ .dt-feed-item-row--active[data-v-418199f0] {
1184
1188
  background-color: var(--dt-color-surface-secondary-opaque);
1185
1189
  }
1186
- .dt-feed-item-row--state-transition[data-v-070cce61] {
1190
+ .dt-feed-item-row--state-transition[data-v-418199f0] {
1187
1191
  transition-duration: 2s;
1188
1192
  transition-delay: 0s;
1189
1193
  transition-timing-function: var(--ttf-in-out);
1190
1194
  transition-property: background-color;
1191
1195
  }
1192
- .dt-feed-item-row__avatar-container[data-v-070cce61] {
1196
+ .dt-feed-item-row__avatar-container[data-v-418199f0] {
1193
1197
  padding-top: var(--dt-space-300);
1194
1198
  padding-bottom: var(--dt-space-300);
1195
1199
  }
1196
- .dt-feed-item-row__content[data-v-070cce61] {
1200
+ .dt-feed-item-row__content[data-v-418199f0] {
1197
1201
  padding-left: var(--dt-space-300);
1198
1202
  }
1199
- .dt-feed-item-row__attachment[data-v-070cce61] {
1203
+ .dt-feed-item-row__attachment[data-v-418199f0] {
1200
1204
  padding-top: var(--dt-space-200);
1201
1205
  padding-bottom: var(--dt-space-300);
1202
1206
  }
1203
- .dt-feed-item-row__attachment[data-v-070cce61] .dt-feed-item-row__image {
1207
+ .dt-feed-item-row__attachment[data-v-418199f0] .dt-feed-item-row__image {
1204
1208
  border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);
1205
1209
  border-radius: var(--dt-size-radius-400);
1206
1210
  display: block;
@@ -1209,11 +1213,11 @@
1209
1213
  min-width: 5.6rem;
1210
1214
  min-height: 5.6rem;
1211
1215
  }
1212
- .dt-feed-item-row__attachment[data-v-070cce61] .dt-feed-item-row__video {
1216
+ .dt-feed-item-row__attachment[data-v-418199f0] .dt-feed-item-row__video {
1213
1217
  display: block;
1214
1218
  height: 25rem;
1215
1219
  }
1216
- .dt-feed-item-row__header[data-v-070cce61] {
1220
+ .dt-feed-item-row__header[data-v-418199f0] {
1217
1221
  display: flex;
1218
1222
  align-items: baseline;
1219
1223
  flex-wrap: wrap;
@@ -1221,43 +1225,43 @@
1221
1225
  font-size: var(--dt-font-size-200);
1222
1226
  line-height: var(--dt-font-line-height-300);
1223
1227
  }
1224
- .dt-feed-item-row__header__name[data-v-070cce61] {
1228
+ .dt-feed-item-row__header__name[data-v-418199f0] {
1225
1229
  font-weight: var(--dt-font-weight-bold);
1226
1230
  }
1227
- .dt-feed-item-row__header__time[data-v-070cce61] {
1231
+ .dt-feed-item-row__header__time[data-v-418199f0] {
1228
1232
  font-size: var(--dt-font-size-100);
1229
1233
  color: var(--dt-color-foreground-tertiary);
1230
1234
  flex-shrink: 0;
1231
1235
  }
1232
- .dt-feed-item-row__reactions[data-v-070cce61] {
1236
+ .dt-feed-item-row__reactions[data-v-418199f0] {
1233
1237
  display: flex;
1234
1238
  flex-wrap: wrap;
1235
1239
  padding-top: var(--dt-space-200);
1236
1240
  padding-bottom: var(--dt-space-200);
1237
1241
  padding-left: var(--dt-space-300);
1238
1242
  }
1239
- .dt-feed-item-row__threading[data-v-070cce61] {
1243
+ .dt-feed-item-row__threading[data-v-418199f0] {
1240
1244
  padding-top: var(--dt-space-200);
1241
1245
  padding-bottom: var(--dt-space-200);
1242
1246
  }
1243
- .dt-feed-item-row__left-time[data-v-070cce61] {
1247
+ .dt-feed-item-row__left-time[data-v-418199f0] {
1244
1248
  color: var(--dt-color-foreground-tertiary);
1245
1249
  font-size: var(--dt-font-size-100);
1246
1250
  font-weight: var(--dt-font-weight-normal);
1247
1251
  vertical-align: middle;
1248
1252
  white-space: nowrap;
1249
1253
  }
1250
- .dt-feed-item-row__menu[data-v-070cce61] {
1254
+ .dt-feed-item-row__menu[data-v-418199f0] {
1251
1255
  position: absolute;
1252
1256
  top: var(--dt-space-550-negative);
1253
1257
  right: var(--dt-space-450);
1254
1258
  }
1255
- .dt-feed-item-row[data-v-070cce61] > .dt-item-layout {
1259
+ .dt-feed-item-row[data-v-418199f0] > .dt-item-layout {
1256
1260
  font: var(--dt-typography-body-md-compact);
1257
1261
  min-height: initial;
1258
1262
  padding: 0px;
1259
1263
  }
1260
- .dt-feed-item-row[data-v-070cce61] > .dt-item-layout > .dt-item-layout--left {
1264
+ .dt-feed-item-row[data-v-418199f0] > .dt-item-layout > .dt-item-layout--left {
1261
1265
  align-self: flex-start;
1262
1266
  text-align: end;
1263
1267
  display: block;
@@ -1265,11 +1269,11 @@
1265
1269
  padding-left: var(--dt-space-0);
1266
1270
  min-width: calc(var(--dt-space-600) + var(--dt-space-300));
1267
1271
  }
1268
- .dt-feed-item-row[data-v-070cce61] > .dt-item-layout > .dt-item-layout--right {
1272
+ .dt-feed-item-row[data-v-418199f0] > .dt-item-layout > .dt-item-layout--right {
1269
1273
  padding: 0;
1270
1274
  min-width: initial;
1271
1275
  }
1272
- .dt-feed-item-row[data-v-070cce61] > .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom {
1276
+ .dt-feed-item-row[data-v-418199f0] > .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom {
1273
1277
  display: flex;
1274
1278
  flex-direction: column;
1275
1279
  margin-top: 0;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autolink.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/custom_link/autolink.js"],"names":[],"mappings":"AAcA;;GAEG;AACH,oDAqEC;uBA9EM,kBAAkB"}
@@ -0,0 +1,3 @@
1
+ export const CustomLink: Mark<any, any>;
2
+ import { Mark } from '@tiptap/core';
3
+ //# sourceMappingURL=custom_link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom_link.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/custom_link/custom_link.js"],"names":[],"mappings":"AAsBA,wCAwBG;qBAlCI,cAAc"}
@@ -0,0 +1,3 @@
1
+ export default CustomLink;
2
+ import { CustomLink } from './custom_link';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/custom_link/index.js"],"names":[],"mappings":";2BAA2B,eAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/custom_link/utils.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,yFAcC;AAED;;GAEG;AACH,+DAKC;AAED;;;GAGG;AACH,qDAUC;AAED;;;;;GAKG;AACH;;;;EAuBC;AAED;;;;GAIG;AACH;;;;EAuBC;AAED;;GAEG;AACH,4EAYC;AAKD;;GAEG;AACH,4FAwDC"}
@@ -72,12 +72,29 @@ declare const _default: import("vue").DefineComponent<{
72
72
  default: string;
73
73
  };
74
74
  /**
75
- * Enables the Link extension and optionally passes configurations to it
75
+ * Enables the TipTap Link extension and optionally passes configurations to it
76
+ *
77
+ * It is not recommended to use this and the custom link extension at the same time.
76
78
  */
77
79
  link: {
78
80
  type: (ObjectConstructor | BooleanConstructor)[];
79
81
  default: boolean;
80
82
  };
83
+ /**
84
+ * Enables the Custom Link extension and optionally passes configurations to it
85
+ *
86
+ * It is not recommended to use this and the built in TipTap link extension at the same time.
87
+ *
88
+ * The custom link does some additional things on top of the built in TipTap link
89
+ * extension such as styling phone numbers and IP adresses as links, and allows you
90
+ * to linkify text without having to type a space after the link. Currently it is missing some
91
+ * functionality such as editing links and will likely require more work to be fully usable,
92
+ * so it is recommended to use the built in TipTap link for now.
93
+ */
94
+ customLink: {
95
+ type: (ObjectConstructor | BooleanConstructor)[];
96
+ default: boolean;
97
+ };
81
98
  /**
82
99
  * suggestion object containing the items query function.
83
100
  * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion
@@ -275,12 +292,29 @@ declare const _default: import("vue").DefineComponent<{
275
292
  default: string;
276
293
  };
277
294
  /**
278
- * Enables the Link extension and optionally passes configurations to it
295
+ * Enables the TipTap Link extension and optionally passes configurations to it
296
+ *
297
+ * It is not recommended to use this and the custom link extension at the same time.
279
298
  */
280
299
  link: {
281
300
  type: (ObjectConstructor | BooleanConstructor)[];
282
301
  default: boolean;
283
302
  };
303
+ /**
304
+ * Enables the Custom Link extension and optionally passes configurations to it
305
+ *
306
+ * It is not recommended to use this and the built in TipTap link extension at the same time.
307
+ *
308
+ * The custom link does some additional things on top of the built in TipTap link
309
+ * extension such as styling phone numbers and IP adresses as links, and allows you
310
+ * to linkify text without having to type a space after the link. Currently it is missing some
311
+ * functionality such as editing links and will likely require more work to be fully usable,
312
+ * so it is recommended to use the built in TipTap link for now.
313
+ */
314
+ customLink: {
315
+ type: (ObjectConstructor | BooleanConstructor)[];
316
+ default: boolean;
317
+ };
284
318
  /**
285
319
  * suggestion object containing the items query function.
286
320
  * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion
@@ -388,6 +422,7 @@ declare const _default: import("vue").DefineComponent<{
388
422
  allowLineBreaks: boolean;
389
423
  autoFocus: string | number | boolean;
390
424
  outputFormat: string;
425
+ customLink: boolean | Record<string, any>;
391
426
  allowBlockquote: boolean;
392
427
  allowBold: boolean;
393
428
  allowBulletList: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"rich_text_editor.vue.d.ts","sourceRoot":"","sources":["../../../../components/rich_text_editor/rich_text_editor.vue.js"],"names":[],"mappings":";IA6CI;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;;;;;;OAUG;;;;;;IAYH;;;;;OAKG;;;;;;IASH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;OAYG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;MAEE;;;;;IAMF;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;;;;;;;;;;IA4OH;;;;;OAKG;;;;;;IA+DH;;;OAGG;;;;;;;IA9eH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;;;;;;OAUG;;;;;;IAYH;;;;;OAKG;;;;;;IASH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;OAYG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;MAEE;;;;;IAMF;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG"}
1
+ {"version":3,"file":"rich_text_editor.vue.d.ts","sourceRoot":"","sources":["../../../../components/rich_text_editor/rich_text_editor.vue.js"],"names":[],"mappings":";IA6CI;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;;;;;;OAUG;;;;;;IAYH;;;;;OAKG;;;;;;IASH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;OAYG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;MAEE;;;;;IAMF;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;;;;;;;;;;IAkPH;;;;;OAKG;;;;;;IA+DH;;;OAGG;;;;;;;IAtgBH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;;;;;;OAUG;;;;;;IAYH;;;;;OAKG;;;;;;IASH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;OAYG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;MAEE;;;;;IAMF;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG"}
@@ -28,6 +28,13 @@ declare const _default: import("vue").DefineComponent<{
28
28
  type: StringConstructor;
29
29
  default: string;
30
30
  };
31
+ /**
32
+ * Initials will never be shown. Instead it will show a "User" icon.
33
+ */
34
+ noInitials: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
31
38
  /**
32
39
  * time string displayed as is.
33
40
  * Shown on the header when showHeader is true
@@ -77,6 +84,7 @@ declare const _default: import("vue").DefineComponent<{
77
84
  transitionend: () => void;
78
85
  keydown: (event: any) => void;
79
86
  };
87
+ iconName(): "user" | null;
80
88
  listItemClasses(): any[];
81
89
  }, {
82
90
  transitionComplete(): void;
@@ -122,6 +130,13 @@ declare const _default: import("vue").DefineComponent<{
122
130
  type: StringConstructor;
123
131
  default: string;
124
132
  };
133
+ /**
134
+ * Initials will never be shown. Instead it will show a "User" icon.
135
+ */
136
+ noInitials: {
137
+ type: BooleanConstructor;
138
+ default: boolean;
139
+ };
125
140
  /**
126
141
  * time string displayed as is.
127
142
  * Shown on the header when showHeader is true
@@ -172,6 +187,7 @@ declare const _default: import("vue").DefineComponent<{
172
187
  showHeader: boolean;
173
188
  avatarImageUrl: string;
174
189
  displayName: string;
190
+ noInitials: boolean;
175
191
  shortTime: string;
176
192
  labelText: string;
177
193
  }, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"feed_item_row.vue.d.ts","sourceRoot":"","sources":["../../../../../recipes/conversation_view/feed_item_row/feed_item_row.vue.js"],"names":[],"mappings":";IAyBI;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IArEH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG"}
1
+ {"version":3,"file":"feed_item_row.vue.d.ts","sourceRoot":"","sources":["../../../../../recipes/conversation_view/feed_item_row/feed_item_row.vue.js"],"names":[],"mappings":";IAyBI;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA7EH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG;;;;;IAMH;;OAEG"}
@@ -236,6 +236,7 @@ declare const _default: import("vue").DefineComponent<{
236
236
  selected: boolean;
237
237
  avatarSrc: string;
238
238
  avatarSeed: string;
239
+ noInitials: boolean;
239
240
  unreadCount: string;
240
241
  unreadCountTooltip: string;
241
242
  hasUnreads: boolean;
@@ -245,7 +246,6 @@ declare const _default: import("vue").DefineComponent<{
245
246
  avatarPresence: string;
246
247
  presenceText: string;
247
248
  userStatus: string;
248
- noInitials: boolean;
249
249
  }, {}>;
250
250
  export default _default;
251
251
  //# sourceMappingURL=contact_row.vue.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialpad/dialtone",
3
- "version": "9.36.1",
3
+ "version": "9.38.2",
4
4
  "description": "Dialpad's Dialtone design system monorepo",
5
5
  "files": [
6
6
  "dist"
@@ -62,8 +62,8 @@
62
62
  "requireindex": "1.2.0",
63
63
  "stylelint": "15.11.0",
64
64
  "tippy.js": "6.3.7",
65
- "@dialpad/dialtone-emojis": "1.0.5",
66
- "@dialpad/dialtone-icons": "4.15.3"
65
+ "@dialpad/dialtone-icons": "4.16.1",
66
+ "@dialpad/dialtone-emojis": "1.0.5"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@commitlint/cli": "^18.4.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"autolink.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/autolink.js"],"names":[],"mappings":"AAcA;;GAEG;AACH,oDAqEC;uBA9EM,kBAAkB"}
@@ -1,4 +0,0 @@
1
- export * from "./link";
2
- export default Link;
3
- import { Link } from './link';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/index.js"],"names":[],"mappings":";;qBAAqB,QAAQ"}
@@ -1,3 +0,0 @@
1
- export const Link: Mark<any, any>;
2
- import { Mark } from '@tiptap/core';
3
- //# sourceMappingURL=link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/link.js"],"names":[],"mappings":"AAaA,kCAwBG;qBAlCI,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/utils.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,yFAcC;AAED;;GAEG;AACH,+DAKC;AAED;;;GAGG;AACH,qDAUC;AAED;;;;;GAKG;AACH;;;;EAuBC;AAED;;;;GAIG;AACH;;;;EAuBC;AAED;;GAEG;AACH,4EAYC;AAKD;;GAEG;AACH,4FAwDC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"autolink.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/autolink.js"],"names":[],"mappings":"AAcA;;GAEG;AACH,oDAqEC;uBA9EM,kBAAkB"}
@@ -1,4 +0,0 @@
1
- export * from "./link";
2
- export default Link;
3
- import { Link } from './link';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/index.js"],"names":[],"mappings":";;qBAAqB,QAAQ"}
@@ -1,3 +0,0 @@
1
- export const Link: Mark<any, any>;
2
- import { Mark } from '@tiptap/core';
3
- //# sourceMappingURL=link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/link.js"],"names":[],"mappings":"AAaA,kCAwBG;qBAlCI,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../components/rich_text_editor/extensions/link/utils.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,yFAcC;AAED;;GAEG;AACH,+DAKC;AAED;;;GAGG;AACH,qDAUC;AAED;;;;;GAKG;AACH;;;;EAuBC;AAED;;;;GAIG;AACH;;;;EAuBC;AAED;;GAEG;AACH,4EAYC;AAKD;;GAEG;AACH,4FAwDC"}