UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

1 lines 16.7 kB
{"version":3,"file":"index.mjs","sources":["../../src/selectbutton/BaseSelectButton.vue","../../src/selectbutton/SelectButton.vue","../../src/selectbutton/SelectButton.vue?vue&type=template&id=d83aac12&lang.js"],"sourcesContent":["<script>\nimport BaseEditableHolder from '@primevue/core/baseeditableholder';\nimport SelectButtonStyle from 'primevue/selectbutton/style';\n\nexport default {\n name: 'BaseSelectButton',\n extends: BaseEditableHolder,\n props: {\n options: Array,\n optionLabel: null,\n optionValue: null,\n optionDisabled: null,\n multiple: Boolean,\n allowEmpty: {\n type: Boolean,\n default: true\n },\n dataKey: null,\n ariaLabelledby: {\n type: String,\n default: null\n },\n size: {\n type: String,\n default: null\n },\n fluid: {\n type: Boolean,\n default: null\n }\n },\n style: SelectButtonStyle,\n provide() {\n return {\n $pcSelectButton: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"group\" :aria-labelledby=\"ariaLabelledby\" v-bind=\"ptmi('root')\" :data-p=\"dataP\">\n <template v-for=\"(option, index) of options\" :key=\"getOptionRenderKey(option)\">\n <ToggleButton\n :modelValue=\"isSelected(option)\"\n :onLabel=\"getOptionLabel(option)\"\n :offLabel=\"getOptionLabel(option)\"\n :disabled=\"disabled || isOptionDisabled(option)\"\n :unstyled=\"unstyled\"\n :size=\"size\"\n :readonly=\"isOptionReadonly(option)\"\n @change=\"onOptionSelect($event, option, index)\"\n :pt=\"ptm('pcToggleButton')\"\n >\n <template v-if=\"$slots.option\" #default>\n <slot name=\"option\" :option=\"option\" :index=\"index\">\n <span v-bind=\"ptm('pcToggleButton')['label']\">{{ getOptionLabel(option) }}</span>\n </slot>\n </template>\n </ToggleButton>\n </template>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { equals, resolveFieldData } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport ToggleButton from 'primevue/togglebutton';\nimport BaseSelectButton from './BaseSelectButton.vue';\n\nexport default {\n name: 'SelectButton',\n extends: BaseSelectButton,\n inheritAttrs: false,\n emits: ['change'],\n methods: {\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey(option) {\n return this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option);\n },\n isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionReadonly(option) {\n if (this.allowEmpty) return false;\n\n let selected = this.isSelected(option);\n\n if (this.multiple) {\n return selected && this.d_value.length === 1;\n } else {\n return selected;\n }\n },\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option) || this.isOptionReadonly(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) {\n newValue = this.d_value.filter((val) => !equals(val, optionValue, this.equalityKey));\n if (!this.allowEmpty && newValue.length === 0) return;\n } else {\n newValue = this.d_value ? [...this.d_value, optionValue] : [optionValue];\n }\n } else {\n if (selected && !this.allowEmpty) return;\n newValue = selected ? null : optionValue;\n }\n\n this.writeValue(newValue, event);\n this.$emit('change', { event: event, value: newValue });\n },\n isSelected(option) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.d_value) {\n for (let val of this.d_value) {\n if (equals(val, optionValue, this.equalityKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = equals(this.d_value, optionValue, this.equalityKey);\n }\n\n return selected;\n }\n },\n computed: {\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n dataP() {\n return cn({\n invalid: this.$invalid\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ToggleButton\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" role=\"group\" :aria-labelledby=\"ariaLabelledby\" v-bind=\"ptmi('root')\" :data-p=\"dataP\">\n <template v-for=\"(option, index) of options\" :key=\"getOptionRenderKey(option)\">\n <ToggleButton\n :modelValue=\"isSelected(option)\"\n :onLabel=\"getOptionLabel(option)\"\n :offLabel=\"getOptionLabel(option)\"\n :disabled=\"disabled || isOptionDisabled(option)\"\n :unstyled=\"unstyled\"\n :size=\"size\"\n :readonly=\"isOptionReadonly(option)\"\n @change=\"onOptionSelect($event, option, index)\"\n :pt=\"ptm('pcToggleButton')\"\n >\n <template v-if=\"$slots.option\" #default>\n <slot name=\"option\" :option=\"option\" :index=\"index\">\n <span v-bind=\"ptm('pcToggleButton')['label']\">{{ getOptionLabel(option) }}</span>\n </slot>\n </template>\n </ToggleButton>\n </template>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { equals, resolveFieldData } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport ToggleButton from 'primevue/togglebutton';\nimport BaseSelectButton from './BaseSelectButton.vue';\n\nexport default {\n name: 'SelectButton',\n extends: BaseSelectButton,\n inheritAttrs: false,\n emits: ['change'],\n methods: {\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey(option) {\n return this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option);\n },\n isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionReadonly(option) {\n if (this.allowEmpty) return false;\n\n let selected = this.isSelected(option);\n\n if (this.multiple) {\n return selected && this.d_value.length === 1;\n } else {\n return selected;\n }\n },\n onOptionSelect(event, option, index) {\n if (this.disabled || this.isOptionDisabled(option) || this.isOptionReadonly(option)) {\n return;\n }\n\n let selected = this.isSelected(option);\n let optionValue = this.getOptionValue(option);\n let newValue;\n\n if (this.multiple) {\n if (selected) {\n newValue = this.d_value.filter((val) => !equals(val, optionValue, this.equalityKey));\n if (!this.allowEmpty && newValue.length === 0) return;\n } else {\n newValue = this.d_value ? [...this.d_value, optionValue] : [optionValue];\n }\n } else {\n if (selected && !this.allowEmpty) return;\n newValue = selected ? null : optionValue;\n }\n\n this.writeValue(newValue, event);\n this.$emit('change', { event: event, value: newValue });\n },\n isSelected(option) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.d_value) {\n for (let val of this.d_value) {\n if (equals(val, optionValue, this.equalityKey)) {\n selected = true;\n break;\n }\n }\n }\n } else {\n selected = equals(this.d_value, optionValue, this.equalityKey);\n }\n\n return selected;\n }\n },\n computed: {\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n dataP() {\n return cn({\n invalid: this.$invalid\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ToggleButton\n }\n};\n</script>\n"],"names":["name","BaseEditableHolder","props","options","Array","optionLabel","optionValue","optionDisabled","multiple","Boolean","allowEmpty","type","dataKey","ariaLabelledby","String","size","fluid","style","SelectButtonStyle","provide","$pcSelectButton","$parentInstance","BaseSelectButton","inheritAttrs","emits","methods","getOptionLabel","option","resolveFieldData","getOptionValue","getOptionRenderKey","isOptionDisabled","isOptionReadonly","selected","isSelected","d_value","length","onOptionSelect","event","index","_this","disabled","newValue","filter","val","equals","equalityKey","concat","_toConsumableArray","writeValue","$emit","value","_iterator","_createForOfIteratorHelper","_step","s","n","done","err","e","f","computed","dataP","cn","invalid","$invalid","directives","ripple","Ripple","components","ToggleButton","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","role","ptmi","$options","_Fragment","_renderList","_createBlock","_component_ToggleButton","key","modelValue","onLabel","offLabel","unstyled","readonly","onChange","$event","pt","ptm","$slots","_renderSlot","_createElementVNode","ref_for","_toDisplayString"],"mappings":"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"}