@ionic/core 8.4.1-dev.11730909308.11b6f07d → 8.4.1-dev.11731604836.1a1f3fcc

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 (131) hide show
  1. package/components/ion-select-option.js +1 -1
  2. package/components/ion-select.js +18 -6
  3. package/components/ion-skeleton-text.js +2 -2
  4. package/components/ion-split-pane.js +2 -2
  5. package/components/ion-tab-bar.js +2 -2
  6. package/components/ion-tab-button.js +2 -2
  7. package/components/ion-tab.js +2 -2
  8. package/components/ion-tabs.js +1 -1
  9. package/components/ion-text.js +2 -2
  10. package/components/ion-textarea.js +3 -3
  11. package/components/ion-thumbnail.js +2 -2
  12. package/components/ion-toast.js +2 -2
  13. package/components/ion-toggle.js +3 -3
  14. package/components/item.js +1 -1
  15. package/components/radio.js +3 -3
  16. package/components/select-modal.js +3 -3
  17. package/components/select-popover.js +2 -2
  18. package/components/spinner.js +1 -1
  19. package/components/title.js +2 -2
  20. package/components/toolbar.js +2 -2
  21. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  22. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  23. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  24. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  25. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  26. package/dist/cjs/ion-select_3.cjs.entry.js +21 -9
  27. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  28. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  30. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  31. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  33. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  35. package/dist/collection/components/item/item.ionic.css +0 -4
  36. package/dist/collection/components/radio/radio.ionic.css +6 -0
  37. package/dist/collection/components/radio/radio.ios.css +6 -6
  38. package/dist/collection/components/radio/radio.md.css +6 -6
  39. package/dist/collection/components/select/select.ionic.css +685 -0
  40. package/dist/collection/components/select/select.ios.css +148 -101
  41. package/dist/collection/components/select/select.js +16 -4
  42. package/dist/collection/components/select/select.md.css +140 -215
  43. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  44. package/dist/collection/components/select-modal/select-modal.js +3 -3
  45. package/dist/collection/components/select-option/select-option.js +1 -1
  46. package/dist/collection/components/select-popover/select-popover.js +2 -2
  47. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  48. package/dist/collection/components/spinner/spinner.js +1 -1
  49. package/dist/collection/components/split-pane/split-pane.js +2 -2
  50. package/dist/collection/components/tab/tab.js +2 -2
  51. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  52. package/dist/collection/components/tab-button/tab-button.js +2 -2
  53. package/dist/collection/components/tabs/tabs.js +1 -1
  54. package/dist/collection/components/text/text.js +2 -2
  55. package/dist/collection/components/textarea/textarea.js +3 -3
  56. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  57. package/dist/collection/components/title/title.js +2 -2
  58. package/dist/collection/components/toast/toast.js +2 -2
  59. package/dist/collection/components/toggle/toggle.js +3 -3
  60. package/dist/collection/components/toolbar/toolbar.js +2 -2
  61. package/dist/docs.json +1 -1
  62. package/dist/esm/ion-app_8.entry.js +4 -4
  63. package/dist/esm/ion-avatar_3.entry.js +2 -2
  64. package/dist/esm/ion-item_8.entry.js +3 -3
  65. package/dist/esm/ion-radio_2.entry.js +3 -3
  66. package/dist/esm/ion-select-modal.entry.js +3 -3
  67. package/dist/esm/ion-select_3.entry.js +21 -9
  68. package/dist/esm/ion-spinner.entry.js +1 -1
  69. package/dist/esm/ion-split-pane.entry.js +2 -2
  70. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  71. package/dist/esm/ion-tab_2.entry.js +3 -3
  72. package/dist/esm/ion-text.entry.js +2 -2
  73. package/dist/esm/ion-textarea.entry.js +3 -3
  74. package/dist/esm/ion-toast.entry.js +2 -2
  75. package/dist/esm/ion-toggle.entry.js +3 -3
  76. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  77. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  78. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  79. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  80. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  81. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  82. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  83. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  84. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  85. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  86. package/dist/esm-es5/ion-text.entry.js +1 -1
  87. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  88. package/dist/esm-es5/ion-toast.entry.js +1 -1
  89. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  90. package/dist/ionic/ionic.esm.js +1 -1
  91. package/dist/ionic/p-0e80425f.system.entry.js +4 -0
  92. package/dist/ionic/{p-5e9730c2.entry.js → p-18892506.entry.js} +1 -1
  93. package/dist/ionic/p-25413edd.entry.js +4 -0
  94. package/dist/ionic/{p-578a8bdf.entry.js → p-29ca4da2.entry.js} +1 -1
  95. package/dist/ionic/{p-f83d18c1.entry.js → p-2e4c7fa3.entry.js} +1 -1
  96. package/dist/ionic/{p-fc8359aa.system.entry.js → p-398b00a5.system.entry.js} +1 -1
  97. package/dist/ionic/{p-08b2ba53.system.entry.js → p-5684893b.system.entry.js} +1 -1
  98. package/dist/ionic/{p-211b0fba.system.entry.js → p-5a1979e0.system.entry.js} +1 -1
  99. package/dist/ionic/{p-430d860e.entry.js → p-67f3ed57.entry.js} +1 -1
  100. package/dist/ionic/p-6a77b55a.entry.js +4 -0
  101. package/dist/ionic/{p-055ae36e.system.entry.js → p-787c1bd0.system.entry.js} +1 -1
  102. package/dist/ionic/{p-1fba8e90.system.entry.js → p-815f649a.system.entry.js} +1 -1
  103. package/dist/ionic/p-954d0d7c.system.entry.js +4 -0
  104. package/dist/ionic/p-9ac1a506.system.js +1 -1
  105. package/dist/ionic/{p-ea0b8c64.system.entry.js → p-a58b94c6.system.entry.js} +1 -1
  106. package/dist/ionic/p-a98061d0.entry.js +4 -0
  107. package/dist/ionic/{p-699c1e19.entry.js → p-adc0276b.entry.js} +1 -1
  108. package/dist/ionic/{p-f09c06e8.entry.js → p-c3ae4bcf.entry.js} +1 -1
  109. package/dist/ionic/{p-7557a7de.system.entry.js → p-c5226e15.system.entry.js} +1 -1
  110. package/dist/ionic/{p-ce46d44a.entry.js → p-cad8a848.entry.js} +1 -1
  111. package/dist/ionic/p-cf3dad24.entry.js +4 -0
  112. package/dist/ionic/p-df9c6620.system.entry.js +4 -0
  113. package/dist/ionic/{p-3f1e20d1.system.entry.js → p-ea98a10a.system.entry.js} +1 -1
  114. package/dist/ionic/{p-2978f27e.entry.js → p-eb4ba253.entry.js} +1 -1
  115. package/dist/ionic/{p-d7894208.entry.js → p-ee17be82.entry.js} +1 -1
  116. package/dist/ionic/p-ef60ee95.entry.js +4 -0
  117. package/dist/ionic/p-f1c1b477.system.entry.js +4 -0
  118. package/dist/ionic/{p-31fa1052.system.entry.js → p-f25ad420.system.entry.js} +1 -1
  119. package/dist/ionic/{p-3fc0ba02.system.entry.js → p-fff78cd2.system.entry.js} +1 -1
  120. package/hydrate/index.js +56 -44
  121. package/hydrate/index.mjs +56 -44
  122. package/package.json +1 -1
  123. package/dist/ionic/p-043483dc.entry.js +0 -4
  124. package/dist/ionic/p-06ca2619.system.entry.js +0 -4
  125. package/dist/ionic/p-35362c9f.entry.js +0 -4
  126. package/dist/ionic/p-458a2899.entry.js +0 -4
  127. package/dist/ionic/p-4edc0fda.system.entry.js +0 -4
  128. package/dist/ionic/p-6f941957.entry.js +0 -4
  129. package/dist/ionic/p-74a20601.system.entry.js +0 -4
  130. package/dist/ionic/p-a42eccfb.entry.js +0 -4
  131. package/dist/ionic/p-ce2e8a94.system.entry.js +0 -4
