@ionic/core 8.2.3-dev.11724326037.1eacfaff → 8.2.3-dev.11724680612.1b9ef92a

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 (82) hide show
  1. package/components/ion-input.js +14 -5
  2. package/components/ion-textarea.js +30 -7
  3. package/components/ion-thumbnail.js +2 -2
  4. package/components/ion-title.js +2 -2
  5. package/components/ion-toast.js +2 -2
  6. package/components/ion-toggle.js +14 -11
  7. package/components/ion-toolbar.js +2 -2
  8. package/css/ionic/bundle.ionic.css.map +1 -1
  9. package/css/ionic/global.bundle.ionic.css.map +1 -1
  10. package/css/ionic/typography.ionic.css.map +1 -1
  11. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  12. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  13. package/dist/cjs/ion-input.cjs.entry.js +14 -5
  14. package/dist/cjs/ion-textarea.cjs.entry.js +29 -7
  15. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  16. package/dist/cjs/ion-toggle.cjs.entry.js +14 -11
  17. package/dist/cjs/ionic.cjs.js +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/collection/components/input/input.js +14 -5
  20. package/dist/collection/components/textarea/test/shape/textarea.e2e.js +79 -0
  21. package/dist/collection/components/textarea/test/size/textarea.e2e.js +123 -0
  22. package/dist/collection/components/textarea/textarea.ionic.css +801 -0
  23. package/dist/collection/components/textarea/textarea.ios.css +175 -95
  24. package/dist/collection/components/textarea/textarea.js +48 -8
  25. package/dist/collection/components/textarea/textarea.md.css +175 -95
  26. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  27. package/dist/collection/components/title/title.js +2 -2
  28. package/dist/collection/components/toast/toast.js +2 -2
  29. package/dist/collection/components/toggle/test/color/toggle.e2e.js +1 -1
  30. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +1 -1
  31. package/dist/collection/components/toggle/test/item/toggle.e2e.js +4 -2
  32. package/dist/collection/components/toggle/test/label/toggle.e2e.js +29 -0
  33. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +1 -1
  34. package/dist/collection/components/toggle/test/states/toggle.e2e.js +29 -1
  35. package/dist/collection/components/toggle/toggle.ionic.css +391 -0
  36. package/dist/collection/components/toggle/toggle.ios.css +163 -138
  37. package/dist/collection/components/toggle/toggle.js +12 -9
  38. package/dist/collection/components/toggle/toggle.md.css +163 -138
  39. package/dist/collection/components/toolbar/toolbar.js +2 -2
  40. package/dist/docs.json +47 -5
  41. package/dist/esm/ion-app_8.entry.js +4 -4
  42. package/dist/esm/ion-avatar_3.entry.js +2 -2
  43. package/dist/esm/ion-input.entry.js +14 -5
  44. package/dist/esm/ion-textarea.entry.js +29 -7
  45. package/dist/esm/ion-toast.entry.js +2 -2
  46. package/dist/esm/ion-toggle.entry.js +14 -11
  47. package/dist/esm/ionic.js +1 -1
  48. package/dist/esm/loader.js +1 -1
  49. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  50. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  51. package/dist/esm-es5/ion-input.entry.js +1 -1
  52. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  53. package/dist/esm-es5/ion-toast.entry.js +1 -1
  54. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  55. package/dist/esm-es5/ionic.js +1 -1
  56. package/dist/esm-es5/loader.js +1 -1
  57. package/dist/html.html-data.json +22 -1
  58. package/dist/ionic/ionic.esm.js +1 -1
  59. package/dist/ionic/p-13405b29.entry.js +4 -0
  60. package/dist/ionic/p-13c363e4.entry.js +4 -0
  61. package/dist/ionic/p-22711da4.system.entry.js +4 -0
  62. package/dist/ionic/{p-7dad531c.system.entry.js → p-31692628.system.entry.js} +1 -1
  63. package/dist/ionic/{p-b4b44bf9.system.entry.js → p-35fde411.system.entry.js} +1 -1
  64. package/dist/ionic/{p-39a39279.entry.js → p-6e7d4537.entry.js} +1 -1
  65. package/dist/ionic/p-7b590e46.system.js +1 -1
  66. package/dist/ionic/{p-f84ea1e9.system.entry.js → p-984e02c3.system.entry.js} +1 -1
  67. package/dist/ionic/{p-c11fdca2.entry.js → p-a971dec3.entry.js} +1 -1
  68. package/dist/ionic/p-aad91b75.system.entry.js +4 -0
  69. package/dist/ionic/{p-201d8768.system.entry.js → p-c2c3807b.system.entry.js} +1 -1
  70. package/dist/ionic/p-c8453a83.entry.js +4 -0
  71. package/dist/ionic/p-de8e8567.entry.js +4 -0
  72. package/dist/types/components/input/input.d.ts +1 -0
  73. package/dist/types/components/textarea/textarea.d.ts +13 -2
  74. package/dist/types/components.d.ts +12 -4
  75. package/hydrate/index.js +66 -31
  76. package/package.json +1 -1
  77. package/dist/ionic/p-01ae1aa0.entry.js +0 -4
  78. package/dist/ionic/p-4346453b.entry.js +0 -4
  79. package/dist/ionic/p-56c72f65.system.entry.js +0 -4
  80. package/dist/ionic/p-7ab9c88c.system.entry.js +0 -4
  81. package/dist/ionic/p-8ac5efa9.entry.js +0 -4
  82. package/dist/ionic/p-a6bb62ea.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 --track-background: Background of the toggle track
