{"version":3,"file":"index.mjs","sources":["../../src/togglebutton/BaseToggleButton.vue","../../src/togglebutton/ToggleButton.vue","../../src/togglebutton/ToggleButton.vue?vue&type=template&id=545fc28a&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ToggleButtonStyle from 'primevue/togglebutton/style';\n\nexport default {\n    name: 'BaseToggleButton',\n    extends: BaseComponent,\n    props: {\n        modelValue: Boolean,\n        onIcon: String,\n        offIcon: String,\n        onLabel: {\n            type: String,\n            default: 'Yes'\n        },\n        offLabel: {\n            type: String,\n            default: 'No'\n        },\n        iconPos: {\n            type: String,\n            default: 'left'\n        },\n        invalid: {\n            type: Boolean,\n            default: false\n        },\n        disabled: {\n            type: Boolean,\n            default: false\n        },\n        readonly: {\n            type: Boolean,\n            default: false\n        },\n        tabindex: {\n            type: Number,\n            default: null\n        },\n        ariaLabelledby: {\n            type: String,\n            default: null\n        },\n        ariaLabel: {\n            type: String,\n            default: null\n        }\n    },\n    style: ToggleButtonStyle,\n    provide() {\n        return {\n            $pcToggleButton: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <button v-ripple type=\"button\" :class=\"cx('root')\" :tabindex=\"tabindex\" :disabled=\"disabled\" :aria-pressed=\"modelValue\" @click=\"onChange\" v-bind=\"getPTOptions('root')\" :data-p-checked=\"active\" :data-p-disabled=\"disabled\">\n        <span :class=\"cx('content')\" v-bind=\"getPTOptions('content')\">\n            <slot>\n                <slot name=\"icon\" :value=\"modelValue\" :class=\"cx('icon')\">\n                    <span v-if=\"onIcon || offIcon\" :class=\"[cx('icon'), modelValue ? onIcon : offIcon]\" v-bind=\"getPTOptions('icon')\" />\n                </slot>\n                <span :class=\"cx('label')\" v-bind=\"getPTOptions('label')\">{{ label }}</span>\n            </slot>\n        </span>\n    </button>\n</template>\n\n<script>\nimport { isNotEmpty } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport BaseToggleButton from './BaseToggleButton.vue';\n\nexport default {\n    name: 'ToggleButton',\n    extends: BaseToggleButton,\n    inheritAttrs: false,\n    emits: ['update:modelValue', 'change'],\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    active: this.active,\n                    disabled: this.disabled\n                }\n            });\n        },\n        onChange(event) {\n            if (!this.disabled && !this.readonly) {\n                this.$emit('update:modelValue', !this.modelValue);\n                this.$emit('change', event);\n            }\n        }\n    },\n    computed: {\n        active() {\n            return this.modelValue === true;\n        },\n        hasLabel() {\n            return isNotEmpty(this.onLabel) && isNotEmpty(this.offLabel);\n        },\n        label() {\n            return this.hasLabel ? (this.modelValue ? this.onLabel : this.offLabel) : '&nbsp;';\n        }\n    },\n    directives: {\n        ripple: Ripple\n    }\n};\n</script>\n","<template>\n    <button v-ripple type=\"button\" :class=\"cx('root')\" :tabindex=\"tabindex\" :disabled=\"disabled\" :aria-pressed=\"modelValue\" @click=\"onChange\" v-bind=\"getPTOptions('root')\" :data-p-checked=\"active\" :data-p-disabled=\"disabled\">\n        <span :class=\"cx('content')\" v-bind=\"getPTOptions('content')\">\n            <slot>\n                <slot name=\"icon\" :value=\"modelValue\" :class=\"cx('icon')\">\n                    <span v-if=\"onIcon || offIcon\" :class=\"[cx('icon'), modelValue ? onIcon : offIcon]\" v-bind=\"getPTOptions('icon')\" />\n                </slot>\n                <span :class=\"cx('label')\" v-bind=\"getPTOptions('label')\">{{ label }}</span>\n            </slot>\n        </span>\n    </button>\n</template>\n\n<script>\nimport { isNotEmpty } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport BaseToggleButton from './BaseToggleButton.vue';\n\nexport default {\n    name: 'ToggleButton',\n    extends: BaseToggleButton,\n    inheritAttrs: false,\n    emits: ['update:modelValue', 'change'],\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    active: this.active,\n                    disabled: this.disabled\n                }\n            });\n        },\n        onChange(event) {\n            if (!this.disabled && !this.readonly) {\n                this.$emit('update:modelValue', !this.modelValue);\n                this.$emit('change', event);\n            }\n        }\n    },\n    computed: {\n        active() {\n            return this.modelValue === true;\n        },\n        hasLabel() {\n            return isNotEmpty(this.onLabel) && isNotEmpty(this.offLabel);\n        },\n        label() {\n            return this.hasLabel ? (this.modelValue ? this.onLabel : this.offLabel) : '&nbsp;';\n        }\n    },\n    directives: {\n        ripple: Ripple\n    }\n};\n</script>\n"],"names":["name","BaseComponent","props","modelValue","Boolean","onIcon","String","offIcon","onLabel","type","offLabel","iconPos","invalid","disabled","readonly","tabindex","Number","ariaLabelledby","ariaLabel","style","ToggleButtonStyle","provide","$pcToggleButton","$parentInstance","BaseToggleButton","inheritAttrs","emits","methods","getPTOptions","key","_ptm","ptmi","ptm","context","active","onChange","event","$emit","computed","hasLabel","isNotEmpty","label","directives","ripple","Ripple","_withDirectives","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","onClick","$options","apply","arguments","_createElementVNode","_renderSlot","$slots","value"],"mappings":"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"}