@ionic/core 8.8.4-dev.11776184632.103b8351 → 8.8.4-dev.11776246162.138c2737

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 (217) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-datetime.js +1 -1
  5. package/components/ion-infinite-scroll-content.js +1 -1
  6. package/components/ion-loading.js +1 -1
  7. package/components/ion-menu.js +1 -1
  8. package/components/ion-modal.js +1 -1
  9. package/components/ion-picker-legacy.js +1 -1
  10. package/components/ion-popover.js +1 -1
  11. package/components/ion-refresher-content.js +1 -1
  12. package/components/ion-select-modal.js +1 -1
  13. package/components/ion-select-option.js +1 -1
  14. package/components/ion-select-popover.js +1 -1
  15. package/components/ion-select.js +1 -1
  16. package/components/ion-skeleton-text.js +1 -1
  17. package/components/ion-spinner.js +1 -1
  18. package/components/ion-split-pane.js +1 -1
  19. package/components/ion-tab-bar.js +1 -1
  20. package/components/ion-tab-button.js +1 -1
  21. package/components/ion-tab.js +1 -1
  22. package/components/ion-tabs.js +1 -1
  23. package/components/ion-text.js +1 -1
  24. package/components/ion-textarea.js +1 -1
  25. package/components/ion-thumbnail.js +1 -1
  26. package/components/ion-title.js +1 -1
  27. package/components/ion-toast.js +1 -1
  28. package/components/ion-toggle.js +1 -1
  29. package/components/ion-toolbar.js +1 -1
  30. package/components/p-B36-MWK0.js +4 -0
  31. package/components/p-BDPU2685.js +4 -0
  32. package/components/p-BrNzoF1U.js +4 -0
  33. package/components/{p-B0orUoaV.js → p-C-_EGKki.js} +1 -1
  34. package/components/{p-qhBzWoOF.js → p-C2cZvGcF.js} +1 -1
  35. package/components/p-CEUppJkx.js +4 -0
  36. package/components/p-CSexRbnt.js +4 -0
  37. package/components/{p-ZRp3l6Dk.js → p-CoarhFWH.js} +1 -1
  38. package/components/p-DNdBtsfu.js +4 -0
  39. package/components/p-Njik5v4C.js +4 -0
  40. package/dist/cjs/index.cjs.js +1 -1
  41. package/dist/cjs/ion-action-sheet.cjs.entry.js +34 -18
  42. package/dist/cjs/ion-alert.cjs.entry.js +35 -32
  43. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  44. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-datetime_3.cjs.entry.js +28 -4
  46. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-loading.cjs.entry.js +29 -4
  48. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  49. package/dist/cjs/ion-modal.cjs.entry.js +176 -79
  50. package/dist/cjs/ion-popover.cjs.entry.js +90 -4
  51. package/dist/cjs/ion-select-modal.cjs.entry.js +27 -46
  52. package/dist/cjs/ion-select_3.cjs.entry.js +48 -177
  53. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  54. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  57. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  58. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  59. package/dist/cjs/ion-toast.cjs.entry.js +32 -4
  60. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  61. package/dist/cjs/ionic.cjs.js +1 -1
  62. package/dist/cjs/loader.cjs.js +1 -1
  63. package/dist/cjs/{overlays-Dhoy6v_5.js → overlays-BbhewSIQ.js} +4 -4
  64. package/dist/collection/components/action-sheet/action-sheet.ios.css +0 -84
  65. package/dist/collection/components/action-sheet/action-sheet.js +8 -15
  66. package/dist/collection/components/action-sheet/action-sheet.md.css +0 -84
  67. package/dist/collection/components/action-sheet/animations/ionic.enter.js +27 -0
  68. package/dist/collection/components/action-sheet/animations/ionic.leave.js +21 -0
  69. package/dist/collection/components/alert/alert.ios.css +0 -83
  70. package/dist/collection/components/alert/alert.js +8 -29
  71. package/dist/collection/components/alert/alert.md.css +0 -83
  72. package/dist/collection/components/alert/animations/ionic.enter.js +28 -0
  73. package/dist/collection/components/alert/animations/ionic.leave.js +19 -0
  74. package/dist/collection/components/loading/animations/ionic.enter.js +28 -0
  75. package/dist/collection/components/loading/animations/ionic.leave.js +22 -0
  76. package/dist/collection/components/loading/loading.js +4 -3
  77. package/dist/collection/components/modal/animations/ionic.enter.js +40 -0
  78. package/dist/collection/components/modal/animations/ionic.leave.js +28 -0
  79. package/dist/collection/components/modal/gestures/sheet.js +71 -9
  80. package/dist/collection/components/modal/modal.ionic.css +1 -1
  81. package/dist/collection/components/modal/modal.js +6 -5
  82. package/dist/collection/components/picker-legacy/animations/ionic.enter.js +27 -0
  83. package/dist/collection/components/picker-legacy/animations/ionic.leave.js +23 -0
  84. package/dist/collection/components/picker-legacy/picker.js +4 -3
  85. package/dist/collection/components/popover/animations/ionic.enter.js +91 -0
  86. package/dist/collection/components/popover/animations/ionic.leave.js +29 -0
  87. package/dist/collection/components/popover/popover.js +4 -3
  88. package/dist/collection/components/select/select.ionic.css +0 -31
  89. package/dist/collection/components/select/select.ios.css +0 -31
  90. package/dist/collection/components/select/select.js +14 -125
  91. package/dist/collection/components/select/select.md.css +0 -31
  92. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -24
  93. package/dist/collection/components/select-modal/select-modal.ios.css +0 -77
  94. package/dist/collection/components/select-modal/select-modal.js +23 -42
  95. package/dist/collection/components/select-modal/select-modal.md.css +1 -80
  96. package/dist/collection/components/select-option/select-option.js +2 -21
  97. package/dist/collection/components/select-popover/select-popover.ios.css +0 -77
  98. package/dist/collection/components/select-popover/select-popover.js +26 -45
  99. package/dist/collection/components/select-popover/select-popover.md.css +0 -77
  100. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  101. package/dist/collection/components/spinner/spinner.js +1 -1
  102. package/dist/collection/components/split-pane/split-pane.js +2 -2
  103. package/dist/collection/components/tab/tab.js +2 -2
  104. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  105. package/dist/collection/components/tab-button/tab-button.js +2 -2
  106. package/dist/collection/components/tabs/tabs.js +1 -1
  107. package/dist/collection/components/text/text.js +2 -2
  108. package/dist/collection/components/textarea/textarea.js +3 -3
  109. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  110. package/dist/collection/components/title/title.js +2 -2
  111. package/dist/collection/components/toast/animations/ionic.enter.js +33 -0
  112. package/dist/collection/components/toast/animations/ionic.leave.js +16 -0
  113. package/dist/collection/components/toast/toast.js +4 -3
  114. package/dist/collection/components/toggle/toggle.js +3 -3
  115. package/dist/collection/components/toolbar/toolbar.js +2 -2
  116. package/dist/collection/utils/overlays.js +5 -5
  117. package/dist/docs.json +5 -139
  118. package/dist/esm/index.js +1 -1
  119. package/dist/esm/ion-action-sheet.entry.js +34 -18
  120. package/dist/esm/ion-alert.entry.js +35 -32
  121. package/dist/esm/ion-app_8.entry.js +4 -4
  122. package/dist/esm/ion-avatar_3.entry.js +2 -2
  123. package/dist/esm/ion-datetime_3.entry.js +28 -4
  124. package/dist/esm/ion-item_8.entry.js +2 -2
  125. package/dist/esm/ion-loading.entry.js +29 -4
  126. package/dist/esm/ion-menu_3.entry.js +1 -1
  127. package/dist/esm/ion-modal.entry.js +177 -80
  128. package/dist/esm/ion-popover.entry.js +90 -4
  129. package/dist/esm/ion-select-modal.entry.js +27 -46
  130. package/dist/esm/ion-select_3.entry.js +49 -178
  131. package/dist/esm/ion-spinner.entry.js +1 -1
  132. package/dist/esm/ion-split-pane.entry.js +2 -2
  133. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  134. package/dist/esm/ion-tab_2.entry.js +3 -3
  135. package/dist/esm/ion-text.entry.js +2 -2
  136. package/dist/esm/ion-textarea.entry.js +3 -3
  137. package/dist/esm/ion-toast.entry.js +32 -4
  138. package/dist/esm/ion-toggle.entry.js +3 -3
  139. package/dist/esm/ionic.js +1 -1
  140. package/dist/esm/loader.js +1 -1
  141. package/dist/esm/{overlays-CvFHfO3y.js → overlays-VA-4NWjf.js} +5 -5
  142. package/dist/html.html-data.json +0 -4
  143. package/dist/ionic/index.esm.js +1 -1
  144. package/dist/ionic/ionic.esm.js +1 -1
  145. package/dist/ionic/p-07b129d5.entry.js +4 -0
  146. package/dist/ionic/p-0cb50208.entry.js +4 -0
  147. package/dist/ionic/{p-db4f4eaf.entry.js → p-1efe83c8.entry.js} +1 -1
  148. package/dist/ionic/{p-d2fe6791.entry.js → p-2193e875.entry.js} +1 -1
  149. package/dist/ionic/{p-69033ad6.entry.js → p-2bf931ae.entry.js} +1 -1
  150. package/dist/ionic/{p-26595044.entry.js → p-3bf01c2c.entry.js} +1 -1
  151. package/dist/ionic/p-3d4c8528.entry.js +4 -0
  152. package/dist/ionic/{p-9e71982e.entry.js → p-49799a34.entry.js} +1 -1
  153. package/dist/ionic/p-64341e32.entry.js +4 -0
  154. package/dist/ionic/p-6992d9d6.entry.js +4 -0
  155. package/dist/ionic/{p-aa8c1e64.entry.js → p-6c8c37c2.entry.js} +1 -1
  156. package/dist/ionic/{p-a94016be.entry.js → p-91e242e4.entry.js} +1 -1
  157. package/dist/ionic/{p-96ec9a10.entry.js → p-9b9b1450.entry.js} +1 -1
  158. package/dist/ionic/p-9dd4276b.entry.js +4 -0
  159. package/dist/ionic/p-BExfzy0B.js +4 -0
  160. package/dist/ionic/p-a3d794ba.entry.js +4 -0
  161. package/dist/ionic/p-ba9f8cbb.entry.js +4 -0
  162. package/dist/ionic/{p-2095969c.entry.js → p-bae3ebe5.entry.js} +1 -1
  163. package/dist/ionic/{p-a1c8ba8c.entry.js → p-bc5713f7.entry.js} +1 -1
  164. package/dist/ionic/{p-71f28573.entry.js → p-cdfbe4cc.entry.js} +1 -1
  165. package/dist/ionic/p-fa701753.entry.js +4 -0
  166. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +1 -4
  167. package/dist/types/components/action-sheet/animations/ionic.enter.d.ts +5 -0
  168. package/dist/types/components/action-sheet/animations/ionic.leave.d.ts +5 -0
  169. package/dist/types/components/alert/alert-interface.d.ts +1 -4
  170. package/dist/types/components/alert/animations/ionic.enter.d.ts +5 -0
  171. package/dist/types/components/alert/animations/ionic.leave.d.ts +5 -0
  172. package/dist/types/components/loading/animations/ionic.enter.d.ts +5 -0
  173. package/dist/types/components/loading/animations/ionic.leave.d.ts +5 -0
  174. package/dist/types/components/modal/animations/ionic.enter.d.ts +6 -0
  175. package/dist/types/components/modal/animations/ionic.leave.d.ts +6 -0
  176. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  177. package/dist/types/components/picker-legacy/animations/ionic.enter.d.ts +5 -0
  178. package/dist/types/components/picker-legacy/animations/ionic.leave.d.ts +5 -0
  179. package/dist/types/components/popover/animations/ionic.enter.d.ts +5 -0
  180. package/dist/types/components/popover/animations/ionic.leave.d.ts +5 -0
  181. package/dist/types/components/select/select.d.ts +0 -7
  182. package/dist/types/components/select-modal/select-modal-interface.d.ts +1 -4
  183. package/dist/types/components/select-option/select-option.d.ts +0 -4
  184. package/dist/types/components/select-popover/select-popover-interface.d.ts +1 -4
  185. package/dist/types/components/toast/animations/ionic.enter.d.ts +6 -0
  186. package/dist/types/components/toast/animations/ionic.leave.d.ts +5 -0
  187. package/dist/types/components.d.ts +0 -9
  188. package/dist/types/utils/overlays.d.ts +1 -1
  189. package/hydrate/index.js +518 -442
  190. package/hydrate/index.mjs +518 -442
  191. package/package.json +1 -1
  192. package/components/p-B6czg-mf.js +0 -4
  193. package/components/p-BDwab5EM.js +0 -4
  194. package/components/p-BjV_nNDy.js +0 -4
  195. package/components/p-C8Dne7pI.js +0 -4
  196. package/components/p-C9d4LXRu.js +0 -4
  197. package/components/p-CvoKp7OI.js +0 -4
  198. package/components/p-GytrfCp8.js +0 -4
  199. package/components/p-ZeIAjDcZ.js +0 -4
  200. package/dist/cjs/select-option-render-qQf4xz8P.js +0 -67
  201. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -834
  202. package/dist/collection/components/alert/alert.ionic.css +0 -1165
  203. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -489
  204. package/dist/collection/utils/select-option-render.js +0 -62
  205. package/dist/esm/select-option-render-BQUT9Aqa.js +0 -65
  206. package/dist/ionic/p-37f895a8.entry.js +0 -4
  207. package/dist/ionic/p-3884bfa4.entry.js +0 -4
  208. package/dist/ionic/p-38897781.entry.js +0 -4
  209. package/dist/ionic/p-63e09af5.entry.js +0 -4
  210. package/dist/ionic/p-6bffc700.entry.js +0 -4
  211. package/dist/ionic/p-6e0ce081.entry.js +0 -4
  212. package/dist/ionic/p-BYtS2rae.js +0 -4
  213. package/dist/ionic/p-Dr3N4o63.js +0 -4
  214. package/dist/ionic/p-a64ae62e.entry.js +0 -4
  215. package/dist/ionic/p-d45b911b.entry.js +0 -4
  216. package/dist/ionic/p-ef0c281a.entry.js +0 -4
  217. package/dist/types/utils/select-option-render.d.ts +0 -26
