@ionic/core 8.5.5-dev.11744821352.11e7a84f → 8.5.5-dev.11746020351.1d3165fc

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 (226) hide show
  1. package/components/backdrop.js +3 -3
  2. package/components/button.js +3 -3
  3. package/components/ion-accordion-group.js +1 -1
  4. package/components/ion-accordion.js +1 -1
  5. package/components/ion-avatar.js +1 -1
  6. package/components/ion-badge.js +3 -3
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-input-password-toggle.js +5 -5
  9. package/components/ion-input.js +1 -1
  10. package/components/ion-item-option.js +3 -3
  11. package/components/ion-item-options.js +3 -3
  12. package/components/ion-progress-bar.js +3 -3
  13. package/components/ion-range.js +1 -1
  14. package/components/ion-searchbar.js +1 -1
  15. package/components/ion-select.js +3 -3
  16. package/components/ion-tab-button.js +3 -3
  17. package/components/ion-textarea.js +3 -3
  18. package/components/ion-toast.js +3 -3
  19. package/components/ion-toggle.js +3 -3
  20. package/components/item.js +1 -1
  21. package/components/list-header.js +3 -3
  22. package/components/modal.js +3 -3
  23. package/components/ripple-effect.js +1 -1
  24. package/components/spinner.js +5 -5
  25. package/css/core.css.map +1 -1
  26. package/css/ionic.bundle.css.map +1 -1
  27. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
  29. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  30. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  31. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
  33. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  34. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  35. package/dist/cjs/ion-item_8.cjs.entry.js +4 -4
  36. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  41. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  42. package/dist/cjs/ion-spinner.cjs.entry.js +5 -5
  43. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  44. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  46. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  47. package/dist/collection/components/accordion/accordion.ionic.css +5 -5
  48. package/dist/collection/components/accordion-group/accordion-group.ionic.css +2 -2
  49. package/dist/collection/components/avatar/avatar.ionic.css +38 -52
  50. package/dist/collection/components/avatar/avatar.ios.css +0 -39
  51. package/dist/collection/components/avatar/avatar.md.css +0 -39
  52. package/dist/collection/components/backdrop/backdrop.ionic.css +1 -40
  53. package/dist/collection/components/backdrop/backdrop.ios.css +44 -19
  54. package/dist/collection/components/backdrop/backdrop.md.css +44 -19
  55. package/dist/collection/components/badge/badge.ionic.css +31 -52
  56. package/dist/collection/components/badge/badge.ios.css +8 -41
  57. package/dist/collection/components/badge/badge.md.css +8 -41
  58. package/dist/collection/components/button/button.ionic.css +29 -77
  59. package/dist/collection/components/button/button.ios.css +23 -75
  60. package/dist/collection/components/button/button.md.css +23 -75
  61. package/dist/collection/components/chip/chip.ionic.css +17 -6
  62. package/dist/collection/components/input/input.ionic.css +21 -83
  63. package/dist/collection/components/input/input.md.css +0 -122
  64. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +1 -62
  65. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -4
  66. package/dist/collection/components/item/item.ionic.css +9 -4
  67. package/dist/collection/components/item-option/item-option.ionic.css +16 -3
  68. package/dist/collection/components/item-option/item-option.ios.css +4 -1
  69. package/dist/collection/components/item-option/item-option.md.css +4 -1
  70. package/dist/collection/components/item-options/item-options.ionic.css +4 -40
  71. package/dist/collection/components/item-options/item-options.ios.css +65 -40
  72. package/dist/collection/components/item-options/item-options.md.css +65 -40
  73. package/dist/collection/components/list/list.ionic.css +22 -0
  74. package/dist/collection/components/list/list.ios.css +36 -14
  75. package/dist/collection/components/list/list.md.css +36 -14
  76. package/dist/collection/components/list-header/list-header.ionic.css +6 -50
  77. package/dist/collection/components/list-header/list-header.ios.css +70 -44
  78. package/dist/collection/components/list-header/list-header.md.css +70 -44
  79. package/dist/collection/components/modal/modal.ionic.css +18 -20
  80. package/dist/collection/components/modal/modal.ios.css +79 -18
  81. package/dist/collection/components/modal/modal.md.css +79 -18
  82. package/dist/collection/components/progress-bar/progress-bar.ionic.css +6 -50
  83. package/dist/collection/components/progress-bar/progress-bar.ios.css +35 -10
  84. package/dist/collection/components/progress-bar/progress-bar.md.css +35 -10
  85. package/dist/collection/components/range/range.ionic.css +2 -2
  86. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +64 -1
  87. package/dist/collection/components/searchbar/searchbar.ionic.css +3 -3
  88. package/dist/collection/components/select/select.ionic.css +46 -112
  89. package/dist/collection/components/select/select.ios.css +109 -103
  90. package/dist/collection/components/select/select.md.css +109 -103
  91. package/dist/collection/components/spinner/spinner.ionic.css +12 -10
  92. package/dist/collection/components/spinner/spinner.js +4 -4
  93. package/dist/collection/components/spinner/{spinner.common.css → spinner.native.css} +9 -10
  94. package/dist/collection/components/tab-button/tab-button.ionic.css +19 -8
  95. package/dist/collection/components/tab-button/tab-button.ios.css +5 -5
  96. package/dist/collection/components/tab-button/tab-button.md.css +5 -5
  97. package/dist/collection/components/textarea/textarea.ionic.css +39 -88
  98. package/dist/collection/components/textarea/textarea.ios.css +115 -88
  99. package/dist/collection/components/textarea/textarea.md.css +115 -88
  100. package/dist/collection/components/toast/toast.ionic.css +2 -12
  101. package/dist/collection/components/toast/toast.ios.css +10 -10
  102. package/dist/collection/components/toast/toast.md.css +10 -10
  103. package/dist/collection/components/toggle/toggle.ionic.css +0 -4
  104. package/dist/collection/components/toggle/toggle.ios.css +4 -4
  105. package/dist/collection/components/toggle/toggle.md.css +4 -4
  106. package/dist/docs.json +1 -13
  107. package/dist/esm/ion-accordion_2.entry.js +2 -2
  108. package/dist/esm/ion-avatar_3.entry.js +4 -4
  109. package/dist/esm/ion-backdrop.entry.js +3 -3
  110. package/dist/esm/ion-button_2.entry.js +3 -3
  111. package/dist/esm/ion-chip.entry.js +1 -1
  112. package/dist/esm/ion-input-password-toggle.entry.js +5 -5
  113. package/dist/esm/ion-input.entry.js +1 -1
  114. package/dist/esm/ion-item-option_3.entry.js +6 -6
  115. package/dist/esm/ion-item_8.entry.js +4 -4
  116. package/dist/esm/ion-modal.entry.js +3 -3
  117. package/dist/esm/ion-progress-bar.entry.js +3 -3
  118. package/dist/esm/ion-range.entry.js +1 -1
  119. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  120. package/dist/esm/ion-searchbar.entry.js +1 -1
  121. package/dist/esm/ion-select_3.entry.js +3 -3
  122. package/dist/esm/ion-spinner.entry.js +5 -5
  123. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  124. package/dist/esm/ion-textarea.entry.js +3 -3
  125. package/dist/esm/ion-toast.entry.js +3 -3
  126. package/dist/esm/ion-toggle.entry.js +3 -3
  127. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  128. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  129. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  130. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  131. package/dist/esm-es5/ion-chip.entry.js +1 -1
  132. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  133. package/dist/esm-es5/ion-input.entry.js +1 -1
  134. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  135. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  136. package/dist/esm-es5/ion-modal.entry.js +1 -1
  137. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  138. package/dist/esm-es5/ion-range.entry.js +1 -1
  139. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  140. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  141. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  142. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  143. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  144. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  145. package/dist/esm-es5/ion-toast.entry.js +1 -1
  146. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  147. package/dist/ionic/ionic.esm.js +1 -1
  148. package/dist/ionic/{p-2d1ea225.entry.js → p-09072d3b.entry.js} +1 -1
  149. package/dist/ionic/p-0d297574.system.entry.js +4 -0
  150. package/dist/ionic/p-246e6dc5.entry.js +4 -0
  151. package/dist/ionic/p-25679df9.system.entry.js +4 -0
  152. package/dist/ionic/p-259dcfa3.entry.js +4 -0
  153. package/dist/ionic/p-2d8cc8b4.entry.js +4 -0
  154. package/dist/ionic/p-350e4850.system.entry.js +4 -0
  155. package/dist/ionic/p-3533c471.system.entry.js +4 -0
  156. package/dist/ionic/p-3824cffd.entry.js +4 -0
  157. package/dist/ionic/p-3b98dd61.system.entry.js +4 -0
  158. package/dist/ionic/{p-0407e81b.entry.js → p-3e161a46.entry.js} +1 -1
  159. package/dist/ionic/p-436bfcc9.system.entry.js +4 -0
  160. package/dist/ionic/p-43d6a02c.system.entry.js +4 -0
  161. package/dist/ionic/p-44b1fefc.entry.js +4 -0
  162. package/dist/ionic/p-4a767053.entry.js +4 -0
  163. package/dist/ionic/p-7c6f71eb.entry.js +4 -0
  164. package/dist/ionic/p-8402b59e.system.entry.js +4 -0
  165. package/dist/ionic/p-840f1c59.entry.js +4 -0
  166. package/dist/ionic/p-84ac0a34.system.entry.js +4 -0
  167. package/dist/ionic/p-85c7c591.system.entry.js +4 -0
  168. package/dist/ionic/{p-1d8a608c.entry.js → p-88aa79f6.entry.js} +1 -1
  169. package/dist/ionic/p-940bc10a.system.entry.js +4 -0
  170. package/dist/ionic/{p-1091cdb9.entry.js → p-9d513c26.entry.js} +1 -1
  171. package/dist/ionic/{p-f724434e.system.entry.js → p-a1d0ee0b.system.entry.js} +1 -1
  172. package/dist/ionic/p-a569fc14.system.entry.js +4 -0
  173. package/dist/ionic/p-a6a71315.entry.js +4 -0
  174. package/dist/ionic/p-aba2d55f.system.entry.js +4 -0
  175. package/dist/ionic/p-b79a47ba.entry.js +4 -0
  176. package/dist/ionic/p-ba992f31.system.entry.js +4 -0
  177. package/dist/ionic/p-c0b7f342.entry.js +4 -0
  178. package/dist/ionic/p-c18ffa8b.entry.js +4 -0
  179. package/dist/ionic/p-c1e7dbd4.system.entry.js +4 -0
  180. package/dist/ionic/p-c847b24b.system.entry.js +4 -0
  181. package/dist/ionic/{p-30c3101d.entry.js → p-c9481069.entry.js} +1 -1
  182. package/dist/ionic/p-d2314315.system.entry.js +4 -0
  183. package/dist/ionic/p-db8ffacb.system.js +1 -1
  184. package/dist/ionic/p-dfb63dc2.system.entry.js +4 -0
  185. package/dist/ionic/p-e09bb245.system.entry.js +4 -0
  186. package/dist/ionic/p-f6a03670.entry.js +4 -0
  187. package/dist/ionic/p-fb3ce1f1.entry.js +4 -0
  188. package/dist/ionic/p-fec23a6f.entry.js +4 -0
  189. package/hydrate/index.js +58 -58
  190. package/hydrate/index.mjs +58 -58
  191. package/package.json +1 -1
  192. package/dist/ionic/p-049c8d2a.entry.js +0 -4
  193. package/dist/ionic/p-106d1261.system.entry.js +0 -4
  194. package/dist/ionic/p-14405618.system.entry.js +0 -4
  195. package/dist/ionic/p-226163dd.system.entry.js +0 -4
  196. package/dist/ionic/p-25de2d08.entry.js +0 -4
  197. package/dist/ionic/p-36ac0bd0.system.entry.js +0 -4
  198. package/dist/ionic/p-36e022e5.system.entry.js +0 -4
  199. package/dist/ionic/p-4bad1784.system.entry.js +0 -4
  200. package/dist/ionic/p-4c3e0fde.system.entry.js +0 -4
  201. package/dist/ionic/p-4e5e464b.entry.js +0 -4
  202. package/dist/ionic/p-4eab42bc.entry.js +0 -4
  203. package/dist/ionic/p-4ee9dc7a.entry.js +0 -4
  204. package/dist/ionic/p-519dbeb4.entry.js +0 -4
  205. package/dist/ionic/p-537e7cdc.system.entry.js +0 -4
  206. package/dist/ionic/p-5396aa22.system.entry.js +0 -4
  207. package/dist/ionic/p-65c2b2b1.entry.js +0 -4
  208. package/dist/ionic/p-660800ad.entry.js +0 -4
  209. package/dist/ionic/p-7c2fc007.system.entry.js +0 -4
  210. package/dist/ionic/p-7f74d4fc.system.entry.js +0 -4
  211. package/dist/ionic/p-895adf4d.system.entry.js +0 -4
  212. package/dist/ionic/p-8befed6f.entry.js +0 -4
  213. package/dist/ionic/p-8d3c124a.entry.js +0 -4
  214. package/dist/ionic/p-95039c8b.entry.js +0 -4
  215. package/dist/ionic/p-a212bcac.entry.js +0 -4
  216. package/dist/ionic/p-a929d40a.entry.js +0 -4
  217. package/dist/ionic/p-af4d0e38.system.entry.js +0 -4
  218. package/dist/ionic/p-b7f022cd.system.entry.js +0 -4
  219. package/dist/ionic/p-b852ead6.system.entry.js +0 -4
  220. package/dist/ionic/p-c41441ce.system.entry.js +0 -4
  221. package/dist/ionic/p-c595e718.system.entry.js +0 -4
  222. package/dist/ionic/p-caf65cd8.system.entry.js +0 -4
  223. package/dist/ionic/p-e119d90e.entry.js +0 -4
  224. package/dist/ionic/p-ebe9ec08.system.entry.js +0 -4
  225. package/dist/ionic/p-fd806579.entry.js +0 -4
  226. /package/dist/collection/components/input-password-toggle/{input-password-toggle.common.css → input-password-toggle.native.css} +0 -0
