@ionic/core 8.7.4-dev.11757000835.106af570 → 8.7.4-dev.11757003456.1d9738d5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/components/ion-card-content.js +3 -2
  2. package/components/ion-col.js +47 -48
  3. package/components/ion-datetime.js +22 -4
  4. package/components/ion-input-otp.js +5 -4
  5. package/components/ion-input.js +5 -4
  6. package/components/ion-row.js +1 -1
  7. package/components/ion-textarea.js +5 -4
  8. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  9. package/dist/cjs/ion-col_3.cjs.entry.js +48 -42
  10. package/dist/cjs/ion-datetime_3.cjs.entry.js +22 -4
  11. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  12. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  13. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  14. package/dist/cjs/ionic.cjs.js +1 -1
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/collection/components/card-content/card-content.js +2 -1
  17. package/dist/collection/components/col/col.css +0 -168
  18. package/dist/collection/components/col/col.js +58 -203
  19. package/dist/collection/components/datetime/datetime.js +22 -4
  20. package/dist/collection/components/input/input.js +1 -1
  21. package/dist/collection/components/input-otp/input-otp.js +1 -1
  22. package/dist/collection/components/row/row.css +0 -2
  23. package/dist/collection/components/textarea/textarea.js +1 -1
  24. package/dist/docs.json +17 -250
  25. package/dist/esm/ion-card_5.entry.js +1 -1
  26. package/dist/esm/ion-col_3.entry.js +49 -43
  27. package/dist/esm/ion-datetime_3.entry.js +22 -4
  28. package/dist/esm/ion-input-otp.entry.js +3 -3
  29. package/dist/esm/ion-input.entry.js +3 -3
  30. package/dist/esm/ion-textarea.entry.js +3 -3
  31. package/dist/esm/ionic.js +1 -1
  32. package/dist/esm/loader.js +1 -1
  33. package/dist/html.html-data.json +0 -24
  34. package/dist/ionic/ionic.esm.js +1 -1
  35. package/dist/ionic/{p-b8c602ec.entry.js → p-19bda0d1.entry.js} +1 -1
  36. package/dist/ionic/p-3f780ab8.entry.js +4 -0
  37. package/dist/ionic/p-6935c9f1.entry.js +4 -0
  38. package/dist/ionic/p-7a2392c9.entry.js +4 -0
  39. package/dist/ionic/p-d38b7cdc.entry.js +4 -0
  40. package/dist/ionic/p-dc66e8cc.entry.js +4 -0
  41. package/dist/types/components/col/col.d.ts +5 -48
  42. package/dist/types/components/datetime/datetime.d.ts +2 -0
  43. package/dist/types/components.d.ts +0 -72
  44. package/hydrate/index.js +124 -106
  45. package/hydrate/index.mjs +124 -106
  46. package/package.json +1 -1
  47. package/dist/ionic/p-0edc2fcf.entry.js +0 -4
  48. package/dist/ionic/p-417569b5.entry.js +0 -4
  49. package/dist/ionic/p-5a3ba1f6.entry.js +0 -4
  50. package/dist/ionic/p-80faabb9.entry.js +0 -4
  51. package/dist/ionic/p-9af1c2e0.entry.js +0 -4
@@ -2,10 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, forceUpdate, h } from "@stencil/core";
5
- import { printIonWarning } from "../../utils/logging/index";
6
5
  import { matchBreakpoint } from "../../utils/media";
7
6
  import { getIonTheme } from "../../global/ionic-global";
7
+ const win = typeof window !== 'undefined' ? window : undefined;
8
8
  // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
9
+ const SUPPORTS_VARS = win && !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0'));
9
10
  const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
