@ionic/core 8.2.3-dev.11724326037.1eacfaff → 8.2.3-dev.11724345963.10ca6051

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 (80) hide show
  1. package/components/ion-input-password-toggle.js +7 -11
  2. package/components/ion-textarea.js +20 -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 +3 -3
  7. package/components/ion-toolbar.js +2 -2
  8. package/css/core.css +1 -1
  9. package/css/core.css.map +1 -1
  10. package/css/ionic/bundle.ionic.css +1 -1
  11. package/css/ionic/bundle.ionic.css.map +1 -1
  12. package/css/ionic/core.ionic.css +1 -1
  13. package/css/ionic/core.ionic.css.map +1 -1
  14. package/css/ionic.bundle.css +1 -1
  15. package/css/ionic.bundle.css.map +1 -1
  16. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  17. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  18. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -11
  19. package/dist/cjs/ion-textarea.cjs.entry.js +19 -7
  20. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  21. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  22. package/dist/cjs/ionic.cjs.js +1 -1
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/collection/components/input-password-toggle/input-password-toggle.css +0 -0
  25. package/dist/collection/components/input-password-toggle/input-password-toggle.js +7 -9
  26. package/dist/collection/components/input-password-toggle/test/basic/input-password-toggle.e2e.js +1 -1
  27. package/dist/collection/components/textarea/test/size/textarea.e2e.js +123 -0
  28. package/dist/collection/components/textarea/textarea.ionic.css +790 -0
  29. package/dist/collection/components/textarea/textarea.ios.css +175 -95
  30. package/dist/collection/components/textarea/textarea.js +35 -5
  31. package/dist/collection/components/textarea/textarea.md.css +175 -95
  32. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  33. package/dist/collection/components/title/title.js +2 -2
  34. package/dist/collection/components/toast/toast.js +2 -2
  35. package/dist/collection/components/toggle/toggle.js +3 -3
  36. package/dist/collection/components/toolbar/toolbar.js +2 -2
  37. package/dist/docs.json +35 -1
  38. package/dist/esm/ion-app_8.entry.js +4 -4
  39. package/dist/esm/ion-avatar_3.entry.js +2 -2
  40. package/dist/esm/ion-input-password-toggle.entry.js +7 -11
  41. package/dist/esm/ion-textarea.entry.js +19 -7
  42. package/dist/esm/ion-toast.entry.js +2 -2
  43. package/dist/esm/ion-toggle.entry.js +3 -3
  44. package/dist/esm/ionic.js +1 -1
  45. package/dist/esm/loader.js +1 -1
  46. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  47. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  48. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  49. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  50. package/dist/esm-es5/ion-toast.entry.js +1 -1
  51. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  52. package/dist/esm-es5/ionic.js +1 -1
  53. package/dist/esm-es5/loader.js +1 -1
  54. package/dist/html.html-data.json +15 -0
  55. package/dist/ionic/ionic.esm.js +1 -1
  56. package/dist/ionic/p-13405b29.entry.js +4 -0
  57. package/dist/ionic/p-1ee206ac.entry.js +4 -0
  58. package/dist/ionic/{p-7dad531c.system.entry.js → p-31692628.system.entry.js} +1 -1
  59. package/dist/ionic/{p-b4b44bf9.system.entry.js → p-35fde411.system.entry.js} +1 -1
  60. package/dist/ionic/{p-7ab9c88c.system.entry.js → p-3a2eb448.system.entry.js} +1 -1
  61. package/dist/ionic/p-6691825a.system.entry.js +4 -0
  62. package/dist/ionic/{p-39a39279.entry.js → p-6e7d4537.entry.js} +1 -1
  63. package/dist/ionic/p-7a1b640f.entry.js +4 -0
  64. package/dist/ionic/p-7b590e46.system.js +1 -1
  65. package/dist/ionic/p-8102551e.system.entry.js +4 -0
  66. package/dist/ionic/p-924deb6b.entry.js +4 -0
  67. package/dist/ionic/{p-f84ea1e9.system.entry.js → p-984e02c3.system.entry.js} +1 -1
  68. package/dist/ionic/{p-c11fdca2.entry.js → p-a971dec3.entry.js} +1 -1
  69. package/dist/types/components/textarea/textarea.d.ts +6 -0
  70. package/dist/types/components.d.ts +8 -0
  71. package/hydrate/index.js +38 -29
  72. package/package.json +1 -1
  73. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +0 -61
  74. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -137
  75. package/dist/ionic/p-01ae1aa0.entry.js +0 -4
  76. package/dist/ionic/p-33dd8047.system.entry.js +0 -4
  77. package/dist/ionic/p-3d9c39bc.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-8ac5efa9.entry.js +0 -4