@@ -61,67 +61,6 @@ Do not edit directly, this file was auto-generated.
61
61
  * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
62
62
  * convert to a unit other than $baselineUnit.
63
63
  */
64
- /**
65
- * Convert a pixels given value into rem
66
- *
67
- * @param pixels - Value in pixels to be converted (i.e. px)
68
- * @param context (optional) - Baseline value
69
- */
70
- /**
71
- * Convert a font size to a dynamic font size.
72
- * Fonts that participate in Dynamic Type should use
73
- * dynamic font sizes.
74
- * @param size - The initial font size including the unit (i.e. px or pt)
75
- * @param unit (optional) - The unit to convert to. Use this if you want to
76
- * convert to a unit other than $baselineUnit.
77
- */
78
- /**
79
- * Convert a font size to a dynamic font size but impose
80
- * a maximum font size.
81
- * @param size - The initial font size including the unit (i.e. px or pt)
82
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
83
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
84
- * convert to a unit other than $baselineUnit.
85
- */
86
- /**
87
- * Convert a font size to a dynamic font size but impose
88
- * a minimum font size.
89
- * @param size - The initial font size including the unit (i.e. px or pt)
90
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
91
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
92
- * convert to a unit other than $baselineUnit.
93
- */
94
- /**
95
- * Convert a font size to a dynamic font size but impose
96
- * maximum and minimum font sizes.
97
- * @param size - The initial font size including the unit (i.e. px or pt)
98
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
99
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
100
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
101
- * convert to a unit other than $baselineUnit.
102
- */
103
- /**
104
- * A heuristic that applies CSS to tablet
105
- * viewports.
106
- *
107
- * Usage:
108
- * @include tablet-viewport() {
109
- * :host {
110
- * background-color: green;
111
- * }
112
- * }
113
- */
114
- /**
115
- * A heuristic that applies CSS to mobile
116
- * viewports (i.e. phones, not tablets).
117
- *
118
- * Usage:
119
- * @include mobile-viewport() {
120
- * :host {
121
- * background-color: blue;
122
- * }
123
- * }
124
- */
125
64
  :host {
126
65
  /**
127
66
  * @prop --background: Background of the select
@@ -152,9 +91,9 @@ Do not edit directly, this file was auto-generated.
152
91
  --placeholder-color: currentColor;
153
92
  --background: transparent;
154
93
  --border-style: solid;
155
- --highlight-color-focused: var(--ion-color-primary, #0054e9);
156
- --highlight-color-valid: var(--ion-color-success, #2dd55b);
157
- --highlight-color-invalid: var(--ion-color-danger, #c5000f);
94
+ --highlight-color-focused: ion-color(primary, base);
95
+ --highlight-color-valid: ion-color(success, base);
96
+ --highlight-color-invalid: ion-color(danger, base);
158
97
  /**
159
98
  * This is a private API that is used to switch
160
99
  * out the highlight color based on the state
@@ -165,13 +104,12 @@ Do not edit directly, this file was auto-generated.
165
104
  display: block;
166
105
  position: relative;
167
106
  width: 100%;
168
- min-height: 44px;
169
107
  white-space: nowrap;
170
108
  cursor: pointer;
171
109
  }
172
110
 
173
111
  :host(.ion-color) {
174
- --highlight-color-focused: var(--ion-color-base);
112
+ --highlight-color-focused: current-color(base);
175
113
  }
176
114
 
177
115
  :host(.in-item) {
@@ -182,10 +120,6 @@ Do not edit directly, this file was auto-generated.
182
120
  pointer-events: none;
183
121
  }
184
122
 
185
- :host(.ion-focused) button {
186
- border: 2px solid #5e9ed6;
187
- }
188
-
189
123
  /**
190
124
  * Select can be slotted
191
125
  * in components such as item and
@@ -258,7 +192,6 @@ button {
258
192
 
259
193
  .select-text {
260
194
  flex: 1;
261
- min-width: 16px;
262
195
  font-size: inherit;
263
196
  text-overflow: ellipsis;
264
197
  white-space: inherit;
@@ -286,15 +219,6 @@ button {
286
219
  box-sizing: border-box;
287
220
  }
288
221
 
289
- .select-wrapper .select-placeholder {
290
- /**
291
- * When the floating label appears on top of the
292
- * select, we need to fade the text out so that the
293
- * label does not overlap with the placeholder.
294
- */
295
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
296
- }
297
-
298
222
  .select-wrapper-inner {
299
223
  display: flex;
300
224
  align-items: center;
@@ -371,16 +295,6 @@ button {
371
295
  */
372
296
  display: flex;
373
297
  align-items: center;
374
- /**
375
- * Label text should not extend
376
- * beyond the bounds of the select.
377
- * However, we do not set the max
378
- * width to 100% because then
379
- * only the label would show and users
380
- * would not be able to see what they are typing.
381
- */
382
- max-width: 200px;
383
- transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
384
298
  /**
385
299
  * This ensures that double tapping this text
386
300
  * clicks the <label> and focuses the input
@@ -422,12 +336,6 @@ button {
422
336
  .native-wrapper {
423
337
  display: flex;
424
338
  align-items: center;
425
- /**
426
- * When the floating label appears on top of the
427
- * input, we need to fade the input out so that the
428
- * label does not overlap with the placeholder.
429
- */
430
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
431
339
  /**
432
340
  * This ensures that the .select-text gets
433
341
  * truncated with ellipses when the text is
@@ -464,17 +372,6 @@ button {
464
372
  flex-direction: row-reverse;
465
373
  }
466
374
 
467
- /**
468
- * Label is on the left of the select in LTR and
469
- * on the right in RTL. Label also has a fixed width.
470
- */
471
- :host(.select-label-placement-fixed) .label-text-wrapper {
472
- flex: 0 0 100px;
473
- width: 100px;
474
- min-width: 100px;
475
- max-width: 200px;
476
- }
477
-
478
375
  /**
479
376
  * Stacked: Label sits above the select and is scaled down.
480
377
  * Floating: Label sits over the select when the select has no
@@ -640,6 +537,7 @@ button {
640
537
  --highlight-color-focused: var(--ion-border-focus-default, #b5c0f7);
641
538
  --highlight-color-valid: var(--ion-semantics-success-900, #126f23);
642
539
  --highlight-color-invalid: var(--ion-semantics-danger-800, #bf2222);
540
+ min-height: var(--ion-scale-1100, 44px);
643
541
  }
644
542
 
645
543
  .select-bottom {
@@ -656,6 +554,10 @@ button {
656
554
  color: var(--ion-primitives-neutral-800, #626262);
657
555
  }
658
556
 
557
+ .select-text {
558
+ min-width: var(--ion-space-400, 16px);
559
+ }
560
+
659
561
  .label-text-wrapper {
660
562
  font-size: var(--ion-font-size-300, 0.75rem);
661
563
  font-weight: var(--ion-font-weight-medium, 500);
@@ -663,6 +565,16 @@ button {
663
565
  line-height: var(--ion-font-line-height-500, 20px);
664
566
  text-decoration: none;
665
567
  text-transform: none;
568
+ /**
569
+ * Label text should not extend
570
+ * beyond the bounds of the select.
571
+ * However, we do not set the max
572
+ * width to 100% because then
573
+ * only the label would show and users
574
+ * would not be able to see what they are typing.
575
+ */
576
+ max-width: var(--ion-scale-5000, 200px);
577
+ transition: color var(--ion-transition-time-150, 150ms) var(--ion-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1)), transform var(--ion-transition-time-150, 150ms) var(--ion-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));
666
578
  color: var(--ion-primitives-neutral-1000, #3b3b3b);
667
579
  }