@@ -59,6 +59,28 @@
59
59
  * }
60
60
  * }
61
61
  */
62
+ /**
63
+ * A heuristic that applies CSS to tablet
64
+ * viewports.
65
+ *
66
+ * Usage:
67
+ * @include tablet-viewport() {
68
+ * :host {
69
+ * background-color: green;
70
+ * }
71
+ * }
72
+ */
73
+ /**
74
+ * A heuristic that applies CSS to mobile
75
+ * viewports (i.e. phones, not tablets).
76
+ *
77
+ * Usage:
78
+ * @include mobile-viewport() {
79
+ * :host {
80
+ * background-color: blue;
81
+ * }
82
+ * }
83
+ */
62
84
  :host {
63
85
  /**
64
86
  * @prop --background: Background of the select
@@ -87,7 +109,6 @@
87
109
  --padding-bottom: 0px;
88
110
  --padding-start: 0px;
89
111
  --placeholder-color: currentColor;
90
- --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
91
112
  --background: transparent;
92
113
  --border-style: solid;
93
114
  --highlight-color-focused: var(--ion-color-primary, #0054e9);
@@ -104,10 +125,8 @@
104
125
  position: relative;
105
126
  width: 100%;
106
127
  min-height: 44px;
107
- font-family: var(--ion-font-family, inherit);
108
128
  white-space: nowrap;
109
129
  cursor: pointer;
110
- z-index: 2;
111
130
  }
112
131
 
113
132
  /**
@@ -173,13 +192,6 @@ button {
173
192
  }
174
193
 
175
194
  .select-icon {
176
- -webkit-margin-start: 4px;
177
- margin-inline-start: 4px;
178
- -webkit-margin-end: 0;
179
- margin-inline-end: 0;
180
- margin-top: 0;
181
- margin-bottom: 0;
182
- position: relative;
183
195
  /**
184
196
  * Prevent the icon from shrinking when the label and/or
185
197
  * selected item text is long enough to fill the rest of
@@ -197,17 +209,6 @@ button {
197
209
  color: inherit;
198
210
  }
199
211
 
200
- /**
201
- * The select icon should be centered with
202
- * the entire container not just the control
203
- * with floating/stacked labels.
204
- */
205
- :host(.select-label-placement-stacked) .select-icon,
206
- :host(.select-label-placement-floating) .select-icon {
207
- position: absolute;
208
- height: 100%;
209
- }
210
-
211
212
  /**
212
213
  * This positions the icon at the correct
213
214
  * edge of the component with LTR and RTL
@@ -234,13 +235,6 @@ button {
234
235
  }
235
236
 
236
237
  .select-wrapper {
237
- -webkit-padding-start: var(--padding-start);
238
- padding-inline-start: var(--padding-start);
239
- -webkit-padding-end: var(--padding-end);
240
- padding-inline-end: var(--padding-end);
241
- padding-top: var(--padding-top);
242
- padding-bottom: var(--padding-bottom);
243
- border-radius: var(--border-radius);
244
238
  display: flex;
245
239
  position: relative;
246
240
  flex-grow: 1;
@@ -398,20 +392,6 @@ button {
398
392
  flex-direction: row;
399
393
  }
400
394
 
401
- :host(.select-label-placement-start) .label-text-wrapper {
402
- /**
403
- * The margin between the label and
404
- * the select should be on the end
405
- * when the label sits at the start.
406
- */
407
- -webkit-margin-start: 0;
408
- margin-inline-start: 0;
409
- -webkit-margin-end: 16px;
410
- margin-inline-end: 16px;
411
- margin-top: 0;
412
- margin-bottom: 0;
413
- }
414
-
415
395
  /**
416
396
  * Label is on the right of the select in LTR and
417
397
  * on the left in RTL.
@@ -420,34 +400,6 @@ button {
420
400
  flex-direction: row-reverse;
421
401
  }
422
402
 
423
- /**
424
- * The margin between the label and
425
- * the select should be on the start
426
- * when the label sits at the end.
427
- */
428
- :host(.select-label-placement-end) .label-text-wrapper {
429
- -webkit-margin-start: 16px;
430
- margin-inline-start: 16px;
431
- -webkit-margin-end: 0;
432
- margin-inline-end: 0;
433
- margin-top: 0;
434
- margin-bottom: 0;
435
- }
436
-
437
- :host(.select-label-placement-fixed) .label-text-wrapper {
438
- /**
439
- * The margin between the label and
440
- * the select should be on the end
441
- * when the label sits at the start.
442
- */
443
- -webkit-margin-start: 0;
444
- margin-inline-start: 0;
445
- -webkit-margin-end: 16px;
446
- margin-inline-end: 16px;
447
- margin-top: 0;
448
- margin-bottom: 0;
449
- }
450
-
451
403
  /**
452
404
  * Label is on the left of the select in LTR and
453
405
  * on the right in RTL. Label also has a fixed width.
@@ -500,29 +452,10 @@ button {
500
452
  */
