@dialpad/dialtone-vue 3.124.0 → 3.125.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 (79) hide show
  1. package/dist/chunks/{dropdown-w8Do29L5.js → dropdown-XFYig-ys.js} +2 -2
  2. package/dist/chunks/{dropdown-w8Do29L5.js.map → dropdown-XFYig-ys.js.map} +1 -1
  3. package/dist/chunks/{dropdown-Hn-TeTvZ.js → dropdown-tVfEPEl1.js} +2 -2
  4. package/dist/chunks/{dropdown-Hn-TeTvZ.js.map → dropdown-tVfEPEl1.js.map} +1 -1
  5. package/dist/chunks/{popover_constants-Qkpb0yh2.js → popover_constants-kQaX7G4a.js} +10 -13
  6. package/dist/chunks/popover_constants-kQaX7G4a.js.map +1 -0
  7. package/dist/chunks/{popover_constants-JwBF9h1Z.js → popover_constants-qUYTzsS3.js} +10 -13
  8. package/dist/chunks/popover_constants-qUYTzsS3.js.map +1 -0
  9. package/dist/component-documentation.json +1 -1
  10. package/dist/dialtone-vue.cjs +2 -2
  11. package/dist/dialtone-vue.js +2 -2
  12. package/dist/lib/callbar-button-with-popover.cjs +2 -2
  13. package/dist/lib/callbar-button-with-popover.js +2 -2
  14. package/dist/lib/callbar-button.cjs +1 -2
  15. package/dist/lib/callbar-button.cjs.map +1 -1
  16. package/dist/lib/callbar-button.js +1 -2
  17. package/dist/lib/callbar-button.js.map +1 -1
  18. package/dist/lib/combobox-multi-select.cjs +1 -1
  19. package/dist/lib/combobox-multi-select.js +1 -1
  20. package/dist/lib/combobox-with-popover.cjs +1 -1
  21. package/dist/lib/combobox-with-popover.js +1 -1
  22. package/dist/lib/contact-row.cjs +1 -2
  23. package/dist/lib/contact-row.cjs.map +1 -1
  24. package/dist/lib/contact-row.js +1 -2
  25. package/dist/lib/contact-row.js.map +1 -1
  26. package/dist/lib/datepicker.cjs +1 -2
  27. package/dist/lib/datepicker.cjs.map +1 -1
  28. package/dist/lib/datepicker.js +1 -2
  29. package/dist/lib/datepicker.js.map +1 -1
  30. package/dist/lib/dropdown.cjs +2 -2
  31. package/dist/lib/dropdown.js +2 -2
  32. package/dist/lib/editor.cjs +1 -1
  33. package/dist/lib/editor.js +1 -1
  34. package/dist/lib/emoji-picker.cjs +1 -2
  35. package/dist/lib/emoji-picker.cjs.map +1 -1
  36. package/dist/lib/emoji-picker.js +1 -2
  37. package/dist/lib/emoji-picker.js.map +1 -1
  38. package/dist/lib/emoji-row.cjs +1 -2
  39. package/dist/lib/emoji-row.cjs.map +1 -1
  40. package/dist/lib/emoji-row.js +1 -2
  41. package/dist/lib/emoji-row.js.map +1 -1
  42. package/dist/lib/general-row.cjs +47 -10
  43. package/dist/lib/general-row.cjs.map +1 -1
  44. package/dist/lib/general-row.js +47 -10
  45. package/dist/lib/general-row.js.map +1 -1
  46. package/dist/lib/group-row.cjs +1 -2
  47. package/dist/lib/group-row.cjs.map +1 -1
  48. package/dist/lib/group-row.js +1 -2
  49. package/dist/lib/group-row.js.map +1 -1
  50. package/dist/lib/hovercard.cjs +1 -1
  51. package/dist/lib/hovercard.js +1 -1
  52. package/dist/lib/ivr-node.cjs +2 -2
  53. package/dist/lib/ivr-node.js +2 -2
  54. package/dist/lib/message-input.cjs +2 -2
  55. package/dist/lib/message-input.js +2 -2
  56. package/dist/lib/popover.cjs +2 -2
  57. package/dist/lib/popover.cjs.map +1 -1
  58. package/dist/lib/popover.js +3 -3
  59. package/dist/lib/popover.js.map +1 -1
  60. package/dist/lib/tooltip-directive.cjs +1 -2
  61. package/dist/lib/tooltip-directive.cjs.map +1 -1
  62. package/dist/lib/tooltip-directive.js +1 -2
  63. package/dist/lib/tooltip-directive.js.map +1 -1
  64. package/dist/lib/tooltip.cjs +40 -52
  65. package/dist/lib/tooltip.cjs.map +1 -1
  66. package/dist/lib/tooltip.js +42 -54
  67. package/dist/lib/tooltip.js.map +1 -1
  68. package/dist/style.css +87 -55
  69. package/dist/types/components/popover/tippy_utils.d.ts +1 -6
  70. package/dist/types/components/popover/tippy_utils.d.ts.map +1 -1
  71. package/dist/types/components/tooltip/tooltip.vue.d.ts +22 -47
  72. package/dist/types/components/tooltip/tooltip.vue.d.ts.map +1 -1
  73. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +19 -0
  74. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  75. package/package.json +5 -5
  76. package/dist/chunks/popover_constants-JwBF9h1Z.js.map +0 -1
  77. package/dist/chunks/popover_constants-Qkpb0yh2.js.map +0 -1
  78. package/dist/types/components/tooltip/modifiers.d.ts +0 -8
  79. package/dist/types/components/tooltip/modifiers.d.ts.map +0 -1
