@ionic/core 8.7.4-dev.11757059097.1bf52e75 → 8.7.4-dev.11757091109.1d47c1bd

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 +2 -3
  2. package/components/ion-col.js +48 -47
  3. package/components/ion-datetime.js +3 -22
  4. package/components/ion-input-otp.js +4 -5
  5. package/components/ion-input.js +4 -5
  6. package/components/ion-row.js +1 -1
  7. package/components/ion-textarea.js +4 -5
  8. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  9. package/dist/cjs/ion-col_3.cjs.entry.js +42 -48
  10. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -22
  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 +1 -2
  17. package/dist/collection/components/col/col.css +171 -4
  18. package/dist/collection/components/col/col.js +203 -58
  19. package/dist/collection/components/datetime/datetime.js +3 -22
  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 +2 -0
  23. package/dist/collection/components/textarea/textarea.js +1 -1
  24. package/dist/docs.json +250 -17
  25. package/dist/esm/ion-card_5.entry.js +1 -1
  26. package/dist/esm/ion-col_3.entry.js +43 -49
  27. package/dist/esm/ion-datetime_3.entry.js +3 -22
  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 +24 -0
  34. package/dist/ionic/ionic.esm.js +1 -1
  35. package/dist/ionic/p-0edc2fcf.entry.js +4 -0
  36. package/dist/ionic/p-417569b5.entry.js +4 -0
  37. package/dist/ionic/p-80faabb9.entry.js +4 -0
  38. package/dist/ionic/p-9af1c2e0.entry.js +4 -0
  39. package/dist/ionic/{p-19bda0d1.entry.js → p-b8c602ec.entry.js} +1 -1
  40. package/dist/ionic/p-dc2f441a.entry.js +4 -0
  41. package/dist/types/components/col/col.d.ts +48 -5
  42. package/dist/types/components/datetime/datetime.d.ts +0 -2
  43. package/dist/types/components.d.ts +72 -0
  44. package/hydrate/index.js +105 -124
  45. package/hydrate/index.mjs +105 -124
  46. package/package.json +1 -1
  47. package/dist/ionic/p-1224cc8f.entry.js +0 -4
  48. package/dist/ionic/p-3f780ab8.entry.js +0 -4
  49. package/dist/ionic/p-6935c9f1.entry.js +0 -4
  50. package/dist/ionic/p-d38b7cdc.entry.js +0 -4
  51. package/dist/ionic/p-dc66e8cc.entry.js +0 -4
@@ -2,11 +2,10 @@
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";
5
6
  import { matchBreakpoint } from "../../utils/media";
6
7
  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'));
10
9
  const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