501
453
  :host(.select-label-placement-stacked) .native-wrapper,
502
454
  :host(.select-label-placement-floating) .native-wrapper {
503
- margin-left: 0;
504
- margin-right: 0;
505
- margin-top: 1px;
506
- margin-bottom: 0;
507
455
  flex-grow: 1;
508
456
  width: 100%;
509
457
  }
510
458
 
511
- /**
512
- * This makes the label sit over the select
513
- * when the select is blurred and has no value.
514
- * The label should not sit over the select if the
515
- * select has a placeholder.
516
- * Note: This is different from what ion-input does
517
- * because the activating the select causes an overlay
518
- * to appear. This makes it hard to read the placeholder.
519
- * With ion-input, the input just focuses and the placeholder
520
- * is still easy to read.
521
- */
522
- :host(.select-label-placement-floating) .label-text-wrapper {
523
- transform: translateY(100%) scale(1);
524
- }
525
-
526
459
  /**
527
460
  * The placeholder should be hidden when the label
528
461
  * is on top of the select. This prevents the label
@@ -550,18 +483,6 @@ button {
550
483
  opacity: 1;
551
484
  }
552
485
 
553
- /**
554
- * This makes the label sit above the input.
555
- */
556
- :host(.label-floating) .label-text-wrapper {
557
- transform: translateY(50%) scale(0.75);
558
- /**
559
- * Label text should not extend
560
- * beyond the bounds of the input.
561
- */
562
- max-width: calc(100% / 0.75);
563
- }
564
-
565
486
  ::slotted([slot=start]),
