@ionic/core 8.2.3-dev.11721064272.19e3ddfd → 8.2.3-dev.11721225504.1476a6ac

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 (175) hide show
  1. package/components/ion-avatar.js +3 -3
  2. package/components/ion-badge.js +3 -3
  3. package/components/ion-input.js +1 -1
  4. package/components/ion-segment.js +3 -11
  5. package/components/ion-select-option.js +1 -1
  6. package/components/ion-select.js +2 -2
  7. package/components/ion-skeleton-text.js +2 -2
  8. package/components/ion-split-pane.js +2 -2
  9. package/components/ion-tab-bar.js +2 -2
  10. package/components/ion-tab-button.js +2 -2
  11. package/components/ion-tab.js +2 -2
  12. package/components/ion-tabs.js +1 -1
  13. package/components/ion-text.js +2 -2
  14. package/components/ion-textarea.js +2 -2
  15. package/components/ion-thumbnail.js +2 -2
  16. package/components/ion-title.js +2 -2
  17. package/components/ion-toast.js +2 -2
  18. package/components/ion-toggle.js +3 -3
  19. package/components/ion-toolbar.js +2 -2
  20. package/components/item.js +3 -3
  21. package/components/select-popover.js +2 -2
  22. package/components/spinner.js +33 -6
  23. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  24. package/dist/cjs/ion-avatar_3.cjs.entry.js +8 -8
  25. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-item_8.cjs.entry.js +5 -5
  27. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -11
  28. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  29. package/dist/cjs/ion-spinner.cjs.entry.js +30 -4
  30. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  32. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  33. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  37. package/dist/cjs/ionic.cjs.js +1 -1
  38. package/dist/cjs/loader.cjs.js +1 -1
  39. package/dist/collection/collection-manifest.json +0 -2
  40. package/dist/collection/components/avatar/avatar.ionic.css +17 -1
  41. package/dist/collection/components/avatar/avatar.js +5 -5
  42. package/dist/collection/components/avatar/test/shape/avatar.e2e.js +7 -0
  43. package/dist/collection/components/avatar/test/size/avatar.e2e.js +27 -0
  44. package/dist/collection/components/badge/badge.ionic.css +32 -37
  45. package/dist/collection/components/badge/badge.ios.css +94 -3
  46. package/dist/collection/components/badge/badge.md.css +94 -3
  47. package/dist/collection/components/button/test/outline/button.e2e.js +1 -2
  48. package/dist/collection/components/input/input.ionic.css +2 -1
  49. package/dist/collection/components/item/item.ionic.css +359 -65
  50. package/dist/collection/components/item/item.ios.css +94 -67
  51. package/dist/collection/components/item/item.md.css +94 -67
  52. package/dist/collection/components/segment/segment.js +3 -11
  53. package/dist/collection/components/select/select.js +2 -2
  54. package/dist/collection/components/select-option/select-option.js +1 -1
  55. package/dist/collection/components/select-popover/select-popover.js +2 -2
  56. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  57. package/dist/collection/components/spinner/spinner.common.css +199 -0
  58. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +55 -0
  59. package/dist/collection/components/spinner/spinner.js +40 -3
  60. package/dist/collection/components/spinner/test/size/spinner.e2e.js +47 -0
  61. package/dist/collection/components/split-pane/split-pane.js +2 -2
  62. package/dist/collection/components/tab/tab.js +2 -2
  63. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  64. package/dist/collection/components/tab-button/tab-button.js +2 -2
  65. package/dist/collection/components/tabs/tabs.js +1 -1
  66. package/dist/collection/components/text/text.js +2 -2
  67. package/dist/collection/components/textarea/textarea.js +2 -2
  68. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  69. package/dist/collection/components/title/title.js +2 -2
  70. package/dist/collection/components/toast/toast.js +2 -2
  71. package/dist/collection/components/toggle/toggle.js +3 -3
  72. package/dist/collection/components/toolbar/toolbar.js +2 -2
  73. package/dist/docs.json +190 -48
  74. package/dist/esm/ion-app_8.entry.js +4 -4
  75. package/dist/esm/ion-avatar_3.entry.js +8 -8
  76. package/dist/esm/ion-input.entry.js +1 -1
  77. package/dist/esm/ion-item_8.entry.js +5 -5
  78. package/dist/esm/ion-segment_2.entry.js +3 -11
  79. package/dist/esm/ion-select_3.entry.js +5 -5
  80. package/dist/esm/ion-spinner.entry.js +30 -4
  81. package/dist/esm/ion-split-pane.entry.js +2 -2
  82. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  83. package/dist/esm/ion-tab_2.entry.js +3 -3
  84. package/dist/esm/ion-text.entry.js +2 -2
  85. package/dist/esm/ion-textarea.entry.js +2 -2
  86. package/dist/esm/ion-toast.entry.js +2 -2
  87. package/dist/esm/ion-toggle.entry.js +3 -3
  88. package/dist/esm/ionic.js +1 -1
  89. package/dist/esm/loader.js +1 -1
  90. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  91. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  92. package/dist/esm-es5/ion-input.entry.js +1 -1
  93. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  94. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  95. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  96. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  97. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  98. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  99. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  100. package/dist/esm-es5/ion-text.entry.js +1 -1
  101. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  102. package/dist/esm-es5/ion-toast.entry.js +1 -1
  103. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  104. package/dist/esm-es5/ionic.js +1 -1
  105. package/dist/esm-es5/loader.js +1 -1
  106. package/dist/html.html-data.json +25 -29
  107. package/dist/ionic/ionic.esm.js +1 -1
  108. package/dist/ionic/{p-29f4100d.entry.js → p-01ae1aa0.entry.js} +1 -1
  109. package/dist/ionic/p-1be0295f.entry.js +4 -0
  110. package/dist/ionic/p-201d8768.system.entry.js +4 -0
  111. package/dist/ionic/{p-062c1cb9.system.entry.js → p-223bc7dd.system.entry.js} +1 -1
  112. package/dist/ionic/{p-0595a36c.system.entry.js → p-24592a4d.system.entry.js} +1 -1
  113. package/dist/ionic/{p-2aa6a169.entry.js → p-28649e61.entry.js} +1 -1
  114. package/dist/ionic/{p-385a361b.entry.js → p-39a39279.entry.js} +1 -1
  115. package/dist/ionic/p-3ce954c7.entry.js +4 -0
  116. package/dist/ionic/p-40c14f53.system.entry.js +4 -0
  117. package/dist/ionic/{p-cd6d4c1d.entry.js → p-4346453b.entry.js} +1 -1
  118. package/dist/ionic/{p-1be0ed0e.system.entry.js → p-45ca3acb.system.entry.js} +2 -2
  119. package/dist/ionic/p-4b9c6418.system.entry.js +4 -0
  120. package/dist/ionic/p-563a8d3b.entry.js +4 -0
  121. package/dist/ionic/{p-b67ed806.system.entry.js → p-56c72f65.system.entry.js} +1 -1
  122. package/dist/ionic/{p-da668343.system.entry.js → p-7ab9c88c.system.entry.js} +1 -1
  123. package/dist/ionic/p-7b590e46.system.js +1 -1
  124. package/dist/ionic/{p-c0dace15.system.entry.js → p-7dad531c.system.entry.js} +1 -1
  125. package/dist/ionic/p-85ca50a9.system.entry.js +4 -0
  126. package/dist/ionic/p-8ac5efa9.entry.js +4 -0
  127. package/dist/ionic/p-a0b51978.system.entry.js +4 -0
  128. package/dist/ionic/p-a6bb62ea.entry.js +4 -0
  129. package/dist/ionic/p-ae79f1e2.entry.js +4 -0
  130. package/dist/ionic/{p-aaf1b71f.entry.js → p-b374abe2.entry.js} +1 -1
  131. package/dist/ionic/{p-61f51286.system.entry.js → p-b5cc6e57.system.entry.js} +1 -1
  132. package/dist/ionic/p-bbefc52b.system.entry.js +4 -0
  133. package/dist/ionic/{p-adb54d5b.entry.js → p-c23822f8.entry.js} +1 -1
  134. package/dist/ionic/{p-14ae725a.entry.js → p-d2a580db.entry.js} +1 -1
  135. package/dist/ionic/p-dc8a3888.entry.js +4 -0
  136. package/dist/ionic/{p-5cc8fa7f.system.entry.js → p-f84ea1e9.system.entry.js} +1 -1
  137. package/dist/types/components/avatar/avatar.d.ts +7 -4
  138. package/dist/types/components/segment/segment.d.ts +1 -1
  139. package/dist/types/components/spinner/spinner.d.ts +11 -0
  140. package/dist/types/components.d.ts +12 -30
  141. package/hydrate/index.js +77 -151
  142. package/package.json +1 -1
  143. package/components/ion-segment-content.d.ts +0 -11
  144. package/components/ion-segment-content.js +0 -38
  145. package/components/ion-segment-view.d.ts +0 -11
  146. package/components/ion-segment-view.js +0 -86
  147. package/dist/cjs/ion-segment-content.cjs.entry.js +0 -24
  148. package/dist/cjs/ion-segment-view.cjs.entry.js +0 -72
  149. package/dist/collection/components/segment-content/segment-content.css +0 -5
  150. package/dist/collection/components/segment-content/segment-content.js +0 -22
  151. package/dist/collection/components/segment-view/segment-view.css +0 -15
  152. package/dist/collection/components/segment-view/segment-view.js +0 -81
  153. package/dist/esm/ion-segment-content.entry.js +0 -20
  154. package/dist/esm/ion-segment-view.entry.js +0 -68
  155. package/dist/esm-es5/ion-segment-content.entry.js +0 -4
  156. package/dist/esm-es5/ion-segment-view.entry.js +0 -4
  157. package/dist/ionic/p-07b804ba.entry.js +0 -4
  158. package/dist/ionic/p-405559bd.entry.js +0 -4
  159. package/dist/ionic/p-5839776e.entry.js +0 -4
  160. package/dist/ionic/p-660cf6f3.system.entry.js +0 -4
  161. package/dist/ionic/p-6ced0cc0.entry.js +0 -4
  162. package/dist/ionic/p-6d4534cb.system.entry.js +0 -4
  163. package/dist/ionic/p-72944d53.system.entry.js +0 -4
  164. package/dist/ionic/p-7813dead.system.entry.js +0 -4
  165. package/dist/ionic/p-833593dd.entry.js +0 -4
  166. package/dist/ionic/p-8ef82205.entry.js +0 -4
  167. package/dist/ionic/p-9316e014.system.entry.js +0 -4
  168. package/dist/ionic/p-a2830649.system.entry.js +0 -4
  169. package/dist/ionic/p-aa246404.entry.js +0 -4
  170. package/dist/ionic/p-aa97948b.entry.js +0 -4
  171. package/dist/ionic/p-c6e43624.entry.js +0 -4
  172. package/dist/ionic/p-f1eb1152.system.entry.js +0 -4
  173. package/dist/ionic/p-f8a16486.system.entry.js +0 -4
  174. package/dist/types/components/segment-content/segment-content.d.ts +0 -5
  175. package/dist/types/components/segment-view/segment-view.d.ts +0 -13
