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.9 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=c47b2d1a&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 { UniqueComponentId } from '@primevue/core/utils';\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 id: this.$attrs.id,\n inputValue: null,\n focused: false,\n focusedIndex: null\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted() {\n console.warn('Deprecated since v4. Use AutoComplete component instead with its typeahead property.');\n this.id = this.id || UniqueComponentId();\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 { UniqueComponentId } from '@primevue/core/utils';\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 id: this.$attrs.id,\n inputValue: null,\n focused: false,\n focusedIndex: null\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted() {\n console.warn('Deprecated since v4. Use AutoComplete component instead with its typeahead property.');\n this.id = this.id || UniqueComponentId();\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","id","$attrs","inputValue","focused","focusedIndex","watch","$attrsId","newValue","UniqueComponentId","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","components","Chip","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_createElementVNode","ref","tabindex","role","$data","$options","onClick","apply","arguments","onKeydown","ptm","_Fragment","_renderList","i","_renderSlot","$slots","removeCallback","_createVNode","_component_Chip","label","removeIcon","removable","unstyled","onRemove","$event","pt","removeicon","chipicon","_cache","_objectSpread","_hoisted_3"],"mappings":"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"}