566
487
  ::slotted([slot=end]) {
567
488
  /**
@@ -573,76 +494,141 @@ button {
573
494
  }
574
495
 
575
496
  ::slotted([slot=start]:last-of-type) {
576
- margin-inline-end: 16px;
577
497
  margin-inline-start: 0;
578
498
  }
579
499
 
580
500
  ::slotted([slot=end]:first-of-type) {
581
- margin-inline-start: 16px;
582
501
  margin-inline-end: 0;
583
502
  }
584
503
 
504
+ :host {
505
+ --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
506
+ font-family: var(--ion-font-family, inherit);
507
+ z-index: 2;
508
+ }
509
+
510
+ .select-icon {
511
+ -webkit-margin-start: 4px;
512
+ margin-inline-start: 4px;
513
+ -webkit-margin-end: 0;
514
+ margin-inline-end: 0;
515
+ margin-top: 0;
516
+ margin-bottom: 0;
517
+ position: relative;
518
+ }
519
+
585
520
  /**
586
- * Convert a pixels given value into rem
587
- *
588
- * @param pixels - Value in pixels to be converted (i.e. px)
589
- * @param context (optional) - Baseline value
590
- */
591
- /**
592
- * Convert a font size to a dynamic font size.
593
- * Fonts that participate in Dynamic Type should use
594
- * dynamic font sizes.
595
- * @param size - The initial font size including the unit (i.e. px or pt)
596
- * @param unit (optional) - The unit to convert to. Use this if you want to
597
- * convert to a unit other than $baselineUnit.
598
- */
599
- /**
600
- * Convert a font size to a dynamic font size but impose
601
- * a maximum font size.
602
- * @param size - The initial font size including the unit (i.e. px or pt)
603
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
604
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
605
- * convert to a unit other than $baselineUnit.
521
+ * The select icon should be centered with
522
+ * the entire container not just the control
523
+ * with floating/stacked labels.
606
524
  */
525
+ :host(.select-label-placement-stacked) .select-icon,
526
+ :host(.select-label-placement-floating) .select-icon {
527
+ position: absolute;
528
+ height: 100%;
529
+ }
530
+
531
+ .select-wrapper {
532
+ -webkit-padding-start: var(--padding-start);
533
+ padding-inline-start: var(--padding-start);
534
+ -webkit-padding-end: var(--padding-end);
535
+ padding-inline-end: var(--padding-end);
536
+ padding-top: var(--padding-top);
537
+ padding-bottom: var(--padding-bottom);
538
+ border-radius: var(--border-radius);
539
+ }
540
+
541
+ :host(.select-label-placement-start) .label-text-wrapper {
542
+ /**
543
+ * The margin between the label and
544
+ * the select should be on the end
545
+ * when the label sits at the start.
546
+ */
547
+ -webkit-margin-start: 0;
548
+ margin-inline-start: 0;
549
+ -webkit-margin-end: 16px;
550
+ margin-inline-end: 16px;
551
+ margin-top: 0;
552
+ margin-bottom: 0;
553
+ }
554
+
607
555
  /**
608
- * Convert a font size to a dynamic font size but impose
609
- * a minimum font size.
610
- * @param size - The initial font size including the unit (i.e. px or pt)
611
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
612
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
613
- * convert to a unit other than $baselineUnit.
556
+ * The margin between the label and
557
+ * the select should be on the start
558
+ * when the label sits at the end.
614
559
  */
560
+ :host(.select-label-placement-end) .label-text-wrapper {
561
+ -webkit-margin-start: 16px;
562
+ margin-inline-start: 16px;
563
+ -webkit-margin-end: 0;
564
+ margin-inline-end: 0;
565
+ margin-top: 0;
566
+ margin-bottom: 0;
567
+ }
568
+
569
+ :host(.select-label-placement-fixed) .label-text-wrapper {
570
+ /**
571
+ * The margin between the label and
572
+ * the select should be on the end
573
+ * when the label sits at the start.
574
+ */
575
+ -webkit-margin-start: 0;
576
+ margin-inline-start: 0;
577
+ -webkit-margin-end: 16px;
578
+ margin-inline-end: 16px;
579
+ margin-top: 0;
580
+ margin-bottom: 0;
581
+ }
582
+
615
583
  /**
616
- * Convert a font size to a dynamic font size but impose
617
- * maximum and minimum font sizes.
618
- * @param size - The initial font size including the unit (i.e. px or pt)
619
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
620
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
621
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
622
- * convert to a unit other than $baselineUnit.
584
+ * Ensures the select does not
585
+ * overlap the label.
586
+ * Also ensure that the native wrapper
587
+ * takes up the remaining available height and width.
623
588
  */
589
+ :host(.select-label-placement-stacked) .native-wrapper,
590
+ :host(.select-label-placement-floating) .native-wrapper {
591
+ margin-left: 0;
592
+ margin-right: 0;
593
+ margin-top: 1px;
594
+ margin-bottom: 0;
595
+ }
596
+
624
597
  /**
625
- * A heuristic that applies CSS to tablet
626
- * viewports.
627
- *
628
- * Usage:
629
- * @include tablet-viewport() {
630
- * :host {
631
- * background-color: green;
632
- * }
633
- * }
598
+ * This makes the label sit over the select
599
+ * when the select is blurred and has no value.
600
+ * The label should not sit over the select if the
601
+ * select has a placeholder.
602
+ * Note: This is different from what ion-input does
603
+ * because the activating the select causes an overlay
604
+ * to appear. This makes it hard to read the placeholder.
605
+ * With ion-input, the input just focuses and the placeholder
606
+ * is still easy to read.
634
607
  */
608
+ :host(.select-label-placement-floating) .label-text-wrapper {
609
+ transform: translateY(100%) scale(1);
610
+ }
611
+
635
612
  /**
636
- * A heuristic that applies CSS to mobile
637
- * viewports (i.e. phones, not tablets).
638
- *
639
- * Usage:
640
- * @include mobile-viewport() {
641
- * :host {
642
- * background-color: blue;
643
- * }
644
- * }
613
+ * This makes the label sit above the input.
645
614
  */
615
+ :host(.label-floating) .label-text-wrapper {
616
+ transform: translateY(50%) scale(0.75);
617
+ /**
618
+ * Label text should not extend
619
+ * beyond the bounds of the input.
620
+ */
621
+ max-width: calc(100% / 0.75);
622
+ }
623
+
624
+ ::slotted([slot=start]:last-of-type) {
625
+ margin-inline-end: 16px;
626
+ }
627
+
628
+ ::slotted([slot=end]:first-of-type) {
629
+ margin-inline-start: 16px;
630
+ }
631
+
646
632
  /**
647
633
  * Convert a pixels given value into rem
648
634
  *
@@ -836,67 +822,6 @@ button {
836
822
  max-width: calc(100% / 0.75);
837
823
  }
838
824
 
839
- /**
840
- * Convert a pixels given value into rem
841
- *
842
- * @param pixels - Value in pixels to be converted (i.e. px)
843
- * @param context (optional) - Baseline value
844
- */
845
- /**
846
- * Convert a font size to a dynamic font size.
847
- * Fonts that participate in Dynamic Type should use
848
- * dynamic font sizes.
849
- * @param size - The initial font size including the unit (i.e. px or pt)
850
- * @param unit (optional) - The unit to convert to. Use this if you want to
851
- * convert to a unit other than $baselineUnit.
852
- */
853
- /**
854
- * Convert a font size to a dynamic font size but impose
855
- * a maximum font size.
856
- * @param size - The initial font size including the unit (i.e. px or pt)
857
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
858
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
859
- * convert to a unit other than $baselineUnit.
860
- */
861
- /**
862
- * Convert a font size to a dynamic font size but impose
863
- * a minimum font size.
864
- * @param size - The initial font size including the unit (i.e. px or pt)
865
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
866
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
867
- * convert to a unit other than $baselineUnit.
868
- */
869
- /**
870
- * Convert a font size to a dynamic font size but impose
871
- * maximum and minimum font sizes.
872
- * @param size - The initial font size including the unit (i.e. px or pt)
873
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
874
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
875
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
876
- * convert to a unit other than $baselineUnit.
877
- */
878
- /**
879
- * A heuristic that applies CSS to tablet
880
- * viewports.
881
- *
882
- * Usage:
883
- * @include tablet-viewport() {
884
- * :host {
885
- * background-color: green;
886
- * }
887
- * }
888
- */
889
- /**
890
- * A heuristic that applies CSS to mobile
891
- * viewports (i.e. phones, not tablets).
892
- *
893
- * Usage:
894
- * @include mobile-viewport() {
895
- * :host {
896
- * background-color: blue;
897
- * }
898
- * }
899
- */
900
825
  :host(.select-fill-outline) {
901
826
  --border-color: var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));
