@dialpad/dialtone 9.28.0 → 9.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/dialtone.css +2 -2
- package/dist/tokens/css/variables-cox-dark.css +1 -1
- package/dist/tokens/css/variables-cox-light.css +1 -1
- package/dist/tokens/css/variables-dark.css +1 -1
- package/dist/tokens/css/variables-light.css +1 -1
- package/dist/tokens/css/variables-tmo-dark.css +1 -1
- package/dist/tokens/css/variables-tmo-light.css +1 -1
- package/dist/tokens/less/variables-cox-dark.less +1 -1
- package/dist/tokens/less/variables-cox-light.less +1 -1
- package/dist/tokens/less/variables-dark.less +1 -1
- package/dist/tokens/less/variables-light.less +1 -1
- package/dist/tokens/less/variables-tmo-dark.less +1 -1
- package/dist/tokens/less/variables-tmo-light.less +1 -1
- package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js +2 -0
- package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js.map +1 -0
- package/dist/vue2/chunks/dropdown-zhMEz3bn.js +2 -0
- package/dist/vue2/chunks/dropdown-zhMEz3bn.js.map +1 -0
- package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js +2 -0
- package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js.map +1 -0
- package/dist/vue2/chunks/icon_constants-2S_OSQ1t.js +2 -0
- package/dist/vue2/chunks/icon_constants-2S_OSQ1t.js.map +1 -0
- package/dist/vue2/chunks/index-2jPosQBn.js +3 -0
- package/dist/vue2/chunks/index-2jPosQBn.js.map +1 -0
- package/dist/vue2/chunks/index-sdfB7Aok.js +2 -0
- package/dist/vue2/chunks/index-sdfB7Aok.js.map +1 -0
- package/dist/vue2/chunks/input-o-fc1X4b.js +2 -0
- package/dist/vue2/chunks/input-o-fc1X4b.js.map +1 -0
- package/dist/vue2/chunks/input_group-j2gTtc1C.js +2 -0
- package/dist/vue2/chunks/input_group-j2gTtc1C.js.map +1 -0
- package/dist/vue2/chunks/keyboard_list_navigation-N74Bpdq7.js +2 -0
- package/dist/vue2/chunks/keyboard_list_navigation-N74Bpdq7.js.map +1 -0
- package/dist/vue2/chunks/link_constants-Kn6kP4i1.js +2 -0
- package/dist/vue2/chunks/link_constants-Kn6kP4i1.js.map +1 -0
- package/dist/vue2/chunks/list_item_constants-Tsz5CO1m.js +2 -0
- package/dist/vue2/chunks/list_item_constants-Tsz5CO1m.js.map +1 -0
- package/dist/vue2/chunks/modal-qEzlo0Sj.js +2 -0
- package/dist/vue2/chunks/modal-qEzlo0Sj.js.map +1 -0
- package/dist/vue2/chunks/notice_action-u3ZKIhit.js +2 -0
- package/dist/vue2/chunks/notice_action-u3ZKIhit.js.map +1 -0
- package/dist/vue2/chunks/notice_constants-mC6al2Dm.js +2 -0
- package/dist/vue2/chunks/notice_constants-mC6al2Dm.js.map +1 -0
- package/dist/vue2/chunks/popover_constants-hOEhklvr.js +2 -0
- package/dist/vue2/chunks/popover_constants-hOEhklvr.js.map +1 -0
- package/dist/vue2/chunks/sr_only_close_button-ErijKGYR.js +3 -0
- package/dist/vue2/chunks/sr_only_close_button-ErijKGYR.js.map +1 -0
- package/dist/vue2/chunks/stack_constants-m9Ickqw0.js +2 -0
- package/dist/vue2/chunks/stack_constants-m9Ickqw0.js.map +1 -0
- package/dist/vue2/chunks/tab-7hJQSLFx.js +2 -0
- package/dist/vue2/chunks/tab-7hJQSLFx.js.map +1 -0
- package/dist/vue2/component-documentation.json +1 -1
- package/dist/vue2/dialtone-vue.cjs +2 -0
- package/dist/vue2/dialtone-vue.cjs.map +1 -0
- package/dist/vue2/lib/attachment-carousel.cjs +2 -0
- package/dist/vue2/lib/attachment-carousel.cjs.map +1 -0
- package/dist/vue2/lib/attachment-carousel.js +2 -3
- package/dist/vue2/lib/attachment-carousel.js.map +1 -1
- package/dist/vue2/lib/avatar.cjs +2 -0
- package/dist/vue2/lib/avatar.cjs.map +1 -0
- package/dist/vue2/lib/avatar.js +2 -3
- package/dist/vue2/lib/avatar.js.map +1 -1
- package/dist/vue2/lib/badge.cjs +2 -0
- package/dist/vue2/lib/badge.cjs.map +1 -0
- package/dist/vue2/lib/badge.js +2 -3
- package/dist/vue2/lib/badge.js.map +1 -1
- package/dist/vue2/lib/banner.cjs +3 -0
- package/dist/vue2/lib/banner.cjs.map +1 -0
- package/dist/vue2/lib/banner.js +2 -3
- package/dist/vue2/lib/banner.js.map +1 -1
- package/dist/vue2/lib/breadcrumbs.cjs +2 -0
- package/dist/vue2/lib/breadcrumbs.cjs.map +1 -0
- package/dist/vue2/lib/button-group.cjs +2 -0
- package/dist/vue2/lib/button-group.cjs.map +1 -0
- package/dist/vue2/lib/button.cjs +2 -0
- package/dist/vue2/lib/button.cjs.map +1 -0
- package/dist/vue2/lib/callbar-button-with-popover.cjs +2 -0
- package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -0
- package/dist/vue2/lib/callbar-button-with-popover.js +2 -3
- package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue2/lib/callbar-button.cjs +2 -0
- package/dist/vue2/lib/callbar-button.cjs.map +1 -0
- package/dist/vue2/lib/callbox.cjs +2 -0
- package/dist/vue2/lib/callbox.cjs.map +1 -0
- package/dist/vue2/lib/callbox.js +2 -3
- package/dist/vue2/lib/callbox.js.map +1 -1
- package/dist/vue2/lib/card.cjs +2 -0
- package/dist/vue2/lib/card.cjs.map +1 -0
- package/dist/vue2/lib/checkbox-group.cjs +2 -0
- package/dist/vue2/lib/checkbox-group.cjs.map +1 -0
- package/dist/vue2/lib/checkbox.cjs +2 -0
- package/dist/vue2/lib/checkbox.cjs.map +1 -0
- package/dist/vue2/lib/chip.cjs +2 -0
- package/dist/vue2/lib/chip.cjs.map +1 -0
- package/dist/vue2/lib/chip.js +2 -3
- package/dist/vue2/lib/chip.js.map +1 -1
- package/dist/vue2/lib/codeblock.cjs +3 -0
- package/dist/vue2/lib/codeblock.cjs.map +1 -0
- package/dist/vue2/lib/collapsible.cjs +2 -0
- package/dist/vue2/lib/collapsible.cjs.map +1 -0
- package/dist/vue2/lib/collapsible.js +2 -3
- package/dist/vue2/lib/collapsible.js.map +1 -1
- package/dist/vue2/lib/combobox-multi-select.cjs +2 -0
- package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -0
- package/dist/vue2/lib/combobox-with-popover.cjs +2 -0
- package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -0
- package/dist/vue2/lib/combobox-with-popover.js +1 -1
- package/dist/vue2/lib/combobox.cjs +2 -0
- package/dist/vue2/lib/combobox.cjs.map +1 -0
- package/dist/vue2/lib/constants.cjs +2 -0
- package/dist/vue2/lib/constants.cjs.map +1 -0
- package/dist/vue2/lib/contact-info.cjs +2 -0
- package/dist/vue2/lib/contact-info.cjs.map +1 -0
- package/dist/vue2/lib/contact-info.js +2 -3
- package/dist/vue2/lib/contact-info.js.map +1 -1
- package/dist/vue2/lib/contact-row.cjs +2 -0
- package/dist/vue2/lib/contact-row.cjs.map +1 -0
- package/dist/vue2/lib/datepicker.cjs +2 -0
- package/dist/vue2/lib/datepicker.cjs.map +1 -0
- package/dist/vue2/lib/datepicker.js +12 -13
- package/dist/vue2/lib/datepicker.js.map +1 -1
- package/dist/vue2/lib/dates.cjs +2 -0
- package/dist/vue2/lib/dates.cjs.map +1 -0
- package/dist/vue2/lib/description-list.cjs +2 -0
- package/dist/vue2/lib/description-list.cjs.map +1 -0
- package/dist/vue2/lib/dropdown.cjs +2 -0
- package/dist/vue2/lib/dropdown.cjs.map +1 -0
- package/dist/vue2/lib/dropdown.js +6 -7
- package/dist/vue2/lib/dropdown.js.map +1 -1
- package/dist/vue2/lib/editor.cjs +2 -0
- package/dist/vue2/lib/editor.cjs.map +1 -0
- package/dist/vue2/lib/emoji-picker.cjs +2 -0
- package/dist/vue2/lib/emoji-picker.cjs.map +1 -0
- package/dist/vue2/lib/emoji-picker.js +2 -3
- package/dist/vue2/lib/emoji-picker.js.map +1 -1
- package/dist/vue2/lib/emoji-row.cjs +2 -0
- package/dist/vue2/lib/emoji-row.cjs.map +1 -0
- package/dist/vue2/lib/emoji-text-wrapper.cjs +2 -0
- package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -0
- package/dist/vue2/lib/emoji.cjs +2 -0
- package/dist/vue2/lib/emoji.cjs.map +1 -0
- package/dist/vue2/lib/feed-item-row.cjs +2 -0
- package/dist/vue2/lib/feed-item-row.cjs.map +1 -0
- package/dist/vue2/lib/feed-item-row.js +2 -3
- package/dist/vue2/lib/feed-item-row.js.map +1 -1
- package/dist/vue2/lib/feed-pill.cjs +2 -0
- package/dist/vue2/lib/feed-pill.cjs.map +1 -0
- package/dist/vue2/lib/feed-pill.js +2 -3
- package/dist/vue2/lib/feed-pill.js.map +1 -1
- package/dist/vue2/lib/general-row.cjs +2 -0
- package/dist/vue2/lib/general-row.cjs.map +1 -0
- package/dist/vue2/lib/group-row.cjs +2 -0
- package/dist/vue2/lib/group-row.cjs.map +1 -0
- package/dist/vue2/lib/group-row.js +1 -1
- package/dist/vue2/lib/grouped-chip.cjs +2 -0
- package/dist/vue2/lib/grouped-chip.cjs.map +1 -0
- package/dist/vue2/lib/grouped-chip.js +6 -7
- package/dist/vue2/lib/grouped-chip.js.map +1 -1
- package/dist/vue2/lib/hovercard.cjs +2 -0
- package/dist/vue2/lib/hovercard.cjs.map +1 -0
- package/dist/vue2/lib/hovercard.js +6 -7
- package/dist/vue2/lib/hovercard.js.map +1 -1
- package/dist/vue2/lib/icon.cjs +2 -0
- package/dist/vue2/lib/icon.cjs.map +1 -0
- package/dist/vue2/lib/icon.js +14 -38
- package/dist/vue2/lib/icon.js.map +1 -1
- package/dist/vue2/lib/image-viewer.cjs +2 -0
- package/dist/vue2/lib/image-viewer.cjs.map +1 -0
- package/dist/vue2/lib/image-viewer.js +11 -12
- package/dist/vue2/lib/image-viewer.js.map +1 -1
- package/dist/vue2/lib/input-group.cjs +2 -0
- package/dist/vue2/lib/input-group.cjs.map +1 -0
- package/dist/vue2/lib/input.cjs +2 -0
- package/dist/vue2/lib/input.cjs.map +1 -0
- package/dist/vue2/lib/item-layout.cjs +2 -0
- package/dist/vue2/lib/item-layout.cjs.map +1 -0
- package/dist/vue2/lib/ivr-node.cjs +2 -0
- package/dist/vue2/lib/ivr-node.cjs.map +1 -0
- package/dist/vue2/lib/ivr-node.js +4 -5
- package/dist/vue2/lib/ivr-node.js.map +1 -1
- package/dist/vue2/lib/keyboard-shortcut.cjs +2 -0
- package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -0
- package/dist/vue2/lib/keyboard-shortcut.js +4 -5
- package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue2/lib/lazy-show.cjs +2 -0
- package/dist/vue2/lib/lazy-show.cjs.map +1 -0
- package/dist/vue2/lib/link.cjs +2 -0
- package/dist/vue2/lib/link.cjs.map +1 -0
- package/dist/vue2/lib/list-item-group.cjs +2 -0
- package/dist/vue2/lib/list-item-group.cjs.map +1 -0
- package/dist/vue2/lib/list-item.cjs +2 -0
- package/dist/vue2/lib/list-item.cjs.map +1 -0
- package/dist/vue2/lib/list-item.js +2 -3
- package/dist/vue2/lib/list-item.js.map +1 -1
- package/dist/vue2/lib/message-input.cjs +2 -0
- package/dist/vue2/lib/message-input.cjs.map +1 -0
- package/dist/vue2/lib/message-input.js +89 -47
- package/dist/vue2/lib/message-input.js.map +1 -1
- package/dist/vue2/lib/mixins.cjs +2 -0
- package/dist/vue2/lib/mixins.cjs.map +1 -0
- package/dist/vue2/lib/modal.cjs +3 -0
- package/dist/vue2/lib/modal.cjs.map +1 -0
- package/dist/vue2/lib/modal.js +10 -11
- package/dist/vue2/lib/modal.js.map +1 -1
- package/dist/vue2/lib/notice.cjs +2 -0
- package/dist/vue2/lib/notice.cjs.map +1 -0
- package/dist/vue2/lib/notice.js +2 -3
- package/dist/vue2/lib/notice.js.map +1 -1
- package/dist/vue2/lib/pagination.cjs +2 -0
- package/dist/vue2/lib/pagination.cjs.map +1 -0
- package/dist/vue2/lib/pagination.js +2 -3
- package/dist/vue2/lib/pagination.js.map +1 -1
- package/dist/vue2/lib/popover.cjs +2 -0
- package/dist/vue2/lib/popover.cjs.map +1 -0
- package/dist/vue2/lib/popover.js +4 -5
- package/dist/vue2/lib/popover.js.map +1 -1
- package/dist/vue2/lib/presence.cjs +2 -0
- package/dist/vue2/lib/presence.cjs.map +1 -0
- package/dist/vue2/lib/radio-group.cjs +2 -0
- package/dist/vue2/lib/radio-group.cjs.map +1 -0
- package/dist/vue2/lib/radio.cjs +2 -0
- package/dist/vue2/lib/radio.cjs.map +1 -0
- package/dist/vue2/lib/rich-text-editor.cjs +2 -0
- package/dist/vue2/lib/rich-text-editor.cjs.map +1 -0
- package/dist/vue2/lib/rich-text-editor.js +106 -74
- package/dist/vue2/lib/rich-text-editor.js.map +1 -1
- package/dist/vue2/lib/root-layout.cjs +2 -0
- package/dist/vue2/lib/root-layout.cjs.map +1 -0
- package/dist/vue2/lib/select-menu.cjs +2 -0
- package/dist/vue2/lib/select-menu.cjs.map +1 -0
- package/dist/vue2/lib/settings-menu-button.cjs +2 -0
- package/dist/vue2/lib/settings-menu-button.cjs.map +1 -0
- package/dist/vue2/lib/settings-menu-button.js +2 -3
- package/dist/vue2/lib/settings-menu-button.js.map +1 -1
- package/dist/vue2/lib/skeleton.cjs +2 -0
- package/dist/vue2/lib/skeleton.cjs.map +1 -0
- package/dist/vue2/lib/stack.cjs +2 -0
- package/dist/vue2/lib/stack.cjs.map +1 -0
- package/dist/vue2/lib/tabs.cjs +2 -0
- package/dist/vue2/lib/tabs.cjs.map +1 -0
- package/dist/vue2/lib/time-pill.cjs +2 -0
- package/dist/vue2/lib/time-pill.cjs.map +1 -0
- package/dist/vue2/lib/toast.cjs +2 -0
- package/dist/vue2/lib/toast.cjs.map +1 -0
- package/dist/vue2/lib/toast.js +2 -3
- package/dist/vue2/lib/toast.js.map +1 -1
- package/dist/vue2/lib/toggle.cjs +2 -0
- package/dist/vue2/lib/toggle.cjs.map +1 -0
- package/dist/vue2/lib/tooltip-directive.cjs +2 -0
- package/dist/vue2/lib/tooltip-directive.cjs.map +1 -0
- package/dist/vue2/lib/tooltip.cjs +2 -0
- package/dist/vue2/lib/tooltip.cjs.map +1 -0
- package/dist/vue2/lib/top-banner-info.cjs +2 -0
- package/dist/vue2/lib/top-banner-info.cjs.map +1 -0
- package/dist/vue2/lib/unread-pill.cjs +2 -0
- package/dist/vue2/lib/unread-pill.cjs.map +1 -0
- package/dist/vue2/lib/unread-pill.js +3 -4
- package/dist/vue2/lib/unread-pill.js.map +1 -1
- package/dist/vue2/lib/utils.cjs +2 -0
- package/dist/vue2/lib/utils.cjs.map +1 -0
- package/dist/vue2/lib/validation-messages.cjs +2 -0
- package/dist/vue2/lib/validation-messages.cjs.map +1 -0
- package/dist/vue2/lib/validators.cjs +2 -0
- package/dist/vue2/lib/validators.cjs.map +1 -0
- package/dist/vue2/style.css +1 -1
- package/dist/vue2/types/components/avatar/avatar.vue.d.ts +1 -1
- package/dist/vue2/types/components/button/button.vue.d.ts +2 -2
- package/dist/vue2/types/components/card/card.vue.d.ts +1 -1
- package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts +2 -2
- package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts +1 -1
- package/dist/vue2/types/components/emoji/emoji.vue.d.ts +1 -1
- package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -22
- package/dist/vue2/types/components/icon/icon.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
- package/dist/vue2/types/components/modal/modal.vue.d.ts +2 -2
- package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +1 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +91 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
- package/dist/vue2/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
- package/dist/vue2/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
- package/dist/vue2/types/components/skeleton/skeleton-text.vue.d.ts +2 -2
- package/dist/vue2/types/components/skeleton/skeleton.vue.d.ts +1 -1
- package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +2 -2
- package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +90 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
- package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js +2 -0
- package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +1 -0
- package/dist/vue3/chunks/dropdown-UO3UJalk.js +2 -0
- package/dist/vue3/chunks/dropdown-UO3UJalk.js.map +1 -0
- package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js +2 -0
- package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js.map +1 -0
- package/dist/vue3/chunks/icon_constants-2S_OSQ1t.js +2 -0
- package/dist/vue3/chunks/icon_constants-2S_OSQ1t.js.map +1 -0
- package/dist/vue3/chunks/index-6tYeqbgP.js +3 -0
- package/dist/vue3/chunks/index-6tYeqbgP.js.map +1 -0
- package/dist/vue3/chunks/index-IBtQ5jRJ.js +2 -0
- package/dist/vue3/chunks/index-IBtQ5jRJ.js.map +1 -0
- package/dist/vue3/chunks/input-0Uksk4DP.js +2 -0
- package/dist/vue3/chunks/input-0Uksk4DP.js.map +1 -0
- package/dist/vue3/chunks/input_group-AS760Cp7.js +2 -0
- package/dist/vue3/chunks/input_group-AS760Cp7.js.map +1 -0
- package/dist/vue3/chunks/keyboard_list_navigation-N74Bpdq7.js +2 -0
- package/dist/vue3/chunks/keyboard_list_navigation-N74Bpdq7.js.map +1 -0
- package/dist/vue3/chunks/link_constants-Kn6kP4i1.js +2 -0
- package/dist/vue3/chunks/link_constants-Kn6kP4i1.js.map +1 -0
- package/dist/vue3/chunks/list_item_constants-Tsz5CO1m.js +2 -0
- package/dist/vue3/chunks/list_item_constants-Tsz5CO1m.js.map +1 -0
- package/dist/vue3/chunks/modal-qEzlo0Sj.js +2 -0
- package/dist/vue3/chunks/modal-qEzlo0Sj.js.map +1 -0
- package/dist/vue3/chunks/notice_action-jO199emq.js +2 -0
- package/dist/vue3/chunks/notice_action-jO199emq.js.map +1 -0
- package/dist/vue3/chunks/notice_constants-mC6al2Dm.js +2 -0
- package/dist/vue3/chunks/notice_constants-mC6al2Dm.js.map +1 -0
- package/dist/vue3/chunks/popover_constants-hOEhklvr.js +2 -0
- package/dist/vue3/chunks/popover_constants-hOEhklvr.js.map +1 -0
- package/dist/vue3/chunks/sr_only_close_button-iD7s1Pbj.js +3 -0
- package/dist/vue3/chunks/sr_only_close_button-iD7s1Pbj.js.map +1 -0
- package/dist/vue3/chunks/stack_constants-m9Ickqw0.js +2 -0
- package/dist/vue3/chunks/stack_constants-m9Ickqw0.js.map +1 -0
- package/dist/vue3/chunks/tab-at7WWglk.js +2 -0
- package/dist/vue3/chunks/tab-at7WWglk.js.map +1 -0
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/dialtone-vue.cjs +2 -0
- package/dist/vue3/dialtone-vue.cjs.map +1 -0
- package/dist/vue3/lib/attachment-carousel.cjs +2 -0
- package/dist/vue3/lib/attachment-carousel.cjs.map +1 -0
- package/dist/vue3/lib/attachment-carousel.js +2 -3
- package/dist/vue3/lib/attachment-carousel.js.map +1 -1
- package/dist/vue3/lib/avatar.cjs +2 -0
- package/dist/vue3/lib/avatar.cjs.map +1 -0
- package/dist/vue3/lib/avatar.js +2 -3
- package/dist/vue3/lib/avatar.js.map +1 -1
- package/dist/vue3/lib/badge.cjs +2 -0
- package/dist/vue3/lib/badge.cjs.map +1 -0
- package/dist/vue3/lib/badge.js +2 -3
- package/dist/vue3/lib/badge.js.map +1 -1
- package/dist/vue3/lib/banner.cjs +3 -0
- package/dist/vue3/lib/banner.cjs.map +1 -0
- package/dist/vue3/lib/banner.js +6 -7
- package/dist/vue3/lib/banner.js.map +1 -1
- package/dist/vue3/lib/breadcrumbs.cjs +2 -0
- package/dist/vue3/lib/breadcrumbs.cjs.map +1 -0
- package/dist/vue3/lib/button-group.cjs +2 -0
- package/dist/vue3/lib/button-group.cjs.map +1 -0
- package/dist/vue3/lib/button.cjs +2 -0
- package/dist/vue3/lib/button.cjs.map +1 -0
- package/dist/vue3/lib/callbar-button-with-popover.cjs +2 -0
- package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -0
- package/dist/vue3/lib/callbar-button-with-popover.js +9 -10
- package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue3/lib/callbar-button.cjs +2 -0
- package/dist/vue3/lib/callbar-button.cjs.map +1 -0
- package/dist/vue3/lib/callbox.cjs +2 -0
- package/dist/vue3/lib/callbox.cjs.map +1 -0
- package/dist/vue3/lib/callbox.js +2 -3
- package/dist/vue3/lib/callbox.js.map +1 -1
- package/dist/vue3/lib/card.cjs +2 -0
- package/dist/vue3/lib/card.cjs.map +1 -0
- package/dist/vue3/lib/checkbox-group.cjs +2 -0
- package/dist/vue3/lib/checkbox-group.cjs.map +1 -0
- package/dist/vue3/lib/checkbox.cjs +2 -0
- package/dist/vue3/lib/checkbox.cjs.map +1 -0
- package/dist/vue3/lib/chip.cjs +2 -0
- package/dist/vue3/lib/chip.cjs.map +1 -0
- package/dist/vue3/lib/chip.js +10 -11
- package/dist/vue3/lib/chip.js.map +1 -1
- package/dist/vue3/lib/codeblock.cjs +3 -0
- package/dist/vue3/lib/codeblock.cjs.map +1 -0
- package/dist/vue3/lib/collapsible.cjs +2 -0
- package/dist/vue3/lib/collapsible.cjs.map +1 -0
- package/dist/vue3/lib/collapsible.js +7 -8
- package/dist/vue3/lib/collapsible.js.map +1 -1
- package/dist/vue3/lib/combobox-multi-select.cjs +2 -0
- package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -0
- package/dist/vue3/lib/combobox-with-popover.cjs +2 -0
- package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -0
- package/dist/vue3/lib/combobox.cjs +2 -0
- package/dist/vue3/lib/combobox.cjs.map +1 -0
- package/dist/vue3/lib/constants.cjs +2 -0
- package/dist/vue3/lib/constants.cjs.map +1 -0
- package/dist/vue3/lib/contact-info.cjs +2 -0
- package/dist/vue3/lib/contact-info.cjs.map +1 -0
- package/dist/vue3/lib/contact-info.js +2 -3
- package/dist/vue3/lib/contact-info.js.map +1 -1
- package/dist/vue3/lib/contact-row.cjs +2 -0
- package/dist/vue3/lib/contact-row.cjs.map +1 -0
- package/dist/vue3/lib/datepicker.cjs +2 -0
- package/dist/vue3/lib/datepicker.cjs.map +1 -0
- package/dist/vue3/lib/datepicker.js +12 -13
- package/dist/vue3/lib/datepicker.js.map +1 -1
- package/dist/vue3/lib/dates.cjs +2 -0
- package/dist/vue3/lib/dates.cjs.map +1 -0
- package/dist/vue3/lib/description-list.cjs +2 -0
- package/dist/vue3/lib/description-list.cjs.map +1 -0
- package/dist/vue3/lib/dropdown.cjs +2 -0
- package/dist/vue3/lib/dropdown.cjs.map +1 -0
- package/dist/vue3/lib/dropdown.js +6 -7
- package/dist/vue3/lib/dropdown.js.map +1 -1
- package/dist/vue3/lib/editor.cjs +2 -0
- package/dist/vue3/lib/editor.cjs.map +1 -0
- package/dist/vue3/lib/emoji-picker.cjs +2 -0
- package/dist/vue3/lib/emoji-picker.cjs.map +1 -0
- package/dist/vue3/lib/emoji-picker.js +2 -3
- package/dist/vue3/lib/emoji-picker.js.map +1 -1
- package/dist/vue3/lib/emoji-row.cjs +2 -0
- package/dist/vue3/lib/emoji-row.cjs.map +1 -0
- package/dist/vue3/lib/emoji-text-wrapper.cjs +2 -0
- package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -0
- package/dist/vue3/lib/emoji.cjs +2 -0
- package/dist/vue3/lib/emoji.cjs.map +1 -0
- package/dist/vue3/lib/feed-item-row.cjs +2 -0
- package/dist/vue3/lib/feed-item-row.cjs.map +1 -0
- package/dist/vue3/lib/feed-item-row.js +11 -12
- package/dist/vue3/lib/feed-item-row.js.map +1 -1
- package/dist/vue3/lib/feed-pill.cjs +2 -0
- package/dist/vue3/lib/feed-pill.cjs.map +1 -0
- package/dist/vue3/lib/feed-pill.js +2 -3
- package/dist/vue3/lib/feed-pill.js.map +1 -1
- package/dist/vue3/lib/general-row.cjs +2 -0
- package/dist/vue3/lib/general-row.cjs.map +1 -0
- package/dist/vue3/lib/group-row.cjs +2 -0
- package/dist/vue3/lib/group-row.cjs.map +1 -0
- package/dist/vue3/lib/group-row.js +1 -1
- package/dist/vue3/lib/grouped-chip.cjs +2 -0
- package/dist/vue3/lib/grouped-chip.cjs.map +1 -0
- package/dist/vue3/lib/grouped-chip.js +5 -6
- package/dist/vue3/lib/grouped-chip.js.map +1 -1
- package/dist/vue3/lib/hovercard.cjs +2 -0
- package/dist/vue3/lib/hovercard.cjs.map +1 -0
- package/dist/vue3/lib/hovercard.js +7 -8
- package/dist/vue3/lib/hovercard.js.map +1 -1
- package/dist/vue3/lib/icon.cjs +2 -0
- package/dist/vue3/lib/icon.cjs.map +1 -0
- package/dist/vue3/lib/icon.js +20 -51
- package/dist/vue3/lib/icon.js.map +1 -1
- package/dist/vue3/lib/image-viewer.cjs +2 -0
- package/dist/vue3/lib/image-viewer.cjs.map +1 -0
- package/dist/vue3/lib/image-viewer.js +9 -10
- package/dist/vue3/lib/image-viewer.js.map +1 -1
- package/dist/vue3/lib/input-group.cjs +2 -0
- package/dist/vue3/lib/input-group.cjs.map +1 -0
- package/dist/vue3/lib/input.cjs +2 -0
- package/dist/vue3/lib/input.cjs.map +1 -0
- package/dist/vue3/lib/item-layout.cjs +2 -0
- package/dist/vue3/lib/item-layout.cjs.map +1 -0
- package/dist/vue3/lib/ivr-node.cjs +2 -0
- package/dist/vue3/lib/ivr-node.cjs.map +1 -0
- package/dist/vue3/lib/ivr-node.js +4 -5
- package/dist/vue3/lib/ivr-node.js.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut.cjs +2 -0
- package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -0
- package/dist/vue3/lib/keyboard-shortcut.js +4 -5
- package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue3/lib/lazy-show.cjs +2 -0
- package/dist/vue3/lib/lazy-show.cjs.map +1 -0
- package/dist/vue3/lib/link.cjs +2 -0
- package/dist/vue3/lib/link.cjs.map +1 -0
- package/dist/vue3/lib/list-item-group.cjs +2 -0
- package/dist/vue3/lib/list-item-group.cjs.map +1 -0
- package/dist/vue3/lib/list-item.cjs +2 -0
- package/dist/vue3/lib/list-item.cjs.map +1 -0
- package/dist/vue3/lib/list-item.js +2 -3
- package/dist/vue3/lib/list-item.js.map +1 -1
- package/dist/vue3/lib/message-input.cjs +2 -0
- package/dist/vue3/lib/message-input.cjs.map +1 -0
- package/dist/vue3/lib/message-input.js +148 -100
- package/dist/vue3/lib/message-input.js.map +1 -1
- package/dist/vue3/lib/mixins.cjs +2 -0
- package/dist/vue3/lib/mixins.cjs.map +1 -0
- package/dist/vue3/lib/modal.cjs +3 -0
- package/dist/vue3/lib/modal.cjs.map +1 -0
- package/dist/vue3/lib/modal.js +11 -12
- package/dist/vue3/lib/modal.js.map +1 -1
- package/dist/vue3/lib/notice.cjs +2 -0
- package/dist/vue3/lib/notice.cjs.map +1 -0
- package/dist/vue3/lib/notice.js +2 -3
- package/dist/vue3/lib/notice.js.map +1 -1
- package/dist/vue3/lib/pagination.cjs +2 -0
- package/dist/vue3/lib/pagination.cjs.map +1 -0
- package/dist/vue3/lib/pagination.js +2 -3
- package/dist/vue3/lib/pagination.js.map +1 -1
- package/dist/vue3/lib/popover.cjs +2 -0
- package/dist/vue3/lib/popover.cjs.map +1 -0
- package/dist/vue3/lib/popover.js +4 -5
- package/dist/vue3/lib/popover.js.map +1 -1
- package/dist/vue3/lib/presence.cjs +2 -0
- package/dist/vue3/lib/presence.cjs.map +1 -0
- package/dist/vue3/lib/radio-group.cjs +2 -0
- package/dist/vue3/lib/radio-group.cjs.map +1 -0
- package/dist/vue3/lib/radio.cjs +2 -0
- package/dist/vue3/lib/radio.cjs.map +1 -0
- package/dist/vue3/lib/rich-text-editor.cjs +2 -0
- package/dist/vue3/lib/rich-text-editor.cjs.map +1 -0
- package/dist/vue3/lib/rich-text-editor.js +174 -142
- package/dist/vue3/lib/rich-text-editor.js.map +1 -1
- package/dist/vue3/lib/root-layout.cjs +2 -0
- package/dist/vue3/lib/root-layout.cjs.map +1 -0
- package/dist/vue3/lib/scroller.cjs +2 -0
- package/dist/vue3/lib/scroller.cjs.map +1 -0
- package/dist/vue3/lib/select-menu.cjs +2 -0
- package/dist/vue3/lib/select-menu.cjs.map +1 -0
- package/dist/vue3/lib/settings-menu-button.cjs +2 -0
- package/dist/vue3/lib/settings-menu-button.cjs.map +1 -0
- package/dist/vue3/lib/settings-menu-button.js +2 -3
- package/dist/vue3/lib/settings-menu-button.js.map +1 -1
- package/dist/vue3/lib/skeleton.cjs +2 -0
- package/dist/vue3/lib/skeleton.cjs.map +1 -0
- package/dist/vue3/lib/stack.cjs +2 -0
- package/dist/vue3/lib/stack.cjs.map +1 -0
- package/dist/vue3/lib/tabs.cjs +2 -0
- package/dist/vue3/lib/tabs.cjs.map +1 -0
- package/dist/vue3/lib/time-pill.cjs +2 -0
- package/dist/vue3/lib/time-pill.cjs.map +1 -0
- package/dist/vue3/lib/toast.cjs +2 -0
- package/dist/vue3/lib/toast.cjs.map +1 -0
- package/dist/vue3/lib/toast.js +2 -3
- package/dist/vue3/lib/toast.js.map +1 -1
- package/dist/vue3/lib/toggle.cjs +2 -0
- package/dist/vue3/lib/toggle.cjs.map +1 -0
- package/dist/vue3/lib/tooltip-directive.cjs +2 -0
- package/dist/vue3/lib/tooltip-directive.cjs.map +1 -0
- package/dist/vue3/lib/tooltip.cjs +2 -0
- package/dist/vue3/lib/tooltip.cjs.map +1 -0
- package/dist/vue3/lib/top-banner-info.cjs +2 -0
- package/dist/vue3/lib/top-banner-info.cjs.map +1 -0
- package/dist/vue3/lib/unread-pill.cjs +2 -0
- package/dist/vue3/lib/unread-pill.cjs.map +1 -0
- package/dist/vue3/lib/unread-pill.js +2 -3
- package/dist/vue3/lib/unread-pill.js.map +1 -1
- package/dist/vue3/lib/utils.cjs +2 -0
- package/dist/vue3/lib/utils.cjs.map +1 -0
- package/dist/vue3/lib/validation-messages.cjs +2 -0
- package/dist/vue3/lib/validation-messages.cjs.map +1 -0
- package/dist/vue3/lib/validators.cjs +2 -0
- package/dist/vue3/lib/validators.cjs.map +1 -0
- package/dist/vue3/style.css +1 -1
- package/dist/vue3/types/components/avatar/avatar.vue.d.ts +1 -1
- package/dist/vue3/types/components/button/button.vue.d.ts +2 -2
- package/dist/vue3/types/components/card/card.vue.d.ts +1 -1
- package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts +2 -2
- package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts +1 -1
- package/dist/vue3/types/components/emoji/emoji.vue.d.ts +1 -1
- package/dist/vue3/types/components/icon/icon.vue.d.ts +1 -19
- package/dist/vue3/types/components/icon/icon.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
- package/dist/vue3/types/components/modal/modal.vue.d.ts +2 -2
- package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts +1 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +91 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/root_layout/root_layout.vue.d.ts +1 -1
- package/dist/vue3/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
- package/dist/vue3/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
- package/dist/vue3/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
- package/dist/vue3/types/components/skeleton/skeleton-text.vue.d.ts +2 -2
- package/dist/vue3/types/components/skeleton/skeleton.vue.d.ts +1 -1
- package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +2 -2
- package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +90 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
- package/package.json +20 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed-item-row.cjs","sources":["../../recipes/conversation_view/feed_item_row/feed_item_row_constants.js","../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["export const FEED_ROW_STATE_BACKGROUND_COLOR = {\n NORMAL: '',\n SEARCHED: 'dt-feed-item-row--state-searched',\n ERROR: 'dt-feed-item-row--state-error',\n};\n\nexport const DEFAULT_FEED_ROW_STATE = 'NORMAL';\n\nexport default {\n FEED_ROW_STATE_BACKGROUND_COLOR,\n DEFAULT_FEED_ROW_STATE,\n};\n","<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\n },\n\n /**\n * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n ...this.$listeners,\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["FEED_ROW_STATE_BACKGROUND_COLOR","DEFAULT_FEED_ROW_STATE","_sfc_main","DtAvatar","DtLazyShow","DtListItem","DtBadge","Modal","state","event","newState","oldState","e","bool"],"mappings":"gnBAAY,MAACA,EAAkC,CAC7C,OAAQ,GACR,SAAU,mCACV,MAAO,+BACT,EAEaC,EAAyB,SCkHtCC,EAAA,CACA,KAAA,sBAEA,WAAA,CACA,SAAAC,EAAA,SACA,WAAAC,EAAA,WACA,WAAAC,EAAA,WACA,QAAAC,EAAA,OACA,EAEA,OAAA,CAAAC,EAAAA,CAAA,EAEA,aAAA,GAEA,MAAA,CAIA,WAAA,CACA,KAAA,OACA,QAAA,IACA,EAKA,WAAA,CACA,KAAA,QACA,QAAA,EACA,EAMA,eAAA,CACA,KAAA,OACA,QAAA,EACA,EAKA,YAAA,CACA,KAAA,OACA,QAAA,EACA,EAMA,KAAA,CACA,KAAA,OACA,QAAA,EACA,EAMA,UAAA,CACA,KAAA,OACA,QAAA,EACA,EAKA,UAAA,CACA,KAAA,OACA,QAAA,EACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,MAAA,CACA,KAAA,OACA,QAAAN,EACA,UAAAO,GAAA,OAAA,KAAAR,CAAA,EAAA,SAAAQ,CAAA,CACA,CACA,EAEA,MAAA,CAOA,QAQA,QAQA,SACA,EAEA,MAAA,CACA,MAAA,CACA,iBAAA,EACA,CACA,EAEA,SAAA,CACA,eAAA,CACA,MAAA,CACA,GAAA,KAAA,WACA,WAAA,IAAA,KAAA,SAAA,EAAA,EACA,WAAA,IAAA,KAAA,SAAA,EAAA,EACA,QAAA,IAAA,KAAA,SAAA,EAAA,EACA,SAAA,IAAA,KAAA,SAAA,EAAA,EACA,cAAA,IAAA,KAAA,mBAAA,EACA,QAAAC,GAAA,CACA,OAAAA,EAAA,KAAA,CACA,IAAA,MACA,KAAA,UAAAA,CAAA,EACA,KACA,CACA,KAAA,MAAA,UAAAA,CAAA,CACA,CACA,CACA,EAEA,iBAAA,CACA,MAAA,CACA,mBACA,CAAA,2BAAA,KAAA,UAAA,KAAA,QAAAR,CAAA,EACA,CAAA,qCAAA,KAAA,gBAAA,EACAD,EAAA,KAAA,KAAA,CAEA,CACA,CACA,EAEA,MAAA,CACA,MAAA,CACA,UAAA,GACA,QAAA,SAAAU,EAAAC,EAAA,CACAD,IAAAT,IACA,KAAA,iBAAA,GAEA,CACA,CACA,EAEA,QAAA,CACA,oBAAA,CACA,KAAA,QAAAA,IACA,KAAA,iBAAA,GAEA,EAEA,UAAAW,EAAA,CACA,KAAA,qBAAAA,CAAA,CACA,EAEA,SAAAC,EAAA,CACA,KAAA,MAAA,QAAAA,CAAA,CACA,EAEA,SAAAA,EAAA,CACA,KAAA,MAAA,QAAAA,CAAA,CACA,CACA,CACA"}
|
|
@@ -12,7 +12,6 @@ import "../chunks/icon_constants-OpYAAKwF.js";
|
|
|
12
12
|
import "./presence.js";
|
|
13
13
|
import "./icon.js";
|
|
14
14
|
import "@dialpad/dialtone-icons/vue2";
|
|
15
|
-
import "./skeleton.js";
|
|
16
15
|
import "../chunks/list_item_constants-LTUc74pD.js";
|
|
17
16
|
import "./item-layout.js";
|
|
18
17
|
const i = {
|
|
@@ -198,10 +197,10 @@ var c = function() {
|
|
|
198
197
|
null,
|
|
199
198
|
null
|
|
200
199
|
);
|
|
201
|
-
const
|
|
200
|
+
const O = u.exports;
|
|
202
201
|
export {
|
|
203
202
|
s as DEFAULT_FEED_ROW_STATE,
|
|
204
|
-
|
|
203
|
+
O as DtRecipeFeedItemRow,
|
|
205
204
|
i as FEED_ROW_STATE_BACKGROUND_COLOR
|
|
206
205
|
};
|
|
207
206
|
//# sourceMappingURL=feed-item-row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed-item-row.js","sources":["../../recipes/conversation_view/feed_item_row/feed_item_row_constants.js","../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["export const FEED_ROW_STATE_BACKGROUND_COLOR = {\n NORMAL: '',\n SEARCHED: 'dt-feed-item-row--state-searched',\n ERROR: 'dt-feed-item-row--state-error',\n};\n\nexport const DEFAULT_FEED_ROW_STATE = 'NORMAL';\n\nexport default {\n FEED_ROW_STATE_BACKGROUND_COLOR,\n DEFAULT_FEED_ROW_STATE,\n};\n","<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\n },\n\n /**\n * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n ...this.$listeners,\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["FEED_ROW_STATE_BACKGROUND_COLOR","DEFAULT_FEED_ROW_STATE","_sfc_main","DtAvatar","DtLazyShow","DtListItem","DtBadge","Modal","state","event","newState","oldState","e","bool"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feed-item-row.js","sources":["../../recipes/conversation_view/feed_item_row/feed_item_row_constants.js","../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["export const FEED_ROW_STATE_BACKGROUND_COLOR = {\n NORMAL: '',\n SEARCHED: 'dt-feed-item-row--state-searched',\n ERROR: 'dt-feed-item-row--state-error',\n};\n\nexport const DEFAULT_FEED_ROW_STATE = 'NORMAL';\n\nexport default {\n FEED_ROW_STATE_BACKGROUND_COLOR,\n DEFAULT_FEED_ROW_STATE,\n};\n","<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\n },\n\n /**\n * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n ...this.$listeners,\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["FEED_ROW_STATE_BACKGROUND_COLOR","DEFAULT_FEED_ROW_STATE","_sfc_main","DtAvatar","DtLazyShow","DtListItem","DtBadge","Modal","state","event","newState","oldState","e","bool"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../chunks/_plugin-vue2_normalizer-ZK80B3OL.js"),o=require("./item-layout.cjs"),a=require("./icon.cjs"),u=require("./collapsible.cjs");require("@dialpad/dialtone-icons/vue2");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");require("./utils.cjs");require("./constants.cjs");require("vue");require("./button.cjs");require("../chunks/link_constants-Kn6kP4i1.js");require("./lazy-show.cjs");const i={default:"dt-recipe-feed-item-pill__border-default",ai:"dt-recipe-feed-item-pill__border-ai",critical:"dt-recipe-feed-item-pill__border-critical"},s={name:"DtRecipeFeedItemPill",components:{DtItemLayout:o.DtItemLayout,DtIcon:a.DtIcon,DtCollapsible:u.DtCollapsible},props:{iconName:{type:String,default:()=>""},title:{type:String,default:()=>""},wrapperClass:{type:[String,Array,Object],default:""},buttonClass:{type:[String,Array,Object],default:""},ariaLabel:{type:String,required:!0},toggleable:{type:Boolean,default:()=>!0},defaultToggled:{type:Boolean,default:()=>!1},borderColor:{type:String,default:"default",validator:l=>Object.keys(i).includes(l)}},data(){return{hover:!1,expanded:this.defaultToggled}},computed:{computedIcon(){return this.toggleable&&this.hover?this.expanded?"chevron-down":"chevron-right":this.iconName},toggleableClass(){return this.toggleable?"d-c-pointer":""},borderClass(){return i[this.borderColor]}},methods:{onClick(){this.toggleable&&(this.expanded=!this.expanded)}}};var c=function(){var e=this,t=e._self._c;return t("div",{class:["dt-recipe-feed-item-pill__border",e.borderClass,e.wrapperClass]},[t("div",{staticClass:"dt-recipe-feed-item-pill__wrapper"},[t("dt-collapsible",{attrs:{open:e.expanded},scopedSlots:e._u([{key:"anchor",fn:function(){return[t("button",{class:["dt-recipe-feed-item-pill__button",e.toggleableClass,e.buttonClass],attrs:{"data-qa":"dt-recipe-feed-item-pill","aria-label":e.ariaLabel},on:{focusin:function(r){e.hover=!0},focusout:function(r){e.hover=!1},mouseenter:function(r){e.hover=!0},mouseleave:function(r){e.hover=!1},click:e.onClick}},[t("dt-item-layout",{staticClass:"dt-recipe-feed-item-pill__layout",scopedSlots:e._u([{key:"left",fn:function(){return[t("dt-icon",{staticClass:"dt-recipe-feed-item-pill__icon",attrs:{"data-qa":"dt-recipe-feed-item-pill__icon",size:"300",name:e.computedIcon}})]},proxy:!0},{key:"subtitle",fn:function(){return[e._t("subtitle")]},proxy:!0},{key:"bottom",fn:function(){return[e._t("bottom")]},proxy:!0},{key:"right",fn:function(){return[e._t("right")]},proxy:!0}],null,!0)},[e._t("title",function(){return[t("span",{staticClass:"dt-recipe-feed-item-pill__title"},[e._v(e._s(e.title))])]})],2)],1)]},proxy:!0},{key:"content",fn:function(){return[t("div",{staticClass:"dt-recipe-feed-item-pill__content"},[e._t("content")],2)]},proxy:!0}],null,!0)})],1)])},d=[],p=n.n(s,c,d,!1,null,"dab5b252",null,null);const _=p.exports;exports.DtRecipeFeedItemPill=_;exports.FEED_ITEM_PILL_BORDER_COLORS=i;
|
|
2
|
+
//# sourceMappingURL=feed-pill.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed-pill.cjs","sources":["../../recipes/conversation_view/feed_pill/feed_item_pill_constants.js","../../recipes/conversation_view/feed_pill/feed_item_pill.vue"],"sourcesContent":["export const FEED_ITEM_PILL_BORDER_COLORS = {\n default: 'dt-recipe-feed-item-pill__border-default',\n ai: 'dt-recipe-feed-item-pill__border-ai',\n critical: 'dt-recipe-feed-item-pill__border-critical',\n};\n\nexport default {\n FEED_ITEM_PILL_BORDER_COLORS,\n};\n","<template>\n <div :class=\"['dt-recipe-feed-item-pill__border', borderClass, wrapperClass]\">\n <div class=\"dt-recipe-feed-item-pill__wrapper\">\n <dt-collapsible :open=\"expanded\">\n <template #anchor>\n <button\n data-qa=\"dt-recipe-feed-item-pill\"\n :aria-label=\"ariaLabel\"\n :class=\"['dt-recipe-feed-item-pill__button', toggleableClass, buttonClass]\"\n @focusin=\"hover = true\"\n @focusout=\"hover = false\"\n @mouseenter=\"hover = true\"\n @mouseleave=\"hover = false\"\n @click=\"onClick\"\n >\n <dt-item-layout class=\"dt-recipe-feed-item-pill__layout\">\n <slot name=\"title\">\n <span class=\"dt-recipe-feed-item-pill__title\">{{ title }}</span>\n </slot>\n <template #left>\n <dt-icon\n data-qa=\"dt-recipe-feed-item-pill__icon\"\n size=\"300\"\n class=\"dt-recipe-feed-item-pill__icon\"\n :name=\"computedIcon\"\n />\n </template>\n <template #subtitle>\n <slot name=\"subtitle\" />\n </template>\n <template #bottom>\n <slot name=\"bottom\" />\n </template>\n <template #right>\n <slot name=\"right\" />\n </template>\n </dt-item-layout>\n </button>\n </template>\n <template #content>\n <div class=\"dt-recipe-feed-item-pill__content\">\n <slot name=\"content\" />\n </div>\n </template>\n </dt-collapsible>\n </div>\n </div>\n</template>\n\n<script>\nimport { FEED_ITEM_PILL_BORDER_COLORS } from './feed_item_pill_constants';\nimport { DtIcon } from '@/components/icon';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtCollapsible } from '@/components/collapsible';\n\nexport default {\n name: 'DtRecipeFeedItemPill',\n\n components: { DtItemLayout, DtIcon, DtCollapsible },\n\n props: {\n /**\n * Accepts a DtIcon name to be shown in the left\n */\n iconName: {\n type: String,\n default: () => '',\n },\n\n /**\n * Bolded primary text\n */\n title: {\n type: String,\n default: () => '',\n },\n\n /**\n * Additional styling around the pill\n */\n wrapperClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional styling for the pill\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Aria label for feed pill\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets whether the pill can be toggled (Icon changing on hover, expanding and collapsing, pointer)\n */\n toggleable: {\n type: Boolean,\n default: () => true,\n },\n\n defaultToggled: {\n type: Boolean,\n default: () => false,\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(FEED_ITEM_PILL_BORDER_COLORS).includes(color),\n },\n },\n\n data () {\n return {\n hover: false,\n expanded: this.defaultToggled,\n };\n },\n\n computed: {\n computedIcon () {\n if (this.toggleable && this.hover) {\n return this.expanded ? 'chevron-down' : 'chevron-right';\n } else {\n return this.iconName;\n }\n },\n\n toggleableClass () {\n return this.toggleable ? 'd-c-pointer' : '';\n },\n\n borderClass () {\n return FEED_ITEM_PILL_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n onClick () {\n if (!this.toggleable) return;\n\n this.expanded = !this.expanded;\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-recipe-feed-item-pill {\n &__wrapper {\n background-color: var(--dt-color-surface-secondary);\n padding: var(--dt-space-400);\n }\n\n &__button {\n background-color: var(--dt-color-surface-moderate);\n text-align: left;\n width: 100%;\n cursor: pointer;\n border-width: 0;\n border-radius: var(--dt-size-radius-600);\n --button-padding-x: var(--button-padding-y-md);\n --button-padding-y: var(--button-padding-y-md);\n --button-color-text: var(--dt-action-color-foreground-muted-default);\n --button-border-radius: var(--dt-size-radius-600);\n }\n\n &__layout {\n padding: var(--dt-space-400);\n gap: var(--dt-space-300);\n width: 100%;\n\n &:deep(> .dt-item-layout--left) {\n padding-right: var(--dt-space-0);\n justify-content: center;\n }\n }\n\n &__icon {\n animation: fade 0.15s ease-in;\n }\n\n &__content {\n display: flex;\n justify-content: center;\n }\n\n &__title {\n font-weight: var(--dt-font-weight-bold);\n }\n\n // Gradient radius solution taken from https://stackoverflow.com/a/53037637\n &__border {\n border: double 1px transparent;\n border-radius: var(--dt-size-radius-600);\n background-origin: border-box;\n background-clip: content-box, border-box;\n overflow: hidden;\n }\n\n &__border-default {\n background: var(--dt-color-border-default)\n }\n\n &__border-ai {\n background-image:\n linear-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)),\n var(--dt-badge-color-background-ai);\n }\n\n &__border-critical {\n background: var(--dt-color-foreground-critical);\n }\n\n @keyframes fade {\n 0% {transform: scale(0);}\n 100% {transform: scale(1);}\n }\n}\n</style>\n"],"names":["FEED_ITEM_PILL_BORDER_COLORS","_sfc_main","DtItemLayout","DtIcon","DtCollapsible","color"],"mappings":"ihBAAY,MAACA,EAA+B,CAC1C,QAAS,2CACT,GAAI,sCACJ,SAAU,2CACZ,ECmDAC,EAAA,CACA,KAAA,uBAEA,WAAA,CAAAC,aAAAA,EAAAA,oBAAAC,EAAA,OAAA,cAAAC,eAAA,EAEA,MAAA,CAIA,SAAA,CACA,KAAA,OACA,QAAA,IAAA,EACA,EAKA,MAAA,CACA,KAAA,OACA,QAAA,IAAA,EACA,EAKA,aAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,YAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,UAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,WAAA,CACA,KAAA,QACA,QAAA,IAAA,EACA,EAEA,eAAA,CACA,KAAA,QACA,QAAA,IAAA,EACA,EAMA,YAAA,CACA,KAAA,OACA,QAAA,UACA,UAAAC,GAAA,OAAA,KAAAL,CAAA,EAAA,SAAAK,CAAA,CACA,CACA,EAEA,MAAA,CACA,MAAA,CACA,MAAA,GACA,SAAA,KAAA,cACA,CACA,EAEA,SAAA,CACA,cAAA,CACA,OAAA,KAAA,YAAA,KAAA,MACA,KAAA,SAAA,eAAA,gBAEA,KAAA,QAEA,EAEA,iBAAA,CACA,OAAA,KAAA,WAAA,cAAA,EACA,EAEA,aAAA,CACA,OAAAL,EAAA,KAAA,WAAA,CACA,CACA,EAEA,QAAA,CACA,SAAA,CACA,KAAA,aAEA,KAAA,SAAA,CAAA,KAAA,SACA,CACA,CACA"}
|
|
@@ -5,7 +5,6 @@ import { DtCollapsible as s } from "./collapsible.js";
|
|
|
5
5
|
import "@dialpad/dialtone-icons/vue2";
|
|
6
6
|
import "../chunks/icon_constants-OpYAAKwF.js";
|
|
7
7
|
import "@dialpad/dialtone-icons/icons.json";
|
|
8
|
-
import "./skeleton.js";
|
|
9
8
|
import "./utils.js";
|
|
10
9
|
import "./constants.js";
|
|
11
10
|
import "vue";
|
|
@@ -134,9 +133,9 @@ var p = function() {
|
|
|
134
133
|
null,
|
|
135
134
|
null
|
|
136
135
|
);
|
|
137
|
-
const
|
|
136
|
+
const D = u.exports;
|
|
138
137
|
export {
|
|
139
|
-
|
|
138
|
+
D as DtRecipeFeedItemPill,
|
|
140
139
|
o as FEED_ITEM_PILL_BORDER_COLORS
|
|
141
140
|
};
|
|
142
141
|
//# sourceMappingURL=feed-pill.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed-pill.js","sources":["../../recipes/conversation_view/feed_pill/feed_item_pill_constants.js","../../recipes/conversation_view/feed_pill/feed_item_pill.vue"],"sourcesContent":["export const FEED_ITEM_PILL_BORDER_COLORS = {\n default: 'dt-recipe-feed-item-pill__border-default',\n ai: 'dt-recipe-feed-item-pill__border-ai',\n critical: 'dt-recipe-feed-item-pill__border-critical',\n};\n\nexport default {\n FEED_ITEM_PILL_BORDER_COLORS,\n};\n","<template>\n <div :class=\"['dt-recipe-feed-item-pill__border', borderClass, wrapperClass]\">\n <div class=\"dt-recipe-feed-item-pill__wrapper\">\n <dt-collapsible :open=\"expanded\">\n <template #anchor>\n <button\n data-qa=\"dt-recipe-feed-item-pill\"\n :aria-label=\"ariaLabel\"\n :class=\"['dt-recipe-feed-item-pill__button', toggleableClass, buttonClass]\"\n @focusin=\"hover = true\"\n @focusout=\"hover = false\"\n @mouseenter=\"hover = true\"\n @mouseleave=\"hover = false\"\n @click=\"onClick\"\n >\n <dt-item-layout class=\"dt-recipe-feed-item-pill__layout\">\n <slot name=\"title\">\n <span class=\"dt-recipe-feed-item-pill__title\">{{ title }}</span>\n </slot>\n <template #left>\n <dt-icon\n data-qa=\"dt-recipe-feed-item-pill__icon\"\n size=\"300\"\n class=\"dt-recipe-feed-item-pill__icon\"\n :name=\"computedIcon\"\n />\n </template>\n <template #subtitle>\n <slot name=\"subtitle\" />\n </template>\n <template #bottom>\n <slot name=\"bottom\" />\n </template>\n <template #right>\n <slot name=\"right\" />\n </template>\n </dt-item-layout>\n </button>\n </template>\n <template #content>\n <div class=\"dt-recipe-feed-item-pill__content\">\n <slot name=\"content\" />\n </div>\n </template>\n </dt-collapsible>\n </div>\n </div>\n</template>\n\n<script>\nimport { FEED_ITEM_PILL_BORDER_COLORS } from './feed_item_pill_constants';\nimport { DtIcon } from '@/components/icon';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtCollapsible } from '@/components/collapsible';\n\nexport default {\n name: 'DtRecipeFeedItemPill',\n\n components: { DtItemLayout, DtIcon, DtCollapsible },\n\n props: {\n /**\n * Accepts a DtIcon name to be shown in the left\n */\n iconName: {\n type: String,\n default: () => '',\n },\n\n /**\n * Bolded primary text\n */\n title: {\n type: String,\n default: () => '',\n },\n\n /**\n * Additional styling around the pill\n */\n wrapperClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional styling for the pill\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Aria label for feed pill\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets whether the pill can be toggled (Icon changing on hover, expanding and collapsing, pointer)\n */\n toggleable: {\n type: Boolean,\n default: () => true,\n },\n\n defaultToggled: {\n type: Boolean,\n default: () => false,\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(FEED_ITEM_PILL_BORDER_COLORS).includes(color),\n },\n },\n\n data () {\n return {\n hover: false,\n expanded: this.defaultToggled,\n };\n },\n\n computed: {\n computedIcon () {\n if (this.toggleable && this.hover) {\n return this.expanded ? 'chevron-down' : 'chevron-right';\n } else {\n return this.iconName;\n }\n },\n\n toggleableClass () {\n return this.toggleable ? 'd-c-pointer' : '';\n },\n\n borderClass () {\n return FEED_ITEM_PILL_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n onClick () {\n if (!this.toggleable) return;\n\n this.expanded = !this.expanded;\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-recipe-feed-item-pill {\n &__wrapper {\n background-color: var(--dt-color-surface-secondary);\n padding: var(--dt-space-400);\n }\n\n &__button {\n background-color: var(--dt-color-surface-moderate);\n text-align: left;\n width: 100%;\n cursor: pointer;\n border-width: 0;\n border-radius: var(--dt-size-radius-600);\n --button-padding-x: var(--button-padding-y-md);\n --button-padding-y: var(--button-padding-y-md);\n --button-color-text: var(--dt-action-color-foreground-muted-default);\n --button-border-radius: var(--dt-size-radius-600);\n }\n\n &__layout {\n padding: var(--dt-space-400);\n gap: var(--dt-space-300);\n width: 100%;\n\n &:deep(> .dt-item-layout--left) {\n padding-right: var(--dt-space-0);\n justify-content: center;\n }\n }\n\n &__icon {\n animation: fade 0.15s ease-in;\n }\n\n &__content {\n display: flex;\n justify-content: center;\n }\n\n &__title {\n font-weight: var(--dt-font-weight-bold);\n }\n\n // Gradient radius solution taken from https://stackoverflow.com/a/53037637\n &__border {\n border: double 1px transparent;\n border-radius: var(--dt-size-radius-600);\n background-origin: border-box;\n background-clip: content-box, border-box;\n overflow: hidden;\n }\n\n &__border-default {\n background: var(--dt-color-border-default)\n }\n\n &__border-ai {\n background-image:\n linear-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)),\n var(--dt-badge-color-background-ai);\n }\n\n &__border-critical {\n background: var(--dt-color-foreground-critical);\n }\n\n @keyframes fade {\n 0% {transform: scale(0);}\n 100% {transform: scale(1);}\n }\n}\n</style>\n"],"names":["FEED_ITEM_PILL_BORDER_COLORS","_sfc_main","DtItemLayout","DtIcon","DtCollapsible","color"],"mappings":"
|
|
1
|
+
{"version":3,"file":"feed-pill.js","sources":["../../recipes/conversation_view/feed_pill/feed_item_pill_constants.js","../../recipes/conversation_view/feed_pill/feed_item_pill.vue"],"sourcesContent":["export const FEED_ITEM_PILL_BORDER_COLORS = {\n default: 'dt-recipe-feed-item-pill__border-default',\n ai: 'dt-recipe-feed-item-pill__border-ai',\n critical: 'dt-recipe-feed-item-pill__border-critical',\n};\n\nexport default {\n FEED_ITEM_PILL_BORDER_COLORS,\n};\n","<template>\n <div :class=\"['dt-recipe-feed-item-pill__border', borderClass, wrapperClass]\">\n <div class=\"dt-recipe-feed-item-pill__wrapper\">\n <dt-collapsible :open=\"expanded\">\n <template #anchor>\n <button\n data-qa=\"dt-recipe-feed-item-pill\"\n :aria-label=\"ariaLabel\"\n :class=\"['dt-recipe-feed-item-pill__button', toggleableClass, buttonClass]\"\n @focusin=\"hover = true\"\n @focusout=\"hover = false\"\n @mouseenter=\"hover = true\"\n @mouseleave=\"hover = false\"\n @click=\"onClick\"\n >\n <dt-item-layout class=\"dt-recipe-feed-item-pill__layout\">\n <slot name=\"title\">\n <span class=\"dt-recipe-feed-item-pill__title\">{{ title }}</span>\n </slot>\n <template #left>\n <dt-icon\n data-qa=\"dt-recipe-feed-item-pill__icon\"\n size=\"300\"\n class=\"dt-recipe-feed-item-pill__icon\"\n :name=\"computedIcon\"\n />\n </template>\n <template #subtitle>\n <slot name=\"subtitle\" />\n </template>\n <template #bottom>\n <slot name=\"bottom\" />\n </template>\n <template #right>\n <slot name=\"right\" />\n </template>\n </dt-item-layout>\n </button>\n </template>\n <template #content>\n <div class=\"dt-recipe-feed-item-pill__content\">\n <slot name=\"content\" />\n </div>\n </template>\n </dt-collapsible>\n </div>\n </div>\n</template>\n\n<script>\nimport { FEED_ITEM_PILL_BORDER_COLORS } from './feed_item_pill_constants';\nimport { DtIcon } from '@/components/icon';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtCollapsible } from '@/components/collapsible';\n\nexport default {\n name: 'DtRecipeFeedItemPill',\n\n components: { DtItemLayout, DtIcon, DtCollapsible },\n\n props: {\n /**\n * Accepts a DtIcon name to be shown in the left\n */\n iconName: {\n type: String,\n default: () => '',\n },\n\n /**\n * Bolded primary text\n */\n title: {\n type: String,\n default: () => '',\n },\n\n /**\n * Additional styling around the pill\n */\n wrapperClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional styling for the pill\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Aria label for feed pill\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Sets whether the pill can be toggled (Icon changing on hover, expanding and collapsing, pointer)\n */\n toggleable: {\n type: Boolean,\n default: () => true,\n },\n\n defaultToggled: {\n type: Boolean,\n default: () => false,\n },\n\n /**\n * Callbox border color\n * @values default, ai, critical\n */\n borderColor: {\n type: String,\n default: 'default',\n validator: (color) => Object.keys(FEED_ITEM_PILL_BORDER_COLORS).includes(color),\n },\n },\n\n data () {\n return {\n hover: false,\n expanded: this.defaultToggled,\n };\n },\n\n computed: {\n computedIcon () {\n if (this.toggleable && this.hover) {\n return this.expanded ? 'chevron-down' : 'chevron-right';\n } else {\n return this.iconName;\n }\n },\n\n toggleableClass () {\n return this.toggleable ? 'd-c-pointer' : '';\n },\n\n borderClass () {\n return FEED_ITEM_PILL_BORDER_COLORS[this.borderColor];\n },\n },\n\n methods: {\n onClick () {\n if (!this.toggleable) return;\n\n this.expanded = !this.expanded;\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-recipe-feed-item-pill {\n &__wrapper {\n background-color: var(--dt-color-surface-secondary);\n padding: var(--dt-space-400);\n }\n\n &__button {\n background-color: var(--dt-color-surface-moderate);\n text-align: left;\n width: 100%;\n cursor: pointer;\n border-width: 0;\n border-radius: var(--dt-size-radius-600);\n --button-padding-x: var(--button-padding-y-md);\n --button-padding-y: var(--button-padding-y-md);\n --button-color-text: var(--dt-action-color-foreground-muted-default);\n --button-border-radius: var(--dt-size-radius-600);\n }\n\n &__layout {\n padding: var(--dt-space-400);\n gap: var(--dt-space-300);\n width: 100%;\n\n &:deep(> .dt-item-layout--left) {\n padding-right: var(--dt-space-0);\n justify-content: center;\n }\n }\n\n &__icon {\n animation: fade 0.15s ease-in;\n }\n\n &__content {\n display: flex;\n justify-content: center;\n }\n\n &__title {\n font-weight: var(--dt-font-weight-bold);\n }\n\n // Gradient radius solution taken from https://stackoverflow.com/a/53037637\n &__border {\n border: double 1px transparent;\n border-radius: var(--dt-size-radius-600);\n background-origin: border-box;\n background-clip: content-box, border-box;\n overflow: hidden;\n }\n\n &__border-default {\n background: var(--dt-color-border-default)\n }\n\n &__border-ai {\n background-image:\n linear-gradient(var(--dt-color-surface-primary), var(--dt-color-surface-primary)),\n var(--dt-badge-color-background-ai);\n }\n\n &__border-critical {\n background: var(--dt-color-foreground-critical);\n }\n\n @keyframes fade {\n 0% {transform: scale(0);}\n 100% {transform: scale(1);}\n }\n}\n</style>\n"],"names":["FEED_ITEM_PILL_BORDER_COLORS","_sfc_main","DtItemLayout","DtIcon","DtCollapsible","color"],"mappings":";;;;;;;;;;;;;AAAY,MAACA,IAA+B;AAAA,EAC1C,SAAS;AAAA,EACT,IAAI;AAAA,EACJ,UAAU;AACZ,GCmDAC,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,cAAAC,GAAA,QAAAC,GAAA,eAAAC,EAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,KAAAL,CAAA,EAAA,SAAAK,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,eAAA;AACA,aAAA,KAAA,cAAA,KAAA,QACA,KAAA,WAAA,iBAAA,kBAEA,KAAA;AAAA,IAEA;AAAA,IAEA,kBAAA;AACA,aAAA,KAAA,aAAA,gBAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,aAAAL,EAAA,KAAA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,UAAA;AACA,MAAA,KAAA,eAEA,KAAA,WAAA,CAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("./emoji-text-wrapper.cjs"),_=require("../chunks/_plugin-vue2_normalizer-ZK80B3OL.js"),p=require("./icon.cjs"),T=require("./utils.cjs"),g=require("./badge.cjs"),E=require("./button.cjs"),R=require("./tooltip.cjs");require("../chunks/index-sdfB7Aok.js");require("emoji-regex");require("emoji-toolkit/emoji_strategy.json");require("./skeleton.cjs");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");require("@dialpad/dialtone-icons/vue2");require("./constants.cjs");require("vue");require("../chunks/link_constants-Kn6kP4i1.js");require("../chunks/popover_constants-hOEhklvr.js");require("tippy.js");require("./lazy-show.cjs");const a={INBOX:"inbox",CONTACTS:"contacts",CHANNELS:"channels",HOME:"home",THREADS:"threads",LOCKED_CHANNEL:"locked channel",CONTACT_CENTER:"contact center",QUICK_START:"quick start",COACHING_GROUP:"coaching group",COACHING_CENTER:"coaching center",DIALBOT:"dialbot",ASSIGNED:"assigned",DIGITAL:"digital"},f={[a.INBOX]:"inbox",[a.CONTACTS]:"contacts",[a.CHANNELS]:"hash",[a.HOME]:"home",[a.THREADS]:"thread",[a.LOCKED_CHANNEL]:"lock",[a.QUICK_START]:"sparkle",[a.COACHING_GROUP]:"users",[a.COACHING_CENTER]:"external-link","locked channel unread":"lock-filled","channel unread":"hash-bold",[a.ASSIGNED]:"at-sign",[a.DIGITAL]:"laptop-2"},o={"magenta-200":"d-bgc-magenta-200","green-200":"d-bgc-green-200","gold-300":"d-bgc-gold-300","purple-600":"d-bgc-purple-600","magenta-300":"d-bgc-magenta-300","purple-300":"d-bgc-purple-300","green-500":"d-bgc-green-500","purple-100":"d-bgc-purple-100","magenta-400":"d-bgc-magenta-400","magenta-100":"d-bgc-magenta-100","black-300":"d-bgc-black-300"},b="If type is contact center, color must be oneof the following:"+Object.keys(o).join(", "),h=["300","200"],A={name:"DtRecipeLeftbarGeneralRowIcon",components:{DtIcon:p.DtIcon},props:{type:{type:String,default:null},color:{type:String,default:null},iconSize:{type:String,default:"300"}},computed:{isIconType(){return![a.DIALBOT,a.CONTACT_CENTER].includes(this.type)},isContactCenterType(){return this.type===a.CONTACT_CENTER},isDialbotType(){return this.type===a.DIALBOT},getIconName(){return f[this.type]},contactCenterIconClasses(){return["dt-leftbar-row__icon-cc",o[this.color]]},dialbotClasses(){return["d-d-flex","d-ai-center","d-jc-center"]}}};var y=function(){var t=this,e=t._self._c;return t.isIconType?e("dt-icon",{attrs:{name:t.getIconName,size:t.iconSize}}):t.isContactCenterType?e("div",{class:t.contactCenterIconClasses}):t.isDialbotType?e("div",{class:t.dialbotClasses,attrs:{"data-qa":"general-row-dialbot"}},[e("dt-icon",{attrs:{name:"dialbot",size:"500"}})],1):t._e()},N=[],O=_.n(A,y,N,!1,null,null,null,null);const m=O.exports,w={name:"DtRecipeGeneralRow",components:{DtEmojiTextWrapper:C.DtEmojiTextWrapper,DtBadge:g.DtBadge,DtIcon:p.DtIcon,DtButton:E.DtButton,DtTooltip:R.DtTooltip,DtRecipeLeftbarGeneralRowIcon:m},inheritAttrs:!1,props:{type:{type:String,default:"inbox",validator:r=>Object.values(a).includes(r)},ariaLabel:{type:String,default:""},description:{type:String,required:!0},color:{type:String,default:null,validator:r=>Object.keys(o).includes(r)},hasUnreads:{type:Boolean,default:!1},unreadCount:{type:String,default:null},unreadCountTooltip:{type:String,default:""},selected:{type:Boolean,default:!1},muted:{type:Boolean,default:!1},activeVoiceChat:{type:Boolean,default:!1},dndText:{type:String,default:""},dndTextTooltip:{type:String,default:""},hasCallButton:{type:Boolean,default:!1},callButtonTooltip:{type:String,default:""},isTyping:{type:Boolean,default:!1},iconSize:{type:String,default:"300",validator:r=>h.includes(r)}},emits:["click","call"],data(){return{actionFocused:!1,labelWidth:"100%"}},computed:{leftbarGeneralRowClasses(){return["dt-leftbar-row",{"dt-leftbar-row--no-action":!this.hasCallButton,"dt-leftbar-row--has-unread":this.hasUnreads,"dt-leftbar-row--unread-count":this.showUnreadCount,"dt-leftbar-row--selected":this.selected,"dt-leftbar-row--muted":this.muted,"dt-leftbar-row--action-focused":this.actionFocused}]},getIcon(){switch(this.type){case a.CHANNELS:if(this.hasUnreads)return"channel unread";break;case a.LOCKED_CHANNEL:if(this.hasUnreads)return"locked channel unread";break}return this.type},getAriaLabel(){return this.ariaLabel?this.ariaLabel:T.safeConcatStrings([this.description,this.unreadCountTooltip,this.dndTextTooltip])},hasActions(){return this.dndText||this.activeVoiceChat||this.showUnreadCount||this.hasCallButton},showUnreadCount(){return!!this.unreadCount&&this.hasUnreads}},watch:{$props:{immediate:!0,deep:!0,async handler(){this.validateProps(),await this.$nextTick(),this.adjustLabelWidth()}}},mounted(){this.resizeObserver=new ResizeObserver(this.adjustLabelWidth),this.resizeObserver.observe(this.$el),this.adjustLabelWidth()},beforeDestroy:function(){this.resizeObserver.disconnect()},methods:{validateProps(){this.type===a.CONTACT_CENTER&&!Object.keys(o).includes(this.color)&&console.error(b)},adjustLabelWidth(){var i,s,l,c,d,u;const r=((s=(i=this.$el)==null?void 0:i.querySelector(".dt-leftbar-row__primary"))==null?void 0:s.clientWidth)||0,t=((c=(l=this.$el)==null?void 0:l.querySelector(".dt-leftbar-row__omega"))==null?void 0:c.clientWidth)||0,e=((u=(d=this.$el)==null?void 0:d.querySelector(".dt-leftbar-row__alpha"))==null?void 0:u.clientWidth)||0,n=16;this.labelWidth=r-(t+e+n)+"px"}}};var L=function(){var t=this,e=t._self._c;return e("div",{class:t.leftbarGeneralRowClasses,attrs:{"data-qa":"dt-leftbar-row"}},[e("a",t._g(t._b({staticClass:"dt-leftbar-row__primary",attrs:{"data-qa":"data-qa"in t.$attrs?t.$attrs["data-qa"]:"dt-leftbar-row-link","aria-label":t.getAriaLabel,title:t.description,href:"href"in t.$attrs?t.$attrs.href:"javascript:void(0)"}},"a",t.$attrs,!1),t.$listeners),[e("div",{staticClass:"dt-leftbar-row__alpha"},[t.isTyping?e("div",{staticClass:"dt-leftbar-row__is-typing"},[e("span"),e("span"),e("span")]):t._t("left",function(){return[e("dt-recipe-leftbar-general-row-icon",{attrs:{type:t.getIcon,color:t.color,"icon-size":t.iconSize,"data-qa":"dt-leftbar-row-icon"}})]})],2),e("div",{staticClass:"dt-leftbar-row__label",style:`flex-basis: ${t.labelWidth}`},[t._t("label",function(){return[e("dt-emoji-text-wrapper",{staticClass:"dt-leftbar-row__description",attrs:{"data-qa":"dt-leftbar-row-description",size:"200"}},[t._v(" "+t._s(t.description)+" ")])]})],2)]),t.hasActions?e("div",{staticClass:"dt-leftbar-row__omega"},[t.dndText?e("dt-tooltip",{attrs:{placement:"top",message:t.dndTextTooltip},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("div",{ref:"dt-leftbar-row-dnd",staticClass:"dt-leftbar-row__dnd",attrs:{"data-qa":"dt-leftbar-row-dnd"}},[t._v(" "+t._s(t.dndText)+" ")])]},proxy:!0}],null,!1,490758222)}):t._e(),t.activeVoiceChat?e("div",{staticClass:"dt-leftbar-row__active-voice"},[e("dt-icon",{attrs:{size:"300",name:"waveform"}})],1):t.showUnreadCount?e("dt-tooltip",{attrs:{message:t.unreadCountTooltip,placement:"top"},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("dt-badge",{staticClass:"dt-leftbar-row__unread-badge",attrs:{kind:"count",type:"bulletin","data-qa":"dt-leftbar-row-unread-badge"}},[t._v(" "+t._s(t.unreadCount)+" ")])]},proxy:!0}],null,!1,462525554)}):t._e(),t.hasCallButton?e("div",{staticClass:"dt-leftbar-row__action",attrs:{"data-qa":"dt-leftbar-row-action"}},[e("dt-tooltip",{attrs:{message:t.callButtonTooltip,placement:"top"},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("dt-button",{staticClass:"dt-leftbar-row__action-button",attrs:{"data-qa":"dt-leftbar-row-action-call-button",circle:!0,size:"xs",kind:"inverted","aria-label":t.callButtonTooltip},on:{focus:function(n){t.actionFocused=!0},blur:function(n){t.actionFocused=!1},click:function(n){return n.stopPropagation(),t.$emit("call",n)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("dt-icon",{attrs:{name:"phone",size:"200"}})]},proxy:!0}],null,!1,990728611)})]},proxy:!0}],null,!1,4239858356)})],1):t._e()],1):t._e()])},S=[],v=_.n(w,L,S,!1,null,"ca5d7362",null,null);const I=v.exports;exports.DtRecipeGeneralRow=I;exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS=o;exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR=b;exports.LEFTBAR_GENERAL_ROW_ICON_MAPPING=f;exports.LEFTBAR_GENERAL_ROW_ICON_SIZES=h;exports.LEFTBAR_GENERAL_ROW_TYPES=a;
|
|
2
|
+
//# sourceMappingURL=general-row.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general-row.cjs","sources":["../../recipes/leftbar/general_row/general_row_constants.js","../../recipes/leftbar/general_row/leftbar_general_row_icon.vue","../../recipes/leftbar/general_row/general_row.vue"],"sourcesContent":["export const LEFTBAR_GENERAL_ROW_TYPES = {\n INBOX: 'inbox',\n CONTACTS: 'contacts',\n CHANNELS: 'channels',\n HOME: 'home',\n THREADS: 'threads',\n LOCKED_CHANNEL: 'locked channel',\n CONTACT_CENTER: 'contact center',\n QUICK_START: 'quick start',\n COACHING_GROUP: 'coaching group',\n COACHING_CENTER: 'coaching center',\n DIALBOT: 'dialbot',\n ASSIGNED: 'assigned',\n DIGITAL: 'digital',\n};\n\nexport const LEFTBAR_GENERAL_ROW_ICON_MAPPING = {\n [LEFTBAR_GENERAL_ROW_TYPES.INBOX]: 'inbox',\n [LEFTBAR_GENERAL_ROW_TYPES.CONTACTS]: 'contacts',\n [LEFTBAR_GENERAL_ROW_TYPES.CHANNELS]: 'hash',\n [LEFTBAR_GENERAL_ROW_TYPES.HOME]: 'home',\n [LEFTBAR_GENERAL_ROW_TYPES.THREADS]: 'thread',\n [LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL]: 'lock',\n [LEFTBAR_GENERAL_ROW_TYPES.QUICK_START]: 'sparkle',\n [LEFTBAR_GENERAL_ROW_TYPES.COACHING_GROUP]: 'users',\n [LEFTBAR_GENERAL_ROW_TYPES.COACHING_CENTER]: 'external-link',\n 'locked channel unread': 'lock-filled',\n 'channel unread': 'hash-bold',\n [LEFTBAR_GENERAL_ROW_TYPES.ASSIGNED]: 'at-sign',\n [LEFTBAR_GENERAL_ROW_TYPES.DIGITAL]: 'laptop-2',\n};\n\nexport const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS = {\n 'magenta-200': 'd-bgc-magenta-200',\n 'green-200': 'd-bgc-green-200',\n 'gold-300': 'd-bgc-gold-300',\n 'purple-600': 'd-bgc-purple-600',\n 'magenta-300': 'd-bgc-magenta-300',\n 'purple-300': 'd-bgc-purple-300',\n 'green-500': 'd-bgc-green-500',\n 'purple-100': 'd-bgc-purple-100',\n 'magenta-400': 'd-bgc-magenta-400',\n 'magenta-100': 'd-bgc-magenta-100',\n 'black-300': 'd-bgc-black-300',\n};\n\nexport const LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR = 'If type is contact center, color must be one' +\n 'of the following:' + Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).join(', ');\n\nexport const LEFTBAR_GENERAL_ROW_ICON_SIZES = [\n '300',\n '200',\n];\n\nexport default {\n LEFTBAR_GENERAL_ROW_TYPES,\n LEFTBAR_GENERAL_ROW_ICON_MAPPING,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,\n LEFTBAR_GENERAL_ROW_ICON_SIZES,\n};\n","<template>\n <dt-icon\n v-if=\"isIconType\"\n :name=\"getIconName\"\n :size=\"iconSize\"\n />\n <div\n v-else-if=\"isContactCenterType\"\n :class=\"contactCenterIconClasses\"\n />\n <div\n v-else-if=\"isDialbotType\"\n :class=\"dialbotClasses\"\n data-qa=\"general-row-dialbot\"\n >\n <dt-icon\n name=\"dialbot\"\n size=\"500\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport {\n LEFTBAR_GENERAL_ROW_ICON_MAPPING as ICON_MAPPING,\n LEFTBAR_GENERAL_ROW_TYPES as TYPES,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS as COLORS,\n} from '@/recipes/leftbar/general_row/general_row_constants';\n\nexport default {\n name: 'DtRecipeLeftbarGeneralRowIcon',\n components: { DtIcon },\n props: {\n type: {\n type: String,\n default: null,\n },\n\n color: {\n type: String,\n default: null,\n },\n\n iconSize: {\n type: String,\n default: '300',\n },\n },\n\n computed: {\n isIconType () {\n return ![TYPES.DIALBOT, TYPES.CONTACT_CENTER].includes(this.type);\n },\n\n isContactCenterType () {\n return this.type === TYPES.CONTACT_CENTER;\n },\n\n isDialbotType () {\n return this.type === TYPES.DIALBOT;\n },\n\n getIconName () {\n return ICON_MAPPING[this.type];\n },\n\n contactCenterIconClasses () {\n return [\n 'dt-leftbar-row__icon-cc',\n COLORS[this.color],\n ];\n },\n\n dialbotClasses () {\n return [\n 'd-d-flex',\n 'd-ai-center',\n 'd-jc-center',\n ];\n },\n },\n};\n</script>\n","<template>\n <div\n :class=\"leftbarGeneralRowClasses\"\n data-qa=\"dt-leftbar-row\"\n >\n <a\n class=\"dt-leftbar-row__primary\"\n :data-qa=\"'data-qa' in $attrs ? $attrs['data-qa'] : 'dt-leftbar-row-link'\"\n :aria-label=\"getAriaLabel\"\n :title=\"description\"\n :href=\"'href' in $attrs ? $attrs.href : 'javascript:void(0)'\"\n v-bind=\"$attrs\"\n v-on=\"$listeners\"\n >\n <div\n class=\"dt-leftbar-row__alpha\"\n >\n <div\n v-if=\"isTyping\"\n class=\"dt-leftbar-row__is-typing\"\n >\n <span /><span /><span />\n </div>\n <slot\n v-else\n name=\"left\"\n >\n <dt-recipe-leftbar-general-row-icon\n :type=\"getIcon\"\n :color=\"color\"\n :icon-size=\"iconSize\"\n data-qa=\"dt-leftbar-row-icon\"\n />\n </slot>\n </div>\n <div\n class=\"dt-leftbar-row__label\"\n :style=\"`flex-basis: ${labelWidth}`\"\n >\n <slot name=\"label\">\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ description }}\n </dt-emoji-text-wrapper>\n </slot>\n </div>\n </a>\n <div\n v-if=\"hasActions\"\n class=\"dt-leftbar-row__omega\"\n >\n <dt-tooltip\n v-if=\"dndText\"\n placement=\"top\"\n :message=\"dndTextTooltip\"\n >\n <template #anchor>\n <div\n ref=\"dt-leftbar-row-dnd\"\n class=\"dt-leftbar-row__dnd\"\n data-qa=\"dt-leftbar-row-dnd\"\n >\n {{ dndText }}\n </div>\n </template>\n </dt-tooltip>\n <div\n v-if=\"activeVoiceChat\"\n class=\"dt-leftbar-row__active-voice\"\n >\n <dt-icon\n size=\"300\"\n name=\"waveform\"\n />\n </div>\n <dt-tooltip\n v-else-if=\"showUnreadCount\"\n :message=\"unreadCountTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-badge\n kind=\"count\"\n type=\"bulletin\"\n data-qa=\"dt-leftbar-row-unread-badge\"\n class=\"dt-leftbar-row__unread-badge\"\n >\n {{ unreadCount }}\n </dt-badge>\n </template>\n </dt-tooltip>\n <div\n v-if=\"hasCallButton\"\n class=\"dt-leftbar-row__action\"\n data-qa=\"dt-leftbar-row-action\"\n >\n <dt-tooltip\n :message=\"callButtonTooltip\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n class=\"dt-leftbar-row__action-button\"\n data-qa=\"dt-leftbar-row-action-call-button\"\n :circle=\"true\"\n size=\"xs\"\n kind=\"inverted\"\n :aria-label=\"callButtonTooltip\"\n @focus=\"actionFocused = true\"\n @blur=\"actionFocused = false\"\n @click.stop=\"$emit('call', $event)\"\n >\n <template #icon>\n <dt-icon\n name=\"phone\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n LEFTBAR_GENERAL_ROW_TYPES,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,\n LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,\n LEFTBAR_GENERAL_ROW_ICON_SIZES,\n} from './general_row_constants';\nimport { DtBadge } from '@/components/badge';\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtRecipeLeftbarGeneralRowIcon from './leftbar_general_row_icon.vue';\nimport { safeConcatStrings } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeGeneralRow',\n\n components: {\n DtEmojiTextWrapper,\n DtBadge,\n DtIcon,\n DtButton,\n DtTooltip,\n DtRecipeLeftbarGeneralRowIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Determines the icon to show.\n * If type is contact center, the color prop must be provided and will determine the color of the icon\n */\n type: {\n type: String,\n default: 'inbox',\n validator: (type) => {\n return Object.values(LEFTBAR_GENERAL_ROW_TYPES).includes(type);\n },\n },\n\n /**\n * Will be read out by a screen reader upon focus of this row. If not defined \"description\" will be read.\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * Text displayed next to the icon. Required. Even if you are overriding this field using the label slot\n * you still must input this as it will be displayed as the \"title\" attribute for the row.\n */\n description: {\n type: String,\n required: true,\n },\n\n /**\n * Determines the color of the contact center icon\n */\n color: {\n type: String,\n default: null,\n validator: (color) => {\n return Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(color);\n },\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Gives a faded style to be used when muted\n */\n muted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows styling to represent an active voice chat. This will display over unreadCount.\n */\n activeVoiceChat: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Acronym used to represent \"Do not Disturb\" state. If entered will display the entered text alongside\n * unreadCount.\n */\n dndText: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown in tooltip when you hover the dndText\n */\n dndTextTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the row should have a call button. Usually only applicable to individual contact rows.\n */\n hasCallButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the size of the icon.\n */\n iconSize: {\n type: String,\n default: '300',\n validator: (size) => {\n return LEFTBAR_GENERAL_ROW_ICON_SIZES.includes(size);\n },\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n data () {\n return {\n actionFocused: false,\n labelWidth: '100%',\n };\n },\n\n computed: {\n leftbarGeneralRowClasses () {\n return [\n 'dt-leftbar-row',\n {\n 'dt-leftbar-row--no-action': !this.hasCallButton,\n 'dt-leftbar-row--has-unread': this.hasUnreads,\n 'dt-leftbar-row--unread-count': this.showUnreadCount,\n 'dt-leftbar-row--selected': this.selected,\n 'dt-leftbar-row--muted': this.muted,\n 'dt-leftbar-row--action-focused': this.actionFocused,\n },\n ];\n },\n\n getIcon () {\n switch (this.type) {\n case LEFTBAR_GENERAL_ROW_TYPES.CHANNELS:\n if (this.hasUnreads) return 'channel unread';\n break;\n case LEFTBAR_GENERAL_ROW_TYPES.LOCKED_CHANNEL:\n if (this.hasUnreads) return 'locked channel unread';\n break;\n }\n return this.type;\n },\n\n getAriaLabel () {\n return this.ariaLabel\n ? this.ariaLabel\n : safeConcatStrings([this.description, this.unreadCountTooltip, this.dndTextTooltip]);\n },\n\n hasActions () {\n return this.dndText || this.activeVoiceChat || this.showUnreadCount || this.hasCallButton;\n },\n\n showUnreadCount () {\n return !!this.unreadCount && this.hasUnreads;\n },\n },\n\n watch: {\n $props: {\n immediate: true,\n deep: true,\n async handler () {\n this.validateProps();\n await this.$nextTick();\n this.adjustLabelWidth();\n },\n },\n },\n\n mounted () {\n this.resizeObserver = new ResizeObserver(this.adjustLabelWidth);\n this.resizeObserver.observe(this.$el);\n this.adjustLabelWidth();\n },\n\n beforeDestroy: function () {\n this.resizeObserver.disconnect();\n },\n\n methods: {\n validateProps () {\n if (this.type === LEFTBAR_GENERAL_ROW_TYPES.CONTACT_CENTER &&\n !Object.keys(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS).includes(this.color)) {\n console.error(LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR);\n }\n },\n\n adjustLabelWidth () {\n const labelWidth = this.$el?.querySelector('.dt-leftbar-row__primary')?.clientWidth || 0;\n const omegaWidth = this.$el?.querySelector('.dt-leftbar-row__omega')?.clientWidth || 0;\n const alphaWidth = this.$el?.querySelector('.dt-leftbar-row__alpha')?.clientWidth || 0;\n const paddings = 16;\n this.labelWidth = labelWidth - (omegaWidth + alphaWidth + paddings) + 'px';\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n@import \"../style/leftbar_row.less\";\n</style>\n"],"names":["LEFTBAR_GENERAL_ROW_TYPES","LEFTBAR_GENERAL_ROW_ICON_MAPPING","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS","LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR","LEFTBAR_GENERAL_ROW_ICON_SIZES","_sfc_main","DtIcon","TYPES","ICON_MAPPING","COLORS","DtEmojiTextWrapper","DtBadge","DtButton","DtTooltip","DtRecipeLeftbarGeneralRowIcon","type","color","size","safeConcatStrings","labelWidth","_b","_a","omegaWidth","_d","_c","alphaWidth","_f","_e","paddings"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./icon.cjs"),n=require("./utils.cjs"),i=require("../chunks/_plugin-vue2_normalizer-ZK80B3OL.js"),u=require("./general-row.cjs");require("@dialpad/dialtone-icons/vue2");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");require("./constants.cjs");require("vue");require("./emoji-text-wrapper.cjs");require("../chunks/index-sdfB7Aok.js");require("emoji-regex");require("emoji-toolkit/emoji_strategy.json");require("./skeleton.cjs");require("./badge.cjs");require("./button.cjs");require("../chunks/link_constants-Kn6kP4i1.js");require("./tooltip.cjs");require("../chunks/popover_constants-hOEhklvr.js");require("tippy.js");require("./lazy-show.cjs");const o={name:"DtRecipeGroupRow",components:{DtIcon:t.DtIcon,DtRecipeGeneralRow:u.DtRecipeGeneralRow},inheritAttrs:!1,props:{groupCountText:{type:String,default:""},names:{type:String,required:!0},unreadCount:{type:String,default:null},unreadCountTooltip:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1}},emits:["click"],computed:{ariaLabel(){return n.safeConcatStrings([this.groupCountText,this.names])}}};var a=function(){var e=this,r=e._self._c;return r("dt-recipe-general-row",e._g(e._b({attrs:{description:e.names,"aria-label":e.ariaLabel,"unread-count":e.unreadCount,"has-unreads":e.hasUnreads,"unread-count-tooltip":e.unreadCountTooltip,selected:e.selected,"is-typing":e.isTyping},scopedSlots:e._u([{key:"left",fn:function(){return[r("dt-icon",{attrs:{name:"users",size:"300"}})]},proxy:!0}])},"dt-recipe-general-row",e.$attrs,!1),e.$listeners))},s=[],l=i.n(o,a,s,!1,null,null,null,null);const c=l.exports;exports.DtRecipeGroupRow=c;
|
|
2
|
+
//# sourceMappingURL=group-row.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-row.cjs","sources":["../../recipes/leftbar/group_row/group_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :description=\"names\"\n :aria-label=\"ariaLabel\"\n :unread-count=\"unreadCount\"\n :has-unreads=\"hasUnreads\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n :selected=\"selected\"\n :is-typing=\"isTyping\"\n v-bind=\"$attrs\"\n v-on=\"$listeners\"\n >\n <template #left>\n <dt-icon\n name=\"users\"\n size=\"300\"\n />\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtIcon from '@/components/icon/icon.vue';\nimport { safeConcatStrings } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeGroupRow',\n\n components: {\n DtIcon,\n DtRecipeGeneralRow,\n },\n\n inheritAttrs: false,\n\n props: {\n\n /**\n * Screen reader will read out the number of users in the group using this text. Ex: \"2 users\"\n */\n groupCountText: {\n type: String,\n default: '',\n },\n\n /**\n * Names of the group members\n */\n names: {\n type: String,\n required: true,\n },\n\n /**\n * Number of unread messages\n */\n unreadCount: {\n type: String,\n default: null,\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: null,\n },\n\n /**\n * Styles the row with an increased font weight to convey it has unreads. This must be true to see\n * the unread count badge.\n */\n hasUnreads: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines if the row is selected\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows an \"is typing\" animation over the avatar when true.\n */\n isTyping: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event on the row itself\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n ariaLabel () {\n return safeConcatStrings([this.groupCountText, this.names]);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIcon","DtRecipeGeneralRow","safeConcatStrings"],"mappings":"oxBA0BA,MAAAA,EAAA,CACA,KAAA,mBAEA,WAAA,CACA,OAAAC,EAAA,OACA,mBAAAC,EAAA,kBACA,EAEA,aAAA,GAEA,MAAA,CAKA,eAAA,CACA,KAAA,OACA,QAAA,EACA,EAKA,MAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,YAAA,CACA,KAAA,OACA,QAAA,IACA,EAKA,mBAAA,CACA,KAAA,OACA,QAAA,IACA,EAMA,WAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,OACA,EAEA,SAAA,CACA,WAAA,CACA,OAAAC,EAAAA,kBAAA,CAAA,KAAA,eAAA,KAAA,KAAA,CAAA,CACA,CACA,CACA"}
|
|
@@ -5,13 +5,13 @@ import { DtRecipeGeneralRow as i } from "./general-row.js";
|
|
|
5
5
|
import "@dialpad/dialtone-icons/vue2";
|
|
6
6
|
import "../chunks/icon_constants-OpYAAKwF.js";
|
|
7
7
|
import "@dialpad/dialtone-icons/icons.json";
|
|
8
|
-
import "./skeleton.js";
|
|
9
8
|
import "./constants.js";
|
|
10
9
|
import "vue";
|
|
11
10
|
import "./emoji-text-wrapper.js";
|
|
12
11
|
import "../chunks/index-YkSDT8-g.js";
|
|
13
12
|
import "emoji-regex";
|
|
14
13
|
import "emoji-toolkit/emoji_strategy.json";
|
|
14
|
+
import "./skeleton.js";
|
|
15
15
|
import "./badge.js";
|
|
16
16
|
import "./button.js";
|
|
17
17
|
import "../chunks/link_constants-vIUB92L4.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/_plugin-vue2_normalizer-ZK80B3OL.js"),n=require("./chip.cjs");require("./utils.cjs");require("./constants.cjs");require("vue");require("./button.cjs");require("../chunks/link_constants-Kn6kP4i1.js");require("./icon.cjs");require("@dialpad/dialtone-icons/vue2");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");const i={name:"DtRecipeGroupedChip",components:{DtChip:n.DtChip},computed:{}};var o=function(){var t=this,e=t._self._c;return e("div",{staticClass:"dt-grouped-chip",attrs:{"data-qa":"grouped-chip"}},[e("dt-chip",{staticClass:"dt-chip-content dt-chip-content--left",attrs:{"hide-close":!0,interactive:!1,"content-class":"d-fs100",size:"xs","grouped-chip":!0},scopedSlots:t._u([t.$slots.leftIcon?{key:"icon",fn:function(){return[t.$slots.leftIcon?e("div",{attrs:{"data-qa":"left-grouped-chip-icon"}},[t._t("leftIcon")],2):t._e()]},proxy:!0}:null,{key:"default",fn:function(){return[t.$slots.leftContent?e("div",{attrs:{"data-qa":"left-grouped-chip-content"}},[t._t("leftContent")],2):t._e()]},proxy:!0}],null,!0)}),e("dt-chip",{staticClass:"dt-chip-content dt-chip-content--right",attrs:{"hide-close":!0,interactive:!1,"content-class":"d-fs100",size:"xs","grouped-chip":!0},scopedSlots:t._u([{key:"icon",fn:function(){return[t.$slots.rightIcon?e("div",{attrs:{"data-qa":"right-grouped-chip-icon"}},[t._t("rightIcon")],2):t._e()]},proxy:!0},{key:"default",fn:function(){return[t.$slots.rightContent?e("div",{attrs:{"data-qa":"right-grouped-chip-content"}},[t._t("rightContent")],2):t._e()]},proxy:!0}],null,!0)})],1)},c=[],s=r.n(i,o,c,!1,null,null,null,null);const u=s.exports;exports.DtRecipeGroupedChip=u;
|
|
2
|
+
//# sourceMappingURL=grouped-chip.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouped-chip.cjs","sources":["../../recipes/chips/grouped_chip/grouped_chip.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"grouped-chip\"\n class=\"dt-grouped-chip\"\n >\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--left\"\n >\n <template\n v-if=\"$slots.leftIcon\"\n #icon\n >\n <!-- @slot Slot for left chip icon information -->\n <div\n v-if=\"$slots.leftIcon\"\n data-qa=\"left-grouped-chip-icon\"\n >\n <slot name=\"leftIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"$slots.leftContent\"\n data-qa=\"left-grouped-chip-content\"\n >\n <!-- @slot Slot for left chip content information -->\n <slot name=\"leftContent\" />\n </div>\n </template>\n </dt-chip>\n\n <!-- Right side split chip -->\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--right\"\n >\n <template #icon>\n <div\n v-if=\"$slots.rightIcon\"\n data-qa=\"right-grouped-chip-icon\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"$slots.rightContent\"\n data-qa=\"right-grouped-chip-content\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightContent\" />\n </div>\n </template>\n </dt-chip>\n </div>\n</template>\n\n<script>\nimport { DtChip } from '@/components/chip';\n\nexport default {\n name: 'DtRecipeGroupedChip',\n\n components: {\n DtChip,\n },\n\n computed: {},\n};\n</script>\n\n<style lang=\"less\">\n.dt-grouped-chip {\n display: inline-flex;\n white-space: nowrap;\n background-color: unset;\n background-image: unset;\n}\n\n.dt-chip-content {\n font-variant-numeric: tabular-nums;\n\n &--left {\n border-top-left-radius: var(--dt-size-radius-pill);\n border-bottom-left-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-surface-moderate-opaque);\n max-width: var(--dt-size-730);\n }\n\n &--right {\n border-top-right-radius: var(--dt-size-radius-pill);\n border-bottom-right-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-purple-200);\n max-width: var(--dt-size-730);\n }\n}\n</style>\n"],"names":["_sfc_main","DtChip"],"mappings":"8cAsEA,MAAAA,EAAA,CACA,KAAA,sBAEA,WAAA,CACA,OAAAC,EAAA,MACA,EAEA,SAAA,CAAA,CACA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n
|
|
2
|
-
import { DtChip as
|
|
1
|
+
import { n } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
|
|
2
|
+
import { DtChip as o } from "./chip.js";
|
|
3
3
|
import "./utils.js";
|
|
4
4
|
import "./constants.js";
|
|
5
5
|
import "vue";
|
|
@@ -9,11 +9,10 @@ import "./icon.js";
|
|
|
9
9
|
import "@dialpad/dialtone-icons/vue2";
|
|
10
10
|
import "../chunks/icon_constants-OpYAAKwF.js";
|
|
11
11
|
import "@dialpad/dialtone-icons/icons.json";
|
|
12
|
-
import "./skeleton.js";
|
|
13
12
|
const r = {
|
|
14
13
|
name: "DtRecipeGroupedChip",
|
|
15
14
|
components: {
|
|
16
|
-
DtChip:
|
|
15
|
+
DtChip: o
|
|
17
16
|
},
|
|
18
17
|
computed: {}
|
|
19
18
|
};
|
|
@@ -28,7 +27,7 @@ var i = function() {
|
|
|
28
27
|
}, proxy: !0 }, { key: "default", fn: function() {
|
|
29
28
|
return [t.$slots.rightContent ? e("div", { attrs: { "data-qa": "right-grouped-chip-content" } }, [t._t("rightContent")], 2) : t._e()];
|
|
30
29
|
}, proxy: !0 }], null, !0) })], 1);
|
|
31
|
-
}, c = [], s = /* @__PURE__ */
|
|
30
|
+
}, c = [], s = /* @__PURE__ */ n(
|
|
32
31
|
r,
|
|
33
32
|
i,
|
|
34
33
|
c,
|
|
@@ -38,8 +37,8 @@ var i = function() {
|
|
|
38
37
|
null,
|
|
39
38
|
null
|
|
40
39
|
);
|
|
41
|
-
const
|
|
40
|
+
const x = s.exports;
|
|
42
41
|
export {
|
|
43
|
-
|
|
42
|
+
x as DtRecipeGroupedChip
|
|
44
43
|
};
|
|
45
44
|
//# sourceMappingURL=grouped-chip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grouped-chip.js","sources":["../../recipes/chips/grouped_chip/grouped_chip.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"grouped-chip\"\n class=\"dt-grouped-chip\"\n >\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--left\"\n >\n <template\n v-if=\"$slots.leftIcon\"\n #icon\n >\n <!-- @slot Slot for left chip icon information -->\n <div\n v-if=\"$slots.leftIcon\"\n data-qa=\"left-grouped-chip-icon\"\n >\n <slot name=\"leftIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"$slots.leftContent\"\n data-qa=\"left-grouped-chip-content\"\n >\n <!-- @slot Slot for left chip content information -->\n <slot name=\"leftContent\" />\n </div>\n </template>\n </dt-chip>\n\n <!-- Right side split chip -->\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--right\"\n >\n <template #icon>\n <div\n v-if=\"$slots.rightIcon\"\n data-qa=\"right-grouped-chip-icon\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"$slots.rightContent\"\n data-qa=\"right-grouped-chip-content\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightContent\" />\n </div>\n </template>\n </dt-chip>\n </div>\n</template>\n\n<script>\nimport { DtChip } from '@/components/chip';\n\nexport default {\n name: 'DtRecipeGroupedChip',\n\n components: {\n DtChip,\n },\n\n computed: {},\n};\n</script>\n\n<style lang=\"less\">\n.dt-grouped-chip {\n display: inline-flex;\n white-space: nowrap;\n background-color: unset;\n background-image: unset;\n}\n\n.dt-chip-content {\n font-variant-numeric: tabular-nums;\n\n &--left {\n border-top-left-radius: var(--dt-size-radius-pill);\n border-bottom-left-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-surface-moderate-opaque);\n max-width: var(--dt-size-730);\n }\n\n &--right {\n border-top-right-radius: var(--dt-size-radius-pill);\n border-bottom-right-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-purple-200);\n max-width: var(--dt-size-730);\n }\n}\n</style>\n"],"names":["_sfc_main","DtChip"],"mappings":"
|
|
1
|
+
{"version":3,"file":"grouped-chip.js","sources":["../../recipes/chips/grouped_chip/grouped_chip.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"grouped-chip\"\n class=\"dt-grouped-chip\"\n >\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--left\"\n >\n <template\n v-if=\"$slots.leftIcon\"\n #icon\n >\n <!-- @slot Slot for left chip icon information -->\n <div\n v-if=\"$slots.leftIcon\"\n data-qa=\"left-grouped-chip-icon\"\n >\n <slot name=\"leftIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"$slots.leftContent\"\n data-qa=\"left-grouped-chip-content\"\n >\n <!-- @slot Slot for left chip content information -->\n <slot name=\"leftContent\" />\n </div>\n </template>\n </dt-chip>\n\n <!-- Right side split chip -->\n <dt-chip\n :hide-close=\"true\"\n :interactive=\"false\"\n content-class=\"d-fs100\"\n size=\"xs\"\n :grouped-chip=\"true\"\n class=\"dt-chip-content dt-chip-content--right\"\n >\n <template #icon>\n <div\n v-if=\"$slots.rightIcon\"\n data-qa=\"right-grouped-chip-icon\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightIcon\" />\n </div>\n </template>\n <template #default>\n <div\n v-if=\"$slots.rightContent\"\n data-qa=\"right-grouped-chip-content\"\n >\n <!-- @slot Slot for right chip content information -->\n <slot name=\"rightContent\" />\n </div>\n </template>\n </dt-chip>\n </div>\n</template>\n\n<script>\nimport { DtChip } from '@/components/chip';\n\nexport default {\n name: 'DtRecipeGroupedChip',\n\n components: {\n DtChip,\n },\n\n computed: {},\n};\n</script>\n\n<style lang=\"less\">\n.dt-grouped-chip {\n display: inline-flex;\n white-space: nowrap;\n background-color: unset;\n background-image: unset;\n}\n\n.dt-chip-content {\n font-variant-numeric: tabular-nums;\n\n &--left {\n border-top-left-radius: var(--dt-size-radius-pill);\n border-bottom-left-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-surface-moderate-opaque);\n max-width: var(--dt-size-730);\n }\n\n &--right {\n border-top-right-radius: var(--dt-size-radius-pill);\n border-bottom-right-radius: var(--dt-size-radius-pill);\n background-color: var(--dt-color-purple-200);\n max-width: var(--dt-size-730);\n }\n}\n</style>\n"],"names":["_sfc_main","DtChip"],"mappings":";;;;;;;;;;;AAsEA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,QAAAC;AAAA,EACA;AAAA,EAEA,UAAA,CAAA;AACA;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./utils.cjs"),o=require("../chunks/popover_constants-hOEhklvr.js"),d=require("../chunks/_plugin-vue2_normalizer-ZK80B3OL.js"),p=require("./popover.cjs");require("./constants.cjs");require("vue");require("tippy.js");require("@linusborg/vue-simple-portal");require("../chunks/modal-qEzlo0Sj.js");require("./button.cjs");require("../chunks/link_constants-Kn6kP4i1.js");require("./icon.cjs");require("@dialpad/dialtone-icons/vue2");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");require("../chunks/sr_only_close_button-ErijKGYR.js");require("./lazy-show.cjs");const m=function(){const t={value:null};let e,r,n=null,a=null;function s(l){if(a){const i=Date.now()-n+100;e&&clearTimeout(e),a!==l&&(e=setTimeout(()=>{t.value!==null&&(n=Date.now()),t.value=null},i),r&&clearTimeout(r),r=setTimeout(()=>{t.value=l,a=l},i))}else r=setTimeout(()=>{t.value=l,a=l},o.h)}function c(){r&&(clearTimeout(r),r=null),n=Date.now(),e=setTimeout(()=>{t.value=null,a=null},o.h)}let u=null;return()=>(u===null&&(u={current:t,enter:s,leave:c}),u)}(),v={name:"DtHovercard",components:{DtPopover:p.DtPopover},props:{transition:{type:Boolean,default:!1},fallbackPlacements:{type:Array,default:()=>["auto"]},placement:{type:String,default:"top-start",validator(t){return o.T.includes(t)}},padding:{type:String,default:"large",validator:t=>Object.keys(o.P).some(e=>e===t)},offset:{type:Array,default:()=>[0,16]},id:{type:String,default(){return f.getUniqueString()}},headerClass:{type:[String,Array,Object],default:""},footerClass:{type:[String,Array,Object],default:""},dialogClass:{type:[String,Array,Object],default:""},contentClass:{type:[String,Array,Object],default:""},appendTo:{type:[HTMLElement,String],default:"body",validator:t=>o.e.includes(t)||t instanceof HTMLElement}},emits:["opened"],data(){return{timer:m()}}};var y=function(){var e=this,r=e._self._c;return r("dt-popover",{attrs:{id:e.id,placement:e.placement,"content-class":e.contentClass,"fallback-placements":e.fallbackPlacements,padding:e.padding,transition:e.transition?"fade":null,offset:e.offset,modal:!1,"initial-focus-element":"none","header-class":e.headerClass,"footer-class":e.footerClass,"append-to":e.appendTo,hovercard:!0,timer:e.timer,"data-qa":"dt-hovercard"},on:{opened:n=>e.$emit("opened",n)},scopedSlots:e._u([{key:"anchor",fn:function({attrs:n}){return[e._t("anchor",null,null,n)]}},{key:"content",fn:function(){return[e._t("content")]},proxy:!0},{key:"headerContent",fn:function(){return[e._t("headerContent")]},proxy:!0},{key:"footerContent",fn:function(){return[e._t("footerContent")]},proxy:!0}],null,!0)})},_=[],q=d.n(v,y,_,!1,null,null,null,null);const g=q.exports;exports.DtHovercard=g;
|
|
2
|
+
//# sourceMappingURL=hovercard.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hovercard.cjs","sources":["../../components/hovercard/timer.js","../../components/hovercard/hovercard.vue"],"sourcesContent":["import { TOOLTIP_DELAY_MS } from '@/components/tooltip/index.js';\n\nexport default (function () {\n const current = { value: null };\n let timerLeave, timerEnter;\n let start = null;\n let prevCard = null;\n\n // Handles the timer for when the event that opens the hovercard\n // is triggered.\n // If no hovercard is active, it sets a delay of TOOLTIP_DELAY_MS.\n // If there was an active hovercard, the delay depends on the time it takes\n // to move from one anchor to the other.\n function enter (id) {\n if (prevCard) {\n const time = Date.now() - start + 100;\n if (timerLeave) clearTimeout(timerLeave);\n if (prevCard !== id) {\n timerLeave = setTimeout(\n () => {\n if (current.value !== null) {\n start = Date.now();\n }\n current.value = null;\n },\n time,\n );\n if (timerEnter) clearTimeout(timerEnter);\n timerEnter = setTimeout(\n () => {\n current.value = id;\n prevCard = id;\n },\n time,\n );\n }\n } else {\n timerEnter = setTimeout(() => {\n current.value = id;\n prevCard = id;\n }, TOOLTIP_DELAY_MS);\n }\n }\n\n // Handles the timer for when the event that closes the hovercard\n // is triggered.\n function leave () {\n if (timerEnter) {\n clearTimeout(timerEnter);\n timerEnter = null;\n }\n start = Date.now();\n timerLeave = setTimeout(() => {\n current.value = null;\n prevCard = null;\n }, TOOLTIP_DELAY_MS);\n }\n\n let instance = null;\n\n return () => {\n if (instance === null) {\n instance = { current, enter, leave };\n }\n return instance;\n };\n})();\n","<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-popover\n :id=\"id\"\n :placement=\"placement\"\n :content-class=\"contentClass\"\n :fallback-placements=\"fallbackPlacements\"\n :padding=\"padding\"\n :transition=\"transition ? 'fade' : null\"\n :offset=\"offset\"\n :modal=\"false\"\n initial-focus-element=\"none\"\n :header-class=\"headerClass\"\n :footer-class=\"footerClass\"\n :append-to=\"appendTo\"\n :hovercard=\"true\"\n :timer=\"timer\"\n data-qa=\"dt-hovercard\"\n @opened=\"(e) => ($emit('opened', e))\"\n >\n <template #anchor=\"{ attrs }\">\n <slot\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n <template #headerContent>\n <slot name=\"headerContent\" />\n </template>\n\n <template #footerContent>\n <slot name=\"footerContent\" />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport { POPOVER_APPEND_TO_VALUES, POPOVER_PADDING_CLASSES, DtPopover } from '@/components/popover/index.js';\nimport { TOOLTIP_DIRECTIONS } from '@/components/tooltip/index.js';\nimport { getUniqueString } from '@/common/utils';\nimport useTimer from './timer';\n\nexport default {\n name: 'DtHovercard',\n\n components: {\n DtPopover,\n },\n\n props: {\n /**\n * Fade transition when the content display is toggled.\n * @type boolean\n * @values true, false\n */\n transition: {\n type: Boolean,\n default: false,\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 * @see https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the popover displays relative to the anchor.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\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-start',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * Padding size class for the popover content.\n * @values none, small, medium, large\n */\n padding: {\n type: String,\n default: 'large',\n validator: (padding) => {\n return Object.keys(POPOVER_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Displaces the content box from its anchor element\n * by the specified number of pixels.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n */\n offset: {\n type: Array,\n default: () => [0, 16],\n },\n\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class name for the header content wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the footer content wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element.\n */\n dialogClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n timer: useTimer(),\n };\n },\n};\n</script>\n"],"names":["useTimer","current","timerLeave","timerEnter","start","prevCard","enter","id","time","TOOLTIP_DELAY_MS","leave","instance","_sfc_main","DtPopover","placement","TOOLTIP_DIRECTIONS","padding","POPOVER_PADDING_CLASSES","item","getUniqueString","appendTo","POPOVER_APPEND_TO_VALUES"],"mappings":"4rBAEA,MAAAA,EAAgB,UAAY,CAC1B,MAAMC,EAAU,CAAE,MAAO,MACzB,IAAIC,EAAYC,EACZC,EAAQ,KACRC,EAAW,KAOf,SAASC,EAAOC,EAAI,CAClB,GAAIF,EAAU,CACZ,MAAMG,EAAO,KAAK,IAAG,EAAKJ,EAAQ,IAC9BF,GAAY,aAAaA,CAAU,EACnCG,IAAaE,IACfL,EAAa,WACX,IAAM,CACAD,EAAQ,QAAU,OACpBG,EAAQ,KAAK,OAEfH,EAAQ,MAAQ,IACjB,EACDO,CACV,EACYL,GAAY,aAAaA,CAAU,EACvCA,EAAa,WACX,IAAM,CACJF,EAAQ,MAAQM,EAChBF,EAAWE,CACZ,EACDC,CACV,EAEA,MACML,EAAa,WAAW,IAAM,CAC5BF,EAAQ,MAAQM,EAChBF,EAAWE,CACZ,EAAEE,EAAgB,CAAA,CAEtB,CAID,SAASC,GAAS,CACZP,IACF,aAAaA,CAAU,EACvBA,EAAa,MAEfC,EAAQ,KAAK,MACbF,EAAa,WAAW,IAAM,CAC5BD,EAAQ,MAAQ,KAChBI,EAAW,IACZ,EAAEI,EAAgB,CAAA,CACpB,CAED,IAAIE,EAAW,KAEf,MAAO,KACDA,IAAa,OACfA,EAAW,CAAE,QAAAV,EAAS,MAAAK,EAAO,MAAAI,CAAK,GAE7BC,EAEX,EAAI,ECrBJC,EAAA,CACA,KAAA,cAEA,WAAA,CACA,UAAAC,EAAA,SACA,EAEA,MAAA,CAMA,WAAA,CACA,KAAA,QACA,QAAA,EACA,EAOA,mBAAA,CACA,KAAA,MACA,QAAA,IACA,CAAA,MAAA,CAEA,EAWA,UAAA,CACA,KAAA,OACA,QAAA,YACA,UAAAC,EAAA,CACA,OAAAC,EAAA,EAAA,SAAAD,CAAA,CACA,CACA,EAMA,QAAA,CACA,KAAA,OACA,QAAA,QACA,UAAAE,GACA,OAAA,KAAAC,GAAA,EAAA,KAAAC,GAAAA,IAAAF,CAAA,CAEA,EAOA,OAAA,CACA,KAAA,MACA,QAAA,IAAA,CAAA,EAAA,EAAA,CACA,EAKA,GAAA,CACA,KAAA,OACA,SAAA,CAAA,OAAAG,EAAA,gBAAA,CAAA,CACA,EAKA,YAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,YAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,YAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAKA,aAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAOA,SAAA,CACA,KAAA,CAAA,YAAA,MAAA,EACA,QAAA,OACA,UAAAC,GACAC,EAAA,EAAA,SAAAD,CAAA,GACAA,aAAA,WAEA,CACA,EAEA,MAAA,CAOA,QACA,EAEA,MAAA,CACA,MAAA,CACA,MAAApB,EAAA,CACA,CACA,CACA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getUniqueString as
|
|
2
|
-
import { h as u, T as
|
|
1
|
+
import { getUniqueString as f } from "./utils.js";
|
|
2
|
+
import { h as u, T as p, P as m, e as d } from "../chunks/popover_constants-qjlEkroB.js";
|
|
3
3
|
import { n as _ } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
|
|
4
4
|
import { DtPopover as y } from "./popover.js";
|
|
5
5
|
import "./constants.js";
|
|
@@ -13,7 +13,6 @@ import "./icon.js";
|
|
|
13
13
|
import "@dialpad/dialtone-icons/vue2";
|
|
14
14
|
import "../chunks/icon_constants-OpYAAKwF.js";
|
|
15
15
|
import "@dialpad/dialtone-icons/icons.json";
|
|
16
|
-
import "./skeleton.js";
|
|
17
16
|
import "../chunks/sr_only_close_button-JGole5Xi.js";
|
|
18
17
|
import "./lazy-show.js";
|
|
19
18
|
const v = /* @__PURE__ */ function() {
|
|
@@ -82,7 +81,7 @@ const v = /* @__PURE__ */ function() {
|
|
|
82
81
|
type: String,
|
|
83
82
|
default: "top-start",
|
|
84
83
|
validator(e) {
|
|
85
|
-
return
|
|
84
|
+
return p.includes(e);
|
|
86
85
|
}
|
|
87
86
|
},
|
|
88
87
|
/**
|
|
@@ -109,7 +108,7 @@ const v = /* @__PURE__ */ function() {
|
|
|
109
108
|
id: {
|
|
110
109
|
type: String,
|
|
111
110
|
default() {
|
|
112
|
-
return
|
|
111
|
+
return f();
|
|
113
112
|
}
|
|
114
113
|
},
|
|
115
114
|
/**
|
|
@@ -187,8 +186,8 @@ var S = function() {
|
|
|
187
186
|
null,
|
|
188
187
|
null
|
|
189
188
|
);
|
|
190
|
-
const
|
|
189
|
+
const V = C.exports;
|
|
191
190
|
export {
|
|
192
|
-
|
|
191
|
+
V as DtHovercard
|
|
193
192
|
};
|
|
194
193
|
//# sourceMappingURL=hovercard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hovercard.js","sources":["../../components/hovercard/timer.js","../../components/hovercard/hovercard.vue"],"sourcesContent":["import { TOOLTIP_DELAY_MS } from '@/components/tooltip/index.js';\n\nexport default (function () {\n const current = { value: null };\n let timerLeave, timerEnter;\n let start = null;\n let prevCard = null;\n\n // Handles the timer for when the event that opens the hovercard\n // is triggered.\n // If no hovercard is active, it sets a delay of TOOLTIP_DELAY_MS.\n // If there was an active hovercard, the delay depends on the time it takes\n // to move from one anchor to the other.\n function enter (id) {\n if (prevCard) {\n const time = Date.now() - start + 100;\n if (timerLeave) clearTimeout(timerLeave);\n if (prevCard !== id) {\n timerLeave = setTimeout(\n () => {\n if (current.value !== null) {\n start = Date.now();\n }\n current.value = null;\n },\n time,\n );\n if (timerEnter) clearTimeout(timerEnter);\n timerEnter = setTimeout(\n () => {\n current.value = id;\n prevCard = id;\n },\n time,\n );\n }\n } else {\n timerEnter = setTimeout(() => {\n current.value = id;\n prevCard = id;\n }, TOOLTIP_DELAY_MS);\n }\n }\n\n // Handles the timer for when the event that closes the hovercard\n // is triggered.\n function leave () {\n if (timerEnter) {\n clearTimeout(timerEnter);\n timerEnter = null;\n }\n start = Date.now();\n timerLeave = setTimeout(() => {\n current.value = null;\n prevCard = null;\n }, TOOLTIP_DELAY_MS);\n }\n\n let instance = null;\n\n return () => {\n if (instance === null) {\n instance = { current, enter, leave };\n }\n return instance;\n };\n})();\n","<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-popover\n :id=\"id\"\n :placement=\"placement\"\n :content-class=\"contentClass\"\n :fallback-placements=\"fallbackPlacements\"\n :padding=\"padding\"\n :transition=\"transition ? 'fade' : null\"\n :offset=\"offset\"\n :modal=\"false\"\n initial-focus-element=\"none\"\n :header-class=\"headerClass\"\n :footer-class=\"footerClass\"\n :append-to=\"appendTo\"\n :hovercard=\"true\"\n :timer=\"timer\"\n data-qa=\"dt-hovercard\"\n @opened=\"(e) => ($emit('opened', e))\"\n >\n <template #anchor=\"{ attrs }\">\n <slot\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n <template #headerContent>\n <slot name=\"headerContent\" />\n </template>\n\n <template #footerContent>\n <slot name=\"footerContent\" />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport { POPOVER_APPEND_TO_VALUES, POPOVER_PADDING_CLASSES, DtPopover } from '@/components/popover/index.js';\nimport { TOOLTIP_DIRECTIONS } from '@/components/tooltip/index.js';\nimport { getUniqueString } from '@/common/utils';\nimport useTimer from './timer';\n\nexport default {\n name: 'DtHovercard',\n\n components: {\n DtPopover,\n },\n\n props: {\n /**\n * Fade transition when the content display is toggled.\n * @type boolean\n * @values true, false\n */\n transition: {\n type: Boolean,\n default: false,\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 * @see https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the popover displays relative to the anchor.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\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-start',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * Padding size class for the popover content.\n * @values none, small, medium, large\n */\n padding: {\n type: String,\n default: 'large',\n validator: (padding) => {\n return Object.keys(POPOVER_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Displaces the content box from its anchor element\n * by the specified number of pixels.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n */\n offset: {\n type: Array,\n default: () => [0, 16],\n },\n\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class name for the header content wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the footer content wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element.\n */\n dialogClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n timer: useTimer(),\n };\n },\n};\n</script>\n"],"names":["useTimer","current","timerLeave","timerEnter","start","prevCard","enter","id","time","TOOLTIP_DELAY_MS","leave","instance","_sfc_main","DtPopover","placement","TOOLTIP_DIRECTIONS","padding","POPOVER_PADDING_CLASSES","item","getUniqueString","appendTo","POPOVER_APPEND_TO_VALUES"],"mappings":"
|
|
1
|
+
{"version":3,"file":"hovercard.js","sources":["../../components/hovercard/timer.js","../../components/hovercard/hovercard.vue"],"sourcesContent":["import { TOOLTIP_DELAY_MS } from '@/components/tooltip/index.js';\n\nexport default (function () {\n const current = { value: null };\n let timerLeave, timerEnter;\n let start = null;\n let prevCard = null;\n\n // Handles the timer for when the event that opens the hovercard\n // is triggered.\n // If no hovercard is active, it sets a delay of TOOLTIP_DELAY_MS.\n // If there was an active hovercard, the delay depends on the time it takes\n // to move from one anchor to the other.\n function enter (id) {\n if (prevCard) {\n const time = Date.now() - start + 100;\n if (timerLeave) clearTimeout(timerLeave);\n if (prevCard !== id) {\n timerLeave = setTimeout(\n () => {\n if (current.value !== null) {\n start = Date.now();\n }\n current.value = null;\n },\n time,\n );\n if (timerEnter) clearTimeout(timerEnter);\n timerEnter = setTimeout(\n () => {\n current.value = id;\n prevCard = id;\n },\n time,\n );\n }\n } else {\n timerEnter = setTimeout(() => {\n current.value = id;\n prevCard = id;\n }, TOOLTIP_DELAY_MS);\n }\n }\n\n // Handles the timer for when the event that closes the hovercard\n // is triggered.\n function leave () {\n if (timerEnter) {\n clearTimeout(timerEnter);\n timerEnter = null;\n }\n start = Date.now();\n timerLeave = setTimeout(() => {\n current.value = null;\n prevCard = null;\n }, TOOLTIP_DELAY_MS);\n }\n\n let instance = null;\n\n return () => {\n if (instance === null) {\n instance = { current, enter, leave };\n }\n return instance;\n };\n})();\n","<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-popover\n :id=\"id\"\n :placement=\"placement\"\n :content-class=\"contentClass\"\n :fallback-placements=\"fallbackPlacements\"\n :padding=\"padding\"\n :transition=\"transition ? 'fade' : null\"\n :offset=\"offset\"\n :modal=\"false\"\n initial-focus-element=\"none\"\n :header-class=\"headerClass\"\n :footer-class=\"footerClass\"\n :append-to=\"appendTo\"\n :hovercard=\"true\"\n :timer=\"timer\"\n data-qa=\"dt-hovercard\"\n @opened=\"(e) => ($emit('opened', e))\"\n >\n <template #anchor=\"{ attrs }\">\n <slot\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n <template #headerContent>\n <slot name=\"headerContent\" />\n </template>\n\n <template #footerContent>\n <slot name=\"footerContent\" />\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport { POPOVER_APPEND_TO_VALUES, POPOVER_PADDING_CLASSES, DtPopover } from '@/components/popover/index.js';\nimport { TOOLTIP_DIRECTIONS } from '@/components/tooltip/index.js';\nimport { getUniqueString } from '@/common/utils';\nimport useTimer from './timer';\n\nexport default {\n name: 'DtHovercard',\n\n components: {\n DtPopover,\n },\n\n props: {\n /**\n * Fade transition when the content display is toggled.\n * @type boolean\n * @values true, false\n */\n transition: {\n type: Boolean,\n default: false,\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 * @see https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements\"\n */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the popover displays relative to the anchor.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#placement\"\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-start',\n validator (placement) {\n return TOOLTIP_DIRECTIONS.includes(placement);\n },\n },\n\n /**\n * Padding size class for the popover content.\n * @values none, small, medium, large\n */\n padding: {\n type: String,\n default: 'large',\n validator: (padding) => {\n return Object.keys(POPOVER_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Displaces the content box from its anchor element\n * by the specified number of pixels.\n * @see https://atomiks.github.io/tippyjs/v6/all-props/#offset\"\n */\n offset: {\n type: Array,\n default: () => [0, 16],\n },\n\n /**\n * The id of the tooltip\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class name for the header content wrapper element.\n */\n headerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the footer content wrapper element.\n */\n footerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the dialog element.\n */\n dialogClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n timer: useTimer(),\n };\n },\n};\n</script>\n"],"names":["useTimer","current","timerLeave","timerEnter","start","prevCard","enter","id","time","TOOLTIP_DELAY_MS","leave","instance","_sfc_main","DtPopover","placement","TOOLTIP_DIRECTIONS","padding","POPOVER_PADDING_CLASSES","item","getUniqueString","appendTo","POPOVER_APPEND_TO_VALUES"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@dialpad/dialtone-icons/vue2"),t=require("../chunks/icon_constants-2S_OSQ1t.js"),i=require("../chunks/_plugin-vue2_normalizer-ZK80B3OL.js");require("@dialpad/dialtone-icons/icons.json");const c={name:"DtIcon",props:{size:{type:String,default:"500",validator:n=>Object.keys(t.I).includes(n)},name:{type:String,required:!0,validator:n=>t.a.includes(n)},ariaLabel:{type:String,default:void 0}},computed:{icon(){return a.icons[`./src/icons/${this.name}.vue`]}}};var o=function(){var e=this,r=e._self._c;return e.icon?r(e.icon,{tag:"component",attrs:{size:e.size,"aria-label":e.ariaLabel,"data-qa":e.$attrs["data-qa"]??"dt-icon"}}):e._e()},s=[],u=i.n(c,o,s,!1,null,null,null,null);const l=u.exports;exports.ICON_NAMES=t.a;exports.ICON_SIZE_MODIFIERS=t.I;exports.DtIcon=l;
|
|
2
|
+
//# sourceMappingURL=icon.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.cjs","sources":["../../components/icon/icon.vue"],"sourcesContent":["<template>\n <component\n :is=\"icon\"\n v-if=\"icon\"\n :size=\"size\"\n :aria-label=\"ariaLabel\"\n :data-qa=\"$attrs['data-qa'] ?? 'dt-icon'\"\n />\n</template>\n\n<script>\nimport { icons } from '@dialpad/dialtone-icons/vue2';\nimport { ICON_SIZE_MODIFIERS, ICON_NAMES } from './icon_constants';\n\n/**\n * The Icon component provides a set of glyphs and sizes to provide context your application.\n * @see https://dialtone.dialpad.com/components/icon.html\n */\nexport default {\n name: 'DtIcon',\n\n props: {\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The icon name in kebab-case\n */\n name: {\n type: String,\n required: true,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * The label of the icon as read out by a screenreader. Leave this unset if your icon is purely presentational\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n computed: {\n icon () {\n return icons[`./src/icons/${this.name}.vue`];\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ICON_SIZE_MODIFIERS","name","ICON_NAMES","icons"],"mappings":"2RAkBA,MAAAA,EAAA,CACA,KAAA,SAEA,MAAA,CAKA,KAAA,CACA,KAAA,OACA,QAAA,MACA,UAAAC,GAAA,OAAA,KAAAC,GAAA,EAAA,SAAAD,CAAA,CACA,EAKA,KAAA,CACA,KAAA,OACA,SAAA,GACA,UAAAE,GAAAC,IAAA,SAAAD,CAAA,CACA,EAKA,UAAA,CACA,KAAA,OACA,QAAA,MACA,CACA,EAEA,SAAA,CACA,MAAA,CACA,OAAAE,EAAAA,MAAA,eAAA,KAAA,IAAA,MAAA,CACA,CACA,CACA"}
|