10
11
  /**
11
12
  * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
@@ -32,60 +33,65 @@ export class Col {
32
33
  // increase in size and we want to return the largest match
33
34
  return matched;
34
35
  }
35
- getStyleClass(property, className, acceptsAuto = false) {
36
- const colPropertyValue = this.getColumns(property);
36
+ calculateSize() {
37
+ const columns = this.getColumns('size');
37
38
  // If size wasn't set for any breakpoint
38
39
  // or if the user set the size without a value
39
40
  // it means we need to stick with the default and return
40
41
  // e.g. <ion-col size-md>
41
- if (!colPropertyValue || colPropertyValue === '') {
42
+ if (!columns || columns === '') {
42
43
  return;
43
44
  }
44
- if (acceptsAuto && colPropertyValue === 'auto') {
45
- return 'ion-grid-col-auto';
46
- }
47
- const valueNumber = parseInt(colPropertyValue);
48
- if (isNaN(valueNumber)) {
45
+ // If the size is set to auto then don't calculate a size
46
+ const colSize = columns === 'auto'
47
+ ? 'auto'
48
+ : // If CSS supports variables we should use the grid columns var
49
+ SUPPORTS_VARS
50
+ ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`
51
+ : // Convert the columns to a percentage by dividing by the total number
52
+ // of columns (12) and then multiplying by 100
53
+ (columns / 12) * 100 + '%';
54
+ return {
55
+ flex: `0 0 ${colSize}`,
56
+ width: `${colSize}`,
57
+ 'max-width': `${colSize}`,
58
+ };
59
+ }
60
+ // Called by push, pull, and offset since they use the same calculations
61
+ calculatePosition(property, modifier) {
62
+ const columns = this.getColumns(property);
63
+ if (!columns) {
49
64
  return;
50
65
  }
51
- return `${className}-col-${valueNumber}`;
52
- }
53
- getSizeClass() {
54
- return this.getStyleClass('size', 'ion-grid', true);
66
+ // If the number of columns passed are greater than 0 and less than
67
+ // 12 we can position the column, else default to auto
68
+ const amount = SUPPORTS_VARS
69
+ ? // If CSS supports variables we should use the grid columns var
70
+ `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`
71
+ : // Convert the columns to a percentage by dividing by the total number
72
+ // of columns (12) and then multiplying by 100
73
+ columns > 0 && columns < 12
74
+ ? (columns / 12) * 100 + '%'
75
+ : 'auto';
76
+ return {
77
+ [modifier]: amount,
78
+ };
55
79
  }
56
- getOrderClass() {
57
- return this.getStyleClass('order', 'ion-grid-order');
80
+ calculateOffset(isRTL) {
81
+ return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');
58
82
  }
59
- getOffsetClass() {
60
- return this.getStyleClass('offset', 'ion-grid-offset');
83
+ calculatePull(isRTL) {
84
+ return this.calculatePosition('pull', isRTL ? 'left' : 'right');
61
85
  }
62
- componentDidLoad() {
63
- if (this.pull ||
64
- this.pullLg ||
65
- this.pullMd ||
66
- this.pullSm ||
67
- this.pullXl ||
68
- this.pullXs ||
69
- this.push ||
70
- this.pushLg ||
71
- this.pushMd ||
72
- this.pushSm ||
73
- this.pushXl ||
74
- this.pushXs) {
75
- printIonWarning('[ion-col] - The pull and push properties are deprecated and no longer work, in favor of the order and size properties.', this.el);
76
- }
86
+ calculatePush(isRTL) {
87
+ return this.calculatePosition('push', isRTL ? 'right' : 'left');
77
88
  }
78
89
  render() {
90
+ const isRTL = document.dir === 'rtl';
79
91
  const theme = getIonTheme(this);
80
- const colSize = this.getSizeClass();
81
- const colOrder = this.getOrderClass();
82
- const colOffset = this.getOffsetClass();
83
- return (h(Host, { key: '13acd2681e3e16bbf196eb3ca8ad01230fbb0df8', class: {
92
+ return (h(Host, { key: '18eb6aff60f43b28b7e157b7d6ce787635f25fa1', class: {
84
93
  [theme]: true,
85
- [`${colSize}`]: colSize !== undefined,
86
- [`${colOrder}`]: colOrder !== undefined,
87
- [`${colOffset}`]: colOffset !== undefined,
88
- } }, h("slot", { key: '525e1f5b3102009f16ae985a838f68f440eea7e4' })));
94
+ }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h("slot", { key: '3848d5cb525b42a550aa36a486f97b2e20240def' })));
89
95
  }
90
96
  static get is() { return "ion-col"; }
91
97
  static get encapsulation() { return "shadow"; }
@@ -215,120 +221,6 @@ export class Col {
215
221
  "setter": false,
216
222
  "reflect": false
217
223
  },
218
- "order": {
219
- "type": "string",
220
- "attribute": "order",
221
- "mutable": false,
222
- "complexType": {
223
- "original": "string",
224
- "resolved": "string | undefined",
225
- "references": {}
226
- },
227
- "required": false,
228
- "optional": true,
229
- "docs": {
230
- "tags": [],
231
- "text": "The order of the column, in terms of where the column should position itself in the columns renderer.\nIf no value is passed, the column order implicit value will be the order in the html structure."
232
- },
233
- "getter": false,
234
- "setter": false,
235
- "reflect": false
236
- },
237
- "orderXs": {
238
- "type": "string",
239
- "attribute": "order-xs",
240
- "mutable": false,
241
- "complexType": {
242
- "original": "string",
243
- "resolved": "string | undefined",
244
- "references": {}
245
- },
246
- "required": false,
247
- "optional": true,
248
- "docs": {
249
- "tags": [],
250
- "text": "The order of the column for xs screens, in terms of where the column should position itself in the columns renderer.\nIf no value is passed, the column order implicit value will be the order in the html structure."
251
- },
252
- "getter": false,
253
- "setter": false,
254
- "reflect": false
255
- },
256
- "orderSm": {
257
- "type": "string",
258
- "attribute": "order-sm",
259
- "mutable": false,
260
- "complexType": {
261
- "original": "string",
262
- "resolved": "string | undefined",
263
- "references": {}
264
- },
265
- "required": false,
266
- "optional": true,
267
- "docs": {
268
- "tags": [],
269
- "text": "The order of the column for sm screens, in terms of where the column should position itself in the columns renderer.\nIf no value is passed, the column order implicit value will be the order in the html structure."
270
- },
271
- "getter": false,
272
- "setter": false,
273
- "reflect": false
274
- },
275
- "orderMd": {
276
- "type": "string",
277
- "attribute": "order-md",
278
- "mutable": false,
279
- "complexType": {
280
- "original": "string",
281
- "resolved": "string | undefined",
282
- "references": {}
283
- },
284
- "required": false,
285
- "optional": true,
286
- "docs": {
287
- "tags": [],
288
- "text": "The order of the column for md screens, in terms of where the column should position itself in the columns renderer.\nIf no value is passed, the column order implicit value will be the order in the html structure."
289
- },
290
- "getter": false,
291
- "setter": false,
292
- "reflect": false
293
- },
294
- "orderLg": {
295
- "type": "string",
296
- "attribute": "order-lg",
297
- "mutable": false,
298
- "complexType": {
299
- "original": "string",
300
- "resolved": "string | undefined",
301
- "references": {}
302
- },
303
- "required": false,
304
- "optional": true,
305
- "docs": {
306
- "tags": [],
307
- "text": "The order of the column for lg screens, in terms of where the column should position itself in the columns renderer.\nIf no value is passed, the column order implicit value will be the order in the html structure."
308
- },
309
- "getter": false,
310
- "setter": false,
311
- "reflect": false
312
- },
313
- "orderXl": {
314
- "type": "string",
315
- "attribute": "order-xl",
316
- "mutable": false,
317
- "complexType": {
318
- "original": "string",
319
- "resolved": "string | undefined",
320
- "references": {}
321
- },
322
- "required": false,
323
- "optional": true,
324
- "docs": {
325
- "tags": [],
326
- "text": "The order of the column for xl screens, in terms of where the column should position itself in the columns renderer.\nIf no value is passed, the column order implicit value will be the order in the html structure."
327
- },
328
- "getter": false,
329
- "setter": false,
330
- "reflect": false
331
- },
332
224
  "pull": {
333
225
  "type": "string",
334
226
  "attribute": "pull",
@@ -341,10 +233,7 @@ export class Col {
341
233
  "required": false,
342
234
  "optional": true,
343
235
  "docs": {
344
- "tags": [{
345
- "name": "deprecated",
346
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
347
- }],
236
+ "tags": [],
348
237
  "text": "The amount to pull the column, in terms of how many columns it should shift to the start of\nthe total available."
349
238
  },
350
239
  "getter": false,
@@ -363,10 +252,7 @@ export class Col {
363
252
  "required": false,
364
253
  "optional": true,
365
254
  "docs": {
366
- "tags": [{
367
- "name": "deprecated",
368
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
369
- }],
255
+ "tags": [],
370
256
  "text": "The amount to pull the column for xs screens, in terms of how many columns it should shift\nto the start of the total available."
371
257
  },
372
258
  "getter": false,
@@ -385,10 +271,7 @@ export class Col {
385
271
  "required": false,
386
272
  "optional": true,
387
273
  "docs": {
388
- "tags": [{
389
- "name": "deprecated",
390
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
391
- }],
274
+ "tags": [],
392
275
  "text": "The amount to pull the column for sm screens, in terms of how many columns it should shift\nto the start of the total available."
393
276
  },
394
277
  "getter": false,
@@ -407,10 +290,7 @@ export class Col {
407
290
  "required": false,
408
291
  "optional": true,
409
292
  "docs": {
410
- "tags": [{
411
- "name": "deprecated",
412
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
413
- }],
293
+ "tags": [],
414
294
  "text": "The amount to pull the column for md screens, in terms of how many columns it should shift\nto the start of the total available."
415
295
  },
416
296
  "getter": false,
@@ -429,10 +309,7 @@ export class Col {
429
309
  "required": false,
430
310
  "optional": true,
431
311
  "docs": {
432
- "tags": [{
433
- "name": "deprecated",
434
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
435
- }],
312
+ "tags": [],
436
313
  "text": "The amount to pull the column for lg screens, in terms of how many columns it should shift\nto the start of the total available."
437
314
  },
438
315
  "getter": false,
@@ -451,10 +328,7 @@ export class Col {
451
328
  "required": false,
452
329
  "optional": true,
453
330
  "docs": {
454
- "tags": [{
455
- "name": "deprecated",
456
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
457
- }],
331
+ "tags": [],
458
332
  "text": "The amount to pull the column for xl screens, in terms of how many columns it should shift\nto the start of the total available."
459
333
  },
460
334
  "getter": false,
@@ -473,10 +347,7 @@ export class Col {
473
347
  "required": false,
474
348
  "optional": true,
475
349
  "docs": {
476
- "tags": [{
477
- "name": "deprecated",
478
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
479
- }],
350
+ "tags": [],
480
351
  "text": "The amount to push the column, in terms of how many columns it should shift to the end\nof the total available."
481
352
  },
482
353
  "getter": false,
@@ -495,10 +366,7 @@ export class Col {
495
366
  "required": false,
496
367
  "optional": true,
497
368
  "docs": {
498
- "tags": [{
499
- "name": "deprecated",
500
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
501
- }],
369
+ "tags": [],
502
370
  "text": "The amount to push the column for xs screens, in terms of how many columns it should shift\nto the end of the total available."
503
371
  },
504
372
  "getter": false,
@@ -517,10 +385,7 @@ export class Col {
517
385
  "required": false,
518
386
  "optional": true,
519
387
  "docs": {
520
- "tags": [{
521
- "name": "deprecated",
522
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
523
- }],
388
+ "tags": [],
524
389
  "text": "The amount to push the column for sm screens, in terms of how many columns it should shift\nto the end of the total available."
525
390
  },
526
391
  "getter": false,
@@ -539,10 +404,7 @@ export class Col {
539
404
  "required": false,
540
405
  "optional": true,
541
406
  "docs": {
542
- "tags": [{
543
- "name": "deprecated",
544
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
545
- }],
407
+ "tags": [],
546
408
  "text": "The amount to push the column for md screens, in terms of how many columns it should shift\nto the end of the total available."
547
409
  },
548
410
  "getter": false,
@@ -561,10 +423,7 @@ export class Col {
561
423
  "required": false,
562
424
  "optional": true,
563
425
  "docs": {
564
- "tags": [{
565
- "name": "deprecated",
566
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
567
- }],
426
+ "tags": [],
568
427
  "text": "The amount to push the column for lg screens, in terms of how many columns it should shift\nto the end of the total available."
569
428
  },
570
429
  "getter": false,
@@ -583,10 +442,7 @@ export class Col {
583
442
  "required": false,
584
443
  "optional": true,
585
444
  "docs": {
586
- "tags": [{
587
- "name": "deprecated",
588
- "text": "Use the combination of `size` and `order` properties to achieve the same effect."
589
- }],
445
+ "tags": [],
590
446
  "text": "The amount to push the column for xl screens, in terms of how many columns it should shift\nto the end of the total available."
591
447
  },
592
448
  "getter": false,
@@ -709,7 +565,6 @@ export class Col {
709
565
  }
710
566
  };
711
567
  }
712
- static get elementRef() { return "el"; }
713
568
  static get listeners() {
714
569
  return [{
715
570
  "name": "resize",
@@ -744,6 +744,9 @@ export class Datetime {
744
744
  this.toggleMonthAndYearView = () => {
745
745
  this.showMonthAndYear = !this.showMonthAndYear;
746
746
  };
747
+ this.asBlob = (icon) => new Blob([Uint8Array.from(icon.split("").map(function (c) {
748
+ return c.charCodeAt(0);
749
+ }))], { type: "image/svg+xml" });
747
750
  }
748
751
  formatOptionsChanged() {
749
752
  const { el, formatOptions, presentation } = this;
@@ -1335,6 +1338,22 @@ export class Datetime {
1335
1338
  [`wheel-order-${columnOrder}`]: true,
1336
1339
  } }, this.renderWheelPicker(forcePresentation)));
1337
1340
  }
1341
+ getIconProps(icon) {
1342
+ if (typeof icon === 'string' && icon.trim().startsWith('data:image/svg+xml')) {
1343
+ // Extract and decode the SVG string from the data URL
1344
+ const svgString = decodeURIComponent(atob(icon.split(',')[1])
1345
+ .split('')
1346
+ .map(function (c) {
1347
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
1348
+ })
1349
+ .join(''));
1350
+ const url = URL.createObjectURL(this.asBlob(svgString));
1351
+ console.log(url);
1352
+ return { src: url };
1353
+ }
1354
+ // Ionicons icon name/object or undefined
1355
+ return { icon };
1356
+ }
1338
1357
  /**
1339
1358
  * Grid Render Methods
1340
1359
  */
