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 • 35 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../src/inputchips/BaseInputChips.vue","../../src/inputchips/InputChips.vue","../../src/inputchips/InputChips.vue?vue&type=template&id=f3d6e23a&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport InputChipsStyle from 'primevue/inputchips/style';\n\nexport default {\n name: 'BaseInputChips',\n extends: BaseComponent,\n props: {\n modelValue: {\n type: Array,\n default: null\n },\n max: {\n type: Number,\n default: null\n },\n separator: {\n type: [String, Object],\n default: null\n },\n addOnBlur: {\n type: Boolean,\n default: null\n },\n allowDuplicate: {\n type: Boolean,\n default: true\n },\n placeholder: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n },\n invalid: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n inputId: {\n type: String,\n default: null\n },\n inputClass: {\n type: [String, Object],\n default: null\n },\n inputStyle: {\n type: Object,\n default: null\n },\n inputProps: {\n type: null,\n default: null\n },\n removeTokenIcon: {\n type: String,\n default: undefined\n },\n chipIcon: {\n type: String,\n default: undefined\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: InputChipsStyle,\n provide() {\n return {\n $pcInputChips: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <ul\n ref=\"container\"\n :class=\"cx('input')\"\n tabindex=\"-1\"\n role=\"listbox\"\n aria-orientation=\"horizontal\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n @click=\"onWrapperClick()\"\n @focus=\"onContainerFocus\"\n @blur=\"onContainerBlur\"\n @keydown=\"onContainerKeyDown\"\n v-bind=\"ptm('input')\"\n >\n <li\n v-for=\"(val, i) of modelValue\"\n :key=\"`${i}_${val}`\"\n :id=\"$id + '_inputchips_item_' + i\"\n role=\"option\"\n :class=\"cx('chipItem', { index: i })\"\n :aria-label=\"val\"\n :aria-selected=\"true\"\n :aria-setsize=\"modelValue.length\"\n :aria-posinset=\"i + 1\"\n v-bind=\"ptm('chipItem')\"\n :data-p-focused=\"focusedIndex === i\"\n >\n <slot name=\"chip\" :class=\"cx('pcChip')\" :index=\"i\" :value=\"val\" :removeCallback=\"(event) => removeOption(event, i)\">\n <!-- TODO: removetokenicon and removeTokenIcon deprecated since v4.0. Use chipicon slot and chipIcon prop-->\n <Chip :class=\"cx('pcChip')\" :label=\"val\" :removeIcon=\"chipIcon || removeTokenIcon\" removable :unstyled=\"unstyled\" @remove=\"removeItem($event, i)\" :pt=\"ptm('pcChip')\">\n <template #removeicon>\n <slot :name=\"$slots.chipicon ? 'chipicon' : 'removetokenicon'\" :class=\"cx('chipIcon')\" :index=\"i\" :removeCallback=\"(event) => removeItem(event, i)\" />\n </template>\n </Chip>\n </slot>\n </li>\n <li :class=\"cx('inputItem')\" role=\"option\" v-bind=\"ptm('inputItem')\">\n <input\n ref=\"input\"\n :id=\"inputId\"\n type=\"text\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n :disabled=\"disabled || maxedOut\"\n :placeholder=\"placeholder\"\n :aria-invalid=\"invalid || undefined\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @input=\"onInput\"\n @keydown=\"onKeyDown($event)\"\n @paste=\"onPaste($event)\"\n v-bind=\"{ ...inputProps, ...ptm('inputItemField') }\"\n />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport Chip from 'primevue/chip';\nimport BaseInputChips from './BaseInputChips.vue';\n\nexport default {\n name: 'InputChips',\n extends: BaseInputChips,\n inheritAttrs: false,\n emits: ['update:modelValue', 'add', 'remove', 'focus', 'blur'],\n data() {\n return {\n inputValue: null,\n focused: false,\n focusedIndex: null\n };\n },\n mounted() {\n console.warn('Deprecated since v4. Use AutoComplete component instead with its typeahead property.');\n },\n methods: {\n onWrapperClick() {\n this.$refs.input.focus();\n },\n onInput(event) {\n this.inputValue = event.target.value;\n this.focusedIndex = null;\n },\n onFocus(event) {\n this.focused = true;\n this.focusedIndex = null;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.focusedIndex = null;\n\n if (this.addOnBlur) {\n this.addItem(event, event.target.value, false);\n }\n\n this.$emit('blur', event);\n },\n onKeyDown(event) {\n const inputValue = event.target.value;\n\n switch (event.code) {\n case 'Backspace':\n if (inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n } else this.removeItem(event, this.modelValue.length - 1);\n }\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n if (inputValue && inputValue.trim().length && !this.maxedOut) {\n this.addItem(event, inputValue, true);\n }\n\n break;\n\n case 'ArrowLeft':\n if (inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n this.$refs.container.focus();\n }\n\n break;\n\n case 'ArrowRight':\n event.stopPropagation();\n break;\n\n default:\n if (this.separator) {\n if (this.separator === event.key || event.key.match(this.separator)) {\n this.addItem(event, inputValue, true);\n }\n }\n\n break;\n }\n },\n onPaste(event) {\n if (this.separator) {\n let separator = this.separator.replace('\\\\n', '\\n').replace('\\\\r', '\\r').replace('\\\\t', '\\t');\n let pastedData = (event.clipboardData || window['clipboardData']).getData('Text');\n\n if (pastedData) {\n let value = this.modelValue || [];\n let pastedValues = pastedData.split(separator);\n\n pastedValues = pastedValues.filter((val) => this.allowDuplicate || value.indexOf(val) === -1);\n value = [...value, ...pastedValues];\n this.updateModel(event, value, true);\n }\n }\n },\n onContainerFocus() {\n this.focused = true;\n },\n onContainerBlur() {\n this.focusedIndex = -1;\n this.focused = false;\n },\n onContainerKeyDown(event) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOn(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOn(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOn(event);\n break;\n\n default:\n break;\n }\n },\n onArrowLeftKeyOn() {\n if (this.inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n this.focusedIndex = this.focusedIndex === null ? this.modelValue.length - 1 : this.focusedIndex - 1;\n if (this.focusedIndex < 0) this.focusedIndex = 0;\n }\n },\n onArrowRightKeyOn() {\n if (this.inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n if (this.focusedIndex === this.modelValue.length - 1) {\n this.focusedIndex = null;\n this.$refs.input.focus();\n } else {\n this.focusedIndex++;\n }\n }\n },\n onBackspaceKeyOn(event) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n }\n },\n updateModel(event, value, preventDefault) {\n this.$emit('update:modelValue', value);\n this.$emit('add', {\n originalEvent: event,\n value: value\n });\n this.$refs.input.value = '';\n this.inputValue = '';\n\n setTimeout(() => {\n this.maxedOut && (this.focused = false);\n }, 0);\n\n if (preventDefault) {\n event.preventDefault();\n }\n },\n addItem(event, item, preventDefault) {\n if (item && item.trim().length) {\n let value = this.modelValue ? [...this.modelValue] : [];\n\n if (this.allowDuplicate || value.indexOf(item) === -1) {\n value.push(item);\n this.updateModel(event, value, preventDefault);\n }\n }\n },\n removeItem(event, index) {\n if (this.disabled) {\n return;\n }\n\n let values = [...this.modelValue];\n const removedItem = values.splice(index, 1);\n\n this.focusedIndex = null;\n this.$refs.input.focus();\n this.$emit('update:modelValue', values);\n this.$emit('remove', {\n originalEvent: event,\n value: removedItem\n });\n }\n },\n computed: {\n maxedOut() {\n return this.max && this.modelValue && this.max === this.modelValue.length;\n },\n focusedOptionId() {\n return this.focusedIndex !== null ? `${this.$id}_inputchips_item_${this.focusedIndex}` : null;\n }\n },\n components: {\n Chip\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <ul\n ref=\"container\"\n :class=\"cx('input')\"\n tabindex=\"-1\"\n role=\"listbox\"\n aria-orientation=\"horizontal\"\n :aria-labelledby=\"ariaLabelledby\"\n :aria-label=\"ariaLabel\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n @click=\"onWrapperClick()\"\n @focus=\"onContainerFocus\"\n @blur=\"onContainerBlur\"\n @keydown=\"onContainerKeyDown\"\n v-bind=\"ptm('input')\"\n >\n <li\n v-for=\"(val, i) of modelValue\"\n :key=\"`${i}_${val}`\"\n :id=\"$id + '_inputchips_item_' + i\"\n role=\"option\"\n :class=\"cx('chipItem', { index: i })\"\n :aria-label=\"val\"\n :aria-selected=\"true\"\n :aria-setsize=\"modelValue.length\"\n :aria-posinset=\"i + 1\"\n v-bind=\"ptm('chipItem')\"\n :data-p-focused=\"focusedIndex === i\"\n >\n <slot name=\"chip\" :class=\"cx('pcChip')\" :index=\"i\" :value=\"val\" :removeCallback=\"(event) => removeOption(event, i)\">\n <!-- TODO: removetokenicon and removeTokenIcon deprecated since v4.0. Use chipicon slot and chipIcon prop-->\n <Chip :class=\"cx('pcChip')\" :label=\"val\" :removeIcon=\"chipIcon || removeTokenIcon\" removable :unstyled=\"unstyled\" @remove=\"removeItem($event, i)\" :pt=\"ptm('pcChip')\">\n <template #removeicon>\n <slot :name=\"$slots.chipicon ? 'chipicon' : 'removetokenicon'\" :class=\"cx('chipIcon')\" :index=\"i\" :removeCallback=\"(event) => removeItem(event, i)\" />\n </template>\n </Chip>\n </slot>\n </li>\n <li :class=\"cx('inputItem')\" role=\"option\" v-bind=\"ptm('inputItem')\">\n <input\n ref=\"input\"\n :id=\"inputId\"\n type=\"text\"\n :class=\"inputClass\"\n :style=\"inputStyle\"\n :disabled=\"disabled || maxedOut\"\n :placeholder=\"placeholder\"\n :aria-invalid=\"invalid || undefined\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @input=\"onInput\"\n @keydown=\"onKeyDown($event)\"\n @paste=\"onPaste($event)\"\n v-bind=\"{ ...inputProps, ...ptm('inputItemField') }\"\n />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport Chip from 'primevue/chip';\nimport BaseInputChips from './BaseInputChips.vue';\n\nexport default {\n name: 'InputChips',\n extends: BaseInputChips,\n inheritAttrs: false,\n emits: ['update:modelValue', 'add', 'remove', 'focus', 'blur'],\n data() {\n return {\n inputValue: null,\n focused: false,\n focusedIndex: null\n };\n },\n mounted() {\n console.warn('Deprecated since v4. Use AutoComplete component instead with its typeahead property.');\n },\n methods: {\n onWrapperClick() {\n this.$refs.input.focus();\n },\n onInput(event) {\n this.inputValue = event.target.value;\n this.focusedIndex = null;\n },\n onFocus(event) {\n this.focused = true;\n this.focusedIndex = null;\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focused = false;\n this.focusedIndex = null;\n\n if (this.addOnBlur) {\n this.addItem(event, event.target.value, false);\n }\n\n this.$emit('blur', event);\n },\n onKeyDown(event) {\n const inputValue = event.target.value;\n\n switch (event.code) {\n case 'Backspace':\n if (inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n } else this.removeItem(event, this.modelValue.length - 1);\n }\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n if (inputValue && inputValue.trim().length && !this.maxedOut) {\n this.addItem(event, inputValue, true);\n }\n\n break;\n\n case 'ArrowLeft':\n if (inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n this.$refs.container.focus();\n }\n\n break;\n\n case 'ArrowRight':\n event.stopPropagation();\n break;\n\n default:\n if (this.separator) {\n if (this.separator === event.key || event.key.match(this.separator)) {\n this.addItem(event, inputValue, true);\n }\n }\n\n break;\n }\n },\n onPaste(event) {\n if (this.separator) {\n let separator = this.separator.replace('\\\\n', '\\n').replace('\\\\r', '\\r').replace('\\\\t', '\\t');\n let pastedData = (event.clipboardData || window['clipboardData']).getData('Text');\n\n if (pastedData) {\n let value = this.modelValue || [];\n let pastedValues = pastedData.split(separator);\n\n pastedValues = pastedValues.filter((val) => this.allowDuplicate || value.indexOf(val) === -1);\n value = [...value, ...pastedValues];\n this.updateModel(event, value, true);\n }\n }\n },\n onContainerFocus() {\n this.focused = true;\n },\n onContainerBlur() {\n this.focusedIndex = -1;\n this.focused = false;\n },\n onContainerKeyDown(event) {\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOn(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOn(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOn(event);\n break;\n\n default:\n break;\n }\n },\n onArrowLeftKeyOn() {\n if (this.inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n this.focusedIndex = this.focusedIndex === null ? this.modelValue.length - 1 : this.focusedIndex - 1;\n if (this.focusedIndex < 0) this.focusedIndex = 0;\n }\n },\n onArrowRightKeyOn() {\n if (this.inputValue.length === 0 && this.modelValue && this.modelValue.length > 0) {\n if (this.focusedIndex === this.modelValue.length - 1) {\n this.focusedIndex = null;\n this.$refs.input.focus();\n } else {\n this.focusedIndex++;\n }\n }\n },\n onBackspaceKeyOn(event) {\n if (this.focusedIndex !== null) {\n this.removeItem(event, this.focusedIndex);\n }\n },\n updateModel(event, value, preventDefault) {\n this.$emit('update:modelValue', value);\n this.$emit('add', {\n originalEvent: event,\n value: value\n });\n this.$refs.input.value = '';\n this.inputValue = '';\n\n setTimeout(() => {\n this.maxedOut && (this.focused = false);\n }, 0);\n\n if (preventDefault) {\n event.preventDefault();\n }\n },\n addItem(event, item, preventDefault) {\n if (item && item.trim().length) {\n let value = this.modelValue ? [...this.modelValue] : [];\n\n if (this.allowDuplicate || value.indexOf(item) === -1) {\n value.push(item);\n this.updateModel(event, value, preventDefault);\n }\n }\n },\n removeItem(event, index) {\n if (this.disabled) {\n return;\n }\n\n let values = [...this.modelValue];\n const removedItem = values.splice(index, 1);\n\n this.focusedIndex = null;\n this.$refs.input.focus();\n this.$emit('update:modelValue', values);\n this.$emit('remove', {\n originalEvent: event,\n value: removedItem\n });\n }\n },\n computed: {\n maxedOut() {\n return this.max && this.modelValue && this.max === this.modelValue.length;\n },\n focusedOptionId() {\n return this.focusedIndex !== null ? `${this.$id}_inputchips_item_${this.focusedIndex}` : null;\n }\n },\n components: {\n Chip\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","modelValue","type","Array","max","Number","separator","String","Object","addOnBlur","Boolean","allowDuplicate","placeholder","variant","invalid","disabled","inputId","inputClass","inputStyle","inputProps","removeTokenIcon","undefined","chipIcon","ariaLabelledby","ariaLabel","style","InputChipsStyle","provide","$pcInputChips","$parentInstance","BaseInputChips","inheritAttrs","emits","data","inputValue","focused","focusedIndex","mounted","console","warn","methods","onWrapperClick","$refs","input","focus","onInput","event","target","value","onFocus","$emit","onBlur","addItem","onKeyDown","code","length","removeItem","trim","maxedOut","container","stopPropagation","key","match","onPaste","_this","replace","pastedData","clipboardData","window","getData","pastedValues","split","filter","val","indexOf","concat","_toConsumableArray","updateModel","onContainerFocus","onContainerBlur","onContainerKeyDown","onArrowLeftKeyOn","onArrowRightKeyOn","onBackspaceKeyOn","preventDefault","_this2","originalEvent","setTimeout","item","push","index","values","removedItem","splice","computed","focusedOptionId","$id","components","Chip","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_createElementVNode","ref","tabindex","role","$data","$options","onClick","apply","arguments","onKeydown","ptm","_Fragment","_renderList","i","id","_renderSlot","$slots","removeCallback","_createVNode","_component_Chip","label","removeIcon","removable","unstyled","onRemove","$event","pt","removeicon","chipicon","_cache","_objectSpread","_hoisted_3"],"mappings":"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"}