q2-tecton-elements 1.38.0 → 1.38.1
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/dist/cjs/click-elsewhere_2.cjs.entry.js +1 -1
- package/dist/cjs/{index-5d70039b.js → index-09c712ea.js} +9 -2
- package/dist/cjs/index-09c712ea.js.map +1 -0
- package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
- package/dist/cjs/q2-card.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
- package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +76 -4
- package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +1 -1
- package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
- package/dist/cjs/q2-optgroup_2.cjs.entry.js +1 -1
- package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
- package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
- package/dist/cjs/q2-pill.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/q2-radio.cjs.entry.js +1 -1
- package/dist/cjs/q2-section.cjs.entry.js +1 -1
- package/dist/cjs/q2-select.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
- package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
- package/dist/cjs/q2-tag.cjs.entry.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
- package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/q2-data-table/index.js +6 -6
- package/dist/collection/components/q2-input/index.js +77 -5
- package/dist/collection/components/q2-input/index.js.map +1 -1
- package/dist/collection/components/q2-option-list/index.js +2 -2
- package/dist/collection/components/q2-stepper-pane/index.js +2 -2
- package/dist/collection/utils/index.js +8 -1
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/components/index16.js +8 -1
- package/dist/components/index16.js.map +1 -1
- package/dist/components/index9.js +76 -4
- package/dist/components/index9.js.map +1 -1
- package/dist/esm/click-elsewhere_2.entry.js +1 -1
- package/dist/esm/{index-58324e40.js → index-84f1034e.js} +9 -2
- package/dist/esm/index-84f1034e.js.map +1 -0
- package/dist/esm/q2-action-sheet.entry.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +1 -1
- package/dist/esm/q2-calendar.entry.js +1 -1
- package/dist/esm/q2-card.entry.js +1 -1
- package/dist/esm/q2-carousel-pane.entry.js +1 -1
- package/dist/esm/q2-carousel.entry.js +1 -1
- package/dist/esm/q2-chart-area.entry.js +1 -1
- package/dist/esm/q2-chart-bar.entry.js +1 -1
- package/dist/esm/q2-chart-donut.entry.js +1 -1
- package/dist/esm/q2-checkbox-group.entry.js +1 -1
- package/dist/esm/q2-checkbox.entry.js +1 -1
- package/dist/esm/q2-data-table.entry.js +1 -1
- package/dist/esm/q2-dropdown-item.entry.js +1 -1
- package/dist/esm/q2-dropdown.entry.js +1 -1
- package/dist/esm/q2-editable-field.entry.js +1 -1
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +76 -4
- package/dist/esm/q2-input.entry.js.map +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +1 -1
- package/dist/esm/q2-month-picker.entry.js +1 -1
- package/dist/esm/q2-optgroup_2.entry.js +1 -1
- package/dist/esm/q2-option-list.entry.js +1 -1
- package/dist/esm/q2-pagination.entry.js +1 -1
- package/dist/esm/q2-pill.entry.js +1 -1
- package/dist/esm/q2-radio-group.entry.js +1 -1
- package/dist/esm/q2-radio.entry.js +1 -1
- package/dist/esm/q2-section.entry.js +1 -1
- package/dist/esm/q2-select.entry.js +1 -1
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper-vertical.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js +1 -1
- package/dist/esm/q2-tab-container.entry.js +1 -1
- package/dist/esm/q2-tag.entry.js +1 -1
- package/dist/esm/q2-textarea.entry.js +1 -1
- package/dist/esm/q2-tooltip.entry.js +1 -1
- package/dist/q2-tecton-elements/{p-a8764ad0.entry.js → p-059ea7c9.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-65ab48b2.entry.js → p-072bda73.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-5ee3bf5f.entry.js → p-0cade28b.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-53bd1be9.entry.js → p-107f07f2.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-afd284f5.entry.js → p-145849d0.entry.js} +2 -2
- package/dist/q2-tecton-elements/p-14e3c48f.entry.js +2 -0
- package/dist/q2-tecton-elements/p-14e3c48f.entry.js.map +1 -0
- package/dist/q2-tecton-elements/{p-eb3289eb.entry.js → p-15179d55.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-99ff69c7.entry.js → p-2812f9d2.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-00587034.entry.js → p-29a7ca63.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ec8624c9.entry.js → p-311f37e2.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-0b68e7ae.entry.js → p-3d82d94f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-bf3846ea.entry.js → p-52132d80.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-09c7016a.entry.js → p-57e81863.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-b77dd620.entry.js → p-5843f6c8.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ae00a4df.entry.js → p-5c033ed9.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-850025cf.entry.js → p-69dcf12e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-b54fe10a.entry.js → p-6ae87415.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e4a4f0e0.entry.js → p-72b4ecc6.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-570e5e5d.entry.js → p-81b917a5.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-a99817de.entry.js → p-85dc889e.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-88a19e74.entry.js → p-8f273db2.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-1e0b598b.entry.js → p-8f8d5362.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-75fd97cb.entry.js → p-9220365b.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-e1b729a0.entry.js → p-959f47ef.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-b2a176bb.entry.js → p-a09c90c1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-32245ba0.entry.js → p-a4017e55.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-d66b73bb.entry.js → p-a6b03db1.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-9407edb1.entry.js → p-af98db79.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-357b5458.entry.js → p-b83568e7.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-ea191d6b.entry.js → p-c057134f.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-0fc09a6a.entry.js → p-db3bbfb8.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-470582f2.entry.js → p-deb773a5.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-de165df1.entry.js → p-e4dadcd7.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-d6f9c4d6.entry.js → p-e98d9cf2.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-17f7f31d.entry.js → p-f198f77b.entry.js} +2 -2
- package/dist/q2-tecton-elements/{p-75ad4639.js → p-f34521a4.js} +2 -2
- package/dist/q2-tecton-elements/p-f34521a4.js.map +1 -0
- package/dist/q2-tecton-elements/{p-ce4c903f.entry.js → p-f3868a77.entry.js} +2 -2
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/test/elements/q2-input-test.e2e.js +44 -2
- package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
- package/dist/types/components/q2-input/index.d.ts +4 -1
- package/package.json +3 -3
- package/dist/cjs/index-5d70039b.js.map +0 -1
- package/dist/esm/index-58324e40.js.map +0 -1
- package/dist/q2-tecton-elements/p-742c6fb9.entry.js +0 -2
- package/dist/q2-tecton-elements/p-742c6fb9.entry.js.map +0 -1
- package/dist/q2-tecton-elements/p-75ad4639.js.map +0 -1
- /package/dist/q2-tecton-elements/{p-a8764ad0.entry.js.map → p-059ea7c9.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-65ab48b2.entry.js.map → p-072bda73.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-5ee3bf5f.entry.js.map → p-0cade28b.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-53bd1be9.entry.js.map → p-107f07f2.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-afd284f5.entry.js.map → p-145849d0.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-eb3289eb.entry.js.map → p-15179d55.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-99ff69c7.entry.js.map → p-2812f9d2.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-00587034.entry.js.map → p-29a7ca63.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ec8624c9.entry.js.map → p-311f37e2.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0b68e7ae.entry.js.map → p-3d82d94f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-bf3846ea.entry.js.map → p-52132d80.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-09c7016a.entry.js.map → p-57e81863.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-b77dd620.entry.js.map → p-5843f6c8.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ae00a4df.entry.js.map → p-5c033ed9.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-850025cf.entry.js.map → p-69dcf12e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-b54fe10a.entry.js.map → p-6ae87415.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e4a4f0e0.entry.js.map → p-72b4ecc6.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-570e5e5d.entry.js.map → p-81b917a5.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-a99817de.entry.js.map → p-85dc889e.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-88a19e74.entry.js.map → p-8f273db2.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-1e0b598b.entry.js.map → p-8f8d5362.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-75fd97cb.entry.js.map → p-9220365b.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-e1b729a0.entry.js.map → p-959f47ef.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-b2a176bb.entry.js.map → p-a09c90c1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-32245ba0.entry.js.map → p-a4017e55.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d66b73bb.entry.js.map → p-a6b03db1.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-9407edb1.entry.js.map → p-af98db79.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-357b5458.entry.js.map → p-b83568e7.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ea191d6b.entry.js.map → p-c057134f.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-0fc09a6a.entry.js.map → p-db3bbfb8.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-470582f2.entry.js.map → p-deb773a5.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-de165df1.entry.js.map → p-e4dadcd7.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-d6f9c4d6.entry.js.map → p-e98d9cf2.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-17f7f31d.entry.js.map → p-f198f77b.entry.js.map} +0 -0
- /package/dist/q2-tecton-elements/{p-ce4c903f.entry.js.map → p-f3868a77.entry.js.map} +0 -0
- /package/dist/types/workspace/workspace/{_Gitlab_tecton-production_master → tecton-production_release_1.38.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-c2597758.js');
|
|
6
|
-
const index$1 = require('./index-
|
|
6
|
+
const index$1 = require('./index-09c712ea.js');
|
|
7
7
|
|
|
8
8
|
function formatNumber(val = '', options = {
|
|
9
9
|
prefix: '',
|
|
@@ -2939,6 +2939,8 @@ const Q2Input = class {
|
|
|
2939
2939
|
};
|
|
2940
2940
|
this.onInputInput = (event) => {
|
|
2941
2941
|
event.stopPropagation();
|
|
2942
|
+
if (this.type === 'currency')
|
|
2943
|
+
this.handleCurrencyDeletion(event);
|
|
2942
2944
|
const newFormattedValue = this.getFormattedValue(event.target.value, false);
|
|
2943
2945
|
this.handleDataInput(newFormattedValue);
|
|
2944
2946
|
};
|
|
@@ -2962,9 +2964,19 @@ const Q2Input = class {
|
|
|
2962
2964
|
}
|
|
2963
2965
|
this.setCursorPosition(cursorPosition);
|
|
2964
2966
|
};
|
|
2967
|
+
// Sets textSelectedForDeletion to true if the user has selected text for deletion
|
|
2968
|
+
// This is used to prevent other logic from running when text is deleted
|
|
2969
|
+
this.handleCurrencyKeydown = (event) => {
|
|
2970
|
+
if (event.key !== 'Backspace' && event.key !== 'Delete')
|
|
2971
|
+
return;
|
|
2972
|
+
const inputElement = this.inputField;
|
|
2973
|
+
this.textSelectedForDeletion = inputElement.selectionStart !== inputElement.selectionEnd;
|
|
2974
|
+
};
|
|
2965
2975
|
this.onInputKeydown = (event) => {
|
|
2966
2976
|
const keysThatMoveCursor = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'];
|
|
2967
2977
|
const { key } = event;
|
|
2978
|
+
if (this.type === 'currency')
|
|
2979
|
+
this.handleCurrencyKeydown(event);
|
|
2968
2980
|
if (this.shouldCursorStayAtEnd && keysThatMoveCursor.includes(key))
|
|
2969
2981
|
event.preventDefault();
|
|
2970
2982
|
if (key === 'Enter' && this.valueOnFocus !== this.formattedValueObject.value) {
|
|
@@ -3317,6 +3329,60 @@ const Q2Input = class {
|
|
|
3317
3329
|
this.value = event.detail.value;
|
|
3318
3330
|
}
|
|
3319
3331
|
}
|
|
3332
|
+
handleCurrencyDeletion(event) {
|
|
3333
|
+
// Don't do anything if text was selected for deletion
|
|
3334
|
+
if (this.textSelectedForDeletion) {
|
|
3335
|
+
this.textSelectedForDeletion = false;
|
|
3336
|
+
return;
|
|
3337
|
+
}
|
|
3338
|
+
// We only care about "Backspace" and "Delete" events
|
|
3339
|
+
if (event.inputType !== 'deleteContentBackward' && event.inputType !== 'deleteContentForward')
|
|
3340
|
+
return;
|
|
3341
|
+
const input = event.target;
|
|
3342
|
+
const cursorPosition = input.selectionStart;
|
|
3343
|
+
const { formattedValue } = this.formattedValueObject;
|
|
3344
|
+
if (cursorPosition === null)
|
|
3345
|
+
return;
|
|
3346
|
+
let cursorMap;
|
|
3347
|
+
switch (event.inputType) {
|
|
3348
|
+
case 'deleteContentBackward':
|
|
3349
|
+
const valueBeforeCursor = formattedValue.substring(0, cursorPosition + 1);
|
|
3350
|
+
const isPrevCharAlphaNum = /[a-zA-Z0-9]$/.test(valueBeforeCursor);
|
|
3351
|
+
cursorMap = {
|
|
3352
|
+
leftIndex: isPrevCharAlphaNum ? cursorPosition : cursorPosition - 1,
|
|
3353
|
+
rightIndex: isPrevCharAlphaNum ? cursorPosition + 1 : cursorPosition,
|
|
3354
|
+
afterCursorOffset: 0,
|
|
3355
|
+
newCursorOffset: 1,
|
|
3356
|
+
};
|
|
3357
|
+
break;
|
|
3358
|
+
case 'deleteContentForward':
|
|
3359
|
+
const valueAfterCursor = formattedValue.substring(cursorPosition);
|
|
3360
|
+
const isNextCharAlphaNum = /^[a-zA-Z0-9]/.test(valueAfterCursor);
|
|
3361
|
+
cursorMap = {
|
|
3362
|
+
leftIndex: isNextCharAlphaNum ? cursorPosition : cursorPosition + 1,
|
|
3363
|
+
rightIndex: isNextCharAlphaNum ? cursorPosition + 1 : cursorPosition + 2,
|
|
3364
|
+
afterCursorOffset: 1,
|
|
3365
|
+
newCursorOffset: 0,
|
|
3366
|
+
};
|
|
3367
|
+
break;
|
|
3368
|
+
default:
|
|
3369
|
+
return;
|
|
3370
|
+
}
|
|
3371
|
+
// Ensure the cursor doesn't move with a newly formatted value
|
|
3372
|
+
const newValue = [
|
|
3373
|
+
formattedValue.substring(0, cursorMap.leftIndex),
|
|
3374
|
+
formattedValue.substring(cursorMap.rightIndex),
|
|
3375
|
+
].join('');
|
|
3376
|
+
const charactersAfterCursor = formattedValue.length - cursorPosition - cursorMap.afterCursorOffset;
|
|
3377
|
+
const newFormattedValue = this.getFormattedValue(newValue, false).formattedValue;
|
|
3378
|
+
const newCursorPosition = Math.max(newFormattedValue.length - charactersAfterCursor + cursorMap.newCursorOffset, 0);
|
|
3379
|
+
input.value = newFormattedValue;
|
|
3380
|
+
input.setSelectionRange(newCursorPosition, newCursorPosition);
|
|
3381
|
+
// This handles a runtime issue when a character is deleted from the beginning of the input
|
|
3382
|
+
if (newCursorPosition === 0) {
|
|
3383
|
+
index$1.nextPaint(() => input.setSelectionRange(newCursorPosition, newCursorPosition));
|
|
3384
|
+
}
|
|
3385
|
+
}
|
|
3320
3386
|
handleDataInput(newFormattedValue) {
|
|
3321
3387
|
if (this.maxlength === undefined ||
|
|
3322
3388
|
newFormattedValue.unformattedValue.length <= this.maxlength ||
|
|
@@ -3390,10 +3456,16 @@ const Q2Input = class {
|
|
|
3390
3456
|
if (this.canSetSelection && !cursorData.hasSelection) {
|
|
3391
3457
|
const input = this.inputField;
|
|
3392
3458
|
const { valueLength, previousValueLength, startingPosition } = cursorData;
|
|
3393
|
-
if (
|
|
3394
|
-
|
|
3459
|
+
if (this.type === 'currency') {
|
|
3460
|
+
if (previousValueLength - valueLength === 1) {
|
|
3461
|
+
input.setSelectionRange(startingPosition - 1, startingPosition - 1);
|
|
3462
|
+
}
|
|
3463
|
+
else {
|
|
3464
|
+
const difference = previousValueLength - valueLength;
|
|
3465
|
+
input.setSelectionRange(startingPosition - difference, startingPosition - difference);
|
|
3466
|
+
}
|
|
3395
3467
|
}
|
|
3396
|
-
|
|
3468
|
+
if (this.type !== 'currency') {
|
|
3397
3469
|
const difference = valueLength - previousValueLength;
|
|
3398
3470
|
// Never allow the cursor to move in reverse
|
|
3399
3471
|
const newPosition = startingPosition + (difference > 0 ? difference : 0);
|