@@ -1,3 +1,64 @@
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
+ /**
41
+ * A heuristic that applies CSS to tablet
42
+ * viewports.
43
+ *
44
+ * Usage:
45
+ * @include tablet-viewport() {
46
+ * :host {
47
+ * background-color: green;
48
+ * }
49
+ * }
50
+ */
51
+ /**
52
+ * A heuristic that applies CSS to mobile
53
+ * viewports (i.e. phones, not tablets).
54
+ *
55
+ * Usage:
56
+ * @include mobile-viewport() {
57
+ * :host {
58
+ * background-color: blue;
59
+ * }
60
+ * }
61
+ */
1
62
  /**
2
63
  * Convert a pixels given value into rem
3
64
  *
@@ -111,27 +172,10 @@
111
172
  display: block;
112
173
  position: relative;
113
174
  width: 100%;
114
- min-height: 44px;
115
175
  color: var(--color);
116
- font-family: var(--ion-font-family, inherit);
117
- z-index: 2;
118
176
  box-sizing: border-box;
119
177
  }
120
178
 
121
- /**
122
- * Since the label sits on top of the element,
123
- * the component needs to be taller otherwise the
124
- * label will appear too close to the textarea text.
125
- * Also, floating and stacked labels should not
126
- * push the label down since it it
127
- * sits on top of the textarea.
128
- */
129
- :host(.textarea-label-placement-floating),
130
- :host(.textarea-label-placement-stacked) {
131
- --padding-top: 0px;
132
- min-height: 56px;
133
- }
134
-
135
179
  /**
136
180
  * When the cols property is set we should
137
181
  * respect that width instead of defaulting
@@ -195,6 +239,7 @@
195
239
  resize: none;
196
240
  appearance: none;
197
241
  }
242
+
198
243
  .native-textarea::placeholder {
199
244
  padding-left: 0;
200
245
  padding-right: 0;
@@ -229,6 +274,7 @@
229
274
  position: absolute;
230
275
  pointer-events: none;
231
276
  }
277
+
232
278
  .cloned-input {
233
279
  inset-inline-start: 0;
234
280
  }
@@ -279,21 +325,10 @@
279
325
  caret-color: var(--highlight-color);
280
326
  }
281
327
 
282
- .native-wrapper textarea {
283
- -webkit-padding-start: 0px;
284
- padding-inline-start: 0px;
285
- -webkit-padding-end: 0px;
286
- padding-inline-end: 0px;
287
- padding-top: var(--padding-top);
288
- padding-bottom: var(--padding-bottom);
289
- }
290
-
291
328
  .native-wrapper {
292
329
  display: grid;
293
330
  min-width: inherit;
294
331
  max-width: inherit;
295
- min-height: inherit;
296
- max-height: inherit;
297
332
  /**
298
333
  * This avoids a WebKit bug where
299
334
  * the height of the inner textarea
@@ -303,6 +338,7 @@
303
338
  */
304
339
  grid-auto-rows: 100%;
305
340
  }
341
+
306
342
  .native-wrapper::after {
307
343
  white-space: pre-wrap;
308
344
  content: attr(data-replicated-value) " ";
@@ -364,21 +400,9 @@
364
400
  }
365
401
 