@@ -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 @touchstart=\"onTouchStart\"\n >\n <!-- @slot Slot for the anchor element -->\n <slot\n name=\"anchor\"\n />\n </span>\n <dt-lazy-show\n :id=\"id\"\n ref=\"content\"\n :show=\"isVisible\"\n role=\"tooltip\"\n aria-hidden=\"false\"\n data-qa=\"dt-tooltip\"\n :appear=\"contentAppear\"\n :transition=\"transition\"\n :class=\"[\n 'd-tooltip',\n `d-tooltip__arrow-tippy--${currentPlacement}`,\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 </dt-lazy-show>\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 { DtLazyShow } from '@/components/lazy_show';\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 components: {\n DtLazyShow,\n },\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, -4],\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 * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n\n /**\n * Whether to apply transition on initial render in the content lazy show component.\n * @values true, false\n */\n contentAppear: {\n type: Boolean,\n default: false,\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 // flag check touch based device\n isTouchDevice: false,\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 interactive: false,\n trigger: 'manual',\n placement: this.placement,\n sticky: this.sticky,\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 // Note: This is to stop the call of mouseenter event when touchstart event is triggered,\n // as when triggered by click or touch, the relatedTarget property of MouseEvent is null\n if (this.isTouchDevice && !e.relatedTarget) return;\n\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 // since this method will be trigger by mouse event, updating the flag is non-touch device\n this.isTouchDevice = false;\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 zIndex: this.calculateAnchorZindex(),\n appendTo: this.appendTo === 'body' ? this.anchor?.getRootNode()?.querySelector('body') : this.appendTo,\n });\n }\n },\n\n onMount () {\n this.setProps();\n },\n\n initOptions () {\n return {\n contentElement: this.$refs.content.$el,\n allowHTML: true,\n zIndex: this.calculateAnchorZindex(),\n onMount: this.onMount,\n ...this.tippyProps,\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 onTouchStart () {\n this.isTouchDevice = true;\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.tippy-box[data-popper-reference-hidden] {\n .d-tooltip {\n visibility: hidden;\n pointer-events: none;\n }\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_renderSlot","_createVNode","_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.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=\"6\"><path transform=\"rotate(180 6.21875 3.575)\" d=\"m12.844.45-6 6-6-6h12Z\"/></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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"}
package/dist/style.css CHANGED
@@ -10,9 +10,15 @@
10
10
  .d-dropdown-list > .dt-list-item {
11
11
  margin-top: var(--dt-space-200);
12
12
  }
13
- .tippy-box[data-popper-reference-hidden] .d-tooltip {
13
+ .tippy-box[data-placement^=top]>.tippy-svg-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-svg-arrow:after,.tippy-box[data-placement^=top]>.tippy-svg-arrow>svg{top:16px;transform:rotate(180deg)}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-placement^=left]>.tippy-svg-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-svg-arrow:after,.tippy-box[data-placement^=left]>.tippy-svg-arrow>svg{transform:rotate(90deg);top:calc(50% - 3px);left:11px}.tippy-box[data-placement^=right]>.tippy-svg-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-svg-arrow:after,.tippy-box[data-placement^=right]>.tippy-svg-arrow>svg{transform:rotate(-90deg);top:calc(50% - 3px);right:11px}.tippy-svg-arrow{width:16px;height:16px;fill:#333;text-align:initial}.tippy-svg-arrow,.tippy-svg-arrow>svg{position:absolute}.tippy-box[data-reference-hidden] {
14
14
  visibility: hidden;
15
15
  pointer-events: none;
16
+ }.tippy-box > .tippy-svg-arrow {
17
+ fill: var(--dt-color-surface-contrast);
18
+ }.tippy-box[data-theme~='inverted'] > .tippy-svg-arrow {
19
+ fill: var(--dt-color-surface-moderate);
20
+ }.tippy-box[data-animation='fade'][data-state='hidden'] {
21
+ opacity: 0;
16
22
  }
