UNPKG

@dialpad/dialtone

Version:

Dialpad's Dialtone design system monorepo

1 lines 4.54 kB
{"version":3,"file":"popover_header_footer.vue.cjs","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"hasSlotContent($slots.content)\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n v-bind=\"closeButtonProps\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { hasSlotContent, returnFirstEl } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n\n /**\n * A set of props to be passed into the popover's header close button.\n * Requires an 'ariaLabel' property.\n */\n closeButtonProps: {\n type: Object,\n default: () => {},\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n data () {\n return {\n hasSlotContent,\n };\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = returnFirstEl(this.$refs['popover__close-button']?.$el);\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["DtButton","DtIconClose","hasSlotContent","returnFirstEl","_createElementBlock","_normalizeClass","_renderSlot","_createCommentVNode","_openBlock","_createBlock","_mergeProps","_createVNode"],"mappings":";;;;;;;AA+CA,MAAK,YAAU;AAAA,EACb,cAAc,EAAE,MAAM,EAAG;AAAA,EACzB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAAA,OAAQ;AAAA,iBACRC,KAAW;AAAA,EACZ;AAAA,EAED,OAAO;AAAA;AAAA,IAEL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,WAAW,SAAU,OAAO;AAC1B,eAAO,CAAC,UAAU,QAAQ,EAAE,SAAS,KAAK;AAAA,MAC3C;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAE;AAAA,IAClB;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA,EACD;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,gBAAAC,aAAc;AAAA;EAEjB;AAAA,EAED,SAAS;AAAA,IACP,mBAAoB;;AAClB,YAAM,cAAcC,aAAAA,eAAc,UAAK,MAAM,uBAAuB,MAAlC,mBAAqC,GAAG;AAC1E,iDAAa;AAAA,IACd;AAAA,EACF;AACH;;;;0BAhHEC,IAsCM,mBAAA,OAAA;AAAA,IArCJ,WAAQ;AAAA,IACP,OAHLC,IAAAA,eAAA;AAAA,2BAGyC,OAAI,SAAA;AAAA,2BAA0C,OAAI,SAAA;AAAA;;IAM/E,MAAc,eAAC,KAAM,OAAC,OAAO,sBADrCD,IAUM,mBAAA,OAAA;AAAA,MAlBV,KAAA;AAAA,MAUM,WAAQ;AAAA,MACP,OAXPC,IAAA,eAAA,CAAA;AAAA,sCAWuD,OAAI,SAAA;AAAA,sCAAqD,OAAI,SAAA;AAAA,SAAwB,OAAY,YAAA,CAAA;AAAA;MAMlJC,eAAuB,KAAA,QAAA,SAAA;AAAA,aAjB7BC,IAAA,mBAAA,IAAA,IAAA;AAAA,IAoBY,OAAe,mBADvBC,IAAAA,aAAAC,IAAAA,YAmBY,sBAnBZC,eAmBY;AAAA,MAtChB,KAAA;AAAA,MAqBM,KAAI;AAAA,MACJ,WAAQ;AAAA,MACP,OAAK;AAAA,2CAA+C,OAAI,SAAA;AAAA,2CAA0D,OAAI,SAAA;AAAA;MAIvH,YAAW;AAAA,MACX,MAAK;AAAA,MACL,QAAA;AAAA,OACQ,OAAgB,kBAAA;AAAA,MACvB,+CAAO,KAAK,MAAA,OAAA;AAAA;MAEF,kBACT,MAEE;AAAA,QAFFC,IAAAA,YAEE,0BAAA,EADA,MAAK,MAAK,CAAA;AAAA;MAnCpB,GAAA;AAAA,yBAAAJ,IAAA,mBAAA,IAAA,IAAA;AAAA;;;;"}