902
827
  --border-radius: 4px;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
7
+ /*
8
+ Do not edit directly, this file was auto-generated.
9
+ */ /**
10
+ * A heuristic that applies CSS to tablet
11
+ * viewports.
12
+ *
13
+ * Usage:
14
+ * @include tablet-viewport() {
15
+ * :host {
16
+ * background-color: green;
17
+ * }
18
+ * }
19
+ */
20
+ /**
21
+ * A heuristic that applies CSS to mobile
22
+ * viewports (i.e. phones, not tablets).
23
+ *
24
+ * Usage:
25
+ * @include mobile-viewport() {
26
+ * :host {
27
+ * background-color: blue;
28
+ * }
29
+ * }
30
+ */
31
+ /**
32
+ * Convert a font size to a dynamic font size.
33
+ * Fonts that participate in Dynamic Type should use
34
+ * dynamic font sizes.
35
+ * @param size - The initial font size including the unit (i.e. px or pt)
36
+ * @param unit (optional) - The unit to convert to. Use this if you want to
37
+ * convert to a unit other than $baselineUnit.
38
+ */
39
+ /**
40
+ * Convert a font size to a dynamic font size but impose
41
+ * a maximum font size.
42
+ * @param size - The initial font size including the unit (i.e. px or pt)
43
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
44
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
+ * convert to a unit other than $baselineUnit.
46
+ */
47
+ /**
48
+ * Convert a font size to a dynamic font size but impose
49
+ * a minimum font size.
50
+ * @param size - The initial font size including the unit (i.e. px or pt)
51
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
53
+ * convert to a unit other than $baselineUnit.
54
+ */
55
+ /**
56
+ * Convert a font size to a dynamic font size but impose
57
+ * maximum and minimum font sizes.
58
+ * @param size - The initial font size including the unit (i.e. px or pt)
59
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
60
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
61
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
62
+ * convert to a unit other than $baselineUnit.
63
+ */
64
+ :host {
65
+ height: 100%;
66
+ }
67
+
68
+ ion-item {
69
+ --border-width: 0;
70
+ }
71
+
72
+ ion-toolbar {
73
+ font-size: var(--ion-font-size-450, 1.125rem);
74
+ font-weight: var(--ion-font-weight-medium, 500);
75
+ letter-spacing: var(--ion-font-letter-spacing-0, 0%);
76
+ line-height: var(--ion-font-line-height-700, 28px);
77
+ text-decoration: none;
78
+ text-transform: none;
79
+ }
80
+
81
+ ion-list ion-radio::part(container) {
82
+ display: none;
83
+ }
84
+
85
+ ion-list ion-radio::part(label) {
86
+ margin-left: 0;
87
+ margin-right: 0;
88
+ margin-top: 0;
89
+ margin-bottom: 0;
90
+ }
91
+
92
+ ion-list ion-radio::part(label),
93
+ ion-list ion-checkbox::part(label) {
94
+ font-size: var(--ion-font-size-400, 1rem);
95
+ font-weight: var(--ion-font-weight-medium, 500);
96
+ letter-spacing: var(--ion-font-letter-spacing-0, 0%);
97
+ line-height: var(--ion-font-line-height-600, 24px);
98
+ text-decoration: none;
99
+ text-transform: none;
100
+ }
101
+
102
+ .item-radio-checked,
103
+ .item-checkbox-checked {
104
+ --background: var(--ion-semantics-primary-100, #f2f4fd);
105
+ --border-radius: var(--ion-border-radius-400, 16px);
106
+ }
107
+
108
+ ion-content {
109
+ /**
110
+ * The important is needed to override the padding set
111
+ * for modal sheet by the `core.ionic.scss` file.
112
+ * The modal sheet within the select does not match the
113
+ * padding of the modal sheet in the core.
114
+ */
115
+ /* stylelint-disable-next-line declaration-no-important */
116
+ --padding-start: var(--ion-space-400, 16px) !important;
117
+ /* stylelint-disable-next-line declaration-no-important */
118
+ --padding-end: var(--ion-space-400, 16px) !important;
119
+ /* stylelint-disable-next-line declaration-no-important */
120
+ --padding-bottom: var(--ion-space-1200, 48px) !important;
121
+ }
@@ -77,7 +77,7 @@ export class SelectModal {
77
77
  } }, option.text))));