668
580
 
@@ -681,6 +593,13 @@ button {
681
593
  margin-bottom: 0;
682
594
  }
683
595
 
596
+ :host(.select-label-placement-fixed) .label-text-wrapper {
597
+ flex: 0 0 calc(var(--ion-scale-2400, 96px) + var(--ion-space-100, 4px));
598
+ width: calc(var(--ion-scale-2400, 96px) + var(--ion-space-100, 4px));
599
+ min-width: calc(var(--ion-scale-2400, 96px) + var(--ion-space-100, 4px));
600
+ max-width: var(--ion-scale-5000, 200px);
601
+ }
602
+
684
603
  :host(.select-label-placement-end) .label-text-wrapper {
685
604
  /**
686
605
  * The margin between the label and
@@ -713,6 +632,15 @@ button {
713
632
  background: transparent;
714
633
  }
715
634
 
635
+ .select-wrapper .select-placeholder {
636
+ /**
637
+ * When the floating label appears on top of the
638
+ * select, we need to fade the text out so that the
639
+ * label does not overlap with the placeholder.
640
+ */
641
+ transition: opacity var(--ion-transition-time-150, 150ms) var(--ion-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));
642
+ }
643
+
716
644
  .select-wrapper-inner {
717
645
  border-radius: var(--border-radius);
718
646
  -webkit-padding-start: var(--padding-start);
@@ -739,6 +667,12 @@ button {
739
667
  line-height: var(--ion-font-line-height-600, 24px);
740
668
  text-decoration: none;
741
669
  text-transform: none;
670
+ /**
671
+ * When the floating label appears on top of the
672
+ * input, we need to fade the input out so that the
673
+ * label does not overlap with the placeholder.
674
+ */
675
+ transition: opacity var(--ion-transition-time-150, 150ms) var(--ion-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));
742
676
  color: var(--ion-primitives-neutral-1200, #242424);
743
677
  }
744
678
 
@@ -763,10 +697,10 @@ button {
763
697
  ::slotted(ion-button[slot=start].button-has-icon-only),
764
698
  ::slotted(ion-button[slot=end].button-has-icon-only) {
765
699
  --border-radius: 50%;
766
- --padding-start: 8px;
767
- --padding-end: 8px;
768
- --padding-top: 8px;
769
- --padding-bottom: 8px;
700
+ --padding-start: var(--ion-space-200, 8px);
701
+ --padding-end: var(--ion-space-200, 8px);
702
+ --padding-top: var(--ion-space-200, 8px);
703
+ --padding-bottom: var(--ion-space-200, 8px);
770
704
  aspect-ratio: 1;
771
705
  }
772
706
 
@@ -777,7 +711,7 @@ button {
777
711
  }
778
712
 
779
713
  .select-icon {
780
- transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
714
+ transition: transform 0.15s var(--ion-transition-curve-expressive, cubic-bezier(0.4, 0, 0.2, 1));
781
715
  }
782
716
 
783
717
  /**
@@ -81,67 +81,6 @@
81
81
  * }
82
82
  * }
83
83
  */
84
- /**
85
- * Convert a pixels given value into rem
86
- *
87
- * @param pixels - Value in pixels to be converted (i.e. px)
88
- * @param context (optional) - Baseline value
89
- */
90
- /**
91
- * Convert a font size to a dynamic font size.
92
- * Fonts that participate in Dynamic Type should use
93
- * dynamic font sizes.
94
- * @param size - The initial font size including the unit (i.e. px or pt)
95
- * @param unit (optional) - The unit to convert to. Use this if you want to
96
- * convert to a unit other than $baselineUnit.
97
- */
98
- /**
99
- * Convert a font size to a dynamic font size but impose
100
- * a maximum font size.
101
- * @param size - The initial font size including the unit (i.e. px or pt)
102
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
103
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
104
- * convert to a unit other than $baselineUnit.
105
- */
106
- /**
107
- * Convert a font size to a dynamic font size but impose
108
- * a minimum font size.
109
- * @param size - The initial font size including the unit (i.e. px or pt)
110
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
111
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
112
- * convert to a unit other than $baselineUnit.
113
- */
114
- /**
115
- * Convert a font size to a dynamic font size but impose
116
- * maximum and minimum font sizes.
117
- * @param size - The initial font size including the unit (i.e. px or pt)
118
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
119
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
120
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
121
- * convert to a unit other than $baselineUnit.
122
- */
123
- /**
124
- * A heuristic that applies CSS to tablet
125
- * viewports.
126
- *
127
- * Usage:
128
- * @include tablet-viewport() {
129
- * :host {
130
- * background-color: green;
131
- * }
132
- * }
133
- */
134
- /**
135
- * A heuristic that applies CSS to mobile
136
- * viewports (i.e. phones, not tablets).
137
- *
138
- * Usage:
139
- * @include mobile-viewport() {
140
- * :host {
141
- * background-color: blue;
142
- * }
143
- * }
144
- */
145
84
  :host {
146
85
  /**
147
86
  * @prop --background: Background of the select
@@ -185,7 +124,6 @@
185
124
  display: block;
186
125
  position: relative;
187
126
  width: 100%;
188
- min-height: 44px;
189
127
  white-space: nowrap;
190
128
  cursor: pointer;
191
129
  }
@@ -202,10 +140,6 @@
202
140
  pointer-events: none;
203
141
  }
204
142
 
205
- :host(.ion-focused) button {
206
- border: 2px solid #5e9ed6;
207
- }
208
-
209
143
  /**
210
144
  * Select can be slotted
211
145
  * in components such as item and
@@ -278,7 +212,6 @@ button {
278
212
 
279
213
  .select-text {
280
214
  flex: 1;
281
- min-width: 16px;
282
215
  font-size: inherit;
283
216
  text-overflow: ellipsis;
284
217
  white-space: inherit;
@@ -306,15 +239,6 @@ button {
306
239
  box-sizing: border-box;
307
240
  }
308
241
 
309
- .select-wrapper .select-placeholder {
310
- /**
311
- * When the floating label appears on top of the
312
- * select, we need to fade the text out so that the
313
- * label does not overlap with the placeholder.
314
- */
315
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
316
- }
317
-
318
242
  .select-wrapper-inner {
319
243
  display: flex;
320
244
  align-items: center;
@@ -391,16 +315,6 @@ button {
391
315
  */
392
316
  display: flex;
393
317
  align-items: center;
394
- /**
395
- * Label text should not extend
396
- * beyond the bounds of the select.
397
- * However, we do not set the max
398
- * width to 100% because then
399
- * only the label would show and users
400
- * would not be able to see what they are typing.
401
- */
402
- max-width: 200px;
403
- transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
404
318
  /**
405
319
  * This ensures that double tapping this text
406
320
  * clicks the <label> and focuses the input
@@ -442,12 +356,6 @@ button {
442
356
  .native-wrapper {
443
357
  display: flex;
444
358
  align-items: center;
445
- /**
446
- * When the floating label appears on top of the
447
- * input, we need to fade the input out so that the
448
- * label does not overlap with the placeholder.
449
- */
450
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
451
359
  /**
452
360
  * This ensures that the .select-text gets
453
361
  * truncated with ellipses when the text is
@@ -484,17 +392,6 @@ button {
484
392
  flex-direction: row-reverse;
485
393
  }
486
394
 
487
- /**
488
- * Label is on the left of the select in LTR and
489
- * on the right in RTL. Label also has a fixed width.
490
- */
491
- :host(.select-label-placement-fixed) .label-text-wrapper {
492
- flex: 0 0 100px;
493
- width: 100px;
494
- min-width: 100px;
495
- max-width: 200px;
496
- }
497
-
498
395
  /**
499
396
  * Stacked: Label sits above the select and is scaled down.
500
397
  * Floating: Label sits over the select when the select has no
@@ -585,12 +482,78 @@ button {
585
482
  margin-inline-end: 0;
586
483
  }
587
484
 
485
+ /**
486
+ * Convert a pixels given value into rem
487
+ *
488
+ * @param pixels - Value in pixels to be converted (i.e. px)
489
+ * @param context (optional) - Baseline value
490
+ */
491
+ /**
492
+ * Convert a font size to a dynamic font size.
493
+ * Fonts that participate in Dynamic Type should use
494
+ * dynamic font sizes.
495
+ * @param size - The initial font size including the unit (i.e. px or pt)
496
+ * @param unit (optional) - The unit to convert to. Use this if you want to
497
+ * convert to a unit other than $baselineUnit.
498
+ */
499
+ /**
500
+ * Convert a font size to a dynamic font size but impose
501
+ * a maximum font size.
502
+ * @param size - The initial font size including the unit (i.e. px or pt)
503
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
504
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
505
+ * convert to a unit other than $baselineUnit.
506
+ */
507
+ /**
508
+ * Convert a font size to a dynamic font size but impose
509
+ * a minimum font size.
510
+ * @param size - The initial font size including the unit (i.e. px or pt)
511
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
512
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
513
+ * convert to a unit other than $baselineUnit.
514
+ */
515
+ /**
516
+ * Convert a font size to a dynamic font size but impose
517
+ * maximum and minimum font sizes.
518
+ * @param size - The initial font size including the unit (i.e. px or pt)
519
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
520
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
521
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
522
+ * convert to a unit other than $baselineUnit.
523
+ */
524
+ /**
525
+ * A heuristic that applies CSS to tablet
526
+ * viewports.
527
+ *
528
+ * Usage:
529
+ * @include tablet-viewport() {
530
+ * :host {
531
+ * background-color: green;
532
+ * }
533
+ * }
534
+ */
535
+ /**
536
+ * A heuristic that applies CSS to mobile
537
+ * viewports (i.e. phones, not tablets).
538
+ *
539
+ * Usage:
540
+ * @include mobile-viewport() {
541
+ * :host {
542
+ * background-color: blue;
543
+ * }
544
+ * }
545
+ */
588
546
  :host {
589
547
  --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);
548
+ min-height: 44px;
590
549
  font-family: var(--ion-font-family, inherit);
591
550
  z-index: 2;
592
551
  }
593
552
 
553
+ :host(.ion-focused) button {
554
+ border: 2px solid #5e9ed6;
555
+ }
556
+
594
557
  .select-icon {
595
558
  -webkit-margin-start: 4px;
596
559
  margin-inline-start: 4px;
@@ -622,6 +585,15 @@ button {
622
585
  border-radius: var(--border-radius);
623
586
  }
624
587
 
588
+ .select-wrapper .select-placeholder {
589
+ /**
590
+ * When the floating label appears on top of the
591
+ * select, we need to fade the text out so that the
592
+ * label does not overlap with the placeholder.
593
+ */
594
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
595
+ }
596
+
625
597
  .select-bottom {
626
598
  /**
627
599
  * The bottom content should take on the start and end
@@ -641,6 +613,23 @@ button {
641
613
  color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
642
614
  }
643
615
 
616
+ .select-text {
617
+ min-width: 16px;
618
+ }
619
+
620
+ .label-text-wrapper {
621
+ /**
622
+ * Label text should not extend
623
+ * beyond the bounds of the select.
624
+ * However, we do not set the max
625
+ * width to 100% because then
626
+ * only the label would show and users
627
+ * would not be able to see what they are typing.
628
+ */
629
+ max-width: 200px;
630
+ transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
631
+ }
632
+
644
633
  :host(.select-label-placement-start) .label-text-wrapper {
645
634
  /**
646
635
  * The margin between the label and
@@ -681,6 +670,14 @@ button {
681
670
  margin-inline-end: 16px;
682
671
  margin-top: 0;
683
672
  margin-bottom: 0;
673
+ /**
674
+ * Label is on the left of the select in LTR and
675
+ * on the right in RTL. Label also has a fixed width.
676
+ */
677
+ flex: 0 0 100px;
678
+ width: 100px;
679
+ min-width: 100px;
680
+ max-width: 200px;
684
681
  }
685
682
 
686
683
  /**
@@ -753,6 +750,15 @@ button {
753
750
  margin-inline-start: 16px;
754
751
  }
755
752
 
753
+ .native-wrapper {
754
+ /**
755
+ * When the floating label appears on top of the
756
+ * input, we need to fade the input out so that the
757
+ * label does not overlap with the placeholder.
758
+ */
759
+ transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
760
+ }
761
+
756
762
  /**
757
763
  * Convert a pixels given value into rem
758
764
  *