@@ -1,3 +1,350 @@
1
+ /**
2
+ * A heuristic that applies CSS to tablet
3
+ * viewports.
4
+ *
5
+ * Usage:
6
+ * @include tablet-viewport() {
7
+ * :host {
8
+ * background-color: green;
9
+ * }
10
+ * }
11
+ */
12
+ /**
13
+ * A heuristic that applies CSS to mobile
14
+ * viewports (i.e. phones, not tablets).
15
+ *
16
+ * Usage:
17
+ * @include mobile-viewport() {
18
+ * :host {
19
+ * background-color: blue;
20
+ * }
21
+ * }
22
+ */
23
+ :host {
24
+ /**
25
+ * @prop --background: Background of the item
26
+ * @prop --background-activated: Background of the item when pressed. Note: setting this will interfere with the Material Design ripple.
27
+ * @prop --background-activated-opacity: Opacity of the item background when pressed
28
+ * @prop --background-focused: Background of the item when focused with the tab key
29
+ * @prop --background-focused-opacity: Opacity of the item background when focused with the tab key
30
+ * @prop --background-hover: Background of the item on hover
31
+ * @prop --background-hover-opacity: Opacity of the background of the item on hover
32
+ *
33
+ * @prop --border-color: Color of the item border
34
+ * @prop --border-radius: Radius of the item border
35
+ * @prop --border-style: Style of the item border
36
+ * @prop --border-width: Width of the item border
37
+ *
38
+ * @prop --color: Color of the item
39
+ * @prop --color-activated: Color of the item when pressed
40
+ * @prop --color-focused: Color of the item when focused with the tab key
41
+ * @prop --color-hover: Color of the item on hover
42
+ *
43
+ * @prop --detail-icon-color: Color of the item detail icon
44
+ * @prop --detail-icon-opacity: Opacity of the item detail icon
45
+ * @prop --detail-icon-font-size: Font size of the item detail icon
46
+ *
47
+ * @prop --inner-border-width: Width of the item inner border
48
+ * @prop --inner-box-shadow: Box shadow of the item inner
49
+ * @prop --inner-padding-top: Top padding of the item inner
50
+ * @prop --inner-padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the item inner
51
+ * @prop --inner-padding-bottom: Bottom padding of the item inner
52
+ * @prop --inner-padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the item inner
53
+ *
54
+ * @prop --min-height: Minimum height of the item
55
+ *
56
+ * @prop --padding-bottom: Bottom padding of the item
57
+ * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the item
58
+ * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the item
59
+ * @prop --padding-top: Top padding of the item
60
+ *
61
+ * @prop --transition: Transition of the item
62
+ *
63
+ * @prop --ripple-color: Color of the item ripple effect
64
+ *
65
+ */
66
+ --border-radius: 0px;
67
+ --border-width: 0px;
68
+ --border-style: solid;
69
+ --padding-top: 0px;
70
+ --padding-bottom: 0px;
71
+ --padding-end: 0px;
72
+ --padding-start: 0px;
73
+ --inner-border-width: 0px;
74
+ --inner-padding-top: 0px;
75
+ --inner-padding-bottom: 0px;
76
+ --inner-padding-start: 0px;
77
+ --inner-padding-end: 0px;
78
+ --inner-box-shadow: none;
79
+ --detail-icon-color: initial;
80
+ --detail-icon-font-size: 1.25em;
81
+ --detail-icon-opacity: 0.25;
82
+ --color-activated: var(--color);
83
+ --color-focused: var(--color);
84
+ --color-hover: var(--color);
85
+ --ripple-color: currentColor;
86
+ -moz-osx-font-smoothing: grayscale;
87
+ -webkit-font-smoothing: antialiased;
88
+ display: block;
89
+ position: relative;
90
+ align-items: center;
91
+ justify-content: space-between;
92
+ outline: none;
93
+ color: var(--color);
94
+ text-align: initial;
95
+ text-decoration: none;
96
+ overflow: hidden;
97
+ box-sizing: border-box;
98
+ }
99
+
100
+ :host(.ion-activated) .item-native {
101
+ color: var(--color-activated);
102
+ }
103
+ :host(.ion-activated) .item-native::after {
104
+ background: var(--background-activated);
105
+ opacity: var(--background-activated-opacity);
106
+ }
107
+
108
+ :host(.ion-focused) .item-native {
109
+ color: var(--color-focused);
110
+ }
111
+ :host(.ion-focused) .item-native::after {
112
+ background: var(--background-focused);
113
+ opacity: var(--background-focused-opacity);
114
+ }
115
+
116
+ @media (any-hover: hover) {
117
+ :host(.ion-activatable:not(.ion-focused):hover) .item-native {
118
+ color: var(--color-hover);
119
+ }
120
+ :host(.ion-activatable:not(.ion-focused):hover) .item-native::after {
121
+ background: var(--background-hover);
122
+ opacity: var(--background-hover-opacity);
123
+ }
124
+ }
125
+ :host(.item-control-needs-pointer-cursor) {
126
+ cursor: pointer;
127
+ }
128
+
129
+ :host(.item-interactive-disabled:not(.item-multiple-inputs)) {
130
+ cursor: default;
131
+ pointer-events: none;
132
+ }
133
+
134
+ :host(.item-disabled) {
135
+ cursor: default;
136
+ opacity: 0.3;
137
+ pointer-events: none;
138
+ }
139
+
140
+ .item-native {
141
+ border-radius: var(--border-radius);
142
+ margin-left: 0;
143
+ margin-right: 0;
144
+ margin-top: 0;
145
+ margin-bottom: 0;
146
+ padding-top: var(--padding-top);
147
+ padding-bottom: var(--padding-bottom);
148
+ color: inherit;
149
+ font-family: inherit;
150
+ font-size: inherit;
151
+ font-style: inherit;
152
+ font-weight: inherit;
153
+ letter-spacing: inherit;
154
+ text-align: inherit;
155
+ text-decoration: inherit;
156
+ text-indent: inherit;
157
+ text-overflow: inherit;
158
+ text-transform: inherit;
159
+ white-space: inherit;
160
+ /* stylelint-disable */
161
+ padding-right: var(--padding-end);
162
+ padding-left: calc(var(--padding-start) + var(--ion-safe-area-left, 0px));
163
+ /* stylelint-enable */
164
+ display: flex;
165
+ position: relative;
166
+ align-items: inherit;
167
+ justify-content: inherit;
168
+ width: 100%;
169
+ min-height: var(--min-height);
170
+ transition: var(--transition);
171
+ border-width: var(--border-width);
172
+ border-style: var(--border-style);
173
+ border-color: var(--border-color);
174
+ outline: none;
175
+ background: var(--background);
176
+ overflow: inherit;
177
+ z-index: 1;
178
+ box-sizing: border-box;
179
+ }
180
+ :host-context([dir=rtl]) .item-native {
181
+ padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
182
+ padding-left: var(--padding-end);
183
+ }
184
+
185
+ [dir=rtl] .item-native {
186
+ padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
187
+ padding-left: var(--padding-end);
188
+ }
189
+
190
+ @supports selector(:dir(rtl)) {
191
+ .item-native:dir(rtl) {
192
+ padding-right: calc(var(--padding-start) + var(--ion-safe-area-right, 0px));
193
+ padding-left: var(--padding-end);
194
+ }
195
+ }
196
+
197
+ .item-native::-moz-focus-inner {
198
+ border: 0;
199
+ }
200
+
201
+ .item-native::after {
202
+ right: 0;
203
+ left: 0;
204
+ top: 0;
205
+ bottom: 0;
206
+ position: absolute;
207
+ content: "";
208
+ opacity: 0;
209
+ transition: var(--transition);
210
+ z-index: -1;
211
+ }
212
+
213
+ button,
214
+ a {
215
+ cursor: pointer;
216
+ user-select: none;
217
+ -webkit-user-drag: none;
218
+ }
219
+
220
+ .item-inner {
221
+ margin-left: 0;
222
+ margin-right: 0;
223
+ margin-top: 0;
224
+ margin-bottom: 0;
225
+ padding-top: var(--inner-padding-top);
226
+ padding-bottom: var(--inner-padding-bottom);
227
+ /* stylelint-disable */
228
+ padding-right: calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));
229
+ padding-left: var(--inner-padding-start);
230
+ /* stylelint-enable */
231
+ display: flex;
232
+ position: relative;
233
+ flex: 1;
234
+ flex-direction: inherit;
235
+ align-items: inherit;
236
+ align-self: stretch;
237
+ min-height: inherit;
238
+ border-width: var(--inner-border-width);
239
+ border-style: var(--border-style);
240
+ border-color: var(--border-color);
241
+ box-shadow: var(--inner-box-shadow);
242
+ overflow: inherit;
243
+ box-sizing: border-box;
244
+ }
245
+ :host-context([dir=rtl]) .item-inner {
246
+ padding-right: var(--inner-padding-start);
247
+ padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
248
+ }
249
+
250
+ [dir=rtl] .item-inner {
251
+ padding-right: var(--inner-padding-start);
252
+ padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
253
+ }
254
+
255
+ @supports selector(:dir(rtl)) {
256
+ .item-inner:dir(rtl) {
257
+ padding-right: var(--inner-padding-start);
258
+ padding-left: calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end));
259
+ }
260
+ }
261
+
262
+ .item-detail-icon {
263
+ /**
264
+ * IonItem applies its own end padding. However,
265
+ * all IonIcons have the same bounding box meaning
266
+ * there may be white space for narrow icons. As
267
+ * a result, the white space gives the appearance
268
+ * that there is too much end margin. We move the default
269
+ * chevron icon over to account for this extra whitespace.
270
+ */
271
+ -webkit-margin-start: calc(var(--inner-padding-end) / 2);
272
+ margin-inline-start: calc(var(--inner-padding-end) / 2);
273
+ -webkit-margin-end: -6px;
274
+ margin-inline-end: -6px;
275
+ color: var(--detail-icon-color);
276
+ font-size: var(--detail-icon-font-size);
277
+ opacity: var(--detail-icon-opacity);
278
+ }
279
+
280
+ ::slotted(ion-icon) {
281
+ font-size: 1.6em;
282
+ }
283
+
284
+ ::slotted(ion-button) {
285
+ --margin-top: 0;
286
+ --margin-bottom: 0;
287
+ --margin-start: 0;
288
+ --margin-end: 0;
289
+ z-index: 1;
290
+ }
291
+
292
+ ::slotted(ion-label:not([slot=end])) {
293
+ flex: 1;
294
+ width: min-content;
295
+ /**
296
+ * We allow labels in the default
297
+ * slot to grow. However, we do not
298
+ * want them to grow indefinitely.
299
+ */
300
+ max-width: 100%;
301
+ }
302
+
303
+ :host(.item-input) {
304
+ align-items: center;
305
+ }
306
+
307
+ .input-wrapper {
308
+ display: flex;
309
+ flex: 1;
310
+ flex-direction: inherit;
311
+ align-items: inherit;
312
+ align-self: stretch;
313
+ text-overflow: ellipsis;
314
+ overflow: inherit;
315
+ box-sizing: border-box;
316
+ }
317
+
318
+ :host(.item-label-stacked),
319
+ :host(.item-label-floating) {
320
+ align-items: start;
321
+ }
322
+
323
+ :host(.item-label-stacked) .input-wrapper,
324
+ :host(.item-label-floating) .input-wrapper {
325
+ flex: 1;
326
+ flex-direction: column;
327
+ }
328
+
329
+ :host(.item-multiple-inputs) ::slotted(ion-checkbox),
330
+ :host(.item-multiple-inputs) ::slotted(ion-datetime),
331
+ :host(.item-multiple-inputs) ::slotted(ion-radio) {
332
+ position: relative;
333
+ }
334
+
335
+ :host(.item-textarea) {
336
+ align-items: stretch;
337
+ }
338
+
339
+ ::slotted(ion-reorder[slot]) {
340
+ margin-top: 0;
341
+ margin-bottom: 0;
342
+ }
343
+
344
+ ion-ripple-effect {
345
+ color: var(--ripple-color);
346
+ }
347
+
1
348
  /**
2
349
  * Convert a pixels given value into rem
3
350
  *
@@ -64,98 +411,45 @@
64
411
  * convert to a unit other than $baselineUnit.
65
412
  */