17
23
  .skeleton-placeholder {
18
24
  display: flex;
@@ -303,7 +309,7 @@
303
309
  background-color: var(--dt-color-surface-contrast);
304
310
  color: var(--dt-color-foreground-secondary-inverted);
305
311
  }
306
- .dt-leftbar-row[data-v-49d75ce6] {
312
+ .dt-leftbar-row[data-v-6ac4ceaa] {
307
313
  --leftbar-row-color-foreground: var(--dt-theme-sidebar-color-foreground);
308
314
  --leftbar-row-color-background: var(--dt-theme-sidebar-row-color-background);
309
315
  --leftbar-row-radius: var(--dt-size-radius-pill);
@@ -334,52 +340,65 @@
334
340
  transition-timing-function: var(--ttf-out-quint);
335
341
  cursor: pointer;
336
342
  }
337
- .dt-leftbar-row[data-v-49d75ce6]:not(.dt-leftbar-row--no-action):hover,
338
- .dt-leftbar-row[data-v-49d75ce6]:not(.dt-leftbar-row--no-action):focus-within {
343
+ .dt-leftbar-row[data-v-6ac4ceaa]:not(.dt-leftbar-row--no-action):hover,
344
+ .dt-leftbar-row[data-v-6ac4ceaa]:not(.dt-leftbar-row--no-action):focus-within {
339
345
  --leftbar-row-unread-badge-display: none;
340
346
  }
341
- .dt-leftbar-row[data-v-49d75ce6]:not(.dt-leftbar-row--no-action):hover .dt-leftbar-row__action,
342
- .dt-leftbar-row[data-v-49d75ce6]:not(.dt-leftbar-row--no-action):focus-within .dt-leftbar-row__action {
347
+ .dt-leftbar-row[data-v-6ac4ceaa]:not(.dt-leftbar-row--no-action):hover .dt-leftbar-row__action,
348
+ .dt-leftbar-row[data-v-6ac4ceaa]:not(.dt-leftbar-row--no-action):focus-within .dt-leftbar-row__action {
343
349
  display: inline-flex;
344
350
  }
345
- .dt-leftbar-row[data-v-49d75ce6]:not(.dt-leftbar-row--no-action):hover .dt-leftbar-row__action-button,
346
- .dt-leftbar-row[data-v-49d75ce6]:not(.dt-leftbar-row--no-action):focus-within .dt-leftbar-row__action-button {
351
+ .dt-leftbar-row[data-v-6ac4ceaa]:not(.dt-leftbar-row--no-action):hover .dt-leftbar-row__action-button,
352
+ .dt-leftbar-row[data-v-6ac4ceaa]:not(.dt-leftbar-row--no-action):focus-within .dt-leftbar-row__action-button {
347
353
  opacity: 1;
348
354
  }
349
- .dt-leftbar-row[data-v-49d75ce6]:hover,
350
- .dt-leftbar-row[data-v-49d75ce6]:focus-within {
355
+ .dt-leftbar-row[data-v-6ac4ceaa]:hover,
356
+ .dt-leftbar-row[data-v-6ac4ceaa]:focus-within {
351
357
  --leftbar-row-color-background: var(--dt-theme-sidebar-row-color-background-hover);
352
358
  }
353
- .dt-leftbar-row[data-v-49d75ce6]:hover .d-presence,
354
- .dt-leftbar-row[data-v-49d75ce6]:focus-within .d-presence {
359
+ .dt-leftbar-row[data-v-6ac4ceaa]:hover .d-presence,
360
+ .dt-leftbar-row[data-v-6ac4ceaa]:focus-within .d-presence {
355
361
  --presence-color-border-base: var(--dt-color-black-200);
356
362
  }
357
- .dt-leftbar-row[data-v-49d75ce6]:hover .d-avatar__count,
358
- .dt-leftbar-row[data-v-49d75ce6]:focus-within .d-avatar__count {
363
+ .dt-leftbar-row[data-v-6ac4ceaa]:hover .d-avatar__count,
364
+ .dt-leftbar-row[data-v-6ac4ceaa]:focus-within .d-avatar__count {
359
365
  --avatar-count-color-shadow: var(--dt-theme-sidebar-selected-row-color-background);
360
366
  }
361
- .dt-leftbar-row--has-unread[data-v-49d75ce6] {
367
+ .dt-leftbar-row--has-unread[data-v-6ac4ceaa] {
362
368
  --leftbar-row-description-font-weight: var(--dt-font-weight-bold);
363
369
  --leftbar-row-description-color-foreground: var(--dt-theme-sidebar-color-foreground-unread);
364
370
  --leftbar-row-alpha-color-foreground: var(--dt-theme-sidebar-color-foreground-unread);
365
371
  }
366
- .dt-leftbar-row--unread-count[data-v-49d75ce6] .dt-leftbar-row__action {
372
+ .dt-leftbar-row--unread-count[data-v-6ac4ceaa] .dt-leftbar-row__action {
367
373
  display: none;
368
374
  }
369
- .dt-leftbar-row--muted[data-v-49d75ce6] {
375
+ .dt-leftbar-row__unread-count-badge[data-v-6ac4ceaa] {
376
+ border-top-right-radius: var(--dt-size-radius-0);
377
+ border-bottom-right-radius: var(--dt-size-radius-0);
378
+ }
379
+ .dt-leftbar-row__unread-mention-count-badge[data-v-6ac4ceaa] {
380
+ border-top-left-radius: var(--dt-size-radius-0);
381
+ border-bottom-left-radius: var(--dt-size-radius-0);
382
+ background-color: var(--dt-color-purple-500);
383
+ }
384
+ .dt-leftbar-row__unread-mention-count-only-badge[data-v-6ac4ceaa] {
385
+ background-color: var(--dt-color-purple-500);
386
+ color: var(--dt-color-foreground-primary-inverted);
387
+ }
388
+ .dt-leftbar-row--muted[data-v-6ac4ceaa] {
370
389
  --leftbar-row-opacity: 60%;
371
390
  }
372
- .dt-leftbar-row--selected[data-v-49d75ce6] {
391
+ .dt-leftbar-row--selected[data-v-6ac4ceaa] {
373
392
  --leftbar-row-color-background: var(--dt-theme-sidebar-selected-row-color-background);
374
393
  --leftbar-row-description-color-foreground: var(--dt-theme-sidebar-selected-row-color-foreground);
375
394
  }
376
- .dt-leftbar-row--selected[data-v-49d75ce6] .d-presence {
395
+ .dt-leftbar-row--selected[data-v-6ac4ceaa] .d-presence {
377
396
  --presence-color-border-base: var(--dt-color-black-200);
378
397
  }
379
- .dt-leftbar-row--selected[data-v-49d75ce6] .d-avatar__count {
398
+ .dt-leftbar-row--selected[data-v-6ac4ceaa] .d-avatar__count {
380
399
  --avatar-count-color-shadow: var(--dt-theme-sidebar-selected-row-color-background);
381
400
  }
382
- .dt-leftbar-row__is-typing[data-v-49d75ce6] {
401
+ .dt-leftbar-row__is-typing[data-v-6ac4ceaa] {
383
402
  --is-typing-size-shape: var(--dt-size-550);
384
403
  height: var(--is-typing-size-shape);
385
404
  width: var(--is-typing-size-shape);
@@ -391,7 +410,7 @@
391
410
  border-radius: var(--dt-size-radius-pill);
392
411
  opacity: 0.75;
393
412
  }
394
- .dt-leftbar-row__is-typing span[data-v-49d75ce6] {
413
+ .dt-leftbar-row__is-typing span[data-v-6ac4ceaa] {
395
414
  transition: all 500ms ease;
396
415
  background: var(--dt-color-surface-strong);
397
416
  height: 4px;
@@ -400,18 +419,18 @@
400
419
  padding: 0;
401
420
  opacity: 0.3;
402
421
  border-radius: var(--dt-size-radius-pill);
403
- animation: wave-49d75ce6 1.5s ease infinite;
422
+ animation: wave-6ac4ceaa 1.5s ease infinite;
404
423
  }
405
- .dt-leftbar-row__is-typing span[data-v-49d75ce6]:nth-child(1) {
424
+ .dt-leftbar-row__is-typing span[data-v-6ac4ceaa]:nth-child(1) {
406
425
  animation-delay: 0ms;
407
426
  }
408
- .dt-leftbar-row__is-typing span[data-v-49d75ce6]:nth-child(2) {
427
+ .dt-leftbar-row__is-typing span[data-v-6ac4ceaa]:nth-child(2) {
409
428
  animation-delay: var(--td100);
410
429
  }
411
- .dt-leftbar-row__is-typing span[data-v-49d75ce6]:nth-child(3) {
430
+ .dt-leftbar-row__is-typing span[data-v-6ac4ceaa]:nth-child(3) {
412
431
  animation-delay: var(--td200);
413
432
  }
414
- .dt-leftbar-row__primary[data-v-49d75ce6] {
433
+ .dt-leftbar-row__primary[data-v-6ac4ceaa] {
415
434
  display: flex;
416
435
  align-items: center;
417
436
  flex: 1;
@@ -428,18 +447,18 @@
428
447
  padding: 0;
429
448
  border-radius: var(--leftbar-row-radius);
430
449
  }
431
- .dt-leftbar-row__primary[data-v-49d75ce6]:active {
450
+ .dt-leftbar-row__primary[data-v-6ac4ceaa]:active {
432
451
  --leftbar-row-color-background: var(--dt-theme-sidebar-row-color-background-active);
433
452
  }
434
- .dt-leftbar-row__primary[data-v-49d75ce6]:focus-visible {
453
+ .dt-leftbar-row__primary[data-v-6ac4ceaa]:focus-visible {
435
454
  box-shadow: var(--dt-shadow-focus-inset);
436
455
  }
437
- .dt-leftbar-row__action-button[data-v-49d75ce6] {
456
+ .dt-leftbar-row__action-button[data-v-6ac4ceaa] {
438
457
  opacity: 0;
439
458
  width: var(--leftbar-row-action-width);
440
459
  height: var(--leftbar-row-action-height);
441
460
  }
442
- .dt-leftbar-row__alpha[data-v-49d75ce6] {
461
+ .dt-leftbar-row__alpha[data-v-6ac4ceaa] {
443
462
  color: var(--leftbar-row-alpha-color-foreground);
444
463
  display: flex;
445
464
  box-sizing: border-box;
@@ -451,11 +470,11 @@
451
470
  height: var(--leftbar-row-alpha-height);
452
471
  border-radius: var(--leftbar-row-radius) 0 0 var(--leftbar-row-radius);
453
472
  }
454
- .dt-leftbar-row__label[data-v-49d75ce6] {
473
+ .dt-leftbar-row__label[data-v-6ac4ceaa] {
455
474
  flex: 0 1;
456
475
  min-width: 0;
457
476
  }
458
- .dt-leftbar-row__omega[data-v-49d75ce6] {
477
+ .dt-leftbar-row__omega[data-v-6ac4ceaa] {
459
478
  position: absolute;
460
479
  display: flex;
461
480
  right: var(--leftbar-row-action-position-right);
@@ -467,26 +486,26 @@
467
486
  box-sizing: border-box;
468
487
  border-radius: var(--leftbar-row-radius);
469
488
  }
470
- .dt-leftbar-row__unread-badge[data-v-49d75ce6] {
489
+ .dt-leftbar-row__unread-badge[data-v-6ac4ceaa] {
471
490
  display: var(--leftbar-row-unread-badge-display);
472
491
  }
473
- .dt-leftbar-row__active-voice[data-v-49d75ce6] {
492
+ .dt-leftbar-row__active-voice[data-v-6ac4ceaa] {
474
493
  color: var(--dt-color-purple-400);
475
494
  display: inline-flex;
476
- -webkit-animation-name: opacity-pulsate-49d75ce6;
495
+ -webkit-animation-name: opacity-pulsate-6ac4ceaa;
477
496
  -webkit-animation-duration: 1s;
478
497
  -webkit-animation-iteration-count: infinite;
479
498
  -webkit-animation-fill-mode: both;
480
- -moz-animation-name: opacity-pulsate-49d75ce6;
499
+ -moz-animation-name: opacity-pulsate-6ac4ceaa;
481
500
  -moz-animation-duration: 1s;
482
501
  -moz-animation-iteration-count: infinite;
483
502
  -moz-animation-fill-mode: both;
484
- animation-name: opacity-pulsate-49d75ce6;
503
+ animation-name: opacity-pulsate-6ac4ceaa;
485
504
  animation-duration: 1s;
486
505
  animation-iteration-count: infinite;
487
506
  animation-fill-mode: both;
488
507
  }
489
- .dt-leftbar-row__dnd[data-v-49d75ce6] {
508
+ .dt-leftbar-row__dnd[data-v-6ac4ceaa] {
490
509
  padding-top: var(--dt-space-200);
491
510
  padding-right: var(--dt-space-300);
492
511
  color: var(--dt-color-foreground-tertiary);
@@ -494,26 +513,26 @@
494
513
  line-height: var(--dt-font-line-height-400);
495
514
  font-weight: var(--dt-font-weight-medium);
496
515
  }
497
- .dt-leftbar-row__container--off-duty[data-v-49d75ce6] {
516
+ .dt-leftbar-row__container--off-duty[data-v-6ac4ceaa] {
498
517
  border-radius: var(--dt-size-radius-500);
499
518
  background-color: var(--dt-badge-color-background-critical);
500
519
  border: var(--dt-size-100) solid var(--dt-color-border-subtle);
501
520
  }
502
- .dt-leftbar-row__container--off-duty[data-v-49d75ce6] .dt-leftbar-row__primary {
521
+ .dt-leftbar-row__container--off-duty[data-v-6ac4ceaa] .dt-leftbar-row__primary {
503
522
  margin: calc(var(--dt-size-100) * -1);
504
523
  }
505
- .dt-leftbar-row--contact-centers[data-v-49d75ce6] .dt-leftbar-row__alpha {
524
+ .dt-leftbar-row--contact-centers[data-v-6ac4ceaa] .dt-leftbar-row__alpha {
506
525
  padding-right: var(--dt-space-450);
507
526
  padding-left: var(--dt-space-450);
508
527
  }
509
- .dt-leftbar-row--contact-centers .dt-leftbar-row__action-container[data-v-49d75ce6] {
528
+ .dt-leftbar-row--contact-centers .dt-leftbar-row__action-container[data-v-6ac4ceaa] {
510
529
  display: inline-flex;
511
530
  align-items: center;
512
531
  justify-content: flex-end;
513
532
  min-width: var(--dt-size-600);
514
533
  height: var(--dt-size-500);
515
534
  }
516
- .dt-leftbar-row[data-v-49d75ce6] .dt-leftbar-row__description {
535
+ .dt-leftbar-row[data-v-6ac4ceaa] .dt-leftbar-row__description {
517
536
  display: block;
518
537
  font-weight: var(--leftbar-row-description-font-weight);
519
538
  font-size: var(--leftbar-row-description-font-size);
@@ -523,7 +542,7 @@
523
542
  text-overflow: ellipsis;
524
543
  white-space: nowrap;
525
544
  }
526
- .dt-leftbar-row[data-v-49d75ce6] .dt-leftbar-row__status {
545
+ .dt-leftbar-row[data-v-6ac4ceaa] .dt-leftbar-row__status {
527
546
  display: block;
528
547
  color: var(--leftbar-row-status-color-foreground);
529
548
  font-size: var(--leftbar-row-status-font-size);
@@ -533,30 +552,30 @@
533
552
  text-overflow: ellipsis;
534
553
  white-space: nowrap;
535
554
  }
536
- .dt-leftbar-row[data-v-49d75ce6] .dt-leftbar-row__meta-context ~ .dt-leftbar-row__meta-custom:not(:empty):before {
555
+ .dt-leftbar-row[data-v-6ac4ceaa] .dt-leftbar-row__meta-context ~ .dt-leftbar-row__meta-custom:not(:empty):before {
537
556
  content: ' • ';
538
557
  color: var(--dt-theme-sidebar-status-color-foreground);
539
558
  }
540
- .dt-leftbar-row__icon-cc[data-v-49d75ce6] {
559
+ .dt-leftbar-row__icon-cc[data-v-6ac4ceaa] {
541
560
  border-radius: var(--dt-size-200);
542
561
  width: calc(var(--dt-size-300) * 3.5);
543
562
  height: calc(var(--dt-size-300) * 3.5);
544
563
  }
545
- .opacity-pulsate[data-v-49d75ce6] {
546
- -webkit-animation-name: opacity-pulsate-49d75ce6;
564
+ .opacity-pulsate[data-v-6ac4ceaa] {
565
+ -webkit-animation-name: opacity-pulsate-6ac4ceaa;
547
566
  -webkit-animation-duration: 1s;
548
567
  -webkit-animation-iteration-count: infinite;
549
568
  -webkit-animation-fill-mode: both;
550
- -moz-animation-name: opacity-pulsate-49d75ce6;
569
+ -moz-animation-name: opacity-pulsate-6ac4ceaa;
551
570
  -moz-animation-duration: 1s;
552
571
  -moz-animation-iteration-count: infinite;
553
572
  -moz-animation-fill-mode: both;
554
- animation-name: opacity-pulsate-49d75ce6;
573
+ animation-name: opacity-pulsate-6ac4ceaa;
555
574
  animation-duration: 1s;
556
575
  animation-iteration-count: infinite;
557
576
  animation-fill-mode: both;
558
577
  }
559
- @-webkit-keyframes opacity-pulsate-49d75ce6 {
578
+ @-webkit-keyframes opacity-pulsate-6ac4ceaa {
560
579
  0%,
561
580
  100% {
562
581
  opacity: 0.2;
@@ -565,7 +584,7 @@
565
584
  opacity: 1;
566
585
  }
567
586
  }
568
- @-moz-keyframes opacity-pulsate-49d75ce6 {
587
+ @-moz-keyframes opacity-pulsate-6ac4ceaa {
569
588
  0%,
570
589
  100% {
571
590
  opacity: 0.2;
@@ -574,7 +593,7 @@
574
593
  opacity: 1;
575
594
  }
576
595
  }
577
- @keyframes opacity-pulsate-49d75ce6 {
596
+ @keyframes opacity-pulsate-6ac4ceaa {
578
597
  0%,
579
598
  100% {
580
599
  opacity: 0.2;
@@ -583,7 +602,7 @@
583
602
  opacity: 1;
584
603
  }
585
604
  }
586
- @keyframes wave-49d75ce6 {
605
+ @keyframes wave-6ac4ceaa {
587
606
  0%,
588
607
  50%,
589
608
  100% {
@@ -657,6 +676,19 @@
657
676
  .dt-leftbar-row--unread-count[data-v-094eaef1] .dt-leftbar-row__action {
658
677
  display: none;
659
678
  }
679
+ .dt-leftbar-row__unread-count-badge[data-v-094eaef1] {
680
+ border-top-right-radius: var(--dt-size-radius-0);
681
+ border-bottom-right-radius: var(--dt-size-radius-0);
682
+ }
683
+ .dt-leftbar-row__unread-mention-count-badge[data-v-094eaef1] {
684
+ border-top-left-radius: var(--dt-size-radius-0);
685
+ border-bottom-left-radius: var(--dt-size-radius-0);
686
+ background-color: var(--dt-color-purple-500);
687
+ }
688
+ .dt-leftbar-row__unread-mention-count-only-badge[data-v-094eaef1] {
689
+ background-color: var(--dt-color-purple-500);
690
+ color: var(--dt-color-foreground-primary-inverted);
691
+ }
660
692
  .dt-leftbar-row--muted[data-v-094eaef1] {
661
693
  --leftbar-row-opacity: 60%;
662
694
  }
@@ -1,5 +1,6 @@
1
1
  export const BASE_TIPPY_DIRECTIONS: string[];
2
2
  export const TIPPY_STICKY_VALUES: (string | boolean)[];
3
+ export function createTippyPopover(anchorElement: any, options: any): import("tippy.js").Instance<import("tippy.js").Props>[];
3
4
  export function createTippy(anchorElement: any, options: any): import("tippy.js").Instance<import("tippy.js").Props>[];
4
5
  export function getPopperOptions({ boundary, fallbackPlacements, onChangePlacement, hasHideModifierEnabled, tether, }?: {
5
6
  boundary?: string | undefined;
@@ -9,12 +10,6 @@ export function getPopperOptions({ boundary, fallbackPlacements, onChangePlaceme
9
10
  tether?: boolean | undefined;
10
11
  }): {
11
12
  modifiers: ({
12
- name: string;
13
- enabled: boolean;
14
- phase: string;
15
- fn: any;
16
- requiresIfExists: string[];
17
- } | {
18
13
  name: string;
19
14
  options: {
20
15
  fallbackPlacements: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"tippy_utils.d.ts","sourceRoot":"","sources":["../../../../components/popover/tippy_utils.js"],"names":[],"mappings":"AAGA,6CAKE;AAEF,uDAAwE;AAEjE,uHAQN;AAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCN;AAUM,mDAIN;AAEM;;EAQN"}
1
+ {"version":3,"file":"tippy_utils.d.ts","sourceRoot":"","sources":["../../../../components/popover/tippy_utils.js"],"names":[],"mappings":"AAEA,6CAKE;AAEF,uDAAwE;AACjE,8HAQN;AAEM,uHAKN;AAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BN;AAUM,mDAIN;AAEM;;EAQN"}
@@ -136,18 +136,9 @@ declare const _default: import("vue").DefineComponent<{
136
136
  default: null;
137
137
  };
138
138
  /**
139
- * Named transition when the content display is toggled.
140
- * @see DtLazyShow
139
+ * Whether the tooltip should have a transition effect.
141
140
  */
142
141
  transition: {
143
- type: StringConstructor;
144
- default: string;
145
- };
146
- /**
147
- * Whether to apply transition on initial render in the content lazy show component.
148
- * @values true, false
149
- */
150
- contentAppear: {
151
142
  type: BooleanConstructor;
152
143
  default: boolean;
153
144
  };
@@ -179,7 +170,6 @@ declare const _default: import("vue").DefineComponent<{
179
170
  inTimer: null;
180
171
  isShown: boolean;
181
172
  currentPlacement: string;
182
- isTouchDevice: boolean;
183
173
  }, {
184
174
  isVisible(): boolean;
185
175
  tooltipListeners(): {
@@ -188,18 +178,13 @@ declare const _default: import("vue").DefineComponent<{
188
178
  };
189
179
  tippyProps(): {
190
180
  offset: unknown[];
191
- interactive: boolean;
192
- trigger: string;
181
+ delay: number | boolean;
193
182
  placement: string;
194
183
  sticky: string | boolean;
184
+ theme: string | undefined;
185
+ animation: string | boolean;
195
186
  popperOptions: {
196
187
  modifiers: ({
197
- name: string;
198
- enabled: boolean;
199
- phase: string;
200
- fn: any;
201
- requiresIfExists: string[];
202
- } | {
203
188
  name: string;
204
189
  options: {
205
190
  fallbackPlacements: any[];
@@ -221,7 +206,10 @@ declare const _default: import("vue").DefineComponent<{
221
206
  boundary?: undefined;
222
207
  };
223
208
  enabled?: undefined;
224
- })[];
209
+ })[]; /**
210
+ * If true, applies inverted styles to the tooltip
211
+ * @values true, false
212
+ */
225
213
  };
226
214
  };
227
215
  anchor(): any;
@@ -237,20 +225,19 @@ declare const _default: import("vue").DefineComponent<{
237
225
  onEnterTransitionComplete(): void;
238
226
  setProps(): void;
239
227
  onMount(): void;
228
+ onShow(tooltipInstance: any): false | undefined;
240
229
  initOptions(): {
241
- offset: unknown[];
230
+ content: unknown;
231
+ arrow: string;
232
+ duration: number;
242
233
  interactive: boolean;
243
234
  trigger: string;
244
- placement: string;
245
- sticky: string | boolean;
235
+ hideOnClick: boolean;
236
+ touch: boolean;
237
+ onMount: () => void;
238
+ onShow: (tooltipInstance: any) => false | undefined;
246
239
  popperOptions: {
247
240
  modifiers: ({
248
- name: string;
249
- enabled: boolean;
250
- phase: string;
251
- fn: any;
252
- requiresIfExists: string[];
253
- } | {
254
241
  name: string;
255
242
  options: {
256
243
  fallbackPlacements: any[];
@@ -272,16 +259,14 @@ declare const _default: import("vue").DefineComponent<{
272
259
  boundary?: undefined;
273
260
  };
274
261
  enabled?: undefined;
275
- })[];
262
+ })[]; /**
263
+ * If true, applies inverted styles to the tooltip
264
+ * @values true, false
265
+ */
276
266
  };
277
- contentElement: any;
278
- allowHTML: boolean;
279
- zIndex: number;
280
- onMount: () => void;
281
267
  };
282
268
  addExternalAnchorEventListeners(): void;
283
269
  removeExternalAnchorEventListeners(): void;
284
- onTouchStart(): void;
285
270
  }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("shown" | "update:show")[], "shown" | "update:show", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
286
271
  /**
287
272
  * The id of the tooltip
@@ -420,18 +405,9 @@ declare const _default: import("vue").DefineComponent<{
420
405
  default: null;
421
406
  };
422
407
  /**
423
- * Named transition when the content display is toggled.
424
- * @see DtLazyShow
408
+ * Whether the tooltip should have a transition effect.
425
409
  */
426
410
  transition: {
427
- type: StringConstructor;
428
- default: string;
429
- };
430
- /**
431
- * Whether to apply transition on initial render in the content lazy show component.
432
- * @values true, false
433
- */
434
- contentAppear: {
435
411
  type: BooleanConstructor;
436
412
  default: boolean;
437
413
  };
@@ -458,7 +434,7 @@ declare const _default: import("vue").DefineComponent<{
458
434
  message: string;
459
435
  id: string;
460
436
  inverted: boolean;
461
- transition: string;
437
+ transition: boolean;
462
438
  contentClass: string | Record<string, any> | unknown[];
463
439
  show: boolean;
464
440
  offset: unknown[];
@@ -468,7 +444,6 @@ declare const _default: import("vue").DefineComponent<{
468
444
  placement: string;
469
445
  sticky: string | boolean;
470
446
  enabled: boolean;
471
- contentAppear: boolean;
472
447
  externalAnchor: string;
473
448
  }, {}>;
474
449
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.vue.d.ts","sourceRoot":"","sources":["../../../../components/tooltip/tooltip.vue.js"],"names":[],"mappings":";IAgCI;;OAEG;;;;;IAMH;;;;;;;;;;;;SAYK;;;;;IAML;;;OAGG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;OAKG;;;;;;;;;IAUH;;;;OAIG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;OAKG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IArLH;;OAEG;;;;;IAMH;;;;;;;;;;;;SAYK;;;;;IAML;;;OAGG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;OAKG;;;;;;;;;IAUH;;;;OAIG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;OAKG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;+BA1MyC,gBAAgB"}
1
+ {"version":3,"file":"tooltip.vue.d.ts","sourceRoot":"","sources":["../../../../components/tooltip/tooltip.vue.js"],"names":[],"mappings":";IA4BI;;OAEG;;;;;IAMH;;;;;;;;;;;;SAYK;;;;;IAML;;;OAGG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;OAKG;;;;;;;;;IAUH;;;;OAIG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;OAKG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAjJH;;;eAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAHH;;;eAGG;;;;;;IA7BH;;OAEG;;;;;IAMH;;;;;;;;;;;;SAYK;;;;;IAML;;;OAGG;;;;;IAMH;;;;;;;;;;OAUG;;;;;IAMH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;;;;;;;;;;OAcG;;;;;;IASH;;;;;OAKG;;;;;;;;;IAUH;;;;OAIG;;;;;IAMH;;OAEG;;;;;IAMH;;;;OAIG;;;;;IAMH;;;;;OAKG;;;;;IAMH;;OAEG;;;;;IAMH;;;OAGG;;;;;IAMH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;+BA5LyC,gBAAgB"}