11
10
  /**
12
11
  * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
@@ -33,65 +32,60 @@ export class Col {
33
32
  // increase in size and we want to return the largest match
34
33
  return matched;
35
34
  }
36
- calculateSize() {
37
- const columns = this.getColumns('size');
35
+ getStyleClass(property, className, acceptsAuto = false) {
36
+ const colPropertyValue = this.getColumns(property);
38
37
  // If size wasn't set for any breakpoint
39
38
  // or if the user set the size without a value
40
39
  // it means we need to stick with the default and return
41
40
  // e.g. <ion-col size-md>
42
- if (!columns || columns === '') {
41
+ if (!colPropertyValue || colPropertyValue === '') {
43
42
  return;
44
43
  }
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) {
44
+ if (acceptsAuto && colPropertyValue === 'auto') {
45
+ return 'ion-grid-col-auto';
46
+ }
47
+ const valueNumber = parseInt(colPropertyValue);
48
+ if (isNaN(valueNumber)) {
64
49
  return;
65
50
  }
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
- };
51
+ return `${className}-col--${valueNumber}`;
79
52
  }
80
- calculateOffset(isRTL) {
81
- return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');
53
+ getSizeClass() {
54
+ return this.getStyleClass('size', 'ion-grid', true);
82
55
  }
83
- calculatePull(isRTL) {
84
- return this.calculatePosition('pull', isRTL ? 'left' : 'right');
56
+ getOrderClass() {
57
+ return this.getStyleClass('order', 'ion-grid-order');
85
58
  }
86
- calculatePush(isRTL) {
87
- return this.calculatePosition('push', isRTL ? 'right' : 'left');
59
+ getOffsetClass() {
60
+ return this.getStyleClass('offset', 'ion-grid-offset');
61
+ }
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
+ }
88
77
  }
89
78
  render() {
90
- const isRTL = document.dir === 'rtl';
91
79
  const theme = getIonTheme(this);
92
- return (h(Host, { key: '18eb6aff60f43b28b7e157b7d6ce787635f25fa1', class: {
80
+ const colSize = this.getSizeClass();
81
+ const colOrder = this.getOrderClass();
82
+ const colOffset = this.getOffsetClass();
83
+ return (h(Host, { key: 'e4a5e41ee5cd7ef62aa32a1f4f290a3be2fae212', class: {
93
84
  [theme]: true,
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' })));
85
+ [`${colSize}`]: colSize !== undefined,
86
+ [`${colOrder}`]: colOrder !== undefined,
87
+ [`${colOffset}`]: colOffset !== undefined,
88
+ } }, h("slot", { key: '7058c34c183cdad24630314ec0bedffef40a32af' })));
95
89
  }
96
90
  static get is() { return "ion-col"; }
97
91
  static get encapsulation() { return "shadow"; }
@@ -221,6 +215,120 @@ export class Col {
221
215
  "setter": false,
222
216
  "reflect": false
223
217
  },
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
+ },
224
332
  "pull": {
225
333
  "type": "string",
226
334
  "attribute": "pull",
@@ -233,7 +341,10 @@ export class Col {
233
341
  "required": false,
234
342
  "optional": true,
235
343
  "docs": {
236
- "tags": [],
344
+ "tags": [{
345
+ "name": "deprecated",
346
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
347
+ }],
237
348
  "text": "The amount to pull the column, in terms of how many columns it should shift to the start of\nthe total available."
238
349
  },
239
350
  "getter": false,
@@ -252,7 +363,10 @@ export class Col {
252
363
  "required": false,
253
364
  "optional": true,
254
365
  "docs": {
255
- "tags": [],
366
+ "tags": [{
367
+ "name": "deprecated",
368
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
369
+ }],
256
370
  "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."
257
371
  },
258
372
  "getter": false,
@@ -271,7 +385,10 @@ export class Col {
271
385
  "required": false,
272
386
  "optional": true,
273
387
  "docs": {
274
- "tags": [],
388
+ "tags": [{
389
+ "name": "deprecated",
390
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
391
+ }],
275
392
  "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."
276
393
  },
277
394
  "getter": false,
@@ -290,7 +407,10 @@ export class Col {
290
407
  "required": false,
291
408
  "optional": true,
292
409
  "docs": {
293
- "tags": [],
410
+ "tags": [{
411
+ "name": "deprecated",
412
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
413
+ }],
294
414
  "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."
295
415
  },
296
416
  "getter": false,
@@ -309,7 +429,10 @@ export class Col {
309
429
  "required": false,
310
430
  "optional": true,
311
431
  "docs": {
312
- "tags": [],
432
+ "tags": [{
433
+ "name": "deprecated",
434
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
435
+ }],
313
436
  "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."
314
437
  },
315
438
  "getter": false,
@@ -328,7 +451,10 @@ export class Col {
328
451
  "required": false,
329
452
  "optional": true,
330
453
  "docs": {
331
- "tags": [],
454
+ "tags": [{
455
+ "name": "deprecated",
456
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
457
+ }],
332
458
  "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."
333
459
  },
334
460
  "getter": false,
@@ -347,7 +473,10 @@ export class Col {
347
473
  "required": false,
348
474
  "optional": true,
349
475
  "docs": {
350
- "tags": [],
476
+ "tags": [{
477
+ "name": "deprecated",
478
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
479
+ }],
351
480
  "text": "The amount to push the column, in terms of how many columns it should shift to the end\nof the total available."
352
481
  },
353
482
  "getter": false,
@@ -366,7 +495,10 @@ export class Col {
366
495
  "required": false,
367
496
  "optional": true,
368
497
  "docs": {
369
- "tags": [],
498
+ "tags": [{
499
+ "name": "deprecated",
500
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
501
+ }],
370
502
  "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."
371
503
  },
372
504
  "getter": false,
@@ -385,7 +517,10 @@ export class Col {
385
517
  "required": false,
386
518
  "optional": true,
387
519
  "docs": {
388
- "tags": [],
520
+ "tags": [{
521
+ "name": "deprecated",
522
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
523
+ }],
389
524
  "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."
390
525
  },
391
526
  "getter": false,
@@ -404,7 +539,10 @@ export class Col {
404
539
  "required": false,
405
540
  "optional": true,
406
541
  "docs": {
407
- "tags": [],
542
+ "tags": [{
543
+ "name": "deprecated",
544
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
545
+ }],
408
546
  "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."
409
547
  },
410
548
  "getter": false,
@@ -423,7 +561,10 @@ export class Col {
423
561
  "required": false,
424
562
  "optional": true,
425
563
  "docs": {
426
- "tags": [],
564
+ "tags": [{
565
+ "name": "deprecated",
566
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
567
+ }],
427
568
  "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."
428
569
  },
429
570
  "getter": false,
@@ -442,7 +583,10 @@ export class Col {
442
583
  "required": false,
443
584
  "optional": true,
444
585
  "docs": {
445
- "tags": [],
586
+ "tags": [{
587
+ "name": "deprecated",
588
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
589
+ }],
446
590
  "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."
447
591
  },
448
592
  "getter": false,
@@ -565,6 +709,7 @@ export class Col {
565
709
  }
566
710
  };
567
711
  }
712
+ static get elementRef() { return "el"; }
568
713
  static get listeners() {
569
714
  return [{
570
715
  "name": "resize",
@@ -744,9 +744,6 @@ 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" });
750
747
  }
751
748
  formatOptionsChanged() {
752
749
  const { el, formatOptions, presentation } = this;
@@ -1338,22 +1335,6 @@ export class Datetime {
1338
1335
  [`wheel-order-${columnOrder}`]: true,
1339
1336
  } }, this.renderWheelPicker(forcePresentation)));
1340
1337
  }
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
- }
1357
1338
  /**
1358
1339
  * Grid Render Methods
1359
1340
  */
