{"version":3,"file":"index.mjs","sources":["../../src/fieldset/BaseFieldset.vue","../../src/fieldset/Fieldset.vue","../../src/fieldset/Fieldset.vue?vue&type=template&id=93c21f90&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport FieldsetStyle from 'primevue/fieldset/style';\n\nexport default {\n    name: 'BaseFieldset',\n    extends: BaseComponent,\n    props: {\n        legend: String,\n        toggleable: Boolean,\n        collapsed: Boolean,\n        toggleButtonProps: {\n            type: null,\n            default: null\n        }\n    },\n    style: FieldsetStyle,\n    provide() {\n        return {\n            $pcFieldset: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <fieldset :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n        <legend :class=\"cx('legend')\" :data-p=\"dataP\" v-bind=\"ptm('legend')\">\n            <slot name=\"legend\" :toggleCallback=\"toggle\">\n                <span v-if=\"!toggleable\" :id=\"$id + '_header'\" :class=\"cx('legendLabel')\" v-bind=\"ptm('legendLabel')\">{{ legend }}</span>\n                <button\n                    v-if=\"toggleable\"\n                    :id=\"$id + '_header'\"\n                    v-ripple\n                    type=\"button\"\n                    :aria-controls=\"$id + '_content'\"\n                    :aria-expanded=\"!d_collapsed\"\n                    :aria-label=\"buttonAriaLabel\"\n                    :class=\"cx('toggleButton')\"\n                    @click=\"toggle\"\n                    @keydown=\"onKeyDown\"\n                    v-bind=\"{ ...toggleButtonProps, ...ptm('toggleButton') }\"\n                >\n                    <!--TODO: togglericon deprecated since v4.0-->\n                    <slot :name=\"$slots.toggleicon ? 'toggleicon' : 'togglericon'\" :collapsed=\"d_collapsed\" :class=\"cx('toggleIcon')\">\n                        <component :is=\"d_collapsed ? 'PlusIcon' : 'MinusIcon'\" :class=\"cx('toggleIcon')\" v-bind=\"ptm('toggleIcon')\" />\n                    </slot>\n                    <span :class=\"cx('legendLabel')\" v-bind=\"ptm('legendLabel')\">{{ legend }}</span>\n                </button>\n            </slot>\n        </legend>\n        <transition name=\"p-collapsible\" v-bind=\"ptm('transition')\">\n            <div v-show=\"!d_collapsed\" :id=\"$id + '_content'\" :class=\"cx('contentContainer')\" role=\"region\" :aria-labelledby=\"$id + '_header'\" v-bind=\"ptm('contentContainer')\">\n                <div :class=\"cx('contentWrapper')\" v-bind=\"ptm('contentWrapper')\">\n                    <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n                        <slot></slot>\n                    </div>\n                </div>\n            </div>\n        </transition>\n    </fieldset>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Ripple from 'primevue/ripple';\nimport BaseFieldset from './BaseFieldset.vue';\n\nexport default {\n    name: 'Fieldset',\n    extends: BaseFieldset,\n    inheritAttrs: false,\n    emits: ['update:collapsed', 'toggle'],\n    data() {\n        return {\n            d_collapsed: this.collapsed\n        };\n    },\n    watch: {\n        collapsed(newValue) {\n            this.d_collapsed = newValue;\n        }\n    },\n    methods: {\n        toggle(event) {\n            this.d_collapsed = !this.d_collapsed;\n            this.$emit('update:collapsed', this.d_collapsed);\n            this.$emit('toggle', {\n                originalEvent: event,\n                value: this.d_collapsed\n            });\n        },\n        onKeyDown(event) {\n            if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n                this.toggle(event);\n                event.preventDefault();\n            }\n        }\n    },\n    computed: {\n        buttonAriaLabel() {\n            return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.legend;\n        },\n        dataP() {\n            return cn({\n                toggleable: this.toggleable\n            });\n        }\n    },\n    directives: {\n        ripple: Ripple\n    },\n    components: {\n        PlusIcon,\n        MinusIcon\n    }\n};\n</script>\n","<template>\n    <fieldset :class=\"cx('root')\" :data-p=\"dataP\" v-bind=\"ptmi('root')\">\n        <legend :class=\"cx('legend')\" :data-p=\"dataP\" v-bind=\"ptm('legend')\">\n            <slot name=\"legend\" :toggleCallback=\"toggle\">\n                <span v-if=\"!toggleable\" :id=\"$id + '_header'\" :class=\"cx('legendLabel')\" v-bind=\"ptm('legendLabel')\">{{ legend }}</span>\n                <button\n                    v-if=\"toggleable\"\n                    :id=\"$id + '_header'\"\n                    v-ripple\n                    type=\"button\"\n                    :aria-controls=\"$id + '_content'\"\n                    :aria-expanded=\"!d_collapsed\"\n                    :aria-label=\"buttonAriaLabel\"\n                    :class=\"cx('toggleButton')\"\n                    @click=\"toggle\"\n                    @keydown=\"onKeyDown\"\n                    v-bind=\"{ ...toggleButtonProps, ...ptm('toggleButton') }\"\n                >\n                    <!--TODO: togglericon deprecated since v4.0-->\n                    <slot :name=\"$slots.toggleicon ? 'toggleicon' : 'togglericon'\" :collapsed=\"d_collapsed\" :class=\"cx('toggleIcon')\">\n                        <component :is=\"d_collapsed ? 'PlusIcon' : 'MinusIcon'\" :class=\"cx('toggleIcon')\" v-bind=\"ptm('toggleIcon')\" />\n                    </slot>\n                    <span :class=\"cx('legendLabel')\" v-bind=\"ptm('legendLabel')\">{{ legend }}</span>\n                </button>\n            </slot>\n        </legend>\n        <transition name=\"p-collapsible\" v-bind=\"ptm('transition')\">\n            <div v-show=\"!d_collapsed\" :id=\"$id + '_content'\" :class=\"cx('contentContainer')\" role=\"region\" :aria-labelledby=\"$id + '_header'\" v-bind=\"ptm('contentContainer')\">\n                <div :class=\"cx('contentWrapper')\" v-bind=\"ptm('contentWrapper')\">\n                    <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n                        <slot></slot>\n                    </div>\n                </div>\n            </div>\n        </transition>\n    </fieldset>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport MinusIcon from '@primevue/icons/minus';\nimport PlusIcon from '@primevue/icons/plus';\nimport Ripple from 'primevue/ripple';\nimport BaseFieldset from './BaseFieldset.vue';\n\nexport default {\n    name: 'Fieldset',\n    extends: BaseFieldset,\n    inheritAttrs: false,\n    emits: ['update:collapsed', 'toggle'],\n    data() {\n        return {\n            d_collapsed: this.collapsed\n        };\n    },\n    watch: {\n        collapsed(newValue) {\n            this.d_collapsed = newValue;\n        }\n    },\n    methods: {\n        toggle(event) {\n            this.d_collapsed = !this.d_collapsed;\n            this.$emit('update:collapsed', this.d_collapsed);\n            this.$emit('toggle', {\n                originalEvent: event,\n                value: this.d_collapsed\n            });\n        },\n        onKeyDown(event) {\n            if (event.code === 'Enter' || event.code === 'NumpadEnter' || event.code === 'Space') {\n                this.toggle(event);\n                event.preventDefault();\n            }\n        }\n    },\n    computed: {\n        buttonAriaLabel() {\n            return this.toggleButtonProps && this.toggleButtonProps.ariaLabel ? this.toggleButtonProps.ariaLabel : this.legend;\n        },\n        dataP() {\n            return cn({\n                toggleable: this.toggleable\n            });\n        }\n    },\n    directives: {\n        ripple: Ripple\n    },\n    components: {\n        PlusIcon,\n        MinusIcon\n    }\n};\n</script>\n"],"names":["name","BaseComponent","props","legend","String","toggleable","Boolean","collapsed","toggleButtonProps","type","style","FieldsetStyle","provide","$pcFieldset","$parentInstance","BaseFieldset","inheritAttrs","emits","data","d_collapsed","watch","newValue","methods","toggle","event","$emit","originalEvent","value","onKeyDown","code","preventDefault","computed","buttonAriaLabel","ariaLabel","dataP","cn","directives","ripple","Ripple","components","PlusIcon","MinusIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","$options","ptmi","_createElementVNode","ptm","_renderSlot","$slots","toggleCallback","id","$id","_hoisted_3","_withDirectives","$data","onClick","apply","arguments","onKeydown","_objectSpread","toggleicon","_createBlock","_resolveDynamicComponent","_createVNode","_Transition","role"],"mappings":";;;;;;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,cAAc;AACpB,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,MAAM,EAAEC,MAAM;AACdC,IAAAA,UAAU,EAAEC,OAAO;AACnBC,IAAAA,SAAS,EAAED,OAAO;AAClBE,IAAAA,iBAAiB,EAAE;AACfC,MAAAA,IAAI,EAAE,IAAI;MACV,SAAA,EAAS;AACb;GACH;AACDC,EAAAA,KAAK,EAAEC,aAAa;EACpBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,WAAW,EAAE,IAAI;AACjBC,MAAAA,eAAe,EAAE;KACpB;AACL,EAAA;AACJ,CAAC;;ACsBD,aAAe;AACXd,EAAAA,IAAI,EAAE,UAAU;AAChB,EAAA,SAAA,EAASe,QAAY;AACrBC,EAAAA,YAAY,EAAE,KAAK;AACnBC,EAAAA,KAAK,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC;EACrCC,IAAI,EAAA,SAAJA,IAAIA,GAAG;IACH,OAAO;MACHC,WAAW,EAAE,IAAI,CAACZ;KACrB;EACL,CAAC;AACDa,EAAAA,KAAK,EAAE;AACHb,IAAAA,SAAS,EAAA,SAATA,SAASA,CAACc,QAAQ,EAAE;MAChB,IAAI,CAACF,WAAU,GAAIE,QAAQ;AAC/B,IAAA;GACH;AACDC,EAAAA,OAAO,EAAE;AACLC,IAAAA,MAAM,EAAA,SAANA,MAAMA,CAACC,KAAK,EAAE;AACV,MAAA,IAAI,CAACL,WAAU,GAAI,CAAC,IAAI,CAACA,WAAW;MACpC,IAAI,CAACM,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAACN,WAAW,CAAC;AAChD,MAAA,IAAI,CAACM,KAAK,CAAC,QAAQ,EAAE;AACjBC,QAAAA,aAAa,EAAEF,KAAK;QACpBG,KAAK,EAAE,IAAI,CAACR;AAChB,OAAC,CAAC;IACN,CAAC;AACDS,IAAAA,SAAS,EAAA,SAATA,SAASA,CAACJ,KAAK,EAAE;AACb,MAAA,IAAIA,KAAK,CAACK,IAAG,KAAM,OAAM,IAAKL,KAAK,CAACK,SAAS,aAAY,IAAKL,KAAK,CAACK,SAAS,OAAO,EAAE;AAClF,QAAA,IAAI,CAACN,MAAM,CAACC,KAAK,CAAC;QAClBA,KAAK,CAACM,cAAc,EAAE;AAC1B,MAAA;AACJ,IAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;IACNC,eAAe,EAAA,SAAfA,eAAeA,GAAG;AACd,MAAA,OAAO,IAAI,CAACxB,iBAAgB,IAAK,IAAI,CAACA,iBAAiB,CAACyB,SAAQ,GAAI,IAAI,CAACzB,iBAAiB,CAACyB,YAAY,IAAI,CAAC9B,MAAM;IACtH,CAAC;IACD+B,KAAK,EAAA,SAALA,KAAKA,GAAG;AACJ,MAAA,OAAOC,EAAE,CAAC;QACN9B,UAAU,EAAE,IAAI,CAACA;AACrB,OAAC,CAAC;AACN,IAAA;GACH;AACD+B,EAAAA,UAAU,EAAE;AACRC,IAAAA,MAAM,EAAEC;GACX;AACDC,EAAAA,UAAU,EAAE;AACRC,IAAAA,QAAQ,EAARA,QAAQ;AACRC,IAAAA,SAAQ,EAARA;AACJ;AACJ,CAAC;;;;;;;;;;;;;;;EC5FG,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CAkCU,YAlCVC,UAAA,CAkCU;AAlCC,IAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,MAAA,CAAA;IAAW,QAAM,EAAEC,QAAA,CAAAb;KAAeW,IAAA,CAAAG,IAAI,CAAA,MAAA,CAAA,CAAA,EAAA,CACtDC,kBAAA,CAuBQ,UAvBRL,UAAA,CAuBQ;AAvBC,IAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,QAAA,CAAA;IAAa,QAAM,EAAEC,QAAA,CAAAb;KAAeW,IAAA,CAAAK,GAAG,CAAA,QAAA,CAAA,CAAA,EAAA,CACrDC,UAAA,CAqBMN,IAAA,CAAAO,MAAA,EAAA,QAAA,EAAA;IArBeC,cAAc,EAAEN,QAAA,CAAAxB;KAArC,YAAA;AAAA,IAAA,OAqBM,EApBWsB,IAAA,CAAAxC,UAAU,IAAvBqC,SAAA,EAAA,EAAAC,kBAAA,CAAwH,QAAxHC,UAAA,CAAwH;;AAA9FU,MAAAA,EAAE,EAAET,IAAA,CAAAU,GAAE,GAAA,SAAA;AAAgB,MAAA,OAAA,EAAOV,IAAA,CAAAC,EAAE,CAAA,aAAA;AAAyB,KAAA,EAAAD,IAAA,CAAAK,GAAG,kCAAoBL,IAAA,CAAA1C,MAAK,CAAA,EAAA,EAAA,EAAAqD,UAAA,CAAA,kCAEpGX,IAAA,CAAAxC,UAAU,GADpBoD,cAAA,EAAAf,SAAA,EAAA,EAAAC,kBAAA,CAkBQ,UAlBRC,UAAA,CAkBQ;;AAhBHU,MAAAA,EAAE,EAAET,IAAA,CAAAU,GAAE,GAAA,SAAA;AAEP9C,MAAAA,IAAI,EAAC,QAAO;AACX,MAAA,eAAa,EAAEoC,IAAA,CAAAU,GAAE,GAAA,UAAA;AACjB,MAAA,eAAa,GAAGG,KAAA,CAAAvC,WAAW;MAC3B,YAAU,EAAE4B,QAAA,CAAAf,eAAe;AAC3B,MAAA,OAAA,EAAOa,IAAA,CAAAC,EAAE,CAAA,cAAA,CAAA;MACTa,OAAK;eAAEZ,QAAA,CAAAxB,MAAA,IAAAwB,QAAA,CAAAxB,MAAA,CAAAqC,KAAA,CAAAb,QAAA,EAAAc,SAAA,CAAM;AAAA,MAAA,CAAA,CAAA;MACbC,SAAO;eAAEf,QAAA,CAAAnB,SAAA,IAAAmB,QAAA,CAAAnB,SAAA,CAAAgC,KAAA,CAAAb,QAAA,EAAAc,SAAA,CAAS;MAAA,CAAA;AACN,KAAA,EAAAE,aAAA,CAAAA,aAAA,KAAAlB,IAAA,CAAArC,iBAAiB,CAAA,EAAKqC,IAAA,CAAAK,GAAG,CAAA,cAAA,CAAA,CAAA,CAAA,EAAA,CAGtCC,UAAA,CAEMN,IAAA,CAAAO,MAAA,EAFOP,IAAA,CAAAO,MAAM,CAACY,UAAS,GAAA,YAAA,GAAA,aAAA,EAAA;MAAmCzD,SAAS,EAAEmD,KAAA,CAAAvC,WAAW;AAAG,MAAA,OAAA,iBAAO0B,IAAA,CAAAC,EAAE,CAAA,YAAA,CAAA;OAAlG,YAAA;AAAA,MAAA,OAEM,eADFmB,WAAA,CAA8GC,uBAAA,CAA9FR,KAAA,CAAAvC,yCAAhByB,UAAA,CAA8G;AAArD,QAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,YAAA;SAAwBD,IAAA,CAAAK,GAAG,CAAA,YAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA;QAEjGD,kBAAA,CAA+E,QAA/EL,UAAA,CAA+E;AAAxE,MAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,aAAA;AAAyB,KAAA,EAAAD,IAAA,CAAAK,GAAG,kCAAoBL,IAAA,CAAA1C,MAAK,CAAA,EAAA,EAAA,CAAA;wBAIjFgE,WAAA,CAQYC,YARZxB,UAAA,CAQY;AARA5C,IAAAA,IAAI,EAAC;KAAwB6C,IAAA,CAAAK,GAAG,CAAA,YAAA,CAAA,CAAA,EAAA;uBACxC,YAAA;MAAA,OAMK,CANLO,cAAA,CAAAR,kBAAA,CAMK,OANLL,UAAA,CAMK;AANuBU,QAAAA,EAAE,EAAET,IAAA,CAAAU,GAAE,GAAA,UAAA;AAAiB,QAAA,OAAA,EAAOV,IAAA,CAAAC,EAAE,CAAA,kBAAA,CAAA;AAAsBuB,QAAAA,IAAI,EAAC,QAAO;AAAG,QAAA,iBAAe,EAAExB,IAAA,CAAAU,GAAE,GAAA;SAAuBV,IAAA,CAAAK,GAAG,CAAA,kBAAA,CAAA,CAAA,EAAA,CAC1ID,kBAAA,CAIK,OAJLL,UAAA,CAIK;AAJC,QAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,gBAAA;SAA4BD,IAAA,CAAAK,GAAG,CAAA,gBAAA,CAAA,CAAA,EAAA,CAC1CD,kBAAA,CAEK,OAFLL,UAAA,CAEK;AAFC,QAAA,OAAA,EAAOC,IAAA,CAAAC,EAAE,CAAA,SAAA;SAAqBD,IAAA,CAAAK,GAAG,CAAA,SAAA,CAAA,CAAA,EAAA,CACnCC,UAAA,CAAYN,IAAA,CAAAO,MAAA,EAAA,SAAA,CAAA,0CAHVM,KAAA,CAAAvC,WAAW,CAAA;;;;;;;;;;"}