@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.
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +18 -6
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +3 -3
- package/components/ion-thumbnail.js +2 -2
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/item.js +1 -1
- package/components/radio.js +3 -3
- package/components/select-modal.js +3 -3
- package/components/select-popover.js +2 -2
- package/components/spinner.js +1 -1
- package/components/title.js +2 -2
- package/components/toolbar.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
- package/dist/cjs/ion-select_3.cjs.entry.js +21 -9
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
- package/dist/collection/components/item/item.ionic.css +0 -4
- package/dist/collection/components/radio/radio.ionic.css +6 -0
- package/dist/collection/components/radio/radio.ios.css +6 -6
- package/dist/collection/components/radio/radio.md.css +6 -6
- package/dist/collection/components/select/select.ionic.css +685 -0
- package/dist/collection/components/select/select.ios.css +148 -101
- package/dist/collection/components/select/select.js +16 -4
- package/dist/collection/components/select/select.md.css +140 -215
- package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
- package/dist/collection/components/select-modal/select-modal.js +3 -3
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +2 -2
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +3 -3
- package/dist/collection/components/thumbnail/thumbnail.js +2 -2
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/docs.json +1 -1
- package/dist/esm/ion-app_8.entry.js +4 -4
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-select-modal.entry.js +3 -3
- package/dist/esm/ion-select_3.entry.js +21 -9
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +3 -3
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +3 -3
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.entry.js +1 -1
- package/dist/esm-es5/ion-select-modal.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-text.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-0e80425f.system.entry.js +4 -0
- package/dist/ionic/{p-5e9730c2.entry.js → p-18892506.entry.js} +1 -1
- package/dist/ionic/p-25413edd.entry.js +4 -0
- package/dist/ionic/{p-578a8bdf.entry.js → p-29ca4da2.entry.js} +1 -1
- package/dist/ionic/{p-f83d18c1.entry.js → p-2e4c7fa3.entry.js} +1 -1
- package/dist/ionic/{p-fc8359aa.system.entry.js → p-398b00a5.system.entry.js} +1 -1
- package/dist/ionic/{p-08b2ba53.system.entry.js → p-5684893b.system.entry.js} +1 -1
- package/dist/ionic/{p-211b0fba.system.entry.js → p-5a1979e0.system.entry.js} +1 -1
- package/dist/ionic/{p-430d860e.entry.js → p-67f3ed57.entry.js} +1 -1
- package/dist/ionic/p-6a77b55a.entry.js +4 -0
- package/dist/ionic/{p-055ae36e.system.entry.js → p-787c1bd0.system.entry.js} +1 -1
- package/dist/ionic/{p-1fba8e90.system.entry.js → p-815f649a.system.entry.js} +1 -1
- package/dist/ionic/p-954d0d7c.system.entry.js +4 -0
- package/dist/ionic/p-9ac1a506.system.js +1 -1
- package/dist/ionic/{p-ea0b8c64.system.entry.js → p-a58b94c6.system.entry.js} +1 -1
- package/dist/ionic/p-a98061d0.entry.js +4 -0
- package/dist/ionic/{p-699c1e19.entry.js → p-adc0276b.entry.js} +1 -1
- package/dist/ionic/{p-f09c06e8.entry.js → p-c3ae4bcf.entry.js} +1 -1
- package/dist/ionic/{p-7557a7de.system.entry.js → p-c5226e15.system.entry.js} +1 -1
- package/dist/ionic/{p-ce46d44a.entry.js → p-cad8a848.entry.js} +1 -1
- package/dist/ionic/p-cf3dad24.entry.js +4 -0
- package/dist/ionic/p-df9c6620.system.entry.js +4 -0
- package/dist/ionic/{p-3f1e20d1.system.entry.js → p-ea98a10a.system.entry.js} +1 -1
- package/dist/ionic/{p-2978f27e.entry.js → p-eb4ba253.entry.js} +1 -1
- package/dist/ionic/{p-d7894208.entry.js → p-ee17be82.entry.js} +1 -1
- package/dist/ionic/p-ef60ee95.entry.js +4 -0
- package/dist/ionic/p-f1c1b477.system.entry.js +4 -0
- package/dist/ionic/{p-31fa1052.system.entry.js → p-f25ad420.system.entry.js} +1 -1
- package/dist/ionic/{p-3fc0ba02.system.entry.js → p-fff78cd2.system.entry.js} +1 -1
- package/hydrate/index.js +56 -44
- package/hydrate/index.mjs +56 -44
- package/package.json +1 -1
- package/dist/ionic/p-043483dc.entry.js +0 -4
- package/dist/ionic/p-06ca2619.system.entry.js +0 -4
- package/dist/ionic/p-35362c9f.entry.js +0 -4
- package/dist/ionic/p-458a2899.entry.js +0 -4
- package/dist/ionic/p-4edc0fda.system.entry.js +0 -4
- package/dist/ionic/p-6f941957.entry.js +0 -4
- package/dist/ionic/p-74a20601.system.entry.js +0 -4
- package/dist/ionic/p-a42eccfb.entry.js +0 -4
- 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
|
-
*
|
|
587
|
-
*
|
|
588
|
-
*
|
|
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
|
-
*
|
|
609
|
-
*
|
|
610
|
-
*
|
|
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
|
-
*
|
|
617
|
-
*
|
|
618
|
-
*
|
|
619
|
-
*
|
|
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
|
-
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
*
|
|
629
|
-
*
|
|
630
|
-
*
|
|
631
|
-
*
|
|
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
|
-
*
|
|
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: '
|
|
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.
|
|
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.
|
|
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: '
|
|
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: '
|
|
109
|
+
return (h(Host, { key: '165cfd34fb0bc0cada6ef2cf5de6ba9dfd4f4416', class: {
|
|
110
110
|
[theme]: true,
|
|
111
|
-
} }, h("ion-list", { key: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
58
|
+
} }, h("slot", { key: '3834ce729bbf2df19e969fe6d3bdbdf138fb0574' })));
|
|
59
59
|
}
|
|
60
60
|
static get is() { return "ion-tab"; }
|
|
61
61
|
static get encapsulation() { return "shadow"; }
|