@dialpad/dialtone 9.27.1 → 9.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -3
- package/dist/css/dialtone.css +2 -2
- package/dist/tokens/css/variables-cox-dark.css +936 -0
- package/dist/tokens/css/variables-cox-light.css +816 -0
- package/dist/tokens/css/variables-dark.css +936 -0
- package/dist/tokens/css/variables-light.css +816 -0
- package/dist/tokens/css/variables-tmo-dark.css +936 -0
- package/dist/tokens/css/variables-tmo-light.css +816 -0
- package/dist/tokens/doc.json +86736 -0
- package/dist/tokens/less/variables-cox-dark.less +933 -0
- package/dist/tokens/less/variables-cox-light.less +813 -0
- package/dist/tokens/less/variables-dark.less +933 -0
- package/dist/tokens/less/variables-light.less +813 -0
- package/dist/tokens/less/variables-tmo-dark.less +933 -0
- package/dist/tokens/less/variables-tmo-light.less +813 -0
- package/dist/tokens/tokens-dark.json +928 -0
- package/dist/tokens/tokens-light.json +808 -0
- 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-o4OMWMuv.js → index-YkSDT8-g.js} +2 -2
- package/dist/vue2/chunks/{index-o4OMWMuv.js.map → index-YkSDT8-g.js.map} +1 -1
- 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/dialtone-vue.js +1 -1
- 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/contact-row.js +1 -1
- 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/editor.js +1 -1
- 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-row.js +1 -1
- 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-text-wrapper.js +1 -1
- package/dist/vue2/lib/emoji.cjs +2 -0
- package/dist/vue2/lib/emoji.cjs.map +1 -0
- package/dist/vue2/lib/emoji.js +1 -1
- 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/general-row.js +1 -1
- 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 +2 -2
- 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 +90 -48
- 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 +107 -75
- 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/common/emoji/index.d.ts +3302 -1014
- package/dist/vue2/types/common/emoji/index.d.ts.map +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/{index-BK8b99k1.js → index-mRmwpCBG.js} +2 -2
- package/dist/vue3/chunks/{index-BK8b99k1.js.map → index-mRmwpCBG.js.map} +1 -1
- 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/dialtone-vue.js +1 -1
- 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/contact-row.js +1 -1
- 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/editor.js +1 -1
- 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-row.js +1 -1
- 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-text-wrapper.js +1 -1
- package/dist/vue3/lib/emoji.cjs +2 -0
- package/dist/vue3/lib/emoji.cjs.map +1 -0
- package/dist/vue3/lib/emoji.js +1 -1
- 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/general-row.js +1 -1
- 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 +2 -2
- 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 +149 -101
- 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/common/emoji/index.d.ts +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 +24 -16
- package/dist/eslint-plugin/index.js +0 -22
- package/dist/eslint-plugin/rules/custom-implementation.js +0 -69
- package/dist/eslint-plugin/rules/deprecated-component.js +0 -91
- package/dist/eslint-plugin/rules/deprecated-directive.js +0 -55
- package/dist/eslint-plugin/rules/deprecated-icons.js +0 -114
- package/dist/stylelint-plugin/index.js +0 -5
- package/dist/stylelint-plugin/rules/no-mixins.js +0 -47
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-with-popover.cjs","sources":["../../recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue"],"sourcesContent":["<template>\n <dt-combobox\n ref=\"combobox\"\n :loading=\"loading\"\n :label=\"label\"\n :label-visible=\"labelVisible\"\n :size=\"size\"\n :description=\"description\"\n :empty-list=\"emptyList\"\n :empty-state-message=\"emptyStateMessage\"\n :show-list=\"isListShown\"\n :on-beginning-of-list=\"onBeginningOfList\"\n :on-end-of-list=\"onEndOfList\"\n :list-rendered-outside=\"true\"\n :list-id=\"listId\"\n data-qa=\"dt-combobox\"\n v-bind=\"comboboxListeners\"\n >\n <template\n #input=\"{ inputProps }\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n :id=\"externalAnchor\"\n ref=\"input\"\n @focusin=\"onFocusIn\"\n @keydown.up=\"openOnArrowKeyPress($event)\"\n @keydown.down=\"openOnArrowKeyPress($event)\"\n >\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n :on-input=\"handleDisplayList\"\n />\n </div>\n </template>\n <template #list=\"{ opened, listProps, clearHighlightIndex }\">\n <dt-popover\n ref=\"popover\"\n v-model:open=\"isListShown\"\n :hide-on-click=\"false\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :offset=\"popoverOffset\"\n :sticky=\"popoverSticky\"\n placement=\"bottom-start\"\n initial-focus-element=\"none\"\n padding=\"none\"\n role=\"listbox\"\n :external-anchor=\"externalAnchor\"\n :content-width=\"contentWidth\"\n :content-appear=\"true\"\n :content-tabindex=\"null\"\n :modal=\"false\"\n :auto-focus=\"false\"\n :append-to=\"appendTo\"\n :transition=\"transition\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :visually-hidden-close=\"visuallyHiddenClose\"\n @opened=\"opened\"\n >\n <template\n v-if=\"hasSlotContent($slots.header)\"\n #headerContent\n >\n <div\n ref=\"header\"\n >\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #content>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"listWrapper\"\n :class=\"[DROPDOWN_PADDING_CLASSES[padding], listClass]\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n >\n <combobox-loading-list\n v-if=\"loading\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && emptyStateMessage\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n />\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n />\n </div>\n </template>\n\n <template\n v-if=\"hasSlotContent($slots.footer)\"\n #footerContent\n >\n <div\n ref=\"footer\"\n >\n <slot name=\"footer\" />\n </div>\n </template>\n </dt-popover>\n </template>\n </dt-combobox>\n</template>\n\n<script>\nimport ComboboxLoadingList from '@/components/combobox/combobox_loading-list.vue';\nimport ComboboxEmptyList from '@/components/combobox/combobox_empty-list.vue';\nimport { DtCombobox, LABEL_SIZES } from '@/components/combobox';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES, POPOVER_CONTENT_WIDTHS } from '@/components/popover';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { DROPDOWN_PADDING_CLASSES } from '@/components/dropdown';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\n\nexport default {\n name: 'DtRecipeComboboxWithPopover',\n\n components: {\n DtCombobox,\n DtPopover,\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n mixins: [SrOnlyCloseButtonMixin],\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n labelVisible: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input, one of `xs`, `sm`, `md`, `lg`, `xl`\n * @values null, xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: null,\n validator: (t) => Object.values(LABEL_SIZES).includes(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * Leaving this null will have the combobox trigger on input focus by default.\n * If you set this value, the default trigger behavior will be disabled and you can\n * control it as you need.\n */\n showList: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Vertical padding size around the list element.\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n */\n contentWidth: {\n type: String,\n default: null,\n validator: contentWidth => POPOVER_CONTENT_WIDTHS.includes(contentWidth),\n },\n\n /**\n * If the list should be shown by pressing up or down arrow key on the input element.\n * This can be set when not passing showList prop.\n */\n openWithArrowKeys: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Displaces the popover content box from its anchor element\n * by the specified number of pixels.\n */\n popoverOffset: {\n type: Array,\n default: () => [0, 4],\n },\n\n /**\n * If the popover sticks to the input.\n */\n popoverSticky: {\n type: [Boolean, String],\n default: false,\n },\n\n /**\n * Displays the list when the combobox is focused, before the user has typed anything.\n * When this is enabled the list will not close after selection.\n */\n hasSuggestionList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\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 * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when 'escape' key is pressed\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when an item is highlighted\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Emitted when items are shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n ],\n\n data () {\n return {\n DROPDOWN_PADDING_CLASSES,\n isListShown: false,\n isInputFocused: false,\n isListFocused: false,\n externalAnchor: getUniqueString(),\n hasSlotContent,\n };\n },\n\n computed: {\n comboboxListeners () {\n return {\n ...this.$attrs,\n\n onSelect: this.onSelect,\n\n onEscape: this.onEscape,\n\n onHighlight: this.onHighlight,\n };\n },\n },\n\n watch: {\n showList: {\n handler: function (show) {\n if (show !== null) {\n this.isListShown = show;\n }\n },\n\n immediate: true,\n },\n\n isListShown (val) {\n if (val) {\n window.addEventListener('mousedown', this.onFocusOut);\n } else {\n window.removeEventListener('mousedown', this.onFocusOut);\n }\n this.onOpened(val);\n },\n },\n\n methods: {\n handleDisplayList (value) {\n if (!this.hasSuggestionList && value) { this.showComboboxList(); }\n if (!this.hasSuggestionList && !value) { this.closeComboboxList(); }\n },\n\n showComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = true;\n },\n\n closeComboboxList () {\n if (this.showList != null) { return; }\n this.isListShown = false;\n },\n\n onSelect (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('select', highlightIndex);\n if (!this.hasSuggestionList) {\n // we don't display the list before the user has typed anything\n this.closeComboboxList();\n }\n },\n\n onEscape () {\n this.$emit('escape');\n this.closeComboboxList();\n },\n\n onHighlight (highlightIndex) {\n if (this.loading) return;\n\n this.$emit('highlight', highlightIndex);\n },\n\n onOpened (opened) {\n this.$emit('opened', opened);\n },\n\n onFocusIn (e) {\n if (this.hasSuggestionList && e && this.$refs.input?.querySelector('input') === e.target) {\n // only trigger if we show suggestion list when focused, and\n // it's the input specifically that was focused\n this.showComboboxList();\n }\n },\n\n onFocusOut (e) {\n // Check if the focus change was to another target within the combobox component\n const popoverEl = this.$refs.popover?.tip?.popper;\n const comboboxEl = this.$refs.input;\n\n if (e.composedPath()?.some(el => [popoverEl, comboboxEl].includes(el))) return;\n\n // If outside the combobox then close\n this.closeComboboxList();\n },\n\n openOnArrowKeyPress () {\n if (this.showList !== null || this.isListShown || !this.openWithArrowKeys) { return; }\n\n this.showComboboxList();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtCombobox","DtPopover","ComboboxLoadingList","ComboboxEmptyList","SrOnlyCloseButtonMixin","t","LABEL_SIZES","getUniqueString","padding","DROPDOWN_PADDING_CLASSES","item","contentWidth","POPOVER_CONTENT_WIDTHS","appendTo","POPOVER_APPEND_TO_VALUES","hasSlotContent","show","val","value","highlightIndex","opened","_a","popoverEl","_b","comboboxEl","_c","el","_hoisted_2","_hoisted_4","_openBlock","_createBlock","_component_dt_combobox","_mergeProps","$props","$data","$options","_withCtx","inputProps","_createElementVNode","args","_cache","_withKeys","$event","_renderSlot","_ctx","listProps","clearHighlightIndex","_createVNode","_component_dt_popover","_normalizeClass","_component_combobox_loading_list","_component_combobox_empty_list"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-6tYeqbgP.js");require("../chunks/keyboard_list_navigation-N74Bpdq7.js");require("./utils.cjs");require("./constants.cjs");require("vue");require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js");require("./list-item.cjs");require("../chunks/list_item_constants-Tsz5CO1m.js");require("./item-layout.cjs");require("./icon.cjs");require("@dialpad/dialtone-icons/vue3");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");require("./skeleton.cjs");exports.DtCombobox=e.D;exports.LABEL_SIZES=e.L;
|
|
2
|
+
//# sourceMappingURL=combobox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const E={ERROR:"error",WARNING:"warning",SUCCESS:"success"},e={LARGE:"lg",EXTRA_LARGE:"xl"},I={xs:"",sm:"",md:"",lg:"d-description--lg",xl:"d-description--xl"},o={xs:"d-label--xs",sm:"d-label--sm",md:"",lg:"d-label--lg",xl:"d-label--xl"},t={esc:"Esc",escape:"Escape",tab:"Tab",enter:"Enter",space:"Space",spacebar:"Spacebar",up:"Up",arrowup:"ArrowUp",left:"Left",arrowleft:"ArrowLeft",right:"Right",arrowright:"ArrowRight",down:"Down",arrowdown:"ArrowDown",home:"Home",end:"End"},S=E.ERROR,r="dt",s={VALIDATION_MESSAGE_TYPES:E,DESCRIPTION_SIZE_TYPES:e,DEFAULT_VALIDATION_MESSAGE_TYPE:S,DEFAULT_PREFIX:r};exports.DEFAULT_PREFIX=r;exports.DEFAULT_VALIDATION_MESSAGE_TYPE=S;exports.DESCRIPTION_SIZE_MODIFIERS=I;exports.DESCRIPTION_SIZE_TYPES=e;exports.EVENT_KEYNAMES=t;exports.LABEL_SIZE_MODIFIERS=o;exports.VALIDATION_MESSAGE_TYPES=E;exports.default=s;
|
|
2
|
+
//# sourceMappingURL=constants.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../../common/constants/index.js"],"sourcesContent":["/* TODO: Move and sort these in a constants directory\n\nExample:\n constants/\n forms.js\n defaults.js\n ...\n*/\n\n// Types of messages, also dictates what is the current state of the input.\nexport const VALIDATION_MESSAGE_TYPES = {\n ERROR: 'error',\n WARNING: 'warning',\n SUCCESS: 'success',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_TYPES = {\n LARGE: 'lg',\n EXTRA_LARGE: 'xl',\n};\n\n// Description size variants\nexport const DESCRIPTION_SIZE_MODIFIERS = {\n xs: '',\n sm: '',\n md: '',\n lg: 'd-description--lg',\n xl: 'd-description--xl',\n};\n\n// Label size variants\nexport const LABEL_SIZE_MODIFIERS = {\n xs: 'd-label--xs',\n sm: 'd-label--sm',\n md: '',\n lg: 'd-label--lg',\n xl: 'd-label--xl',\n};\n\nexport const EVENT_KEYNAMES = {\n esc: 'Esc',\n escape: 'Escape',\n tab: 'Tab',\n enter: 'Enter',\n space: 'Space',\n spacebar: 'Spacebar',\n up: 'Up',\n arrowup: 'ArrowUp',\n left: 'Left',\n arrowleft: 'ArrowLeft',\n right: 'Right',\n arrowright: 'ArrowRight',\n down: 'Down',\n arrowdown: 'ArrowDown',\n home: 'Home',\n end: 'End',\n};\n\n/*\n * Any string message or message object in the messages prop that do not specify\n * a 'type' attributes will default to 'DEFAULT_MESSAGE_TYPE'.\n */\nexport const DEFAULT_VALIDATION_MESSAGE_TYPE = VALIDATION_MESSAGE_TYPES.ERROR;\n\n// Default prefix used for ids\nexport const DEFAULT_PREFIX = 'dt';\n\nexport default {\n VALIDATION_MESSAGE_TYPES,\n DESCRIPTION_SIZE_TYPES,\n DEFAULT_VALIDATION_MESSAGE_TYPE,\n DEFAULT_PREFIX,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","DESCRIPTION_SIZE_TYPES","DESCRIPTION_SIZE_MODIFIERS","LABEL_SIZE_MODIFIERS","EVENT_KEYNAMES","DEFAULT_VALIDATION_MESSAGE_TYPE","DEFAULT_PREFIX","index"],"mappings":"4GAUY,MAACA,EAA2B,CACtC,MAAO,QACP,QAAS,UACT,QAAS,SACX,EAGaC,EAAyB,CACpC,MAAO,KACP,YAAa,IACf,EAGaC,EAA6B,CACxC,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,oBACJ,GAAI,mBACN,EAGaC,EAAuB,CAClC,GAAI,cACJ,GAAI,cACJ,GAAI,GACJ,GAAI,cACJ,GAAI,aACN,EAEaC,EAAiB,CAC5B,IAAK,MACL,OAAQ,SACR,IAAK,MACL,MAAO,QACP,MAAO,QACP,SAAU,WACV,GAAI,KACJ,QAAS,UACT,KAAM,OACN,UAAW,YACX,MAAO,QACP,WAAY,aACZ,KAAM,OACN,UAAW,YACX,KAAM,OACN,IAAK,KACP,EAMaC,EAAkCL,EAAyB,MAG3DM,EAAiB,KAEfC,EAAA,CACb,yBAAAP,EACA,uBAAAC,EACA,gCAAAI,EACA,eAAAC,CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./item-layout.cjs"),s=require("./avatar.cjs"),e=require("vue"),u=require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js");require("./utils.cjs");require("./constants.cjs");require("@dialpad/dialtone-icons/icons.json");require("../chunks/icon_constants-2S_OSQ1t.js");require("./presence.cjs");require("./icon.cjs");require("@dialpad/dialtone-icons/vue3");const m={name:"DtRecipeContactInfo",components:{DtAvatar:s.DtAvatar,DtItemLayout:d.DtItemLayout},props:{role:{type:String,default:""},showAvatar:{type:Boolean,default:!0},avatarSrc:{type:String,default:""},avatarSeed:{type:String,default:null},avatarFullName:{type:String,default:""},avatarIcon:{type:String,default:null},avatarSize:{type:String,default:"lg"},avatarLabelledBy:{type:String,default:""},presence:{type:String,default:null},avatarList:{type:Array,default:null}},emits:["avatar-click"],methods:{avatarClick(){this.$emit("avatar-click")}}},f=["aria-labelledby"],v={key:0,class:"dt-contact-info--avatars"},y={"data-qa":"contact-info-header"},_={"data-qa":"contact-info-subtitle"},g={"data-qa":"contact-info-bottom"},k={"data-qa":"contact-info-right"};function S(n,o,t,b,q,r){const l=e.resolveComponent("dt-avatar"),c=e.resolveComponent("dt-item-layout");return e.openBlock(),e.createBlock(c,{role:t.role,"data-qa":"contact-info",class:"dt-contact-info"},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",y,[e.renderSlot(n.$slots,"header",{},void 0,!0)])]),subtitle:e.withCtx(()=>[e.createElementVNode("div",_,[e.renderSlot(n.$slots,"subtitle",{},void 0,!0)])]),_:2},[t.showAvatar?{name:"left",fn:e.withCtx(()=>[e.createElementVNode("button",{class:"dt-contact-info__left","data-qa":"contact-info-left","aria-labelledby":t.avatarLabelledBy,onClick:o[0]||(o[0]=(...a)=>r.avatarClick&&r.avatarClick(...a))},[t.avatarList?(e.openBlock(),e.createElementBlock("span",v,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.avatarList,(a,i)=>(e.openBlock(),e.createBlock(l,{key:i,size:t.avatarSize,seed:a.seed,"full-name":a.fullName,"image-src":a.src,"image-alt":"","icon-name":t.avatarIcon,"overlay-icon":a.icon,"overlay-text":a.text,"avatar-class":[{"d-mln24":i>0,"d-bc-brand":!!a.halo}]},null,8,["size","seed","full-name","image-src","icon-name","overlay-icon","overlay-text","avatar-class"]))),128))])):(e.openBlock(),e.createBlock(l,{key:1,size:t.avatarSize,"full-name":t.avatarFullName,"image-src":t.avatarSrc,"image-alt":"","icon-name":t.avatarIcon,seed:t.avatarSeed,presence:t.presence},null,8,["size","full-name","image-src","icon-name","seed","presence"]))],8,f)]),key:"0"}:void 0,n.$slots.bottom?{name:"bottom",fn:e.withCtx(()=>[e.createElementVNode("div",g,[e.renderSlot(n.$slots,"bottom",{},void 0,!0)])]),key:"1"}:void 0,n.$slots.right?{name:"right",fn:e.withCtx(()=>[e.createElementVNode("div",k,[e.renderSlot(n.$slots,"right",{},void 0,!0)])]),key:"2"}:void 0]),1032,["role"])}const h=u._(m,[["render",S],["__scopeId","data-v-a3c913d1"]]);exports.DtRecipeContactInfo=h;
|
|
2
|
+
//# sourceMappingURL=contact-info.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contact-info.cjs","sources":["../../recipes/item_layout/contact_info/contact_info.vue"],"sourcesContent":["<template>\n <dt-item-layout\n :role=\"role\"\n data-qa=\"contact-info\"\n class=\"dt-contact-info\"\n >\n <template\n v-if=\"showAvatar\"\n #left\n >\n <button\n class=\"dt-contact-info__left\"\n data-qa=\"contact-info-left\"\n :aria-labelledby=\"avatarLabelledBy\"\n @click=\"avatarClick\"\n >\n <span\n v-if=\"avatarList\"\n class=\"dt-contact-info--avatars\"\n >\n <dt-avatar\n v-for=\"(avatar, index) in avatarList\"\n :key=\"index\"\n :size=\"avatarSize\"\n :seed=\"avatar.seed\"\n :full-name=\"avatar.fullName\"\n :image-src=\"avatar.src\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :overlay-icon=\"avatar.icon\"\n :overlay-text=\"avatar.text\"\n :avatar-class=\"[{ 'd-mln24': index > 0, 'd-bc-brand': !!avatar.halo }]\"\n />\n </span>\n <dt-avatar\n v-else\n :size=\"avatarSize\"\n :full-name=\"avatarFullName\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :seed=\"avatarSeed\"\n :presence=\"presence\"\n />\n </button>\n </template>\n <template #default>\n <div data-qa=\"contact-info-header\">\n <!-- @slot Slot for header information -->\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #subtitle>\n <div data-qa=\"contact-info-subtitle\">\n <!-- @slot Slot for subtitle information -->\n <slot name=\"subtitle\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.bottom\"\n #bottom\n >\n <div data-qa=\"contact-info-bottom\">\n <!-- @slot Slot for information at the bottom -->\n <slot name=\"bottom\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.right\"\n #right\n >\n <div data-qa=\"contact-info-right\">\n <!-- @slot Slot for the right content -->\n <slot name=\"right\" />\n </div>\n </template>\n </dt-item-layout>\n</template>\n\n<script>\nimport DtItemLayout from '@/components/item_layout/item_layout.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\n\nexport default {\n name: 'DtRecipeContactInfo',\n\n components: {\n DtAvatar,\n DtItemLayout,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: '',\n },\n\n /**\n * Display avatar if `showAvatar` property is true.\n */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Optional avatar image url.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\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 * Avatar's full name, used to extract initials\n * to display in avatar if `avatarSrc` and `avatarIcon` are empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar icon to display if `avatarSrc` is empty.\n */\n avatarIcon: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n avatarSize: {\n type: String,\n default: 'lg',\n },\n\n /**\n * The aria-labelledby of the button containing avatars\n */\n avatarLabelledBy: {\n type: String,\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: null,\n },\n\n /**\n * Showing multiple avatars in contact info.\n * The props of array items are: <br>\n * `src` - avatar image url (optional) <br>\n * `fullName` - full name, used to extract initials to display in avatar<br>\n * if `avatarSrc` and `avatarIcon` are empty<br>\n * `seed` - determines uniqueness of avatar background <br>\n * `text` - text that overlays the avatar (optional) <br>\n * `icon` - icon that overlays the avatar (optional) <br>\n * `halo` - halo highlight around the avatar. boolean true/false\n */\n avatarList: {\n type: Array,\n default: null,\n },\n },\n\n emits: ['avatar-click'],\n\n methods: {\n avatarClick () {\n this.$emit('avatar-click');\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-contact-info {\n --contact-info-avatar-border-color: var(--dt-color-surface-primary);\n\n display: flex;\n\n &:deep(.dt-item-layout) {\n flex: 1 1 0;\n }\n\n &:deep(.dt-item-layout--content) {\n /*\n DP-74536: Add `min-width` to make the width of \"contact info\" adjustable.\n */\n min-width: var(--dt-space-825);\n }\n\n &:deep(.dt-item-layout--left) {\n /*\n DP-74536: To make 'Avatar' in fixed position when resizing the window.\n */\n min-width: var(--dt-space-650);\n justify-content: flex-start;\n align-items: center;\n }\n\n &:deep(.dt-item-layout--right) {\n /*\n DP-74536: Remove `min-width` which cause extra unused empty space on the right of \"contact info\".\n */\n min-width: 0;\n align-items: center;\n }\n\n &__left {\n position: relative;\n background-color: transparent;\n background-image: none;\n border-width: 0;\n cursor: pointer;\n }\n\n &--avatars {\n margin-right: var(--dt-space-300-negative);\n display: flex;\n flex-direction: row;\n\n .d-avatar {\n border-radius: var(--dt-size-radius-pill);\n border: var(--dt-size-300) solid var(--contact-info-avatar-border-color);\n box-sizing: unset;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","DtAvatar","DtItemLayout","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createBlock","_component_dt_item_layout","$props","_createElementVNode","_renderSlot","_ctx","$options","args","_openBlock","_createElementBlock","_hoisted_2","_Fragment","_renderList","avatar","index","_component_dt_avatar"],"mappings":"qcAsFA,MAAKA,EAAU,CACb,KAAM,sBAEN,WAAY,CACV,SAAAC,EAAQ,sBACRC,EAAY,YACb,EAQD,MAAO,CAIL,KAAM,CACJ,KAAM,OACN,QAAS,EACV,EAKD,WAAY,CACV,KAAM,QACN,QAAS,EACV,EAKD,UAAW,CACT,KAAM,OACN,QAAS,EACV,EAKD,WAAY,CACV,KAAM,OACN,QAAS,IACV,EAMD,eAAgB,CACd,KAAM,OACN,QAAS,EACV,EAKD,WAAY,CACV,KAAM,OACN,QAAS,IACV,EAMD,WAAY,CACV,KAAM,OACN,QAAS,IACV,EAKD,iBAAkB,CAChB,KAAM,OACN,QAAS,EACV,EAQD,SAAU,CACR,KAAM,OACN,QAAS,IACV,EAaD,WAAY,CACV,KAAM,MACN,QAAS,IACV,CACF,EAED,MAAO,CAAC,cAAc,EAEtB,QAAS,CACP,aAAe,CACb,KAAK,MAAM,cAAc,CAC1B,CACF,CACH,iCAxLU,MAAM,4BA6BLC,EAAA,CAAA,UAAQ,qBAAqB,EAO7BC,EAAA,CAAA,UAAQ,uBAAuB,EAU/BC,EAAA,CAAA,UAAQ,qBAAqB,EAU7BC,EAAA,CAAA,UAAQ,oBAAoB,8HAzErCC,EA8EiB,YAAAC,EAAA,CA7Ed,KAAMC,EAAI,KACX,UAAQ,eACR,MAAM,kCA0CK,kBACT,IAGM,CAHNC,EAAA,mBAGM,MAHNP,EAGM,CADJQ,EAAsB,WAAAC,EAAA,OAAA,SAAA,CAAA,EAAA,OAAA,EAAA,MAIf,mBACT,IAGM,CAHNF,EAAA,mBAGM,MAHNN,EAGM,CADJO,EAAwB,WAAAC,EAAA,OAAA,WAAA,CAAA,EAAA,OAAA,EAAA,YAjDpBH,EAAU,iBACf,oBAED,IAkCS,CAlCTC,EAAAA,mBAkCS,SAAA,CAjCP,MAAM,wBACN,UAAQ,oBACP,kBAAiBD,EAAgB,iBACjC,4BAAOI,EAAW,aAAAA,EAAA,YAAA,GAAAC,CAAA,KAGXL,EAAU,YADlBM,EAAAA,YAAAC,EAAAA,mBAiBO,OAjBPC,EAiBO,EAbLF,EAAAA,UAAA,EAAA,EAAAC,EAAA,mBAYEE,WAX0B,KAAAC,EAAA,WAAAV,EAAA,WAAlB,CAAAW,EAAQC,mBADlBd,EAYE,YAAAe,EAAA,CAVC,IAAKD,EACL,KAAMZ,EAAU,WAChB,KAAMW,EAAO,KACb,YAAWA,EAAO,SAClB,YAAWA,EAAO,IACnB,YAAU,GACT,YAAWX,EAAU,WACrB,eAAcW,EAAO,KACrB,eAAcA,EAAO,KACrB,eAA4B,CAAA,CAAA,UAAAC,EAA2B,EAAA,aAAA,CAAA,CAAAD,EAAO,KAAI,sIAGvEb,EASE,YAAAe,EAAA,OAPC,KAAMb,EAAU,WAChB,YAAWA,EAAc,eACzB,YAAWA,EAAS,UACrB,YAAU,GACT,YAAWA,EAAU,WACrB,KAAMA,EAAU,WAChB,SAAUA,EAAQ,0GAmBjBG,EAAA,OAAO,aACZ,sBAED,IAGM,CAHNF,EAAA,mBAGM,MAHNL,EAGM,CADJM,EAAsB,WAAAC,EAAA,OAAA,SAAA,CAAA,EAAA,OAAA,EAAA,sBAKlBA,EAAA,OAAO,YACZ,qBAED,IAGM,CAHNF,EAAA,mBAGM,MAHNJ,EAGM,CADJK,EAAqB,WAAAC,EAAA,OAAA,QAAA,CAAA,EAAA,OAAA,EAAA"}
|
|
@@ -9,7 +9,6 @@ import "../chunks/icon_constants-OpYAAKwF.js";
|
|
|
9
9
|
import "./presence.js";
|
|
10
10
|
import "./icon.js";
|
|
11
11
|
import "@dialpad/dialtone-icons/vue3";
|
|
12
|
-
import "./skeleton.js";
|
|
13
12
|
const k = {
|
|
14
13
|
name: "DtRecipeContactInfo",
|
|
15
14
|
components: {
|
|
@@ -191,8 +190,8 @@ function B(a, c, t, A, D, d) {
|
|
|
191
190
|
} : void 0
|
|
192
191
|
]), 1032, ["role"]);
|
|
193
192
|
}
|
|
194
|
-
const
|
|
193
|
+
const K = /* @__PURE__ */ b(k, [["render", B], ["__scopeId", "data-v-a3c913d1"]]);
|
|
195
194
|
export {
|
|
196
|
-
|
|
195
|
+
K as DtRecipeContactInfo
|
|
197
196
|
};
|
|
198
197
|
//# sourceMappingURL=contact-info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-info.js","sources":["../../recipes/item_layout/contact_info/contact_info.vue"],"sourcesContent":["<template>\n <dt-item-layout\n :role=\"role\"\n data-qa=\"contact-info\"\n class=\"dt-contact-info\"\n >\n <template\n v-if=\"showAvatar\"\n #left\n >\n <button\n class=\"dt-contact-info__left\"\n data-qa=\"contact-info-left\"\n :aria-labelledby=\"avatarLabelledBy\"\n @click=\"avatarClick\"\n >\n <span\n v-if=\"avatarList\"\n class=\"dt-contact-info--avatars\"\n >\n <dt-avatar\n v-for=\"(avatar, index) in avatarList\"\n :key=\"index\"\n :size=\"avatarSize\"\n :seed=\"avatar.seed\"\n :full-name=\"avatar.fullName\"\n :image-src=\"avatar.src\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :overlay-icon=\"avatar.icon\"\n :overlay-text=\"avatar.text\"\n :avatar-class=\"[{ 'd-mln24': index > 0, 'd-bc-brand': !!avatar.halo }]\"\n />\n </span>\n <dt-avatar\n v-else\n :size=\"avatarSize\"\n :full-name=\"avatarFullName\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :seed=\"avatarSeed\"\n :presence=\"presence\"\n />\n </button>\n </template>\n <template #default>\n <div data-qa=\"contact-info-header\">\n <!-- @slot Slot for header information -->\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #subtitle>\n <div data-qa=\"contact-info-subtitle\">\n <!-- @slot Slot for subtitle information -->\n <slot name=\"subtitle\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.bottom\"\n #bottom\n >\n <div data-qa=\"contact-info-bottom\">\n <!-- @slot Slot for information at the bottom -->\n <slot name=\"bottom\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.right\"\n #right\n >\n <div data-qa=\"contact-info-right\">\n <!-- @slot Slot for the right content -->\n <slot name=\"right\" />\n </div>\n </template>\n </dt-item-layout>\n</template>\n\n<script>\nimport DtItemLayout from '@/components/item_layout/item_layout.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\n\nexport default {\n name: 'DtRecipeContactInfo',\n\n components: {\n DtAvatar,\n DtItemLayout,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: '',\n },\n\n /**\n * Display avatar if `showAvatar` property is true.\n */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Optional avatar image url.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\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 * Avatar's full name, used to extract initials\n * to display in avatar if `avatarSrc` and `avatarIcon` are empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar icon to display if `avatarSrc` is empty.\n */\n avatarIcon: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n avatarSize: {\n type: String,\n default: 'lg',\n },\n\n /**\n * The aria-labelledby of the button containing avatars\n */\n avatarLabelledBy: {\n type: String,\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: null,\n },\n\n /**\n * Showing multiple avatars in contact info.\n * The props of array items are: <br>\n * `src` - avatar image url (optional) <br>\n * `fullName` - full name, used to extract initials to display in avatar<br>\n * if `avatarSrc` and `avatarIcon` are empty<br>\n * `seed` - determines uniqueness of avatar background <br>\n * `text` - text that overlays the avatar (optional) <br>\n * `icon` - icon that overlays the avatar (optional) <br>\n * `halo` - halo highlight around the avatar. boolean true/false\n */\n avatarList: {\n type: Array,\n default: null,\n },\n },\n\n emits: ['avatar-click'],\n\n methods: {\n avatarClick () {\n this.$emit('avatar-click');\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-contact-info {\n --contact-info-avatar-border-color: var(--dt-color-surface-primary);\n\n display: flex;\n\n &:deep(.dt-item-layout) {\n flex: 1 1 0;\n }\n\n &:deep(.dt-item-layout--content) {\n /*\n DP-74536: Add `min-width` to make the width of \"contact info\" adjustable.\n */\n min-width: var(--dt-space-825);\n }\n\n &:deep(.dt-item-layout--left) {\n /*\n DP-74536: To make 'Avatar' in fixed position when resizing the window.\n */\n min-width: var(--dt-space-650);\n justify-content: flex-start;\n align-items: center;\n }\n\n &:deep(.dt-item-layout--right) {\n /*\n DP-74536: Remove `min-width` which cause extra unused empty space on the right of \"contact info\".\n */\n min-width: 0;\n align-items: center;\n }\n\n &__left {\n position: relative;\n background-color: transparent;\n background-image: none;\n border-width: 0;\n cursor: pointer;\n }\n\n &--avatars {\n margin-right: var(--dt-space-300-negative);\n display: flex;\n flex-direction: row;\n\n .d-avatar {\n border-radius: var(--dt-size-radius-pill);\n border: var(--dt-size-300) solid var(--contact-info-avatar-border-color);\n box-sizing: unset;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","DtAvatar","DtItemLayout","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createBlock","_component_dt_item_layout","$props","_createElementVNode","_renderSlot","_ctx","$options","args","_openBlock","_createElementBlock","_hoisted_2","_Fragment","_renderList","avatar","index","_component_dt_avatar"],"mappings":"
|
|
1
|
+
{"version":3,"file":"contact-info.js","sources":["../../recipes/item_layout/contact_info/contact_info.vue"],"sourcesContent":["<template>\n <dt-item-layout\n :role=\"role\"\n data-qa=\"contact-info\"\n class=\"dt-contact-info\"\n >\n <template\n v-if=\"showAvatar\"\n #left\n >\n <button\n class=\"dt-contact-info__left\"\n data-qa=\"contact-info-left\"\n :aria-labelledby=\"avatarLabelledBy\"\n @click=\"avatarClick\"\n >\n <span\n v-if=\"avatarList\"\n class=\"dt-contact-info--avatars\"\n >\n <dt-avatar\n v-for=\"(avatar, index) in avatarList\"\n :key=\"index\"\n :size=\"avatarSize\"\n :seed=\"avatar.seed\"\n :full-name=\"avatar.fullName\"\n :image-src=\"avatar.src\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :overlay-icon=\"avatar.icon\"\n :overlay-text=\"avatar.text\"\n :avatar-class=\"[{ 'd-mln24': index > 0, 'd-bc-brand': !!avatar.halo }]\"\n />\n </span>\n <dt-avatar\n v-else\n :size=\"avatarSize\"\n :full-name=\"avatarFullName\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :icon-name=\"avatarIcon\"\n :seed=\"avatarSeed\"\n :presence=\"presence\"\n />\n </button>\n </template>\n <template #default>\n <div data-qa=\"contact-info-header\">\n <!-- @slot Slot for header information -->\n <slot name=\"header\" />\n </div>\n </template>\n\n <template #subtitle>\n <div data-qa=\"contact-info-subtitle\">\n <!-- @slot Slot for subtitle information -->\n <slot name=\"subtitle\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.bottom\"\n #bottom\n >\n <div data-qa=\"contact-info-bottom\">\n <!-- @slot Slot for information at the bottom -->\n <slot name=\"bottom\" />\n </div>\n </template>\n\n <template\n v-if=\"$slots.right\"\n #right\n >\n <div data-qa=\"contact-info-right\">\n <!-- @slot Slot for the right content -->\n <slot name=\"right\" />\n </div>\n </template>\n </dt-item-layout>\n</template>\n\n<script>\nimport DtItemLayout from '@/components/item_layout/item_layout.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\n\nexport default {\n name: 'DtRecipeContactInfo',\n\n components: {\n DtAvatar,\n DtItemLayout,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: '',\n },\n\n /**\n * Display avatar if `showAvatar` property is true.\n */\n showAvatar: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Optional avatar image url.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\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 * Avatar's full name, used to extract initials\n * to display in avatar if `avatarSrc` and `avatarIcon` are empty.\n */\n avatarFullName: {\n type: String,\n default: '',\n },\n\n /**\n * Avatar icon to display if `avatarSrc` is empty.\n */\n avatarIcon: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n avatarSize: {\n type: String,\n default: 'lg',\n },\n\n /**\n * The aria-labelledby of the button containing avatars\n */\n avatarLabelledBy: {\n type: String,\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: null,\n },\n\n /**\n * Showing multiple avatars in contact info.\n * The props of array items are: <br>\n * `src` - avatar image url (optional) <br>\n * `fullName` - full name, used to extract initials to display in avatar<br>\n * if `avatarSrc` and `avatarIcon` are empty<br>\n * `seed` - determines uniqueness of avatar background <br>\n * `text` - text that overlays the avatar (optional) <br>\n * `icon` - icon that overlays the avatar (optional) <br>\n * `halo` - halo highlight around the avatar. boolean true/false\n */\n avatarList: {\n type: Array,\n default: null,\n },\n },\n\n emits: ['avatar-click'],\n\n methods: {\n avatarClick () {\n this.$emit('avatar-click');\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-contact-info {\n --contact-info-avatar-border-color: var(--dt-color-surface-primary);\n\n display: flex;\n\n &:deep(.dt-item-layout) {\n flex: 1 1 0;\n }\n\n &:deep(.dt-item-layout--content) {\n /*\n DP-74536: Add `min-width` to make the width of \"contact info\" adjustable.\n */\n min-width: var(--dt-space-825);\n }\n\n &:deep(.dt-item-layout--left) {\n /*\n DP-74536: To make 'Avatar' in fixed position when resizing the window.\n */\n min-width: var(--dt-space-650);\n justify-content: flex-start;\n align-items: center;\n }\n\n &:deep(.dt-item-layout--right) {\n /*\n DP-74536: Remove `min-width` which cause extra unused empty space on the right of \"contact info\".\n */\n min-width: 0;\n align-items: center;\n }\n\n &__left {\n position: relative;\n background-color: transparent;\n background-image: none;\n border-width: 0;\n cursor: pointer;\n }\n\n &--avatars {\n margin-right: var(--dt-space-300-negative);\n display: flex;\n flex-direction: row;\n\n .d-avatar {\n border-radius: var(--dt-size-radius-pill);\n border: var(--dt-size-300) solid var(--contact-info-avatar-border-color);\n box-sizing: unset;\n }\n }\n}\n</style>\n"],"names":["_sfc_main","DtAvatar","DtItemLayout","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createBlock","_component_dt_item_layout","$props","_createElementVNode","_renderSlot","_ctx","$options","args","_openBlock","_createElementBlock","_hoisted_2","_Fragment","_renderList","avatar","index","_component_dt_avatar"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./emoji-text-wrapper.cjs"),d=require("./avatar.cjs"),l=require("./utils.cjs"),e=require("vue"),m=require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js"),p=require("./general-row.cjs");require("../chunks/index-IBtQ5jRJ.js");require("emoji-regex");require("@dialpad/dialtone-emojis");require("./skeleton.cjs");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");require("./presence.cjs");require("./icon.cjs");require("@dialpad/dialtone-icons/vue3");require("./constants.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 f={name:"DtRecipeContactRow",components:{DtAvatar:d.DtAvatar,DtRecipeGeneralRow:p.DtRecipeGeneralRow,DtEmojiTextWrapper:c.DtEmojiTextWrapper},inheritAttrs:!1,props:{avatarSrc:{type:String,default:""},avatarPresence:{type:String,default:null},avatarSeed:{type:String,default:null},presenceText:{type:String,default:""},name:{type:String,required:!0},userStatus:{type:String,default:""},muted:{type:Boolean,default:!1},unreadCount:{type:String,default:null},hasUnreads:{type:Boolean,default:!1},selected:{type:Boolean,default:!1},noInitials:{type:Boolean,default:!1},isTyping:{type:Boolean,default:!1},hasCallButton:{type:Boolean,default:!0},callButtonTooltip:{type:String,default:""},unreadCountTooltip:{type:String,default:""}},emits:["call"],computed:{presenceColorClass(){switch(this.avatarPresence){case"active":return"d-fc-success";case"busy":return"d-fc-critical";case"away":return"d-fc-warning";default:return}},contactRowListeners(){return l.extractVueListeners(this.$attrs)},contactDescription(){return l.safeConcatStrings([this.name,this.presenceText,this.userStatus])},iconName(){return this.noInitials?"user":null}}},_={class:"dt-leftbar-row__status"};function y(r,n,t,q,w,a){const i=e.resolveComponent("dt-avatar"),o=e.resolveComponent("dt-emoji-text-wrapper"),s=e.resolveComponent("dt-recipe-general-row");return e.openBlock(),e.createBlock(s,e.mergeProps({"unread-count":t.unreadCount,description:a.contactDescription,"has-unreads":t.hasUnreads,selected:t.selected,"has-call-button":t.hasCallButton,muted:t.muted,"is-typing":t.isTyping,"call-button-tooltip":t.callButtonTooltip,"unread-count-tooltip":t.unreadCountTooltip},r.$attrs,e.toHandlers(a.contactRowListeners),{onCall:n[0]||(n[0]=u=>r.$emit("call",u))}),{left:e.withCtx(()=>[e.createVNode(i,{"full-name":t.name,"image-src":t.avatarSrc,"image-alt":"","icon-name":a.iconName,"icon-size":"200",size:"sm",seed:t.avatarSeed,presence:t.avatarPresence},null,8,["full-name","image-src","icon-name","seed","presence"])]),label:e.withCtx(()=>[e.createVNode(o,{class:"dt-leftbar-row__description","data-qa":"dt-leftbar-row-description",size:"200"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.name),1)]),_:1}),e.createElementVNode("div",_,[t.presenceText?(e.openBlock(),e.createElementBlock("span",{key:0,"data-qa":"dt-leftbar-row-presence-text",class:e.normalizeClass(["dt-leftbar-row__meta-context",a.presenceColorClass])},e.toDisplayString(t.presenceText),3)):e.createCommentVNode("",!0),t.userStatus?(e.openBlock(),e.createBlock(o,{key:1,size:"100","element-type":"span","data-qa":"dt-leftbar-row-user-status",class:"dt-leftbar-row__meta-custom"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.userStatus),1)]),_:1})):e.createCommentVNode("",!0)])]),_:1},16,["unread-count","description","has-unreads","selected","has-call-button","muted","is-typing","call-button-tooltip","unread-count-tooltip"])}const g=m._(f,[["render",y]]);exports.DtRecipeContactRow=g;
|
|
2
|
+
//# sourceMappingURL=contact-row.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contact-row.cjs","sources":["../../recipes/leftbar/contact_row/contact_row.vue"],"sourcesContent":["<template>\n <dt-recipe-general-row\n :unread-count=\"unreadCount\"\n :description=\"contactDescription\"\n :has-unreads=\"hasUnreads\"\n :selected=\"selected\"\n :has-call-button=\"hasCallButton\"\n :muted=\"muted\"\n :is-typing=\"isTyping\"\n :call-button-tooltip=\"callButtonTooltip\"\n :unread-count-tooltip=\"unreadCountTooltip\"\n v-bind=\"$attrs\"\n v-on=\"contactRowListeners\"\n @call=\"$emit('call', $event)\"\n >\n <template #left>\n <dt-avatar\n :full-name=\"name\"\n :image-src=\"avatarSrc\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n icon-size=\"200\"\n size=\"sm\"\n :seed=\"avatarSeed\"\n :presence=\"avatarPresence\"\n />\n </template>\n <template #label>\n <dt-emoji-text-wrapper\n class=\"dt-leftbar-row__description\"\n data-qa=\"dt-leftbar-row-description\"\n size=\"200\"\n >\n {{ name }}\n </dt-emoji-text-wrapper>\n <div class=\"dt-leftbar-row__status\">\n <span\n v-if=\"presenceText\"\n data-qa=\"dt-leftbar-row-presence-text\"\n :class=\"['dt-leftbar-row__meta-context', presenceColorClass]\"\n >\n {{ presenceText }}\n </span>\n <dt-emoji-text-wrapper\n v-if=\"userStatus\"\n size=\"100\"\n element-type=\"span\"\n data-qa=\"dt-leftbar-row-user-status\"\n class=\"dt-leftbar-row__meta-custom\"\n >\n {{ userStatus }}\n </dt-emoji-text-wrapper>\n </div>\n </template>\n </dt-recipe-general-row>\n</template>\n\n<script>\nimport { DtRecipeGeneralRow } from '@/recipes/leftbar/general_row';\nimport DtEmojiTextWrapper from '@/components/emoji_text_wrapper/emoji_text_wrapper.vue';\nimport DtAvatar from '@/components/avatar/avatar.vue';\nimport { extractVueListeners, safeConcatStrings } from '@/common/utils';\n\nexport default {\n name: 'DtRecipeContactRow',\n\n components: {\n DtAvatar,\n DtRecipeGeneralRow,\n DtEmojiTextWrapper,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Optional avatar image url.\n * If not provided it will use the initial of the name.\n */\n avatarSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * defer validation to avatar component.\n * @values null, busy, away, offline, active\n */\n avatarPresence: {\n type: String,\n default: null,\n },\n\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 * Text describing the user's presence, such as \"in a meeting\"\n */\n presenceText: {\n type: String,\n default: '',\n },\n\n /**\n * Name of the contact\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * Status as set by the user.\n */\n userStatus: {\n type: String,\n default: '',\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 * Number of unread messages\n */\n unreadCount: {\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 * Initials will never be shown. Instead it will show a \"User\" icon.\n */\n noInitials: {\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 * Whether the contact row should display a call button when hovered.\n */\n hasCallButton: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Text shown when the call button is hovered.\n */\n callButtonTooltip: {\n type: String,\n default: '',\n },\n\n /**\n * Text shown when the unread count is hovered.\n */\n unreadCountTooltip: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n /**\n * Call button clicked\n *\n * @event call\n * @type {PointerEvent | KeyboardEvent}\n */\n 'call',\n ],\n\n computed: {\n presenceColorClass () {\n switch (this.avatarPresence) {\n case 'active':\n return 'd-fc-success';\n case 'busy':\n return 'd-fc-critical';\n case 'away':\n return 'd-fc-warning';\n default:\n return undefined;\n }\n },\n\n contactRowListeners () {\n return extractVueListeners(this.$attrs);\n },\n\n contactDescription () {\n return safeConcatStrings([this.name, this.presenceText, this.userStatus]);\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtAvatar","DtRecipeGeneralRow","DtEmojiTextWrapper","extractVueListeners","safeConcatStrings","_hoisted_1","_openBlock","_createBlock","_component_dt_recipe_general_row","_mergeProps","$props","$options","_ctx","_toHandlers","_cache","$event","_createVNode","_component_dt_avatar","_component_dt_emoji_text_wrapper","_createElementVNode","_createElementBlock"],"mappings":"m0BA+DA,MAAKA,EAAU,CACb,KAAM,qBAEN,WAAY,CACV,SAAAC,EAAQ,SACR,mBAAAC,EAAkB,mBAClB,mBAAAC,EAAkB,kBACnB,EAED,aAAc,GAEd,MAAO,CAKL,UAAW,CACT,KAAM,OACN,QAAS,EACV,EASD,eAAgB,CACd,KAAM,OACN,QAAS,IACV,EAKD,WAAY,CACV,KAAM,OACN,QAAS,IACV,EAKD,aAAc,CACZ,KAAM,OACN,QAAS,EACV,EAKD,KAAM,CACJ,KAAM,OACN,SAAU,EACX,EAKD,WAAY,CACV,KAAM,OACN,QAAS,EACV,EAKD,MAAO,CACL,KAAM,QACN,QAAS,EACV,EAKD,YAAa,CACX,KAAM,OACN,QAAS,IACV,EAMD,WAAY,CACV,KAAM,QACN,QAAS,EACV,EAKD,SAAU,CACR,KAAM,QACN,QAAS,EACV,EAKD,WAAY,CACV,KAAM,QACN,QAAS,EACV,EAKD,SAAU,CACR,KAAM,QACN,QAAS,EACV,EAKD,cAAe,CACb,KAAM,QACN,QAAS,EACV,EAKD,kBAAmB,CACjB,KAAM,OACN,QAAS,EACV,EAKD,mBAAoB,CAClB,KAAM,OACN,QAAS,EACV,CACF,EAED,MAAO,CAOL,MACD,EAED,SAAU,CACR,oBAAsB,CACpB,OAAQ,KAAK,eAAc,CACzB,IAAK,SACH,MAAO,eACT,IAAK,OACH,MAAO,gBACT,IAAK,OACH,MAAO,eACT,QACE,MACJ,CACD,EAED,qBAAuB,CACrB,OAAOC,EAAmB,oBAAC,KAAK,MAAM,CACvC,EAED,oBAAsB,CACpB,OAAOC,EAAiB,kBAAC,CAAC,KAAK,KAAM,KAAK,aAAc,KAAK,UAAU,CAAC,CACzE,EAED,UAAY,CACV,OAAO,KAAK,WAAa,OAAS,IACnC,CACF,CACH,EA3MWC,EAAA,CAAA,MAAM,wBAAwB,8JAlCvC,OAAAC,YAAA,EAAAC,cAqDwBC,EArDxBC,EAAAA,WAqDwB,CApDrB,eAAcC,EAAW,YACzB,YAAaC,EAAkB,mBAC/B,cAAaD,EAAU,WACvB,SAAUA,EAAQ,SAClB,kBAAiBA,EAAa,cAC9B,MAAOA,EAAK,MACZ,YAAWA,EAAQ,SACnB,sBAAqBA,EAAiB,kBACtC,uBAAsBA,EAAkB,oBACjCE,EAAM,OACdC,EAAM,WAAoBF,EAAD,mBAAA,EAAA,CACxB,OAAIG,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAEH,EAAK,MAAA,OAASG,CAAM,MAEhB,eACT,IASE,CATFC,EAAAA,YASEC,EAAA,CARC,YAAWP,EAAI,KACf,YAAWA,EAAS,UACrB,YAAU,GACT,YAAWC,EAAQ,SACpB,YAAU,MACV,KAAK,KACJ,KAAMD,EAAU,WAChB,SAAUA,EAAc,kFAGlB,gBACT,IAMwB,CANxBM,EAAAA,YAMwBE,EAAA,CALtB,MAAM,8BACN,UAAQ,6BACR,KAAK,0BAEL,IAAU,qCAAPR,EAAI,IAAA,EAAA,CAAA,UAETS,EAAA,mBAiBM,MAjBNd,EAiBM,CAfIK,EAAY,4BADpBU,EAMO,mBAAA,OAAA,OAJL,UAAQ,+BACP,uDAAwCT,EAAkB,kBAAA,CAAA,qBAExDD,EAAY,YAAA,EAAA,CAAA,+BAGTA,EAAU,0BADlBH,EAQwB,YAAAW,EAAA,OANtB,KAAK,MACL,eAAa,OACb,UAAQ,6BACR,MAAM,kDAEN,IAAgB,qCAAbR,EAAU,UAAA,EAAA,CAAA"}
|
|
@@ -4,7 +4,7 @@ import { extractVueListeners as w, safeConcatStrings as S } from "./utils.js";
|
|
|
4
4
|
import { resolveComponent as r, openBlock as n, createBlock as c, mergeProps as C, toHandlers as h, withCtx as a, createVNode as u, createTextVNode as d, toDisplayString as o, createElementVNode as x, createElementBlock as b, normalizeClass as v, createCommentVNode as m } from "vue";
|
|
5
5
|
import { _ as B } from "../chunks/_plugin-vue_export-helper-hUChTQA_.js";
|
|
6
6
|
import { DtRecipeGeneralRow as T } from "./general-row.js";
|
|
7
|
-
import "../chunks/index-
|
|
7
|
+
import "../chunks/index-mRmwpCBG.js";
|
|
8
8
|
import "emoji-regex";
|
|
9
9
|
import "@dialpad/dialtone-emojis";
|
|
10
10
|
import "./skeleton.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("date-fns"),x=require("./stack.cjs"),M=require("./tooltip.cjs"),p=require("./button.cjs"),w=require("./icon.cjs");require("../chunks/stack_constants-m9Ickqw0.js");require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js");require("../chunks/popover_constants-hOEhklvr.js");require("tippy.js");require("./utils.cjs");require("./constants.cjs");require("./lazy-show.cjs");require("../chunks/link_constants-Kn6kP4i1.js");require("@dialpad/dialtone-icons/vue3");require("../chunks/icon_constants-2S_OSQ1t.js");require("@dialpad/dialtone-icons/icons.json");const N=0,q="MMMM",L="long",T=t=>t?new Date(t):new Date,S=(t,r,c)=>{const a=T(JSON.parse(JSON.stringify(t))),n=[];for(let l=0;l<7;l++){const i=s.addDays(a,l),f=s.getMonth(i)!==r;n.push({text:i.getDate(),value:i,currentMonth:!f,isFirstDayOfMonth:i.getDate()===1&&!f,selected:c?i.getDate()===c&&!f:!1})}return n},Y=(t,r)=>!t||!r?!1:s.isEqual(t,r),B=(t,r,c)=>{const a=[],n=T(new Date(r,t)),l=T(new Date(r,t+1,0)),i=N,f=s.startOfWeek(n,{weekStartsOn:i}),D=v=>{const y=S(v,t,c);if(a.push({days:y}),!a[a.length-1].days.some(k=>Y(k.value,l))){const k=s.addDays(v,7);D(k)}};return D(f),a},C=(t,r)=>{const c=[1,2,3,4,5,6,7].map(l=>new Intl.DateTimeFormat(t,{weekday:"short",timeZone:"UTC"}).format(new Date(`2017-01-0${l}T00:00:00+00:00`)).slice(0,2)),a=c.slice(0,r),n=c.slice(r+1,c.length);return[c[r]].concat(...n).concat(...a)},F=(t,r,c)=>new Intl.DateTimeFormat(c,{month:r}).format(new Date(2e3,t,1)),V=t=>{const r=new Date(t),c=s.getDay(r),a=s.addMonths(r,1),n=s.startOfMonth(a),l=s.getDay(n),i=(c-l+7)%7,f=s.addDays(n,i);return s.getDate(f)},E=t=>{const r=new Date(t),c=s.getDay(r);let n=s.endOfMonth(s.subMonths(r,1));for(;s.getDay(n)!==c;)n=s.addDays(n,-1);return s.getDate(n)};function P(t,r){const c=e.ref(s.getMonth(t.selectedDate)),a=e.ref(s.getYear(t.selectedDate)),n=e.ref(null),l=e.ref(0),i=e.ref([]),f=e.computed(()=>B(c.value,a.value,n.value)),D=e.computed(()=>(o,g,$)=>F(o,g,$));e.watch(c,()=>{d(),r("calendar-days",f.value)},{immediate:!0}),e.watch(a,()=>{d(),r("calendar-days",f.value)},{immediate:!0});function v(o){i.value.includes(o)||i.value.push(o)}function y(){i.value[0].$el.focus()}function k(o){switch(o.key){case"ArrowLeft":o.preventDefault(),l.value===0?(l.value=3,i.value[l.value].$el.focus()):(l.value--,i.value[l.value].$el.focus());break;case"ArrowRight":o.preventDefault(),l.value===3?(l.value=0,i.value[l.value].$el.focus()):(l.value++,i.value[l.value].$el.focus());break;case"ArrowDown":o.preventDefault(),r("focus-first-day");break;case"Tab":o.preventDefault(),r("focus-first-day");break;case"Escape":r("close-datepicker");break}}function d(){const o=s.getYear(t.selectedDate),g=s.getMonth(t.selectedDate);o!==a.value||g!==c.value?n.value=null:n.value=s.getDate(t.selectedDate)}function h(o){(c.value===0&&o===-1||c.value===11&&o===1)&&(a.value+=o);const g=s.set(t.selectedDate,{month:c.value,year:a.value}),$=o===1?s.addMonths(g,1):s.subMonths(g,1);c.value=s.getMonth($)}function m(o){a.value=a.value+o}function b(){h(1)}function u(){h(-1)}return{selectMonth:c,selectYear:a,formattedMonth:D,setDayRef:v,focusMonthYearPicker:y,handleKeyDown:k,changeMonth:h,changeYear:m,goToNextMonth:b,goToPrevMonth:u}}const O={id:"calendar-heading",class:"d-datepicker__month-year-title"},A={__name:"month-year-picker",props:{locale:{type:String,required:!0},prevMonthLabel:{type:String,required:!0},nextMonthLabel:{type:String,required:!0},prevYearLabel:{type:String,required:!0},nextYearLabel:{type:String,required:!0},changeToLabel:{type:String,required:!0},selectedDate:{type:Date,required:!0}},emits:["calendar-days","focus-first-day","focus-last-day","close-datepicker"],setup(t,{expose:r,emit:c}){const a=t,n=c,{selectMonth:l,selectYear:i,formattedMonth:f,setDayRef:D,focusMonthYearPicker:v,handleKeyDown:y,changeMonth:k,changeYear:d,goToNextMonth:h,goToPrevMonth:m}=P(a,n);return e.onMounted(()=>{v()}),r({focusMonthYearPicker:v,goToNextMonth:h,goToPrevMonth:m}),(b,u)=>(e.openBlock(),e.createBlock(e.unref(x.DtStack),{direction:"row",class:"d-datepicker__month-year",gap:"300"},{default:e.withCtx(()=>[e.createVNode(e.unref(x.DtStack),{as:"nav",direction:"row",gap:"200",class:"d-datepicker__nav"},{default:e.withCtx(()=>[e.createVNode(e.unref(M.DtTooltip),{message:t.prevYearLabel,placement:"top"},{anchor:e.withCtx(()=>[e.createVNode(e.unref(p.DtButton),{id:"prevYearButton",ref:o=>{o&&e.unref(D)(o)},size:"xs",importance:"clear",kind:"muted",circle:!0,class:"d-datepicker__nav-btn",type:"button","aria-label":`${t.changeToLabel} ${t.prevYearLabel} ${e.unref(i)-1}`,onClick:u[0]||(u[0]=o=>e.unref(d)(-1)),onKeydown:u[1]||(u[1]=o=>e.unref(y)(o))},{default:e.withCtx(()=>[e.createVNode(e.unref(w.DtIcon),{name:"chevrons-left",size:"200"})]),_:1},8,["aria-label"])]),_:1},8,["message"]),e.createVNode(e.unref(M.DtTooltip),{message:t.prevMonthLabel,placement:"top"},{anchor:e.withCtx(()=>[e.createVNode(e.unref(p.DtButton),{id:"prevMonthButton",ref:o=>{o&&e.unref(D)(o)},size:"xs",importance:"clear",kind:"muted",circle:!0,class:"d-datepicker__nav-btn",type:"button","aria-label":`${t.changeToLabel} ${t.prevMonthLabel} ${e.unref(f)(e.unref(l)-1,e.unref(L),t.locale)}`,onClick:u[2]||(u[2]=o=>e.unref(k)(-1)),onKeydown:u[3]||(u[3]=o=>e.unref(y)(o))},{default:e.withCtx(()=>[e.createVNode(e.unref(w.DtIcon),{name:"chevron-left",size:"200"})]),_:1},8,["aria-label"])]),_:1},8,["message"])]),_:1}),e.createElementVNode("div",O,e.toDisplayString(e.unref(f)(e.unref(l),e.unref(L),t.locale))+" "+e.toDisplayString(e.unref(i)),1),e.createVNode(e.unref(x.DtStack),{as:"nav",direction:"row",gap:"200",class:"d-datepicker__nav"},{default:e.withCtx(()=>[e.createVNode(e.unref(M.DtTooltip),{message:t.nextMonthLabel,placement:"top"},{anchor:e.withCtx(()=>[e.createVNode(e.unref(p.DtButton),{id:"nextMonthButton",ref:o=>{o&&e.unref(D)(o)},size:"xs",importance:"clear",kind:"muted",circle:!0,class:"d-datepicker__nav-btn",type:"button","aria-label":`${t.changeToLabel} ${t.nextMonthLabel} ${e.unref(f)(e.unref(l)+1,e.unref(L),t.locale)}`,onClick:u[4]||(u[4]=o=>e.unref(k)(1)),onKeydown:u[5]||(u[5]=o=>e.unref(y)(o))},{default:e.withCtx(()=>[e.createVNode(e.unref(w.DtIcon),{name:"chevron-right",size:"200"})]),_:1},8,["aria-label"])]),_:1},8,["message"]),e.createVNode(e.unref(M.DtTooltip),{message:t.nextYearLabel,placement:"top"},{anchor:e.withCtx(()=>[e.createVNode(e.unref(p.DtButton),{id:"nextYearButton",ref:o=>{o&&e.unref(D)(o)},size:"xs",importance:"clear",kind:"muted",circle:!0,class:"d-datepicker__nav-btn",type:"button","aria-label":`${t.changeToLabel} ${t.nextYearLabel} ${e.unref(i)+1}`,onClick:u[6]||(u[6]=o=>e.unref(d)(1)),onKeydown:u[7]||(u[7]=o=>e.unref(y)(o))},{default:e.withCtx(()=>[e.createVNode(e.unref(w.DtIcon),{name:"chevrons-right",size:"200"})]),_:1},8,["aria-label"])]),_:1},8,["message"])]),_:1})]),_:1}))}};function I(t,r){const c=e.ref(null),a=e.ref(0),n=e.ref([]),l=e.computed(()=>C(t.locale,N));e.watch(()=>t.calendarDays,()=>{a.value=0,n.value=[],c.value=null});function i(d){return`${t.selectDayLabel} ${d.text} ${s.format(d.value,q)} ${s.getYear(d.value)}`}function f(d,h){!n.value.some(m=>m.el===d)&&h.currentMonth&&n.value.push({el:d,day:h})}function D(d){switch(d.key){case"ArrowUp":d.preventDefault(),a.value-=7;try{n.value[a.value].el.$el.focus()}catch{const m=E(n.value[a.value+7].day.value);r("go-to-prev-month"),e.nextTick(()=>{n.value[m-1].el.$el.focus(),a.value+=m-1})}break;case"ArrowDown":d.preventDefault(),a.value+=7;try{n.value[a.value].el.$el.focus()}catch{const m=V(n.value[a.value-7].day.value);r("go-to-next-month"),e.nextTick(()=>{n.value[m-1].el.$el.focus(),a.value+=m-1})}break;case"ArrowLeft":d.preventDefault(),a.value>0?(a.value-=1,n.value[a.value].el.$el.focus()):(r("go-to-prev-month"),y());break;case"ArrowRight":d.preventDefault(),a.value<n.value.length-1?(a.value+=1,n.value[a.value].el.$el.focus()):(r("go-to-next-month"),v());break;case"Tab":d.preventDefault(),r("focus-month-year-picker");break;case"Escape":r("close-datepicker");break}}function v(){a.value=0,e.nextTick(()=>{n.value[a.value].el.$el.focus()})}function y(){e.nextTick(()=>{a.value=n.value.length-1,n.value[a.value].el.$el.focus()})}function k(d){d.currentMonth&&(c.value=d.text,r("select-date",d.value))}return{selectedDay:c,weekDays:l,dayAriaLabel:i,setDayRef:f,handleKeyDown:D,focusFirstDay:v,selectDay:k}}const R={class:"d-datepicker__calendar","aria-labelledby":"calendar-heading"},z=["title","aria-label"],K={__name:"calendar",props:{calendarDays:{type:Array,required:!0},locale:{type:String,required:!0},selectDayLabel:{type:String,required:!0}},emits:["select-date","focus-month-year-picker","close-datepicker","go-to-next-month","go-to-prev-month"],setup(t,{expose:r,emit:c}){const a=t,n=c,{selectedDay:l,weekDays:i,dayAriaLabel:f,setDayRef:D,handleKeyDown:v,focusFirstDay:y,selectDay:k}=I(a,n);return r({focusFirstDay:y}),(d,h)=>(e.openBlock(),e.createElementBlock("table",R,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),m=>(e.openBlock(),e.createElementBlock("th",{key:m,scope:"col",class:"d-datepicker__cell d-datepicker__cell--header"},[e.createElementVNode("span",{class:"d-datepicker__weekday",title:m,"aria-label":m},e.toDisplayString(m),9,z)]))),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.calendarDays,(m,b)=>(e.openBlock(),e.createElementBlock("tr",{key:b},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.days,(u,o)=>(e.openBlock(),e.createElementBlock("td",{key:b+o,class:"d-datepicker__cell",role:"listbox"},[e.createVNode(e.unref(p.DtButton),{ref_for:!0,ref:g=>{g&&e.unref(D)(g,u)},class:e.normalizeClass(["d-datepicker__day",{"d-datepicker__day--disabled":!u.currentMonth,"d-datepicker__day--selected":e.unref(l)?u.text===e.unref(l)&&u.currentMonth:u.selected}]),circle:!0,size:"sm",importance:"clear",disabled:!u.currentMonth,type:"button","aria-selected":e.unref(l)?u.text===e.unref(l)&&u.currentMonth:u.selected,"aria-label":e.unref(f)(u),role:"option",onClick:g=>e.unref(k)(u),onKeydown:h[0]||(h[0]=g=>e.unref(v)(g))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.text),1)]),_:2},1032,["disabled","class","aria-selected","aria-label","onClick"])]))),128))]))),128))])]))}},W={class:"d-datepicker__hd"},G={class:"d-datepicker__bd"},U={__name:"datepicker",props:{prevMonthLabel:{type:String,required:!0},nextMonthLabel:{type:String,required:!0},prevYearLabel:{type:String,required:!0},nextYearLabel:{type:String,required:!0},selectDayLabel:{type:String,required:!0},changeToLabel:{type:String,required:!0},locale:{type:String,default:"en-US"},selectedDate:{type:Date,default:()=>new Date}},emits:["selected-date","close-datepicker"],setup(t){const r=e.ref([]);function c(a){r.value=a}return(a,n)=>(e.openBlock(),e.createBlock(e.unref(x.DtStack),{class:"d-datepicker",gap:"400"},{default:e.withCtx(()=>[e.createElementVNode("div",W,[e.createVNode(A,{ref:"monthYearPicker",locale:t.locale,"prev-month-label":t.prevMonthLabel,"next-month-label":t.nextMonthLabel,"prev-year-label":t.prevYearLabel,"next-year-label":t.nextYearLabel,"change-to-label":t.changeToLabel,"selected-date":t.selectedDate,onCalendarDays:c,onFocusFirstDay:n[0]||(n[0]=l=>a.$refs.calendar.focusFirstDay()),onFocusLastDay:n[1]||(n[1]=l=>a.$refs.calendar.focusLastDay()),onCloseDatepicker:n[2]||(n[2]=l=>a.$emit("close-datepicker"))},null,8,["locale","prev-month-label","next-month-label","prev-year-label","next-year-label","change-to-label","selected-date"])]),e.createElementVNode("div",G,[e.createVNode(K,{ref:"calendar",locale:t.locale,"calendar-days":r.value,"select-day-label":t.selectDayLabel,onSelectDate:n[3]||(n[3]=l=>a.$emit("selected-date",l)),onFocusMonthYearPicker:n[4]||(n[4]=l=>a.$refs.monthYearPicker.focusMonthYearPicker()),onCloseDatepicker:n[5]||(n[5]=l=>a.$emit("close-datepicker")),onGoToNextMonth:n[6]||(n[6]=l=>a.$refs.monthYearPicker.goToNextMonth()),onGoToPrevMonth:n[7]||(n[7]=l=>a.$refs.monthYearPicker.goToPrevMonth())},null,8,["locale","calendar-days","select-day-label"])])]),_:1}))}};function H(t,r="default"){return new Intl.DateTimeFormat(r,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(t)}function J(t,r="default"){return new Intl.DateTimeFormat(r,{year:"numeric",month:"long",day:"numeric"}).format(t)}function j(t,r="default",c=!0){const a=c?{weekday:"short",year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"short",day:"numeric"};return new Intl.DateTimeFormat(r,a).format(t)}function Z(t,r="default",c=!1){const a=c?"short":"long";return new Intl.DateTimeFormat(r,{month:a,day:"numeric"}).format(t)}function Q(t,r="default"){return new Intl.DateTimeFormat(r,{year:"2-digit",month:"2-digit",day:"2-digit"}).format(t)}exports.DtDatepicker=U;exports.formatLong=H;exports.formatMedium=J;exports.formatNoYear=Z;exports.formatNumerical=Q;exports.formatShort=j;
|
|
2
|
+
//# sourceMappingURL=datepicker.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datepicker.cjs","sources":["../../components/datepicker/datepicker_constants.js","../../components/datepicker/utils.js","../../components/datepicker/composables/useMonthYearPicker.js","../../components/datepicker/modules/month-year-picker.vue","../../components/datepicker/composables/useCalendar.js","../../components/datepicker/modules/calendar.vue","../../components/datepicker/datepicker.vue","../../components/datepicker/formatUtils.js"],"sourcesContent":["/**\n * Week start day\n * 0 - Sunday\n * 1 - Monday\n */\nexport const WEEK_START = 0;\n\nexport const MONTH_FORMAT = 'MMMM';\n\nexport const INTL_MONTH_FORMAT = 'long';\n","import {\n startOfWeek, addDays, getMonth, isEqual,\n addMonths, startOfMonth, getDay, getDate,\n subMonths, endOfMonth,\n} from 'date-fns';\nimport { WEEK_START } from '@/components/datepicker/datepicker_constants.js';\n\nconst _parsedGetDate = (value) => (value ? new Date(value) : new Date());\n\n/**\n * Get 7 days from the provided start date, month is used to check\n * whether the date is from the specified month or in the offset\n */\nconst getWeekDays = (startDay, month, selectedDay) => {\n const startDate = _parsedGetDate(JSON.parse(JSON.stringify(startDay)));\n const dates = [];\n for (let i = 0; i < 7; i++) {\n const next = addDays(startDate, i);\n const isNext = getMonth(next) !== month;\n dates.push({\n text: next.getDate(),\n value: next,\n currentMonth: !isNext,\n isFirstDayOfMonth: next.getDate() === 1 && !isNext,\n // will be selected if the date is the same as the selected day and is from the current month\n selected: selectedDay ? (next.getDate() === selectedDay && !isNext) : false,\n });\n }\n return dates;\n};\n\nconst isDateEqual = (date, dateToCompare) => {\n if (!date || !dateToCompare) {\n return false;\n }\n return isEqual(date, dateToCompare);\n};\n\n/**\n * Get days for the calendar to be displayed in a table grouped by weeks\n */\nexport const getCalendarDays = (month, year, selectedDay) => {\n const weeks = [];\n const firstDate = _parsedGetDate(new Date(year, month));\n const lastDate = _parsedGetDate(new Date(year, month + 1, 0));\n\n const weekStartsOn = WEEK_START;\n\n const firstDateInCalendar = startOfWeek(firstDate, { weekStartsOn });\n\n const addDaysToWeek = (date) => {\n const days = getWeekDays(date, month, selectedDay);\n\n weeks.push({ days });\n\n if (\n !weeks[weeks.length - 1].days.some((day) =>\n isDateEqual(day.value, lastDate),\n )\n ) {\n const nextDate = addDays(date, 7);\n addDaysToWeek(nextDate);\n }\n };\n\n addDaysToWeek(firstDateInCalendar);\n\n return weeks;\n};\n\n/**\n * Generate week day names based on locale and in order specified in week start\n */\nexport const getWeekDayNames = (locale, weekStart) => {\n // Get list in order from sun ... sat\n const days = [1, 2, 3, 4, 5, 6, 7].map((day) => {\n return new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' })\n .format(new Date(`2017-01-0${day}T00:00:00+00:00`))\n .slice(0, 2);\n });\n\n // Get days that are in order before specified week start\n const beforeWeekStart = days.slice(0, weekStart);\n // Get days that are in order after specified week start\n const afterWeekStart = days.slice(weekStart + 1, days.length);\n\n // return them in correct order\n return [days[weekStart]].concat(...afterWeekStart).concat(...beforeWeekStart);\n};\n\nexport const formatMonth = (month, monthFormat, locale) => {\n return new Intl.DateTimeFormat(locale, { month: monthFormat }).format(new Date(2000, month, 1));\n};\n\nexport const calculateNextFocusDate = (currentDate) => {\n const date = new Date(currentDate);\n const currentWeekday = getDay(date);\n const nextMonthDate = addMonths(date, 1);\n const nextMonthStart = startOfMonth(nextMonthDate);\n const nextMonthStartWeekday = getDay(nextMonthStart);\n\n const dayDifference = (currentWeekday - nextMonthStartWeekday + 7) % 7;\n\n // Add the difference in days to the first day of the next month\n const focusDate = addDays(nextMonthStart, dayDifference);\n\n // Returns only the day of the month\n return getDate(focusDate);\n};\n\nexport const calculatePrevFocusDate = (currentDate) => {\n const date = new Date(currentDate);\n const currentWeekday = getDay(date);\n\n // Move to the last day of the previous month\n const lastDayOfPrevMonth = endOfMonth(subMonths(date, 1));\n let focusDate = lastDayOfPrevMonth;\n\n // Adjust to the same weekday in the last week of the previous month\n while (getDay(focusDate) !== currentWeekday) {\n focusDate = addDays(focusDate, -1);\n }\n\n // Returns only the day of the month\n return getDate(focusDate);\n};\n","import { computed, ref, watch } from 'vue';\nimport { addMonths, getDate, getMonth, getYear, set, subMonths } from 'date-fns';\nimport { formatMonth, getCalendarDays } from '@/components/datepicker/utils.js';\n\nexport function useMonthYearPicker (props, emits) {\n const selectMonth = ref(getMonth(props.selectedDate));\n const selectYear = ref(getYear(props.selectedDate));\n const highlightedDay = ref(null);\n const focusPicker = ref(0);\n const focusRefs = ref([]);\n\n const calendarDays = computed(() => {\n return getCalendarDays(selectMonth.value, selectYear.value, highlightedDay.value);\n });\n\n const formattedMonth = computed(() => {\n return (month, format, locale) => formatMonth(month, format, locale);\n });\n\n watch(selectMonth, () => {\n highlightDay();\n emits('calendar-days', calendarDays.value);\n }, { immediate: true });\n\n watch(selectYear, () => {\n highlightDay();\n emits('calendar-days', calendarDays.value);\n }, { immediate: true });\n\n function setDayRef (el) {\n if (!focusRefs.value.includes(el)) {\n focusRefs.value.push(el);\n }\n }\n\n function focusMonthYearPicker () {\n focusRefs.value[0].$el.focus();\n }\n\n function handleKeyDown (event) {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n if (focusPicker.value === 0) {\n focusPicker.value = 3;\n focusRefs.value[focusPicker.value].$el.focus();\n } else {\n focusPicker.value--;\n focusRefs.value[focusPicker.value].$el.focus();\n }\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n if (focusPicker.value === 3) {\n focusPicker.value = 0;\n focusRefs.value[focusPicker.value].$el.focus();\n } else {\n focusPicker.value++;\n focusRefs.value[focusPicker.value].$el.focus();\n }\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n emits('focus-first-day');\n break;\n\n case 'Tab':\n event.preventDefault();\n emits('focus-first-day');\n break;\n\n case 'Escape':\n emits('close-datepicker');\n break;\n }\n }\n\n function highlightDay () {\n const year = getYear(props.selectedDate);\n const month = getMonth(props.selectedDate);\n\n if (year !== selectYear.value || month !== selectMonth.value) {\n highlightedDay.value = null;\n } else {\n highlightedDay.value = getDate(props.selectedDate);\n }\n }\n\n function changeMonth (value) {\n // Adjust year when changing from January to December or vice versa\n if ((selectMonth.value === 0 && value === -1) || (selectMonth.value === 11 && value === 1)) {\n selectYear.value += value;\n }\n\n // Calculate the new date by adding or subtracting months\n const initialDate = set(props.selectedDate, { month: selectMonth.value, year: selectYear.value });\n const newDate = value === 1 ? addMonths(initialDate, 1) : subMonths(initialDate, 1);\n\n // Update the selected month\n selectMonth.value = getMonth(newDate);\n }\n\n function changeYear (value) {\n selectYear.value = selectYear.value + value;\n }\n\n function goToNextMonth () {\n changeMonth(1);\n }\n\n function goToPrevMonth () {\n changeMonth(-1);\n }\n\n return {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\n };\n}\n","<template>\n <dt-stack\n direction=\"row\"\n class=\"d-datepicker__month-year\"\n gap=\"300\"\n >\n <dt-stack\n as=\"nav\"\n direction=\"row\"\n gap=\"200\"\n class=\"d-datepicker__nav\"\n >\n <dt-tooltip\n :message=\"prevYearLabel\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"prevYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"`${changeToLabel} ${prevYearLabel} ${selectYear - 1}`\"\n @click=\"changeYear(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevrons-left\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :message=\"prevMonthLabel\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"prevMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"\n `${changeToLabel} ${prevMonthLabel} ${formattedMonth(selectMonth - 1, INTL_MONTH_FORMAT, locale)}`\n \"\n @click=\"changeMonth(-1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevron-left\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n </dt-stack>\n <div\n id=\"calendar-heading\"\n class=\"d-datepicker__month-year-title\"\n >\n {{ formattedMonth(selectMonth, INTL_MONTH_FORMAT, locale) }}\n\n {{ selectYear }}\n </div>\n <dt-stack\n as=\"nav\"\n direction=\"row\"\n gap=\"200\"\n class=\"d-datepicker__nav\"\n >\n <dt-tooltip\n :message=\"nextMonthLabel\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"nextMonthButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"\n `${changeToLabel} ${nextMonthLabel} ${formattedMonth(selectMonth + 1, INTL_MONTH_FORMAT, locale)}`\n \"\n @click=\"changeMonth(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevron-right\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n <dt-tooltip\n :message=\"nextYearLabel\"\n placement=\"top\"\n >\n <template #anchor>\n <dt-button\n id=\"nextYearButton\"\n :ref=\"el => { if (el) setDayRef(el) }\"\n size=\"xs\"\n importance=\"clear\"\n kind=\"muted\"\n :circle=\"true\"\n class=\"d-datepicker__nav-btn\"\n type=\"button\"\n :aria-label=\"`${changeToLabel} ${nextYearLabel} ${selectYear + 1}`\"\n @click=\"changeYear(1)\"\n @keydown=\"handleKeyDown($event)\"\n >\n <dt-icon\n name=\"chevrons-right\"\n size=\"200\"\n />\n </dt-button>\n </template>\n </dt-tooltip>\n </dt-stack>\n </dt-stack>\n</template>\n\n<script setup>\nimport { DtIcon } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport { INTL_MONTH_FORMAT } from '../datepicker_constants';\nimport { onMounted } from 'vue';\nimport { useMonthYearPicker } from '@/components/datepicker/composables/useMonthYearPicker.js';\n\nconst props = defineProps({\n locale: {\n type: String,\n required: true,\n },\n\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n changeToLabel: {\n type: String,\n required: true,\n },\n\n selectedDate: {\n type: Date,\n required: true,\n },\n});\nconst emits = defineEmits([\n /**\n * Will retrieve the calendar days of the given date\n *\n * @event calendar-days\n * @type {Array}\n */\n 'calendar-days',\n\n /**\n * Will focus first day in calendar\n *\n * @event focus-first-day\n */\n 'focus-first-day',\n\n /**\n * Will focus last day in calendar\n *\n * @event focus-last-day\n */\n 'focus-last-day',\n\n /**\n * Will close the datepicker\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n]);\n\nconst {\n selectMonth,\n selectYear,\n formattedMonth,\n setDayRef,\n focusMonthYearPicker,\n handleKeyDown,\n changeMonth,\n changeYear,\n goToNextMonth,\n goToPrevMonth,\n} = useMonthYearPicker(props, emits);\n\nonMounted(() => {\n focusMonthYearPicker();\n});\n\ndefineExpose({\n focusMonthYearPicker,\n goToNextMonth,\n goToPrevMonth,\n});\n</script>\n","import { computed, ref, watch, nextTick } from 'vue';\nimport { getWeekDayNames, calculateNextFocusDate, calculatePrevFocusDate } from '@/components/datepicker/utils.js';\nimport { MONTH_FORMAT, WEEK_START } from '@/components/datepicker/datepicker_constants.js';\nimport { format, getYear } from 'date-fns';\n\nexport function useCalendar (props, emits) {\n const selectedDay = ref(null);\n const focusDay = ref(0);\n const daysRef = ref([]);\n\n const weekDays = computed(() => {\n return getWeekDayNames(props.locale, WEEK_START);\n });\n\n watch(() => props.calendarDays, () => {\n focusDay.value = 0;\n daysRef.value = [];\n selectedDay.value = null;\n });\n\n function dayAriaLabel (day) {\n return `${props.selectDayLabel} ${day.text} ${format(day.value, MONTH_FORMAT)} ${getYear(day.value)}`;\n }\n\n function setDayRef (el, day) {\n if (!daysRef.value.some(day => day.el === el) && day.currentMonth) {\n daysRef.value.push({ el, day });\n }\n }\n\n function handleKeyDown (event) {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n focusDay.value -= 7;\n try {\n daysRef.value[focusDay.value].el.$el.focus();\n } catch (error) {\n const prevFocusDate = calculatePrevFocusDate(daysRef.value[focusDay.value + 7].day.value);\n emits('go-to-prev-month');\n\n nextTick(() => {\n daysRef.value[prevFocusDate - 1].el.$el.focus();\n focusDay.value += prevFocusDate - 1;\n });\n }\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n focusDay.value += 7;\n try {\n daysRef.value[focusDay.value].el.$el.focus();\n } catch (error) {\n const nextFocusDate = calculateNextFocusDate(daysRef.value[focusDay.value - 7].day.value);\n emits('go-to-next-month');\n\n nextTick(() => {\n daysRef.value[nextFocusDate - 1].el.$el.focus();\n focusDay.value += nextFocusDate - 1;\n });\n }\n break;\n\n case 'ArrowLeft':\n event.preventDefault();\n if (focusDay.value > 0) {\n focusDay.value -= 1;\n daysRef.value[focusDay.value].el.$el.focus();\n } else {\n // if we are on month first day, jump to last day of prev month\n emits('go-to-prev-month');\n focusLastDay();\n }\n break;\n\n case 'ArrowRight':\n event.preventDefault();\n if (focusDay.value < daysRef.value.length - 1) {\n focusDay.value += 1;\n daysRef.value[focusDay.value].el.$el.focus();\n } else {\n // if we are on month last day, jump to first day of next month\n emits('go-to-next-month');\n\n focusFirstDay();\n }\n break;\n\n case 'Tab':\n event.preventDefault();\n emits('focus-month-year-picker');\n break;\n\n case 'Escape':\n emits('close-datepicker');\n break;\n }\n }\n\n function focusFirstDay () {\n focusDay.value = 0;\n\n nextTick(() => {\n daysRef.value[focusDay.value].el.$el.focus();\n });\n }\n\n function focusLastDay () {\n nextTick(() => {\n focusDay.value = daysRef.value.length - 1;\n daysRef.value[focusDay.value].el.$el.focus();\n });\n }\n\n function selectDay (day) {\n if (!day.currentMonth) { return; }\n\n // local selectedDay is updated when a day is selected\n selectedDay.value = day.text;\n emits('select-date', day.value);\n }\n\n return {\n selectedDay,\n weekDays,\n dayAriaLabel,\n setDayRef,\n handleKeyDown,\n focusFirstDay,\n selectDay,\n };\n}\n","<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <table\n class=\"d-datepicker__calendar\"\n aria-labelledby=\"calendar-heading\"\n >\n <thead>\n <tr>\n <th\n v-for=\"day in weekDays\"\n :key=\"day\"\n scope=\"col\"\n class=\"d-datepicker__cell d-datepicker__cell--header\"\n >\n <span\n class=\"d-datepicker__weekday\"\n :title=\"day\"\n :aria-label=\"day\"\n > {{ day }}</span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n v-for=\"(week, indexWeek) in calendarDays\"\n :key=\"indexWeek\"\n >\n <td\n v-for=\"(day, indexDays) in week.days\"\n :key=\"indexWeek + indexDays\"\n class=\"d-datepicker__cell\"\n role=\"listbox\"\n >\n <dt-button\n :ref=\"el => { if (el) setDayRef(el, day) }\"\n class=\"d-datepicker__day\"\n :circle=\"true\"\n size=\"sm\"\n importance=\"clear\"\n :disabled=\"!day.currentMonth\"\n :class=\"{\n 'd-datepicker__day--disabled': !day.currentMonth,\n 'd-datepicker__day--selected': selectedDay\n ? ((day.text === selectedDay) && day.currentMonth)\n : day.selected,\n }\"\n type=\"button\"\n :aria-selected=\"!!selectedDay ? ((day.text === selectedDay) && day.currentMonth) : day.selected\"\n :aria-label=\"dayAriaLabel(day)\"\n role=\"option\"\n @click=\"selectDay(day)\"\n @keydown=\"handleKeyDown($event)\"\n >\n {{ day.text }}\n </dt-button>\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script setup>\nimport { useCalendar } from '@/components/datepicker/composables/useCalendar.js';\nimport { DtButton } from '@/components/button';\n\nconst props = defineProps({\n calendarDays: {\n type: Array,\n required: true,\n },\n\n locale: {\n type: String,\n required: true,\n },\n\n selectDayLabel: {\n type: String,\n required: true,\n },\n});\n\nconst emits = defineEmits([\n /**\n * Event fired when a date is selected\n *\n * @event select-date\n * @type {Date}\n */\n 'select-date',\n\n /**\n * Will focus the month and year picker\n *\n * @event focus-month-year-picker\n */\n 'focus-month-year-picker',\n\n /**\n * Will close the datepicker\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n\n /**\n * Will go to the next month\n *\n * @event go-to-next-month\n */\n 'go-to-next-month',\n\n /**\n * Will go to the previous month\n *\n * @event go-to-prev-month\n */\n 'go-to-prev-month',\n]);\n\nconst {\n selectedDay,\n weekDays,\n dayAriaLabel,\n setDayRef,\n handleKeyDown,\n focusFirstDay,\n selectDay,\n} = useCalendar(props, emits);\n\ndefineExpose({\n focusFirstDay,\n});\n</script>\n","<!-- eslint-disable vue/multi-word-component-names -->\n<template>\n <dt-stack\n class=\"d-datepicker\"\n gap=\"400\"\n >\n <div class=\"d-datepicker__hd\">\n <month-year-picker\n ref=\"monthYearPicker\"\n :locale=\"locale\"\n :prev-month-label=\"prevMonthLabel\"\n :next-month-label=\"nextMonthLabel\"\n :prev-year-label=\"prevYearLabel\"\n :next-year-label=\"nextYearLabel\"\n :change-to-label=\"changeToLabel\"\n :selected-date=\"selectedDate\"\n @calendar-days=\"updateCalendarDays\"\n @focus-first-day=\"$refs.calendar.focusFirstDay()\"\n @focus-last-day=\"$refs.calendar.focusLastDay()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n />\n </div>\n <div class=\"d-datepicker__bd\">\n <calendar\n ref=\"calendar\"\n :locale=\"locale\"\n :calendar-days=\"calendarDays\"\n :select-day-label=\"selectDayLabel\"\n @select-date=\"$emit('selected-date', $event)\"\n @focus-month-year-picker=\"$refs.monthYearPicker.focusMonthYearPicker()\"\n @close-datepicker=\"$emit('close-datepicker')\"\n @go-to-next-month=\"$refs.monthYearPicker.goToNextMonth()\"\n @go-to-prev-month=\"$refs.monthYearPicker.goToPrevMonth()\"\n />\n </div>\n </dt-stack>\n</template>\n\n<script setup>\nimport MonthYearPicker from './modules/month-year-picker.vue';\nimport Calendar from './modules/calendar.vue';\nimport { DtStack } from '@/components/stack';\n\nimport { ref } from 'vue';\n\ndefineProps({\n /**\n * Label for the previous month button\n *\n * @type {String}\n * @example 'Previous month'\n */\n prevMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next month button\n *\n * @type {String}\n * @example 'Next month'\n */\n nextMonthLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the previous year button\n *\n * @type {String}\n * @example 'Previous year'\n */\n prevYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the next year button\n *\n * @type {String}\n * @example 'Next year'\n */\n nextYearLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the select day button\n *\n * @type {String}\n * @example 'Select day'\n */\n selectDayLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Label for the change to button\n *\n * @type {String}\n * @example 'Change to'\n */\n changeToLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Locale for the calendar\n *\n * @type {String}\n */\n locale: {\n type: String,\n default: 'en-US',\n },\n\n /**\n * Selected date\n *\n * @type {Date}\n */\n selectedDate: {\n type: Date,\n default: () => (new Date()),\n },\n});\n\ndefineEmits([\n /**\n * Event fired when a date is selected\n *\n * @event selected-date\n * @type {Date}\n */\n 'selected-date',\n\n /**\n * Event fired when user presses the esc key\n *\n * @event close-datepicker\n */\n 'close-datepicker',\n]);\n\nconst calendarDays = ref([]);\n\nfunction updateCalendarDays (days) {\n calendarDays.value = days;\n}\n</script>\n","export function formatLong (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }).format(date);\n}\n\nexport function formatMedium (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { year: 'numeric', month: 'long', day: 'numeric' }).format(date);\n}\n\nexport function formatShort (date, locale = 'default', showWeekday = true) {\n const options = showWeekday ? { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' } : { year: 'numeric', month: 'short', day: 'numeric' };\n return new Intl.DateTimeFormat(locale, options).format(date);\n}\n\nexport function formatNoYear (date, locale = 'default', abbreviated = false) {\n const monthFormat = abbreviated ? 'short' : 'long';\n return new Intl.DateTimeFormat(locale, { month: monthFormat, day: 'numeric' }).format(date);\n}\n\nexport function formatNumerical (date, locale = 'default') {\n return new Intl.DateTimeFormat(locale, { year: '2-digit', month: '2-digit', day: '2-digit' }).format(date);\n}\n\nexport default {\n formatLong,\n formatMedium,\n formatShort,\n formatNoYear,\n formatNumerical,\n};\n"],"names":["WEEK_START","MONTH_FORMAT","INTL_MONTH_FORMAT","_parsedGetDate","value","getWeekDays","startDay","month","selectedDay","startDate","dates","i","next","addDays","isNext","getMonth","isDateEqual","date","dateToCompare","isEqual","getCalendarDays","year","weeks","firstDate","lastDate","weekStartsOn","firstDateInCalendar","startOfWeek","addDaysToWeek","days","day","nextDate","getWeekDayNames","locale","weekStart","beforeWeekStart","afterWeekStart","formatMonth","monthFormat","calculateNextFocusDate","currentDate","currentWeekday","getDay","nextMonthDate","addMonths","nextMonthStart","startOfMonth","nextMonthStartWeekday","dayDifference","focusDate","getDate","calculatePrevFocusDate","endOfMonth","subMonths","useMonthYearPicker","props","emits","selectMonth","ref","selectYear","getYear","highlightedDay","focusPicker","focusRefs","calendarDays","computed","formattedMonth","format","watch","highlightDay","setDayRef","el","focusMonthYearPicker","handleKeyDown","event","changeMonth","initialDate","set","newDate","changeYear","goToNextMonth","goToPrevMonth","__props","__emit","onMounted","__expose","useCalendar","focusDay","daysRef","weekDays","dayAriaLabel","prevFocusDate","nextTick","nextFocusDate","focusLastDay","focusFirstDay","selectDay","updateCalendarDays","formatLong","formatMedium","formatShort","showWeekday","options","formatNoYear","abbreviated","formatNumerical"],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ import "../chunks/link_constants-vIUB92L4.js";
|
|
|
15
15
|
import "@dialpad/dialtone-icons/vue3";
|
|
16
16
|
import "../chunks/icon_constants-OpYAAKwF.js";
|
|
17
17
|
import "@dialpad/dialtone-icons/icons.json";
|
|
18
|
-
import "./skeleton.js";
|
|
19
18
|
const H = 0, ne = "MMMM", z = "long", B = (e) => e ? new Date(e) : /* @__PURE__ */ new Date(), re = (e, n, s) => {
|
|
20
19
|
const t = B(JSON.parse(JSON.stringify(e))), a = [];
|
|
21
20
|
for (let o = 0; o < 7; o++) {
|
|
@@ -543,7 +542,7 @@ const ye = {
|
|
|
543
542
|
])
|
|
544
543
|
]));
|
|
545
544
|
}
|
|
546
|
-
}, pe = { class: "d-datepicker__hd" }, be = { class: "d-datepicker__bd" },
|
|
545
|
+
}, pe = { class: "d-datepicker__hd" }, be = { class: "d-datepicker__bd" }, Re = {
|
|
547
546
|
__name: "datepicker",
|
|
548
547
|
props: {
|
|
549
548
|
/**
|
|
@@ -684,29 +683,29 @@ const ye = {
|
|
|
684
683
|
}));
|
|
685
684
|
}
|
|
686
685
|
};
|
|
687
|
-
function
|
|
686
|
+
function ze(e, n = "default") {
|
|
688
687
|
return new Intl.DateTimeFormat(n, { weekday: "long", year: "numeric", month: "long", day: "numeric" }).format(e);
|
|
689
688
|
}
|
|
690
|
-
function
|
|
689
|
+
function Ie(e, n = "default") {
|
|
691
690
|
return new Intl.DateTimeFormat(n, { year: "numeric", month: "long", day: "numeric" }).format(e);
|
|
692
691
|
}
|
|
693
|
-
function
|
|
692
|
+
function Ke(e, n = "default", s = !0) {
|
|
694
693
|
const t = s ? { weekday: "short", year: "numeric", month: "short", day: "numeric" } : { year: "numeric", month: "short", day: "numeric" };
|
|
695
694
|
return new Intl.DateTimeFormat(n, t).format(e);
|
|
696
695
|
}
|
|
697
|
-
function
|
|
696
|
+
function We(e, n = "default", s = !1) {
|
|
698
697
|
const t = s ? "short" : "long";
|
|
699
698
|
return new Intl.DateTimeFormat(n, { month: t, day: "numeric" }).format(e);
|
|
700
699
|
}
|
|
701
|
-
function
|
|
700
|
+
function Be(e, n = "default") {
|
|
702
701
|
return new Intl.DateTimeFormat(n, { year: "2-digit", month: "2-digit", day: "2-digit" }).format(e);
|
|
703
702
|
}
|
|
704
703
|
export {
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
704
|
+
Re as DtDatepicker,
|
|
705
|
+
ze as formatLong,
|
|
706
|
+
Ie as formatMedium,
|
|
707
|
+
We as formatNoYear,
|
|
708
|
+
Be as formatNumerical,
|
|
709
|
+
Ke as formatShort
|
|
711
710
|
};
|
|
712
711
|
//# sourceMappingURL=datepicker.js.map
|