@@ -84,7 +106,6 @@
84
106
  outline: none;
85
107
  cursor: pointer;
86
108
  user-select: none;
87
- z-index: 2;
88
109
  }
89
110
 
90
111
  :host(.in-item) {
@@ -141,26 +162,6 @@ input {
141
162
  cursor: inherit;
142
163
  }
143
164
 
144
- .label-text-wrapper {
145
- text-overflow: ellipsis;
146
- white-space: nowrap;
147
- overflow: hidden;
148
- }
149
-
150
- :host(.in-item) .label-text-wrapper {
151
- margin-top: 10px;
152
- margin-bottom: 10px;
153
- }
154
-
155
- :host(.in-item.toggle-label-placement-stacked) .label-text-wrapper {
156
- margin-top: 10px;
157
- margin-bottom: 16px;
158
- }
159
-
160
- :host(.in-item.toggle-label-placement-stacked) .native-wrapper {
161
- margin-bottom: 10px;
162
- }
163
-
164
165
  /**
165
166
  * If no label text is placed into the slot
166
167
  * then the element should be hidden otherwise
@@ -175,26 +176,6 @@ input {
175
176
  align-items: center;
176
177
  }
177
178
 
178
- :host(.toggle-justify-space-between) .toggle-wrapper {
179
- justify-content: space-between;
180
- }
181
-
182
- :host(.toggle-justify-start) .toggle-wrapper {
183
- justify-content: start;
184
- }
185
-
186
- :host(.toggle-justify-end) .toggle-wrapper {
187
- justify-content: end;
188
- }
189
-
190
- :host(.toggle-alignment-start) .toggle-wrapper {
191
- align-items: start;
192
- }
193
-
194
- :host(.toggle-alignment-center) .toggle-wrapper {
195
- align-items: center;
196
- }
197
-
198
179
  /**
199
180
  * Label is on the left of the input in LTR and
200
181
  * on the right in RTL.
@@ -203,18 +184,6 @@ input {
203
184
  flex-direction: row;
204
185
  }
205
186
 
206
- :host(.toggle-label-placement-start) .label-text-wrapper {
207
- /**
208
- * The margin between the label and
209
- * the input should be on the end
210
- * when the label sits at the start.
211
- */
212
- -webkit-margin-start: 0;
213
- margin-inline-start: 0;
214
- -webkit-margin-end: 16px;
215
- margin-inline-end: 16px;
216
- }
217
-
218
187
  /**
219
188
  * Label is on the right of the input in LTR and
220
189
  * on the left in RTL.
@@ -223,91 +192,6 @@ input {
223
192
  flex-direction: row-reverse;
224
193
  }
225
194
 
226
- /**
227
- * The margin between the label and
228
- * the input should be on the start
229
- * when the label sits at the end.
230
- */
231
- :host(.toggle-label-placement-end) .label-text-wrapper {
232
- -webkit-margin-start: 16px;
233
- margin-inline-start: 16px;
234
- -webkit-margin-end: 0;
235
- margin-inline-end: 0;
236
- }
237
-
238
- :host(.toggle-label-placement-fixed) .label-text-wrapper {
239
- /**
240
- * The margin between the label and
241
- * the input should be on the end
242
- * when the label sits at the start.
243
- */
244
- -webkit-margin-start: 0;
245
- margin-inline-start: 0;
246
- -webkit-margin-end: 16px;
247
- margin-inline-end: 16px;
248
- }
249
-
250
- /**
251
- * Label is on the left of the input in LTR and
252
- * on the right in RTL. Label also has a fixed width.
253
- */
254
- :host(.toggle-label-placement-fixed) .label-text-wrapper {
255
- flex: 0 0 100px;
256
- width: 100px;
257
- min-width: 100px;
258
- max-width: 200px;
259
- }
260
-
261
- /**
262
- * Label is on top of the toggle.
263
- */
264
- :host(.toggle-label-placement-stacked) .toggle-wrapper {
265
- flex-direction: column;
266
- }
267
-
268
- :host(.toggle-label-placement-stacked) .label-text-wrapper {
269
- transform: scale(0.75);
270
- /**
271
- * The margin between the label and
272
- * the toggle should be on the bottom
273
- * when the label sits on top.
274
- */
275
- margin-left: 0;
276
- margin-right: 0;
277
- margin-bottom: 16px;
278
- /**
279
- * Label text should not extend
280
- * beyond the bounds of the toggle.
281
- */
282
- max-width: calc(100% / 0.75);
283
- }
284
-
285
- :host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper {
286
- transform-origin: left top;
287
- }
288
- :host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper, :host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper {
289
- transform-origin: right top;
290
- }
291
-
292
- @supports selector(:dir(rtl)) {
293
- :host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper {
294
- transform-origin: right top;
295
- }
296
- }
297
-
298
- :host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper {
299
- transform-origin: center top;
300
- }
301
- :host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper, :host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper {
302
- transform-origin: calc(100% - center) top;
303
- }
304
-
305
- @supports selector(:dir(rtl)) {
306
- :host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper {
307
- transform-origin: calc(100% - center) top;
308
- }
309
- }
310
-
311
195
  .toggle-icon-wrapper {
312
196
  display: flex;
313
197
  position: relative;
@@ -378,6 +262,147 @@ input {
378
262
  transform: translate3d(calc(var(--handle-spacing) * 2), 0, 0);
379
263
  }
380
264
 
265
+ :host {
266
+ z-index: 2;
267
+ }
268
+
269
+ :host(.in-item) .label-text-wrapper {
270
+ margin-top: 10px;
271
+ margin-bottom: 10px;
272
+ }
273
+
274
+ :host(.in-item.toggle-label-placement-stacked) .label-text-wrapper {
275
+ margin-top: 10px;
276
+ margin-bottom: 16px;
277
+ }
278
+
279
+ :host(.in-item.toggle-label-placement-stacked) .native-wrapper {
280
+ margin-bottom: 10px;
281
+ }
282
+
283
+ .label-text-wrapper {
284
+ text-overflow: ellipsis;
285
+ white-space: nowrap;
286
+ overflow: hidden;
287
+ }
288
+
289
+ :host(.toggle-justify-space-between) .toggle-wrapper {
290
+ justify-content: space-between;
291
+ }
292
+
293
+ :host(.toggle-justify-start) .toggle-wrapper {
294
+ justify-content: start;
295
+ }
296
+
297
+ :host(.toggle-justify-end) .toggle-wrapper {
298
+ justify-content: end;
299
+ }
300
+
301
+ :host(.toggle-alignment-start) .toggle-wrapper {
302
+ align-items: start;
303
+ }
304
+
305
+ :host(.toggle-alignment-center) .toggle-wrapper {
306
+ align-items: center;
307
+ }
308
+
309
+ :host(.toggle-label-placement-fixed) .label-text-wrapper {
310
+ /**
311
+ * The margin between the label and
312
+ * the input should be on the end
313
+ * when the label sits at the start.
314
+ */
315
+ -webkit-margin-start: 0;
316
+ margin-inline-start: 0;
317
+ -webkit-margin-end: 16px;
318
+ margin-inline-end: 16px;
319
+ }
320
+
321
+ /**
322
+ * Label is on the left of the input in LTR and
323
+ * on the right in RTL. Label also has a fixed width.
324
+ */
325
+ :host(.toggle-label-placement-fixed) .label-text-wrapper {
326
+ flex: 0 0 100px;
327
+ width: 100px;
328
+ min-width: 100px;
329
+ max-width: 200px;
330
+ }
331
+
332
+ /**
333
+ * Label is on top of the toggle.
334
+ */
335
+ :host(.toggle-label-placement-stacked) .toggle-wrapper {
336
+ flex-direction: column;
337
+ }
338
+
339
+ :host(.toggle-label-placement-stacked) .label-text-wrapper {
340
+ transform: scale(0.75);
341
+ /**
342
+ * The margin between the label and
343
+ * the toggle should be on the bottom
344
+ * when the label sits on top.
345
+ */
346
+ margin-left: 0;
347
+ margin-right: 0;
348
+ margin-bottom: 16px;
349
+ /**
350
+ * Label text should not extend
351
+ * beyond the bounds of the toggle.
352
+ */
353
+ max-width: calc(100% / 0.75);
354
+ }
355
+
356
+ :host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper {
357
+ transform-origin: left top;
358
+ }
359
+ :host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper, :host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper {
360
+ transform-origin: right top;
361
+ }
362
+
363
+ @supports selector(:dir(rtl)) {
364
+ :host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper {
365
+ transform-origin: right top;
366
+ }
367
+ }
368
+
369
+ :host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper {
370
+ transform-origin: center top;
371
+ }
372
+ :host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper, :host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper {
373
+ transform-origin: calc(100% - center) top;
374
+ }
375
+
376
+ @supports selector(:dir(rtl)) {
377
+ :host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper {
378
+ transform-origin: calc(100% - center) top;
379
+ }
380
+ }
381
+
382
+ :host(.toggle-label-placement-start) .label-text-wrapper {
383
+ /**
384
+ * The margin between the label and
385
+ * the input should be on the end
386
+ * when the label sits at the start.
387
+ */
388
+ -webkit-margin-start: 0;
389
+ margin-inline-start: 0;
390
+ -webkit-margin-end: 16px;
391
+ margin-inline-end: 16px;
392
+ }
393
+
394
+ /**
395
+ * The margin between the label and
396
+ * the input should be on the start
397
+ * when the label sits at the end.
398
+ */
399
+ :host(.toggle-label-placement-end) .label-text-wrapper {
400
+ -webkit-margin-start: 16px;
401
+ margin-inline-start: 16px;
402
+ -webkit-margin-end: 0;
403
+ margin-inline-end: 0;
404
+ }
405
+
381
406
  /**
382
407
  * Convert a pixels given value into rem
383
408
  *
@@ -63,10 +63,10 @@ export class Toolbar {
63
63
  this.childrenStyles.forEach((value) => {
64
64
  Object.assign(childStyles, value);
65
65
  });
66
- return (h(Host, { key: '958f4b7dd7edd7e14188ede019a3ec83955047e7', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
66
+ return (h(Host, { key: '0b157e806d08ed75667a8d4c824531274c636c3f', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
67
67
  [theme]: true,
68
68
  'in-toolbar': hostContext('ion-toolbar', this.el),
69
- })) }, h("div", { key: '13c34671af2a47ee2d13c3348d87590696fe2043', class: "toolbar-background" }), h("div", { key: '00cb26c46ab564017c5b59133082966487f3268a', class: "toolbar-container" }, h("slot", { key: 'a9c5fc777ff5eab4ef91d7c9b274a53012280f35', name: "start" }), h("slot", { key: 'a5a4e11b5d5847ff167ae95b86cd3625d482e257', name: "secondary" }), h("div", { key: 'e9f06b74b6aa933363aa0b671216b37300cc660c', class: "toolbar-content" }, h("slot", { key: '05929530a64a6d497ef5bc69dbc42adc11c9694f' })), h("slot", { key: 'f03445495cd36c54a7a43b47ab47169c53d9d15b', name: "primary" }), h("slot", { key: 'd8a60db04c290933462b517cc6627500bd9ebe34', name: "end" }))));
69
+ })) }, h("div", { key: '8413374c1b4f3d16afb265d89a2506c83983da11', class: "toolbar-background" }), h("div", { key: 'da917701a03f82fe0030c68663381f99324dd9aa', class: "toolbar-container" }, h("slot", { key: '89cbc4450b377901cd732dcef02303a41205f202', name: "start" }), h("slot", { key: 'ee00a40995e755970cb9be8ccacaefbe394bca93', name: "secondary" }), h("div", { key: 'ae653739005ac675f789a57a6c5ee6899d24c34b', class: "toolbar-content" }, h("slot", { key: 'e90829ef9c274f14bfd8e85834183d3498bd2825' })), h("slot", { key: '8f5106bb52b434a6760cf6f7848471ab99f2c80b', name: "primary" }), h("slot", { key: '9d20e5120164268411bd7e9e091ced61d24da5cc', name: "end" }))));
70
70
  }
71
71
  static get is() { return "ion-toolbar"; }
72
72
  static get encapsulation() { return "shadow"; }
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-08-22T11:30:28",
2
+ "timestamp": "2024-08-26T13:59:49",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.18.3",
@@ -36120,22 +36120,64 @@
36120
36120
  },
36121
36121
  {
36122
36122
  "name": "shape",
36123
- "type": "\"round\" | undefined",
36123
+ "type": "\"rectangular\" | \"round\" | \"soft\" | undefined",
36124
36124
  "complexType": {
36125
- "original": "'round'",
36126
- "resolved": "\"round\" | undefined",
36125
+ "original": "'soft' | 'round' | 'rectangular'",
36126
+ "resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
36127
36127
  "references": {}
36128
36128
  },
36129
36129
  "mutable": false,
36130
36130
  "attr": "shape",
36131
36131
  "reflectToAttr": false,
36132
- "docs": "The shape of the textarea. If \"round\" it will have an increased border radius.",
36132
+ "docs": "Set to `\"soft\"` for a textarea with slightly rounded corners,\n`\"round\"` for a textarea with fully rounded corners, or `\"rectangular\"`\nfor a textarea without rounded corners.\n\nDefaults to `\"round\"` for the `ionic` theme, undefined for all other themes.",
36133
36133
  "docsTags": [],
36134
36134
  "values": [
36135
+ {
36136
+ "value": "rectangular",
36137
+ "type": "string"
36138
+ },
36135
36139
  {
36136
36140
  "value": "round",
36137
36141
  "type": "string"
36138
36142
  },
36143
+ {
36144
+ "value": "soft",
36145
+ "type": "string"
36146
+ },
36147
+ {
36148
+ "type": "undefined"
36149
+ }
36150
+ ],
36151
+ "optional": true,
36152
+ "required": false
36153
+ },
36154
+ {
36155
+ "name": "size",
36156
+ "type": "\"large\" | \"medium\" | \"small\" | undefined",
36157
+ "complexType": {
36158
+ "original": "'small' | 'medium' | 'large'",
36159
+ "resolved": "\"large\" | \"medium\" | \"small\" | undefined",
36160
+ "references": {}
36161
+ },
36162
+ "mutable": false,
36163
+ "attr": "size",
36164
+ "reflectToAttr": false,
36165
+ "docs": "The size of the textarea. If \"large\" it will increase the height of the textarea, while\n\"small\" and \"medium\" provide progressively smaller heights. The default size is \"medium\".\nThis property only applies to the `\"ionic\"` theme.",
36166
+ "docsTags": [],
36167
+ "default": "'medium'",
36168
+ "values": [
36169
+ {
36170
+ "value": "large",
36171
+ "type": "string"
36172
+ },
36173
+ {
36174
+ "value": "medium",
36175
+ "type": "string"
36176
+ },
36177
+ {
36178
+ "value": "small",
36179
+ "type": "string"
36180
+ },
36139
36181
  {
36140
36182
  "type": "undefined"
36141
36183
  }
@@ -1230,11 +1230,11 @@ const ToolbarTitle = class {
1230
1230
  render() {
1231
1231
  const theme = getIonTheme(this);
1232
1232
  const size = this.getSize();
1233
- return (h(Host, { key: '67f00e2664322d0a5df32e093c7e227fc6f16c98', class: createColorClasses(this.color, {
1233
+ return (h(Host, { key: 'f381a740291cd926b40f52a3020fe3905f96fe1f', class: createColorClasses(this.color, {
1234
1234
  [theme]: true,
1235
1235
  [`title-${size}`]: true,
1236
1236
  'title-rtl': document.dir === 'rtl',
1237
- }) }, h("div", { key: 'cfc8295c9c599a9a61ea794b30169fdd574708f1', class: "toolbar-title" }, h("slot", { key: '2065458af3ed39d230c935332e7ff9c9d2d20e78' }))));
1237
+ }) }, h("div", { key: '01169b8d89fe706b3d6700d60429963be41ccd8d', class: "toolbar-title" }, h("slot", { key: '38222a860da0030c168c3adc8361796e1ba7598f' }))));
1238
1238
  }
1239
1239
  get el() { return getElement(this); }
1240
1240
  static get watchers() { return {
@@ -1306,10 +1306,10 @@ const Toolbar = class {
1306
1306
  this.childrenStyles.forEach((value) => {
1307
1307
  Object.assign(childStyles, value);
1308
1308
  });
1309
- return (h(Host, { key: '958f4b7dd7edd7e14188ede019a3ec83955047e7', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
1309
+ return (h(Host, { key: '0b157e806d08ed75667a8d4c824531274c636c3f', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
1310
1310
  [theme]: true,
1311
1311
  'in-toolbar': hostContext('ion-toolbar', this.el),
1312
- })) }, h("div", { key: '13c34671af2a47ee2d13c3348d87590696fe2043', class: "toolbar-background" }), h("div", { key: '00cb26c46ab564017c5b59133082966487f3268a', class: "toolbar-container" }, h("slot", { key: 'a9c5fc777ff5eab4ef91d7c9b274a53012280f35', name: "start" }), h("slot", { key: 'a5a4e11b5d5847ff167ae95b86cd3625d482e257', name: "secondary" }), h("div", { key: 'e9f06b74b6aa933363aa0b671216b37300cc660c', class: "toolbar-content" }, h("slot", { key: '05929530a64a6d497ef5bc69dbc42adc11c9694f' })), h("slot", { key: 'f03445495cd36c54a7a43b47ab47169c53d9d15b', name: "primary" }), h("slot", { key: 'd8a60db04c290933462b517cc6627500bd9ebe34', name: "end" }))));
1312
+ })) }, h("div", { key: '8413374c1b4f3d16afb265d89a2506c83983da11', class: "toolbar-background" }), h("div", { key: 'da917701a03f82fe0030c68663381f99324dd9aa', class: "toolbar-container" }, h("slot", { key: '89cbc4450b377901cd732dcef02303a41205f202', name: "start" }), h("slot", { key: 'ee00a40995e755970cb9be8ccacaefbe394bca93', name: "secondary" }), h("div", { key: 'ae653739005ac675f789a57a6c5ee6899d24c34b', class: "toolbar-content" }, h("slot", { key: 'e90829ef9c274f14bfd8e85834183d3498bd2825' })), h("slot", { key: '8f5106bb52b434a6760cf6f7848471ab99f2c80b', name: "primary" }), h("slot", { key: '9d20e5120164268411bd7e9e091ced61d24da5cc', name: "end" }))));
1313
1313
  }
1314
1314
  get el() { return getElement(this); }
1315
1315
  };
@@ -136,9 +136,9 @@ const Thumbnail = class {
136
136
  }
137
137
  render() {
138
138
  const theme = getIonTheme(this);
139
- return (h(Host, { key: '8911848dc9edd536023c8a68e51752b751e3f0ab', class: {
139
+ return (h(Host, { key: '8913b780b1ac6a325126622f992da0d4169b5c8c', class: {
140
140
  [theme]: true,
141
- } }, h("slot", { key: 'aaa7d7010d4050eebaed490b3ef7e641b076607c' })));
141
+ } }, h("slot", { key: '10127c5603bc9b750e060e35f8b7f665befce81a' })));
142
142
  }
143
143
  };
144
144
  Thumbnail.style = IonThumbnailStyle0;
@@ -264,6 +264,14 @@ const Input = class {
264
264
  getValue() {
265
265
  return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();
266
266
  }
267
+ getFill() {
268
+ const theme = getIonTheme(this);
269
+ const { fill } = this;
270
+ if (theme === 'ionic' && fill === undefined) {
271
+ return 'outline';
272
+ }
273
+ return fill;
274
+ }
267
275
  getLabelPlacement() {
268
276
  const theme = getIonTheme(this);
269
277
  const { el, labelPlacement } = this;
@@ -449,9 +457,10 @@ const Input = class {
449
457
  return config.get('inputClearIcon', defaultIcon);
450
458
  }
451
459
  render() {
452
- const { disabled, fill, readonly, inputId, el, hasFocus, clearInput, inputClearIcon } = this;
460
+ const { disabled, readonly, inputId, el, hasFocus, clearInput, inputClearIcon } = this;
453
461
  const theme = getIonTheme(this);
454
462
  const value = this.getValue();
463
+ const fill = this.getFill();
455
464
  const size = this.getSize();
456
465
  const shape = this.getShape();
457
466
  const inItem = hostContext('ion-item', this.el);
@@ -477,7 +486,7 @@ const Input = class {
477
486
  * TODO(FW-5592): Remove hasStartEndSlots condition
478
487
  */
479
488
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
480
- return (h(Host, { key: '7ff842b13cd33bc119946de09f790f1563e31518', class: createColorClasses(this.color, {
489
+ return (h(Host, { key: '95fe18aa3f3056ce88a2f08c0e47382213e0eeb2', class: createColorClasses(this.color, {
481
490
  [theme]: true,
482
491
  'has-value': hasValue,
483
492
  'has-focus': hasFocus,
@@ -490,7 +499,7 @@ const Input = class {
490
499
  'in-item-color': hostContext('ion-item.ion-color', this.el),
491
500
  'input-disabled': disabled,
492
501
  'input-readonly': readonly,
493
- }) }, h("label", { key: '218e909896d3f467b29821c1a209b4180b071427', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: '022a9ead5769f532052b6c675a87cd79db98db7e', class: "native-wrapper" },
502
+ }) }, h("label", { key: '088e5cbdc63481e83f2cecf1228e31533de11fe3', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), h("div", { key: '0311bc8d8ca91920c9ed8630762933d10a5d8df4', class: "native-wrapper" },
494
503
  /**
495
504
  * For the ionic theme, we render the outline container here
496
505
  * instead of higher up, so it can be positioned relative to
@@ -500,7 +509,7 @@ const Input = class {
500
509
  * <label> element, ensuring that clicking the label text
501
510
  * focuses the input.
502
511
  */
503
- theme === 'ionic' && fill === 'outline' && h("div", { key: '387fda749ac395c9f4b478c9267f25991238103c', class: "input-outline" }), h("slot", { key: '5a135729d8efda822d3b6e9004148c3233fd8085', name: "start" }), h("input", Object.assign({ key: 'b64d49881b9de32ea40a9fb5be45e3cb167929ea', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (h("button", { key: 'f04bdaf678c49d11fbe69eaa9710a1585cbca438', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
512
+ theme === 'ionic' && fill === 'outline' && h("div", { key: '8dd4695edebba5964e1dbb1d733b2d2e636ec581', class: "input-outline" }), h("slot", { key: '2065978166c9017f9383de71861babdfc3fb1cbe', name: "start" }), h("input", Object.assign({ key: '8fb6627afac9457eb23abb149607566a18175ef4', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (h("button", { key: '739f486081fc9e7ba6b1387dd6a813f3a2eb484a', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
504
513
  /**
505
514
  * This prevents mobile browsers from
506
515
  * blurring the input when the clear
@@ -515,7 +524,7 @@ const Input = class {
515
524
  * for screen readers as it means users would be unable to swipe past the clear button.
516
525
  */
517
526
  ev.stopPropagation();
518
- }, onClick: this.clearTextInput }, h("ion-icon", { key: 'e06cb3f0c583d3d1c6a1b41a3903f7252957c913', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: 'b0b22fe170a3ed593aa1ad20a20669cafc1e1062', name: "end" })), shouldRenderHighlight && h("div", { key: 'f06bd25e97d79f2d7a44105ab113187692cc52d3', class: "input-highlight" })), this.renderBottomContent()));
527
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: '0775e8fa9b9cf9df17743472edbc2f307e4f4b9a', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: '72e48a851f3fb2450af96f9d271b27dcb0bca047', name: "end" })), shouldRenderHighlight && h("div", { key: 'e91752ecd290374ae7adbe0b99163092a9e3f0fd', class: "input-highlight" })), this.renderBottomContent()));
519
528
  }
520
529
  get el() { return getElement(this); }
521
530
  static get watchers() { return {