{"version":3,"file":"notice-action.cjs","sources":["../../../components/notice/notice_action.vue"],"sourcesContent":["<template>\n  <div\n    class=\"d-notice__actions\"\n    data-qa=\"notice-content-actions\"\n  >\n    <!-- @slot Slot for main content -->\n    <slot v-if=\"!hideAction\" />\n    <dt-button\n      v-if=\"!hideClose\"\n      ref=\"closeButton\"\n      data-qa=\"dt-notice-action-close-button\"\n      size=\"sm\"\n      importance=\"clear\"\n      circle\n      :aria-label=\"closeButtonProps.ariaLabel ? closeButtonProps.ariaLabel : 'Close'\"\n      v-bind=\"closeButtonProps\"\n      @click=\"close\"\n    >\n      <template #icon>\n        <dt-icon-close\n          size=\"200\"\n        />\n      </template>\n    </dt-button>\n    <sr-only-close-button\n      v-if=\"showVisuallyHiddenClose\"\n      :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n      @close=\"close\"\n    />\n  </div>\n</template>\n\n<script>\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\n\nexport default {\n  compatConfig: { MODE: 3 },\n  name: 'DtNoticeAction',\n\n  components: {\n    DtIconClose,\n    DtButton,\n    SrOnlyCloseButton,\n  },\n\n  mixins: [SrOnlyCloseButtonMixin],\n\n  props: {\n    /**\n     * Props for the notice close button.\n     */\n    closeButtonProps: {\n      type: Object,\n      default: () => ({}),\n    },\n\n    /**\n     * Hides the close button from the notice\n     * @values true, false\n     */\n    hideClose: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Hides the action from the notice\n     * @values true, false\n     */\n    hideAction: {\n      type: Boolean,\n      default: false,\n    },\n  },\n\n  emits: [\n    /**\n     * Close button click event\n     *\n     * @event close\n     */\n    'close',\n  ],\n\n  created () {\n    if (!this.hideClose && !this.closeButtonProps.ariaLabel) {\n      console.error('Invalid props: you must pass in closeButtonProps.ariaLabel if the close button is displayed.');\n    }\n  },\n\n  mounted () {\n    if (!this.hideClose) {\n      this.lastFocusedElement = document.activeElement;\n    }\n  },\n\n  beforeUnmount () {\n    this.lastFocusedElement?.focus();\n  },\n\n  methods: {\n    close () {\n      this.$emit('close');\n    },\n  },\n};\n</script>\n"],"names":["_sfc_main","DtIconClose","DtButton","SrOnlyCloseButton","SrOnlyCloseButtonMixin","_a","_openBlock","_createElementBlock","_hoisted_1","$props","_createCommentVNode","_renderSlot","_ctx","_createBlock","_component_dt_button","_mergeProps","$options","_createVNode","_component_dt_icon_close","_component_sr_only_close_button"],"mappings":"sXAsCKA,EAAU,CACb,aAAc,CAAE,KAAM,CAAG,EACzB,KAAM,iBAEN,WAAY,aACVC,EAAW,YACX,SAAAC,EAAQ,QACR,kBAAAC,EAAiB,OAClB,EAED,OAAQ,CAACC,EAAAA,OAAsB,EAE/B,MAAO,CAIL,iBAAkB,CAChB,KAAM,OACN,QAAS,KAAO,CAAA,EACjB,EAMD,UAAW,CACT,KAAM,QACN,QAAS,EACV,EAMD,WAAY,CACV,KAAM,QACN,QAAS,EACV,CACF,EAED,MAAO,CAML,OACD,EAED,SAAW,CACL,CAAC,KAAK,WAAa,CAAC,KAAK,iBAAiB,WAC5C,QAAQ,MAAM,8FAA8F,CAE/G,EAED,SAAW,CACJ,KAAK,YACR,KAAK,mBAAqB,SAAS,cAEtC,EAED,eAAiB,QACfC,EAAA,KAAK,qBAAL,MAAAA,EAAyB,OAC1B,EAED,QAAS,CACP,OAAS,CACP,KAAK,MAAM,OAAO,CACnB,CACF,CACH,KA1GI,MAAM,oBACN,UAAQ,6KAFV,OAAAC,YAAA,EAAAC,qBA4BM,MA5BNC,EA4BM,CAvBSC,EAAU,WAN3BC,EAAA,mBAAA,GAAA,EAAA,EAMIC,EAAA,WAA2BC,oBAN/B,IAAA,EAAA,EAQaH,EAAS,UARtBC,EAAA,mBAAA,GAAA,EAAA,GAOIJ,EAAAA,YAAAO,EAAAA,YAgBYC,EAhBZC,aAgBY,CAvBhB,IAAA,EASM,IAAI,cACJ,UAAQ,gCACR,KAAK,KACL,WAAW,QACX,OAAA,GACC,aAAYN,EAAgB,iBAAC,UAAYA,EAAA,iBAAiB,UAAS,SAC5DA,EAAgB,iBAAA,CACvB,QAAOO,EAAK,KAAA,CAAA,EAAA,CAEF,eACT,IAEE,CAFFC,EAAAA,YAEEC,EAAA,CADA,KAAK,KAAK,CAAA,IApBpB,EAAA,iCAyBYN,EAAuB,uCAD/BC,EAIE,YAAAM,EAAA,CA5BN,IAAA,EA0BO,8BAA6BP,EAAwB,yBACrD,QAAOI,EAAK,0DA3BnBN,EAAA,mBAAA,GAAA,EAAA"}