{"version":3,"file":"sr_only_close_button.cjs","sources":["../../../common/mixins/sr_only_close_button.js"],"sourcesContent":["/**\n * @displayName Sr-Only close button mixin\n */\nexport default {\n  props: {\n    /**\n     * If true, a hidden close button is included for screen readers\n     * @values true, false\n     */\n    visuallyHiddenClose: {\n      type: Boolean,\n      default: false,\n    },\n\n    /**\n     * Label for the visually hidden close button\n     * Required if visuallyHiddenClose is set to `true`\n     */\n    visuallyHiddenCloseLabel: {\n      type: String,\n      default: null,\n    },\n  },\n\n  watch: {\n    $props: {\n      immediate: true,\n      deep: true,\n      handler () {\n        this.validateVisuallyHiddenCloseProps();\n      },\n    },\n  },\n\n  computed: {\n    showVisuallyHiddenClose () {\n      return this.visuallyHiddenClose && this.visuallyHiddenCloseLabel != null;\n    },\n  },\n\n  methods: {\n    validateVisuallyHiddenCloseProps () {\n      if (this.visuallyHiddenClose && !this.visuallyHiddenCloseLabel) {\n        console.error(`If visuallyHiddenClose prop is true, the component includes\n           a visually hidden close button and you must set the visuallyHiddenCloseLabel prop.`);\n      }\n    },\n  },\n};\n"],"names":[],"mappings":";;AAGA,MAAe,yBAAA;AAAA,EACb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,0BAA0B;AAAA,MACxB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,MACN,UAAW;AACT,aAAK,iCAAgC;AAAA,MACtC;AAAA,IACF;AAAA,EACF;AAAA,EAED,UAAU;AAAA,IACR,0BAA2B;AACzB,aAAO,KAAK,uBAAuB,KAAK,4BAA4B;AAAA,IACrE;AAAA,EACF;AAAA,EAED,SAAS;AAAA,IACP,mCAAoC;AAClC,UAAI,KAAK,uBAAuB,CAAC,KAAK,0BAA0B;AAC9D,gBAAQ,MAAM;AAAA,8FACwE;AAAA,MACvF;AAAA,IACF;AAAA,EACF;AACH;;"}