@@ -1367,7 +1348,7 @@ export class Datetime {
1367
1348
  'calendar-month-year-toggle': true,
1368
1349
  'ion-activatable': true,
1369
1350
  'ion-focusable': true,
1370
- }, 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({ dir: hostDir, "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({ dir: hostDir, "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) => {
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) => {
1371
1352
  return h("div", { class: "day-of-week" }, d);
1372
1353
  }))));
1373
1354
  }
@@ -1751,7 +1732,7 @@ export class Datetime {
1751
1732
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1752
1733
  const hasWheelVariant = hasDatePresentation && preferWheel;
1753
1734
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1754
- return (h(Host, { key: '309952b7ddb816dd5940b050a1cbdeb4d36ef0b9', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1735
+ return (h(Host, { key: '40f8732998d123ef5c700080cc423bb8310654d5', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1755
1736
  [theme]: true,
1756
1737
  ['datetime-readonly']: readonly,
1757
1738
  ['datetime-disabled']: disabled,
@@ -1761,7 +1742,7 @@ export class Datetime {
1761
1742
  [`datetime-size-${size}`]: true,
1762
1743
  [`datetime-prefer-wheel`]: hasWheelVariant,
1763
1744
  [`datetime-grid`]: isGridStyle,
1764
- })) }, h("div", { key: 'e93911154aa959d1ff45e97a9f8e1fa5a0435f74', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1745
+ })) }, h("div", { key: '0a323aa4e3cd9c96495d0dc3bf7985c8723f5e8c', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1765
1746
  }
1766
1747
  static get is() { return "ion-datetime"; }
1767
1748
  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 "shadow"; }
598
+ static get encapsulation() { return "scoped"; }
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 "shadow"; }
622
+ static get encapsulation() { return "scoped"; }
623
623
  static get originalStyleUrls() {
624
624
  return {
625
625
  "ios": ["input-otp.ios.scss"],
@@ -143,6 +143,8 @@
143
143
  * }
144
144
  */
145
145
  :host {
146
+ --ion-grid-gap: 0px;
146
147
  display: flex;
147
148
  flex-wrap: wrap;
149
+ gap: var(--ion-grid-gap, 0px);
148
150
  }
@@ -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 "shadow"; }
498
+ static get encapsulation() { return "scoped"; }
499
499
  static get originalStyleUrls() {
500
500
  return {
501
501
  "ios": ["textarea.ios.scss"],