366
402
  .textarea-bottom {
367
- /**
368
- * The bottom content should take on the start and end
369
- * padding so it is always aligned with either the label
370
- * or the start of the textarea.
371
- */
372
- -webkit-padding-start: var(--padding-start);
373
- padding-inline-start: var(--padding-start);
374
- -webkit-padding-end: var(--padding-end);
375
- padding-inline-end: var(--padding-end);
376
- padding-top: 5px;
377
- padding-bottom: 0;
378
403
  display: flex;
379
404
  justify-content: space-between;
380
405
  border-top: var(--border-width) var(--border-style) var(--border-color);
381
- font-size: 0.75rem;
382
406
  }
383
407
 
384
408
  /**
@@ -421,9 +445,7 @@
421
445
  */
422
446
  -webkit-margin-start: auto;
423
447
  margin-inline-start: auto;
424
- color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
425
448
  white-space: nowrap;
426
- padding-inline-start: 16px;
427
449
  }
428
450
 
429
451
  .label-text-wrapper {
@@ -498,20 +520,6 @@
498
520
  flex-direction: row;
499
521
  }
500
522
 
501
- :host(.textarea-label-placement-start) .label-text-wrapper {
502
- /**
503
- * The margin between the label and
504
- * the textarea should be on the end
505
- * when the label sits at the start.
506
- */
507
- -webkit-margin-start: 0;
508
- margin-inline-start: 0;
509
- -webkit-margin-end: 16px;
510
- margin-inline-end: 16px;
511
- margin-top: 0;
512
- margin-bottom: 0;
513
- }
514
-
515
523
  /**
516
524
  * Label is on the right of the textarea in LTR and
517
525
  * on the left in RTL.
@@ -520,34 +528,6 @@
520
528
  flex-direction: row-reverse;
521
529
  }
522
530
 
523
- /**
524
- * The margin between the label and
525
- * the textarea should be on the start
526
- * when the label sits at the end.
527
- */
528
- :host(.textarea-label-placement-end) .label-text-wrapper {
529
- -webkit-margin-start: 16px;
530
- margin-inline-start: 16px;
531
- -webkit-margin-end: 0;
532
- margin-inline-end: 0;
533
- margin-top: 0;
534
- margin-bottom: 0;
535
- }
536
-
537
- :host(.textarea-label-placement-fixed) .label-text-wrapper {
538
- /**
539
- * The margin between the label and
540
- * the textarea should be on the end
541
- * when the label sits at the start.
542
- */
543
- -webkit-margin-start: 0;
544
- margin-inline-start: 0;
545
- -webkit-margin-end: 16px;
546
- margin-inline-end: 16px;
547
- margin-top: 0;
548
- margin-bottom: 0;
549
- }
550
-
551
531
  /**
552
532
  * Label is on the left of the textarea in LTR and
553
533
  * on the right in RTL. Label also has a fixed width.
@@ -594,6 +574,7 @@
594
574
  */
595
575
  z-index: 2;
596
576
  }
577
+
597
578
  :host-context([dir=rtl]):host(.textarea-label-placement-stacked) .label-text-wrapper, :host-context([dir=rtl]).textarea-label-placement-stacked .label-text-wrapper, :host-context([dir=rtl]):host(.textarea-label-placement-floating) .label-text-wrapper, :host-context([dir=rtl]).textarea-label-placement-floating .label-text-wrapper {
598
579
  transform-origin: right top;
599
580
  }
@@ -603,7 +584,6 @@
603
584
  transform-origin: right top;
604
585
  }
605
586
  }