78
78
  }
79
79
  render() {
80
- return (h(Host, { key: '95c255c175fa5ac4fbbf40d62942a4141160a26c', class: getIonMode(this) }, h("ion-header", { key: '44d928af413bbd646354aa0524841185781099e6' }, h("ion-toolbar", { key: 'e40f439ae12b8acb13014e165e0bd4da765fb087' }, this.header !== undefined && h("ion-title", { key: '5bd65f65a594edc4808701545a41330b5e10ff27' }, this.header), h("ion-buttons", { key: '66e3936a4bb22c48abd60690b4a79f26c3abe0e2', slot: "end" }, h("ion-button", { key: '6d4ffda63ad671e97002263b7a1bd69ea4673838', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '7c230147be38d46c86fed7be76cbc64591df10bb' }, h("ion-list", { key: 'adf3ee9959198f99a5b26dc76f74bbfa3a46605a' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
80
+ return (h(Host, { key: 'fd5b1e78d540c7ae6d0fca737a6fc1d983a8c19b', class: getIonMode(this) }, h("ion-header", { key: '7eec49fcb0a0f0b1e20f3a1f92d28cd15924d265' }, h("ion-toolbar", { key: 'aea8148d3207089db6475579479cb64c16594985' }, this.header !== undefined && h("ion-title", { key: 'f2e6d4ae608dfa5fdba9ed466e078545b55fc7df' }, this.header), h("ion-buttons", { key: 'bea2a3f2448e1907eee3a4e46a2d5e3b99b62763', slot: "end" }, h("ion-button", { key: 'd7db36683d5cff25c3084dccecb736cc55d94965', onClick: () => this.closeModal() }, "Close")))), h("ion-content", { key: '18749c394b34c8f568a1e280e1a19f3a46545a61' }, h("ion-list", { key: '8f84ca4450d196bcd000eecb532d0766a840755d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
81
81
  }
82
82
  static get is() { return "ion-select-modal"; }
83
83
  static get encapsulation() { return "scoped"; }
@@ -85,14 +85,14 @@ export class SelectModal {
85
85
  return {
86
86
  "ios": ["select-modal.ios.scss"],
87
87
  "md": ["select-modal.md.scss"],
88
- "ionic": ["select-modal.md.scss"]
88
+ "ionic": ["select-modal.ionic.scss"]
89
89
  };
90
90
  }
91
91
  static get styleUrls() {
92
92
  return {
93
93
  "ios": ["select-modal.ios.css"],
94
94
  "md": ["select-modal.md.css"],
95
- "ionic": ["select-modal.md.css"]
95
+ "ionic": ["select-modal.ionic.css"]
96
96
  };
97
97
  }
98
98
  static get properties() {
@@ -15,7 +15,7 @@ export class SelectOption {
15
15
  }
16
16
  render() {
17
17
  const theme = getIonTheme(this);
18
- return (h(Host, { key: '54487af48b0482f847f6e782434ef739cde0a73e', class: {
18
+ return (h(Host, { key: 'ac13bcd1ee8b4ffd1d7ce80be242881cc126cb7a', class: {
19
19
  [theme]: true,
20
20
  }, role: "option", id: this.inputId }));
21
21
  }
@@ -106,9 +106,9 @@ export class SelectPopover {
106
106
  const { header, message, options, subHeader } = this;
107
107
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
108
108
  const theme = getIonTheme(this);
109
- return (h(Host, { key: 'e926e43a2e2a191d413ea8288a4785641ec46f8d', class: {
109
+ return (h(Host, { key: '165cfd34fb0bc0cada6ef2cf5de6ba9dfd4f4416', class: {
110
110
  [theme]: true,
111
- } }, h("ion-list", { key: '8d3ec54cb1a6ef1a6af4973d306ebccdf41d3f96' }, header !== undefined && h("ion-list-header", { key: 'f9d6efb98f1b020a98bec431d683e65215f070be' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '5276388ce33a9d43ab75b7cd466cca634ffa9f85' }, h("ion-label", { key: '72572f777f72a3f15fc6f25a29c5dbacc4a42617', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: '021b5b51cb3bac8ae8325e5f763db78a93833ad0' }, subHeader), message !== undefined && h("p", { key: '684bb4655de6fdc2150c0a76f0ceeb14b7f4e55b' }, message)))), this.renderOptions(options))));
111
+ } }, h("ion-list", { key: '50c27cf2f57036deca42c50cad9968e7ab98ba38' }, header !== undefined && h("ion-list-header", { key: '4e2993d4eb9d72440e0838111d08536e9117289a' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'cec715effe534af3fb8e590bed3955a07fac2683' }, h("ion-label", { key: 'cce3fdc3c2ace609f221c546671fb698eeb17e79', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: '5a5615928a5b27bb7eb6998e3e207e8e13bcc058' }, subHeader), message !== undefined && h("p", { key: '16a6625a710a2e65578f55306615dfefce1cba69' }, message)))), this.renderOptions(options))));
112
112
  }
113
113
  static get is() { return "ion-select-popover"; }
114
114
  static get encapsulation() { return "scoped"; }
@@ -29,11 +29,11 @@ export class SkeletonText {
29
29
  const animated = this.animated && config.getBoolean('animated', true);
30
30
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
31
31
  const theme = getIonTheme(this);
32
- return (h(Host, { key: '70efd9086ef58705a965a63aa3e5ac775757dc85', class: {
32
+ return (h(Host, { key: '4aaca37db97d932fcd589c69c6ebc2c9b164c0f4', class: {
33
33
  [theme]: true,
34
34
  'skeleton-text-animated': animated,
35
35
  'in-media': inMedia,
36
- } }, h("span", { key: '296246a88e33e0106045bec2f64738f48593ba12' }, "\u00A0")));
36
+ } }, h("span", { key: '900fc5602bc6668e0c48bb83e16d5db27eefa5e7' }, "\u00A0")));
37
37
  }
38
38
  static get is() { return "ion-skeleton-text"; }
39
39
  static get encapsulation() { return "shadow"; }
@@ -57,7 +57,7 @@ export class Spinner {
57
57
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
58
58
  }
59
59
  }
60
- return (h(Host, { key: 'e6d6c81972147b610b468cfb8535d4c4acd0911c', class: createColorClasses(self.color, {
60
+ return (h(Host, { key: 'c0957bd1327b21ccda55ab584ab36fbe9232b24a', class: createColorClasses(self.color, {
61
61
  [theme]: true,
62
62
  [`spinner-${spinnerName}`]: true,
63
63
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -122,12 +122,12 @@ export class SplitPane {
122
122
  }
123
123
  render() {
124
124
  const theme = getIonTheme(this);
125
- return (h(Host, { key: '2002430758c0d77fa67290d84c89a13e122cd56e', class: {
125
+ return (h(Host, { key: '756f3dfdb316b009aae067242cc7238f8233a078', class: {
126
126
  [theme]: true,
127
127
  // Used internally for styling
128
128
  [`split-pane-${theme}`]: true,
129
129
  'split-pane-visible': this.visible,
130
- } }, h("slot", { key: '311917f6487bc42695f983ff7024e2fbc5b85f57' })));
130
+ } }, h("slot", { key: '0d2703bee51619e96cf8c418ef3d063c7e647130' })));
131
131
  }
132
132
  static get is() { return "ion-split-pane"; }
133
133
  static get encapsulation() { return "shadow"; }
@@ -52,10 +52,10 @@ export class Tab {
52
52
  }
53
53
  render() {
54
54
  const { tab, active, component } = this;
55
- return (h(Host, { key: '94e7961359b6ee01e5be26be130505cc41fa62f3', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
55
+ return (h(Host, { key: '3add3b271d2125ca7400923076f4f5e970b8db96', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
56
56
  'ion-page': component === undefined,
57
57
  'tab-hidden': !active,
58
- } }, h("slot", { key: '0b24cddb59292470bf6a631c8ee295267c8d68b2' })));
58
+ } }, h("slot", { key: '3834ce729bbf2df19e969fe6d3bdbdf138fb0574' })));
59
59
  }
60
60
  static get is() { return "ion-tab"; }
61
61
  static get encapsulation() { return "shadow"; }