@@ -1,58 +1,3 @@
1
- /**
2
- * A heuristic that applies CSS to tablet
3
- * viewports.
4
- *
5
- * Usage:
6
- * @include tablet-viewport() {
7
- * :host {
8
- * background-color: green;
9
- * }
10
- * }
11
- */
12
- /**
13
- * A heuristic that applies CSS to mobile
14
- * viewports (i.e. phones, not tablets).
15
- *
16
- * Usage:
17
- * @include mobile-viewport() {
18
- * :host {
19
- * background-color: blue;
20
- * }
21
- * }
22
- */
23
- /**
24
- * Convert a font size to a dynamic font size.
25
- * Fonts that participate in Dynamic Type should use
26
- * dynamic font sizes.
27
- * @param size - The initial font size including the unit (i.e. px or pt)
28
- * @param unit (optional) - The unit to convert 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
- * a maximum font size.
34
- * @param size - The initial font size including the unit (i.e. px or pt)
35
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
36
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
37
- * convert to a unit other than $baselineUnit.
38
- */
39
- /**
40
- * Convert a font size to a dynamic font size but impose
41
- * a minimum font size.
42
- * @param size - The initial font size including the unit (i.e. px or pt)
43
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
44
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
- * convert to a unit other than $baselineUnit.
46
- */
47
- /**
48
- * Convert a font size to a dynamic font size but impose
49
- * maximum and minimum font sizes.
50
- * @param size - The initial font size including the unit (i.e. px or pt)
51
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
53
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
54
- * convert to a unit other than $baselineUnit.
55
- */
56
1
  /**
57
2
  * Convert a pixels given value into rem
58
3
  *
@@ -139,28 +84,6 @@ ion-label {
139
84
  overflow-y: auto;
140
85
  }
141
86
 
142
- .select-option-label {
143
- display: flex;
144
- align-items: center;
145
- }
146
-
147
- .select-option-description {
148
- display: block;
149
- }
150
-
151
- .select-option-label {
152
- gap: 12px;
153
- }
154
-
155
- .select-option-description {
156
- padding-left: 0;
157
- padding-right: 0;
158
- padding-top: 5px;
159
- padding-bottom: 0;
160
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
161
- font-size: 0.75rem;
162
- }
163
-
164
87
  /**
165
88
  * Convert a pixels given value into rem
166
89
  *
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import { Host, h, forceUpdate } from "@stencil/core";
5
5
  import { safeCall } from "../../utils/overlays";
6
- import { renderOptionLabel } from "../../utils/select-option-render";
7
6
  import { getClassMap } from "../../utils/theme";
8
7
  import { getIonTheme } from "../../global/ionic-global";
9
8
  /**
@@ -76,57 +75,39 @@ export class SelectPopover {
76
75
  }
77
76
  }
78
77
  renderCheckboxOptions(options) {
79
- return options.map((option, index) => {
80
- const optionLabelOptions = {
81
- id: `popover-option-${index}`,
82
- label: option.text,
83
- startContent: option.startContent,
84
- endContent: option.endContent,
85
- description: option.description,
86
- };
87
- return (h("ion-item", { class: Object.assign({
88
- // TODO FW-4784
89
- 'item-checkbox-checked': option.checked
90
- }, getClassMap(option.cssClass)) }, h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
91
- this.setChecked(ev);
92
- this.callOptionHandler(ev);
93
- // TODO FW-4784
94
- forceUpdate(this);
95
- } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
96
- });
78
+ return options.map((option) => (h("ion-item", { class: Object.assign({
79
+ // TODO FW-4784
80
+ 'item-checkbox-checked': option.checked
81
+ }, getClassMap(option.cssClass)) }, h("ion-checkbox", { value: option.value, disabled: option.disabled, checked: option.checked, justify: "start", labelPlacement: "end", onIonChange: (ev) => {
82
+ this.setChecked(ev);
83
+ this.callOptionHandler(ev);
84
+ // TODO FW-4784
85
+ forceUpdate(this);
86
+ } }, option.text))));
97
87
  }
98
88
  renderRadioOptions(options) {
99
89
  const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
100
- return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option, index) => {
101
- const optionLabelOptions = {
102
- id: `popover-option-${index}`,
103
- label: option.text,
104
- startContent: option.startContent,
105
- endContent: option.endContent,
106
- description: option.description,
107
- };
108
- return (h("ion-item", { class: Object.assign({
109
- // TODO FW-4784
110
- 'item-radio-checked': option.value === checked
111
- }, getClassMap(option.cssClass)) }, h("ion-radio", { value: option.value, disabled: option.disabled, onClick: () => this.dismissParentPopover(), onKeyUp: (ev) => {
112
- if (ev.key === ' ') {
113
- /**
114
- * Selecting a radio option with keyboard navigation,
115
- * either through the Enter or Space keys, should
116
- * dismiss the popover.
117
- */
118
- this.dismissParentPopover();
119
- }
120
- } }, renderOptionLabel(optionLabelOptions, 'select-option-label'))));
121
- })));
90
+ return (h("ion-radio-group", { value: checked, onIonChange: (ev) => this.callOptionHandler(ev) }, options.map((option) => (h("ion-item", { class: Object.assign({
91
+ // TODO FW-4784
92
+ 'item-radio-checked': option.value === checked
93
+ }, getClassMap(option.cssClass)) }, h("ion-radio", { value: option.value, disabled: option.disabled, onClick: () => this.dismissParentPopover(), onKeyUp: (ev) => {
94
+ if (ev.key === ' ') {
95
+ /**
96
+ * Selecting a radio option with keyboard navigation,
97
+ * either through the Enter or Space keys, should
98
+ * dismiss the popover.
99
+ */
100
+ this.dismissParentPopover();
101
+ }
102
+ } }, option.text))))));
122
103
  }
