@ionic/core 8.5.7-dev.11747676931.1d53b808 → 8.5.7-dev.11747772857.11c9c939

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.
@@ -73,10 +73,10 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
73
73
  */
74
74
  this.value = '';
75
75
  this.onInput = (index) => (event) => {
76
- const { validKeys } = this;
76
+ const { validKeyPattern } = this;
77
77
  const value = event.target.value;
78
78
  // Only allow input if it's a single character and matches the pattern
79
- if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
79
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
80
80
  // Reset the input value if not valid
81
81
  this.inputRefs[index].value = '';
82
82
  this.inputValues[index] = '';
@@ -129,8 +129,6 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
129
129
  }
130
130
  if (event.key === 'Backspace') {
131
131
  if (this.inputValues[index]) {
132
- // Remove the value at the current index
133
- this.inputValues[index] = '';
134
132
  // Shift all values to the right of the current index left by one
135
133
  for (let i = index; i < length - 1; i++) {
136
134
  this.inputValues[i] = this.inputValues[i + 1];
@@ -172,7 +170,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
172
170
  // If the input box contains a value and the key being
173
171
  // entered is a valid key for the input box update the value
174
172
  // and shift the values to the right if there is room.
175
- if (this.inputValues[index] && this.validKeys.test(event.key)) {
173
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
176
174
  if (!this.inputValues[length - 1]) {
177
175
  for (let i = length - 1; i > index; i--) {
178
176
  this.inputValues[i] = this.inputValues[i - 1];
@@ -196,7 +194,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
196
194
  */
197
195
  this.onPaste = (event) => {
198
196
  var _a, _b, _c;
199
- const { inputRefs, length, validKeys } = this;
197
+ const { inputRefs, length, validKeyPattern } = this;
200
198
  event.preventDefault();
201
199
  const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
202
200
  // If there is no pasted text, still emit the input change event
@@ -208,7 +206,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
208
206
  }
209
207
  const validChars = pastedText
210
208
  .split('')
211
- .filter((char) => validKeys.test(char))
209
+ .filter((char) => validKeyPattern.test(char))
212
210
  .slice(0, length);
213
211
  // Find the first empty input
214
212
  const startIndex = this.getFirstEmptyIndex();
@@ -356,7 +354,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
356
354
  if (this.value != null && String(this.value).length > 0) {
357
355
  const chars = String(this.value).split('').slice(0, this.length);
358
356
  chars.forEach((char, index) => {
359
- if (this.validKeys.test(char)) {
357
+ if (this.validKeyPattern.test(char)) {
360
358
  this.inputValues[index] = char;
361
359
  }
362
360
  });
@@ -399,8 +397,8 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
399
397
  * If a pattern is provided, use it to create a regex pattern
400
398
  * Otherwise, use the default regex pattern based on type
401
399
  */
402
- get validKeys() {
403
- return new RegExp(`^${this.getPattern()}$`);
400
+ get validKeyPattern() {
401
+ return new RegExp(`^${this.getPattern()}$`, 'u');
404
402
  }
405
403
  /**
406
404
  * Gets the string pattern to pass to the input element
@@ -411,7 +409,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
411
409
  if (pattern) {
412
410
  return pattern;
413
411
  }
414
- return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
412
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
415
413
  }
416
414
  /**
417
415
  * Get the default value for inputmode.
@@ -518,18 +516,17 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
518
516
  });
519
517
  }
520
518
  /**
521
- * Loops through the input values and returns the index
519
+ * Searches through the input values and returns the index
522
520
  * of the first empty input.
523
521
  * Returns -1 if all inputs are filled.
524
522
  */
525
523
  getFirstEmptyIndex() {
524
+ var _a;
526
525
  const { inputValues, length } = this;
527
- for (let i = 0; i < length; i++) {
528
- if (!inputValues[i] || inputValues[i] === '') {
529
- return i;
530
- }
531
- }
532
- return -1;
526
+ // Create an array of the same length as the input OTP
527
+ // and fill it with the input values
528
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
529
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
533
530
  }
534
531
  /**
535
532
  * Returns the index of the input that should be tabbed to.
@@ -547,7 +544,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
547
544
  const inputmode = this.getInputmode();
548
545
  const tabbableIndex = this.getTabbableIndex();
549
546
  const pattern = this.getPattern();
550
- return (h(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses(color, {
547
+ return (h(Host, { key: '9a9b5b662809152450409859ba60a2181edd1f47', class: createColorClasses(color, {
551
548
  [mode]: true,
552
549
  'has-focus': hasFocus,
553
550
  [`input-otp-size-${size}`]: true,
@@ -555,7 +552,7 @@ const InputOTP = /*@__PURE__*/ proxyCustomElement(class InputOTP extends HTMLEle
555
552
  [`input-otp-fill-${fill}`]: true,
556
553
  'input-otp-disabled': disabled,
557
554
  'input-otp-readonly': readonly,
558
- }) }, h("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, h("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
555
+ }) }, h("div", { key: '05957b6525b38472df51f1f297a5a96c454e7cb4', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'd8258fc40c93fbe9a4ce90035af16ef518bd611d', class: "input-otp-description" }, h("slot", { key: 'a02159cc38c04b5a34b9c5096d8172eedb642aec' }))));
559
556
  }
560
557
  get el() { return this; }
561
558
  static get watchers() { return {
@@ -74,10 +74,10 @@ const InputOTP = class {
74
74
  */
75
75
  this.value = '';
76
76
  this.onInput = (index) => (event) => {
77
- const { validKeys } = this;
77
+ const { validKeyPattern } = this;
78
78
  const value = event.target.value;
79
79
  // Only allow input if it's a single character and matches the pattern
80
- if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
80
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
81
81
  // Reset the input value if not valid
82
82
  this.inputRefs[index].value = '';
83
83
  this.inputValues[index] = '';
@@ -130,8 +130,6 @@ const InputOTP = class {
130
130
  }
131
131
  if (event.key === 'Backspace') {
132
132
  if (this.inputValues[index]) {
133
- // Remove the value at the current index
134
- this.inputValues[index] = '';
135
133
  // Shift all values to the right of the current index left by one
136
134
  for (let i = index; i < length - 1; i++) {
137
135
  this.inputValues[i] = this.inputValues[i + 1];
@@ -173,7 +171,7 @@ const InputOTP = class {
173
171
  // If the input box contains a value and the key being
174
172
  // entered is a valid key for the input box update the value
175
173
  // and shift the values to the right if there is room.
176
- if (this.inputValues[index] && this.validKeys.test(event.key)) {
174
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
177
175
  if (!this.inputValues[length - 1]) {
178
176
  for (let i = length - 1; i > index; i--) {
179
177
  this.inputValues[i] = this.inputValues[i - 1];
@@ -197,7 +195,7 @@ const InputOTP = class {
197
195
  */
198
196
  this.onPaste = (event) => {
199
197
  var _a, _b, _c;
200
- const { inputRefs, length, validKeys } = this;
198
+ const { inputRefs, length, validKeyPattern } = this;
201
199
  event.preventDefault();
202
200
  const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
203
201
  // If there is no pasted text, still emit the input change event
@@ -209,7 +207,7 @@ const InputOTP = class {
209
207
  }
210
208
  const validChars = pastedText
211
209
  .split('')
212
- .filter((char) => validKeys.test(char))
210
+ .filter((char) => validKeyPattern.test(char))
213
211
  .slice(0, length);
214
212
  // Find the first empty input
215
213
  const startIndex = this.getFirstEmptyIndex();
@@ -357,7 +355,7 @@ const InputOTP = class {
357
355
  if (this.value != null && String(this.value).length > 0) {
358
356
  const chars = String(this.value).split('').slice(0, this.length);
359
357
  chars.forEach((char, index) => {
360
- if (this.validKeys.test(char)) {
358
+ if (this.validKeyPattern.test(char)) {
361
359
  this.inputValues[index] = char;
362
360
  }
363
361
  });
@@ -400,8 +398,8 @@ const InputOTP = class {
400
398
  * If a pattern is provided, use it to create a regex pattern
401
399
  * Otherwise, use the default regex pattern based on type
402
400
  */
403
- get validKeys() {
404
- return new RegExp(`^${this.getPattern()}$`);
401
+ get validKeyPattern() {
402
+ return new RegExp(`^${this.getPattern()}$`, 'u');
405
403
  }
406
404
  /**
407
405
  * Gets the string pattern to pass to the input element
@@ -412,7 +410,7 @@ const InputOTP = class {
412
410
  if (pattern) {
413
411
  return pattern;
414
412
  }
415
- return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
413
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
416
414
  }
417
415
  /**
418
416
  * Get the default value for inputmode.
@@ -519,18 +517,17 @@ const InputOTP = class {
519
517
  });
520
518
  }
521
519
  /**
522
- * Loops through the input values and returns the index
520
+ * Searches through the input values and returns the index
523
521
  * of the first empty input.
524
522
  * Returns -1 if all inputs are filled.
525
523
  */
526
524
  getFirstEmptyIndex() {
525
+ var _a;
527
526
  const { inputValues, length } = this;
528
- for (let i = 0; i < length; i++) {
529
- if (!inputValues[i] || inputValues[i] === '') {
530
- return i;
531
- }
532
- }
533
- return -1;
527
+ // Create an array of the same length as the input OTP
528
+ // and fill it with the input values
529
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
530
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
534
531
  }
535
532
  /**
536
533
  * Returns the index of the input that should be tabbed to.
@@ -548,7 +545,7 @@ const InputOTP = class {
548
545
  const inputmode = this.getInputmode();
549
546
  const tabbableIndex = this.getTabbableIndex();
550
547
  const pattern = this.getPattern();
551
- return (index.h(index.Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: theme.createColorClasses(color, {
548
+ return (index.h(index.Host, { key: '9a9b5b662809152450409859ba60a2181edd1f47', class: theme.createColorClasses(color, {
552
549
  [mode]: true,
553
550
  'has-focus': hasFocus,
554
551
  [`input-otp-size-${size}`]: true,
@@ -556,7 +553,7 @@ const InputOTP = class {
556
553
  [`input-otp-fill-${fill}`]: true,
557
554
  'input-otp-disabled': disabled,
558
555
  'input-otp-readonly': readonly,
559
- }) }, index.h("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index$1) => (index.h(index.Fragment, null, index.h("div", { class: "native-wrapper" }, index.h("input", { class: "native-input", id: `${inputId}-${index$1}`, "aria-label": `Input ${index$1 + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index$1 === tabbableIndex ? 0 : -1, value: inputValues[index$1] || '', autocomplete: index$1 === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index$1] = el), onInput: this.onInput(index$1), onBlur: this.onBlur, onFocus: this.onFocus(index$1), onKeyDown: this.onKeyDown(index$1), onPaste: this.onPaste })), this.showSeparator(index$1) && index.h("div", { class: "input-otp-separator" }))))), index.h("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, index.h("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
556
+ }) }, index.h("div", { key: '05957b6525b38472df51f1f297a5a96c454e7cb4', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index$1) => (index.h(index.Fragment, null, index.h("div", { class: "native-wrapper" }, index.h("input", { class: "native-input", id: `${inputId}-${index$1}`, "aria-label": `Input ${index$1 + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index$1 === tabbableIndex ? 0 : -1, value: inputValues[index$1] || '', autocomplete: index$1 === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index$1] = el), onInput: this.onInput(index$1), onBlur: this.onBlur, onFocus: this.onFocus(index$1), onKeyDown: this.onKeyDown(index$1), onPaste: this.onPaste })), this.showSeparator(index$1) && index.h("div", { class: "input-otp-separator" }))))), index.h("div", { key: 'd8258fc40c93fbe9a4ce90035af16ef518bd611d', class: "input-otp-description" }, index.h("slot", { key: 'a02159cc38c04b5a34b9c5096d8172eedb642aec' }))));
560
557
  }
561
558
  get el() { return index.getElement(this); }
562
559
  static get watchers() { return {
@@ -61,10 +61,10 @@ export class InputOTP {
61
61
  */
62
62
  this.value = '';
63
63
  this.onInput = (index) => (event) => {
64
- const { validKeys } = this;
64
+ const { validKeyPattern } = this;
65
65
  const value = event.target.value;
66
66
  // Only allow input if it's a single character and matches the pattern
67
- if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
67
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
68
68
  // Reset the input value if not valid
69
69
  this.inputRefs[index].value = '';
70
70
  this.inputValues[index] = '';
@@ -117,8 +117,6 @@ export class InputOTP {
117
117
  }
118
118
  if (event.key === 'Backspace') {
119
119
  if (this.inputValues[index]) {
120
- // Remove the value at the current index
121
- this.inputValues[index] = '';
122
120
  // Shift all values to the right of the current index left by one
123
121
  for (let i = index; i < length - 1; i++) {
124
122
  this.inputValues[i] = this.inputValues[i + 1];
@@ -160,7 +158,7 @@ export class InputOTP {
160
158
  // If the input box contains a value and the key being
161
159
  // entered is a valid key for the input box update the value
162
160
  // and shift the values to the right if there is room.
163
- if (this.inputValues[index] && this.validKeys.test(event.key)) {
161
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
164
162
  if (!this.inputValues[length - 1]) {
165
163
  for (let i = length - 1; i > index; i--) {
166
164
  this.inputValues[i] = this.inputValues[i - 1];
@@ -184,7 +182,7 @@ export class InputOTP {
184
182
  */
185
183
  this.onPaste = (event) => {
186
184
  var _a, _b, _c;
187
- const { inputRefs, length, validKeys } = this;
185
+ const { inputRefs, length, validKeyPattern } = this;
188
186
  event.preventDefault();
189
187
  const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
190
188
  // If there is no pasted text, still emit the input change event
@@ -196,7 +194,7 @@ export class InputOTP {
196
194
  }
197
195
  const validChars = pastedText
198
196
  .split('')
199
- .filter((char) => validKeys.test(char))
197
+ .filter((char) => validKeyPattern.test(char))
200
198
  .slice(0, length);
201
199
  // Find the first empty input
202
200
  const startIndex = this.getFirstEmptyIndex();
@@ -344,7 +342,7 @@ export class InputOTP {
344
342
  if (this.value != null && String(this.value).length > 0) {
345
343
  const chars = String(this.value).split('').slice(0, this.length);
346
344
  chars.forEach((char, index) => {
347
- if (this.validKeys.test(char)) {
345
+ if (this.validKeyPattern.test(char)) {
348
346
  this.inputValues[index] = char;
349
347
  }
350
348
  });
@@ -387,8 +385,8 @@ export class InputOTP {
387
385
  * If a pattern is provided, use it to create a regex pattern
388
386
  * Otherwise, use the default regex pattern based on type
389
387
  */
390
- get validKeys() {
391
- return new RegExp(`^${this.getPattern()}$`);
388
+ get validKeyPattern() {
389
+ return new RegExp(`^${this.getPattern()}$`, 'u');
392
390
  }
393
391
  /**
394
392
  * Gets the string pattern to pass to the input element
@@ -399,7 +397,7 @@ export class InputOTP {
399
397
  if (pattern) {
400
398
  return pattern;
401
399
  }
402
- return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
400
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
403
401
  }
404
402
  /**
405
403
  * Get the default value for inputmode.
@@ -506,18 +504,17 @@ export class InputOTP {
506
504
  });
507
505
  }
508
506
  /**
509
- * Loops through the input values and returns the index
507
+ * Searches through the input values and returns the index
510
508
  * of the first empty input.
511
509
  * Returns -1 if all inputs are filled.
512
510
  */
513
511
  getFirstEmptyIndex() {
512
+ var _a;
514
513
  const { inputValues, length } = this;
515
- for (let i = 0; i < length; i++) {
516
- if (!inputValues[i] || inputValues[i] === '') {
517
- return i;
518
- }
519
- }
520
- return -1;
514
+ // Create an array of the same length as the input OTP
515
+ // and fill it with the input values
516
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
517
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
521
518
  }
522
519
  /**
523
520
  * Returns the index of the input that should be tabbed to.
@@ -535,7 +532,7 @@ export class InputOTP {
535
532
  const inputmode = this.getInputmode();
536
533
  const tabbableIndex = this.getTabbableIndex();
537
534
  const pattern = this.getPattern();
538
- return (h(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses(color, {
535
+ return (h(Host, { key: '9a9b5b662809152450409859ba60a2181edd1f47', class: createColorClasses(color, {
539
536
  [mode]: true,
540
537
  'has-focus': hasFocus,
541
538
  [`input-otp-size-${size}`]: true,
@@ -543,7 +540,7 @@ export class InputOTP {
543
540
  [`input-otp-fill-${fill}`]: true,
544
541
  'input-otp-disabled': disabled,
545
542
  'input-otp-readonly': readonly,
546
- }) }, h("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, h("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
543
+ }) }, h("div", { key: '05957b6525b38472df51f1f297a5a96c454e7cb4', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'd8258fc40c93fbe9a4ce90035af16ef518bd611d', class: "input-otp-description" }, h("slot", { key: 'a02159cc38c04b5a34b9c5096d8172eedb642aec' }))));
547
544
  }
548
545
  static get is() { return "ion-input-otp"; }
549
546
  static get encapsulation() { return "scoped"; }
@@ -698,7 +695,7 @@ export class InputOTP {
698
695
  "optional": true,
699
696
  "docs": {
700
697
  "tags": [],
701
- "text": "A regex pattern string for allowed characters. Defaults based on type.\n\nFor numbers (type=\"number\"): \"[0-9]\"\nFor text (type=\"text\"): \"[a-zA-Z0-9]\""
698
+ "text": "A regex pattern string for allowed characters. Defaults based on type.\n\nFor numbers (type=\"number\"): \"[\\\\p{N}]\"\nFor text (type=\"text\"): \"[\\\\p{L}\\\\p{N}]\""
702
699
  },
703
700
  "getter": false,
704
701
  "setter": false,
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-05-19T17:50:33",
2
+ "timestamp": "2025-05-20T20:29:21",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.29.3",
@@ -13313,7 +13313,7 @@
13313
13313
  "mutable": false,
13314
13314
  "attr": "pattern",
13315
13315
  "reflectToAttr": false,
13316
- "docs": "A regex pattern string for allowed characters. Defaults based on type.\n\nFor numbers (type=\"number\"): \"[0-9]\"\nFor text (type=\"text\"): \"[a-zA-Z0-9]\"",
13316
+ "docs": "A regex pattern string for allowed characters. Defaults based on type.\n\nFor numbers (type=\"number\"): \"[\\\\p{N}]\"\nFor text (type=\"text\"): \"[\\\\p{L}\\\\p{N}]\"",
13317
13317
  "docsTags": [],
13318
13318
  "values": [
13319
13319
  {
@@ -72,10 +72,10 @@ const InputOTP = class {
72
72
  */
73
73
  this.value = '';
74
74
  this.onInput = (index) => (event) => {
75
- const { validKeys } = this;
75
+ const { validKeyPattern } = this;
76
76
  const value = event.target.value;
77
77
  // Only allow input if it's a single character and matches the pattern
78
- if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
78
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
79
79
  // Reset the input value if not valid
80
80
  this.inputRefs[index].value = '';
81
81
  this.inputValues[index] = '';
@@ -128,8 +128,6 @@ const InputOTP = class {
128
128
  }
129
129
  if (event.key === 'Backspace') {
130
130
  if (this.inputValues[index]) {
131
- // Remove the value at the current index
132
- this.inputValues[index] = '';
133
131
  // Shift all values to the right of the current index left by one
134
132
  for (let i = index; i < length - 1; i++) {
135
133
  this.inputValues[i] = this.inputValues[i + 1];
@@ -171,7 +169,7 @@ const InputOTP = class {
171
169
  // If the input box contains a value and the key being
172
170
  // entered is a valid key for the input box update the value
173
171
  // and shift the values to the right if there is room.
174
- if (this.inputValues[index] && this.validKeys.test(event.key)) {
172
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
175
173
  if (!this.inputValues[length - 1]) {
176
174
  for (let i = length - 1; i > index; i--) {
177
175
  this.inputValues[i] = this.inputValues[i - 1];
@@ -195,7 +193,7 @@ const InputOTP = class {
195
193
  */
196
194
  this.onPaste = (event) => {
197
195
  var _a, _b, _c;
198
- const { inputRefs, length, validKeys } = this;
196
+ const { inputRefs, length, validKeyPattern } = this;
199
197
  event.preventDefault();
200
198
  const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
201
199
  // If there is no pasted text, still emit the input change event
@@ -207,7 +205,7 @@ const InputOTP = class {
207
205
  }
208
206
  const validChars = pastedText
209
207
  .split('')
210
- .filter((char) => validKeys.test(char))
208
+ .filter((char) => validKeyPattern.test(char))
211
209
  .slice(0, length);
212
210
  // Find the first empty input
213
211
  const startIndex = this.getFirstEmptyIndex();
@@ -355,7 +353,7 @@ const InputOTP = class {
355
353
  if (this.value != null && String(this.value).length > 0) {
356
354
  const chars = String(this.value).split('').slice(0, this.length);
357
355
  chars.forEach((char, index) => {
358
- if (this.validKeys.test(char)) {
356
+ if (this.validKeyPattern.test(char)) {
359
357
  this.inputValues[index] = char;
360
358
  }
361
359
  });
@@ -398,8 +396,8 @@ const InputOTP = class {
398
396
  * If a pattern is provided, use it to create a regex pattern
399
397
  * Otherwise, use the default regex pattern based on type
400
398
  */
401
- get validKeys() {
402
- return new RegExp(`^${this.getPattern()}$`);
399
+ get validKeyPattern() {
400
+ return new RegExp(`^${this.getPattern()}$`, 'u');
403
401
  }
404
402
  /**
405
403
  * Gets the string pattern to pass to the input element
@@ -410,7 +408,7 @@ const InputOTP = class {
410
408
  if (pattern) {
411
409
  return pattern;
412
410
  }
413
- return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
411
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
414
412
  }
415
413
  /**
416
414
  * Get the default value for inputmode.
@@ -517,18 +515,17 @@ const InputOTP = class {
517
515
  });
518
516
  }
519
517
  /**
520
- * Loops through the input values and returns the index
518
+ * Searches through the input values and returns the index
521
519
  * of the first empty input.
522
520
  * Returns -1 if all inputs are filled.
523
521
  */
524
522
  getFirstEmptyIndex() {
523
+ var _a;
525
524
  const { inputValues, length } = this;
526
- for (let i = 0; i < length; i++) {
527
- if (!inputValues[i] || inputValues[i] === '') {
528
- return i;
529
- }
530
- }
531
- return -1;
525
+ // Create an array of the same length as the input OTP
526
+ // and fill it with the input values
527
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
528
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
532
529
  }
533
530
  /**
534
531
  * Returns the index of the input that should be tabbed to.
@@ -546,7 +543,7 @@ const InputOTP = class {
546
543
  const inputmode = this.getInputmode();
547
544
  const tabbableIndex = this.getTabbableIndex();
548
545
  const pattern = this.getPattern();
549
- return (h(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses(color, {
546
+ return (h(Host, { key: '9a9b5b662809152450409859ba60a2181edd1f47', class: createColorClasses(color, {
550
547
  [mode]: true,
551
548
  'has-focus': hasFocus,
552
549
  [`input-otp-size-${size}`]: true,
@@ -554,7 +551,7 @@ const InputOTP = class {
554
551
  [`input-otp-fill-${fill}`]: true,
555
552
  'input-otp-disabled': disabled,
556
553
  'input-otp-readonly': readonly,
557
- }) }, h("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, h("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
554
+ }) }, h("div", { key: '05957b6525b38472df51f1f297a5a96c454e7cb4', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: 'd8258fc40c93fbe9a4ce90035af16ef518bd611d', class: "input-otp-description" }, h("slot", { key: 'a02159cc38c04b5a34b9c5096d8172eedb642aec' }))));
558
555
  }
559
556
  get el() { return getElement(this); }
560
557
  static get watchers() { return {
@@ -2905,7 +2905,7 @@
2905
2905
  },
2906
2906
  {
2907
2907
  "name": "pattern",
2908
- "description": "A regex pattern string for allowed characters. Defaults based on type.\n\nFor numbers (type=\"number\"): \"[0-9]\"\nFor text (type=\"text\"): \"[a-zA-Z0-9]\""
2908
+ "description": "A regex pattern string for allowed characters. Defaults based on type.\n\nFor numbers (type=\"number\"): \"[\\\\p{N}]\"\nFor text (type=\"text\"): \"[\\\\p{L}\\\\p{N}]\""
2909
2909
  },
2910
2910
  {
2911
2911
  "name": "readonly",
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{p as e,H as t,b as o}from"./p-3GtB1kQI.js";export{s as setNonce}from"./p-3GtB1kQI.js";import{g as n}from"./p-wsLGfiE0.js";import"./p-B7Khsp7D.js";import"./p-CEo1SqXS.js";var a=e=>{const t=e.cloneNode;e.cloneNode=function(e){if("TEMPLATE"===this.nodeName)return t.call(this,e);const o=t.call(this,!1),n=this.childNodes;if(e)for(let e=0;e<n.length;e++)2!==n[e].nodeType&&o.appendChild(n[e].cloneNode(!0));return o}};(()=>{a(t.prototype);const o=import.meta.url,n={};return""!==o&&(n.resourcesUrl=new URL(".",o).href),e(n)})().then((async e=>(await n(),o(JSON.parse('[["p-cde545fa",[[33,"ion-menu-button",{"color":[513],"disabled":[4],"menu":[1],"autoHide":[4,"auto-hide"],"type":[1],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]],[33,"ion-menu",{"contentId":[513,"content-id"],"menuId":[513,"menu-id"],"type":[1025],"disabled":[1028],"side":[513],"swipeGesture":[4,"swipe-gesture"],"maxEdgeStart":[2,"max-edge-start"],"isPaneVisible":[32],"isEndSide":[32],"isOpen":[64],"isActive":[64],"open":[64],"close":[64],"toggle":[64],"setOpen":[64]},[[16,"ionSplitPaneVisible","onSplitPaneChanged"],[2,"click","onBackdropClick"]],{"type":["typeChanged"],"disabled":["disabledChanged"],"side":["sideChanged"],"swipeGesture":["swipeGestureChanged"]}],[1,"ion-menu-toggle",{"menu":[1],"autoHide":[4,"auto-hide"],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]]]],["p-f35cb090",[[33,"ion-input-password-toggle",{"color":[513],"showIcon":[1,"show-icon"],"hideIcon":[1,"hide-icon"],"type":[1025]},null,{"type":["onTypeChange"]}]]],["p-e83ead65",[[33,"ion-fab-button",{"color":[513],"activated":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"target":[1],"show":[4],"translucent":[4],"type":[1],"size":[1],"closeIcon":[1,"close-icon"]}],[1,"ion-fab",{"horizontal":[1],"vertical":[1],"edge":[4],"activated":[1028],"close":[64],"toggle":[64]},null,{"activated":["activatedChanged"]}],[1,"ion-fab-list",{"activated":[4],"side":[1]},null,{"activated":["activatedChanged"]}]]],["p-5756b724",[[0,"ion-refresher-content",{"pullingIcon":[1025,"pulling-icon"],"pullingText":[1,"pulling-text"],"refreshingSpinner":[1025,"refreshing-spinner"],"refreshingText":[1,"refreshing-text"]}],[32,"ion-refresher",{"pullMin":[2,"pull-min"],"pullMax":[2,"pull-max"],"closeDuration":[1,"close-duration"],"snapbackDuration":[1,"snapback-duration"],"pullFactor":[2,"pull-factor"],"disabled":[4],"nativeRefresher":[32],"state":[32],"complete":[64],"cancel":[64],"getProgress":[64]},null,{"disabled":["disabledChanged"]}]]],["p-3ca63859",[[33,"ion-back-button",{"color":[513],"defaultHref":[1025,"default-href"],"disabled":[516],"icon":[1],"text":[1],"type":[1],"routerAnimation":[16,"router-animation"]}]]],["p-29186993",[[33,"ion-toast",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"color":[513],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"cssClass":[1,"css-class"],"duration":[2],"header":[1],"layout":[1],"message":[1],"keyboardClose":[4,"keyboard-close"],"position":[1],"positionAnchor":[1,"position-anchor"],"buttons":[16],"translucent":[4],"animated":[4],"icon":[1],"htmlAttributes":[16,"html-attributes"],"swipeGesture":[1,"swipe-gesture"],"isOpen":[4,"is-open"],"trigger":[1],"revealContentToScreenReader":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"swipeGesture":["swipeGestureChanged"],"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-b18a4590",[[33,"ion-card",{"color":[513],"button":[4],"type":[1],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"target":[1]}],[32,"ion-card-content"],[33,"ion-card-header",{"color":[513],"translucent":[4]}],[33,"ion-card-subtitle",{"color":[513]}],[33,"ion-card-title",{"color":[513]}]]],["p-fb714eec",[[33,"ion-item-option",{"color":[513],"disabled":[4],"download":[1],"expandable":[4],"href":[1],"rel":[1],"target":[1],"type":[1]}],[32,"ion-item-options",{"side":[1],"fireSwipeEvent":[64]}],[0,"ion-item-sliding",{"disabled":[4],"state":[32],"getOpenAmount":[64],"getSlidingRatio":[64],"open":[64],"close":[64],"closeOpened":[64]},null,{"disabled":["disabledChanged"]}]]],["p-c1b0e3b6",[[49,"ion-accordion",{"value":[1],"disabled":[4],"readonly":[4],"toggleIcon":[1,"toggle-icon"],"toggleIconSlot":[1,"toggle-icon-slot"],"state":[32],"isNext":[32],"isPrevious":[32]},null,{"value":["valueChanged"]}],[33,"ion-accordion-group",{"animated":[4],"multiple":[4],"value":[1025],"disabled":[4],"readonly":[4],"expand":[1],"requestAccordionToggle":[64],"getAccordions":[64]},[[0,"keydown","onKeydown"]],{"value":["valueChanged"],"disabled":["disabledChanged"],"readonly":["readonlyChanged"]}]]],["p-ed36aee8",[[32,"ion-infinite-scroll-content",{"loadingSpinner":[1025,"loading-spinner"],"loadingText":[1,"loading-text"]}],[0,"ion-infinite-scroll",{"threshold":[1],"disabled":[4],"position":[1],"isLoading":[32],"complete":[64]},null,{"threshold":["thresholdChanged"],"disabled":["disabledChanged"]}]]],["p-43f012a4",[[33,"ion-reorder",null,[[2,"click","onClick"]]],[0,"ion-reorder-group",{"disabled":[4],"state":[32],"complete":[64]},null,{"disabled":["disabledChanged"]}]]],["p-8d7afec5",[[33,"ion-segment-button",{"contentId":[513,"content-id"],"disabled":[1028],"layout":[1],"type":[1],"value":[8],"checked":[32],"setFocus":[64]},null,{"value":["valueChanged"]}],[33,"ion-segment",{"color":[513],"disabled":[4],"scrollable":[4],"swipeGesture":[4,"swipe-gesture"],"value":[1032],"selectOnFocus":[4,"select-on-focus"],"activated":[32]},[[16,"ionSegmentViewScroll","handleSegmentViewScroll"],[0,"keydown","onKeyDown"]],{"color":["colorChanged"],"swipeGesture":["swipeGestureChanged"],"value":["valueChanged"],"disabled":["disabledChanged"]}]]],["p-98f759e4",[[33,"ion-chip",{"color":[513],"outline":[4],"disabled":[4]}]]],["p-178084cb",[[38,"ion-input",{"color":[513],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"clearInputIcon":[1,"clear-input-icon"],"clearOnEdit":[4,"clear-on-edit"],"counter":[4],"counterFormatter":[16,"counter-formatter"],"debounce":[2],"disabled":[516],"enterkeyhint":[1],"errorText":[1,"error-text"],"fill":[1],"inputmode":[1],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1,"label-placement"],"max":[8],"maxlength":[2],"min":[8],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[516],"required":[4],"shape":[1],"spellcheck":[4],"step":[1],"type":[1],"value":[1032],"hasFocus":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":["debounceChanged"],"type":["onTypeChange"],"value":["valueChanged"],"dir":["onDirChanged"]}]]],["p-9262223a",[[34,"ion-searchbar",{"color":[513],"animated":[4],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"cancelButtonIcon":[1,"cancel-button-icon"],"cancelButtonText":[1,"cancel-button-text"],"clearIcon":[1,"clear-icon"],"debounce":[2],"disabled":[4],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"searchIcon":[1,"search-icon"],"showCancelButton":[1,"show-cancel-button"],"showClearButton":[1,"show-clear-button"],"spellcheck":[4],"type":[1],"value":[1025],"focused":[32],"noAnimate":[32],"setFocus":[64],"getInputElement":[64]},null,{"lang":["onLangChanged"],"dir":["onDirChanged"],"debounce":["debounceChanged"],"value":["valueChanged"],"showCancelButton":["showCancelButtonChanged"]}]]],["p-da105dce",[[33,"ion-toggle",{"color":[513],"name":[1],"checked":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[1],"enableOnOffLabels":[4,"enable-on-off-labels"],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"activated":[32]},null,{"disabled":["disabledChanged"]}]]],["p-8c496d65",[[1,"ion-nav",{"delegate":[16],"swipeGesture":[1028,"swipe-gesture"],"animated":[4],"animation":[16],"rootParams":[16,"root-params"],"root":[1],"push":[64],"insert":[64],"insertPages":[64],"pop":[64],"popTo":[64],"popToRoot":[64],"removeIndex":[64],"setRoot":[64],"setPages":[64],"setRouteId":[64],"getRouteId":[64],"getActive":[64],"getByIndex":[64],"canGoBack":[64],"getPrevious":[64],"getLength":[64]},null,{"swipeGesture":["swipeGestureChanged"],"root":["rootChanged"]}],[0,"ion-nav-link",{"component":[1],"componentProps":[16,"component-props"],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"]}]]],["p-e5495b3b",[[1,"ion-tab",{"active":[1028],"delegate":[16],"tab":[1],"component":[1],"setActive":[64]},null,{"active":["changeActive"]}],[1,"ion-tabs",{"useRouter":[1028,"use-router"],"selectedTab":[32],"select":[64],"getTab":[64],"getSelected":[64],"setRouteId":[64],"getRouteId":[64]}]]],["p-d4742f5c",[[38,"ion-textarea",{"color":[513],"autocapitalize":[1],"autofocus":[4],"clearOnEdit":[4,"clear-on-edit"],"debounce":[2],"disabled":[4],"fill":[1],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"cols":[514],"rows":[2],"wrap":[1],"autoGrow":[516,"auto-grow"],"value":[1025],"counter":[4],"counterFormatter":[16,"counter-formatter"],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1,"label-placement"],"shape":[1],"hasFocus":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":["debounceChanged"],"value":["valueChanged"],"dir":["onDirChanged"]}]]],["p-1e9ea564",[[33,"ion-backdrop",{"visible":[4],"tappable":[4],"stopPropagation":[4,"stop-propagation"]},[[2,"click","onMouseDown"]]]]],["p-05427be9",[[34,"ion-loading",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"message":[1],"cssClass":[1,"css-class"],"duration":[2],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"spinner":[1025],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-a20a15cc",[[33,"ion-breadcrumb",{"collapsed":[4],"last":[4],"showCollapsedIndicator":[4,"show-collapsed-indicator"],"color":[1],"active":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"separator":[4],"target":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"]}],[33,"ion-breadcrumbs",{"color":[513],"maxItems":[2,"max-items"],"itemsBeforeCollapse":[2,"items-before-collapse"],"itemsAfterCollapse":[2,"items-after-collapse"],"collapsed":[32],"activeChanged":[32]},[[0,"collapsedClick","onCollapsedClick"]],{"maxItems":["maxItemsChanged"],"itemsBeforeCollapse":["maxItemsChanged"],"itemsAfterCollapse":["maxItemsChanged"]}]]],["p-2c6931ed",[[33,"ion-tab-button",{"disabled":[4],"download":[1],"href":[1],"rel":[1],"layout":[1025],"selected":[1028],"tab":[1],"target":[1]},[[8,"ionTabBarChanged","onTabBarChanged"]]],[33,"ion-tab-bar",{"color":[513],"selectedTab":[1,"selected-tab"],"translucent":[4],"keyboardVisible":[32]},null,{"selectedTab":["selectedTabChanged"]}]]],["p-920540c6",[[33,"ion-datetime-button",{"color":[513],"disabled":[516],"datetime":[1],"datetimePresentation":[32],"dateText":[32],"timeText":[32],"datetimeActive":[32],"selectedButton":[32]}]]],["p-f331dda5",[[0,"ion-route",{"url":[1],"component":[1],"componentProps":[16,"component-props"],"beforeLeave":[16,"before-leave"],"beforeEnter":[16,"before-enter"]},null,{"url":["onUpdate"],"component":["onUpdate"],"componentProps":["onComponentProps"]}],[0,"ion-route-redirect",{"from":[1],"to":[1]},null,{"from":["propDidChange"],"to":["propDidChange"]}],[0,"ion-router",{"root":[1],"useHash":[4,"use-hash"],"canTransition":[64],"push":[64],"back":[64],"printDebug":[64],"navChanged":[64]},[[8,"popstate","onPopState"],[4,"ionBackButton","onBackButton"]]],[1,"ion-router-link",{"color":[513],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"target":[1]}]]],["p-eec040ff",[[33,"ion-avatar"],[33,"ion-badge",{"color":[513]}],[1,"ion-thumbnail"]]],["p-9c7d7711",[[1,"ion-col",{"offset":[1],"offsetXs":[1,"offset-xs"],"offsetSm":[1,"offset-sm"],"offsetMd":[1,"offset-md"],"offsetLg":[1,"offset-lg"],"offsetXl":[1,"offset-xl"],"pull":[1],"pullXs":[1,"pull-xs"],"pullSm":[1,"pull-sm"],"pullMd":[1,"pull-md"],"pullLg":[1,"pull-lg"],"pullXl":[1,"pull-xl"],"push":[1],"pushXs":[1,"push-xs"],"pushSm":[1,"push-sm"],"pushMd":[1,"push-md"],"pushLg":[1,"push-lg"],"pushXl":[1,"push-xl"],"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]],[1,"ion-grid",{"fixed":[4]}],[1,"ion-row"]]],["p-592db4a8",[[1,"ion-img",{"alt":[1],"src":[1],"loadSrc":[32],"loadError":[32]},null,{"src":["srcChanged"]}]]],["p-a6db87e1",[[38,"ion-input-otp",{"autocapitalize":[1],"color":[513],"disabled":[516],"fill":[1],"inputmode":[1],"length":[2],"pattern":[1],"readonly":[516],"size":[1],"separators":[1],"shape":[1],"type":[1],"value":[1032],"inputValues":[32],"hasFocus":[32],"reset":[64],"setFocus":[64]},null,{"value":["valueChanged"],"separators":["processSeparators"],"length":["processSeparators"]}]]],["p-0bc3d6d0",[[33,"ion-progress-bar",{"type":[1],"reversed":[4],"value":[2],"buffer":[2],"color":[513]}]]],["p-99cc16fb",[[33,"ion-range",{"color":[513],"debounce":[2],"name":[1],"label":[1],"dualKnobs":[4,"dual-knobs"],"min":[2],"max":[2],"pin":[4],"pinFormatter":[16,"pin-formatter"],"snaps":[4],"step":[2],"ticks":[4],"activeBarStart":[1026,"active-bar-start"],"disabled":[4],"value":[1026],"labelPlacement":[1,"label-placement"],"ratioA":[32],"ratioB":[32],"pressedKnob":[32]},null,{"debounce":["debounceChanged"],"min":["minChanged"],"max":["maxChanged"],"step":["stepChanged"],"activeBarStart":["activeBarStartChanged"],"disabled":["disabledChanged"],"value":["valueChanged"]}]]],["p-bf6b00ab",[[1,"ion-segment-content"]]],["p-691fa8c7",[[33,"ion-segment-view",{"disabled":[4],"isManualScroll":[32],"setContent":[64]},[[1,"scroll","handleScroll"],[1,"touchstart","handleScrollStart"],[1,"touchend","handleTouchEnd"]]]]],["p-2517fcdf",[[33,"ion-split-pane",{"contentId":[513,"content-id"],"disabled":[4],"when":[8],"visible":[32],"isVisible":[64]},null,{"visible":["visibleChanged"],"disabled":["updateState"],"when":["updateState"]}]]],["p-1fe35f29",[[1,"ion-text",{"color":[513]}]]],["p-14d26301",[[34,"ion-select-modal",{"header":[1],"multiple":[4],"options":[16]}]]],["p-e2d9c488",[[33,"ion-datetime",{"color":[1],"name":[1],"disabled":[4],"formatOptions":[16,"format-options"],"readonly":[4],"isDateEnabled":[16,"is-date-enabled"],"showAdjacentDays":[4,"show-adjacent-days"],"min":[1025],"max":[1025],"presentation":[1],"cancelText":[1,"cancel-text"],"doneText":[1,"done-text"],"clearText":[1,"clear-text"],"yearValues":[8,"year-values"],"monthValues":[8,"month-values"],"dayValues":[8,"day-values"],"hourValues":[8,"hour-values"],"minuteValues":[8,"minute-values"],"locale":[1],"firstDayOfWeek":[2,"first-day-of-week"],"titleSelectedDatesFormatter":[16,"title-selected-dates-formatter"],"multiple":[4],"highlightedDates":[16,"highlighted-dates"],"value":[1025],"showDefaultTitle":[4,"show-default-title"],"showDefaultButtons":[4,"show-default-buttons"],"showClearButton":[4,"show-clear-button"],"showDefaultTimeLabel":[4,"show-default-time-label"],"hourCycle":[1,"hour-cycle"],"size":[1],"preferWheel":[4,"prefer-wheel"],"showMonthAndYear":[32],"activeParts":[32],"workingParts":[32],"isTimePopoverOpen":[32],"forceRenderDate":[32],"confirm":[64],"reset":[64],"cancel":[64]},null,{"formatOptions":["formatOptionsChanged"],"disabled":["disabledChanged"],"min":["minChanged"],"max":["maxChanged"],"presentation":["presentationChanged"],"yearValues":["yearValuesChanged"],"monthValues":["monthValuesChanged"],"dayValues":["dayValuesChanged"],"hourValues":["hourValuesChanged"],"minuteValues":["minuteValuesChanged"],"value":["valueChanged"]}],[34,"ion-picker-legacy",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"buttons":[16],"columns":[16],"cssClass":[1,"css-class"],"duration":[2],"showBackdrop":[4,"show-backdrop"],"backdropDismiss":[4,"backdrop-dismiss"],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"getColumn":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}],[32,"ion-picker-legacy-column",{"col":[16]},null,{"col":["colChanged"]}]]],["p-fd156864",[[34,"ion-action-sheet",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"buttons":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"header":[1],"subHeader":[1,"sub-header"],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-6bd192d8",[[34,"ion-alert",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"cssClass":[1,"css-class"],"header":[1],"subHeader":[1,"sub-header"],"message":[1],"buttons":[16],"inputs":[1040],"backdropDismiss":[4,"backdrop-dismiss"],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},[[4,"keydown","onKeydown"]],{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"],"buttons":["buttonsChanged"],"inputs":["inputsChanged"]}]]],["p-a22fe54d",[[33,"ion-modal",{"hasController":[4,"has-controller"],"overlayIndex":[2,"overlay-index"],"delegate":[16],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"breakpoints":[16],"expandToScroll":[4,"expand-to-scroll"],"initialBreakpoint":[2,"initial-breakpoint"],"backdropBreakpoint":[2,"backdrop-breakpoint"],"handle":[4],"handleBehavior":[1,"handle-behavior"],"component":[1],"componentProps":[16,"component-props"],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"animated":[4],"presentingElement":[16,"presenting-element"],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"keepContentsMounted":[4,"keep-contents-mounted"],"focusTrap":[4,"focus-trap"],"canDismiss":[4,"can-dismiss"],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"setCurrentBreakpoint":[64],"getCurrentBreakpoint":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-1da92348",[[33,"ion-picker",{"exitInputMode":[64]},[[1,"touchstart","preventTouchStartPropagation"]]]]],["p-0bcd3299",[[1,"ion-picker-column",{"disabled":[4],"value":[1032],"color":[513],"numericInput":[4,"numeric-input"],"ariaLabel":[32],"isActive":[32],"scrollActiveItemIntoView":[64],"setValue":[64],"setFocus":[64]},null,{"aria-label":["ariaLabelChanged"],"value":["valueChange"]}]]],["p-bc84650a",[[33,"ion-picker-column-option",{"disabled":[4],"value":[8],"color":[513],"ariaLabel":[32]},null,{"aria-label":["onAriaLabelChange"]}]]],["p-7a6c96ca",[[33,"ion-popover",{"hasController":[4,"has-controller"],"delegate":[16],"overlayIndex":[2,"overlay-index"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"component":[1],"componentProps":[16,"component-props"],"keyboardClose":[4,"keyboard-close"],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"event":[8],"showBackdrop":[4,"show-backdrop"],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"triggerAction":[1,"trigger-action"],"trigger":[1],"size":[1],"dismissOnSelect":[4,"dismiss-on-select"],"reference":[1],"side":[1],"alignment":[1025],"arrow":[4],"isOpen":[4,"is-open"],"keyboardEvents":[4,"keyboard-events"],"focusTrap":[4,"focus-trap"],"keepContentsMounted":[4,"keep-contents-mounted"],"presented":[32],"presentFromTrigger":[64],"present":[64],"dismiss":[64],"getParentPopover":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"trigger":["onTriggerChange"],"triggerAction":["onTriggerChange"],"isOpen":["onIsOpenChange"]}]]],["p-3fa87259",[[33,"ion-checkbox",{"color":[513],"name":[1],"checked":[1028],"indeterminate":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"setFocus":[64]}]]],["p-2e42fa68",[[33,"ion-item-divider",{"color":[513],"sticky":[4]}],[32,"ion-item-group"],[33,"ion-note",{"color":[513]}],[1,"ion-skeleton-text",{"animated":[4]}],[38,"ion-label",{"color":[513],"position":[1],"noAnimate":[32]},null,{"color":["colorChanged"],"position":["positionChanged"]}],[33,"ion-list-header",{"color":[513],"lines":[1]}],[33,"ion-item",{"color":[513],"button":[4],"detail":[4],"detailIcon":[1,"detail-icon"],"disabled":[516],"download":[1],"href":[1],"rel":[1],"lines":[1],"routerAnimation":[16,"router-animation"],"routerDirection":[1,"router-direction"],"target":[1],"type":[1],"multipleInputs":[32],"focusable":[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]],{"button":["buttonChanged"]}],[32,"ion-list",{"lines":[1],"inset":[4],"closeSlidingItems":[64]}]]],["p-832b6c90",[[0,"ion-app",{"setFocus":[64]}],[36,"ion-footer",{"collapse":[1],"translucent":[4],"keyboardVisible":[32]}],[1,"ion-router-outlet",{"mode":[1025],"delegate":[16],"animated":[4],"animation":[16],"swipeHandler":[16,"swipe-handler"],"commit":[64],"setRouteId":[64],"getRouteId":[64]},null,{"swipeHandler":["swipeHandlerChanged"]}],[1,"ion-content",{"color":[513],"fullscreen":[4],"fixedSlotPlacement":[1,"fixed-slot-placement"],"forceOverscroll":[1028,"force-overscroll"],"scrollX":[4,"scroll-x"],"scrollY":[4,"scroll-y"],"scrollEvents":[4,"scroll-events"],"getScrollElement":[64],"getBackgroundElement":[64],"scrollToTop":[64],"scrollToBottom":[64],"scrollByPoint":[64],"scrollToPoint":[64]},[[9,"resize","onResize"]]],[36,"ion-header",{"collapse":[1],"translucent":[4]}],[33,"ion-title",{"color":[513],"size":[1]},null,{"size":["sizeChanged"]}],[33,"ion-toolbar",{"color":[513]},[[0,"ionStyle","childrenStyle"]]],[38,"ion-buttons",{"collapse":[4]}]]],["p-2438054c",[[33,"ion-select",{"cancelText":[1,"cancel-text"],"color":[513],"compareWith":[1,"compare-with"],"disabled":[4],"fill":[1],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"interface":[1],"interfaceOptions":[8,"interface-options"],"justify":[1],"label":[1],"labelPlacement":[1,"label-placement"],"multiple":[4],"name":[1],"okText":[1,"ok-text"],"placeholder":[1],"selectedText":[1,"selected-text"],"toggleIcon":[1,"toggle-icon"],"expandedIcon":[1,"expanded-icon"],"shape":[1],"value":[1032],"required":[4],"isExpanded":[32],"hasFocus":[32],"open":[64]},null,{"disabled":["styleChanged"],"isExpanded":["styleChanged"],"placeholder":["styleChanged"],"value":["styleChanged"]}],[1,"ion-select-option",{"disabled":[4],"value":[8]}],[34,"ion-select-popover",{"header":[1],"subHeader":[1,"sub-header"],"message":[1],"multiple":[4],"options":[16]}]]],["p-96d912f5",[[1,"ion-spinner",{"color":[513],"duration":[2],"name":[1],"paused":[4]}]]],["p-250c972f",[[33,"ion-radio",{"color":[513],"name":[1],"disabled":[4],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"checked":[32],"buttonTabindex":[32],"setFocus":[64],"setButtonTabindex":[64]},null,{"value":["valueChanged"]}],[36,"ion-radio-group",{"allowEmptySelection":[4,"allow-empty-selection"],"compareWith":[1,"compare-with"],"name":[1],"value":[1032],"helperText":[1,"helper-text"],"errorText":[1,"error-text"],"setFocus":[64]},[[4,"keydown","onKeydown"]],{"value":["valueChanged"]}]]],["p-ff88b250",[[1,"ion-ripple-effect",{"type":[1],"addRipple":[64]}]]],["p-ee504ce4",[[33,"ion-button",{"color":[513],"buttonType":[1025,"button-type"],"disabled":[516],"expand":[513],"fill":[1537],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"download":[1],"href":[1],"rel":[1],"shape":[513],"size":[513],"strong":[4],"target":[1],"type":[1],"form":[1],"isCircle":[32]},null,{"disabled":["disabledChanged"]}],[1,"ion-icon",{"mode":[1025],"color":[1],"ios":[1],"md":[1],"flipRtl":[4,"flip-rtl"],"name":[513],"src":[1],"icon":[8],"size":[1],"lazy":[4],"sanitize":[4],"svgContent":[32],"isVisible":[32]},null,{"name":["loadIcon"],"src":["loadIcon"],"icon":["loadIcon"],"ios":["loadIcon"],"md":["loadIcon"]}]]]]'),e))));
4
+ import{p as e,H as t,b as o}from"./p-3GtB1kQI.js";export{s as setNonce}from"./p-3GtB1kQI.js";import{g as n}from"./p-wsLGfiE0.js";import"./p-B7Khsp7D.js";import"./p-CEo1SqXS.js";var a=e=>{const t=e.cloneNode;e.cloneNode=function(e){if("TEMPLATE"===this.nodeName)return t.call(this,e);const o=t.call(this,!1),n=this.childNodes;if(e)for(let e=0;e<n.length;e++)2!==n[e].nodeType&&o.appendChild(n[e].cloneNode(!0));return o}};(()=>{a(t.prototype);const o=import.meta.url,n={};return""!==o&&(n.resourcesUrl=new URL(".",o).href),e(n)})().then((async e=>(await n(),o(JSON.parse('[["p-cde545fa",[[33,"ion-menu-button",{"color":[513],"disabled":[4],"menu":[1],"autoHide":[4,"auto-hide"],"type":[1],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]],[33,"ion-menu",{"contentId":[513,"content-id"],"menuId":[513,"menu-id"],"type":[1025],"disabled":[1028],"side":[513],"swipeGesture":[4,"swipe-gesture"],"maxEdgeStart":[2,"max-edge-start"],"isPaneVisible":[32],"isEndSide":[32],"isOpen":[64],"isActive":[64],"open":[64],"close":[64],"toggle":[64],"setOpen":[64]},[[16,"ionSplitPaneVisible","onSplitPaneChanged"],[2,"click","onBackdropClick"]],{"type":["typeChanged"],"disabled":["disabledChanged"],"side":["sideChanged"],"swipeGesture":["swipeGestureChanged"]}],[1,"ion-menu-toggle",{"menu":[1],"autoHide":[4,"auto-hide"],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]]]],["p-f35cb090",[[33,"ion-input-password-toggle",{"color":[513],"showIcon":[1,"show-icon"],"hideIcon":[1,"hide-icon"],"type":[1025]},null,{"type":["onTypeChange"]}]]],["p-e83ead65",[[33,"ion-fab-button",{"color":[513],"activated":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"target":[1],"show":[4],"translucent":[4],"type":[1],"size":[1],"closeIcon":[1,"close-icon"]}],[1,"ion-fab",{"horizontal":[1],"vertical":[1],"edge":[4],"activated":[1028],"close":[64],"toggle":[64]},null,{"activated":["activatedChanged"]}],[1,"ion-fab-list",{"activated":[4],"side":[1]},null,{"activated":["activatedChanged"]}]]],["p-5756b724",[[0,"ion-refresher-content",{"pullingIcon":[1025,"pulling-icon"],"pullingText":[1,"pulling-text"],"refreshingSpinner":[1025,"refreshing-spinner"],"refreshingText":[1,"refreshing-text"]}],[32,"ion-refresher",{"pullMin":[2,"pull-min"],"pullMax":[2,"pull-max"],"closeDuration":[1,"close-duration"],"snapbackDuration":[1,"snapback-duration"],"pullFactor":[2,"pull-factor"],"disabled":[4],"nativeRefresher":[32],"state":[32],"complete":[64],"cancel":[64],"getProgress":[64]},null,{"disabled":["disabledChanged"]}]]],["p-3ca63859",[[33,"ion-back-button",{"color":[513],"defaultHref":[1025,"default-href"],"disabled":[516],"icon":[1],"text":[1],"type":[1],"routerAnimation":[16,"router-animation"]}]]],["p-29186993",[[33,"ion-toast",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"color":[513],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"cssClass":[1,"css-class"],"duration":[2],"header":[1],"layout":[1],"message":[1],"keyboardClose":[4,"keyboard-close"],"position":[1],"positionAnchor":[1,"position-anchor"],"buttons":[16],"translucent":[4],"animated":[4],"icon":[1],"htmlAttributes":[16,"html-attributes"],"swipeGesture":[1,"swipe-gesture"],"isOpen":[4,"is-open"],"trigger":[1],"revealContentToScreenReader":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"swipeGesture":["swipeGestureChanged"],"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-b18a4590",[[33,"ion-card",{"color":[513],"button":[4],"type":[1],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"target":[1]}],[32,"ion-card-content"],[33,"ion-card-header",{"color":[513],"translucent":[4]}],[33,"ion-card-subtitle",{"color":[513]}],[33,"ion-card-title",{"color":[513]}]]],["p-fb714eec",[[33,"ion-item-option",{"color":[513],"disabled":[4],"download":[1],"expandable":[4],"href":[1],"rel":[1],"target":[1],"type":[1]}],[32,"ion-item-options",{"side":[1],"fireSwipeEvent":[64]}],[0,"ion-item-sliding",{"disabled":[4],"state":[32],"getOpenAmount":[64],"getSlidingRatio":[64],"open":[64],"close":[64],"closeOpened":[64]},null,{"disabled":["disabledChanged"]}]]],["p-c1b0e3b6",[[49,"ion-accordion",{"value":[1],"disabled":[4],"readonly":[4],"toggleIcon":[1,"toggle-icon"],"toggleIconSlot":[1,"toggle-icon-slot"],"state":[32],"isNext":[32],"isPrevious":[32]},null,{"value":["valueChanged"]}],[33,"ion-accordion-group",{"animated":[4],"multiple":[4],"value":[1025],"disabled":[4],"readonly":[4],"expand":[1],"requestAccordionToggle":[64],"getAccordions":[64]},[[0,"keydown","onKeydown"]],{"value":["valueChanged"],"disabled":["disabledChanged"],"readonly":["readonlyChanged"]}]]],["p-ed36aee8",[[32,"ion-infinite-scroll-content",{"loadingSpinner":[1025,"loading-spinner"],"loadingText":[1,"loading-text"]}],[0,"ion-infinite-scroll",{"threshold":[1],"disabled":[4],"position":[1],"isLoading":[32],"complete":[64]},null,{"threshold":["thresholdChanged"],"disabled":["disabledChanged"]}]]],["p-43f012a4",[[33,"ion-reorder",null,[[2,"click","onClick"]]],[0,"ion-reorder-group",{"disabled":[4],"state":[32],"complete":[64]},null,{"disabled":["disabledChanged"]}]]],["p-8d7afec5",[[33,"ion-segment-button",{"contentId":[513,"content-id"],"disabled":[1028],"layout":[1],"type":[1],"value":[8],"checked":[32],"setFocus":[64]},null,{"value":["valueChanged"]}],[33,"ion-segment",{"color":[513],"disabled":[4],"scrollable":[4],"swipeGesture":[4,"swipe-gesture"],"value":[1032],"selectOnFocus":[4,"select-on-focus"],"activated":[32]},[[16,"ionSegmentViewScroll","handleSegmentViewScroll"],[0,"keydown","onKeyDown"]],{"color":["colorChanged"],"swipeGesture":["swipeGestureChanged"],"value":["valueChanged"],"disabled":["disabledChanged"]}]]],["p-98f759e4",[[33,"ion-chip",{"color":[513],"outline":[4],"disabled":[4]}]]],["p-178084cb",[[38,"ion-input",{"color":[513],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"clearInputIcon":[1,"clear-input-icon"],"clearOnEdit":[4,"clear-on-edit"],"counter":[4],"counterFormatter":[16,"counter-formatter"],"debounce":[2],"disabled":[516],"enterkeyhint":[1],"errorText":[1,"error-text"],"fill":[1],"inputmode":[1],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1,"label-placement"],"max":[8],"maxlength":[2],"min":[8],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[516],"required":[4],"shape":[1],"spellcheck":[4],"step":[1],"type":[1],"value":[1032],"hasFocus":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":["debounceChanged"],"type":["onTypeChange"],"value":["valueChanged"],"dir":["onDirChanged"]}]]],["p-9262223a",[[34,"ion-searchbar",{"color":[513],"animated":[4],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"cancelButtonIcon":[1,"cancel-button-icon"],"cancelButtonText":[1,"cancel-button-text"],"clearIcon":[1,"clear-icon"],"debounce":[2],"disabled":[4],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"searchIcon":[1,"search-icon"],"showCancelButton":[1,"show-cancel-button"],"showClearButton":[1,"show-clear-button"],"spellcheck":[4],"type":[1],"value":[1025],"focused":[32],"noAnimate":[32],"setFocus":[64],"getInputElement":[64]},null,{"lang":["onLangChanged"],"dir":["onDirChanged"],"debounce":["debounceChanged"],"value":["valueChanged"],"showCancelButton":["showCancelButtonChanged"]}]]],["p-da105dce",[[33,"ion-toggle",{"color":[513],"name":[1],"checked":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[1],"enableOnOffLabels":[4,"enable-on-off-labels"],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"activated":[32]},null,{"disabled":["disabledChanged"]}]]],["p-8c496d65",[[1,"ion-nav",{"delegate":[16],"swipeGesture":[1028,"swipe-gesture"],"animated":[4],"animation":[16],"rootParams":[16,"root-params"],"root":[1],"push":[64],"insert":[64],"insertPages":[64],"pop":[64],"popTo":[64],"popToRoot":[64],"removeIndex":[64],"setRoot":[64],"setPages":[64],"setRouteId":[64],"getRouteId":[64],"getActive":[64],"getByIndex":[64],"canGoBack":[64],"getPrevious":[64],"getLength":[64]},null,{"swipeGesture":["swipeGestureChanged"],"root":["rootChanged"]}],[0,"ion-nav-link",{"component":[1],"componentProps":[16,"component-props"],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"]}]]],["p-e5495b3b",[[1,"ion-tab",{"active":[1028],"delegate":[16],"tab":[1],"component":[1],"setActive":[64]},null,{"active":["changeActive"]}],[1,"ion-tabs",{"useRouter":[1028,"use-router"],"selectedTab":[32],"select":[64],"getTab":[64],"getSelected":[64],"setRouteId":[64],"getRouteId":[64]}]]],["p-d4742f5c",[[38,"ion-textarea",{"color":[513],"autocapitalize":[1],"autofocus":[4],"clearOnEdit":[4,"clear-on-edit"],"debounce":[2],"disabled":[4],"fill":[1],"inputmode":[1],"enterkeyhint":[1],"maxlength":[2],"minlength":[2],"name":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"cols":[514],"rows":[2],"wrap":[1],"autoGrow":[516,"auto-grow"],"value":[1025],"counter":[4],"counterFormatter":[16,"counter-formatter"],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"label":[1],"labelPlacement":[1,"label-placement"],"shape":[1],"hasFocus":[32],"setFocus":[64],"getInputElement":[64]},[[2,"click","onClickCapture"]],{"debounce":["debounceChanged"],"value":["valueChanged"],"dir":["onDirChanged"]}]]],["p-1e9ea564",[[33,"ion-backdrop",{"visible":[4],"tappable":[4],"stopPropagation":[4,"stop-propagation"]},[[2,"click","onMouseDown"]]]]],["p-05427be9",[[34,"ion-loading",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"message":[1],"cssClass":[1,"css-class"],"duration":[2],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"spinner":[1025],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-a20a15cc",[[33,"ion-breadcrumb",{"collapsed":[4],"last":[4],"showCollapsedIndicator":[4,"show-collapsed-indicator"],"color":[1],"active":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"separator":[4],"target":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"]}],[33,"ion-breadcrumbs",{"color":[513],"maxItems":[2,"max-items"],"itemsBeforeCollapse":[2,"items-before-collapse"],"itemsAfterCollapse":[2,"items-after-collapse"],"collapsed":[32],"activeChanged":[32]},[[0,"collapsedClick","onCollapsedClick"]],{"maxItems":["maxItemsChanged"],"itemsBeforeCollapse":["maxItemsChanged"],"itemsAfterCollapse":["maxItemsChanged"]}]]],["p-2c6931ed",[[33,"ion-tab-button",{"disabled":[4],"download":[1],"href":[1],"rel":[1],"layout":[1025],"selected":[1028],"tab":[1],"target":[1]},[[8,"ionTabBarChanged","onTabBarChanged"]]],[33,"ion-tab-bar",{"color":[513],"selectedTab":[1,"selected-tab"],"translucent":[4],"keyboardVisible":[32]},null,{"selectedTab":["selectedTabChanged"]}]]],["p-920540c6",[[33,"ion-datetime-button",{"color":[513],"disabled":[516],"datetime":[1],"datetimePresentation":[32],"dateText":[32],"timeText":[32],"datetimeActive":[32],"selectedButton":[32]}]]],["p-f331dda5",[[0,"ion-route",{"url":[1],"component":[1],"componentProps":[16,"component-props"],"beforeLeave":[16,"before-leave"],"beforeEnter":[16,"before-enter"]},null,{"url":["onUpdate"],"component":["onUpdate"],"componentProps":["onComponentProps"]}],[0,"ion-route-redirect",{"from":[1],"to":[1]},null,{"from":["propDidChange"],"to":["propDidChange"]}],[0,"ion-router",{"root":[1],"useHash":[4,"use-hash"],"canTransition":[64],"push":[64],"back":[64],"printDebug":[64],"navChanged":[64]},[[8,"popstate","onPopState"],[4,"ionBackButton","onBackButton"]]],[1,"ion-router-link",{"color":[513],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"target":[1]}]]],["p-eec040ff",[[33,"ion-avatar"],[33,"ion-badge",{"color":[513]}],[1,"ion-thumbnail"]]],["p-9c7d7711",[[1,"ion-col",{"offset":[1],"offsetXs":[1,"offset-xs"],"offsetSm":[1,"offset-sm"],"offsetMd":[1,"offset-md"],"offsetLg":[1,"offset-lg"],"offsetXl":[1,"offset-xl"],"pull":[1],"pullXs":[1,"pull-xs"],"pullSm":[1,"pull-sm"],"pullMd":[1,"pull-md"],"pullLg":[1,"pull-lg"],"pullXl":[1,"pull-xl"],"push":[1],"pushXs":[1,"push-xs"],"pushSm":[1,"push-sm"],"pushMd":[1,"push-md"],"pushLg":[1,"push-lg"],"pushXl":[1,"push-xl"],"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]],[1,"ion-grid",{"fixed":[4]}],[1,"ion-row"]]],["p-592db4a8",[[1,"ion-img",{"alt":[1],"src":[1],"loadSrc":[32],"loadError":[32]},null,{"src":["srcChanged"]}]]],["p-8a073160",[[38,"ion-input-otp",{"autocapitalize":[1],"color":[513],"disabled":[516],"fill":[1],"inputmode":[1],"length":[2],"pattern":[1],"readonly":[516],"size":[1],"separators":[1],"shape":[1],"type":[1],"value":[1032],"inputValues":[32],"hasFocus":[32],"reset":[64],"setFocus":[64]},null,{"value":["valueChanged"],"separators":["processSeparators"],"length":["processSeparators"]}]]],["p-0bc3d6d0",[[33,"ion-progress-bar",{"type":[1],"reversed":[4],"value":[2],"buffer":[2],"color":[513]}]]],["p-99cc16fb",[[33,"ion-range",{"color":[513],"debounce":[2],"name":[1],"label":[1],"dualKnobs":[4,"dual-knobs"],"min":[2],"max":[2],"pin":[4],"pinFormatter":[16,"pin-formatter"],"snaps":[4],"step":[2],"ticks":[4],"activeBarStart":[1026,"active-bar-start"],"disabled":[4],"value":[1026],"labelPlacement":[1,"label-placement"],"ratioA":[32],"ratioB":[32],"pressedKnob":[32]},null,{"debounce":["debounceChanged"],"min":["minChanged"],"max":["maxChanged"],"step":["stepChanged"],"activeBarStart":["activeBarStartChanged"],"disabled":["disabledChanged"],"value":["valueChanged"]}]]],["p-bf6b00ab",[[1,"ion-segment-content"]]],["p-691fa8c7",[[33,"ion-segment-view",{"disabled":[4],"isManualScroll":[32],"setContent":[64]},[[1,"scroll","handleScroll"],[1,"touchstart","handleScrollStart"],[1,"touchend","handleTouchEnd"]]]]],["p-2517fcdf",[[33,"ion-split-pane",{"contentId":[513,"content-id"],"disabled":[4],"when":[8],"visible":[32],"isVisible":[64]},null,{"visible":["visibleChanged"],"disabled":["updateState"],"when":["updateState"]}]]],["p-1fe35f29",[[1,"ion-text",{"color":[513]}]]],["p-14d26301",[[34,"ion-select-modal",{"header":[1],"multiple":[4],"options":[16]}]]],["p-e2d9c488",[[33,"ion-datetime",{"color":[1],"name":[1],"disabled":[4],"formatOptions":[16,"format-options"],"readonly":[4],"isDateEnabled":[16,"is-date-enabled"],"showAdjacentDays":[4,"show-adjacent-days"],"min":[1025],"max":[1025],"presentation":[1],"cancelText":[1,"cancel-text"],"doneText":[1,"done-text"],"clearText":[1,"clear-text"],"yearValues":[8,"year-values"],"monthValues":[8,"month-values"],"dayValues":[8,"day-values"],"hourValues":[8,"hour-values"],"minuteValues":[8,"minute-values"],"locale":[1],"firstDayOfWeek":[2,"first-day-of-week"],"titleSelectedDatesFormatter":[16,"title-selected-dates-formatter"],"multiple":[4],"highlightedDates":[16,"highlighted-dates"],"value":[1025],"showDefaultTitle":[4,"show-default-title"],"showDefaultButtons":[4,"show-default-buttons"],"showClearButton":[4,"show-clear-button"],"showDefaultTimeLabel":[4,"show-default-time-label"],"hourCycle":[1,"hour-cycle"],"size":[1],"preferWheel":[4,"prefer-wheel"],"showMonthAndYear":[32],"activeParts":[32],"workingParts":[32],"isTimePopoverOpen":[32],"forceRenderDate":[32],"confirm":[64],"reset":[64],"cancel":[64]},null,{"formatOptions":["formatOptionsChanged"],"disabled":["disabledChanged"],"min":["minChanged"],"max":["maxChanged"],"presentation":["presentationChanged"],"yearValues":["yearValuesChanged"],"monthValues":["monthValuesChanged"],"dayValues":["dayValuesChanged"],"hourValues":["hourValuesChanged"],"minuteValues":["minuteValuesChanged"],"value":["valueChanged"]}],[34,"ion-picker-legacy",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"buttons":[16],"columns":[16],"cssClass":[1,"css-class"],"duration":[2],"showBackdrop":[4,"show-backdrop"],"backdropDismiss":[4,"backdrop-dismiss"],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"getColumn":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}],[32,"ion-picker-legacy-column",{"col":[16]},null,{"col":["colChanged"]}]]],["p-fd156864",[[34,"ion-action-sheet",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"buttons":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"header":[1],"subHeader":[1,"sub-header"],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-6bd192d8",[[34,"ion-alert",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"hasController":[4,"has-controller"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"cssClass":[1,"css-class"],"header":[1],"subHeader":[1,"sub-header"],"message":[1],"buttons":[16],"inputs":[1040],"backdropDismiss":[4,"backdrop-dismiss"],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64]},[[4,"keydown","onKeydown"]],{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"],"buttons":["buttonsChanged"],"inputs":["inputsChanged"]}]]],["p-a22fe54d",[[33,"ion-modal",{"hasController":[4,"has-controller"],"overlayIndex":[2,"overlay-index"],"delegate":[16],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"breakpoints":[16],"expandToScroll":[4,"expand-to-scroll"],"initialBreakpoint":[2,"initial-breakpoint"],"backdropBreakpoint":[2,"backdrop-breakpoint"],"handle":[4],"handleBehavior":[1,"handle-behavior"],"component":[1],"componentProps":[16,"component-props"],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"animated":[4],"presentingElement":[16,"presenting-element"],"htmlAttributes":[16,"html-attributes"],"isOpen":[4,"is-open"],"trigger":[1],"keepContentsMounted":[4,"keep-contents-mounted"],"focusTrap":[4,"focus-trap"],"canDismiss":[4,"can-dismiss"],"presented":[32],"present":[64],"dismiss":[64],"onDidDismiss":[64],"onWillDismiss":[64],"setCurrentBreakpoint":[64],"getCurrentBreakpoint":[64]},null,{"isOpen":["onIsOpenChange"],"trigger":["triggerChanged"]}]]],["p-1da92348",[[33,"ion-picker",{"exitInputMode":[64]},[[1,"touchstart","preventTouchStartPropagation"]]]]],["p-0bcd3299",[[1,"ion-picker-column",{"disabled":[4],"value":[1032],"color":[513],"numericInput":[4,"numeric-input"],"ariaLabel":[32],"isActive":[32],"scrollActiveItemIntoView":[64],"setValue":[64],"setFocus":[64]},null,{"aria-label":["ariaLabelChanged"],"value":["valueChange"]}]]],["p-bc84650a",[[33,"ion-picker-column-option",{"disabled":[4],"value":[8],"color":[513],"ariaLabel":[32]},null,{"aria-label":["onAriaLabelChange"]}]]],["p-7a6c96ca",[[33,"ion-popover",{"hasController":[4,"has-controller"],"delegate":[16],"overlayIndex":[2,"overlay-index"],"enterAnimation":[16,"enter-animation"],"leaveAnimation":[16,"leave-animation"],"component":[1],"componentProps":[16,"component-props"],"keyboardClose":[4,"keyboard-close"],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"event":[8],"showBackdrop":[4,"show-backdrop"],"translucent":[4],"animated":[4],"htmlAttributes":[16,"html-attributes"],"triggerAction":[1,"trigger-action"],"trigger":[1],"size":[1],"dismissOnSelect":[4,"dismiss-on-select"],"reference":[1],"side":[1],"alignment":[1025],"arrow":[4],"isOpen":[4,"is-open"],"keyboardEvents":[4,"keyboard-events"],"focusTrap":[4,"focus-trap"],"keepContentsMounted":[4,"keep-contents-mounted"],"presented":[32],"presentFromTrigger":[64],"present":[64],"dismiss":[64],"getParentPopover":[64],"onDidDismiss":[64],"onWillDismiss":[64]},null,{"trigger":["onTriggerChange"],"triggerAction":["onTriggerChange"],"isOpen":["onIsOpenChange"]}]]],["p-3fa87259",[[33,"ion-checkbox",{"color":[513],"name":[1],"checked":[1028],"indeterminate":[1028],"disabled":[4],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"required":[4],"setFocus":[64]}]]],["p-2e42fa68",[[33,"ion-item-divider",{"color":[513],"sticky":[4]}],[32,"ion-item-group"],[33,"ion-note",{"color":[513]}],[1,"ion-skeleton-text",{"animated":[4]}],[38,"ion-label",{"color":[513],"position":[1],"noAnimate":[32]},null,{"color":["colorChanged"],"position":["positionChanged"]}],[33,"ion-list-header",{"color":[513],"lines":[1]}],[33,"ion-item",{"color":[513],"button":[4],"detail":[4],"detailIcon":[1,"detail-icon"],"disabled":[516],"download":[1],"href":[1],"rel":[1],"lines":[1],"routerAnimation":[16,"router-animation"],"routerDirection":[1,"router-direction"],"target":[1],"type":[1],"multipleInputs":[32],"focusable":[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]],{"button":["buttonChanged"]}],[32,"ion-list",{"lines":[1],"inset":[4],"closeSlidingItems":[64]}]]],["p-832b6c90",[[0,"ion-app",{"setFocus":[64]}],[36,"ion-footer",{"collapse":[1],"translucent":[4],"keyboardVisible":[32]}],[1,"ion-router-outlet",{"mode":[1025],"delegate":[16],"animated":[4],"animation":[16],"swipeHandler":[16,"swipe-handler"],"commit":[64],"setRouteId":[64],"getRouteId":[64]},null,{"swipeHandler":["swipeHandlerChanged"]}],[1,"ion-content",{"color":[513],"fullscreen":[4],"fixedSlotPlacement":[1,"fixed-slot-placement"],"forceOverscroll":[1028,"force-overscroll"],"scrollX":[4,"scroll-x"],"scrollY":[4,"scroll-y"],"scrollEvents":[4,"scroll-events"],"getScrollElement":[64],"getBackgroundElement":[64],"scrollToTop":[64],"scrollToBottom":[64],"scrollByPoint":[64],"scrollToPoint":[64]},[[9,"resize","onResize"]]],[36,"ion-header",{"collapse":[1],"translucent":[4]}],[33,"ion-title",{"color":[513],"size":[1]},null,{"size":["sizeChanged"]}],[33,"ion-toolbar",{"color":[513]},[[0,"ionStyle","childrenStyle"]]],[38,"ion-buttons",{"collapse":[4]}]]],["p-2438054c",[[33,"ion-select",{"cancelText":[1,"cancel-text"],"color":[513],"compareWith":[1,"compare-with"],"disabled":[4],"fill":[1],"errorText":[1,"error-text"],"helperText":[1,"helper-text"],"interface":[1],"interfaceOptions":[8,"interface-options"],"justify":[1],"label":[1],"labelPlacement":[1,"label-placement"],"multiple":[4],"name":[1],"okText":[1,"ok-text"],"placeholder":[1],"selectedText":[1,"selected-text"],"toggleIcon":[1,"toggle-icon"],"expandedIcon":[1,"expanded-icon"],"shape":[1],"value":[1032],"required":[4],"isExpanded":[32],"hasFocus":[32],"open":[64]},null,{"disabled":["styleChanged"],"isExpanded":["styleChanged"],"placeholder":["styleChanged"],"value":["styleChanged"]}],[1,"ion-select-option",{"disabled":[4],"value":[8]}],[34,"ion-select-popover",{"header":[1],"subHeader":[1,"sub-header"],"message":[1],"multiple":[4],"options":[16]}]]],["p-96d912f5",[[1,"ion-spinner",{"color":[513],"duration":[2],"name":[1],"paused":[4]}]]],["p-250c972f",[[33,"ion-radio",{"color":[513],"name":[1],"disabled":[4],"value":[8],"labelPlacement":[1,"label-placement"],"justify":[1],"alignment":[1],"checked":[32],"buttonTabindex":[32],"setFocus":[64],"setButtonTabindex":[64]},null,{"value":["valueChanged"]}],[36,"ion-radio-group",{"allowEmptySelection":[4,"allow-empty-selection"],"compareWith":[1,"compare-with"],"name":[1],"value":[1032],"helperText":[1,"helper-text"],"errorText":[1,"error-text"],"setFocus":[64]},[[4,"keydown","onKeydown"]],{"value":["valueChanged"]}]]],["p-ff88b250",[[1,"ion-ripple-effect",{"type":[1],"addRipple":[64]}]]],["p-ee504ce4",[[33,"ion-button",{"color":[513],"buttonType":[1025,"button-type"],"disabled":[516],"expand":[513],"fill":[1537],"routerDirection":[1,"router-direction"],"routerAnimation":[16,"router-animation"],"download":[1],"href":[1],"rel":[1],"shape":[513],"size":[513],"strong":[4],"target":[1],"type":[1],"form":[1],"isCircle":[32]},null,{"disabled":["disabledChanged"]}],[1,"ion-icon",{"mode":[1025],"color":[1],"ios":[1],"md":[1],"flipRtl":[4,"flip-rtl"],"name":[513],"src":[1],"icon":[8],"size":[1],"lazy":[4],"sanitize":[4],"svgContent":[32],"isVisible":[32]},null,{"name":["loadIcon"],"src":["loadIcon"],"icon":["loadIcon"],"ios":["loadIcon"],"md":["loadIcon"]}]]]]'),e))));
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{r as i,c as o,h as t,F as n,d as r,g as p}from"./p-3GtB1kQI.js";import{p as s}from"./p-CEo1SqXS.js";import{i as e}from"./p-C53feagD.js";import{c as a}from"./p-DiVJyqlX.js";import{b as l}from"./p-B7Khsp7D.js";const d=class{constructor(t){i(this,t),this.ionInput=o(this,"ionInput",7),this.ionChange=o(this,"ionChange",7),this.ionComplete=o(this,"ionComplete",7),this.ionBlur=o(this,"ionBlur",7),this.ionFocus=o(this,"ionFocus",7),this.inputRefs=[],this.inputId="ion-input-otp-"+c++,this.parsedSeparators=[],this.isKeyboardNavigation=!1,this.inputValues=[],this.hasFocus=!1,this.autocapitalize="off",this.disabled=!1,this.fill="outline",this.length=4,this.readonly=!1,this.size="medium",this.shape="round",this.type="number",this.value="",this.onInput=i=>o=>{const{validKeyPattern:t}=this,n=o.target.value;if(n.length>1||n.length>0&&!t.test(n))return this.inputRefs[i].value="",void(this.inputValues[i]="");let r=i;for(let o=0;o<i;o++)if(!this.inputValues[o]||""===this.inputValues[o]){r=o;break}this.inputValues[r]=n,r!==i&&(this.inputRefs[i].value=""),n.length>0&&this.focusNext(r),this.updateValue(o)},this.onKeyDown=i=>o=>{const{length:t}=this,n=e(this.el),r=o.target;if((!o.metaKey&&!o.ctrlKey||"v"!==o.key.toLowerCase())&&r.selectionStart===r.selectionEnd){if("Backspace"===o.key)if(this.inputValues[i]){for(let o=i;o<t-1;o++)this.inputValues[o]=this.inputValues[o+1];this.inputValues[t-1]="";for(let i=0;i<t;i++)this.inputRefs[i].value=this.inputValues[i]||"";this.updateValue(o),o.preventDefault()}else!this.inputValues[i]&&i>0&&this.focusPrevious(i);else if("ArrowLeft"===o.key||"ArrowRight"===o.key){this.isKeyboardNavigation=!0,o.preventDefault();const r="ArrowLeft"===o.key;r&&n||!r&&!n?this.inputValues[i]&&i<t-1&&this.focusNext(i):this.focusPrevious(i)}else if("Tab"===o.key)return void(this.isKeyboardNavigation=!0);if(this.inputValues[i]&&this.validKeyPattern.test(o.key)){if(!this.inputValues[t-1])for(let o=t-1;o>i;o--)this.inputValues[o]=this.inputValues[o-1],this.inputRefs[o].value=this.inputValues[o]||"";this.inputValues[i]=o.key,this.inputRefs[i].value=o.key,this.updateValue(o),o.preventDefault()}}},this.onPaste=i=>{var o,t,n;const{inputRefs:r,length:p,validKeyPattern:s}=this;i.preventDefault();const e=null===(o=i.clipboardData)||void 0===o?void 0:o.getData("text");if(!e)return void this.emitIonInput(i);const a=e.split("").filter((i=>s.test(i))).slice(0,p),l=this.getFirstEmptyIndex(),d=-1===l?0:l;a.forEach(((i,o)=>{const t=d+o;t<p&&(this.inputRefs[t].value=i,this.inputValues[t]=i)})),this.updateValue(i);const c=d+a.length;c<p?null===(t=r[c])||void 0===t||t.focus():null===(n=r[p-1])||void 0===n||n.focus()},this.onFocus=i=>o=>{var t;const{inputRefs:n}=this;this.hasFocus||(this.ionFocus.emit(o),this.focusedValue=this.value),this.hasFocus=!0;let r=i;if(!this.isKeyboardNavigation){const o=this.inputValues[i]?i:this.getFirstEmptyIndex();r=-1===o?this.length-1:o,null===(t=this.inputRefs[r])||void 0===t||t.focus()}n.forEach(((i,o)=>{i.tabIndex=o===r?0:-1})),this.isKeyboardNavigation=!1},this.onBlur=i=>{const{inputRefs:o}=this,t=i.relatedTarget;null!=t&&o.includes(t)||(this.hasFocus=!1,this.updateTabIndexes(),this.ionBlur.emit(i),this.focusedValue!==this.value&&this.emitIonChange(i))}}valueChanged(){this.initializeValues()}processSeparators(){const{separators:i,length:o}=this;if(void 0===i)return void(this.parsedSeparators=[]);if("string"==typeof i&&"all"!==i&&!/^(\d+)(,\d+)*$/.test(i))return s(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${i}`,this.el),void(this.parsedSeparators=[]);let t;t="all"===i?Array.from({length:o-1},((i,o)=>o+1)):Array.isArray(i)?i:i.split(",").map((i=>parseInt(i,10))).filter((i=>!isNaN(i))),t.filter(((i,o)=>t.indexOf(i)!==o)).length>0&&s(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${i}`,this.el);const n=t.filter((i=>i>o));n.length>0&&s(`[ion-input-otp] - The following separator positions are greater than the input length (${o}): ${n.join(", ")}. These separators will be ignored.`,this.el),this.parsedSeparators=t.filter((i=>i<=o))}componentWillLoad(){this.processSeparators(),this.initializeValues()}initializeValues(){null!=this.value&&String(this.value).length>0&&(String(this.value).split("").slice(0,this.length).forEach(((i,o)=>{this.validKeyPattern.test(i)&&(this.inputValues[o]=i)})),this.value=this.inputValues.join(""))}async reset(){this.inputValues=Array(this.length).fill(""),this.value="",this.focusedValue=null,this.hasFocus=!1,this.inputRefs.forEach((i=>{i.blur()})),this.updateTabIndexes()}async setFocus(i){var o,t;if("number"==typeof i){const t=Math.max(0,Math.min(i,this.length-1));null===(o=this.inputRefs[t])||void 0===o||o.focus()}else{const i=this.getTabbableIndex();null===(t=this.inputRefs[i])||void 0===t||t.focus()}}get validKeyPattern(){return new RegExp(`^${this.getPattern()}$`,"u")}getPattern(){const{pattern:i,type:o}=this;return i||("number"===o?"[\\p{N}]":"[\\p{L}\\p{N}]")}getInputmode(){const{inputmode:i}=this;return i||("number"==this.type?"numeric":"text")}updateValue(i){const{inputValues:o,length:t}=this,n=o.join("");this.value=n,this.emitIonInput(i),n.length===t&&this.ionComplete.emit({value:n})}emitIonChange(i){const{value:o}=this,t=null==o?o:o.toString();this.ionChange.emit({value:t,event:i})}emitIonInput(i){const{value:o}=this,t=null==o?o:o.toString();this.ionInput.emit({value:t,event:i})}focusNext(i){var o;const{inputRefs:t,length:n}=this;i<n-1&&(null===(o=t[i+1])||void 0===o||o.focus())}focusPrevious(i){var o;const{inputRefs:t}=this;i>0&&(null===(o=t[i-1])||void 0===o||o.focus())}showSeparator(i){const{length:o}=this;return this.parsedSeparators.includes(i+1)&&i<o-1}updateTabIndexes(){const{inputRefs:i,inputValues:o,length:t}=this;let n=-1;for(let i=0;i<t;i++)if(!o[i]||""===o[i]){n=i;break}i.forEach(((i,o)=>{i.tabIndex=(-1===n?o===t-1:n===o)?0:-1}))}getFirstEmptyIndex(){var i;const{inputValues:o,length:t}=this;return null!==(i=Array.from({length:t},((i,t)=>o[t]||"")).findIndex((i=>!i||""===i)))&&void 0!==i?i:-1}getTabbableIndex(){const{length:i}=this,o=this.getFirstEmptyIndex();return-1===o?i-1:o}render(){const{autocapitalize:i,color:o,disabled:p,fill:s,hasFocus:e,inputId:d,inputRefs:c,inputValues:u,length:h,readonly:g,shape:v,size:m}=this,f=l(this),b=this.getInputmode(),x=this.getTabbableIndex(),k=this.getPattern();return t(r,{key:"9a9b5b662809152450409859ba60a2181edd1f47",class:a(o,{[f]:!0,"has-focus":e,[`input-otp-size-${m}`]:!0,[`input-otp-shape-${v}`]:!0,[`input-otp-fill-${s}`]:!0,"input-otp-disabled":p,"input-otp-readonly":g})},t("div",{key:"05957b6525b38472df51f1f297a5a96c454e7cb4",role:"group","aria-label":"One-time password input",class:"input-otp-group"},Array.from({length:h}).map(((o,r)=>t(n,null,t("div",{class:"native-wrapper"},t("input",{class:"native-input",id:`${d}-${r}`,"aria-label":`Input ${r+1} of ${h}`,type:"text",autoCapitalize:i,inputmode:b,maxLength:1,pattern:k,disabled:p,readOnly:g,tabIndex:r===x?0:-1,value:u[r]||"",autocomplete:0===r?"one-time-code":"off",ref:i=>c[r]=i,onInput:this.onInput(r),onBlur:this.onBlur,onFocus:this.onFocus(r),onKeyDown:this.onKeyDown(r),onPaste:this.onPaste})),this.showSeparator(r)&&t("div",{class:"input-otp-separator"}))))),t("div",{key:"d8258fc40c93fbe9a4ce90035af16ef518bd611d",class:"input-otp-description"},t("slot",{key:"a02159cc38c04b5a34b9c5096d8172eedb642aec"})))}get el(){return p(this)}static get watchers(){return{value:["valueChanged"],separators:["processSeparators"],length:["processSeparators"]}}};let c=0;d.style={ios:".sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}",md:".sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}"};export{d as ion_input_otp}
@@ -56,8 +56,8 @@ export declare class InputOTP implements ComponentInterface {
56
56
  /**
57
57
  * A regex pattern string for allowed characters. Defaults based on type.
58
58
  *
59
- * For numbers (type="number"): "[0-9]"
60
- * For text (type="text"): "[a-zA-Z0-9]"
59
+ * For numbers (type="number"): "[\\p{N}]"
60
+ * For text (type="text"): "[\\p{L}\\p{N}]"
61
61
  */
62
62
  pattern?: string;
63
63
  /**
@@ -163,7 +163,7 @@ export declare class InputOTP implements ComponentInterface {
163
163
  * If a pattern is provided, use it to create a regex pattern
164
164
  * Otherwise, use the default regex pattern based on type
165
165
  */
166
- private get validKeys();
166
+ private get validKeyPattern();
167
167
  /**
168
168
  * Gets the string pattern to pass to the input element
169
169
  * and use in the regex for allowed characters.
@@ -255,7 +255,7 @@ export declare class InputOTP implements ComponentInterface {
255
255
  */
256
256
  private updateTabIndexes;
257
257
  /**
258
- * Loops through the input values and returns the index
258
+ * Searches through the input values and returns the index
259
259
  * of the first empty input.
260
260
  * Returns -1 if all inputs are filled.
261
261
  */
@@ -1347,7 +1347,7 @@ export namespace Components {
1347
1347
  */
1348
1348
  "length": number;
1349
1349
  /**
1350
- * A regex pattern string for allowed characters. Defaults based on type. For numbers (type="number"): "[0-9]" For text (type="text"): "[a-zA-Z0-9]"
1350
+ * A regex pattern string for allowed characters. Defaults based on type. For numbers (type="number"): "[\\p{N}]" For text (type="text"): "[\\p{L}\\p{N}]"
1351
1351
  */
1352
1352
  "pattern"?: string;
1353
1353
  /**
@@ -6286,7 +6286,7 @@ declare namespace LocalJSX {
6286
6286
  */
6287
6287
  "onIonInput"?: (event: IonInputOtpCustomEvent<InputOtpInputEventDetail>) => void;
6288
6288
  /**
6289
- * A regex pattern string for allowed characters. Defaults based on type. For numbers (type="number"): "[0-9]" For text (type="text"): "[a-zA-Z0-9]"
6289
+ * A regex pattern string for allowed characters. Defaults based on type. For numbers (type="number"): "[\\p{N}]" For text (type="text"): "[\\p{L}\\p{N}]"
6290
6290
  */
6291
6291
  "pattern"?: string;
6292
6292
  /**
package/hydrate/index.js CHANGED
@@ -17012,10 +17012,10 @@ class InputOTP {
17012
17012
  */
17013
17013
  this.value = '';
17014
17014
  this.onInput = (index) => (event) => {
17015
- const { validKeys } = this;
17015
+ const { validKeyPattern } = this;
17016
17016
  const value = event.target.value;
17017
17017
  // Only allow input if it's a single character and matches the pattern
17018
- if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
17018
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
17019
17019
  // Reset the input value if not valid
17020
17020
  this.inputRefs[index].value = '';
17021
17021
  this.inputValues[index] = '';
@@ -17068,8 +17068,6 @@ class InputOTP {
17068
17068
  }
17069
17069
  if (event.key === 'Backspace') {
17070
17070
  if (this.inputValues[index]) {
17071
- // Remove the value at the current index
17072
- this.inputValues[index] = '';
17073
17071
  // Shift all values to the right of the current index left by one
17074
17072
  for (let i = index; i < length - 1; i++) {
17075
17073
  this.inputValues[i] = this.inputValues[i + 1];
@@ -17111,7 +17109,7 @@ class InputOTP {
17111
17109
  // If the input box contains a value and the key being
17112
17110
  // entered is a valid key for the input box update the value
17113
17111
  // and shift the values to the right if there is room.
17114
- if (this.inputValues[index] && this.validKeys.test(event.key)) {
17112
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
17115
17113
  if (!this.inputValues[length - 1]) {
17116
17114
  for (let i = length - 1; i > index; i--) {
17117
17115
  this.inputValues[i] = this.inputValues[i - 1];
@@ -17135,7 +17133,7 @@ class InputOTP {
17135
17133
  */
17136
17134
  this.onPaste = (event) => {
17137
17135
  var _a, _b, _c;
17138
- const { inputRefs, length, validKeys } = this;
17136
+ const { inputRefs, length, validKeyPattern } = this;
17139
17137
  event.preventDefault();
17140
17138
  const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
17141
17139
  // If there is no pasted text, still emit the input change event
@@ -17147,7 +17145,7 @@ class InputOTP {
17147
17145
  }
17148
17146
  const validChars = pastedText
17149
17147
  .split('')
17150
- .filter((char) => validKeys.test(char))
17148
+ .filter((char) => validKeyPattern.test(char))
17151
17149
  .slice(0, length);
17152
17150
  // Find the first empty input
17153
17151
  const startIndex = this.getFirstEmptyIndex();
@@ -17295,7 +17293,7 @@ class InputOTP {
17295
17293
  if (this.value != null && String(this.value).length > 0) {
17296
17294
  const chars = String(this.value).split('').slice(0, this.length);
17297
17295
  chars.forEach((char, index) => {
17298
- if (this.validKeys.test(char)) {
17296
+ if (this.validKeyPattern.test(char)) {
17299
17297
  this.inputValues[index] = char;
17300
17298
  }
17301
17299
  });
@@ -17338,8 +17336,8 @@ class InputOTP {
17338
17336
  * If a pattern is provided, use it to create a regex pattern
17339
17337
  * Otherwise, use the default regex pattern based on type
17340
17338
  */
17341
- get validKeys() {
17342
- return new RegExp(`^${this.getPattern()}$`);
17339
+ get validKeyPattern() {
17340
+ return new RegExp(`^${this.getPattern()}$`, 'u');
17343
17341
  }
17344
17342
  /**
17345
17343
  * Gets the string pattern to pass to the input element
@@ -17350,7 +17348,7 @@ class InputOTP {
17350
17348
  if (pattern) {
17351
17349
  return pattern;
17352
17350
  }
17353
- return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
17351
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
17354
17352
  }
17355
17353
  /**
17356
17354
  * Get the default value for inputmode.
@@ -17457,18 +17455,17 @@ class InputOTP {
17457
17455
  });
17458
17456
  }
17459
17457
  /**
17460
- * Loops through the input values and returns the index
17458
+ * Searches through the input values and returns the index
17461
17459
  * of the first empty input.
17462
17460
  * Returns -1 if all inputs are filled.
17463
17461
  */
17464
17462
  getFirstEmptyIndex() {
17463
+ var _a;
17465
17464
  const { inputValues, length } = this;
17466
- for (let i = 0; i < length; i++) {
17467
- if (!inputValues[i] || inputValues[i] === '') {
17468
- return i;
17469
- }
17470
- }
17471
- return -1;
17465
+ // Create an array of the same length as the input OTP
17466
+ // and fill it with the input values
17467
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
17468
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
17472
17469
  }
17473
17470
  /**
17474
17471
  * Returns the index of the input that should be tabbed to.
@@ -17486,7 +17483,7 @@ class InputOTP {
17486
17483
  const inputmode = this.getInputmode();
17487
17484
  const tabbableIndex = this.getTabbableIndex();
17488
17485
  const pattern = this.getPattern();
17489
- return (hAsync(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses$1(color, {
17486
+ return (hAsync(Host, { key: '9a9b5b662809152450409859ba60a2181edd1f47', class: createColorClasses$1(color, {
17490
17487
  [mode]: true,
17491
17488
  'has-focus': hasFocus,
17492
17489
  [`input-otp-size-${size}`]: true,
@@ -17494,7 +17491,7 @@ class InputOTP {
17494
17491
  [`input-otp-fill-${fill}`]: true,
17495
17492
  'input-otp-disabled': disabled,
17496
17493
  'input-otp-readonly': readonly,
17497
- }) }, hAsync("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, hAsync("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
17494
+ }) }, hAsync("div", { key: '05957b6525b38472df51f1f297a5a96c454e7cb4', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: 'd8258fc40c93fbe9a4ce90035af16ef518bd611d', class: "input-otp-description" }, hAsync("slot", { key: 'a02159cc38c04b5a34b9c5096d8172eedb642aec' }))));
17498
17495
  }
17499
17496
  get el() { return getElement(this); }
17500
17497
  static get watchers() { return {
package/hydrate/index.mjs CHANGED
@@ -17010,10 +17010,10 @@ class InputOTP {
17010
17010
  */
17011
17011
  this.value = '';
17012
17012
  this.onInput = (index) => (event) => {
17013
- const { validKeys } = this;
17013
+ const { validKeyPattern } = this;
17014
17014
  const value = event.target.value;
17015
17015
  // Only allow input if it's a single character and matches the pattern
17016
- if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
17016
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
17017
17017
  // Reset the input value if not valid
17018
17018
  this.inputRefs[index].value = '';
17019
17019
  this.inputValues[index] = '';
@@ -17066,8 +17066,6 @@ class InputOTP {
17066
17066
  }
17067
17067
  if (event.key === 'Backspace') {
17068
17068
  if (this.inputValues[index]) {
17069
- // Remove the value at the current index
17070
- this.inputValues[index] = '';
17071
17069
  // Shift all values to the right of the current index left by one
17072
17070
  for (let i = index; i < length - 1; i++) {
17073
17071
  this.inputValues[i] = this.inputValues[i + 1];
@@ -17109,7 +17107,7 @@ class InputOTP {
17109
17107
  // If the input box contains a value and the key being
17110
17108
  // entered is a valid key for the input box update the value
17111
17109
  // and shift the values to the right if there is room.
17112
- if (this.inputValues[index] && this.validKeys.test(event.key)) {
17110
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
17113
17111
  if (!this.inputValues[length - 1]) {
17114
17112
  for (let i = length - 1; i > index; i--) {
17115
17113
  this.inputValues[i] = this.inputValues[i - 1];
@@ -17133,7 +17131,7 @@ class InputOTP {
17133
17131
  */
17134
17132
  this.onPaste = (event) => {
17135
17133
  var _a, _b, _c;
17136
- const { inputRefs, length, validKeys } = this;
17134
+ const { inputRefs, length, validKeyPattern } = this;
17137
17135
  event.preventDefault();
17138
17136
  const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
17139
17137
  // If there is no pasted text, still emit the input change event
@@ -17145,7 +17143,7 @@ class InputOTP {
17145
17143
  }
17146
17144
  const validChars = pastedText
17147
17145
  .split('')
17148
- .filter((char) => validKeys.test(char))
17146
+ .filter((char) => validKeyPattern.test(char))
17149
17147
  .slice(0, length);
17150
17148
  // Find the first empty input
17151
17149
  const startIndex = this.getFirstEmptyIndex();
@@ -17293,7 +17291,7 @@ class InputOTP {
17293
17291
  if (this.value != null && String(this.value).length > 0) {
17294
17292
  const chars = String(this.value).split('').slice(0, this.length);
17295
17293
  chars.forEach((char, index) => {
17296
- if (this.validKeys.test(char)) {
17294
+ if (this.validKeyPattern.test(char)) {
17297
17295
  this.inputValues[index] = char;
17298
17296
  }
17299
17297
  });
@@ -17336,8 +17334,8 @@ class InputOTP {
17336
17334
  * If a pattern is provided, use it to create a regex pattern
17337
17335
  * Otherwise, use the default regex pattern based on type
17338
17336
  */
17339
- get validKeys() {
17340
- return new RegExp(`^${this.getPattern()}$`);
17337
+ get validKeyPattern() {
17338
+ return new RegExp(`^${this.getPattern()}$`, 'u');
17341
17339
  }
17342
17340
  /**
17343
17341
  * Gets the string pattern to pass to the input element
@@ -17348,7 +17346,7 @@ class InputOTP {
17348
17346
  if (pattern) {
17349
17347
  return pattern;
17350
17348
  }
17351
- return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
17349
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
17352
17350
  }
17353
17351
  /**
17354
17352
  * Get the default value for inputmode.
@@ -17455,18 +17453,17 @@ class InputOTP {
17455
17453
  });
17456
17454
  }
17457
17455
  /**
17458
- * Loops through the input values and returns the index
17456
+ * Searches through the input values and returns the index
17459
17457
  * of the first empty input.
17460
17458
  * Returns -1 if all inputs are filled.
17461
17459
  */
17462
17460
  getFirstEmptyIndex() {
17461
+ var _a;
17463
17462
  const { inputValues, length } = this;
17464
- for (let i = 0; i < length; i++) {
17465
- if (!inputValues[i] || inputValues[i] === '') {
17466
- return i;
17467
- }
17468
- }
17469
- return -1;
17463
+ // Create an array of the same length as the input OTP
17464
+ // and fill it with the input values
17465
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
17466
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
17470
17467
  }
17471
17468
  /**
17472
17469
  * Returns the index of the input that should be tabbed to.
@@ -17484,7 +17481,7 @@ class InputOTP {
17484
17481
  const inputmode = this.getInputmode();
17485
17482
  const tabbableIndex = this.getTabbableIndex();
17486
17483
  const pattern = this.getPattern();
17487
- return (hAsync(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses$1(color, {
17484
+ return (hAsync(Host, { key: '9a9b5b662809152450409859ba60a2181edd1f47', class: createColorClasses$1(color, {
17488
17485
  [mode]: true,
17489
17486
  'has-focus': hasFocus,
17490
17487
  [`input-otp-size-${size}`]: true,
@@ -17492,7 +17489,7 @@ class InputOTP {
17492
17489
  [`input-otp-fill-${fill}`]: true,
17493
17490
  'input-otp-disabled': disabled,
17494
17491
  'input-otp-readonly': readonly,
17495
- }) }, hAsync("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, hAsync("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
17492
+ }) }, hAsync("div", { key: '05957b6525b38472df51f1f297a5a96c454e7cb4', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: 'd8258fc40c93fbe9a4ce90035af16ef518bd611d', class: "input-otp-description" }, hAsync("slot", { key: 'a02159cc38c04b5a34b9c5096d8172eedb642aec' }))));
17496
17493
  }
17497
17494
  get el() { return getElement(this); }
17498
17495
  static get watchers() { return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "8.5.7-dev.11747676931.1d53b808",
3
+ "version": "8.5.7-dev.11747772857.11c9c939",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as i,c as o,h as t,F as n,d as r,g as s}from"./p-3GtB1kQI.js";import{p}from"./p-CEo1SqXS.js";import{i as e}from"./p-C53feagD.js";import{c as a}from"./p-DiVJyqlX.js";import{b as l}from"./p-B7Khsp7D.js";const d=class{constructor(t){i(this,t),this.ionInput=o(this,"ionInput",7),this.ionChange=o(this,"ionChange",7),this.ionComplete=o(this,"ionComplete",7),this.ionBlur=o(this,"ionBlur",7),this.ionFocus=o(this,"ionFocus",7),this.inputRefs=[],this.inputId="ion-input-otp-"+u++,this.parsedSeparators=[],this.isKeyboardNavigation=!1,this.inputValues=[],this.hasFocus=!1,this.autocapitalize="off",this.disabled=!1,this.fill="outline",this.length=4,this.readonly=!1,this.size="medium",this.shape="round",this.type="number",this.value="",this.onInput=i=>o=>{const{validKeys:t}=this,n=o.target.value;if(n.length>1||n.length>0&&!t.test(n))return this.inputRefs[i].value="",void(this.inputValues[i]="");let r=i;for(let o=0;o<i;o++)if(!this.inputValues[o]||""===this.inputValues[o]){r=o;break}this.inputValues[r]=n,r!==i&&(this.inputRefs[i].value=""),n.length>0&&this.focusNext(r),this.updateValue(o)},this.onKeyDown=i=>o=>{const{length:t}=this,n=e(this.el),r=o.target;if((!o.metaKey&&!o.ctrlKey||"v"!==o.key.toLowerCase())&&r.selectionStart===r.selectionEnd){if("Backspace"===o.key)if(this.inputValues[i]){this.inputValues[i]="";for(let o=i;o<t-1;o++)this.inputValues[o]=this.inputValues[o+1];this.inputValues[t-1]="";for(let i=0;i<t;i++)this.inputRefs[i].value=this.inputValues[i]||"";this.updateValue(o),o.preventDefault()}else!this.inputValues[i]&&i>0&&this.focusPrevious(i);else if("ArrowLeft"===o.key||"ArrowRight"===o.key){this.isKeyboardNavigation=!0,o.preventDefault();const r="ArrowLeft"===o.key;r&&n||!r&&!n?this.inputValues[i]&&i<t-1&&this.focusNext(i):this.focusPrevious(i)}else if("Tab"===o.key)return void(this.isKeyboardNavigation=!0);if(this.inputValues[i]&&this.validKeys.test(o.key)){if(!this.inputValues[t-1])for(let o=t-1;o>i;o--)this.inputValues[o]=this.inputValues[o-1],this.inputRefs[o].value=this.inputValues[o]||"";this.inputValues[i]=o.key,this.inputRefs[i].value=o.key,this.updateValue(o),o.preventDefault()}}},this.onPaste=i=>{var o,t,n;const{inputRefs:r,length:s,validKeys:p}=this;i.preventDefault();const e=null===(o=i.clipboardData)||void 0===o?void 0:o.getData("text");if(!e)return void this.emitIonInput(i);const a=e.split("").filter((i=>p.test(i))).slice(0,s),l=this.getFirstEmptyIndex(),d=-1===l?0:l;a.forEach(((i,o)=>{const t=d+o;t<s&&(this.inputRefs[t].value=i,this.inputValues[t]=i)})),this.updateValue(i);const u=d+a.length;u<s?null===(t=r[u])||void 0===t||t.focus():null===(n=r[s-1])||void 0===n||n.focus()},this.onFocus=i=>o=>{var t;const{inputRefs:n}=this;this.hasFocus||(this.ionFocus.emit(o),this.focusedValue=this.value),this.hasFocus=!0;let r=i;if(!this.isKeyboardNavigation){const o=this.inputValues[i]?i:this.getFirstEmptyIndex();r=-1===o?this.length-1:o,null===(t=this.inputRefs[r])||void 0===t||t.focus()}n.forEach(((i,o)=>{i.tabIndex=o===r?0:-1})),this.isKeyboardNavigation=!1},this.onBlur=i=>{const{inputRefs:o}=this,t=i.relatedTarget;null!=t&&o.includes(t)||(this.hasFocus=!1,this.updateTabIndexes(),this.ionBlur.emit(i),this.focusedValue!==this.value&&this.emitIonChange(i))}}valueChanged(){this.initializeValues()}processSeparators(){const{separators:i,length:o}=this;if(void 0===i)return void(this.parsedSeparators=[]);if("string"==typeof i&&"all"!==i&&!/^(\d+)(,\d+)*$/.test(i))return p(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${i}`,this.el),void(this.parsedSeparators=[]);let t;t="all"===i?Array.from({length:o-1},((i,o)=>o+1)):Array.isArray(i)?i:i.split(",").map((i=>parseInt(i,10))).filter((i=>!isNaN(i))),t.filter(((i,o)=>t.indexOf(i)!==o)).length>0&&p(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${i}`,this.el);const n=t.filter((i=>i>o));n.length>0&&p(`[ion-input-otp] - The following separator positions are greater than the input length (${o}): ${n.join(", ")}. These separators will be ignored.`,this.el),this.parsedSeparators=t.filter((i=>i<=o))}componentWillLoad(){this.processSeparators(),this.initializeValues()}initializeValues(){null!=this.value&&String(this.value).length>0&&(String(this.value).split("").slice(0,this.length).forEach(((i,o)=>{this.validKeys.test(i)&&(this.inputValues[o]=i)})),this.value=this.inputValues.join(""))}async reset(){this.inputValues=Array(this.length).fill(""),this.value="",this.focusedValue=null,this.hasFocus=!1,this.inputRefs.forEach((i=>{i.blur()})),this.updateTabIndexes()}async setFocus(i){var o,t;if("number"==typeof i){const t=Math.max(0,Math.min(i,this.length-1));null===(o=this.inputRefs[t])||void 0===o||o.focus()}else{const i=this.getTabbableIndex();null===(t=this.inputRefs[i])||void 0===t||t.focus()}}get validKeys(){return new RegExp(`^${this.getPattern()}$`)}getPattern(){const{pattern:i,type:o}=this;return i||("number"===o?"[0-9]":"[a-zA-Z0-9]")}getInputmode(){const{inputmode:i}=this;return i||("number"==this.type?"numeric":"text")}updateValue(i){const{inputValues:o,length:t}=this,n=o.join("");this.value=n,this.emitIonInput(i),n.length===t&&this.ionComplete.emit({value:n})}emitIonChange(i){const{value:o}=this,t=null==o?o:o.toString();this.ionChange.emit({value:t,event:i})}emitIonInput(i){const{value:o}=this,t=null==o?o:o.toString();this.ionInput.emit({value:t,event:i})}focusNext(i){var o;const{inputRefs:t,length:n}=this;i<n-1&&(null===(o=t[i+1])||void 0===o||o.focus())}focusPrevious(i){var o;const{inputRefs:t}=this;i>0&&(null===(o=t[i-1])||void 0===o||o.focus())}showSeparator(i){const{length:o}=this;return this.parsedSeparators.includes(i+1)&&i<o-1}updateTabIndexes(){const{inputRefs:i,inputValues:o,length:t}=this;let n=-1;for(let i=0;i<t;i++)if(!o[i]||""===o[i]){n=i;break}i.forEach(((i,o)=>{i.tabIndex=(-1===n?o===t-1:n===o)?0:-1}))}getFirstEmptyIndex(){const{inputValues:i,length:o}=this;for(let t=0;t<o;t++)if(!i[t]||""===i[t])return t;return-1}getTabbableIndex(){const{length:i}=this,o=this.getFirstEmptyIndex();return-1===o?i-1:o}render(){const{autocapitalize:i,color:o,disabled:s,fill:p,hasFocus:e,inputId:d,inputRefs:u,inputValues:c,length:h,readonly:g,shape:v,size:m}=this,f=l(this),b=this.getInputmode(),x=this.getTabbableIndex(),k=this.getPattern();return t(r,{key:"74de5578f268fe055f85dd2edae519e744555a2c",class:a(o,{[f]:!0,"has-focus":e,[`input-otp-size-${m}`]:!0,[`input-otp-shape-${v}`]:!0,[`input-otp-fill-${p}`]:!0,"input-otp-disabled":s,"input-otp-readonly":g})},t("div",{key:"0990a8817aac2d540228aeee4c6a42239f4aedaa",role:"group","aria-label":"One-time password input",class:"input-otp-group"},Array.from({length:h}).map(((o,r)=>t(n,null,t("div",{class:"native-wrapper"},t("input",{class:"native-input",id:`${d}-${r}`,"aria-label":`Input ${r+1} of ${h}`,type:"text",autoCapitalize:i,inputmode:b,maxLength:1,pattern:k,disabled:s,readOnly:g,tabIndex:r===x?0:-1,value:c[r]||"",autocomplete:0===r?"one-time-code":"off",ref:i=>u[r]=i,onInput:this.onInput(r),onBlur:this.onBlur,onFocus:this.onFocus(r),onKeyDown:this.onKeyDown(r),onPaste:this.onPaste})),this.showSeparator(r)&&t("div",{class:"input-otp-separator"}))))),t("div",{key:"e2c0fcfc7630d58360304d6e7b21b2e9a01971f6",class:"input-otp-description"},t("slot",{key:"9ba61fd056e67d5e1933f0b16f43e8a55de5319d"})))}get el(){return s(this)}static get watchers(){return{value:["valueChanged"],separators:["processSeparators"],length:["processSeparators"]}}};let u=0;d.style={ios:".sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}",md:".sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}"};export{d as ion_input_otp}