@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
@@ -0,0 +1,391 @@
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
+ * This is an auto-generated file, please do not change it directly.
9
+ * Ionic Design System
10
+ */
11
+ /**
12
+ * A heuristic that applies CSS to tablet
13
+ * viewports.
14
+ *
15
+ * Usage:
16
+ * @include tablet-viewport() {
17
+ * :host {
18
+ * background-color: green;
19
+ * }
20
+ * }
21
+ */
22
+ /**
23
+ * A heuristic that applies CSS to mobile
24
+ * viewports (i.e. phones, not tablets).
25
+ *
26
+ * Usage:
27
+ * @include mobile-viewport() {
28
+ * :host {
29
+ * background-color: blue;
30
+ * }
31
+ * }
32
+ */
33
+ /**
34
+ * Convert a font size to a dynamic font size.
35
+ * Fonts that participate in Dynamic Type should use
36
+ * dynamic font sizes.
37
+ * @param size - The initial font size including the unit (i.e. px or pt)
38
+ * @param unit (optional) - The unit to convert to. Use this if you want to
39
+ * convert to a unit other than $baselineUnit.
40
+ */
41
+ /**
42
+ * Convert a font size to a dynamic font size but impose
43
+ * a maximum font size.
44
+ * @param size - The initial font size including the unit (i.e. px or pt)
45
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
46
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
47
+ * convert to a unit other than $baselineUnit.
48
+ */
49
+ /**
50
+ * Convert a font size to a dynamic font size but impose
51
+ * a minimum font size.
52
+ * @param size - The initial font size including the unit (i.e. px or pt)
53
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
54
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
55
+ * convert to a unit other than $baselineUnit.
56
+ */
57
+ /**
58
+ * Convert a font size to a dynamic font size but impose
59
+ * maximum and minimum font sizes.
60
+ * @param size - The initial font size including the unit (i.e. px or pt)
61
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
62
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
63
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
64
+ * convert to a unit other than $baselineUnit.
65
+ */
66
+ /**
67
+ * A heuristic that applies CSS to tablet
68
+ * viewports.
69
+ *
70
+ * Usage:
71
+ * @include tablet-viewport() {
72
+ * :host {
73
+ * background-color: green;
74
+ * }
75
+ * }
76
+ */
77
+ /**
78
+ * A heuristic that applies CSS to mobile
79
+ * viewports (i.e. phones, not tablets).
80
+ *
81
+ * Usage:
82
+ * @include mobile-viewport() {
83
+ * :host {
84
+ * background-color: blue;
85
+ * }
86
+ * }
87
+ */
88
+ :host {
89
+ /**
90
+ * @prop --track-background: Background of the toggle track
91
+ * @prop --track-background-checked: Background of the toggle track when checked
92
+ * @prop --border-radius: Border radius of the toggle track
93
+ *
94
+ * @prop --handle-background: Background of the toggle handle
95
+ * @prop --handle-background-checked: Background of the toggle handle when checked
96
+ *
97
+ * @prop --handle-border-radius: Border radius of the toggle handle
98
+ * @prop --handle-box-shadow: Box shadow of the toggle handle
99
+ * @prop --handle-height: Height of the toggle handle
100
+ * @prop --handle-max-height: Maximum height of the toggle handle
101
+ * @prop --handle-width: Width of the toggle handle
102
+ * @prop --handle-spacing: Horizontal spacing around the toggle handle
103
+ * @prop --handle-transition: Transition of the toggle handle
104
+ */
105
+ /* stylelint-disable-next-line declaration-no-important */
106
+ box-sizing: content-box !important;
107
+ display: inline-block;
108
+ position: relative;
109
+ max-width: 100%;
110
+ outline: none;
111
+ cursor: pointer;
112
+ user-select: none;
113
+ }
114
+
115
+ :host(.in-item) {
116
+ flex: 1 1 0;
117
+ width: 100%;
118
+ height: 100%;
119
+ }
120
+
121
+ /**
122
+ * Toggle can be slotted
123
+ * in components such as item and
124
+ * toolbar which is why we do not
125
+ * limit the below behavior to just ion-item.
126
+ */
127
+ :host([slot=start]),
128
+ :host([slot=end]) {
129
+ flex: initial;
130
+ width: auto;
131
+ }
132
+
133
+ :host(.ion-focused) input {
134
+ border: 2px solid #5e9ed6;
135
+ }
136
+
137
+ :host(.toggle-disabled) {
138
+ pointer-events: none;
139
+ }
140
+
141
+ input {
142
+ position: absolute;
143
+ top: 0;
144
+ right: 0;
145
+ bottom: 0;
146
+ left: 0;
147
+ width: 100%;
148
+ height: 100%;
149
+ margin: 0;
150
+ padding: 0;
151
+ border: 0;
152
+ outline: 0;
153
+ opacity: 0;
154
+ overflow: hidden;
155
+ clip: rect(0 0 0 0);
156
+ -webkit-appearance: none;
157
+ -moz-appearance: none;
158
+ }
159
+
160
+ .toggle-wrapper {
161
+ display: flex;
162
+ position: relative;
163
+ flex-grow: 1;
164
+ height: inherit;
165
+ transition: background-color 15ms linear;
166
+ cursor: inherit;
167
+ }
168
+
169
+ /**
170
+ * If no label text is placed into the slot
171
+ * then the element should be hidden otherwise
172
+ * there will be additional margins added.
173
+ */
174
+ .label-text-wrapper-hidden {
175
+ display: none;
176
+ }
177
+
178
+ .native-wrapper {
179
+ display: flex;
180
+ align-items: center;
181
+ }
182
+
183
+ /**
184
+ * Label is on the left of the input in LTR and
185
+ * on the right in RTL.
186
+ */
187
+ :host(.toggle-label-placement-start) .toggle-wrapper {
188
+ flex-direction: row;
189
+ }
190
+
191
+ /**
192
+ * Label is on the right of the input in LTR and
193
+ * on the left in RTL.
194
+ */
195
+ :host(.toggle-label-placement-end) .toggle-wrapper {
196
+ flex-direction: row-reverse;
197
+ }
198
+
199
+ .toggle-icon-wrapper {
200
+ display: flex;
201
+ position: relative;
202
+ align-items: center;
203
+ width: 100%;
204
+ height: 100%;
205
+ transition: var(--handle-transition);
206
+ will-change: transform;
207
+ }
208
+
209
+ .toggle-icon {
210
+ border-radius: var(--border-radius);
211
+ display: block;
212
+ position: relative;
213
+ width: 100%;
214
+ height: 100%;
215
+ background: var(--track-background);
216
+ overflow: inherit;
217
+ }
218
+
219
+ :host(.toggle-checked) .toggle-icon {
220
+ background: var(--track-background-checked);
221
+ }
222
+
223
+ .toggle-inner {
224
+ border-radius: var(--handle-border-radius);
225
+ position: absolute;
226
+ left: var(--handle-spacing);
227
+ width: var(--handle-width);
228
+ height: var(--handle-height);
229
+ max-height: var(--handle-max-height);
230
+ transition: var(--handle-transition);
231
+ background: var(--handle-background);
232
+ box-shadow: var(--handle-box-shadow);
233
+ contain: strict;
234
+ }
235
+
236
+ /**
237
+ * We do not use the @ltr and @rtl mixins
238
+ * here because ion-toggle uses the Shadow DOM
239
+ * and WebKit does not support :host-context.
240
+ */
241
+ :host(.toggle-ltr) .toggle-inner {
242
+ left: var(--handle-spacing);
243
+ }
244
+
245
+ :host(.toggle-rtl) .toggle-inner {
246
+ right: var(--handle-spacing);
247
+ }
248
+
249
+ :host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper {
250
+ transform: translate3d(calc(100% - var(--handle-width)), 0, 0);
251
+ }
252
+
253
+ :host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper {
254
+ transform: translate3d(calc(-100% + var(--handle-width)), 0, 0);
255
+ }
256
+
257
+ :host(.toggle-checked) .toggle-inner {
258
+ background: var(--handle-background-checked);
259
+ }
260
+
261
+ :host(.toggle-ltr.toggle-checked) .toggle-inner {
262
+ transform: translate3d(calc(var(--handle-spacing) * -2), 0, 0);
263
+ }
264
+
265
+ :host(.toggle-rtl.toggle-checked) .toggle-inner {
266
+ transform: translate3d(calc(var(--handle-spacing) * 2), 0, 0);
267
+ }
268
+
269
+ :host {
270
+ --track-background: var(--ionic-color-neutral-800, #626262);
271
+ --track-background-checked: var(--ion-color-primary, #105cef);
272
+ --border-radius: var(--ionic-border-radius-full, 999px);
273
+ --focus-ring-color: var(--ionic-state-focus-1, #9ec4fd);
274
+ --focus-ring-width: var(--ionic-border-size-050, 2px);
275
+ --handle-background: var(--ionic-color-base-white, #ffffff);
276
+ --handle-background-checked: var(--ionic-color-base-white, #ffffff);
277
+ --handle-border-radius: var(--ionic-border-radius-full, 999px);
278
+ --handle-height: var(--ionic-scale-500, 20px);
279
+ --handle-max-height: var(--ionic-scale-500, 20px);
280
+ --handle-width: var(--ionic-scale-500, 20px);
281
+ --handle-spacing: var(--ionic-space-050, 2px);
282
+ --handle-transition: transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms,
283
+ right 110ms ease-in-out 80ms;
284
+ font-size: var(--ionic-font-size-350, 0.875rem);
285
+ font-weight: var(--ionic-font-weight-regular, 400);
286
+ letter-spacing: var(--ionic-letter-spacing-0, 0);
287
+ line-height: var(--ionic-line-height-600, 24px);
288
+ text-decoration: none;
289
+ text-transform: none;
290
+ width: 100%;
291
+ z-index: 2;
292
+ }
293
+
294
+ .toggle-wrapper {
295
+ align-items: center;
296
+ min-height: var(--ionic-scale-1200, 48px);
297
+ }
298
+
299
+ .native-wrapper .toggle-icon {
300
+ width: var(--ionic-scale-1100, 44px);
301
+ height: var(--ionic-scale-600, 24px);
302
+ /**
303
+ * The handle box shadow should not
304
+ * overflow outside of the track container.
305
+ */
306
+ overflow: hidden;
307
+ }
308
+
309
+ :host(.ion-color.toggle-checked) .toggle-icon {
310
+ background: var(--ion-color-base);
311
+ }
312
+
313
+ :host(.ion-focused) .toggle-icon {
314
+ outline: var(--focus-ring-width) var(--ionic-border-style-solid, solid) var(--focus-ring-color);
315
+ outline-offset: var(--focus-ring-width);
316
+ }
317
+
318
+ :host(.ion-activated) .toggle-icon::after {
319
+ right: 0;
320
+ left: 0;
321
+ top: 0;
322
+ bottom: 0;
323
+ position: absolute;
324
+ background-color: var(--ionic-state-pressed, rgba(36, 36, 36, 0.08));
325
+ content: "";
326
+ }
327
+
328
+ :host(.toggle-disabled) .toggle-icon::after {
329
+ right: 0;
330
+ left: 0;
331
+ top: 0;
332
+ bottom: 0;
333
+ position: absolute;
334
+ background-color: var(--ionic-state-disabled, rgba(255, 255, 255, 0.6));
335
+ content: "";
336
+ pointer-events: none;
337
+ }
338
+
339
+ .toggle-inner {
340
+ will-change: background-color, transform;
341
+ display: flex;
342
+ align-items: center;
343
+ justify-content: center;
344
+ color: var(--ionic-color-neutral-1200, #242424);
345
+ }
346
+
347
+ .toggle-inner .toggle-switch-icon {
348
+ width: var(--ionic-scale-400, 16px);
349
+ height: var(--ionic-scale-400, 16px);
350
+ }
351
+
352
+ /**
353
+ * Label is on the left of the input in LTR and
354
+ * on the right in RTL.
355
+ */
356
+ :host .toggle-wrapper {
357
+ justify-content: space-between;
358
+ }
359
+
360
+ :host .label-text-wrapper {
361
+ /**
362
+ * The margin between the label and
363
+ * the input should be on the end
364
+ * when the label sits at the start.
365
+ */
366
+ -webkit-margin-start: 0;
367
+ margin-inline-start: 0;
368
+ -webkit-margin-end: var(--ionic-space-400, 16px);
369
+ margin-inline-end: var(--ionic-space-400, 16px);
370
+ color: var(--ionic-color-neutral-1200, #242424);
371
+ }
372
+
373
+ /**
374
+ * Label is on the right of the input in LTR and
375
+ * on the left in RTL.
376
+ */
377
+ :host(.toggle-label-placement-end) .toggle-wrapper {
378
+ justify-content: start;
379
+ }
380
+
381
+ /**
382
+ * The margin between the label and
383
+ * the input should be on the start
384
+ * when the label sits at the end.
385
+ */
386
+ :host(.toggle-label-placement-end) .label-text-wrapper {
387
+ -webkit-margin-start: var(--ionic-space-400, 16px);
388
+ margin-inline-start: var(--ionic-space-400, 16px);
389
+ -webkit-margin-end: 0;
390
+ margin-inline-end: 0;
391
+ }