123
104
  render() {
124
105
  const { header, message, options, subHeader } = this;
125
106
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
126
107
  const theme = getIonTheme(this);
127
- return (h(Host, { key: 'feca67a1e521063a57e23191c04736aa85c5655f', class: {
108
+ return (h(Host, { key: '9b5160e6657620038fb4167ab7d08e2687be554b', class: {
128
109
  [theme]: true,
129
- } }, h("ion-list", { key: '646ff6d365c10dd16017096adf9cfa5ff1f61c2e' }, header !== undefined && h("ion-list-header", { key: '059e91049e595eea5663fabb7f139f8ba37e5fec' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '9cd2924bc696361003cfe7122bd6cdb855fa1c77' }, h("ion-label", { key: '42c32787a86e4de9b98773652dcd7b269faf3da1', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'e27f78519af68e24130be3d4a166f351bb2b174b' }, subHeader), message !== undefined && h("p", { key: '6a3f45fc5f1d95c02ae37cba9741d2a7325971a4' }, message)))), this.renderOptions(options))));
110
+ } }, h("ion-list", { key: '5f015bcc53bf96de3da98f05a73c6e1e7bc3250c' }, header !== undefined && h("ion-list-header", { key: 'e7275a4b3b0b8706b6a89ed9fd4bf1bb6cf274a8' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: 'ca5750144abaf01d613f7ff4923939e6d6f4c0c8' }, h("ion-label", { key: '299735684f529e05f08405b6587dec23fb8d2851', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'af85ac2c17050eca4902811a886e7001b92701fe' }, subHeader), message !== undefined && h("p", { key: 'f64006af8f2ffaf41d6d21701efa2d40580796e0' }, message)))), this.renderOptions(options))));
130
111
  }
