primevue 4.3.9 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/autocomplete/AutoComplete.vue +18 -3
  2. package/autocomplete/BaseAutoComplete.vue +4 -0
  3. package/autocomplete/index.d.ts +20 -0
  4. package/autocomplete/index.mjs +34 -7
  5. package/autocomplete/index.mjs.map +1 -1
  6. package/autocomplete/style/index.d.ts +4 -0
  7. package/autocomplete/style/index.mjs +3 -1
  8. package/autocomplete/style/index.mjs.map +1 -1
  9. package/checkbox/Checkbox.vue +15 -2
  10. package/checkbox/index.mjs +14 -2
  11. package/checkbox/index.mjs.map +1 -1
  12. package/colorpicker/ColorPicker.vue +3 -4
  13. package/colorpicker/index.mjs +3 -3
  14. package/colorpicker/index.mjs.map +1 -1
  15. package/confirmdialog/ConfirmDialog.vue +1 -1
  16. package/confirmdialog/index.d.ts +5 -0
  17. package/confirmdialog/index.mjs +3 -2
  18. package/confirmdialog/index.mjs.map +1 -1
  19. package/datatable/DataTable.vue +2 -2
  20. package/datatable/HeaderCheckbox.vue +3 -3
  21. package/datatable/index.mjs +12 -3
  22. package/datatable/index.mjs.map +1 -1
  23. package/datepicker/BaseDatePicker.vue +8 -0
  24. package/datepicker/DatePicker.vue +199 -81
  25. package/datepicker/index.d.ts +25 -0
  26. package/datepicker/index.mjs +258 -150
  27. package/datepicker/index.mjs.map +1 -1
  28. package/datepicker/style/index.d.ts +4 -0
  29. package/datepicker/style/index.mjs +5 -2
  30. package/datepicker/style/index.mjs.map +1 -1
  31. package/drawer/BaseDrawer.vue +4 -0
  32. package/drawer/Drawer.vue +4 -4
  33. package/drawer/index.d.ts +5 -0
  34. package/drawer/index.mjs +8 -4
  35. package/drawer/index.mjs.map +1 -1
  36. package/editor/Editor.vue +5 -1
  37. package/editor/index.mjs +5 -0
  38. package/editor/index.mjs.map +1 -1
  39. package/image/index.d.ts +5 -11
  40. package/inputmask/InputMask.vue +1 -2
  41. package/inputmask/index.mjs +1 -1
  42. package/inputmask/index.mjs.map +1 -1
  43. package/inputnumber/BaseInputNumber.vue +4 -0
  44. package/inputnumber/InputNumber.vue +30 -5
  45. package/inputnumber/index.d.ts +20 -0
  46. package/inputnumber/index.mjs +45 -7
  47. package/inputnumber/index.mjs.map +1 -1
  48. package/inputnumber/style/index.mjs +1 -0
  49. package/inputnumber/style/index.mjs.map +1 -1
  50. package/inputotp/InputOtp.vue +7 -3
  51. package/inputotp/index.mjs +6 -3
  52. package/inputotp/index.mjs.map +1 -1
  53. package/listbox/Listbox.vue +1 -1
  54. package/listbox/index.mjs +1 -1
  55. package/listbox/index.mjs.map +1 -1
  56. package/multiselect/MultiSelect.vue +9 -5
  57. package/multiselect/index.mjs +14 -10
  58. package/multiselect/index.mjs.map +1 -1
  59. package/package.json +5 -5
  60. package/panel/Panel.vue +1 -1
  61. package/panel/index.d.ts +4 -0
  62. package/panel/index.mjs +2 -1
  63. package/panel/index.mjs.map +1 -1
  64. package/password/BasePassword.vue +4 -0
  65. package/password/Password.vue +12 -1
  66. package/password/index.d.ts +20 -0
  67. package/password/index.mjs +23 -1
  68. package/password/index.mjs.map +1 -1
  69. package/password/style/index.d.ts +4 -0
  70. package/password/style/index.mjs +1 -0
  71. package/password/style/index.mjs.map +1 -1
  72. package/select/Select.vue +1 -0
  73. package/select/index.mjs +1 -0
  74. package/select/index.mjs.map +1 -1
  75. package/tree/BaseTree.vue +16 -0
  76. package/tree/Tree.vue +179 -4
  77. package/tree/TreeNode.vue +225 -3
  78. package/tree/index.d.ts +65 -0
  79. package/tree/index.mjs +499 -22
  80. package/tree/index.mjs.map +1 -1
  81. package/tree/style/index.mjs +9 -4
  82. package/tree/style/index.mjs.map +1 -1
  83. package/treenode/index.d.ts +12 -0
  84. package/treeselect/TreeSelect.vue +1 -1
  85. package/treeselect/index.mjs +1 -1
  86. package/treeselect/index.mjs.map +1 -1
  87. package/umd/primevue.min.js +1 -1
  88. package/web-types.json +1 -1
