primevue 4.0.7 → 4.1.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.
- package/autocomplete/AutoComplete.vue +50 -50
- package/autocomplete/index.d.ts +5 -1
- package/autocomplete/index.mjs +11 -8
- package/autocomplete/index.mjs.map +1 -1
- package/autocomplete/style/index.d.ts +4 -0
- package/autocomplete/style/index.mjs +3 -2
- package/autocomplete/style/index.mjs.map +1 -1
- package/button/BaseButton.vue +2 -2
- package/button/Button.vue +1 -1
- package/button/index.d.ts +2 -2
- package/button/index.mjs +7 -6
- package/button/index.mjs.map +1 -1
- package/carousel/Carousel.vue +2 -7
- package/carousel/index.mjs +2 -7
- package/carousel/index.mjs.map +1 -1
- package/carousel/style/index.mjs +1 -1
- package/carousel/style/index.mjs.map +1 -1
- package/cascadeselect/BaseCascadeSelect.vue +4 -0
- package/cascadeselect/CascadeSelect.vue +53 -10
- package/cascadeselect/CascadeSelectSub.vue +24 -27
- package/cascadeselect/index.d.ts +41 -1
- package/cascadeselect/index.mjs +114 -73
- package/cascadeselect/index.mjs.map +1 -1
- package/cascadeselect/style/index.mjs +13 -6
- package/cascadeselect/style/index.mjs.map +1 -1
- package/colorpicker/BaseColorPicker.vue +2 -1
- package/colorpicker/ColorPicker.vue +3 -3
- package/colorpicker/index.d.ts +6 -1
- package/colorpicker/index.mjs +11 -4
- package/colorpicker/index.mjs.map +1 -1
- package/config/index.d.ts +9 -3
- package/confirmationoptions/index.d.ts +12 -0
- package/confirmdialog/ConfirmDialog.vue +11 -1
- package/confirmdialog/index.d.ts +3 -7
- package/confirmdialog/index.mjs +12 -2
- package/confirmdialog/index.mjs.map +1 -1
- package/contextmenu/BaseContextMenu.vue +4 -0
- package/contextmenu/ContextMenu.vue +37 -10
- package/contextmenu/index.d.ts +10 -5
- package/contextmenu/index.mjs +57 -28
- package/contextmenu/index.mjs.map +1 -1
- package/contextmenu/style/index.mjs +10 -5
- package/contextmenu/style/index.mjs.map +1 -1
- package/datatable/BaseDataTable.vue +4 -0
- package/datatable/DataTable.vue +5 -10
- package/datatable/HeaderCheckbox.vue +1 -1
- package/datatable/TableBody.vue +1 -1
- package/datatable/TableHeader.vue +51 -51
- package/datatable/index.d.ts +5 -0
- package/datatable/index.mjs +90 -87
- package/datatable/index.mjs.map +1 -1
- package/datatable/style/index.mjs +1 -1
- package/datatable/style/index.mjs.map +1 -1
- package/datepicker/DatePicker.vue +13 -11
- package/datepicker/index.d.ts +2 -10
- package/datepicker/index.mjs +12 -10
- package/datepicker/index.mjs.map +1 -1
- package/datepicker/style/index.mjs +3 -3
- package/datepicker/style/index.mjs.map +1 -1
- package/dialog/Dialog.vue +4 -10
- package/dialog/index.mjs +3 -10
- package/dialog/index.mjs.map +1 -1
- package/drawer/index.d.ts +5 -1
- package/fieldset/index.d.ts +2 -6
- package/fileupload/index.d.ts +1 -1
- package/floatlabel/BaseFloatLabel.vue +6 -1
- package/floatlabel/index.d.ts +7 -2
- package/floatlabel/index.mjs +6 -1
- package/floatlabel/index.mjs.map +1 -1
- package/floatlabel/style/index.d.ts +2 -2
- package/floatlabel/style/index.mjs +10 -2
- package/floatlabel/style/index.mjs.map +1 -1
- package/focustrap/index.d.ts +1 -1
- package/galleria/index.d.ts +8 -8
- package/galleria/style/index.mjs +2 -2
- package/galleria/style/index.mjs.map +1 -1
- package/iftalabel/BaseIftaLabel.vue +16 -0
- package/iftalabel/IftaLabel.vue +15 -0
- package/iftalabel/index.d.ts +130 -0
- package/iftalabel/index.mjs +32 -0
- package/iftalabel/index.mjs.map +1 -0
- package/iftalabel/package.json +11 -0
- package/iftalabel/style/index.d.ts +19 -0
- package/iftalabel/style/index.mjs +17 -0
- package/iftalabel/style/index.mjs.map +1 -0
- package/iftalabel/style/package.json +6 -0
- package/imagecompare/BaseImageCompare.vue +30 -0
- package/imagecompare/ImageCompare.vue +24 -0
- package/imagecompare/index.d.ts +149 -0
- package/imagecompare/index.mjs +61 -0
- package/imagecompare/index.mjs.map +1 -0
- package/imagecompare/package.json +11 -0
- package/imagecompare/style/index.d.ts +23 -0
- package/imagecompare/style/index.mjs +18 -0
- package/imagecompare/style/index.mjs.map +1 -0
- package/imagecompare/style/package.json +6 -0
- package/inputgroup/BaseInputGroup.vue +0 -6
- package/inputgroup/InputGroup.vue +1 -10
- package/inputgroup/index.d.ts +0 -5
- package/inputgroup/index.mjs +1 -18
- package/inputgroup/index.mjs.map +1 -1
- package/inputgroup/style/index.mjs +2 -7
- package/inputgroup/style/index.mjs.map +1 -1
- package/inputmask/InputMask.vue +23 -17
- package/inputmask/index.mjs +21 -16
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +2 -2
- package/inputnumber/index.d.ts +1 -1
- package/inputnumber/index.mjs +2 -2
- package/inputnumber/index.mjs.map +1 -1
- package/inputnumber/style/index.mjs +2 -2
- package/inputnumber/style/index.mjs.map +1 -1
- package/inputotp/BaseInputOtp.vue +1 -1
- package/inputotp/InputOtp.vue +6 -12
- package/inputotp/index.d.ts +2 -2
- package/inputotp/index.mjs +11 -12
- package/inputotp/index.mjs.map +1 -1
- package/inputotp/style/index.mjs +1 -1
- package/inputotp/style/index.mjs.map +1 -1
- package/inputtext/style/index.mjs +1 -1
- package/inputtext/style/index.mjs.map +1 -1
- package/keyfilter/index.d.ts +153 -0
- package/keyfilter/index.mjs +127 -0
- package/keyfilter/index.mjs.map +1 -0
- package/keyfilter/package.json +5 -0
- package/keyfilter/style/index.d.ts +14 -0
- package/keyfilter/style/index.mjs +8 -0
- package/keyfilter/style/index.mjs.map +1 -0
- package/keyfilter/style/package.json +6 -0
- package/megamenu/MegaMenu.vue +4 -4
- package/megamenu/index.d.ts +4 -0
- package/megamenu/index.mjs +2 -2
- package/megamenu/index.mjs.map +1 -1
- package/message/Message.vue +3 -19
- package/message/index.mjs +4 -20
- package/message/index.mjs.map +1 -1
- package/multiselect/BaseMultiSelect.vue +1 -5
- package/multiselect/MultiSelect.vue +16 -14
- package/multiselect/index.d.ts +2 -20
- package/multiselect/index.mjs +15 -17
- package/multiselect/index.mjs.map +1 -1
- package/multiselect/style/index.mjs +1 -1
- package/multiselect/style/index.mjs.map +1 -1
- package/orderlist/OrderList.vue +4 -8
- package/orderlist/index.d.ts +1 -5
- package/orderlist/index.mjs +3 -7
- package/orderlist/index.mjs.map +1 -1
- package/package.json +5 -5
- package/paginator/JumpToPageInput.vue +1 -1
- package/paginator/Paginator.vue +4 -16
- package/paginator/index.d.ts +1 -1
- package/paginator/index.mjs +4 -21
- package/paginator/index.mjs.map +1 -1
- package/paginator/style/index.d.ts +1 -1
- package/paginator/style/index.mjs +1 -1
- package/paginator/style/index.mjs.map +1 -1
- package/panelmenu/index.d.ts +1 -1
- package/password/BasePassword.vue +4 -0
- package/password/Password.vue +4 -3
- package/password/index.d.ts +6 -1
- package/password/index.mjs +10 -5
- package/password/index.mjs.map +1 -1
- package/password/style/index.mjs +1 -1
- package/password/style/index.mjs.map +1 -1
- package/picklist/PickList.vue +4 -8
- package/picklist/index.d.ts +1 -13
- package/picklist/index.mjs +3 -7
- package/picklist/index.mjs.map +1 -1
- package/popover/Popover.vue +4 -10
- package/popover/index.d.ts +1 -1
- package/popover/index.mjs +3 -9
- package/popover/index.mjs.map +1 -1
- package/progressspinner/index.d.ts +1 -1
- package/rating/style/index.mjs +1 -1
- package/rating/style/index.mjs.map +1 -1
- package/scrolltop/ScrollTop.vue +2 -9
- package/scrolltop/index.d.ts +1 -6
- package/scrolltop/index.mjs +3 -9
- package/scrolltop/index.mjs.map +1 -1
- package/select/Select.vue +13 -6
- package/select/index.mjs +54 -45
- package/select/index.mjs.map +1 -1
- package/select/style/index.mjs +1 -1
- package/select/style/index.mjs.map +1 -1
- package/speeddial/SpeedDial.vue +3 -1
- package/speeddial/index.d.ts +16 -1
- package/speeddial/index.mjs +10 -5
- package/speeddial/index.mjs.map +1 -1
- package/splitter/Splitter.vue +31 -25
- package/splitter/index.d.ts +8 -1
- package/splitter/index.mjs +28 -22
- package/splitter/index.mjs.map +1 -1
- package/tieredmenu/BaseTieredMenu.vue +4 -0
- package/tieredmenu/TieredMenu.vue +31 -4
- package/tieredmenu/TieredMenuSub.vue +3 -1
- package/tieredmenu/index.d.ts +5 -0
- package/tieredmenu/index.mjs +63 -34
- package/tieredmenu/index.mjs.map +1 -1
- package/tieredmenu/style/index.mjs +5 -4
- package/tieredmenu/style/index.mjs.map +1 -1
- package/toast/Toast.vue +2 -9
- package/toast/index.mjs +1 -8
- package/toast/index.mjs.map +1 -1
- package/toggleswitch/ToggleSwitch.vue +5 -1
- package/toggleswitch/index.d.ts +17 -1
- package/toggleswitch/index.mjs +7 -3
- package/toggleswitch/index.mjs.map +1 -1
- package/toggleswitch/style/index.d.ts +9 -1
- package/toggleswitch/style/index.mjs +3 -2
- package/toggleswitch/style/index.mjs.map +1 -1
- package/tooltip/index.mjs +6 -1
- package/tooltip/index.mjs.map +1 -1
- package/tree/BaseTree.vue +1 -1
- package/tree/Tree.vue +4 -2
- package/tree/TreeNode.vue +16 -4
- package/tree/index.d.ts +52 -3
- package/tree/index.mjs +23 -10
- package/tree/index.mjs.map +1 -1
- package/treeselect/BaseTreeSelect.vue +36 -0
- package/treeselect/TreeSelect.vue +31 -16
- package/treeselect/index.d.ts +73 -4
- package/treeselect/index.mjs +82 -25
- package/treeselect/index.mjs.map +1 -1
- package/treeselect/style/index.mjs +1 -1
- package/treeselect/style/index.mjs.map +1 -1
- package/treetable/BaseTreeTable.vue +8 -0
- package/treetable/TreeTable.vue +19 -11
- package/treetable/TreeTableRow.vue +28 -2
- package/treetable/index.d.ts +34 -0
- package/treetable/index.mjs +63 -19
- package/treetable/index.mjs.map +1 -1
- package/treetable/style/index.mjs +5 -3
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -1
- package/vetur-attributes.json +3 -3
- package/virtualscroller/style/index.mjs +3 -1
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +4 -4
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { isAttributeEquals } from '@primeuix/utils/dom';
|
|
2
|
+
import BaseDirective from '@primevue/core/basedirective';
|
|
3
|
+
import KeyFilterStyle from 'primevue/keyfilter/style';
|
|
4
|
+
|
|
5
|
+
var BaseKeyFilter = BaseDirective.extend({
|
|
6
|
+
style: KeyFilterStyle
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
10
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
12
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
13
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
14
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
15
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
16
|
+
var KeyFilter = BaseKeyFilter.extend('keyfilter', {
|
|
17
|
+
beforeMount: function beforeMount(el, options) {
|
|
18
|
+
var target = this.getTarget(el);
|
|
19
|
+
if (!target) return;
|
|
20
|
+
target.$_pkeyfilterModifier = this.getModifiers(options);
|
|
21
|
+
if (_typeof(options.value)) {
|
|
22
|
+
var _options$value, _options$value2;
|
|
23
|
+
target.$_pkeyfilterPattern = ((_options$value = options.value) === null || _options$value === void 0 ? void 0 : _options$value.pattern) || options.value;
|
|
24
|
+
target.$_pkeyfilterValidateOnly = ((_options$value2 = options.value) === null || _options$value2 === void 0 ? void 0 : _options$value2.validateOnly) || false;
|
|
25
|
+
}
|
|
26
|
+
this.bindEvents(target);
|
|
27
|
+
target.setAttribute('data-pd-keyfilter', true);
|
|
28
|
+
},
|
|
29
|
+
updated: function updated(el, options) {
|
|
30
|
+
var target = this.getTarget(el);
|
|
31
|
+
if (!target) return;
|
|
32
|
+
target.$_pkeyfilterModifier = this.getModifiers(options);
|
|
33
|
+
this.unbindEvents(el, options);
|
|
34
|
+
if (_typeof(options.value)) {
|
|
35
|
+
var _options$value3, _options$value4;
|
|
36
|
+
target.$_pkeyfilterPattern = ((_options$value3 = options.value) === null || _options$value3 === void 0 ? void 0 : _options$value3.pattern) || options.value;
|
|
37
|
+
target.$_pkeyfilterValidateOnly = ((_options$value4 = options.value) === null || _options$value4 === void 0 ? void 0 : _options$value4.validateOnly) || false;
|
|
38
|
+
}
|
|
39
|
+
this.bindEvents(target);
|
|
40
|
+
},
|
|
41
|
+
unmounted: function unmounted(el, options) {
|
|
42
|
+
this.unbindEvents(el, options);
|
|
43
|
+
},
|
|
44
|
+
DEFAULT_PATTERNS: {
|
|
45
|
+
pint: /[\d]/,
|
|
46
|
+
"int": /[\d\-]/,
|
|
47
|
+
pnum: /[\d\.]/,
|
|
48
|
+
money: /[\d\.\s,]/,
|
|
49
|
+
num: /[\d\-\.]/,
|
|
50
|
+
hex: /[0-9a-f]/i,
|
|
51
|
+
email: /[a-z0-9_\.\-@]/i,
|
|
52
|
+
alpha: /[a-z_]/i,
|
|
53
|
+
alphanum: /[a-z0-9_]/i
|
|
54
|
+
},
|
|
55
|
+
methods: {
|
|
56
|
+
getTarget: function getTarget(el) {
|
|
57
|
+
return isAttributeEquals(el, 'data-pc-name', 'inputtext') || isAttributeEquals(el, 'data-pc-name', 'textarea') ? el : null;
|
|
58
|
+
},
|
|
59
|
+
getModifiers: function getModifiers(options) {
|
|
60
|
+
if (options.modifiers && Object.keys(options.modifiers).length) {
|
|
61
|
+
return Object.keys(options.modifiers)[Object.keys.length - 1];
|
|
62
|
+
}
|
|
63
|
+
return '';
|
|
64
|
+
},
|
|
65
|
+
getRegex: function getRegex(target) {
|
|
66
|
+
return target.$_pkeyfilterPattern ? target.$_pkeyfilterPattern : target.$_pkeyfilterModifier ? this.DEFAULT_PATTERNS[target.$_pkeyfilterModifier] : /./;
|
|
67
|
+
},
|
|
68
|
+
bindEvents: function bindEvents(el) {
|
|
69
|
+
var _this = this;
|
|
70
|
+
el.$_keyfilterKeydownEvent = function (event) {
|
|
71
|
+
return _this.onKeydown(event, el);
|
|
72
|
+
};
|
|
73
|
+
el.$_keyfilterPasteEvent = function (event) {
|
|
74
|
+
return _this.onPaste(event, el);
|
|
75
|
+
};
|
|
76
|
+
el.addEventListener('keypress', el.$_keyfilterKeydownEvent);
|
|
77
|
+
el.addEventListener('paste', el.$_keyfilterPasteEvent);
|
|
78
|
+
},
|
|
79
|
+
unbindEvents: function unbindEvents(el) {
|
|
80
|
+
el.removeEventListener('keypress', el.$_keyfilterKeydownEvent);
|
|
81
|
+
el.removeEventListener('paste', el.$_keyfilterPasteEvent);
|
|
82
|
+
el.$_keyfilterKeydownEvent = null;
|
|
83
|
+
el.$_keyfilterPasteEvent = null;
|
|
84
|
+
},
|
|
85
|
+
onKeydown: function onKeydown(event, target) {
|
|
86
|
+
if (event.ctrlKey || event.altKey || event.metaKey || event.key === 'Tab') {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
var regex = this.getRegex(target);
|
|
90
|
+
if (regex === '') {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
var testKey = "".concat(event.key);
|
|
94
|
+
if (target.$_pkeyfilterValidateOnly) {
|
|
95
|
+
testKey = "".concat(event.target.value).concat(event.key);
|
|
96
|
+
}
|
|
97
|
+
if (!regex.test(testKey)) {
|
|
98
|
+
// runs before @update:modelValue emit
|
|
99
|
+
event.preventDefault();
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
onPaste: function onPaste(event, target) {
|
|
103
|
+
var regex = this.getRegex(target);
|
|
104
|
+
if (regex === '') {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
var clipboard = event.clipboardData.getData('text');
|
|
108
|
+
var testKey = '';
|
|
109
|
+
|
|
110
|
+
// loop over each letter pasted and if any fail prevent the paste
|
|
111
|
+
_toConsumableArray(clipboard).forEach(function (c) {
|
|
112
|
+
if (target.$_pkeyfilterValidateOnly) {
|
|
113
|
+
testKey += c;
|
|
114
|
+
} else {
|
|
115
|
+
testKey = c;
|
|
116
|
+
}
|
|
117
|
+
if (!regex.test(testKey)) {
|
|
118
|
+
event.preventDefault();
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
export { KeyFilter as default };
|
|
127
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/keyfilter/BaseKeyFilter.js","../../src/keyfilter/KeyFilter.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport KeyFilterStyle from 'primevue/keyfilter/style';\n\nconst BaseKeyFilter = BaseDirective.extend({\n style: KeyFilterStyle\n});\n\nexport default BaseKeyFilter;\n","import { isAttributeEquals } from '@primeuix/utils/dom';\nimport BaseKeyFilter from './BaseKeyFilter';\n\nconst KeyFilter = BaseKeyFilter.extend('keyfilter', {\n beforeMount(el, options) {\n let target = this.getTarget(el);\n\n if (!target) return;\n\n target.$_pkeyfilterModifier = this.getModifiers(options);\n\n if (typeof options.value) {\n target.$_pkeyfilterPattern = options.value?.pattern || options.value;\n target.$_pkeyfilterValidateOnly = options.value?.validateOnly || false;\n }\n\n this.bindEvents(target);\n\n target.setAttribute('data-pd-keyfilter', true);\n },\n updated(el, options) {\n let target = this.getTarget(el);\n\n if (!target) return;\n\n target.$_pkeyfilterModifier = this.getModifiers(options);\n this.unbindEvents(el, options);\n\n if (typeof options.value) {\n target.$_pkeyfilterPattern = options.value?.pattern || options.value;\n target.$_pkeyfilterValidateOnly = options.value?.validateOnly || false;\n }\n\n this.bindEvents(target);\n },\n unmounted(el, options) {\n this.unbindEvents(el, options);\n },\n DEFAULT_PATTERNS: {\n pint: /[\\d]/,\n int: /[\\d\\-]/,\n pnum: /[\\d\\.]/,\n money: /[\\d\\.\\s,]/,\n num: /[\\d\\-\\.]/,\n hex: /[0-9a-f]/i,\n email: /[a-z0-9_\\.\\-@]/i,\n alpha: /[a-z_]/i,\n alphanum: /[a-z0-9_]/i\n },\n methods: {\n getTarget(el) {\n return isAttributeEquals(el, 'data-pc-name', 'inputtext') || isAttributeEquals(el, 'data-pc-name', 'textarea') ? el : null;\n },\n getModifiers(options) {\n if (options.modifiers && Object.keys(options.modifiers).length) {\n return Object.keys(options.modifiers)[Object.keys.length - 1];\n }\n\n return '';\n },\n getRegex(target) {\n return target.$_pkeyfilterPattern ? target.$_pkeyfilterPattern : target.$_pkeyfilterModifier ? this.DEFAULT_PATTERNS[target.$_pkeyfilterModifier] : /./;\n },\n bindEvents(el) {\n el.$_keyfilterKeydownEvent = (event) => this.onKeydown(event, el);\n el.$_keyfilterPasteEvent = (event) => this.onPaste(event, el);\n\n el.addEventListener('keypress', el.$_keyfilterKeydownEvent);\n el.addEventListener('paste', el.$_keyfilterPasteEvent);\n },\n unbindEvents(el) {\n el.removeEventListener('keypress', el.$_keyfilterKeydownEvent);\n el.removeEventListener('paste', el.$_keyfilterPasteEvent);\n\n el.$_keyfilterKeydownEvent = null;\n el.$_keyfilterPasteEvent = null;\n },\n onKeydown(event, target) {\n if (event.ctrlKey || event.altKey || event.metaKey || event.key === 'Tab') {\n return;\n }\n\n let regex = this.getRegex(target);\n\n if (regex === '') {\n return;\n }\n\n let testKey = `${event.key}`;\n\n if (target.$_pkeyfilterValidateOnly) {\n testKey = `${event.target.value}${event.key}`;\n }\n\n if (!regex.test(testKey)) {\n // runs before @update:modelValue emit\n event.preventDefault();\n }\n },\n onPaste(event, target) {\n let regex = this.getRegex(target);\n\n if (regex === '') {\n return;\n }\n\n const clipboard = event.clipboardData.getData('text');\n let testKey = '';\n\n // loop over each letter pasted and if any fail prevent the paste\n [...clipboard].forEach((c) => {\n if (target.$_pkeyfilterValidateOnly) {\n testKey += c;\n } else {\n testKey = c;\n }\n\n if (!regex.test(testKey)) {\n event.preventDefault();\n\n return false;\n }\n });\n }\n }\n});\n\nexport default KeyFilter;\n"],"names":["BaseKeyFilter","BaseDirective","extend","style","KeyFilterStyle","KeyFilter","beforeMount","el","options","target","getTarget","$_pkeyfilterModifier","getModifiers","_typeof","value","_options$value","_options$value2","$_pkeyfilterPattern","pattern","$_pkeyfilterValidateOnly","validateOnly","bindEvents","setAttribute","updated","unbindEvents","_options$value3","_options$value4","unmounted","DEFAULT_PATTERNS","pint","pnum","money","num","hex","email","alpha","alphanum","methods","isAttributeEquals","modifiers","Object","keys","length","getRegex","_this","$_keyfilterKeydownEvent","event","onKeydown","$_keyfilterPasteEvent","onPaste","addEventListener","removeEventListener","ctrlKey","altKey","metaKey","key","regex","testKey","concat","test","preventDefault","clipboard","clipboardData","getData","_toConsumableArray","forEach","c"],"mappings":";;;;AAGA,IAAMA,aAAa,GAAGC,aAAa,CAACC,MAAM,CAAC;AACvCC,EAAAA,KAAK,EAAEC,cAAAA;AACX,CAAC,CAAC;;;;;;;;;ACFF,IAAMC,SAAS,GAAGL,aAAa,CAACE,MAAM,CAAC,WAAW,EAAE;AAChDI,EAAAA,WAAW,WAAXA,WAAWA,CAACC,EAAE,EAAEC,OAAO,EAAE;AACrB,IAAA,IAAIC,MAAM,GAAG,IAAI,CAACC,SAAS,CAACH,EAAE,CAAC,CAAA;IAE/B,IAAI,CAACE,MAAM,EAAE,OAAA;IAEbA,MAAM,CAACE,oBAAoB,GAAG,IAAI,CAACC,YAAY,CAACJ,OAAO,CAAC,CAAA;AAExD,IAAA,IAAAK,OAAA,CAAWL,OAAO,CAACM,KAAK,CAAE,EAAA;MAAA,IAAAC,cAAA,EAAAC,eAAA,CAAA;AACtBP,MAAAA,MAAM,CAACQ,mBAAmB,GAAG,EAAAF,cAAA,GAAAP,OAAO,CAACM,KAAK,MAAAC,IAAAA,IAAAA,cAAA,uBAAbA,cAAA,CAAeG,OAAO,KAAIV,OAAO,CAACM,KAAK,CAAA;AACpEL,MAAAA,MAAM,CAACU,wBAAwB,GAAG,CAAAH,CAAAA,eAAA,GAAAR,OAAO,CAACM,KAAK,MAAA,IAAA,IAAAE,eAAA,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAA,CAAeI,YAAY,KAAI,KAAK,CAAA;AAC1E,KAAA;AAEA,IAAA,IAAI,CAACC,UAAU,CAACZ,MAAM,CAAC,CAAA;AAEvBA,IAAAA,MAAM,CAACa,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;GACjD;AACDC,EAAAA,OAAO,WAAPA,OAAOA,CAAChB,EAAE,EAAEC,OAAO,EAAE;AACjB,IAAA,IAAIC,MAAM,GAAG,IAAI,CAACC,SAAS,CAACH,EAAE,CAAC,CAAA;IAE/B,IAAI,CAACE,MAAM,EAAE,OAAA;IAEbA,MAAM,CAACE,oBAAoB,GAAG,IAAI,CAACC,YAAY,CAACJ,OAAO,CAAC,CAAA;AACxD,IAAA,IAAI,CAACgB,YAAY,CAACjB,EAAE,EAAEC,OAAO,CAAC,CAAA;AAE9B,IAAA,IAAAK,OAAA,CAAWL,OAAO,CAACM,KAAK,CAAE,EAAA;MAAA,IAAAW,eAAA,EAAAC,eAAA,CAAA;AACtBjB,MAAAA,MAAM,CAACQ,mBAAmB,GAAG,EAAAQ,eAAA,GAAAjB,OAAO,CAACM,KAAK,MAAAW,IAAAA,IAAAA,eAAA,uBAAbA,eAAA,CAAeP,OAAO,KAAIV,OAAO,CAACM,KAAK,CAAA;AACpEL,MAAAA,MAAM,CAACU,wBAAwB,GAAG,CAAAO,CAAAA,eAAA,GAAAlB,OAAO,CAACM,KAAK,MAAA,IAAA,IAAAY,eAAA,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAA,CAAeN,YAAY,KAAI,KAAK,CAAA;AAC1E,KAAA;AAEA,IAAA,IAAI,CAACC,UAAU,CAACZ,MAAM,CAAC,CAAA;GAC1B;AACDkB,EAAAA,SAAS,WAATA,SAASA,CAACpB,EAAE,EAAEC,OAAO,EAAE;AACnB,IAAA,IAAI,CAACgB,YAAY,CAACjB,EAAE,EAAEC,OAAO,CAAC,CAAA;GACjC;AACDoB,EAAAA,gBAAgB,EAAE;AACdC,IAAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAA,EAAK,QAAQ;AACbC,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,KAAK,EAAE,WAAW;AAClBC,IAAAA,GAAG,EAAE,UAAU;AACfC,IAAAA,GAAG,EAAE,WAAW;AAChBC,IAAAA,KAAK,EAAE,iBAAiB;AACxBC,IAAAA,KAAK,EAAE,SAAS;AAChBC,IAAAA,QAAQ,EAAE,YAAA;GACb;AACDC,EAAAA,OAAO,EAAE;AACL3B,IAAAA,SAAS,EAATA,SAAAA,SAASA,CAACH,EAAE,EAAE;MACV,OAAO+B,iBAAiB,CAAC/B,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,IAAI+B,iBAAiB,CAAC/B,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,GAAGA,EAAE,GAAG,IAAI,CAAA;KAC7H;AACDK,IAAAA,YAAY,EAAZA,SAAAA,YAAYA,CAACJ,OAAO,EAAE;AAClB,MAAA,IAAIA,OAAO,CAAC+B,SAAS,IAAIC,MAAM,CAACC,IAAI,CAACjC,OAAO,CAAC+B,SAAS,CAAC,CAACG,MAAM,EAAE;AAC5D,QAAA,OAAOF,MAAM,CAACC,IAAI,CAACjC,OAAO,CAAC+B,SAAS,CAAC,CAACC,MAAM,CAACC,IAAI,CAACC,MAAM,GAAG,CAAC,CAAC,CAAA;AACjE,OAAA;AAEA,MAAA,OAAO,EAAE,CAAA;KACZ;AACDC,IAAAA,QAAQ,EAARA,SAAAA,QAAQA,CAAClC,MAAM,EAAE;MACb,OAAOA,MAAM,CAACQ,mBAAmB,GAAGR,MAAM,CAACQ,mBAAmB,GAAGR,MAAM,CAACE,oBAAoB,GAAG,IAAI,CAACiB,gBAAgB,CAACnB,MAAM,CAACE,oBAAoB,CAAC,GAAG,GAAG,CAAA;KAC1J;AACDU,IAAAA,UAAU,EAAVA,SAAAA,UAAUA,CAACd,EAAE,EAAE;AAAA,MAAA,IAAAqC,KAAA,GAAA,IAAA,CAAA;AACXrC,MAAAA,EAAE,CAACsC,uBAAuB,GAAG,UAACC,KAAK,EAAA;AAAA,QAAA,OAAKF,KAAI,CAACG,SAAS,CAACD,KAAK,EAAEvC,EAAE,CAAC,CAAA;AAAA,OAAA,CAAA;AACjEA,MAAAA,EAAE,CAACyC,qBAAqB,GAAG,UAACF,KAAK,EAAA;AAAA,QAAA,OAAKF,KAAI,CAACK,OAAO,CAACH,KAAK,EAAEvC,EAAE,CAAC,CAAA;AAAA,OAAA,CAAA;MAE7DA,EAAE,CAAC2C,gBAAgB,CAAC,UAAU,EAAE3C,EAAE,CAACsC,uBAAuB,CAAC,CAAA;MAC3DtC,EAAE,CAAC2C,gBAAgB,CAAC,OAAO,EAAE3C,EAAE,CAACyC,qBAAqB,CAAC,CAAA;KACzD;AACDxB,IAAAA,YAAY,EAAZA,SAAAA,YAAYA,CAACjB,EAAE,EAAE;MACbA,EAAE,CAAC4C,mBAAmB,CAAC,UAAU,EAAE5C,EAAE,CAACsC,uBAAuB,CAAC,CAAA;MAC9DtC,EAAE,CAAC4C,mBAAmB,CAAC,OAAO,EAAE5C,EAAE,CAACyC,qBAAqB,CAAC,CAAA;MAEzDzC,EAAE,CAACsC,uBAAuB,GAAG,IAAI,CAAA;MACjCtC,EAAE,CAACyC,qBAAqB,GAAG,IAAI,CAAA;KAClC;AACDD,IAAAA,SAAS,WAATA,SAASA,CAACD,KAAK,EAAErC,MAAM,EAAE;AACrB,MAAA,IAAIqC,KAAK,CAACM,OAAO,IAAIN,KAAK,CAACO,MAAM,IAAIP,KAAK,CAACQ,OAAO,IAAIR,KAAK,CAACS,GAAG,KAAK,KAAK,EAAE;AACvE,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIC,KAAK,GAAG,IAAI,CAACb,QAAQ,CAAClC,MAAM,CAAC,CAAA;MAEjC,IAAI+C,KAAK,KAAK,EAAE,EAAE;AACd,QAAA,OAAA;AACJ,OAAA;AAEA,MAAA,IAAIC,OAAO,GAAAC,EAAAA,CAAAA,MAAA,CAAMZ,KAAK,CAACS,GAAG,CAAE,CAAA;MAE5B,IAAI9C,MAAM,CAACU,wBAAwB,EAAE;AACjCsC,QAAAA,OAAO,GAAAC,EAAAA,CAAAA,MAAA,CAAMZ,KAAK,CAACrC,MAAM,CAACK,KAAK,CAAA,CAAA4C,MAAA,CAAGZ,KAAK,CAACS,GAAG,CAAE,CAAA;AACjD,OAAA;AAEA,MAAA,IAAI,CAACC,KAAK,CAACG,IAAI,CAACF,OAAO,CAAC,EAAE;AACtB;QACAX,KAAK,CAACc,cAAc,EAAE,CAAA;AAC1B,OAAA;KACH;AACDX,IAAAA,OAAO,WAAPA,OAAOA,CAACH,KAAK,EAAErC,MAAM,EAAE;AACnB,MAAA,IAAI+C,KAAK,GAAG,IAAI,CAACb,QAAQ,CAAClC,MAAM,CAAC,CAAA;MAEjC,IAAI+C,KAAK,KAAK,EAAE,EAAE;AACd,QAAA,OAAA;AACJ,OAAA;MAEA,IAAMK,SAAS,GAAGf,KAAK,CAACgB,aAAa,CAACC,OAAO,CAAC,MAAM,CAAC,CAAA;MACrD,IAAIN,OAAO,GAAG,EAAE,CAAA;;AAEhB;AACAO,MAAAA,kBAAA,CAAIH,SAAS,CAAA,CAAEI,OAAO,CAAC,UAACC,CAAC,EAAK;QAC1B,IAAIzD,MAAM,CAACU,wBAAwB,EAAE;AACjCsC,UAAAA,OAAO,IAAIS,CAAC,CAAA;AAChB,SAAC,MAAM;AACHT,UAAAA,OAAO,GAAGS,CAAC,CAAA;AACf,SAAA;AAEA,QAAA,IAAI,CAACV,KAAK,CAACG,IAAI,CAACF,OAAO,CAAC,EAAE;UACtBX,KAAK,CAACc,cAAc,EAAE,CAAA;AAEtB,UAAA,OAAO,KAAK,CAAA;AAChB,SAAA;AACJ,OAAC,CAAC,CAAA;AACN,KAAA;AACJ,GAAA;AACJ,CAAC;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* A keyfilter is a directive used to block individual keystrokes based on a pattern.
|
|
4
|
+
*
|
|
5
|
+
* [Live Demo](https://primevue.org/keyfilter)
|
|
6
|
+
*
|
|
7
|
+
* @module keyfilterstyle
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import type { BaseStyle } from '@primevue/core/base/style';
|
|
11
|
+
|
|
12
|
+
export enum KeyFilterClasses {}
|
|
13
|
+
|
|
14
|
+
export interface KeyFilterStyle extends BaseStyle {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/keyfilter/style/KeyFilterStyle.js"],"sourcesContent":["import BaseStyle from '@primevue/core/base/style';\n\nexport default BaseStyle.extend({\n name: 'keyfilter-directive'\n});\n"],"names":["BaseStyle","extend","name"],"mappings":";;AAEA,qBAAeA,SAAS,CAACC,MAAM,CAAC;AAC5BC,EAAAA,IAAI,EAAE,qBAAA;AACV,CAAC,CAAC;;;;"}
|
package/megamenu/MegaMenu.vue
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
>
|
|
22
22
|
<!--TODO: menubuttonicon deprecated since v4.0. Use buttonicon-->
|
|
23
23
|
<slot :name="$slots.buttonicon ? 'buttonicon' : 'menubuttonicon'">
|
|
24
|
-
<BarsIcon v-bind="ptm('
|
|
24
|
+
<BarsIcon v-bind="ptm('buttonIcon')" />
|
|
25
25
|
</slot>
|
|
26
26
|
</a>
|
|
27
27
|
</slot>
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
</template>
|
|
59
59
|
|
|
60
60
|
<script>
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import { isNotEmpty, resolve, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';
|
|
61
|
+
import { findSingle, focus, isTouchDevice } from '@primeuix/utils/dom';
|
|
62
|
+
import { findLastIndex, isEmpty, isNotEmpty, isPrintableCharacter, resolve } from '@primeuix/utils/object';
|
|
64
63
|
import { ZIndex } from '@primeuix/utils/zindex';
|
|
64
|
+
import { UniqueComponentId } from '@primevue/core/utils';
|
|
65
65
|
import BarsIcon from '@primevue/icons/bars';
|
|
66
66
|
import BaseMegaMenu from './BaseMegaMenu.vue';
|
|
67
67
|
import MegaMenuSub from './MegaMenuSub.vue';
|
package/megamenu/index.d.ts
CHANGED
|
@@ -114,6 +114,10 @@ export interface MegaMenuPassThroughOptions {
|
|
|
114
114
|
* Used to pass attributes to the mobile popup menu button's DOM element.
|
|
115
115
|
*/
|
|
116
116
|
button?: MegaMenuPassThroughOptionType;
|
|
117
|
+
/**
|
|
118
|
+
* Used to pass attributes to the mobile popup menu button icon's DOM element.
|
|
119
|
+
*/
|
|
120
|
+
buttonIcon?: MegaMenuPassThroughOptionType;
|
|
117
121
|
/**
|
|
118
122
|
* Used to pass attributes to the start of the component.
|
|
119
123
|
*/
|
package/megamenu/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { UniqueComponentId } from '@primevue/core/utils';
|
|
2
1
|
import { focus, findSingle, isTouchDevice } from '@primeuix/utils/dom';
|
|
3
2
|
import { resolve, isNotEmpty, isPrintableCharacter, isEmpty, findLastIndex } from '@primeuix/utils/object';
|
|
4
3
|
import { ZIndex } from '@primeuix/utils/zindex';
|
|
4
|
+
import { UniqueComponentId } from '@primevue/core/utils';
|
|
5
5
|
import BarsIcon from '@primevue/icons/bars';
|
|
6
6
|
import BaseComponent from '@primevue/core/basecomponent';
|
|
7
7
|
import MegaMenuStyle from 'primevue/megamenu/style';
|
|
@@ -1014,7 +1014,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1014
1014
|
return $options.menuButtonKeydown($event);
|
|
1015
1015
|
})
|
|
1016
1016
|
}, _ctx.ptm('button')), [renderSlot(_ctx.$slots, _ctx.$slots.buttonicon ? 'buttonicon' : 'menubuttonicon', {}, function () {
|
|
1017
|
-
return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm('
|
|
1017
|
+
return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm('buttonIcon'))), null, 16)];
|
|
1018
1018
|
})], 16, _hoisted_2)) : createCommentVNode("", true)];
|
|
1019
1019
|
}), createVNode(_component_MegaMenuSub, {
|
|
1020
1020
|
ref: $options.menubarRef,
|