@dialpad/dialtone 9.71.0-beta.2 → 9.72.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/dist/css/dialtone-default-theme.css +518 -369
- package/dist/css/dialtone-default-theme.min.css +1 -1
- package/dist/css/dialtone.css +430 -361
- package/dist/css/dialtone.min.css +1 -1
- package/dist/css/tokens/tokens-base-dark.css +1 -0
- package/dist/css/tokens/tokens-base-light.css +1 -0
- package/dist/css/tokens/tokens-dp-dark.css +87 -8
- package/dist/css/tokens/tokens-dp-light.css +87 -8
- package/dist/css/tokens/tokens-expressive-dark.css +41 -7
- package/dist/css/tokens/tokens-expressive-light.css +41 -7
- package/dist/css/tokens/tokens-expressive-sm-dark.css +41 -7
- package/dist/css/tokens/tokens-expressive-sm-light.css +41 -7
- package/dist/css/tokens/tokens-tmo-dark.css +42 -8
- package/dist/css/tokens/tokens-tmo-light.css +42 -8
- package/dist/tokens/css/tokens-base-dark.css +1 -0
- package/dist/tokens/css/tokens-base-light.css +1 -0
- package/dist/tokens/css/tokens-dp-dark.css +87 -8
- package/dist/tokens/css/tokens-dp-light.css +87 -8
- package/dist/tokens/css/tokens-expressive-dark.css +41 -7
- package/dist/tokens/css/tokens-expressive-light.css +41 -7
- package/dist/tokens/css/tokens-expressive-sm-dark.css +41 -7
- package/dist/tokens/css/tokens-expressive-sm-light.css +41 -7
- package/dist/tokens/css/tokens-tmo-dark.css +42 -8
- package/dist/tokens/css/tokens-tmo-light.css +42 -8
- package/dist/tokens/doc.json +28982 -19944
- package/dist/tokens/less/tokens-base-dark.less +1 -0
- package/dist/tokens/less/tokens-base-light.less +1 -0
- package/dist/tokens/less/tokens-dp-dark.less +75 -6
- package/dist/tokens/less/tokens-dp-light.less +75 -6
- package/dist/tokens/less/tokens-expressive-dark.less +34 -5
- package/dist/tokens/less/tokens-expressive-light.less +34 -5
- package/dist/tokens/less/tokens-expressive-sm-dark.less +34 -5
- package/dist/tokens/less/tokens-expressive-sm-light.less +34 -5
- package/dist/tokens/less/tokens-tmo-dark.less +35 -6
- package/dist/tokens/less/tokens-tmo-light.less +35 -6
- package/dist/tokens/themes/chunks/tokens-base-dark-BEsKKfTV.js +4 -0
- package/dist/tokens/themes/chunks/tokens-base-dark-Bxzti7ig.js +1 -0
- package/dist/tokens/themes/chunks/tokens-base-light-DV0xl0Dv.js +1 -0
- package/dist/tokens/themes/chunks/tokens-base-light-jdZ77WhZ.js +4 -0
- package/dist/tokens/themes/dp-dark.cjs +1 -1
- package/dist/tokens/themes/dp-dark.js +5 -5
- package/dist/tokens/themes/dp-light.cjs +1 -1
- package/dist/tokens/themes/dp-light.js +5 -5
- package/dist/tokens/themes/expressive-dark.cjs +1 -1
- package/dist/tokens/themes/expressive-dark.js +2 -2
- package/dist/tokens/themes/expressive-light.cjs +1 -1
- package/dist/tokens/themes/expressive-light.js +4 -4
- package/dist/tokens/themes/expressive-sm-dark.cjs +1 -1
- package/dist/tokens/themes/expressive-sm-dark.js +2 -2
- package/dist/tokens/themes/expressive-sm-light.cjs +1 -1
- package/dist/tokens/themes/expressive-sm-light.js +4 -4
- package/dist/tokens/themes/tmo-dark.cjs +1 -1
- package/dist/tokens/themes/tmo-dark.js +4 -4
- package/dist/tokens/themes/tmo-light.cjs +1 -1
- package/dist/tokens/themes/tmo-light.js +4 -4
- package/dist/tokens/tokens-base-dark.json +1 -0
- package/dist/tokens/tokens-base-light.json +1 -0
- package/dist/tokens/tokens-dp-dark.json +70 -1
- package/dist/tokens/tokens-dp-light.json +70 -1
- package/dist/tokens/tokens-expressive-dark.json +30 -1
- package/dist/tokens/tokens-expressive-light.json +30 -1
- package/dist/tokens/tokens-expressive-sm-dark.json +30 -1
- package/dist/tokens/tokens-expressive-sm-light.json +30 -1
- package/dist/tokens/tokens-tmo-dark.json +30 -1
- package/dist/tokens/tokens-tmo-light.json +30 -1
- package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.cjs +3 -3
- package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.cjs.map +1 -1
- package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.js +3 -3
- package/dist/vue2/components/emoji_picker/modules/emoji_search.vue.js.map +1 -1
- package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs +1 -1
- package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
- package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js +1 -1
- package/dist/vue2/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
- package/dist/vue3/common/sr_only_close_button.vue.cjs +4 -4
- package/dist/vue3/common/sr_only_close_button.vue.cjs.map +1 -1
- package/dist/vue3/common/sr_only_close_button.vue.js +4 -4
- package/dist/vue3/common/sr_only_close_button.vue.js.map +1 -1
- package/dist/vue3/common/storybook_utils.cjs +8 -0
- package/dist/vue3/common/storybook_utils.cjs.map +1 -0
- package/dist/vue3/common/storybook_utils.js +8 -0
- package/dist/vue3/common/storybook_utils.js.map +1 -0
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/components/avatar/avatar.vue.cjs +41 -30
- package/dist/vue3/components/avatar/avatar.vue.cjs.map +1 -1
- package/dist/vue3/components/avatar/avatar.vue.js +43 -32
- package/dist/vue3/components/avatar/avatar.vue.js.map +1 -1
- package/dist/vue3/components/chip/chip.vue.cjs +7 -4
- package/dist/vue3/components/chip/chip.vue.cjs.map +1 -1
- package/dist/vue3/components/chip/chip.vue.js +7 -4
- package/dist/vue3/components/chip/chip.vue.js.map +1 -1
- package/dist/vue3/components/collapsible/collapsible.vue.cjs +6 -12
- package/dist/vue3/components/collapsible/collapsible.vue.cjs.map +1 -1
- package/dist/vue3/components/collapsible/collapsible.vue.js +6 -12
- package/dist/vue3/components/collapsible/collapsible.vue.js.map +1 -1
- package/dist/vue3/components/datepicker/modules/month-year-picker.vue.cjs +17 -5
- package/dist/vue3/components/datepicker/modules/month-year-picker.vue.cjs.map +1 -1
- package/dist/vue3/components/datepicker/modules/month-year-picker.vue.js +17 -5
- package/dist/vue3/components/datepicker/modules/month-year-picker.vue.js.map +1 -1
- package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.cjs +12 -3
- package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.cjs.map +1 -1
- package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.js +12 -3
- package/dist/vue3/components/emoji_picker/modules/emoji_search.vue.js.map +1 -1
- package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs +1 -0
- package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
- package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js +1 -0
- package/dist/vue3/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
- package/dist/vue3/components/image_viewer/image_viewer.vue.cjs +5 -4
- package/dist/vue3/components/image_viewer/image_viewer.vue.cjs.map +1 -1
- package/dist/vue3/components/image_viewer/image_viewer.vue.js +5 -4
- package/dist/vue3/components/image_viewer/image_viewer.vue.js.map +1 -1
- package/dist/vue3/components/list_item/list_item.vue.cjs +5 -4
- package/dist/vue3/components/list_item/list_item.vue.cjs.map +1 -1
- package/dist/vue3/components/list_item/list_item.vue.js +5 -4
- package/dist/vue3/components/list_item/list_item.vue.js.map +1 -1
- package/dist/vue3/components/modal/modal.vue.cjs +7 -4
- package/dist/vue3/components/modal/modal.vue.cjs.map +1 -1
- package/dist/vue3/components/modal/modal.vue.js +7 -4
- package/dist/vue3/components/modal/modal.vue.js.map +1 -1
- package/dist/vue3/components/notice/notice_action.vue.cjs +7 -4
- package/dist/vue3/components/notice/notice_action.vue.cjs.map +1 -1
- package/dist/vue3/components/notice/notice_action.vue.js +7 -4
- package/dist/vue3/components/notice/notice_action.vue.js.map +1 -1
- package/dist/vue3/components/pagination/pagination.vue.cjs +15 -10
- package/dist/vue3/components/pagination/pagination.vue.cjs.map +1 -1
- package/dist/vue3/components/pagination/pagination.vue.js +15 -10
- package/dist/vue3/components/pagination/pagination.vue.js.map +1 -1
- package/dist/vue3/components/popover/popover_header_footer.vue.cjs +7 -4
- package/dist/vue3/components/popover/popover_header_footer.vue.cjs.map +1 -1
- package/dist/vue3/components/popover/popover_header_footer.vue.js +7 -4
- package/dist/vue3/components/popover/popover_header_footer.vue.js.map +1 -1
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +5 -4
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +5 -4
- package/dist/vue3/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +11 -7
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +11 -7
- package/dist/vue3/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +7 -4
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +7 -4
- package/dist/vue3/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs +7 -14
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js +8 -15
- package/dist/vue3/recipes/conversation_view/feed_item_row/feed_item_row.vue.js.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs +6 -4
- package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs.map +1 -1
- package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js +6 -4
- package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js.map +1 -1
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +12 -6
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js +12 -6
- package/dist/vue3/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs +7 -27
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.cjs.map +1 -1
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js +8 -28
- package/dist/vue3/recipes/item_layout/contact_info/contact_info.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs +4 -13
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js +5 -14
- package/dist/vue3/recipes/leftbar/callbox/callbox.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs +7 -13
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js +8 -14
- package/dist/vue3/recipes/leftbar/contact_row/contact_row.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs +13 -9
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js +13 -9
- package/dist/vue3/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +5 -4
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +5 -4
- package/dist/vue3/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs +7 -4
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js +7 -4
- package/dist/vue3/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
- package/dist/vue3/style.css +111 -111
- package/dist/vue3/types/common/storybook_utils.d.ts +25 -0
- package/dist/vue3/types/common/storybook_utils.d.ts.map +1 -0
- package/dist/vue3/types/components/avatar/avatar.vue.d.ts +34 -6
- package/dist/vue3/types/components/avatar/avatar.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts +1 -1
- package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/list_item/list_item.vue.d.ts +8 -2
- package/dist/vue3/types/components/list_item/list_item.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/notice/notice_action.vue.d.ts +4 -5
- package/dist/vue3/types/components/notice/notice_action.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/pagination/pagination.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/split_button/split_button-omega.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -0
- package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +3 -3
- package/dist/vue3/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +1 -0
- package/dist/vue3/types/recipes/leftbar/contact_row/contact_row.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/general_row.vue.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/tokens/themes/chunks/tokens-base-dark-C_VClg5s.js +0 -4
- package/dist/tokens/themes/chunks/tokens-base-dark-CsflOADh.js +0 -1
- package/dist/tokens/themes/chunks/tokens-base-light-9TN2mC0P.js +0 -4
- package/dist/tokens/themes/chunks/tokens-base-light-Bg9yNmR_.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image_carousel.vue.js","sources":["../../../../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue"],"sourcesContent":["<template>\n <li\n class=\"dt-attachment-image\"\n >\n <dt-image-viewer\n image-button-class=\"dt-attachment-image__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :close-aria-label=\"closeAriaLabel\"\n :aria-label=\"clickToOpenAriaLabel\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"dt-attachment-image__top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"dt-attachment-image__progress-bar\"\n :progress=\"mediaItem.progress\"\n :progressbar-aria-label=\"progressbarAriaLabel\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"dt-attachment-image__close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeAriaLabel\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon
|
|
1
|
+
{"version":3,"file":"image_carousel.vue.js","sources":["../../../../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue"],"sourcesContent":["<template>\n <li\n class=\"dt-attachment-image\"\n >\n <dt-image-viewer\n image-button-class=\"dt-attachment-image__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :close-aria-label=\"closeAriaLabel\"\n :aria-label=\"clickToOpenAriaLabel\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"dt-attachment-image__top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"dt-attachment-image__progress-bar\"\n :progress=\"mediaItem.progress\"\n :progressbar-aria-label=\"progressbarAriaLabel\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"dt-attachment-image__close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeAriaLabel\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIcon } from '@/components/icon';\n\nimport DtProgressBar from './progress_bar.vue';\n\nexport default {\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIcon,\n DtProgressBar,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n\n closeAriaLabel: {\n type: String,\n required: true,\n },\n\n clickToOpenAriaLabel: {\n type: String,\n required: true,\n },\n\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-attachment-image {\n position: relative;\n\n &:focus-within .dt-attachment-image__close-button, &:hover .dt-attachment-image__close-button {\n opacity: 1;\n }\n}\n.dt-attachment-image__image-viewer {\n height: var(--dt-size-700);\n width: var(--dt-size-700);\n border: var(--dt-space-100) solid;\n border-radius: var(--br4);\n border-width: var(--dt-size-350);\n border-color: var(--dt-color-border-subtle);\n object-fit: cover;\n}\n.dt-attachment-image__top-right {\n position: absolute;\n top: var(--dt-size-100);\n right: var(--dt-size-100);\n}\n.dt-attachment-image__close-button {\n opacity: 0;\n position: absolute;\n top: inherit;\n right: inherit;\n color: var(--dt-color-neutral-white);\n background-color: var(--dt-color-black-400);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-200);\n border-color: var(--dt-color-neutral-white);\n}\n.dt-attachment-image__progress-bar {\n position: absolute;\n top: inherit;\n right: inherit;\n background-color: var(--dt-color-neutral-white);\n border-radius: 50%;\n display: flex;\n transform: rotate(-90deg);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-200);\n border-color: var(--dt-color-border-subtle);\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_createElementVNode","_createBlock"],"mappings":";;;;;;;AAkDA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EAED,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IAED,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IAED,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IAED,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IAED,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,gBAAiB,OAAO;AACtB,WAAK,MAAM,gBAAgB,KAAK;AAAA,IACjC;AAAA,EACF;AACH;AApGI,MAAA,aAAA,EAAA,OAAM,sBAAqB;AAYzB,MAAA,aAAA,EAAA,OAAM,iCAAgC;;;;;;AAb1C,SAAAA,UAAA,GAAAC,mBAuCK,MAvCL,YAuCK;AAAA,IApCHC,YAME,4BAAA;AAAA,MALA,sBAAmB;AAAA,MAClB,aAAW,OAAS,UAAC;AAAA,MACrB,aAAW,OAAS,UAAC;AAAA,MACrB,oBAAkB,OAAc;AAAA,MAChC,cAAY,OAAoB;AAAA;IAInCC,mBA0BM,OA1BN,YA0BM;AAAA,MAtBI,OAAA,UAAU,4BADlBC,YAKE,4BAAA;AAAA;QAHA,OAAM;AAAA,QACL,UAAU,OAAS,UAAC;AAAA,QACpB,0BAAwB,OAAoB;AAAA;MAE/CF,YAgBY,sBAAA;AAAA,QAfT,mBAAmB,OAAK,KAAA;AAAA,QACzB,UAAS;AAAA,QACT,OAAM;AAAA,QACN,QAAA;AAAA,QACA,MAAK;AAAA,QACL,YAAW;AAAA,QACV,cAAY,OAAc;AAAA,QAC1B,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,YAAE,SAAe,gBAAC,OAAK,KAAA;AAAA;QAElB,cACT,MAGE;AAAA,UAHFA,YAGE,oBAAA;AAAA,YAFA,MAAK;AAAA,YACL,MAAK;AAAA;;;;;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const feed_item_row_constants = require("./feed_item_row_constants.cjs");
|
|
3
3
|
const modal = require("../../../common/mixins/modal.cjs");
|
|
4
|
-
const vue3 = require("@dialpad/dialtone-icons/vue3");
|
|
5
4
|
const vue = require("vue");
|
|
6
5
|
;/* empty css */
|
|
7
6
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
@@ -15,8 +14,7 @@ const _sfc_main = {
|
|
|
15
14
|
DtAvatar: avatar,
|
|
16
15
|
DtLazyShow: lazy_show,
|
|
17
16
|
DtListItem: list_item,
|
|
18
|
-
DtBadge: badge
|
|
19
|
-
DtIconUser: vue3.DtIconUser
|
|
17
|
+
DtBadge: badge
|
|
20
18
|
},
|
|
21
19
|
mixins: [modal],
|
|
22
20
|
inheritAttrs: false,
|
|
@@ -142,6 +140,9 @@ const _sfc_main = {
|
|
|
142
140
|
}
|
|
143
141
|
};
|
|
144
142
|
},
|
|
143
|
+
iconName() {
|
|
144
|
+
return this.noInitials ? "user" : null;
|
|
145
|
+
},
|
|
145
146
|
listItemClasses() {
|
|
146
147
|
return [
|
|
147
148
|
"dt-feed-item-row",
|
|
@@ -210,7 +211,6 @@ const _hoisted_10 = {
|
|
|
210
211
|
class: "dt-feed-item-row__menu"
|
|
211
212
|
};
|
|
212
213
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
213
|
-
const _component_dt_icon_user = vue.resolveComponent("dt-icon-user");
|
|
214
214
|
const _component_dt_avatar = vue.resolveComponent("dt-avatar");
|
|
215
215
|
const _component_dt_badge = vue.resolveComponent("dt-badge");
|
|
216
216
|
const _component_dt_lazy_show = vue.resolveComponent("dt-lazy-show");
|
|
@@ -229,16 +229,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
229
229
|
"full-name": $props.displayName,
|
|
230
230
|
"image-src": $props.avatarImageUrl,
|
|
231
231
|
"image-alt": "",
|
|
232
|
+
"icon-name": $options.iconName,
|
|
232
233
|
seed: $props.avatarSeed
|
|
233
|
-
},
|
|
234
|
-
$props.noInitials ? {
|
|
235
|
-
name: "icon",
|
|
236
|
-
fn: vue.withCtx(({ iconSize }) => [
|
|
237
|
-
vue.createVNode(_component_dt_icon_user, { size: iconSize }, null, 8, ["size"])
|
|
238
|
-
]),
|
|
239
|
-
key: "0"
|
|
240
|
-
} : void 0
|
|
241
|
-
]), 1032, ["full-name", "image-src", "seed"])
|
|
234
|
+
}, null, 8, ["full-name", "image-src", "icon-name", "seed"])
|
|
242
235
|
], true)
|
|
243
236
|
])) : vue.createCommentVNode("", true),
|
|
244
237
|
!$props.showHeader ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
|
|
@@ -294,6 +287,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
294
287
|
_: 3
|
|
295
288
|
}, 16, ["class"]);
|
|
296
289
|
}
|
|
297
|
-
const feed_item_row = /* @__PURE__ */ _pluginVue_exportHelper(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
290
|
+
const feed_item_row = /* @__PURE__ */ _pluginVue_exportHelper(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-418199f0"]]);
|
|
298
291
|
module.exports = feed_item_row;
|
|
299
292
|
//# sourceMappingURL=feed_item_row.vue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed_item_row.vue.cjs","sources":["../../../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :seed=\"avatarSeed\"\n >\n <template\n v-if=\"noInitials\"\n #icon=\"{ iconSize }\"\n >\n <dt-icon-user\n :size=\"iconSize\"\n />\n </template>\n </dt-avatar>\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\nimport { DtIconUser } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n DtIconUser,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\n },\n\n /**\n * 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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["DtAvatar","DtLazyShow","DtListItem","DtBadge","DtIconUser","Modal","DEFAULT_FEED_ROW_STATE","FEED_ROW_STATE_BACKGROUND_COLOR","_openBlock","_createBlock","_mergeProps","_toHandlers","_createElementBlock","_renderSlot","_createVNode","_withCtx","_withDirectives","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feed_item_row.vue.cjs","sources":["../../../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\n },\n\n /**\n * 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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["DtAvatar","DtLazyShow","DtListItem","DtBadge","Modal","DEFAULT_FEED_ROW_STATE","FEED_ROW_STATE_BACKGROUND_COLOR","_openBlock","_createBlock","_mergeProps","_toHandlers","_createElementBlock","_renderSlot","_createVNode","_withDirectives","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from "./feed_item_row_constants.js";
|
|
2
2
|
import Modal from "../../../common/mixins/modal.js";
|
|
3
|
-
import {
|
|
4
|
-
import { resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, createElementBlock, renderSlot, createVNode, createSlots, createCommentVNode, withDirectives, toDisplayString, vShow, createElementVNode } from "vue";
|
|
3
|
+
import { resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, createElementBlock, renderSlot, createVNode, createCommentVNode, withDirectives, toDisplayString, vShow, createElementVNode } from "vue";
|
|
5
4
|
/* empty css */
|
|
6
5
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
7
6
|
import DtAvatar from "../../../components/avatar/avatar.vue.js";
|
|
@@ -14,8 +13,7 @@ const _sfc_main = {
|
|
|
14
13
|
DtAvatar,
|
|
15
14
|
DtLazyShow,
|
|
16
15
|
DtListItem,
|
|
17
|
-
DtBadge
|
|
18
|
-
DtIconUser
|
|
16
|
+
DtBadge
|
|
19
17
|
},
|
|
20
18
|
mixins: [Modal],
|
|
21
19
|
inheritAttrs: false,
|
|
@@ -141,6 +139,9 @@ const _sfc_main = {
|
|
|
141
139
|
}
|
|
142
140
|
};
|
|
143
141
|
},
|
|
142
|
+
iconName() {
|
|
143
|
+
return this.noInitials ? "user" : null;
|
|
144
|
+
},
|
|
144
145
|
listItemClasses() {
|
|
145
146
|
return [
|
|
146
147
|
"dt-feed-item-row",
|
|
@@ -209,7 +210,6 @@ const _hoisted_10 = {
|
|
|
209
210
|
class: "dt-feed-item-row__menu"
|
|
210
211
|
};
|
|
211
212
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
212
|
-
const _component_dt_icon_user = resolveComponent("dt-icon-user");
|
|
213
213
|
const _component_dt_avatar = resolveComponent("dt-avatar");
|
|
214
214
|
const _component_dt_badge = resolveComponent("dt-badge");
|
|
215
215
|
const _component_dt_lazy_show = resolveComponent("dt-lazy-show");
|
|
@@ -228,16 +228,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
228
228
|
"full-name": $props.displayName,
|
|
229
229
|
"image-src": $props.avatarImageUrl,
|
|
230
230
|
"image-alt": "",
|
|
231
|
+
"icon-name": $options.iconName,
|
|
231
232
|
seed: $props.avatarSeed
|
|
232
|
-
},
|
|
233
|
-
$props.noInitials ? {
|
|
234
|
-
name: "icon",
|
|
235
|
-
fn: withCtx(({ iconSize }) => [
|
|
236
|
-
createVNode(_component_dt_icon_user, { size: iconSize }, null, 8, ["size"])
|
|
237
|
-
]),
|
|
238
|
-
key: "0"
|
|
239
|
-
} : void 0
|
|
240
|
-
]), 1032, ["full-name", "image-src", "seed"])
|
|
233
|
+
}, null, 8, ["full-name", "image-src", "icon-name", "seed"])
|
|
241
234
|
], true)
|
|
242
235
|
])) : createCommentVNode("", true),
|
|
243
236
|
!$props.showHeader ? withDirectives((openBlock(), createElementBlock("span", {
|
|
@@ -293,7 +286,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
293
286
|
_: 3
|
|
294
287
|
}, 16, ["class"]);
|
|
295
288
|
}
|
|
296
|
-
const feed_item_row = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
289
|
+
const feed_item_row = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-418199f0"]]);
|
|
297
290
|
export {
|
|
298
291
|
feed_item_row as default
|
|
299
292
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feed_item_row.vue.js","sources":["../../../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :seed=\"avatarSeed\"\n >\n <template\n v-if=\"noInitials\"\n #icon=\"{ iconSize }\"\n >\n <dt-icon-user\n :size=\"iconSize\"\n />\n </template>\n </dt-avatar>\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\nimport { DtIconUser } from '@dialpad/dialtone-icons/vue3';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n DtIconUser,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\n },\n\n /**\n * 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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["_openBlock","_createBlock","_mergeProps","_toHandlers","_createElementBlock","_renderSlot","_createVNode","_withCtx","_withDirectives","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feed_item_row.vue.js","sources":["../../../../recipes/conversation_view/feed_item_row/feed_item_row.vue"],"sourcesContent":["<template>\n <dt-list-item\n ref=\"FeedItemRef\"\n navigation-type=\"none\"\n v-bind=\"$attrs\"\n :class=\"['dt-feed-item-row', listItemClasses]\"\n data-qa=\"dt-feed-item-row\"\n v-on=\"feedListeners\"\n >\n <!-- Avatar or time -->\n <template #left>\n <div\n v-if=\"showHeader\"\n class=\"dt-feed-item-row__avatar-container\"\n >\n <!-- @slot Slot to contain the avatar, overrides avatar props. -->\n <slot\n name=\"avatar\"\n >\n <dt-avatar\n :full-name=\"displayName\"\n :image-src=\"avatarImageUrl\"\n image-alt=\"\"\n :icon-name=\"iconName\"\n :seed=\"avatarSeed\"\n />\n </slot>\n </div>\n <!-- show time instead of avatar when headers not present -->\n <span\n v-if=\"!showHeader\"\n v-show=\"isActive\"\n class=\"dt-feed-item-row__left-time\"\n data-qa=\"dt-feed-item-row--left-time\"\n >\n {{ shortTime }}\n </span>\n </template>\n\n <article class=\"dt-feed-item-row__content\">\n <!-- Feed Item -->\n <div\n v-if=\"showHeader\"\n data-qa=\"dt-feed-item-row--header\"\n class=\"dt-feed-item-row__header\"\n >\n <p class=\"dt-feed-item-row__header__name\">\n {{ displayName }}\n </p>\n <time\n class=\"dt-feed-item-row__header__time\"\n >\n {{ time }}\n </time>\n <dt-badge\n v-if=\"labelText\"\n :text=\"labelText\"\n />\n </div>\n <!-- @slot Default content slot for feed item row -->\n <span\n data-qa=\"dt-feed-item-row--content\"\n >\n <slot />\n </span>\n <div\n v-if=\"$slots.attachment\"\n data-qa=\"dt-feed-item-row--attachment\"\n class=\"dt-feed-item-row__attachment\"\n >\n <slot name=\"attachment\" />\n </div>\n </article>\n\n <template #bottom>\n <div\n v-if=\"$slots.reactions\"\n class=\"dt-feed-item-row__reactions\"\n data-qa=\"dt-feed-item-row--reactions\"\n >\n <!-- @slot Slot for reactions row component -->\n <slot name=\"reactions\" />\n </div>\n <div\n v-if=\"$slots.threading\"\n class=\"dt-feed-item-row__threading\"\n >\n <!-- @slot Slot for threading row component -->\n <slot name=\"threading\" />\n </div>\n </template>\n\n <!-- Action menu -->\n <template #right>\n <div\n v-show=\"isActive\"\n data-qa=\"dt-feed-item-row--menu\"\n class=\"dt-feed-item-row__menu\"\n >\n <dt-lazy-show\n :appear=\"true\"\n transition=\"fade\"\n :show=\"isActive\"\n >\n <!-- @slot Slot for actions hover menu component -->\n <slot name=\"menu\" />\n </dt-lazy-show>\n </div>\n </template>\n </dt-list-item>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport { DEFAULT_FEED_ROW_STATE, FEED_ROW_STATE_BACKGROUND_COLOR } from './feed_item_row_constants.js';\nimport { DtAvatar } from '@/components/avatar';\nimport { DtLazyShow } from '@/components/lazy_show';\nimport { DtListItem } from '@/components/list_item';\nimport { DtBadge } from '@/components/badge';\nimport Modal from '@/common/mixins/modal';\n\nexport default {\n name: 'DtRecipeFeedItemRow',\n\n components: {\n DtAvatar,\n DtLazyShow,\n DtListItem,\n DtBadge,\n },\n\n mixins: [Modal],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Avatar seed, set this to the user's ID to get the same avatar background gradient each time it is displayed.\n */\n avatarSeed: {\n type: String,\n default: null,\n },\n\n /**\n * Show avatar, show header text or dont show left time and vice versa\n */\n showHeader: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional avatar image url.\n * If not provided it will use extracted initials from displayName.\n */\n avatarImageUrl: {\n type: String,\n default: '',\n },\n\n /**\n * The display name of the sender\n */\n displayName: {\n type: String,\n default: '',\n },\n\n /**\n * 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 * time string displayed as is.\n * Shown on the header when showHeader is true\n */\n time: {\n type: String,\n default: '',\n },\n\n /**\n * short time string without AM/PM displayed as is.\n * Shown on the left of feed item when showHeader is false and isActive is true\n */\n shortTime: {\n type: String,\n default: '',\n },\n\n /**\n * A label displayed next to the displayName. Will not show if empty.\n */\n labelText: {\n type: String,\n default: '',\n },\n\n /**\n * displays a darkened background on the row.\n */\n isActive: {\n type: Boolean,\n default: false,\n },\n\n /**\n * state for the feed item row. Can be normal, searched & error\n */\n state: {\n type: String,\n default: DEFAULT_FEED_ROW_STATE,\n validator: state => Object.keys(FEED_ROW_STATE_BACKGROUND_COLOR).includes(state),\n },\n },\n\n emits: [\n /**\n * Fires when hovered over feed row\n *\n * @event hover\n * @type {Boolean}\n */\n 'hover',\n\n /**\n * Fires when focused over feed row\n *\n * @event focus\n * @type {Boolean}\n */\n 'focus',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n ],\n\n data () {\n return {\n transitionActive: false,\n };\n },\n\n computed: {\n feedListeners () {\n return {\n mouseenter: () => this.setHover(true),\n mouseleave: () => this.setHover(false),\n focusin: () => this.setFocus(true),\n focusout: () => this.setFocus(false),\n transitionend: () => this.transitionComplete(),\n keydown: event => {\n switch (event.code) {\n case 'Tab':\n this.trapFocus(event);\n break;\n }\n this.$emit('keydown', event);\n },\n };\n },\n\n iconName () {\n return this.noInitials ? 'user' : null;\n },\n\n listItemClasses () {\n return [\n 'dt-feed-item-row',\n { 'dt-feed-item-row--active': this.isActive && this.state === DEFAULT_FEED_ROW_STATE },\n { 'dt-feed-item-row--state-transition': this.transitionActive },\n FEED_ROW_STATE_BACKGROUND_COLOR[this.state],\n\n ];\n },\n },\n\n watch: {\n state: {\n immediate: true,\n handler: function (newState, oldState) {\n if (newState !== DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = true;\n }\n },\n },\n },\n\n methods: {\n transitionComplete () {\n if (this.state === DEFAULT_FEED_ROW_STATE) {\n this.transitionActive = false;\n }\n },\n\n trapFocus (e) {\n this.focusTrappedTabPress(e);\n },\n\n setFocus (bool) {\n this.$emit('focus', bool);\n },\n\n setHover (bool) {\n this.$emit('hover', bool);\n },\n },\n};\n</script>\n\n<style lang=\"less\" scoped>\n.dt-feed-item-row {\n\n width: var(--dt-size-100-percent);\n box-sizing: border-box;\n position: relative;\n padding: var(--dt-space-300) var(--dt-space-500);\n\n &:focus-visible {\n box-shadow: var(--dt-shadow-focus-inset);\n }\n\n &--state-searched {\n background-color: var(--dt-color-surface-warning-subtle);\n }\n\n &--state-error {\n background-color: var(--dt-color-surface-critical-subtle);\n }\n\n &--active {\n background-color: var(--dt-color-surface-secondary-opaque);\n }\n\n &--state-transition {\n transition-duration: 2s;\n transition-delay: 0s;\n transition-timing-function: var(--ttf-in-out);\n transition-property: background-color;\n }\n\n &__avatar-container {\n padding-top: var(--dt-space-300);\n padding-bottom: var(--dt-space-300);\n }\n\n &__content {\n padding-left: var(--dt-space-300);\n }\n\n &__attachment {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-300);\n\n &:deep(.dt-feed-item-row__image) {\n border: var(--dt-color-border-subtle) solid var(--dt-size-border-100);\n border-radius: var(--dt-size-radius-400);\n display: block;\n max-width: 30rem;\n max-height: 30rem;\n min-width: 5.6rem;\n min-height: 5.6rem;\n }\n\n &:deep(.dt-feed-item-row__video) {\n display: block;\n height: 25.0rem;\n }\n }\n\n &__header {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n font-size: var(--dt-font-size-200);\n line-height: var(--dt-font-line-height-300);\n\n &__name {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &__time {\n font-size: var(--dt-font-size-100);\n color: var(--dt-color-foreground-tertiary);\n flex-shrink: 0;\n }\n }\n\n &__reactions {\n display: flex;\n flex-wrap: wrap;\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n padding-left: var(--dt-space-300);\n }\n\n &__threading {\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n }\n\n &__left-time {\n color: var(--dt-color-foreground-tertiary);\n font-size: var(--dt-font-size-100);\n font-weight: var(--dt-font-weight-normal);\n vertical-align: middle;\n white-space: nowrap;\n }\n\n &__menu {\n position: absolute;\n top: var(--dt-space-550-negative);\n right: var(--dt-space-450);\n }\n\n &:deep(> .dt-item-layout) {\n font: var(--dt-typography-body-md-compact);\n min-height: initial;\n padding: 0px;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--left) {\n align-self: flex-start;\n text-align: end;\n display: block;\n padding-right: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n // min-width = avatar width + padding\n min-width: calc(var(--dt-space-600) + var(--dt-space-300));\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--right) {\n padding: 0;\n min-width: initial;\n }\n\n &:deep(> .dt-item-layout > .dt-item-layout--content > .dt-item-layout--bottom) {\n display: flex;\n flex-direction: column;\n margin-top: 0;\n }\n}\n</style>\n"],"names":["_openBlock","_createBlock","_mergeProps","_toHandlers","_createElementBlock","_renderSlot","_createVNode","_withDirectives","_createElementVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue3 = require("@tiptap/vue-3");
|
|
3
|
-
const vue3$1 = require("@dialpad/dialtone-icons/vue3");
|
|
4
3
|
const vue = require("vue");
|
|
5
4
|
;/* empty css */
|
|
6
5
|
const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
7
6
|
const item_layout = require("../../../../components/item_layout/item_layout.vue.cjs");
|
|
7
|
+
const icon = require("../../../../components/icon/icon.vue.cjs");
|
|
8
8
|
const button = require("../../../../components/button/button.vue.cjs");
|
|
9
9
|
const _sfc_main = {
|
|
10
10
|
name: "MeetingPill",
|
|
11
11
|
components: {
|
|
12
12
|
NodeViewWrapper: vue3.NodeViewWrapper,
|
|
13
13
|
DtItemLayout: item_layout,
|
|
14
|
-
|
|
14
|
+
DtIcon: icon,
|
|
15
15
|
DtButton: button
|
|
16
16
|
},
|
|
17
17
|
props: vue3.nodeViewProps,
|
|
@@ -26,7 +26,6 @@ const _hoisted_1 = { class: "dt-message-input-meeting-pill__icon" };
|
|
|
26
26
|
const _hoisted_2 = { class: "dt-message-input-meeting-pill__close" };
|
|
27
27
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
28
28
|
const _component_dt_icon = vue.resolveComponent("dt-icon");
|
|
29
|
-
const _component_dt_icon_close = vue.resolveComponent("dt-icon-close");
|
|
30
29
|
const _component_dt_button = vue.resolveComponent("dt-button");
|
|
31
30
|
const _component_dt_item_layout = vue.resolveComponent("dt-item-layout");
|
|
32
31
|
const _component_node_view_wrapper = vue.resolveComponent("node-view-wrapper");
|
|
@@ -54,7 +53,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
54
53
|
onClick: $options.close
|
|
55
54
|
}, {
|
|
56
55
|
icon: vue.withCtx(() => [
|
|
57
|
-
vue.createVNode(
|
|
56
|
+
vue.createVNode(_component_dt_icon, {
|
|
57
|
+
name: "close",
|
|
58
|
+
size: "300"
|
|
59
|
+
})
|
|
58
60
|
]),
|
|
59
61
|
_: 1
|
|
60
62
|
}, 8, ["aria-label", "onClick"])
|
package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeetingPill.vue.cjs","sources":["../../../../../recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue"],"sourcesContent":["<template>\n <node-view-wrapper class=\"dt-message-input-meeting-pill\">\n <dt-item-layout\n class=\"dt-message-input-meeting-pill__layout\"\n unstyled\n >\n <template #left>\n <div class=\"dt-message-input-meeting-pill__icon\">\n <dt-icon\n name=\"video\"\n size=\"400\"\n />\n </div>\n </template>\n {{ node.attrs.text }}\n <template #right>\n <div class=\"dt-message-input-meeting-pill__close\">\n <dt-button\n circle\n :aria-label=\"node.attrs['close-button-aria-label']\"\n size=\"xs\"\n importance=\"clear\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon
|
|
1
|
+
{"version":3,"file":"MeetingPill.vue.cjs","sources":["../../../../../recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue"],"sourcesContent":["<template>\n <node-view-wrapper class=\"dt-message-input-meeting-pill\">\n <dt-item-layout\n class=\"dt-message-input-meeting-pill__layout\"\n unstyled\n >\n <template #left>\n <div class=\"dt-message-input-meeting-pill__icon\">\n <dt-icon\n name=\"video\"\n size=\"400\"\n />\n </div>\n </template>\n {{ node.attrs.text }}\n <template #right>\n <div class=\"dt-message-input-meeting-pill__close\">\n <dt-button\n circle\n :aria-label=\"node.attrs['close-button-aria-label']\"\n size=\"xs\"\n importance=\"clear\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n </template>\n </dt-item-layout>\n </node-view-wrapper>\n</template>\n\n<script>\nimport { NodeViewWrapper, nodeViewProps } from '@tiptap/vue-3';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nexport default {\n name: 'MeetingPill',\n\n components: {\n NodeViewWrapper,\n DtItemLayout,\n DtIcon,\n DtButton,\n },\n\n props: nodeViewProps,\n\n emits: ['meeting-pill-close'],\n\n methods: {\n close (e) {\n this.$parent.$emit('meeting-pill-close', e);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-message-input-meeting-pill {\n display: inline-block;\n\n &__layout {\n gap: var(--dt-space-400);\n grid-template-areas: 'left content right';\n grid-template-columns: minmax(0, max-content) 1fr minmax(0, max-content);\n align-items: center;\n max-width: var(--dt-size-905);\n padding-left: var(--dt-space-400);\n padding-right: var(--dt-space-400);\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n border: var(--dt-size-border-100) solid var(--dt-color-border-default);\n border-radius: var(--dt-size-radius-300);\n font: var(--dt-typography-headline-md);\n }\n\n &__icon {\n display: flex;\n align-items: center;\n padding: var(--dt-space-350);\n }\n\n &__close {\n display: flex;\n justify-content: flex-end;\n }\n}\n</style>\n"],"names":["NodeViewWrapper","DtItemLayout","DtIcon","DtButton","nodeViewProps","_createBlock","_createVNode","_createElementVNode","_createTextVNode"],"mappings":";;;;;;;;AA2CA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,iBAAAA,KAAe;AAAA,kBACfC;AAAAA,IACA,QAAAC;AAAAA,IACA,UAAAC;AAAAA,EACD;AAAA,EAED,OAAOC,KAAa;AAAA,EAEpB,OAAO,CAAC,oBAAoB;AAAA,EAE5B,SAAS;AAAA,IACP,MAAO,GAAG;AACR,WAAK,QAAQ,MAAM,sBAAsB,CAAC;AAAA,IAC3C;AAAA,EACF;AACH;AAvDa,MAAA,aAAA,EAAA,OAAM,sCAAqC;AAS3C,MAAA,aAAA,EAAA,OAAM,uCAAsC;;;;;;0BAfvDC,IAiCoB,YAAA,8BAAA,EAjCD,OAAM,mCAA+B;AAAA,yBACtD,MA+BiB;AAAA,MA/BjBC,IAAAA,YA+BiB,2BAAA;AAAA,QA9Bf,OAAM;AAAA,QACN,UAAA;AAAA;QAEW,kBACT,MAKM;AAAA,UALNC,IAAA,mBAKM,OALN,YAKM;AAAA,YAJJD,IAAAA,YAGE,oBAAA;AAAA,cAFA,MAAK;AAAA,cACL,MAAK;AAAA;;;QAKA,mBACT,MAeM;AAAA,UAfNC,IAAA,mBAeM,OAfN,YAeM;AAAA,YAdJD,IAAAA,YAaY,sBAAA;AAAA,cAZV,QAAA;AAAA,cACC,cAAY,KAAI,KAAC,MAAK,yBAAA;AAAA,cACvB,MAAK;AAAA,cACL,YAAW;AAAA,cACV,SAAO,SAAK;AAAA;cAEF,kBACT,MAGE;AAAA,gBAHFA,IAAAA,YAGE,oBAAA;AAAA,kBAFA,MAAK;AAAA,kBACL,MAAK;AAAA;;;;;;6BAdJ,MACX;AAAA,UADWE,oBAAA,0BACR,KAAI,KAAC,MAAM,IAAI,IAAG,KACrB,CAAA;AAAA;;;;;;;;;"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { NodeViewWrapper, nodeViewProps } from "@tiptap/vue-3";
|
|
2
|
-
import { DtIconClose } from "@dialpad/dialtone-icons/vue3";
|
|
3
2
|
import { resolveComponent, openBlock, createBlock, withCtx, createVNode, createElementVNode, createTextVNode, toDisplayString } from "vue";
|
|
4
3
|
/* empty css */
|
|
5
4
|
import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
6
5
|
import DtItemLayout from "../../../../components/item_layout/item_layout.vue.js";
|
|
6
|
+
import DtIcon from "../../../../components/icon/icon.vue.js";
|
|
7
7
|
import DtButton from "../../../../components/button/button.vue.js";
|
|
8
8
|
const _sfc_main = {
|
|
9
9
|
name: "MeetingPill",
|
|
10
10
|
components: {
|
|
11
11
|
NodeViewWrapper,
|
|
12
12
|
DtItemLayout,
|
|
13
|
-
|
|
13
|
+
DtIcon,
|
|
14
14
|
DtButton
|
|
15
15
|
},
|
|
16
16
|
props: nodeViewProps,
|
|
@@ -25,7 +25,6 @@ const _hoisted_1 = { class: "dt-message-input-meeting-pill__icon" };
|
|
|
25
25
|
const _hoisted_2 = { class: "dt-message-input-meeting-pill__close" };
|
|
26
26
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
27
27
|
const _component_dt_icon = resolveComponent("dt-icon");
|
|
28
|
-
const _component_dt_icon_close = resolveComponent("dt-icon-close");
|
|
29
28
|
const _component_dt_button = resolveComponent("dt-button");
|
|
30
29
|
const _component_dt_item_layout = resolveComponent("dt-item-layout");
|
|
31
30
|
const _component_node_view_wrapper = resolveComponent("node-view-wrapper");
|
|
@@ -53,7 +52,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
53
52
|
onClick: $options.close
|
|
54
53
|
}, {
|
|
55
54
|
icon: withCtx(() => [
|
|
56
|
-
createVNode(
|
|
55
|
+
createVNode(_component_dt_icon, {
|
|
56
|
+
name: "close",
|
|
57
|
+
size: "300"
|
|
58
|
+
})
|
|
57
59
|
]),
|
|
58
60
|
_: 1
|
|
59
61
|
}, 8, ["aria-label", "onClick"])
|
package/dist/vue3/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeetingPill.vue.js","sources":["../../../../../recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue"],"sourcesContent":["<template>\n <node-view-wrapper class=\"dt-message-input-meeting-pill\">\n <dt-item-layout\n class=\"dt-message-input-meeting-pill__layout\"\n unstyled\n >\n <template #left>\n <div class=\"dt-message-input-meeting-pill__icon\">\n <dt-icon\n name=\"video\"\n size=\"400\"\n />\n </div>\n </template>\n {{ node.attrs.text }}\n <template #right>\n <div class=\"dt-message-input-meeting-pill__close\">\n <dt-button\n circle\n :aria-label=\"node.attrs['close-button-aria-label']\"\n size=\"xs\"\n importance=\"clear\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon
|
|
1
|
+
{"version":3,"file":"MeetingPill.vue.js","sources":["../../../../../recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue"],"sourcesContent":["<template>\n <node-view-wrapper class=\"dt-message-input-meeting-pill\">\n <dt-item-layout\n class=\"dt-message-input-meeting-pill__layout\"\n unstyled\n >\n <template #left>\n <div class=\"dt-message-input-meeting-pill__icon\">\n <dt-icon\n name=\"video\"\n size=\"400\"\n />\n </div>\n </template>\n {{ node.attrs.text }}\n <template #right>\n <div class=\"dt-message-input-meeting-pill__close\">\n <dt-button\n circle\n :aria-label=\"node.attrs['close-button-aria-label']\"\n size=\"xs\"\n importance=\"clear\"\n @click=\"close\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n </template>\n </dt-item-layout>\n </node-view-wrapper>\n</template>\n\n<script>\nimport { NodeViewWrapper, nodeViewProps } from '@tiptap/vue-3';\nimport { DtItemLayout } from '@/components/item_layout';\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nexport default {\n name: 'MeetingPill',\n\n components: {\n NodeViewWrapper,\n DtItemLayout,\n DtIcon,\n DtButton,\n },\n\n props: nodeViewProps,\n\n emits: ['meeting-pill-close'],\n\n methods: {\n close (e) {\n this.$parent.$emit('meeting-pill-close', e);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-message-input-meeting-pill {\n display: inline-block;\n\n &__layout {\n gap: var(--dt-space-400);\n grid-template-areas: 'left content right';\n grid-template-columns: minmax(0, max-content) 1fr minmax(0, max-content);\n align-items: center;\n max-width: var(--dt-size-905);\n padding-left: var(--dt-space-400);\n padding-right: var(--dt-space-400);\n padding-top: var(--dt-space-200);\n padding-bottom: var(--dt-space-200);\n border: var(--dt-size-border-100) solid var(--dt-color-border-default);\n border-radius: var(--dt-size-radius-300);\n font: var(--dt-typography-headline-md);\n }\n\n &__icon {\n display: flex;\n align-items: center;\n padding: var(--dt-space-350);\n }\n\n &__close {\n display: flex;\n justify-content: flex-end;\n }\n}\n</style>\n"],"names":["_createBlock","_createVNode","_createElementVNode","_createTextVNode"],"mappings":";;;;;;;AA2CA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA,EAED,OAAO;AAAA,EAEP,OAAO,CAAC,oBAAoB;AAAA,EAE5B,SAAS;AAAA,IACP,MAAO,GAAG;AACR,WAAK,QAAQ,MAAM,sBAAsB,CAAC;AAAA,IAC3C;AAAA,EACF;AACH;AAvDa,MAAA,aAAA,EAAA,OAAM,sCAAqC;AAS3C,MAAA,aAAA,EAAA,OAAM,uCAAsC;;;;;;sBAfvDA,YAiCoB,8BAAA,EAjCD,OAAM,mCAA+B;AAAA,qBACtD,MA+BiB;AAAA,MA/BjBC,YA+BiB,2BAAA;AAAA,QA9Bf,OAAM;AAAA,QACN,UAAA;AAAA;QAEW,cACT,MAKM;AAAA,UALNC,mBAKM,OALN,YAKM;AAAA,YAJJD,YAGE,oBAAA;AAAA,cAFA,MAAK;AAAA,cACL,MAAK;AAAA;;;QAKA,eACT,MAeM;AAAA,UAfNC,mBAeM,OAfN,YAeM;AAAA,YAdJD,YAaY,sBAAA;AAAA,cAZV,QAAA;AAAA,cACC,cAAY,KAAI,KAAC,MAAK,yBAAA;AAAA,cACvB,MAAK;AAAA,cACL,YAAW;AAAA,cACV,SAAO,SAAK;AAAA;cAEF,cACT,MAGE;AAAA,gBAHFA,YAGE,oBAAA;AAAA,kBAFA,MAAK;AAAA,kBACL,MAAK;AAAA;;;;;;yBAdJ,MACX;AAAA,UADWE,gBAAA,sBACR,KAAI,KAAC,MAAM,IAAI,IAAG,KACrB,CAAA;AAAA;;;;;;;;"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const button = require("../../../components/button/button.vue.cjs");
|
|
3
|
-
const vue3 = require("@dialpad/dialtone-icons/vue3");
|
|
4
3
|
const vue = require("vue");
|
|
5
4
|
;/* empty css */
|
|
6
5
|
const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.cjs");
|
|
6
|
+
const icon = require("../../../components/icon/icon.vue.cjs");
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
name: "DtRecipeSettingsMenuButton",
|
|
9
9
|
components: {
|
|
10
10
|
DtButton: button,
|
|
11
|
-
|
|
11
|
+
DtIcon: icon
|
|
12
12
|
},
|
|
13
13
|
inheritAttrs: false,
|
|
14
14
|
props: {
|
|
@@ -31,7 +31,7 @@ const _sfc_main = {
|
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
34
|
-
const
|
|
34
|
+
const _component_dt_icon = vue.resolveComponent("dt-icon");
|
|
35
35
|
const _component_dt_button = vue.resolveComponent("dt-button");
|
|
36
36
|
return $props.updateAvailable ? (vue.openBlock(), vue.createBlock(_component_dt_button, vue.mergeProps({
|
|
37
37
|
key: 0,
|
|
@@ -42,7 +42,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
42
42
|
"aria-label": $props.ariaLabel
|
|
43
43
|
}, _ctx.$attrs), {
|
|
44
44
|
icon: vue.withCtx(() => [
|
|
45
|
-
vue.createVNode(
|
|
45
|
+
vue.createVNode(_component_dt_icon, {
|
|
46
|
+
name: "more-vertical",
|
|
47
|
+
size: "300"
|
|
48
|
+
})
|
|
46
49
|
]),
|
|
47
50
|
default: vue.withCtx(() => [
|
|
48
51
|
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
@@ -56,11 +59,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
56
59
|
"aria-label": $props.ariaLabel
|
|
57
60
|
}, _ctx.$attrs), {
|
|
58
61
|
icon: vue.withCtx(() => [
|
|
59
|
-
vue.createVNode(
|
|
62
|
+
vue.createVNode(_component_dt_icon, {
|
|
63
|
+
name: "more-vertical",
|
|
64
|
+
size: "300"
|
|
65
|
+
})
|
|
60
66
|
]),
|
|
61
67
|
_: 1
|
|
62
68
|
}, 16, ["aria-label"]));
|
|
63
69
|
}
|
|
64
|
-
const settings_menu_button = /* @__PURE__ */ _pluginVue_exportHelper(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
70
|
+
const settings_menu_button = /* @__PURE__ */ _pluginVue_exportHelper(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-b0dfa8b3"]]);
|
|
65
71
|
module.exports = settings_menu_button;
|
|
66
72
|
//# sourceMappingURL=settings_menu_button.vue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings_menu_button.vue.cjs","sources":["../../../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-bind=\"$attrs\"\n >\n <slot />\n <template #icon>\n <dt-icon
|
|
1
|
+
{"version":3,"file":"settings_menu_button.vue.cjs","sources":["../../../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-bind=\"$attrs\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-bind=\"$attrs\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["DtButton","DtIcon","_openBlock","_createBlock","_mergeProps","_createVNode","_renderSlot"],"mappings":";;;;;;AAuCA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,UAAAA;AAAAA,IACA,QAAAC;AAAAA,EACD;AAAA,EAED,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACF;AAEH;;;;SAnEU,OAAe,mBADvBC,IAAAA,aAAAC,IAAAA,YAgBY,sBAhBZC,eAgBY;AAAA;IAdV,YAAW;AAAA,IACX,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,OAAM;AAAA,IACL,cAAY,OAAS;AAAA,KACd,KAAM,MAAA,GAAA;AAAA,IAGH,kBACT,MAGE;AAAA,MAHFC,IAAAA,YAGE,oBAAA;AAAA,QAFA,MAAK;AAAA,QACL,MAAK;AAAA;;yBAJT,MAAQ;AAAA,MAARC,IAAQ,WAAA,KAAA,QAAA,WAAA,CAAA,GAAA,QAAA,IAAA;AAAA;;6BAQVJ,IAAAA,aAAAC,IAAAA,YAcY,sBAdZC,eAcY;AAAA;IAZV,YAAW;AAAA,IACX,MAAK;AAAA,IACL,OAAM;AAAA,IACL,cAAY,OAAS;AAAA,KACd,KAAM,MAAA,GAAA;AAAA,IAEH,kBACT,MAGE;AAAA,MAHFC,IAAAA,YAGE,oBAAA;AAAA,QAFA,MAAK;AAAA,QACL,MAAK;AAAA;;;;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import DtButton from "../../../components/button/button.vue.js";
|
|
2
|
-
import { DtIconMoreVertical } from "@dialpad/dialtone-icons/vue3";
|
|
3
2
|
import { resolveComponent, openBlock, createBlock, mergeProps, withCtx, createVNode, renderSlot } from "vue";
|
|
4
3
|
/* empty css */
|
|
5
4
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
import DtIcon from "../../../components/icon/icon.vue.js";
|
|
6
6
|
const _sfc_main = {
|
|
7
7
|
name: "DtRecipeSettingsMenuButton",
|
|
8
8
|
components: {
|
|
9
9
|
DtButton,
|
|
10
|
-
|
|
10
|
+
DtIcon
|
|
11
11
|
},
|
|
12
12
|
inheritAttrs: false,
|
|
13
13
|
props: {
|
|
@@ -30,7 +30,7 @@ const _sfc_main = {
|
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
33
|
-
const
|
|
33
|
+
const _component_dt_icon = resolveComponent("dt-icon");
|
|
34
34
|
const _component_dt_button = resolveComponent("dt-button");
|
|
35
35
|
return $props.updateAvailable ? (openBlock(), createBlock(_component_dt_button, mergeProps({
|
|
36
36
|
key: 0,
|
|
@@ -41,7 +41,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
41
41
|
"aria-label": $props.ariaLabel
|
|
42
42
|
}, _ctx.$attrs), {
|
|
43
43
|
icon: withCtx(() => [
|
|
44
|
-
createVNode(
|
|
44
|
+
createVNode(_component_dt_icon, {
|
|
45
|
+
name: "more-vertical",
|
|
46
|
+
size: "300"
|
|
47
|
+
})
|
|
45
48
|
]),
|
|
46
49
|
default: withCtx(() => [
|
|
47
50
|
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
@@ -55,12 +58,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
55
58
|
"aria-label": $props.ariaLabel
|
|
56
59
|
}, _ctx.$attrs), {
|
|
57
60
|
icon: withCtx(() => [
|
|
58
|
-
createVNode(
|
|
61
|
+
createVNode(_component_dt_icon, {
|
|
62
|
+
name: "more-vertical",
|
|
63
|
+
size: "300"
|
|
64
|
+
})
|
|
59
65
|
]),
|
|
60
66
|
_: 1
|
|
61
67
|
}, 16, ["aria-label"]));
|
|
62
68
|
}
|
|
63
|
-
const settings_menu_button = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
69
|
+
const settings_menu_button = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-b0dfa8b3"]]);
|
|
64
70
|
export {
|
|
65
71
|
settings_menu_button as default
|
|
66
72
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings_menu_button.vue.js","sources":["../../../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-bind=\"$attrs\"\n >\n <slot />\n <template #icon>\n <dt-icon
|
|
1
|
+
{"version":3,"file":"settings_menu_button.vue.js","sources":["../../../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-bind=\"$attrs\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-bind=\"$attrs\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["_openBlock","_createBlock","_mergeProps","_createVNode","_renderSlot"],"mappings":";;;;;AAuCA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,IACA;AAAA,EACD;AAAA,EAED,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAML,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,EACF;AAEH;;;;SAnEU,OAAe,mBADvBA,aAAAC,YAgBY,sBAhBZC,WAgBY;AAAA;IAdV,YAAW;AAAA,IACX,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,OAAM;AAAA,IACL,cAAY,OAAS;AAAA,KACd,KAAM,MAAA,GAAA;AAAA,IAGH,cACT,MAGE;AAAA,MAHFC,YAGE,oBAAA;AAAA,QAFA,MAAK;AAAA,QACL,MAAK;AAAA;;qBAJT,MAAQ;AAAA,MAARC,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,QAAA,IAAA;AAAA;;6BAQVJ,aAAAC,YAcY,sBAdZC,WAcY;AAAA;IAZV,YAAW;AAAA,IACX,MAAK;AAAA,IACL,OAAM;AAAA,IACL,cAAY,OAAS;AAAA,KACd,KAAM,MAAA,GAAA;AAAA,IAEH,cACT,MAGE;AAAA,MAHFC,YAGE,oBAAA;AAAA,QAFA,MAAK;AAAA,QACL,MAAK;AAAA;;;;;;"}
|