@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
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-09-05T08:00:31",
2
+ "timestamp": "2025-09-05T16:54:08",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.36.2",
@@ -7169,7 +7169,7 @@
7169
7169
  },
7170
7170
  {
7171
7171
  "filePath": "src/components/card-content/card-content.tsx",
7172
- "encapsulation": "shadow",
7172
+ "encapsulation": "none",
7173
7173
  "tag": "ion-card-content",
7174
7174
  "docs": "",
7175
7175
  "docsTags": [
@@ -9178,6 +9178,162 @@
9178
9178
  "getter": false,
9179
9179
  "setter": false
9180
9180
  },
9181
+ {
9182
+ "name": "order",
9183
+ "type": "string | undefined",
9184
+ "complexType": {
9185
+ "original": "string",
9186
+ "resolved": "string | undefined",
9187
+ "references": {}
9188
+ },
9189
+ "mutable": false,
9190
+ "attr": "order",
9191
+ "reflectToAttr": false,
9192
+ "docs": "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.",
9193
+ "docsTags": [],
9194
+ "values": [
9195
+ {
9196
+ "type": "string"
9197
+ },
9198
+ {
9199
+ "type": "undefined"
9200
+ }
9201
+ ],
9202
+ "optional": true,
9203
+ "required": false,
9204
+ "getter": false,
9205
+ "setter": false
9206
+ },
9207
+ {
9208
+ "name": "orderLg",
9209
+ "type": "string | undefined",
9210
+ "complexType": {
9211
+ "original": "string",
9212
+ "resolved": "string | undefined",
9213
+ "references": {}
9214
+ },
9215
+ "mutable": false,
9216
+ "attr": "order-lg",
9217
+ "reflectToAttr": false,
9218
+ "docs": "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.",
9219
+ "docsTags": [],
9220
+ "values": [
9221
+ {
9222
+ "type": "string"
9223
+ },
9224
+ {
9225
+ "type": "undefined"
9226
+ }
9227
+ ],
9228
+ "optional": true,
9229
+ "required": false,
9230
+ "getter": false,
9231
+ "setter": false
9232
+ },
9233
+ {
9234
+ "name": "orderMd",
9235
+ "type": "string | undefined",
9236
+ "complexType": {
9237
+ "original": "string",
9238
+ "resolved": "string | undefined",
9239
+ "references": {}
9240
+ },
9241
+ "mutable": false,
9242
+ "attr": "order-md",
9243
+ "reflectToAttr": false,
9244
+ "docs": "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.",
9245
+ "docsTags": [],
9246
+ "values": [
9247
+ {
9248
+ "type": "string"
9249
+ },
9250
+ {
9251
+ "type": "undefined"
9252
+ }
9253
+ ],
9254
+ "optional": true,
9255
+ "required": false,
9256
+ "getter": false,
9257
+ "setter": false
9258
+ },
9259
+ {
9260
+ "name": "orderSm",
9261
+ "type": "string | undefined",
9262
+ "complexType": {
9263
+ "original": "string",
9264
+ "resolved": "string | undefined",
9265
+ "references": {}
9266
+ },
9267
+ "mutable": false,
9268
+ "attr": "order-sm",
9269
+ "reflectToAttr": false,
9270
+ "docs": "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.",
9271
+ "docsTags": [],
9272
+ "values": [
9273
+ {
9274
+ "type": "string"
9275
+ },
9276
+ {
9277
+ "type": "undefined"
9278
+ }
9279
+ ],
9280
+ "optional": true,
9281
+ "required": false,
9282
+ "getter": false,
9283
+ "setter": false
9284
+ },
9285
+ {
9286
+ "name": "orderXl",
9287
+ "type": "string | undefined",
9288
+ "complexType": {
9289
+ "original": "string",
9290
+ "resolved": "string | undefined",
9291
+ "references": {}
9292
+ },
9293
+ "mutable": false,
9294
+ "attr": "order-xl",
9295
+ "reflectToAttr": false,
9296
+ "docs": "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.",
9297
+ "docsTags": [],
9298
+ "values": [
9299
+ {
9300
+ "type": "string"
9301
+ },
9302
+ {
9303
+ "type": "undefined"
9304
+ }
9305
+ ],
9306
+ "optional": true,
9307
+ "required": false,
9308
+ "getter": false,
9309
+ "setter": false
9310
+ },
9311
+ {
9312
+ "name": "orderXs",
9313
+ "type": "string | undefined",
9314
+ "complexType": {
9315
+ "original": "string",
9316
+ "resolved": "string | undefined",
9317
+ "references": {}
9318
+ },
9319
+ "mutable": false,
9320
+ "attr": "order-xs",
9321
+ "reflectToAttr": false,
9322
+ "docs": "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.",
9323
+ "docsTags": [],
9324
+ "values": [
9325
+ {
9326
+ "type": "string"
9327
+ },
9328
+ {
9329
+ "type": "undefined"
9330
+ }
9331
+ ],
9332
+ "optional": true,
9333
+ "required": false,
9334
+ "getter": false,
9335
+ "setter": false
9336
+ },
9181
9337
  {
9182
9338
  "name": "pull",
9183
9339
  "type": "string | undefined",
@@ -9190,7 +9346,13 @@
9190
9346
  "attr": "pull",
9191
9347
  "reflectToAttr": false,
9192
9348
  "docs": "The amount to pull the column, in terms of how many columns it should shift to the start of\nthe total available.",
9193
- "docsTags": [],
9349
+ "docsTags": [
9350
+ {
9351
+ "name": "deprecated",
9352
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9353
+ }
9354
+ ],
9355
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9194
9356
  "values": [
9195
9357
  {
9196
9358
  "type": "string"
@@ -9216,7 +9378,13 @@
9216
9378
  "attr": "pull-lg",
9217
9379
  "reflectToAttr": false,
9218
9380
  "docs": "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.",
9219
- "docsTags": [],
9381
+ "docsTags": [
9382
+ {
9383
+ "name": "deprecated",
9384
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9385
+ }
9386
+ ],
9387
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9220
9388
  "values": [
9221
9389
  {
9222
9390
  "type": "string"
@@ -9242,7 +9410,13 @@
9242
9410
  "attr": "pull-md",
9243
9411
  "reflectToAttr": false,
9244
9412
  "docs": "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.",
9245
- "docsTags": [],
9413
+ "docsTags": [
9414
+ {
9415
+ "name": "deprecated",
9416
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9417
+ }
9418
+ ],
9419
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9246
9420
  "values": [
9247
9421
  {
9248
9422
  "type": "string"
@@ -9268,7 +9442,13 @@
9268
9442
  "attr": "pull-sm",
9269
9443
  "reflectToAttr": false,
9270
9444
  "docs": "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.",
9271
- "docsTags": [],
9445
+ "docsTags": [
9446
+ {
9447
+ "name": "deprecated",
9448
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9449
+ }
9450
+ ],
9451
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9272
9452
  "values": [
9273
9453
  {
9274
9454
  "type": "string"
@@ -9294,7 +9474,13 @@
9294
9474
  "attr": "pull-xl",
9295
9475
  "reflectToAttr": false,
9296
9476
  "docs": "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.",
9297
- "docsTags": [],
9477
+ "docsTags": [
9478
+ {
9479
+ "name": "deprecated",
9480
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9481
+ }
9482
+ ],
9483
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9298
9484
  "values": [
9299
9485
  {
9300
9486
  "type": "string"
@@ -9320,7 +9506,13 @@
9320
9506
  "attr": "pull-xs",
9321
9507
  "reflectToAttr": false,
9322
9508
  "docs": "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.",
9323
- "docsTags": [],
9509
+ "docsTags": [
9510
+ {
9511
+ "name": "deprecated",
9512
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9513
+ }
9514
+ ],
9515
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9324
9516
  "values": [
9325
9517
  {
9326
9518
  "type": "string"
@@ -9346,7 +9538,13 @@
9346
9538
  "attr": "push",
9347
9539
  "reflectToAttr": false,
9348
9540
  "docs": "The amount to push the column, in terms of how many columns it should shift to the end\nof the total available.",
9349
- "docsTags": [],
9541
+ "docsTags": [
9542
+ {
9543
+ "name": "deprecated",
9544
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9545
+ }
9546
+ ],
9547
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9350
9548
  "values": [
9351
9549
  {
9352
9550
  "type": "string"
@@ -9372,7 +9570,13 @@
9372
9570
  "attr": "push-lg",
9373
9571
  "reflectToAttr": false,
9374
9572
  "docs": "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.",
9375
- "docsTags": [],
9573
+ "docsTags": [
9574
+ {
9575
+ "name": "deprecated",
9576
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9577
+ }
9578
+ ],
9579
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9376
9580
  "values": [
9377
9581
  {
9378
9582
  "type": "string"
@@ -9398,7 +9602,13 @@
9398
9602
  "attr": "push-md",
9399
9603
  "reflectToAttr": false,
9400
9604
  "docs": "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.",
9401
- "docsTags": [],
9605
+ "docsTags": [
9606
+ {
9607
+ "name": "deprecated",
9608
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9609
+ }
9610
+ ],
9611
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9402
9612
  "values": [
9403
9613
  {
9404
9614
  "type": "string"
@@ -9424,7 +9634,13 @@
9424
9634
  "attr": "push-sm",
9425
9635
  "reflectToAttr": false,
9426
9636
  "docs": "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.",
9427
- "docsTags": [],
9637
+ "docsTags": [
9638
+ {
9639
+ "name": "deprecated",
9640
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9641
+ }
9642
+ ],
9643
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9428
9644
  "values": [
9429
9645
  {
9430
9646
  "type": "string"
@@ -9450,7 +9666,13 @@
9450
9666
  "attr": "push-xl",
9451
9667
  "reflectToAttr": false,
9452
9668
  "docs": "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.",
9453
- "docsTags": [],
9669
+ "docsTags": [
9670
+ {
9671
+ "name": "deprecated",
9672
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9673
+ }
9674
+ ],
9675
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9454
9676
  "values": [
9455
9677
  {
9456
9678
  "type": "string"
@@ -9476,7 +9698,13 @@
9476
9698
  "attr": "push-xs",
9477
9699
  "reflectToAttr": false,
9478
9700
  "docs": "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.",
9479
- "docsTags": [],
9701
+ "docsTags": [
9702
+ {
9703
+ "name": "deprecated",
9704
+ "text": "Use the combination of `size` and `order` properties to achieve the same effect."
9705
+ }
9706
+ ],
9707
+ "deprecation": "Use the combination of `size` and `order` properties to achieve the same effect.",
9480
9708
  "values": [
9481
9709
  {
9482
9710
  "type": "string"
@@ -9683,6 +9911,11 @@
9683
9911
  }
9684
9912
  ],
9685
9913
  "styles": [
9914
+ {
9915
+ "name": "--col-unit-size",
9916
+ "annotation": "prop",
9917
+ "docs": "The size of each Column unit."
9918
+ },
9686
9919
  {
9687
9920
  "name": "--ion-grid-column-padding",
9688
9921
  "annotation": "prop",
@@ -14780,7 +15013,7 @@
14780
15013
  },
14781
15014
  {
14782
15015
  "filePath": "src/components/input/input.tsx",
14783
- "encapsulation": "shadow",
15016
+ "encapsulation": "scoped",
14784
15017
  "tag": "ion-input",
14785
15018
  "docs": "",
14786
15019
  "docsTags": [
@@ -16713,7 +16946,7 @@
16713
16946
  },
16714
16947
  {
16715
16948
  "filePath": "src/components/input-otp/input-otp.tsx",
16716
- "encapsulation": "shadow",
16949
+ "encapsulation": "scoped",
16717
16950
  "tag": "ion-input-otp",
16718
16951
  "docs": "",
16719
16952
  "docsTags": [],
@@ -40383,7 +40616,7 @@
40383
40616
  },
40384
40617
  {
40385
40618
  "filePath": "src/components/textarea/textarea.tsx",
40386
- "encapsulation": "shadow",
40619
+ "encapsulation": "scoped",
40387
40620
  "tag": "ion-textarea",
40388
40621
  "docs": "",
40389
40622
  "docsTags": [
@@ -94,7 +94,7 @@ const CardContent = class {
94
94
  }
95
95
  render() {
96
96
  const theme = getIonTheme(this);
97
- return (h(Host, { key: '02e1dcb024098b03783235cdcf0311ece428a9a6', class: {
97
+ return (h(Host, { key: '9e0a23306b43bafffd82900a4da7e020fe45c04f', class: {
98
98
  [theme]: true,
99
99
  // Used internally for styling
100
100
  [`card-content-${theme}`]: true,
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, i as forceUpdate, h, d as Host } from './index-4DxY6_gG.js';
4
+ import { r as registerInstance, i as forceUpdate, f as printIonWarning, h, d as Host, g as getElement } from './index-4DxY6_gG.js';
5
5
  import { c as getIonTheme } from './ionic-global-Dtd5Ma5B.js';
6
6
 
7
7
  const SIZE_TO_MEDIA = {
@@ -25,11 +25,9 @@ const matchBreakpoint = (breakpoint) => {
25
25
  return false;
26
26
  };
27
27
 
28
- const colCss = ":host{-webkit-padding-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;min-height:1px}@media (min-width: 576px){:host{-webkit-padding-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}@media (min-width: 768px){:host{-webkit-padding-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}@media (min-width: 992px){:host{-webkit-padding-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}@media (min-width: 1200px){:host{-webkit-padding-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}";
28
+ const colCss = ":host{--col-unit-size:calc(\n (100% - (var(--ion-grid-columns, 12) - 1) * var(--ion-grid-gap, 0px)) / var(--ion-grid-columns, 12)\n );-webkit-padding-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xs, var(--ion-grid-column-padding, 5px));margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex:1;flex:1;min-height:1px}@media (min-width: 576px){:host{-webkit-padding-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-sm, var(--ion-grid-column-padding, 5px))}}@media (min-width: 768px){:host{-webkit-padding-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-md, var(--ion-grid-column-padding, 5px))}}@media (min-width: 992px){:host{-webkit-padding-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-lg, var(--ion-grid-column-padding, 5px))}}@media (min-width: 1200px){:host{-webkit-padding-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-start:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));-webkit-padding-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-inline-end:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-top:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px));padding-bottom:var(--ion-grid-column-padding-xl, var(--ion-grid-column-padding, 5px))}}:host(.ion-grid-col-auto){-ms-flex:0 0 auto;flex:0 0 auto}:host([class^=ion-grid-col--]),:host([class*=\" ion-grid-col--\"]){-ms-flex:0 0 calc(var(--ion-grid-col-span) * var(--col-unit-size) + (var(--ion-grid-col-span) - 1) * var(--ion-grid-gap, 0px));flex:0 0 calc(var(--ion-grid-col-span) * var(--col-unit-size) + (var(--ion-grid-col-span) - 1) * var(--ion-grid-gap, 0px))}:host([class^=ion-grid-offset-col--]),:host([class*=\" ion-grid-offset-col--\"]){--margin-calc:calc(\n var(--col-unit-size) * var(--ion-grid-col-margin) + (var(--ion-grid-gap, 0px) * var(--ion-grid-col-margin))\n );-webkit-margin-start:var(--margin-calc);margin-inline-start:var(--margin-calc);-webkit-margin-end:0;margin-inline-end:0}:host(.ion-grid-col--1){--ion-grid-col-span:1}:host(.ion-grid-order-col--1){-ms-flex-order:1;order:1}:host(.ion-grid-offset-col--1){--ion-grid-col-margin:1}:host(.ion-grid-col--2){--ion-grid-col-span:2}:host(.ion-grid-order-col--2){-ms-flex-order:2;order:2}:host(.ion-grid-offset-col--2){--ion-grid-col-margin:2}:host(.ion-grid-col--3){--ion-grid-col-span:3}:host(.ion-grid-order-col--3){-ms-flex-order:3;order:3}:host(.ion-grid-offset-col--3){--ion-grid-col-margin:3}:host(.ion-grid-col--4){--ion-grid-col-span:4}:host(.ion-grid-order-col--4){-ms-flex-order:4;order:4}:host(.ion-grid-offset-col--4){--ion-grid-col-margin:4}:host(.ion-grid-col--5){--ion-grid-col-span:5}:host(.ion-grid-order-col--5){-ms-flex-order:5;order:5}:host(.ion-grid-offset-col--5){--ion-grid-col-margin:5}:host(.ion-grid-col--6){--ion-grid-col-span:6}:host(.ion-grid-order-col--6){-ms-flex-order:6;order:6}:host(.ion-grid-offset-col--6){--ion-grid-col-margin:6}:host(.ion-grid-col--7){--ion-grid-col-span:7}:host(.ion-grid-order-col--7){-ms-flex-order:7;order:7}:host(.ion-grid-offset-col--7){--ion-grid-col-margin:7}:host(.ion-grid-col--8){--ion-grid-col-span:8}:host(.ion-grid-order-col--8){-ms-flex-order:8;order:8}:host(.ion-grid-offset-col--8){--ion-grid-col-margin:8}:host(.ion-grid-col--9){--ion-grid-col-span:9}:host(.ion-grid-order-col--9){-ms-flex-order:9;order:9}:host(.ion-grid-offset-col--9){--ion-grid-col-margin:9}:host(.ion-grid-col--10){--ion-grid-col-span:10}:host(.ion-grid-order-col--10){-ms-flex-order:10;order:10}:host(.ion-grid-offset-col--10){--ion-grid-col-margin:10}:host(.ion-grid-col--11){--ion-grid-col-span:11}:host(.ion-grid-order-col--11){-ms-flex-order:11;order:11}:host(.ion-grid-offset-col--11){--ion-grid-col-margin:11}:host(.ion-grid-col--12){--ion-grid-col-span:12}:host(.ion-grid-order-col--12){-ms-flex-order:12;order:12}:host(.ion-grid-offset-col--12){--ion-grid-col-margin:12}";
29
29
 
30
- const win = typeof window !== 'undefined' ? window : undefined;
31
30
  // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
32
- const SUPPORTS_VARS = win && !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0'));
33
31
  const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
34
32
  const Col = class {
35
33
  constructor(hostRef) {
@@ -55,66 +53,62 @@ const Col = class {
55
53
  // increase in size and we want to return the largest match
56
54
  return matched;
57
55
  }
58
- calculateSize() {
59
- const columns = this.getColumns('size');
56
+ getStyleClass(property, className, acceptsAuto = false) {
57
+ const colPropertyValue = this.getColumns(property);
60
58
  // If size wasn't set for any breakpoint
61
59
  // or if the user set the size without a value
62
60
  // it means we need to stick with the default and return
63
61
  // e.g. <ion-col size-md>
64
- if (!columns || columns === '') {
62
+ if (!colPropertyValue || colPropertyValue === '') {
65
63
  return;
66
64
  }
67
- // If the size is set to auto then don't calculate a size
68
- const colSize = columns === 'auto'
69
- ? 'auto'
70
- : // If CSS supports variables we should use the grid columns var
71
- SUPPORTS_VARS
72
- ? `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`
73
- : // Convert the columns to a percentage by dividing by the total number
74
- // of columns (12) and then multiplying by 100
75
- (columns / 12) * 100 + '%';
76
- return {
77
- flex: `0 0 ${colSize}`,
78
- width: `${colSize}`,
79
- 'max-width': `${colSize}`,
80
- };
81
- }
82
- // Called by push, pull, and offset since they use the same calculations
83
- calculatePosition(property, modifier) {
84
- const columns = this.getColumns(property);
85
- if (!columns) {
65
+ if (acceptsAuto && colPropertyValue === 'auto') {
66
+ return 'ion-grid-col-auto';
67
+ }
68
+ const valueNumber = parseInt(colPropertyValue);
69
+ if (isNaN(valueNumber)) {
86
70
  return;
87
71
  }
88
- // If the number of columns passed are greater than 0 and less than
89
- // 12 we can position the column, else default to auto
90
- const amount = SUPPORTS_VARS
91
- ? // If CSS supports variables we should use the grid columns var
92
- `calc(calc(${columns} / var(--ion-grid-columns, 12)) * 100%)`
93
- : // Convert the columns to a percentage by dividing by the total number
94
- // of columns (12) and then multiplying by 100
95
- columns > 0 && columns < 12
96
- ? (columns / 12) * 100 + '%'
97
- : 'auto';
98
- return {
99
- [modifier]: amount,
100
- };
72
+ return `${className}-col--${valueNumber}`;
101
73
  }
102
- calculateOffset(isRTL) {
103
- return this.calculatePosition('offset', isRTL ? 'margin-right' : 'margin-left');
74
+ getSizeClass() {
75
+ return this.getStyleClass('size', 'ion-grid', true);
104
76
  }
105
- calculatePull(isRTL) {
106
- return this.calculatePosition('pull', isRTL ? 'left' : 'right');
77
+ getOrderClass() {
78
+ return this.getStyleClass('order', 'ion-grid-order');
107
79
  }
108
- calculatePush(isRTL) {
109
- return this.calculatePosition('push', isRTL ? 'right' : 'left');
80
+ getOffsetClass() {
81
+ return this.getStyleClass('offset', 'ion-grid-offset');
82
+ }
83
+ componentDidLoad() {
84
+ if (this.pull ||
85
+ this.pullLg ||
86
+ this.pullMd ||
87
+ this.pullSm ||
88
+ this.pullXl ||
89
+ this.pullXs ||
90
+ this.push ||
91
+ this.pushLg ||
92
+ this.pushMd ||
93
+ this.pushSm ||
94
+ this.pushXl ||
95
+ this.pushXs) {
96
+ printIonWarning('[ion-col] - The pull and push properties are deprecated and no longer work, in favor of the order and size properties.', this.el);
97
+ }
110
98
  }
111
99
  render() {
112
- const isRTL = document.dir === 'rtl';
113
100
  const theme = getIonTheme(this);
114
- return (h(Host, { key: '18eb6aff60f43b28b7e157b7d6ce787635f25fa1', class: {
101
+ const colSize = this.getSizeClass();
102
+ const colOrder = this.getOrderClass();
103
+ const colOffset = this.getOffsetClass();
104
+ return (h(Host, { key: 'e4a5e41ee5cd7ef62aa32a1f4f290a3be2fae212', class: {
115
105
  [theme]: true,
116
- }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h("slot", { key: '3848d5cb525b42a550aa36a486f97b2e20240def' })));
106
+ [`${colSize}`]: colSize !== undefined,
107
+ [`${colOrder}`]: colOrder !== undefined,
108
+ [`${colOffset}`]: colOffset !== undefined,
109
+ } }, h("slot", { key: '7058c34c183cdad24630314ec0bedffef40a32af' })));
117
110
  }
111
+ get el() { return getElement(this); }
118
112
  };
119
113
  Col.style = colCss;
120
114
 
@@ -138,7 +132,7 @@ const Grid = class {
138
132
  };
139
133
  Grid.style = gridCss;
140
134
 
141
- const rowCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}";
135
+ const rowCss = ":host{--ion-grid-gap:0px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:var(--ion-grid-gap, 0px)}";
142
136
 
143
137
  const Row = class {
144
138
  constructor(hostRef) {
@@ -942,9 +942,6 @@ const Datetime = class {
942
942
  this.toggleMonthAndYearView = () => {
943
943
  this.showMonthAndYear = !this.showMonthAndYear;
944
944
  };
945
- this.asBlob = (icon) => new Blob([Uint8Array.from(icon.split("").map(function (c) {
946
- return c.charCodeAt(0);
947
- }))], { type: "image/svg+xml" });
948
945
  }
949
946
  formatOptionsChanged() {
950
947
  const { el, formatOptions, presentation } = this;
@@ -1536,22 +1533,6 @@ const Datetime = class {
1536
1533
  [`wheel-order-${columnOrder}`]: true,
1537
1534
  } }, this.renderWheelPicker(forcePresentation)));
1538
1535
  }
1539
- getIconProps(icon) {
1540
- if (typeof icon === 'string' && icon.trim().startsWith('data:image/svg+xml')) {
1541
- // Extract and decode the SVG string from the data URL
1542
- const svgString = decodeURIComponent(atob(icon.split(',')[1])
1543
- .split('')
1544
- .map(function (c) {
1545
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
1546
- })
1547
- .join(''));
1548
- const url = URL.createObjectURL(this.asBlob(svgString));
1549
- console.log(url);
1550
- return { src: url };
1551
- }
1552
- // Ionicons icon name/object or undefined
1553
- return { icon };
1554
- }
1555
1536
  /**
1556
1537
  * Grid Render Methods
1557
1538
  */
@@ -1565,7 +1546,7 @@ const Datetime = class {
1565
1546
  'calendar-month-year-toggle': true,
1566
1547
  'ion-activatable': true,
1567
1548
  'ion-focusable': true,
1568
- }, 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) => {
1549
+ }, 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) => {
1569
1550
  return h("div", { class: "day-of-week" }, d);
1570
1551
  }))));
1571
1552
  }
@@ -1949,7 +1930,7 @@ const Datetime = class {
1949
1930
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1950
1931
  const hasWheelVariant = hasDatePresentation && preferWheel;
1951
1932
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1952
- return (h(Host, { key: '309952b7ddb816dd5940b050a1cbdeb4d36ef0b9', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1933
+ return (h(Host, { key: '40f8732998d123ef5c700080cc423bb8310654d5', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1953
1934
  [theme]: true,
1954
1935
  ['datetime-readonly']: readonly,
1955
1936
  ['datetime-disabled']: disabled,
@@ -1959,7 +1940,7 @@ const Datetime = class {
1959
1940
  [`datetime-size-${size}`]: true,
1960
1941
  [`datetime-prefer-wheel`]: hasWheelVariant,
1961
1942
  [`datetime-grid`]: isGridStyle,
1962
- })) }, h("div", { key: 'e93911154aa959d1ff45e97a9f8e1fa5a0435f74', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1943
+ })) }, h("div", { key: '0a323aa4e3cd9c96495d0dc3bf7985c8723f5e8c', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1963
1944
  }
1964
1945
  get el() { return getElement(this); }
1965
1946
  static get watchers() { return {