66
413
  :host {
67
- /**
68
- * @prop --background: Background of the item
69
- * @prop --background-activated: Background of the item when pressed. Note: setting this will interfere with the Material Design ripple.
70
- *
71
- * @prop --border-color: Color of the item border
72
- * @prop --border-style: Style of the item border
73
- * @prop --border-width: Width of the item border
74
- *
75
- * @prop --min-height: Minimum height of the item
76
- *
77
- * @prop --padding-bottom: Bottom padding of the item
78
- * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the item
79
- * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the item
80
- * @prop --padding-top: Top padding of the item
81
- *
82
- */
83
414
  --background: var(--ionic-color-base-white, #ffffff);
84
415
  --background-activated: var(--ionic-color-neutral-200, #e7e7e7);
85
416
  --border-color: var(--ionic-color-neutral-300, #cfcfcf);
86
417
  --border-style: var(--ionic-border-style-solid, solid);
87
- --border-width: var(--ionic-border-size-025, 1px);
418
+ --border-width: 0 0 var(--ionic-border-size-025, 1px) 0;
88
419
  --min-height: var(--ionic-scale-1800, 72px);
89
420
  --padding-top: var(--ionic-space-200, 8px);
90
421
  --padding-end: var(--ionic-space-400, 16px);
91
422
  --padding-bottom: var(--ionic-space-200, 8px);
92
423
  --padding-start: var(--ionic-space-400, 16px);
93
- -moz-osx-font-smoothing: grayscale;
94
- -webkit-font-smoothing: antialiased;
95
- display: flex;
96
- position: relative;
97
- align-items: center;
98
- justify-content: space-between;
99
- outline: none;
100
424
  font-family: var(--ionic-font-family, "Inter", sans-serif);
101
- text-align: initial;
102
- text-decoration: none;
103
- overflow: hidden;
104
- box-sizing: border-box;
105
425
  }
106
426
 
107
- .item-native {
108
- -webkit-padding-start: var(--padding-start);
109
- padding-inline-start: var(--padding-start);
110
- -webkit-padding-end: var(--padding-end);
111
- padding-inline-end: var(--padding-end);
112
- padding-top: var(--padding-top);
113
- padding-bottom: var(--padding-bottom);
114
- display: flex;
115
- align-items: center;
116
- width: 100%;
117
- min-height: var(--min-height);
118
- border-bottom-width: var(--border-width);
119
- border-bottom-style: var(--border-style);
120
- border-bottom-color: var(--border-color);
121
- background: var(--background);
122
- overflow: inherit;
123
- box-sizing: border-box;
427
+ .item-inner {
428
+ min-height: initial;
124
429
  }
125
- .item-native slot[name=start]::slotted(*) {
430
+
431
+ slot[name=start]::slotted(*) {
126
432
  -webkit-margin-end: var(--ionic-space-400, 16px);
127
433
  margin-inline-end: var(--ionic-space-400, 16px);
128
434
  }
129
- .item-native slot[name=end]::slotted(*) {
435
+
436
+ slot[name=end]::slotted(*) {
130
437
  -webkit-margin-start: var(--ionic-space-400, 16px);
131
438
  margin-inline-start: var(--ionic-space-400, 16px);
132
439
  }
133
- .item-native .item-inner,
134
- .item-native .item-inner .input-wrapper {
135
- display: flex;
136
- flex: 1;
137
- overflow: inherit;
138
- box-sizing: border-box;
139
- }
140
440
 
141
441
  :host(.item-disabled) {
142
- cursor: default;
143
- pointer-events: none;
144
- }
145
- :host(.item-disabled)::after {
146
- right: 0;
147
- left: 0;
148
- top: 0;
149
- bottom: 0;
150
- position: absolute;
151
- background: var(--ionic-state-disabled, rgba(255, 255, 255, 0.6));
152
- content: "";
442
+ opacity: 0.6;
153
443
  }
154
444
 
155
445
  :host(.ion-activated) .item-native {
156
446
  background: var(--background-activated);
157
447
  }
158
448
 
449
+ :host(.ion-focused) .item-native {
450
+ overflow: visible;
451
+ }
452
+
159
453
  :host(.ion-focused) .item-native::after {
160
454
  right: 0;
161
455
  left: 0;
@@ -1,42 +1,3 @@
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
- * Convert a font size to a dynamic font size.
9
- * Fonts that participate in Dynamic Type should use
10
- * dynamic font sizes.
11
- * @param size - The initial font size including the unit (i.e. px or pt)
12
- * @param unit (optional) - The unit to convert to. Use this if you want to
13
- * convert to a unit other than $baselineUnit.
14
- */
15
- /**
16
- * Convert a font size to a dynamic font size but impose
17
- * a maximum font size.
18
- * @param size - The initial font size including the unit (i.e. px or pt)
19
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
20
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
21
- * convert to a unit other than $baselineUnit.
22
- */
23
- /**
24
- * Convert a font size to a dynamic font size but impose
25
- * a minimum font size.
26
- * @param size - The initial font size including the unit (i.e. px or pt)
27
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
28
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
29
- * convert to a unit other than $baselineUnit.
30
- */
31
- /**
32
- * Convert a font size to a dynamic font size but impose
33
- * maximum and minimum font sizes.
34
- * @param size - The initial font size including the unit (i.e. px or pt)
35
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
36
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
37
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
38
- * convert to a unit other than $baselineUnit.
39
- */
40
1
  /**
41
2
  * A heuristic that applies CSS to tablet
42
3
  * viewports.
@@ -130,23 +91,12 @@
130
91
  justify-content: space-between;
131
92
  outline: none;
132
93
  color: var(--color);
133
- font-family: var(--ion-font-family, inherit);
134
94
  text-align: initial;
135
95
  text-decoration: none;
136
96
  overflow: hidden;
137
97
  box-sizing: border-box;
138
98
  }
139
99
 
140
- :host(.ion-color) .item-native {
141
- background: var(--ion-color-base);
142
- color: var(--ion-color-contrast);
143
- }
144
-
145
- :host(.ion-color) .item-native,
146
- :host(.ion-color) .item-inner {
147
- border-color: var(--ion-color-shade);
148
- }
149
-
150
100
  :host(.ion-activated) .item-native {
151
101
  color: var(--color-activated);
152
102
  }
@@ -155,10 +105,6 @@
155
105
  opacity: var(--background-activated-opacity);
156
106
  }
157
107
 
158
- :host(.ion-color.ion-activated) .item-native {
159
- color: var(--ion-color-contrast);
160
- }
161
-
162
108
  :host(.ion-focused) .item-native {
163
109
  color: var(--color-focused);
164
110
  }
@@ -167,13 +113,6 @@
167
113
  opacity: var(--background-focused-opacity);
168
114
  }
169
115
 
170
- :host(.ion-color.ion-focused) .item-native {
171
- color: var(--ion-color-contrast);
172
- }
173
- :host(.ion-color.ion-focused) .item-native::after {
174
- background: var(--ion-color-contrast);
175
- }
176
-
177
116
  @media (any-hover: hover) {
178
117
  :host(.ion-activatable:not(.ion-focused):hover) .item-native {
179
118
  color: var(--color-hover);
@@ -182,12 +121,6 @@
182
121
  background: var(--background-hover);
183
122
  opacity: var(--background-hover-opacity);
184
123
  }
185
- :host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native {
186
- color: var(--ion-color-contrast);
187
- }
188
- :host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after {
189
- background: var(--ion-color-contrast);
190
- }
191
124
  }
192
125
  :host(.item-control-needs-pointer-cursor) {
193
126
  cursor: pointer;
@@ -412,6 +345,100 @@ ion-ripple-effect {
412
345
  color: var(--ripple-color);
413
346
  }
414
347
 
348
+ /**
349
+ * Convert a pixels given value into rem
350
+ *
351
+ * @param pixels - Value in pixels to be converted (i.e. px)
352
+ * @param context (optional) - Baseline value
353
+ */
354
+ /**
355
+ * Convert a font size to a dynamic font size.
356
+ * Fonts that participate in Dynamic Type should use
357
+ * dynamic font sizes.
358
+ * @param size - The initial font size including the unit (i.e. px or pt)
359
+ * @param unit (optional) - The unit to convert to. Use this if you want to
360
+ * convert to a unit other than $baselineUnit.
361
+ */
362
+ /**
363
+ * Convert a font size to a dynamic font size but impose
364
+ * a maximum font size.
365
+ * @param size - The initial font size including the unit (i.e. px or pt)
366
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
367
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
368
+ * convert to a unit other than $baselineUnit.
369
+ */
370
+ /**
371
+ * Convert a font size to a dynamic font size but impose
372
+ * a minimum font size.
373
+ * @param size - The initial font size including the unit (i.e. px or pt)
374
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
375
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
376
+ * convert to a unit other than $baselineUnit.
377
+ */
378
+ /**
379
+ * Convert a font size to a dynamic font size but impose
380
+ * maximum and minimum font sizes.
381
+ * @param size - The initial font size including the unit (i.e. px or pt)
382
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
383
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
384
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
385
+ * convert to a unit other than $baselineUnit.
386
+ */
387
+ /**
388
+ * A heuristic that applies CSS to tablet
389
+ * viewports.
390
+ *
391
+ * Usage:
392
+ * @include tablet-viewport() {
393
+ * :host {
394
+ * background-color: green;
395
+ * }
396
+ * }
397
+ */
398
+ /**
399
+ * A heuristic that applies CSS to mobile
400
+ * viewports (i.e. phones, not tablets).
401
+ *
402
+ * Usage:
403
+ * @include mobile-viewport() {
404
+ * :host {
405
+ * background-color: blue;
406
+ * }
407
+ * }
408
+ */
409
+ :host {
410
+ font-family: var(--ion-font-family, inherit);
411
+ }
412
+
413
+ :host(.ion-color) .item-native {
414
+ background: var(--ion-color-base);
415
+ color: var(--ion-color-contrast);
416
+ }
417
+
418
+ :host(.ion-color) .item-native,
419
+ :host(.ion-color) .item-inner {
420
+ border-color: var(--ion-color-shade);
421
+ }
422
+
423
+ :host(.ion-color.ion-activated) .item-native {
424
+ color: var(--ion-color-contrast);
425
+ }
426
+
427
+ :host(.ion-color.ion-focused) .item-native {
428
+ color: var(--ion-color-contrast);
429
+ }
430
+ :host(.ion-color.ion-focused) .item-native::after {
431
+ background: var(--ion-color-contrast);
432
+ }
433
+
434
+ @media (any-hover: hover) {
435
+ :host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native {
436
+ color: var(--ion-color-contrast);
437
+ }
438
+ :host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after {
439
+ background: var(--ion-color-contrast);
440
+ }
441
+ }
415
442
  /**
416
443
  * Convert a pixels given value into rem
417
444
  *