606
-
607
587
  /**
608
588
  * Ensures the textarea does not
609
589
  * overlap the label.
@@ -620,13 +600,6 @@
620
600
  margin-bottom: 0px;
621
601
  }
622
602
 
623
- :host(.textarea-label-placement-stacked) ::slotted([slot=start]),
624
- :host(.textarea-label-placement-stacked) ::slotted([slot=end]),
625
- :host(.textarea-label-placement-floating) ::slotted([slot=start]),
626
- :host(.textarea-label-placement-floating) ::slotted([slot=end]) {
627
- margin-top: 8px;
628
- }
629
-
630
603
  /**
631
604
  * This makes the label sit over the textarea
632
605
  * when the textarea is blurred and has no value.
@@ -661,15 +634,122 @@
661
634
  max-width: calc(100% / 0.75);
662
635
  }
663
636
 
637
+ .start-slot-wrapper,
638
+ .end-slot-wrapper {
639
+ display: flex;
640
+ flex-shrink: 0;
641
+ align-self: start;
642
+ }
643
+
644
+ :host {
645
+ min-height: 44px;
646
+ font-family: var(--ion-font-family, inherit);
647
+ z-index: 2;
648
+ }
649
+
650
+ /**
651
+ * Since the label sits on top of the element,
652
+ * the component needs to be taller otherwise the
653
+ * label will appear too close to the textarea text.
654
+ * Also, floating and stacked labels should not
655
+ * push the label down since it it
656
+ * sits on top of the textarea.
657
+ */
658
+ :host(.textarea-label-placement-floating),
659
+ :host(.textarea-label-placement-stacked) {
660
+ --padding-top: 0px;
661
+ min-height: 56px;
662
+ }
663
+
664
+ .native-wrapper {
665
+ min-height: inherit;
666
+ max-height: inherit;
667
+ }
668
+
669
+ .native-wrapper textarea {
670
+ -webkit-padding-start: 0px;
671
+ padding-inline-start: 0px;
672
+ -webkit-padding-end: 0px;
673
+ padding-inline-end: 0px;
674
+ padding-top: var(--padding-top);
675
+ padding-bottom: var(--padding-bottom);
676
+ }
677
+
678
+ .textarea-bottom {
679
+ /**
680
+ * The bottom content should take on the start and end
681
+ * padding so it is always aligned with either the label
682
+ * or the start of the textarea.
683
+ */
684
+ -webkit-padding-start: var(--padding-start);
685
+ padding-inline-start: var(--padding-start);
686
+ -webkit-padding-end: var(--padding-end);
687
+ padding-inline-end: var(--padding-end);
688
+ padding-top: 5px;
689
+ padding-bottom: 0;
690
+ font-size: 0.75rem;
691
+ }
692
+
693
+ .textarea-bottom .counter {
694
+ color: var(--ion-color-step-550, var(--ion-text-color-step-450, #737373));
695
+ padding-inline-start: 16px;
696
+ }
697
+
698
+ :host(.textarea-label-placement-start) .label-text-wrapper {
699
+ /**
700
+ * The margin between the label and
701
+ * the textarea should be on the end
702
+ * when the label sits at the start.
703
+ */
704
+ -webkit-margin-start: 0;
705
+ margin-inline-start: 0;
706
+ -webkit-margin-end: 16px;
707
+ margin-inline-end: 16px;
708
+ margin-top: 0;
709
+ margin-bottom: 0;
710
+ }
711
+
712
+ /**
713
+ * The margin between the label and
714
+ * the textarea should be on the start
715
+ * when the label sits at the end.
716
+ */
717
+ :host(.textarea-label-placement-end) .label-text-wrapper {
718
+ -webkit-margin-start: 16px;
719
+ margin-inline-start: 16px;
720
+ -webkit-margin-end: 0;
721
+ margin-inline-end: 0;
722
+ margin-top: 0;
723
+ margin-bottom: 0;
724
+ }
725
+
726
+ :host(.textarea-label-placement-fixed) .label-text-wrapper {
727
+ /**
728
+ * The margin between the label and
729
+ * the textarea should be on the end
730
+ * when the label sits at the start.
731
+ */
732
+ -webkit-margin-start: 0;
733
+ margin-inline-start: 0;
734
+ -webkit-margin-end: 16px;
735
+ margin-inline-end: 16px;
736
+ margin-top: 0;
737
+ margin-bottom: 0;
738
+ }
739
+
664
740
  .start-slot-wrapper,
665
741
  .end-slot-wrapper {
666
742
  padding-left: 0;
667
743
  padding-right: 0;
668
744
  padding-top: var(--padding-top);
669
745
  padding-bottom: var(--padding-bottom);
670
- display: flex;
671
- flex-shrink: 0;
672
- align-self: start;
746
+ }
747
+
748
+ :host(.textarea-label-placement-stacked) ::slotted([slot=start]),
749
+ :host(.textarea-label-placement-stacked) ::slotted([slot=end]),
750
+ :host(.textarea-label-placement-floating) ::slotted([slot=start]),
751
+ :host(.textarea-label-placement-floating) ::slotted([slot=end]) {
752
+ margin-top: 8px;
673
753
  }
674
754
 
675
755
  ::slotted([slot=start]),
@@ -10,9 +10,9 @@ import { getIonTheme } from "../../global/ionic-global";
10
10
  export class Thumbnail {
11
11
  render() {
12
12
  const theme = getIonTheme(this);
13
- return (h(Host, { key: '8911848dc9edd536023c8a68e51752b751e3f0ab', class: {
13
+ return (h(Host, { key: '8913b780b1ac6a325126622f992da0d4169b5c8c', class: {
14
14
  [theme]: true,
15
- } }, h("slot", { key: 'aaa7d7010d4050eebaed490b3ef7e641b076607c' })));
15
+ } }, h("slot", { key: '10127c5603bc9b750e060e35f8b7f665befce81a' })));
16
16
  }
17
17
  static get is() { return "ion-thumbnail"; }
18
18
  static get encapsulation() { return "shadow"; }
@@ -31,11 +31,11 @@ export class ToolbarTitle {
31
31
  render() {
32
32
  const theme = getIonTheme(this);
33
33
  const size = this.getSize();
34
- return (h(Host, { key: '67f00e2664322d0a5df32e093c7e227fc6f16c98', class: createColorClasses(this.color, {
34
+ return (h(Host, { key: 'f381a740291cd926b40f52a3020fe3905f96fe1f', class: createColorClasses(this.color, {
35
35
  [theme]: true,
36
36
  [`title-${size}`]: true,
37
37
  'title-rtl': document.dir === 'rtl',
38
- }) }, h("div", { key: 'cfc8295c9c599a9a61ea794b30169fdd574708f1', class: "toolbar-title" }, h("slot", { key: '2065458af3ed39d230c935332e7ff9c9d2d20e78' }))));
38
+ }) }, h("div", { key: '01169b8d89fe706b3d6700d60429963be41ccd8d', class: "toolbar-title" }, h("slot", { key: '38222a860da0030c168c3adc8361796e1ba7598f' }))));
39
39
  }
40
40
  static get is() { return "ion-title"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -390,9 +390,9 @@ export class Toast {
390
390
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
391
391
  printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
392
392
  }
393
- return (h(Host, Object.assign({ key: 'cb84d6f739571bc4193840fb790caa5bb5d86570', tabindex: "-1" }, this.htmlAttributes, { style: {
393
+ return (h(Host, Object.assign({ key: 'c0989bce71160a39841e75a2724e0c2e339424fd', tabindex: "-1" }, this.htmlAttributes, { style: {
394
394
  zIndex: `${60000 + this.overlayIndex}`,
395
- }, class: createColorClasses(this.color, Object.assign(Object.assign({ [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '2d9d8ce5d886779f406410197df2a6244032c012', class: wrapperClass }, h("div", { key: '3a64cc8e864daf97f13c94416a544a80738273ba', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: 'c1461d577adabfb1244be84d5bc433c256a86a38', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '5a4cfe8b8fe74fa550468183b3f43294827b800f', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
395
+ }, class: createColorClasses(this.color, Object.assign(Object.assign({ [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '152e56b2ebf42a4db999c77b79bc24c9860c9d5b', class: wrapperClass }, h("div", { key: '366fecd312dd4ef827f5c8bf976ca4c7eb95fff9', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '996753bdeb68bd6ef273714c11dafe8a9dde3581', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '23172e800e524666c4dd77fe95ccd34a42184812', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
396
396
  }
397
397
  static get is() { return "ion-toast"; }
398
398
  static get encapsulation() { return "shadow"; }
@@ -207,7 +207,7 @@ export class Toggle {
207
207
  const value = this.getValue();
208
208
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
209
209
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
210
- return (h(Host, { key: '06f5bc54f99b5f27f0d67a6934aea6bb671ec440', onClick: this.onClick, class: createColorClasses(color, {
210
+ return (h(Host, { key: '184a920569b42f66f52fc7aab2d8670220a7e605', onClick: this.onClick, class: createColorClasses(color, {
211
211
  [theme]: true,
212
212
  'in-item': hostContext('ion-item', el),
213
213
  'toggle-activated': activated,
@@ -217,10 +217,10 @@ export class Toggle {
217
217
  [`toggle-alignment-${alignment}`]: true,
218
218
  [`toggle-label-placement-${labelPlacement}`]: true,
219
219
  [`toggle-${rtl}`]: true,
220
- }) }, h("label", { key: '7831cd36159ce5fc9d854ebecb597ae3c659a1c1', class: "toggle-wrapper" }, h("input", Object.assign({ key: '11ea2c3830239223c8b570216ca84109155d7776', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { key: '5ae16c5503913089ca9ec268cf4db8a7745460b6', class: {
220
+ }) }, h("label", { key: '702b8e0c1014fa2425a8e4b4e68d451bd6b8ff7a', class: "toggle-wrapper" }, h("input", Object.assign({ key: 'c382b53502cc1aa783674625ddc66adbe96a0619', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { key: 'd3c469fb9aca7c90cf1df6e731f3c1345b558b31', class: {
221
221
  'label-text-wrapper': true,
222
222
  'label-text-wrapper-hidden': !this.hasLabel,
223
- }, part: "label" }, h("slot", { key: '8787021fe340347d6ae44c22959f387f03b871e0' })), h("div", { key: '7ac6cf4bfeb41fc0e8ff9fa2e55571234ab07d03', class: "native-wrapper" }, this.renderToggleControl()))));
223
+ }, part: "label" }, h("slot", { key: '1891a02e9ad17a2433f29c7f51cb9d9b16750a4e' })), h("div", { key: 'f84cb5515f519de8a174d9111a99fe4d648d0e76', class: "native-wrapper" }, this.renderToggleControl()))));
224
224
  }
225
225
  static get is() { return "ion-toggle"; }
226
226
  static get encapsulation() { return "shadow"; }
@@ -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-22T17:02:46",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.18.3",
@@ -36143,6 +36143,40 @@
36143
36143
  "optional": true,
36144
36144
  "required": false
36145
36145
  },
36146
+ {
36147
+ "name": "size",
36148
+ "type": "\"large\" | \"medium\" | \"small\" | undefined",
36149
+ "complexType": {
36150
+ "original": "'small' | 'medium' | 'large'",
36151
+ "resolved": "\"large\" | \"medium\" | \"small\" | undefined",
36152
+ "references": {}
36153
+ },
36154
+ "mutable": false,
36155
+ "attr": "size",
36156
+ "reflectToAttr": false,
36157
+ "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.",
36158
+ "docsTags": [],
36159
+ "default": "'medium'",
36160
+ "values": [
36161
+ {
36162
+ "value": "large",
36163
+ "type": "string"
36164
+ },
36165
+ {
36166
+ "value": "medium",
36167
+ "type": "string"
36168
+ },
36169
+ {
36170
+ "value": "small",
36171
+ "type": "string"
36172
+ },
36173
+ {
36174
+ "type": "undefined"
36175
+ }
36176
+ ],
36177
+ "optional": true,
36178
+ "required": false
36179
+ },
36146
36180
  {
36147
36181
  "name": "spellcheck",
36148
36182
  "type": "boolean",
@@ -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;
@@ -10,14 +10,11 @@ const eyeSlashSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53M
10
10
 
11
11
  const eyeSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yNDcuMzEsMTI0Ljc2Yy0uMzUtLjc5LTguODItMTkuNTgtMjcuNjUtMzguNDFDMTk0LjU3LDYxLjI2LDE2Mi44OCw0OCwxMjgsNDhTNjEuNDMsNjEuMjYsMzYuMzQsODYuMzVDMTcuNTEsMTA1LjE4LDksMTI0LDguNjksMTI0Ljc2YTgsOCwwLDAsMCwwLDYuNWMuMzUuNzksOC44MiwxOS41NywyNy42NSwzOC40QzYxLjQzLDE5NC43NCw5My4xMiwyMDgsMTI4LDIwOHM2Ni41Ny0xMy4yNiw5MS42Ni0zOC4zNGMxOC44My0xOC44MywyNy4zLTM3LjYxLDI3LjY1LTM4LjRBOCw4LDAsMCwwLDI0Ny4zMSwxMjQuNzZaTTEyOCwxOTJjLTMwLjc4LDAtNTcuNjctMTEuMTktNzkuOTMtMzMuMjVBMTMzLjQ3LDEzMy40NywwLDAsMSwyNSwxMjgsMTMzLjMzLDEzMy4zMywwLDAsMSw0OC4wNyw5Ny4yNUM3MC4zMyw3NS4xOSw5Ny4yMiw2NCwxMjgsNjRzNTcuNjcsMTEuMTksNzkuOTMsMzMuMjVBMTMzLjQ2LDEzMy40NiwwLDAsMSwyMzEuMDUsMTI4QzIyMy44NCwxNDEuNDYsMTkyLjQzLDE5MiwxMjgsMTkyWm0wLTExMmE0OCw0OCwwLDEsMCw0OCw0OEE0OC4wNSw0OC4wNSwwLDAsMCwxMjgsODBabTAsODBhMzIsMzIsMCwxLDEsMzItMzJBMzIsMzIsMCwwLDEsMTI4LDE2MFoiLz48L3N2Zz4=';
12
12
 
13
- const inputPasswordToggleIonicCss = ":host ion-button.button-has-icon-only{--padding-end:inherit;--color:var(--ionic-color-neutral-500, #a2a2a2);--margin-end:calc(-1 * var(--padding-end));-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:0;margin-bottom:0}";
14
- const IonInputPasswordToggleIonicStyle0 = inputPasswordToggleIonicCss;
13
+ const iosInputPasswordToggleCss = "";
14
+ const IonInputPasswordToggleIosStyle0 = iosInputPasswordToggleCss;
15
15
 
16
- const iosInputPasswordToggleCommonCss = "";
17
- const IonInputPasswordToggleIosStyle0 = iosInputPasswordToggleCommonCss;
18
-
19
- const mdInputPasswordToggleCommonCss = "";
20
- const IonInputPasswordToggleMdStyle0 = mdInputPasswordToggleCommonCss;
16
+ const mdInputPasswordToggleCss = "";
17
+ const IonInputPasswordToggleMdStyle0 = mdInputPasswordToggleCss;
21
18
 
22
19
  const InputPasswordToggle = class {
23
20
  constructor(hostRef) {
@@ -102,16 +99,16 @@ const InputPasswordToggle = class {
102
99
  const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
103
100
  const mode = getIonMode(this);
104
101
  const isPasswordVisible = type === 'text';
105
- return (h(Host, { key: '140bda3fc0a5a4dda16c9dfcf1254cc94c60206e', class: createColorClasses(color, {
102
+ return (h(Host, { key: '4ca80b49b49f4ed0c14573a2965e5590e1cb7607', class: createColorClasses(color, {
106
103
  [mode]: true,
107
- }) }, h("ion-button", { key: 'ec84dcf19d488f9454eadc860e10be8f8a306f0b', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
104
+ }) }, h("ion-button", { key: '37eeacd2673026ce9c068c45af0df09a9d83156c', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
108
105
  /**
109
106
  * This prevents mobile browsers from
110
107
  * blurring the input when the password toggle
111
108
  * button is activated.
112
109
  */
113
110
  ev.preventDefault();
114
- }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '40d2804ffafda8cb18c4f55af8cb6f7916c7c466', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
111
+ }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '27ad27e94b0fee38cf6129870621a0c96de4375a', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
115
112
  }
116
113
  get el() { return getElement(this); }
117
114
  static get watchers() { return {
@@ -119,7 +116,6 @@ const InputPasswordToggle = class {
119
116
  }; }
120
117
  };
121
118
  InputPasswordToggle.style = {
122
- ionic: IonInputPasswordToggleIonicStyle0,
123
119
  ios: IonInputPasswordToggleIosStyle0,
124
120
  md: IonInputPasswordToggleMdStyle0
125
121
  };