{"version":3,"file":"index.mjs","sources":["../../src/button/BaseButton.vue","../../src/button/Button.vue","../../src/button/Button.vue?vue&type=template&id=13913a2e&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ButtonStyle from 'primevue/button/style';\n\nexport default {\n    name: 'BaseButton',\n    extends: BaseComponent,\n    props: {\n        label: {\n            type: String,\n            default: null\n        },\n        icon: {\n            type: String,\n            default: null\n        },\n        iconPos: {\n            type: String,\n            default: 'left'\n        },\n        iconClass: {\n            type: String,\n            default: null\n        },\n        badge: {\n            type: String,\n            default: null\n        },\n        badgeClass: {\n            type: String,\n            default: null\n        },\n        badgeSeverity: {\n            type: String,\n            default: 'secondary'\n        },\n        loading: {\n            type: Boolean,\n            default: false\n        },\n        loadingIcon: {\n            type: String,\n            default: undefined\n        },\n        as: {\n            type: String,\n            default: 'BUTTON'\n        },\n        asChild: {\n            type: Boolean,\n            default: false\n        },\n        link: {\n            type: Boolean,\n            default: false\n        },\n        severity: {\n            type: String,\n            default: null\n        },\n        raised: {\n            type: Boolean,\n            default: false\n        },\n        rounded: {\n            type: Boolean,\n            default: false\n        },\n        text: {\n            type: Boolean,\n            default: false\n        },\n        outlined: {\n            type: Boolean,\n            default: false\n        },\n        size: {\n            type: String,\n            default: null\n        },\n        plain: {\n            type: Boolean,\n            default: false\n        },\n        fluid: {\n            type: Boolean,\n            default: null\n        }\n    },\n    style: ButtonStyle,\n    provide() {\n        return {\n            $pcButton: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" v-bind=\"attrs\">\n        <slot>\n            <slot v-if=\"loading\" name=\"loadingicon\" :class=\"[cx('loadingIcon'), cx('icon')]\">\n                <span v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), cx('icon'), loadingIcon]\" v-bind=\"ptm('loadingIcon')\" />\n                <SpinnerIcon v-else :class=\"[cx('loadingIcon'), cx('icon')]\" spin v-bind=\"ptm('loadingIcon')\" />\n            </slot>\n            <slot v-else name=\"icon\" :class=\"[cx('icon')]\">\n                <span v-if=\"icon\" :class=\"[cx('icon'), icon, iconClass]\" v-bind=\"ptm('icon')\"></span>\n            </slot>\n            <span :class=\"cx('label')\" v-bind=\"ptm('label')\">{{ label || '&nbsp;' }}</span>\n            <Badge v-if=\"badge\" :value=\"badge\" :class=\"badgeClass\" :severity=\"badgeSeverity\" :unstyled=\"unstyled\" v-bind=\"ptm('pcBadge')\"></Badge>\n        </slot>\n    </component>\n    <slot v-else :class=\"cx('root')\" :a11yAttrs=\"a11yAttrs\"></slot>\n</template>\n\n<script>\nimport { isEmpty } from '@primeuix/utils/object';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Badge from 'primevue/badge';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseButton from './BaseButton.vue';\n\nexport default {\n    name: 'Button',\n    extends: BaseButton,\n    inheritAttrs: false,\n    inject: {\n        $pcFluid: { default: null }\n    },\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    disabled: this.disabled\n                }\n            });\n        }\n    },\n    computed: {\n        disabled() {\n            return this.$attrs.disabled || this.$attrs.disabled === '' || this.loading;\n        },\n        defaultAriaLabel() {\n            return this.label ? this.label + (this.badge ? ' ' + this.badge : '') : this.$attrs.ariaLabel;\n        },\n        hasIcon() {\n            return this.icon || this.$slots.icon;\n        },\n        attrs() {\n            return mergeProps(this.asAttrs, this.a11yAttrs, this.getPTOptions('root'));\n        },\n        asAttrs() {\n            return this.as === 'BUTTON' ? { type: 'button', disabled: this.disabled } : undefined;\n        },\n        a11yAttrs() {\n            return {\n                'aria-label': this.defaultAriaLabel,\n                'data-pc-name': 'button',\n                'data-p-disabled': this.disabled,\n                'data-p-severity': this.severity\n            };\n        },\n        hasFluid() {\n            return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n        }\n    },\n    components: {\n        SpinnerIcon,\n        Badge\n    },\n    directives: {\n        ripple: Ripple\n    }\n};\n</script>\n","<template>\n    <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" v-bind=\"attrs\">\n        <slot>\n            <slot v-if=\"loading\" name=\"loadingicon\" :class=\"[cx('loadingIcon'), cx('icon')]\">\n                <span v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), cx('icon'), loadingIcon]\" v-bind=\"ptm('loadingIcon')\" />\n                <SpinnerIcon v-else :class=\"[cx('loadingIcon'), cx('icon')]\" spin v-bind=\"ptm('loadingIcon')\" />\n            </slot>\n            <slot v-else name=\"icon\" :class=\"[cx('icon')]\">\n                <span v-if=\"icon\" :class=\"[cx('icon'), icon, iconClass]\" v-bind=\"ptm('icon')\"></span>\n            </slot>\n            <span :class=\"cx('label')\" v-bind=\"ptm('label')\">{{ label || '&nbsp;' }}</span>\n            <Badge v-if=\"badge\" :value=\"badge\" :class=\"badgeClass\" :severity=\"badgeSeverity\" :unstyled=\"unstyled\" v-bind=\"ptm('pcBadge')\"></Badge>\n        </slot>\n    </component>\n    <slot v-else :class=\"cx('root')\" :a11yAttrs=\"a11yAttrs\"></slot>\n</template>\n\n<script>\nimport { isEmpty } from '@primeuix/utils/object';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Badge from 'primevue/badge';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseButton from './BaseButton.vue';\n\nexport default {\n    name: 'Button',\n    extends: BaseButton,\n    inheritAttrs: false,\n    inject: {\n        $pcFluid: { default: null }\n    },\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    disabled: this.disabled\n                }\n            });\n        }\n    },\n    computed: {\n        disabled() {\n            return this.$attrs.disabled || this.$attrs.disabled === '' || this.loading;\n        },\n        defaultAriaLabel() {\n            return this.label ? this.label + (this.badge ? ' ' + this.badge : '') : this.$attrs.ariaLabel;\n        },\n        hasIcon() {\n            return this.icon || this.$slots.icon;\n        },\n        attrs() {\n            return mergeProps(this.asAttrs, this.a11yAttrs, this.getPTOptions('root'));\n        },\n        asAttrs() {\n            return this.as === 'BUTTON' ? { type: 'button', disabled: this.disabled } : undefined;\n        },\n        a11yAttrs() {\n            return {\n                'aria-label': this.defaultAriaLabel,\n                'data-pc-name': 'button',\n                'data-p-disabled': this.disabled,\n                'data-p-severity': this.severity\n            };\n        },\n        hasFluid() {\n            return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid;\n        }\n    },\n    components: {\n        SpinnerIcon,\n        Badge\n    },\n    directives: {\n        ripple: Ripple\n    }\n};\n</script>\n"],"names":["name","BaseComponent","props","label","type","String","icon","iconPos","iconClass","badge","badgeClass","badgeSeverity","loading","Boolean","loadingIcon","undefined","as","asChild","link","severity","raised","rounded","text","outlined","size","plain","fluid","style","ButtonStyle","provide","$pcButton","$parentInstance","BaseButton","inheritAttrs","inject","$pcFluid","methods","getPTOptions","key","_ptm","ptmi","ptm","context","disabled","computed","$attrs","defaultAriaLabel","ariaLabel","hasIcon","$slots","attrs","mergeProps","asAttrs","a11yAttrs","hasFluid","isEmpty","components","SpinnerIcon","Badge","directives","ripple","Ripple","_ctx","_createBlock","_resolveDynamicComponent","_mergeProps","cx","$options","_renderSlot","_normalizeClass","_openBlock","_createElementBlock","_component_SpinnerIcon","spin","_createElementVNode","_component_Badge","value","unstyled"],"mappings":"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"}