@@ -16,6 +16,7 @@ var classes = {
16
16
  }];
17
17
  },
18
18
  pcInputText: 'p-inputnumber-input',
19
+ clearIcon: 'p-inputnumber-clear-icon',
19
20
  buttonGroup: 'p-inputnumber-button-group',
20
21
  incrementButton: function incrementButton(_ref2) {
21
22
  var instance = _ref2.instance,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/inputnumber/style/InputNumberStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/inputnumber';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ instance, props }) => [\n 'p-inputnumber p-component p-inputwrapper',\n {\n 'p-invalid': instance.$invalid,\n 'p-inputwrapper-filled': instance.$filled || props.allowEmpty === false,\n 'p-inputwrapper-focus': instance.focused,\n 'p-inputnumber-stacked': props.showButtons && props.buttonLayout === 'stacked',\n 'p-inputnumber-horizontal': props.showButtons && props.buttonLayout === 'horizontal',\n 'p-inputnumber-vertical': props.showButtons && props.buttonLayout === 'vertical',\n 'p-inputnumber-fluid': instance.$fluid\n }\n ],\n pcInputText: 'p-inputnumber-input',\n buttonGroup: 'p-inputnumber-button-group',\n incrementButton: ({ instance, props }) => [\n 'p-inputnumber-button p-inputnumber-increment-button',\n {\n 'p-disabled': props.showButtons && props.max !== null && instance.maxBoundry()\n }\n ],\n decrementButton: ({ instance, props }) => [\n 'p-inputnumber-button p-inputnumber-decrement-button',\n {\n 'p-disabled': props.showButtons && props.min !== null && instance.minBoundry()\n }\n ]\n};\n\nexport default BaseStyle.extend({\n name: 'inputnumber',\n style,\n classes\n});\n"],"names":["classes","root","_ref","instance","props","$invalid","$filled","allowEmpty","focused","showButtons","buttonLayout","$fluid","pcInputText","buttonGroup","incrementButton","_ref2","max","maxBoundry","decrementButton","_ref3","min","minBoundry","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAA,OAAO,CAC3B,0CAA0C,EAC1C;MACI,WAAW,EAAED,QAAQ,CAACE,QAAQ;MAC9B,uBAAuB,EAAEF,QAAQ,CAACG,OAAO,IAAIF,KAAK,CAACG,UAAU,KAAK,KAAK;MACvE,sBAAsB,EAAEJ,QAAQ,CAACK,OAAO;MACxC,uBAAuB,EAAEJ,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACM,YAAY,KAAK,SAAS;MAC9E,0BAA0B,EAAEN,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACM,YAAY,KAAK,YAAY;MACpF,wBAAwB,EAAEN,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACM,YAAY,KAAK,UAAU;MAChF,qBAAqB,EAAEP,QAAQ,CAACQ;AACpC,KAAC,CACJ;AAAA,EAAA,CAAA;AACDC,EAAAA,WAAW,EAAE,qBAAqB;AAClCC,EAAAA,WAAW,EAAE,4BAA4B;AACzCC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKZ,QAAQ,GAAAY,KAAA,CAARZ,QAAQ;MAAEC,KAAK,GAAAW,KAAA,CAALX,KAAK;IAAA,OAAO,CACtC,qDAAqD,EACrD;AACI,MAAA,YAAY,EAAEA,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACY,GAAG,KAAK,IAAI,IAAIb,QAAQ,CAACc,UAAU;AAChF,KAAC,CACJ;AAAA,EAAA,CAAA;AACDC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKhB,QAAQ,GAAAgB,KAAA,CAARhB,QAAQ;MAAEC,KAAK,GAAAe,KAAA,CAALf,KAAK;IAAA,OAAO,CACtC,qDAAqD,EACrD;AACI,MAAA,YAAY,EAAEA,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACgB,GAAG,KAAK,IAAI,IAAIjB,QAAQ,CAACkB,UAAU;AAChF,KAAC,CACJ;AAAA,EAAA;AACL,CAAC;AAED,uBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,aAAa;AACnBC,EAAAA,KAAK,EAALA,KAAK;AACLzB,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/inputnumber/style/InputNumberStyle.js"],"sourcesContent":["import { style } from '@primeuix/styles/inputnumber';\nimport BaseStyle from '@primevue/core/base/style';\n\nconst classes = {\n root: ({ instance, props }) => [\n 'p-inputnumber p-component p-inputwrapper',\n {\n 'p-invalid': instance.$invalid,\n 'p-inputwrapper-filled': instance.$filled || props.allowEmpty === false,\n 'p-inputwrapper-focus': instance.focused,\n 'p-inputnumber-stacked': props.showButtons && props.buttonLayout === 'stacked',\n 'p-inputnumber-horizontal': props.showButtons && props.buttonLayout === 'horizontal',\n 'p-inputnumber-vertical': props.showButtons && props.buttonLayout === 'vertical',\n 'p-inputnumber-fluid': instance.$fluid\n }\n ],\n pcInputText: 'p-inputnumber-input',\n clearIcon: 'p-inputnumber-clear-icon',\n buttonGroup: 'p-inputnumber-button-group',\n incrementButton: ({ instance, props }) => [\n 'p-inputnumber-button p-inputnumber-increment-button',\n {\n 'p-disabled': props.showButtons && props.max !== null && instance.maxBoundry()\n }\n ],\n decrementButton: ({ instance, props }) => [\n 'p-inputnumber-button p-inputnumber-decrement-button',\n {\n 'p-disabled': props.showButtons && props.min !== null && instance.minBoundry()\n }\n ]\n};\n\nexport default BaseStyle.extend({\n name: 'inputnumber',\n style,\n classes\n});\n"],"names":["classes","root","_ref","instance","props","$invalid","$filled","allowEmpty","focused","showButtons","buttonLayout","$fluid","pcInputText","clearIcon","buttonGroup","incrementButton","_ref2","max","maxBoundry","decrementButton","_ref3","min","minBoundry","BaseStyle","extend","name","style"],"mappings":";;;AAGA,IAAMA,OAAO,GAAG;AACZC,EAAAA,IAAI,EAAE,SAANA,IAAIA,CAAAC,IAAA,EAAA;AAAA,IAAA,IAAKC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAA,OAAO,CAC3B,0CAA0C,EAC1C;MACI,WAAW,EAAED,QAAQ,CAACE,QAAQ;MAC9B,uBAAuB,EAAEF,QAAQ,CAACG,OAAO,IAAIF,KAAK,CAACG,UAAU,KAAK,KAAK;MACvE,sBAAsB,EAAEJ,QAAQ,CAACK,OAAO;MACxC,uBAAuB,EAAEJ,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACM,YAAY,KAAK,SAAS;MAC9E,0BAA0B,EAAEN,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACM,YAAY,KAAK,YAAY;MACpF,wBAAwB,EAAEN,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACM,YAAY,KAAK,UAAU;MAChF,qBAAqB,EAAEP,QAAQ,CAACQ;AACpC,KAAC,CACJ;AAAA,EAAA,CAAA;AACDC,EAAAA,WAAW,EAAE,qBAAqB;AAClCC,EAAAA,SAAS,EAAE,0BAA0B;AACrCC,EAAAA,WAAW,EAAE,4BAA4B;AACzCC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKb,QAAQ,GAAAa,KAAA,CAARb,QAAQ;MAAEC,KAAK,GAAAY,KAAA,CAALZ,KAAK;IAAA,OAAO,CACtC,qDAAqD,EACrD;AACI,MAAA,YAAY,EAAEA,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACa,GAAG,KAAK,IAAI,IAAId,QAAQ,CAACe,UAAU;AAChF,KAAC,CACJ;AAAA,EAAA,CAAA;AACDC,EAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAKjB,QAAQ,GAAAiB,KAAA,CAARjB,QAAQ;MAAEC,KAAK,GAAAgB,KAAA,CAALhB,KAAK;IAAA,OAAO,CACtC,qDAAqD,EACrD;AACI,MAAA,YAAY,EAAEA,KAAK,CAACK,WAAW,IAAIL,KAAK,CAACiB,GAAG,KAAK,IAAI,IAAIlB,QAAQ,CAACmB,UAAU;AAChF,KAAC,CACJ;AAAA,EAAA;AACL,CAAC;AAED,uBAAeC,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,aAAa;AACnBC,EAAAA,KAAK,EAALA,KAAK;AACL1B,EAAAA,OAAO,EAAPA;AACJ,CAAC,CAAC;;;;"}
@@ -130,7 +130,7 @@ export default {
130
130
  return;
131
131
  }
132
132
 
133
- switch (event.code) {
133
+ switch (event.key) {
134
134
  case 'ArrowLeft':
135
135
  this.moveToPrev(event);
136
136
  event.preventDefault();
@@ -158,12 +158,16 @@ export default {
158
158
  break;
159
159
 
160
160
  case 'Enter':
161
- case 'NumpadEnter':
162
161
  case 'Tab':
163
162
  break;
164
163
 
165
164
  default:
166
- if ((this.integerOnly && !(event.code !== 'Space' && Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {
165
+ const target = event.target;
166
+ const hasSelection = target.selectionStart !== target.selectionEnd;
167
+ const isAtMaxLength = this.tokens.join('').length >= this.length;
168
+ const isValidKey = this.integerOnly ? /^[0-9]$/.test(event.key) : true;
169
+
170
+ if (!isValidKey || (isAtMaxLength && event.key !== 'Delete' && !hasSelection)) {
167
171
  event.preventDefault();
168
172
  }
169
173
 
@@ -139,7 +139,7 @@ var script = {
139
139
  if (event.ctrlKey || event.metaKey) {
140
140
  return;
141
141
  }
142
- switch (event.code) {
142
+ switch (event.key) {
143
143
  case 'ArrowLeft':
144
144
  this.moveToPrev(event);
145
145
  event.preventDefault();
@@ -159,11 +159,14 @@ var script = {
159
159
  event.preventDefault();
160
160
  break;
161
161
  case 'Enter':
162
- case 'NumpadEnter':
163
162
  case 'Tab':
164
163
  break;
165
164
  default:
166
- if (this.integerOnly && !(event.code !== 'Space' && Number(event.key) >= 0 && Number(event.key) <= 9) || this.tokens.join('').length >= this.length && event.code !== 'Delete') {
165
+ var target = event.target;
166
+ var hasSelection = target.selectionStart !== target.selectionEnd;
167
+ var isAtMaxLength = this.tokens.join('').length >= this.length;
168
+ var isValidKey = this.integerOnly ? /^[0-9]$/.test(event.key) : true;
169
+ if (!isValidKey || isAtMaxLength && event.key !== 'Delete' && !hasSelection) {
167
170
  event.preventDefault();
168
171
  }
169
172
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/inputotp/BaseInputOtp.vue","../../src/inputotp/InputOtp.vue","../../src/inputotp/InputOtp.vue?vue&type=template&id=05b21321&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport InputOtpStyle from 'primevue/inputotp/style';\n\nexport default {\n name: 'BaseInputOtp',\n extends: BaseInput,\n props: {\n readonly: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: Number,\n default: null\n },\n length: {\n type: Number,\n default: 4\n },\n mask: {\n type: Boolean,\n default: false\n },\n integerOnly: {\n type: Boolean,\n default: false\n }\n },\n style: InputOtpStyle,\n provide() {\n return {\n $pcInputOtp: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"i in length\" :key=\"i\">\n <slot :events=\"getTemplateEvents(i - 1)\" :attrs=\"getTemplateAttrs(i - 1)\" :index=\"i\">\n <OtpInputText\n :value=\"tokens[i - 1]\"\n :type=\"inputType\"\n :class=\"cx('pcInputText')\"\n :name=\"$formName\"\n :inputmode=\"inputMode\"\n :variant=\"variant\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :size=\"size\"\n :invalid=\"invalid\"\n :tabindex=\"tabindex\"\n :unstyled=\"unstyled\"\n @input=\"onInput($event, i - 1)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @paste=\"onPaste($event)\"\n @keydown=\"onKeyDown($event)\"\n @click=\"onClick($event)\"\n :pt=\"ptm('pcInputText')\"\n />\n </slot>\n </template>\n </div>\n</template>\n\n<script>\nimport { isTouchDevice } from '@primeuix/utils/dom';\nimport InputText from 'primevue/inputtext';\nimport BaseInputOtp from './BaseInputOtp.vue';\n\nexport default {\n name: 'InputOtp',\n extends: BaseInputOtp,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur'],\n data() {\n return {\n tokens: []\n };\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.tokens = newValue ? newValue.split('') : new Array(this.length);\n }\n }\n },\n methods: {\n getTemplateAttrs(index) {\n return {\n value: this.tokens[index]\n };\n },\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus(event),\n blur: (event) => this.onBlur(event),\n paste: (event) => this.onPaste(event)\n };\n },\n onInput(event, index) {\n this.tokens[index] = event.target.value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n this.moveToNext(event);\n }\n },\n updateModel(event) {\n const newValue = this.tokens.join('');\n\n this.writeValue(newValue, event);\n this.$emit('change', {\n originalEvent: event,\n value: newValue\n });\n },\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n },\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n },\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n },\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n },\n onFocus(event) {\n event.target.select();\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.$emit('blur', event);\n },\n onClick(event) {\n setTimeout(() => event.target.select(), 1);\n },\n onKeyDown(event) {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Tab':\n break;\n\n default:\n if ((this.integerOnly && !(event.code !== 'Space' && Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n },\n onPaste(event) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n let pastedCode = paste.substring(0, this.length);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n event.preventDefault();\n }\n },\n computed: {\n inputMode() {\n return this.integerOnly ? 'numeric' : 'text';\n },\n inputType() {\n return this.mask ? 'password' : 'text';\n }\n },\n components: {\n OtpInputText: InputText\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"i in length\" :key=\"i\">\n <slot :events=\"getTemplateEvents(i - 1)\" :attrs=\"getTemplateAttrs(i - 1)\" :index=\"i\">\n <OtpInputText\n :value=\"tokens[i - 1]\"\n :type=\"inputType\"\n :class=\"cx('pcInputText')\"\n :name=\"$formName\"\n :inputmode=\"inputMode\"\n :variant=\"variant\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :size=\"size\"\n :invalid=\"invalid\"\n :tabindex=\"tabindex\"\n :unstyled=\"unstyled\"\n @input=\"onInput($event, i - 1)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @paste=\"onPaste($event)\"\n @keydown=\"onKeyDown($event)\"\n @click=\"onClick($event)\"\n :pt=\"ptm('pcInputText')\"\n />\n </slot>\n </template>\n </div>\n</template>\n\n<script>\nimport { isTouchDevice } from '@primeuix/utils/dom';\nimport InputText from 'primevue/inputtext';\nimport BaseInputOtp from './BaseInputOtp.vue';\n\nexport default {\n name: 'InputOtp',\n extends: BaseInputOtp,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur'],\n data() {\n return {\n tokens: []\n };\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.tokens = newValue ? newValue.split('') : new Array(this.length);\n }\n }\n },\n methods: {\n getTemplateAttrs(index) {\n return {\n value: this.tokens[index]\n };\n },\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus(event),\n blur: (event) => this.onBlur(event),\n paste: (event) => this.onPaste(event)\n };\n },\n onInput(event, index) {\n this.tokens[index] = event.target.value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n this.moveToNext(event);\n }\n },\n updateModel(event) {\n const newValue = this.tokens.join('');\n\n this.writeValue(newValue, event);\n this.$emit('change', {\n originalEvent: event,\n value: newValue\n });\n },\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n },\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n },\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n },\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n },\n onFocus(event) {\n event.target.select();\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.$emit('blur', event);\n },\n onClick(event) {\n setTimeout(() => event.target.select(), 1);\n },\n onKeyDown(event) {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Tab':\n break;\n\n default:\n if ((this.integerOnly && !(event.code !== 'Space' && Number(event.key) >= 0 && Number(event.key) <= 9)) || (this.tokens.join('').length >= this.length && event.code !== 'Delete')) {\n event.preventDefault();\n }\n\n break;\n }\n },\n onPaste(event) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n let pastedCode = paste.substring(0, this.length);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n event.preventDefault();\n }\n },\n computed: {\n inputMode() {\n return this.integerOnly ? 'numeric' : 'text';\n },\n inputType() {\n return this.mask ? 'password' : 'text';\n }\n },\n components: {\n OtpInputText: InputText\n }\n};\n</script>\n"],"names":["name","BaseInput","props","readonly","type","Boolean","tabindex","Number","length","mask","integerOnly","style","InputOtpStyle","provide","$pcInputOtp","$parentInstance","BaseInputOtp","inheritAttrs","emits","data","tokens","watch","modelValue","immediate","handler","newValue","split","Array","methods","getTemplateAttrs","index","value","getTemplateEvents","_this","input","event","onInput","keydown","onKeyDown","focus","onFocus","blur","onBlur","paste","onPaste","target","updateModel","inputType","moveToPrev","isTouchDevice","CustomEvent","moveToNext","join","writeValue","$emit","originalEvent","prevInput","findPrevInput","select","nextInput","findNextInput","element","nextElement","nextElementSibling","nodeName","prevElement","previousElementSibling","onClick","setTimeout","ctrlKey","metaKey","code","preventDefault","key","clipboardData","getData","pastedCode","substring","isNaN","computed","inputMode","components","OtpInputText","InputText","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_Fragment","_renderList","i","_renderSlot","$slots","events","$options","attrs","_createVNode","_component_OtpInputText","$data","$formName","inputmode","variant","disabled","size","invalid","unstyled","$event","_cache","onKeydown","pt","ptm"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/inputotp/BaseInputOtp.vue","../../src/inputotp/InputOtp.vue","../../src/inputotp/InputOtp.vue?vue&type=template&id=71101059&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport InputOtpStyle from 'primevue/inputotp/style';\n\nexport default {\n name: 'BaseInputOtp',\n extends: BaseInput,\n props: {\n readonly: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: Number,\n default: null\n },\n length: {\n type: Number,\n default: 4\n },\n mask: {\n type: Boolean,\n default: false\n },\n integerOnly: {\n type: Boolean,\n default: false\n }\n },\n style: InputOtpStyle,\n provide() {\n return {\n $pcInputOtp: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"i in length\" :key=\"i\">\n <slot :events=\"getTemplateEvents(i - 1)\" :attrs=\"getTemplateAttrs(i - 1)\" :index=\"i\">\n <OtpInputText\n :value=\"tokens[i - 1]\"\n :type=\"inputType\"\n :class=\"cx('pcInputText')\"\n :name=\"$formName\"\n :inputmode=\"inputMode\"\n :variant=\"variant\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :size=\"size\"\n :invalid=\"invalid\"\n :tabindex=\"tabindex\"\n :unstyled=\"unstyled\"\n @input=\"onInput($event, i - 1)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @paste=\"onPaste($event)\"\n @keydown=\"onKeyDown($event)\"\n @click=\"onClick($event)\"\n :pt=\"ptm('pcInputText')\"\n />\n </slot>\n </template>\n </div>\n</template>\n\n<script>\nimport { isTouchDevice } from '@primeuix/utils/dom';\nimport InputText from 'primevue/inputtext';\nimport BaseInputOtp from './BaseInputOtp.vue';\n\nexport default {\n name: 'InputOtp',\n extends: BaseInputOtp,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur'],\n data() {\n return {\n tokens: []\n };\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.tokens = newValue ? newValue.split('') : new Array(this.length);\n }\n }\n },\n methods: {\n getTemplateAttrs(index) {\n return {\n value: this.tokens[index]\n };\n },\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus(event),\n blur: (event) => this.onBlur(event),\n paste: (event) => this.onPaste(event)\n };\n },\n onInput(event, index) {\n this.tokens[index] = event.target.value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n this.moveToNext(event);\n }\n },\n updateModel(event) {\n const newValue = this.tokens.join('');\n\n this.writeValue(newValue, event);\n this.$emit('change', {\n originalEvent: event,\n value: newValue\n });\n },\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n },\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n },\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n },\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n },\n onFocus(event) {\n event.target.select();\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.$emit('blur', event);\n },\n onClick(event) {\n setTimeout(() => event.target.select(), 1);\n },\n onKeyDown(event) {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'Tab':\n break;\n\n default:\n const target = event.target;\n const hasSelection = target.selectionStart !== target.selectionEnd;\n const isAtMaxLength = this.tokens.join('').length >= this.length;\n const isValidKey = this.integerOnly ? /^[0-9]$/.test(event.key) : true;\n\n if (!isValidKey || (isAtMaxLength && event.key !== 'Delete' && !hasSelection)) {\n event.preventDefault();\n }\n\n break;\n }\n },\n onPaste(event) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n let pastedCode = paste.substring(0, this.length);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n event.preventDefault();\n }\n },\n computed: {\n inputMode() {\n return this.integerOnly ? 'numeric' : 'text';\n },\n inputType() {\n return this.mask ? 'password' : 'text';\n }\n },\n components: {\n OtpInputText: InputText\n }\n};\n</script>\n","<template>\n <div :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <template v-for=\"i in length\" :key=\"i\">\n <slot :events=\"getTemplateEvents(i - 1)\" :attrs=\"getTemplateAttrs(i - 1)\" :index=\"i\">\n <OtpInputText\n :value=\"tokens[i - 1]\"\n :type=\"inputType\"\n :class=\"cx('pcInputText')\"\n :name=\"$formName\"\n :inputmode=\"inputMode\"\n :variant=\"variant\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :size=\"size\"\n :invalid=\"invalid\"\n :tabindex=\"tabindex\"\n :unstyled=\"unstyled\"\n @input=\"onInput($event, i - 1)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($event)\"\n @paste=\"onPaste($event)\"\n @keydown=\"onKeyDown($event)\"\n @click=\"onClick($event)\"\n :pt=\"ptm('pcInputText')\"\n />\n </slot>\n </template>\n </div>\n</template>\n\n<script>\nimport { isTouchDevice } from '@primeuix/utils/dom';\nimport InputText from 'primevue/inputtext';\nimport BaseInputOtp from './BaseInputOtp.vue';\n\nexport default {\n name: 'InputOtp',\n extends: BaseInputOtp,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur'],\n data() {\n return {\n tokens: []\n };\n },\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.tokens = newValue ? newValue.split('') : new Array(this.length);\n }\n }\n },\n methods: {\n getTemplateAttrs(index) {\n return {\n value: this.tokens[index]\n };\n },\n getTemplateEvents(index) {\n return {\n input: (event) => this.onInput(event, index),\n keydown: (event) => this.onKeyDown(event),\n focus: (event) => this.onFocus(event),\n blur: (event) => this.onBlur(event),\n paste: (event) => this.onPaste(event)\n };\n },\n onInput(event, index) {\n this.tokens[index] = event.target.value;\n this.updateModel(event);\n\n if (event.inputType === 'deleteContentBackward') {\n this.moveToPrev(event);\n } else if (event.inputType === 'insertText' || event.inputType === 'deleteContentForward' || (isTouchDevice() && event instanceof CustomEvent)) {\n this.moveToNext(event);\n }\n },\n updateModel(event) {\n const newValue = this.tokens.join('');\n\n this.writeValue(newValue, event);\n this.$emit('change', {\n originalEvent: event,\n value: newValue\n });\n },\n moveToPrev(event) {\n let prevInput = this.findPrevInput(event.target);\n\n if (prevInput) {\n prevInput.focus();\n prevInput.select();\n }\n },\n moveToNext(event) {\n let nextInput = this.findNextInput(event.target);\n\n if (nextInput) {\n nextInput.focus();\n nextInput.select();\n }\n },\n findNextInput(element) {\n let nextElement = element.nextElementSibling;\n\n if (!nextElement) return;\n\n return nextElement.nodeName === 'INPUT' ? nextElement : this.findNextInput(nextElement);\n },\n findPrevInput(element) {\n let prevElement = element.previousElementSibling;\n\n if (!prevElement) return;\n\n return prevElement.nodeName === 'INPUT' ? prevElement : this.findPrevInput(prevElement);\n },\n onFocus(event) {\n event.target.select();\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.$emit('blur', event);\n },\n onClick(event) {\n setTimeout(() => event.target.select(), 1);\n },\n onKeyDown(event) {\n if (event.ctrlKey || event.metaKey) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowLeft':\n this.moveToPrev(event);\n event.preventDefault();\n\n break;\n\n case 'ArrowUp':\n case 'ArrowDown':\n event.preventDefault();\n\n break;\n\n case 'Backspace':\n if (event.target.value.length === 0) {\n this.moveToPrev(event);\n event.preventDefault();\n }\n\n break;\n\n case 'ArrowRight':\n this.moveToNext(event);\n event.preventDefault();\n\n break;\n\n case 'Enter':\n case 'Tab':\n break;\n\n default:\n const target = event.target;\n const hasSelection = target.selectionStart !== target.selectionEnd;\n const isAtMaxLength = this.tokens.join('').length >= this.length;\n const isValidKey = this.integerOnly ? /^[0-9]$/.test(event.key) : true;\n\n if (!isValidKey || (isAtMaxLength && event.key !== 'Delete' && !hasSelection)) {\n event.preventDefault();\n }\n\n break;\n }\n },\n onPaste(event) {\n let paste = event.clipboardData.getData('text');\n\n if (paste.length) {\n let pastedCode = paste.substring(0, this.length);\n\n if (!this.integerOnly || !isNaN(pastedCode)) {\n this.tokens = pastedCode.split('');\n this.updateModel(event);\n }\n }\n\n event.preventDefault();\n }\n },\n computed: {\n inputMode() {\n return this.integerOnly ? 'numeric' : 'text';\n },\n inputType() {\n return this.mask ? 'password' : 'text';\n }\n },\n components: {\n OtpInputText: InputText\n }\n};\n</script>\n"],"names":["name","BaseInput","props","readonly","type","Boolean","tabindex","Number","length","mask","integerOnly","style","InputOtpStyle","provide","$pcInputOtp","$parentInstance","BaseInputOtp","inheritAttrs","emits","data","tokens","watch","modelValue","immediate","handler","newValue","split","Array","methods","getTemplateAttrs","index","value","getTemplateEvents","_this","input","event","onInput","keydown","onKeyDown","focus","onFocus","blur","onBlur","paste","onPaste","target","updateModel","inputType","moveToPrev","isTouchDevice","CustomEvent","moveToNext","join","writeValue","$emit","originalEvent","prevInput","findPrevInput","select","nextInput","findNextInput","element","nextElement","nextElementSibling","nodeName","prevElement","previousElementSibling","onClick","setTimeout","ctrlKey","metaKey","key","preventDefault","hasSelection","selectionStart","selectionEnd","isAtMaxLength","isValidKey","test","clipboardData","getData","pastedCode","substring","isNaN","computed","inputMode","components","OtpInputText","InputText","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","ptmi","_Fragment","_renderList","i","_renderSlot","$slots","events","$options","attrs","_createVNode","_component_OtpInputText","$data","$formName","inputmode","variant","disabled","size","invalid","unstyled","$event","_cache","onKeydown","pt","ptm"],"mappings":"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"}
@@ -176,7 +176,7 @@ export default {
176
176
  return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
177
177
  },
178
178
  getOptionLabel(option) {
179
- return this.optionLabel ? resolveFieldData(option, this.optionLabel) : typeof option === 'string' ? option : null;
179
+ return this.optionLabel ? resolveFieldData(option, this.optionLabel) : typeof option === 'string' || typeof option === 'number' || typeof option === 'boolean' ? option : null;
180
180
  },
181
181
  getOptionValue(option) {
182
182
  return this.optionValue ? resolveFieldData(option, this.optionValue) : option;
package/listbox/index.mjs CHANGED
@@ -164,7 +164,7 @@ var script = {
164
164
  return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
165
165
  },
166
166
  getOptionLabel: function getOptionLabel(option) {
167
- return this.optionLabel ? resolveFieldData(option, this.optionLabel) : typeof option === 'string' ? option : null;
167
+ return this.optionLabel ? resolveFieldData(option, this.optionLabel) : typeof option === 'string' || typeof option === 'number' || typeof option === 'boolean' ? option : null;
168
168
  },
169
169
  getOptionValue: function getOptionValue(option) {
170
170
  return this.optionValue ? resolveFieldData(option, this.optionValue) : option;