131
112
  static get is() { return "ion-select-popover"; }
132
113
  static get encapsulation() { return "scoped"; }
@@ -134,14 +115,14 @@ export class SelectPopover {
134
115
  return {
135
116
  "ios": ["select-popover.ios.scss"],
136
117
  "md": ["select-popover.md.scss"],
137
- "ionic": ["select-popover.ionic.scss"]
118
+ "ionic": ["select-popover.md.scss"]
138
119
  };
139
120
  }
140
121
  static get styleUrls() {
141
122
  return {
142
123
  "ios": ["select-popover.ios.css"],
143
124
  "md": ["select-popover.md.css"],
144
- "ionic": ["select-popover.ionic.css"]
125
+ "ionic": ["select-popover.md.css"]
145
126
  };
146
127
  }
147
128
  static get properties() {
@@ -1,58 +1,3 @@
1
- /**
2
- * A heuristic that applies CSS to tablet
3
- * viewports.
4
- *
5
- * Usage:
6
- * @include tablet-viewport() {
7
- * :host {
8
- * background-color: green;
9
- * }
10
- * }
11
- */
12
- /**
13
- * A heuristic that applies CSS to mobile
14
- * viewports (i.e. phones, not tablets).
15
- *
16
- * Usage:
17
- * @include mobile-viewport() {
18
- * :host {
19
- * background-color: blue;
20
- * }
21
- * }
22
- */
23
- /**
24
- * Convert a font size to a dynamic font size.
25
- * Fonts that participate in Dynamic Type should use
26
- * dynamic font sizes.
27
- * @param size - The initial font size including the unit (i.e. px or pt)
28
- * @param unit (optional) - The unit to convert 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
- * a maximum font size.
34
- * @param size - The initial font size including the unit (i.e. px or pt)
35
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
36
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
37
- * convert to a unit other than $baselineUnit.
38
- */
39
- /**
40
- * Convert a font size to a dynamic font size but impose
41
- * a minimum font size.
42
- * @param size - The initial font size including the unit (i.e. px or pt)
43
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
44
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
- * convert to a unit other than $baselineUnit.
46
- */
47
- /**
48
- * Convert a font size to a dynamic font size but impose
49
- * maximum and minimum font sizes.
50
- * @param size - The initial font size including the unit (i.e. px or pt)
51
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
53
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
54
- * convert to a unit other than $baselineUnit.
55
- */
56
1
  /**
57
2
  * Convert a pixels given value into rem
58
3
  *
@@ -139,28 +84,6 @@ ion-label {
139
84
  overflow-y: auto;
140
85
  }
141
86
 
142
- .select-option-label {
143
- display: flex;
144
- align-items: center;
145
- }
146
-
147
- .select-option-description {
148
- display: block;
149
- }
150
-
151
- .select-option-label {
152
- gap: 12px;
153
- }
154
-
155
- .select-option-description {
156
- padding-left: 0;
157
- padding-right: 0;
158
- padding-top: 5px;
159
- padding-bottom: 0;
160
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
161
- font-size: 0.75rem;
162
- }
163
-
164
87
  /**
165
88
  * Convert a pixels given value into rem
166
89
  *
@@ -32,11 +32,11 @@ export class SkeletonText {
32
32
  const animated = this.animated && config.getBoolean('animated', true);
33
33
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34
34
  const theme = getIonTheme(this);
35
- return (h(Host, { key: '7ecf3ae7e75872c65ba0620eecba500c7e75efd9', class: {
35
+ return (h(Host, { key: '5014563646b6c5213750d503babce3013b66ec96', class: {
36
36
  [theme]: true,
37
37
  'skeleton-text-animated': animated,
38
38
  'in-media': inMedia,
39
- } }, h("span", { key: '5d0cd4fec873b8874cbc61eeb14cc3332948714c' }, "\u00A0")));
39
+ } }, h("span", { key: '4b816883b1c71bb1db66d8b2b084559f7cb489bd' }, "\u00A0")));
40
40
  }
41
41
  static get is() { return "ion-skeleton-text"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class Spinner {
56
56
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
57
57
  }
58
58
  }
59
- return (h(Host, { key: 'ffa2aff2489b312e7fe5ed12367a8e7a5a0c9e84', class: createColorClasses(self.color, {
59
+ return (h(Host, { key: '0b3ce4b99c2c828d05b507c4f073811ebbe17d0f', class: createColorClasses(self.color, {
60
60
  [theme]: true,
61
61
  [`spinner-${spinnerName}`]: true,
62
62
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -130,12 +130,12 @@ export class SplitPane {
130
130
  }
131
131
  render() {
132
132
  const theme = getIonTheme(this);
133
- return (h(Host, { key: 'ba071f752105c205268870e6a6c56ff9bd526b58', class: {
133
+ return (h(Host, { key: '9d0c67f1f81b09bb9a6f14a66053e5cc7431a286', class: {
134
134
  [theme]: true,
135
135
  // Used internally for styling
136
136
  [`split-pane-${theme}`]: true,
137
137
  'split-pane-visible': this.visible,
138
- } }, h("slot", { key: '32717b94ab9f2e35d8e8e078916e17b2f537a36c' })));
138
+ } }, h("slot", { key: 'ab7b3050d3c5484bd00949cf57efa4396b4d5bc3' })));
139
139
  }
140
140
  static get is() { return "ion-split-pane"; }
141
141
  static get encapsulation() { return "shadow"; }
@@ -51,10 +51,10 @@ export class Tab {
51
51
  }
52
52
  render() {
53
53
  const { tab, active, component } = this;
54
- return (h(Host, { key: 'd0f187723395ce3a1b8bca0532ef5debbc937112', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
54
+ return (h(Host, { key: 'b249545a5adfcef4616afe79aa0f215bab464d0a', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
55
55
  'ion-page': component === undefined,
56
56
  'tab-hidden': !active,
57
- } }, h("slot", { key: '101dbf0b24d10663caac383cc55e00e7d8b69075' })));
57
+ } }, h("slot", { key: '19e2a406d96d20d8d4af8c3ff900e975d06021f6' })));
58
58
  }
59
59
  static get is() { return "ion-tab"; }
60
60
  static get encapsulation() { return "shadow"; }
@@ -111,13 +111,13 @@ export class TabBar {
111
111
  const theme = getIonTheme(this);
112
112
  const shape = this.getShape();
113
113
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
114
- return (h(Host, { key: 'c611d612cadde5ccd785bca07044dd6d4b6ab7d8', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
114
+ return (h(Host, { key: 'e6466b90b72ed2e62c8c20fee2bc0b262ca4ccae', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
115
115
  [theme]: true,
116
116
  'tab-bar-translucent': translucent,
117
117
  'tab-bar-hidden': shouldHide,
118
118
  [`tab-bar-${expand}`]: true,
119
119
  [`tab-bar-${shape}`]: shape !== undefined,
120
- }) }, h("slot", { key: 'e2a59593a95658fe2b4960900922525e180ff0b3' })));
120
+ }) }, h("slot", { key: '6801f9523822178692d9091b0132f1b1dd41892d' })));
121
121
  }
122
122
  static get is() { return "ion-tab-bar"; }
123
123
  static get encapsulation() { return "shadow"; }
@@ -93,7 +93,7 @@ export class TabButton {
93
93
  rel,
94
94
  target,
95
95
  };
96
- return (h(Host, { key: 'bcb528b6ff33f94949450e5dfd68e4d960cf5423', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
96
+ return (h(Host, { key: '5a32785eaf0570cdc3444d52ce8bba8174c3e0b9', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
97
97
  [theme]: true,
98
98
  'tab-selected': selected,
99
99
  'tab-disabled': disabled,
@@ -106,7 +106,7 @@ export class TabButton {
106
106
  'ion-selectable': true,
107
107
  [`tab-button-shape-${shape}`]: shape !== undefined,
108
108
  'ion-focusable': true,
109
- } }, h("a", Object.assign({ key: '25b6a211e06c352c77e01d66f4158fc3a08431c1' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: 'eb7a8ec7ff898fd69adc41e9d9bda04c72c8751c', class: "button-inner" }, h("slot", { key: 'b5e0aaebcc81dd3d306f9bf079033e956117700e' })), theme === 'md' && h("ion-ripple-effect", { key: '5f236205851b6512f2a4cd187950ca7b88e6622f', type: "unbounded" }))));
109
+ } }, h("a", Object.assign({ key: '1441f409b4a60823a57f27b90f6840b557b7d65a' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '1566ca0af66b6e51068aca221a89133d2af061ed', class: "button-inner" }, h("slot", { key: '757878091cfe3768107eb0a53b8d1c895ce43399' })), theme === 'md' && h("ion-ripple-effect", { key: '28dde3e7127bdc9d5e1477b47458a5a4ab71328e', type: "unbounded" }))));
110
110
  }
111
111
  static get is() { return "ion-tab-button"; }
112
112
  static get encapsulation() { return "shadow"; }
@@ -165,7 +165,7 @@ export class Tabs {
165
165
  return Array.from(this.el.querySelectorAll('ion-tab'));
166
166
  }
167
167
  render() {
168
- return (h(Host, { key: '349bb9ccaaa04426ea24f5dad1386a7876d9abdf', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '2ee0972213087203ebe442be897a95877d7c45f4', name: "top" }), h("div", { key: '15d7938fd4220c276d450eb277ae01fff6a82446', class: "tabs-inner" }, h("slot", { key: 'fb9005ecedc09ff3b4e90837806ace918c121dff' })), h("slot", { key: '0471aa1559469c9416d53ff4a1526b9cc2efde4b', name: "bottom" })));
168
+ return (h(Host, { key: '9c05f69a72ab24897f1febab0928783d08224734', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '56407c9562bfd095e0259e430879151b824287fd', name: "top" }), h("div", { key: '6a86ceff372b8a60342040d9361ad31bf05e80ec', class: "tabs-inner" }, h("slot", { key: 'a554d3e835236a87686a0a53bd16d3124e77c0c5' })), h("slot", { key: 'd241d4cfba26a7ce3a3f93703dae18b8857bd9ee', name: "bottom" })));
169
169
  }
170
170
  static get is() { return "ion-tabs"; }
171
171
  static get encapsulation() { return "shadow"; }
@@ -11,9 +11,9 @@ import { getIonTheme } from "../../global/ionic-global";
11
11
  export class Text {
12
12
  render() {
13
13
  const theme = getIonTheme(this);
14
- return (h(Host, { key: '5b28c2e9965f6d9f5b25ba6c77f29e4c1de2da3c', class: createColorClasses(this.color, {
14
+ return (h(Host, { key: '7a3f31d6e219207a1ff98ac441357caa512012e5', class: createColorClasses(this.color, {
15
15
  [theme]: true,
16
- }) }, h("slot", { key: 'cbe285130bb096c5f3f4a7345a71db49d8bdef82' })));
16
+ }) }, h("slot", { key: '392d48d6a5e0e5d1b44e762ec96fb8b53b3ebd49' })));
17
17
  }
18
18
  static get is() { return "ion-text"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -565,7 +565,7 @@ export class Textarea {
565
565
  * TODO(FW-5592): Remove hasStartEndSlots condition
566
566
  */
567
567
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
568
- return (h(Host, { key: '83736da2d61c935a71121245858009adef0b9d80', class: createColorClasses(this.color, {
568
+ return (h(Host, { key: 'b31341357553adac08f518e48d83127415f36500', class: createColorClasses(this.color, {
569
569
  [theme]: true,
570
570
  'has-value': hasValue,
571
571
  'has-focus': hasFocus,
@@ -577,7 +577,7 @@ export class Textarea {
577
577
  'in-item': inItem,
578
578
  'textarea-disabled': disabled,
579
579
  'textarea-readonly': readonly,
580
- }) }, h("label", { key: '808ab4bcee4e76cc3e156fd50246a0b55010afae', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: 'f18d3890414a2807df4ad853e5788b5ab6d43117', class: "textarea-wrapper-inner" },
580
+ }) }, h("label", { key: '406cb6739da3382da1f723c42f4ea5aee86e09d4', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '69056191d5f1036bcb88a31d44bc61e3a98f9ebc', class: "textarea-wrapper-inner" },
581
581
  /**
582
582
  * For the ionic theme, we render the outline container here
583
583
  * instead of higher up, so it can be positioned relative to
@@ -587,7 +587,7 @@ export class Textarea {
587
587
  * <label> element, ensuring that clicking the label text
588
588
  * focuses the textarea.
589
589
  */
590
- theme === 'ionic' && fill === 'outline' && h("div", { key: '9f6e88c47eb3535c2aec69e340fdcbe85ab62252', class: "textarea-outline" }), h("div", { key: 'd475f7f4aee2ec5e03f4926de20f31269a8fa822', class: "start-slot-wrapper" }, h("slot", { key: '3a73320f79fba2a1ea0570e10897d047320bf0a4', name: "start" })), h("div", { key: '4a6d0e4ca328435d537b814c052ba083e9470d6d', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, h("textarea", Object.assign({ key: 'afb9bad3b1cb2e904cad008abdc5a7145a2c2e0b', class: "native-textarea", part: "native", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), h("div", { key: '5de4fa3ef8c3b06b78f30fe5d7569df1012345a7', class: "end-slot-wrapper" }, h("slot", { key: 'fec86a4fdd3a3bafc34e63e51ee52be45f2d9203', name: "end" }))), shouldRenderHighlight && h("div", { key: 'd6414e625a41de93eb44670c2b26300c4c1c0470', class: "textarea-highlight" })), this.renderBottomContent()));
590
+ theme === 'ionic' && fill === 'outline' && h("div", { key: 'eff37b99e2f47f1973cc61611647c28ae7271a4d', class: "textarea-outline" }), h("div", { key: '9c70d10b3d2cce601f670cd86bfc19fff10233da', class: "start-slot-wrapper" }, h("slot", { key: 'b0c92cc7941a0810faabfb1acf177c019e200a5d', name: "start" })), h("div", { key: 'a6f9a2c06a009c322d29aa3a6e2b5a79f3532c5b', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, h("textarea", Object.assign({ key: 'eb6bf7370fa3047ed475680111d3e232f0c0644c', class: "native-textarea", part: "native", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), h("div", { key: 'e869ef964514267c0d419d474c16303c01d26cec', class: "end-slot-wrapper" }, h("slot", { key: '8e9905fe7caaf4be904f9cfbc3d9d7f9c48deb50', name: "end" }))), shouldRenderHighlight && h("div", { key: '4287784c6b896b13a4205f5f959aebbbcdd49db3', class: "textarea-highlight" })), this.renderBottomContent()));
591
591
  }
592
592
  static get is() { return "ion-textarea"; }
593
593
  static get encapsulation() { return "shadow"; }
@@ -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: '4e648ac7ee9586cb95ee5bba2cce9f36eb831763', class: {
13
+ return (h(Host, { key: '6053cf163155d4268dad4fc81ffc6bbc70d75659', class: {
14
14
  [theme]: true,
15
- } }, h("slot", { key: '2f249fca7ef22eb02a7a7a59a77dc3414aaca2ae' })));
15
+ } }, h("slot", { key: 'b7afb5835bce7c7ed9e5cf44758bbe2d802e1271' })));
16
16
  }
17
17
  static get is() { return "ion-thumbnail"; }
18
18
  static get encapsulation() { return "shadow"; }
@@ -27,11 +27,11 @@ export class ToolbarTitle {
27
27
  render() {
28
28
  const theme = getIonTheme(this);
29
29
  const size = this.getSize();
30
- return (h(Host, { key: '1878dd41dc0bae351513c0fe0a2513b19860e2ca', class: createColorClasses(this.color, {
30
+ return (h(Host, { key: '8db3e5f9dbd8b1762a9919eaeef29c98649dfb25', class: createColorClasses(this.color, {
31
31
  [theme]: true,
32
32
  [`title-${size}`]: true,
33
33
  'title-rtl': document.dir === 'rtl',
34
- }) }, h("div", { key: '6a901d75e397beb1392efe9369a0c1006267fc3b', class: "toolbar-title" }, h("slot", { key: 'd024f2dd88be52409be89df1e05aecfd31f851ee' }))));
34
+ }) }, h("div", { key: 'a31ebae2c494a51d2145eec69d0b1bc635108a01', class: "toolbar-title" }, h("slot", { key: 'f5975b44b3e3afbf98dcbdb53fc78447b49407b3' }))));
35
35
  }
36
36
  static get is() { return "ion-title"; }
37
37
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,33 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { createAnimation } from "../../../utils/animation/animation";
5
+ import { getElementRoot } from "../../../utils/helpers";
6
+ import { getOffsetForMiddlePosition } from "./utils";
7
+ /**
8
+ * Ionic Toast Enter Animation
9
+ */
10
+ export const ionicEnterAnimation = (baseEl, opts) => {
11
+ const baseAnimation = createAnimation();
12
+ const wrapperAnimation = createAnimation();
13
+ const { position, top, bottom } = opts;
14
+ const root = getElementRoot(baseEl);
15
+ const wrapperEl = root.querySelector('.toast-wrapper');
16
+ wrapperAnimation.addElement(wrapperEl);
17
+ switch (position) {
18
+ case 'top':
19
+ wrapperEl.style.setProperty('transform', `translateY(${top})`);
20
+ wrapperAnimation.fromTo('opacity', 0.01, 1);
21
+ break;
22
+ case 'middle':
23
+ const topPosition = getOffsetForMiddlePosition(baseEl.clientHeight, wrapperEl.clientHeight);
24
+ wrapperEl.style.top = `${topPosition}px`;
25
+ wrapperAnimation.fromTo('opacity', 0.01, 1);
26
+ break;
27
+ default:
28
+ wrapperEl.style.setProperty('transform', `translateY(${bottom})`);
29
+ wrapperAnimation.fromTo('opacity', 0.01, 1);
30
+ break;
31
+ }
32
+ return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation(wrapperAnimation);
33
+ };
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { createAnimation } from "../../../utils/animation/animation";
5
+ import { getElementRoot } from "../../../utils/helpers";
6
+ /**
7
+ * Ionic Toast Leave Animation
8
+ */
9
+ export const ionicLeaveAnimation = (baseEl) => {
10
+ const baseAnimation = createAnimation();
11
+ const wrapperAnimation = createAnimation();
12
+ const root = getElementRoot(baseEl);
13
+ const wrapperEl = root.querySelector('.toast-wrapper');
14
+ wrapperAnimation.addElement(wrapperEl).fromTo('opacity', 0.99, 0);
15
+ return baseAnimation.easing('cubic-bezier(.36,.66,.04,1)').duration(300).addAnimation(wrapperAnimation);
16
+ };
@@ -11,6 +11,7 @@ import { sanitizeDOMString } from "../../utils/sanitization/index";
11
11
  import { createColorClasses, getClassMap } from "../../utils/theme";
12
12
  import { config } from "../../global/config";
13
13
  import { getIonMode, getIonTheme } from "../../global/ionic-global";
14
+ import { ionicEnterAnimation } from "./animations/ionic.enter";
14
15
  import { iosEnterAnimation } from "./animations/ios.enter";
15
16
  import { iosLeaveAnimation } from "./animations/ios.leave";
16
17
  import { mdEnterAnimation } from "./animations/md.enter";
@@ -224,7 +225,7 @@ export class Toast {
224
225
  * in the dismiss animation.
225
226
  */
226
227
  this.lastPresentedPosition = animationPosition;
227
- await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, {
228
+ await present(this, 'toastEnter', iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, {
228
229
  position,
229
230
  top: animationPosition.top,
230
231
  bottom: animationPosition.bottom,
@@ -439,9 +440,9 @@ export class Toast {
439
440
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
440
441
  printIonWarning('[ion-toast] - 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);
441
442
  }
442
- return (h(Host, Object.assign({ key: '8f2a7964ecbc74d57a7743475f51abba45ec5302', tabindex: "-1" }, this.htmlAttributes, { style: {
443
+ return (h(Host, Object.assign({ key: 'e83590dd87745fc9579319513eb22c0db5d3e53f', tabindex: "-1" }, this.htmlAttributes, { style: {
443
444
  zIndex: `${60000 + this.overlayIndex}`,
444
- }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'bb637ccbcda0c68c34d0a9efc8bd5c0ee9da49f9', class: wrapperClass, part: "wrapper" }, h("div", { key: '3779659eb5d855dd360503b336090c7e0b569975', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '768a222c9b188978afeda83119d71bde8fb6e2b3', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '4a5fc7d5f374f5a7de1a916351143d5a31d939cf', class: "toast-content", part: "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')))));
445
+ }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'b4c4d4565138cc76ffa9fd5cebc4e489b82cea55', class: wrapperClass, part: "wrapper" }, h("div", { key: '14228286e4c4f6738b14816938e1edb75014f322', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '3403984f86018dedb3cc32b3bd5541a6d0db154f', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '0965413313935e3fe90ce0789d2d029af91f3124', class: "toast-content", part: "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')))));
445
446
  }
446
447
  static get is() { return "ion-toast"; }
447
448
  static get encapsulation() { return "shadow"; }
@@ -338,7 +338,7 @@ export class Toggle {
338
338
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
339
339
  const isIonicTheme = theme === 'ionic';
340
340
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
341
- return (h(Host, { key: 'c6cb748b63423fee5ec8a20c971da76a789565be', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
341
+ return (h(Host, { key: 'b12951146a79d3839e6263e91e747398a0fa901d', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
342
342
  [theme]: true,
343
343
  'in-item': hostContext('ion-item', el),
344
344
  'toggle-activated': activated,
@@ -350,10 +350,10 @@ export class Toggle {
350
350
  [`toggle-${rtl}`]: true,
351
351
  'ion-activatable': isIonicTheme,
352
352
  'ion-focusable': isIonicTheme,
353
- }) }, h("label", { key: '74cfa7dff2e55a9a7a921c1eb2b2d32429c8468c', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'c08526492a357cee5485895a72292c7530ed5503', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: 'bd59cd8dab463e12125da45e43f9b6251240f158', class: {
353
+ }) }, h("label", { key: 'cf1d27243bf9bdd5bafaf6d86b76beb311b5e01c', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'b3eb0f146836f5994c15bf1fd67a79f72b9414f7', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: '56ddcfd6452f30fd6b38d0fd85be3ec966aa120b', class: {
354
354
  'label-text-wrapper': true,
355
355
  'label-text-wrapper-hidden': !hasLabel,
356
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '548804cb29efb86561074081acb7a3ebc4a20615' }), this.renderHintText()), h("div", { key: '4de487ca61f42687072b7b67541c4abefd1665f6', class: "native-wrapper" }, this.renderToggleControl()))));
356
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '706e5b667ee242fb1afb3e4afa613f9798fbe25b' }), this.renderHintText()), h("div", { key: '255ccd7d60f7d78b4eba8d380b303a72093e9d16', class: "native-wrapper" }, this.renderToggleControl()))));
357
357
  }
358
358
  static get is() { return "ion-toggle"; }
359
359
  static get encapsulation() { return "shadow"; }
@@ -242,11 +242,11 @@ export class Toolbar {
242
242
  Object.assign(childStyles, style);
243
243
  });
244
244
  const titlePlacement = this.getTitlePlacement();
245
- return (h(Host, { key: 'f0aeb982054f92d5f78f5ad199252e4b5f30da2a', class: Object.assign(Object.assign({}, createColorClasses(this.color, {
245
+ return (h(Host, { key: 'a2103857ffb26f517b4190bb01a8fa170a042e45', class: Object.assign(Object.assign({}, createColorClasses(this.color, {
246
246
  [theme]: true,
247
247
  'in-toolbar': hostContext('ion-toolbar', this.el),
248
248
  [`toolbar-title-placement-${titlePlacement}`]: true,
249
- })), childStyles) }, h("div", { key: '171fb03d11af753e7a5d8f0852cc4d6c7a83e659', class: "toolbar-background", part: "background" }), h("div", { key: 'bcdc3556337c68f225b6cb714c54dad0ef5a8573', class: "toolbar-container", part: "container" }, h("slot", { key: '76475d634be06e07f552bfe68d304336402a9d26', name: "start", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: 'd1585926018c983010a56014c076f0c1120b893f', name: "secondary", onSlotchange: () => this.updateSlotClasses }), h("div", { key: 'bb2609e1282304595f9770f4a14ff5c64b91c1fa', class: "toolbar-content", part: "content" }, h("slot", { key: '0c06057b148d82f9741387f843ea4b4a8a3c96b6' })), h("slot", { key: '78e91de1d9157e493b8742dd137f3dbf985166a2', name: "primary", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: '58b0271fb1a4b0739d0aa6336599727c0f411d3b', name: "end", onSlotchange: () => this.updateSlotClasses }))));
249
+ })), childStyles) }, h("div", { key: '288b74048d260c9279d6e60c8733e26105ee0098', class: "toolbar-background", part: "background" }), h("div", { key: 'fa4b8cfb32f3bfb84f451cf3a2420b37fc75533c', class: "toolbar-container", part: "container" }, h("slot", { key: 'fe9414ab3fa2ca84d424a400ba91ec8239d700ff', name: "start", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: 'c633cd1b6eef87adbfccfa61857518dcf62ac550', name: "secondary", onSlotchange: () => this.updateSlotClasses }), h("div", { key: 'aff3a3d8acbc480e9daec864aeb85d168ab2c447', class: "toolbar-content", part: "content" }, h("slot", { key: '52b45c5abbfe695e862c857163e7aa00c1c2af9a' })), h("slot", { key: '3157c16fcfe428230998f218c6233d114b550a6f', name: "primary", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: '4b74dff5b832ea0f3030efa319c63c876c3e90e2', name: "end", onSlotchange: () => this.updateSlotClasses }))));
250
250
  }
251
251
  static get is() { return "ion-toolbar"; }
252
252
  static get encapsulation() { return "shadow"; }
@@ -6,7 +6,7 @@ import { focusFirstDescendant, focusLastDescendant, focusableQueryString } from
6
6
  import { shouldUseCloseWatcher } from "./hardware-back-button";
7
7
  import { printIonError, printIonWarning } from "./logging/index";
8
8
  import { config } from "../global/config";
9
- import { getIonMode } from "../global/ionic-global";
9
+ import { getIonMode, getIonTheme } from "../global/ionic-global";
10
10
  import { CoreDelegate } from "./framework-delegate";
11
11
  import { BACKDROP_NO_SCROLL } from "./gesture/gesture-controller";
12
12
  import { OVERLAY_BACK_BUTTON_PRIORITY } from "./hardware-back-button";
@@ -512,7 +512,7 @@ export const setRootAriaHidden = (hidden = false) => {
512
512
  viewContainer.removeAttribute('aria-hidden');
513
513
  }
514
514
  };
515
- export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
515
+ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, ionicEnterAnimation, opts) => {
516
516
  var _a, _b;
517
517
  if (overlay.presented) {
518
518
  return;
@@ -560,11 +560,11 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
560
560
  document.body.classList.add(BACKDROP_NO_SCROLL);
561
561
  }
562
562
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
563
+ const theme = getIonTheme(overlay);
563
564
  const mode = getIonMode(overlay);
565
+ const selectedAnimation = mode === 'ios' ? iosEnterAnimation : theme === 'ionic' ? ionicEnterAnimation : mdEnterAnimation;
564
566
  // get the user's animation fn if one was provided
565
- const animationBuilder = overlay.enterAnimation
566
- ? overlay.enterAnimation
567
- : config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
567
+ const animationBuilder = overlay.enterAnimation ? overlay.enterAnimation : config.get(name, selectedAnimation);
568
568
  const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
569
569
  if (completed) {
570
570
  overlay.didPresent.emit();