@@ -1343,12 +1362,11 @@ export class Datetime {
1343
1362
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
1344
1363
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1345
1364
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1346
- const hostDir = this.el.getAttribute('dir') || undefined;
1347
1365
  return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
1348
1366
  'calendar-month-year-toggle': true,
1349
1367
  'ion-activatable': true,
1350
1368
  'ion-focusable': true,
1351
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), theme !== 'ionic' && (h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? datetimeExpandedIcon : datetimeCollapsedIcon, lazy: false, flipRtl: true }))), theme === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimePreviousIcon, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimeNextIcon, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, theme, this.firstDayOfWeek % 7).map((d) => {
1369
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), theme !== 'ionic' && (h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? datetimeExpandedIcon : datetimeCollapsedIcon, lazy: false, flipRtl: true }))), theme === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", Object.assign({ "aria-hidden": "true", slot: "icon-only", lazy: false, flipRtl: true }, this.getIconProps(datetimePreviousIcon)))), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", Object.assign({ "aria-hidden": "true", slot: "icon-only", lazy: false, flipRtl: true }, this.getIconProps(datetimeNextIcon))))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, theme, this.firstDayOfWeek % 7).map((d) => {
1352
1370
  return h("div", { class: "day-of-week" }, d);
1353
1371
  }))));
