{"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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"}