1354
1372
  }
@@ -1732,7 +1750,7 @@ export class Datetime {
1732
1750
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1733
1751
  const hasWheelVariant = hasDatePresentation && preferWheel;
1734
1752
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1735
- return (h(Host, { key: '40f8732998d123ef5c700080cc423bb8310654d5', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1753
+ return (h(Host, { key: '1cab6e719cb32cd1cb8082f228ce26346ede22f1', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1736
1754
  [theme]: true,
1737
1755
  ['datetime-readonly']: readonly,
1738
1756
  ['datetime-disabled']: disabled,
@@ -1742,7 +1760,7 @@ export class Datetime {
1742
1760
  [`datetime-size-${size}`]: true,
1743
1761
  [`datetime-prefer-wheel`]: hasWheelVariant,
1744
1762
  [`datetime-grid`]: isGridStyle,
1745
- })) }, h("div", { key: '0a323aa4e3cd9c96495d0dc3bf7985c8723f5e8c', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1763
+ })) }, h("div", { key: '53e49d7bb6b8a99b7e485bf4c75acda59f45c8b1', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1746
1764
  }
1747
1765
  static get is() { return "ion-datetime"; }
1748
1766
  static get encapsulation() { return "shadow"; }
@@ -595,7 +595,7 @@ export class Input {
595
595
  }, onClick: this.clearTextInput }, h("ion-icon", { key: '5812593a1b72e3a0cf907eab0e110cd055750ab2', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: '11672f33c5f78ad185713f30fc18024cb08a2c64', name: "end" })), shouldRenderHighlight && h("div", { key: '271b2d34d23d37f354feed28cf8ef15c2a4583c3', class: "input-highlight" })), this.renderBottomContent()));
596
596
  }
597
597
  static get is() { return "ion-input"; }
598
- static get encapsulation() { return "scoped"; }
598
+ static get encapsulation() { return "shadow"; }
599
599
  static get originalStyleUrls() {
600
600
  return {
601
601
  "ios": ["input.ios.scss"],
@@ -619,7 +619,7 @@ export class InputOTP {
619
619
  } }, h("slot", { key: '4f4b63bb67a01b7618719f9bde56ef60d582e7d6' }))));
620
620
  }
621
621
  static get is() { return "ion-input-otp"; }
622
- static get encapsulation() { return "scoped"; }
622
+ static get encapsulation() { return "shadow"; }
623
623
  static get originalStyleUrls() {
624
624
  return {
625
625
  "ios": ["input-otp.ios.scss"],
@@ -143,8 +143,6 @@
143
143
  * }
144
144
  */
145
145
  :host {
146
- --ion-grid-gap: 0px;
147
146
  display: flex;
148
147
  flex-wrap: wrap;
149
- gap: var(--ion-grid-gap, 0px);
150
148
  }
@@ -495,7 +495,7 @@ export class Textarea {
495
495
  theme === 'ionic' && fill === 'outline' && h("div", { key: 'c513caae55fe171802181870460737b727e08465', class: "textarea-outline" }), h("div", { key: '52d26ebe1015a1fc592246f2c956866ed1e1a59a', class: "start-slot-wrapper" }, h("slot", { key: 'a88f9bca0079ed2fb3cee1cfbf29d95482b050fe', name: "start" })), h("div", { key: '4ae0b4639d4652ac9fa977d736e3497bab3fdf1c', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, h("textarea", Object.assign({ key: '770268290d8d1d0f5fc260f9245748770f8c4168', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), h("div", { key: '66c81e64966062f7eb910cb1b9830ecbffbd0a21', class: "end-slot-wrapper" }, h("slot", { key: 'b93c36c85ab329cb7cc437e319e1d29a1fb87e27', name: "end" }))), shouldRenderHighlight && h("div", { key: 'bcd844269e7df4519bf75920ab0779cd52ad10ac', class: "textarea-highlight" })), this.renderBottomContent()));
496
496
  }
497
497
  static get is() { return "ion-textarea"; }
498
- static get encapsulation() { return "scoped"; }
498
+ static get encapsulation() { return "shadow"; }
499
499
  static get originalStyleUrls() {
500
500
  return {
501
501
  "ios": ["textarea.ios.scss"],