@pod-os/elements 0.11.1-e89c280.0 → 0.12.0

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 (205) hide show
  1. package/dist/cjs/{data-0c9489d7.js → data-5be6ab7b.js} +19 -2
  2. package/dist/cjs/elements.cjs.js +2 -2
  3. package/dist/cjs/{index-91d3ff9c.js → index-8c116b24.js} +8463 -446
  4. package/dist/cjs/ion-accordion.cjs.entry.js +2 -2
  5. package/dist/cjs/ion-action-sheet_3.cjs.entry.js +1 -1
  6. package/dist/cjs/{ion-app_25.cjs.entry.js → ion-app_26.cjs.entry.js} +42 -4
  7. package/dist/cjs/ion-badge_12.cjs.entry.js +36 -10
  8. package/dist/cjs/ion-buttons_3.cjs.entry.js +1 -1
  9. package/dist/cjs/ion-checkbox_4.cjs.entry.js +9 -0
  10. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  11. package/dist/cjs/ion-datetime.cjs.entry.js +107 -56
  12. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  13. package/dist/cjs/ion-menu.cjs.entry.js +18 -15
  14. package/dist/cjs/ion-modal.cjs.entry.js +35 -26
  15. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -2
  16. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  17. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  18. package/dist/cjs/ion-select.cjs.entry.js +1 -1
  19. package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
  20. package/dist/cjs/ion-textarea.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-toast.cjs.entry.js +23 -5
  22. package/dist/cjs/loader.cjs.js +2 -2
  23. package/dist/cjs/{overlays-56226483.js → overlays-5d99746a.js} +9 -0
  24. package/dist/cjs/pos-container-contents.cjs.entry.js +1 -1
  25. package/dist/cjs/pos-subjects.cjs.entry.js +1 -1
  26. package/dist/collection/apps/pos-app-browser/pos-app-browser.js +1 -1
  27. package/dist/collection/collection-manifest.json +2 -1
  28. package/dist/collection/components/pos-add-literal-value/pos-add-literal-value.js +34 -10
  29. package/dist/collection/components/pos-error-toast/pos-error-toast.js +35 -0
  30. package/dist/collection/components/pos-literals/pos-literals.js +17 -1
  31. package/dist/components/button.js +3 -3
  32. package/dist/components/buttons.js +1 -1
  33. package/dist/components/content.js +9 -0
  34. package/dist/components/data.js +20 -3
  35. package/dist/components/index.d.ts +1 -0
  36. package/dist/components/index.js +1 -0
  37. package/dist/components/index4.js +1 -1
  38. package/dist/components/index8.js +8464 -446
  39. package/dist/components/ion-accordion.js +2 -2
  40. package/dist/components/ion-datetime-button.js +1 -1
  41. package/dist/components/ion-datetime.js +60 -8
  42. package/dist/components/ion-menu.js +17 -14
  43. package/dist/components/ion-modal.js +35 -26
  44. package/dist/components/ion-range.js +1 -1
  45. package/dist/components/ion-split-pane.js +1 -1
  46. package/dist/components/ion-textarea.js +1 -1
  47. package/dist/components/ion-toast.js +21 -2
  48. package/dist/components/item.js +1 -1
  49. package/dist/components/overlays.js +9 -1
  50. package/dist/components/picker-column.js +1 -2
  51. package/dist/components/popover.js +1 -1
  52. package/dist/components/pos-add-literal-value2.js +19 -9
  53. package/dist/components/pos-app-browser.js +39 -33
  54. package/dist/components/pos-error-toast.d.ts +11 -0
  55. package/dist/components/pos-error-toast.js +6 -0
  56. package/dist/components/pos-error-toast2.js +45 -0
  57. package/dist/components/pos-literals2.js +17 -1
  58. package/dist/components/radio.js +9 -0
  59. package/dist/elements/elements.css +1 -1
  60. package/dist/elements/elements.esm.js +1 -1
  61. package/dist/elements/{p-3088881f.js → p-0243a87a.js} +1 -1
  62. package/dist/elements/{p-1f4a3457.entry.js → p-036e382c.entry.js} +1 -1
  63. package/dist/elements/{p-8d726c51.entry.js → p-04bb69f5.entry.js} +2 -2
  64. package/dist/elements/{p-e0f4deae.js → p-07b61827.js} +2 -2
  65. package/dist/elements/{p-1244c9d7.entry.js → p-185506fc.entry.js} +2 -2
  66. package/dist/elements/{p-13a6f7bc.entry.js → p-21387f7c.entry.js} +1 -1
  67. package/dist/elements/p-228d64ab.entry.js +1 -0
  68. package/dist/elements/{p-b1ba08d2.js → p-3082941e.js} +1 -1
  69. package/dist/elements/p-33a17bf9.js +7 -0
  70. package/dist/elements/{p-4e60709f.js → p-387a310a.js} +2 -2
  71. package/dist/elements/p-446a00fa.entry.js +1 -0
  72. package/dist/elements/{p-20204cd6.entry.js → p-485c278b.entry.js} +1 -1
  73. package/dist/elements/{p-0169a9df.js → p-4deca788.js} +2 -2
  74. package/dist/elements/p-5d9b5890.entry.js +1 -0
  75. package/dist/elements/{p-2cfcee5f.entry.js → p-61d5e682.entry.js} +1 -1
  76. package/dist/elements/{p-5949c98f.entry.js → p-674fc19d.entry.js} +1 -1
  77. package/dist/elements/p-6b7c2114.entry.js +9 -0
  78. package/dist/elements/{p-a589651d.entry.js → p-6cc24956.entry.js} +2 -2
  79. package/dist/elements/{p-673fe601.entry.js → p-6e2e72c7.entry.js} +1 -1
  80. package/dist/elements/{p-928b90ab.entry.js → p-70d8e941.entry.js} +1 -1
  81. package/dist/elements/{p-3cc9c581.entry.js → p-7120b5f1.entry.js} +1 -1
  82. package/dist/elements/p-746b8d20.js +4 -0
  83. package/dist/elements/{p-216a955e.entry.js → p-7eafab7c.entry.js} +1 -1
  84. package/dist/elements/{p-20cec807.entry.js → p-81937d27.entry.js} +2 -2
  85. package/dist/elements/p-864b27a7.js +4 -0
  86. package/dist/elements/p-88c6dc94.entry.js +4 -0
  87. package/dist/elements/{p-3c8a5a30.entry.js → p-899550d8.entry.js} +1 -1
  88. package/dist/elements/{p-6b15aaeb.js → p-8f253089.js} +1 -1
  89. package/dist/elements/{p-48f46efa.entry.js → p-9074ecd7.entry.js} +1 -1
  90. package/dist/elements/p-957dc323.js +4 -0
  91. package/dist/elements/{p-4d8b9f45.entry.js → p-988e4192.entry.js} +1 -1
  92. package/dist/elements/{p-efabbb0d.js → p-995ec23e.js} +2 -2
  93. package/dist/elements/{p-2f09ba32.entry.js → p-9b2880ae.entry.js} +1 -1
  94. package/dist/elements/{p-827125bb.entry.js → p-a6c55fcb.entry.js} +1 -1
  95. package/dist/elements/p-af558048.entry.js +1 -0
  96. package/dist/elements/{p-7884f255.js → p-b003ddd8.js} +1 -1
  97. package/dist/elements/{p-ada8cc4e.entry.js → p-b3f2cc07.entry.js} +1 -1
  98. package/dist/elements/{p-26b4768e.entry.js → p-b8243f9f.entry.js} +1 -1
  99. package/dist/elements/p-c1bcf425.entry.js +7 -0
  100. package/dist/elements/{p-6937adab.entry.js → p-c1e9bc5e.entry.js} +1 -1
  101. package/dist/elements/{p-4ee1b070.entry.js → p-c218101a.entry.js} +1 -1
  102. package/dist/elements/{p-af4ba42f.entry.js → p-ce4f5b1f.entry.js} +1 -1
  103. package/dist/elements/{p-41a159a6.entry.js → p-d0772d6b.entry.js} +1 -1
  104. package/dist/elements/{p-2bb1928f.js → p-d3860378.js} +2 -2
  105. package/dist/elements/{p-078fbb91.entry.js → p-d43bc78d.entry.js} +2 -2
  106. package/dist/elements/{p-dd84e91a.entry.js → p-d6b522ec.entry.js} +1 -1
  107. package/dist/elements/{p-7710fe29.entry.js → p-da1f80aa.entry.js} +1 -1
  108. package/dist/elements/p-da85c9fc.js +119 -0
  109. package/dist/elements/{p-cae34530.entry.js → p-da86ba7e.entry.js} +1 -1
  110. package/dist/elements/{p-fb9f4444.entry.js → p-dbcb55b8.entry.js} +1 -1
  111. package/dist/elements/{p-e81498f1.entry.js → p-e7872214.entry.js} +1 -1
  112. package/dist/elements/p-e7fc7473.js +4 -0
  113. package/dist/elements/{p-f16106d1.entry.js → p-ec130fe7.entry.js} +1 -1
  114. package/dist/elements/{p-a617e741.entry.js → p-f0b0274f.entry.js} +1 -1
  115. package/dist/elements/p-f3a6519e.js +4 -0
  116. package/dist/elements/{p-15138093.entry.js → p-f796e16d.entry.js} +3 -3
  117. package/dist/elements/p-faafaf1a.entry.js +1 -0
  118. package/dist/elements/p-fd3b5d19.entry.js +1 -0
  119. package/dist/elements/{p-64c4e33d.entry.js → p-fe26ffc1.entry.js} +1 -1
  120. package/dist/esm/{animation-be5f711f.js → animation-b5940eb7.js} +1 -1
  121. package/dist/esm/{data-2c0eab05.js → data-0c8397b1.js} +19 -2
  122. package/dist/esm/elements.js +2 -2
  123. package/dist/esm/{framework-delegate-e3d3514b.js → framework-delegate-df4b1d47.js} +1 -1
  124. package/dist/esm/{helpers-516c51e1.js → helpers-dc474de0.js} +1 -1
  125. package/dist/esm/{index-975a559a.js → index-3ca7ca42.js} +2 -2
  126. package/dist/esm/{index-f53834ea.js → index-3f9a18ba.js} +1 -1
  127. package/dist/esm/{index-487ee567.js → index-8b7a635c.js} +1 -1
  128. package/dist/esm/{index-5b4bb310.js → index-8da653e3.js} +3 -3
  129. package/dist/esm/{index-c4158e4a.js → index-9e91fad4.js} +8464 -446
  130. package/dist/esm/{input-shims-14aa5c3b.js → input-shims-aedf5b0c.js} +2 -2
  131. package/dist/esm/ion-accordion.entry.js +3 -3
  132. package/dist/esm/ion-action-sheet_3.entry.js +3 -3
  133. package/dist/esm/{ion-app_25.entry.js → ion-app_26.entry.js} +47 -10
  134. package/dist/esm/ion-back-button.entry.js +1 -1
  135. package/dist/esm/ion-badge_12.entry.js +37 -11
  136. package/dist/esm/ion-breadcrumb.entry.js +1 -1
  137. package/dist/esm/ion-buttons_3.entry.js +2 -2
  138. package/dist/esm/ion-checkbox_4.entry.js +10 -1
  139. package/dist/esm/ion-datetime-button.entry.js +2 -2
  140. package/dist/esm/ion-datetime.entry.js +61 -10
  141. package/dist/esm/ion-fab-button.entry.js +1 -1
  142. package/dist/esm/ion-img.entry.js +1 -1
  143. package/dist/esm/ion-infinite-scroll.entry.js +2 -2
  144. package/dist/esm/ion-item-options.entry.js +1 -1
  145. package/dist/esm/ion-item-sliding.entry.js +2 -2
  146. package/dist/esm/ion-item_4.entry.js +1 -1
  147. package/dist/esm/ion-loading.entry.js +3 -3
  148. package/dist/esm/ion-menu-button.entry.js +4 -4
  149. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  150. package/dist/esm/ion-menu.entry.js +21 -18
  151. package/dist/esm/ion-modal.entry.js +40 -31
  152. package/dist/esm/ion-nav.entry.js +4 -4
  153. package/dist/esm/ion-picker-column.entry.js +2 -3
  154. package/dist/esm/ion-picker.entry.js +3 -3
  155. package/dist/esm/ion-popover.entry.js +5 -5
  156. package/dist/esm/ion-range.entry.js +2 -2
  157. package/dist/esm/ion-refresher.entry.js +3 -3
  158. package/dist/esm/ion-reorder-group.entry.js +2 -2
  159. package/dist/esm/ion-router-outlet.entry.js +4 -4
  160. package/dist/esm/ion-router.entry.js +1 -1
  161. package/dist/esm/ion-segment-button.entry.js +1 -1
  162. package/dist/esm/ion-segment.entry.js +1 -1
  163. package/dist/esm/ion-select.entry.js +2 -2
  164. package/dist/esm/ion-slides.entry.js +1 -1
  165. package/dist/esm/ion-split-pane.entry.js +1 -1
  166. package/dist/esm/ion-tab-button.entry.js +1 -1
  167. package/dist/esm/ion-tab.entry.js +2 -2
  168. package/dist/esm/ion-textarea.entry.js +2 -2
  169. package/dist/esm/ion-toast.entry.js +23 -5
  170. package/dist/esm/ion-toggle.entry.js +1 -1
  171. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  172. package/dist/esm/{ios.transition-e4f590ed.js → ios.transition-fc8a45f6.js} +3 -3
  173. package/dist/esm/loader.js +2 -2
  174. package/dist/esm/{md.transition-f82b8ec5.js → md.transition-a33cfe2d.js} +3 -3
  175. package/dist/esm/{menu-toggle-util-c4c92fb3.js → menu-toggle-util-d434cd99.js} +1 -1
  176. package/dist/esm/{overlays-9f558e5d.js → overlays-3bfecc84.js} +10 -2
  177. package/dist/esm/pos-container-contents.entry.js +1 -1
  178. package/dist/esm/pos-subjects.entry.js +1 -1
  179. package/dist/esm/{status-tap-9bc89ae6.js → status-tap-c468a2d0.js} +2 -2
  180. package/dist/esm/{swipe-back-4cf55049.js → swipe-back-3b3f43fc.js} +1 -1
  181. package/dist/types/components/pos-add-literal-value/pos-add-literal-value.d.ts +10 -1
  182. package/dist/types/components/pos-error-toast/pos-error-toast.d.ts +4 -0
  183. package/dist/types/components/pos-literals/pos-literals.d.ts +1 -0
  184. package/dist/types/components.d.ts +20 -0
  185. package/package.json +6 -6
  186. package/dist/cjs/jsonld-HFR6RJUN-008ea20f.js +0 -8425
  187. package/dist/components/jsonld-HFR6RJUN.js +0 -8423
  188. package/dist/elements/p-011e627f.js +0 -4
  189. package/dist/elements/p-1949ecba.entry.js +0 -9
  190. package/dist/elements/p-195c8b60.js +0 -32
  191. package/dist/elements/p-37c43290.js +0 -4
  192. package/dist/elements/p-3f05b00a.js +0 -4
  193. package/dist/elements/p-6c05b99e.js +0 -7
  194. package/dist/elements/p-6dfca133.entry.js +0 -7
  195. package/dist/elements/p-6e75e3e5.entry.js +0 -1
  196. package/dist/elements/p-843c25a6.entry.js +0 -1
  197. package/dist/elements/p-8a5fdd45.entry.js +0 -1
  198. package/dist/elements/p-a8083674.js +0 -4
  199. package/dist/elements/p-b5e115b1.js +0 -90
  200. package/dist/elements/p-c12d7195.entry.js +0 -1
  201. package/dist/elements/p-c29ec519.entry.js +0 -4
  202. package/dist/elements/p-dc89477c.js +0 -4
  203. package/dist/elements/p-e0574155.entry.js +0 -1
  204. package/dist/elements/p-efa41d7d.entry.js +0 -1
  205. package/dist/esm/jsonld-HFR6RJUN-519a9242.js +0 -8423
@@ -2,11 +2,11 @@ import { r as registerInstance, e as createEvent, w as writeTask, h, H as Host,
2
2
  import { f as chevronBack, i as chevronForward, e as chevronDown, j as caretUpSharp, k as caretDownSharp } from './index-b7c84196.js';
3
3
  import { g as getIonMode } from './ionic-global-abe366ea.js';
4
4
  import { startFocusVisible } from './focus-visible-3e7b6617.js';
5
- import { r as raf, j as renderHiddenInput, g as getElementRoot } from './helpers-516c51e1.js';
6
- import { p as printIonWarning, b as printIonError } from './index-47f5cd9a.js';
5
+ import { r as raf, k as renderHiddenInput, j as getElementRoot } from './helpers-dc474de0.js';
6
+ import { b as printIonError, p as printIonWarning } from './index-47f5cd9a.js';
7
7
  import { i as isRTL } from './dir-defb16c6.js';
8
8
  import { c as createColorClasses } from './theme-7cf2cab0.js';
9
- import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getEndOfWeek, j as getStartOfWeek, k as getPreviousDay, l as getNextDay, m as getPreviousWeek, n as getNextWeek, p as parseMinParts, o as parseMaxParts, q as parseDate, w as warnIfValueOutOfBounds, r as convertToArrayOfNumbers, s as convertDataToISO, t as getToday, u as getClosestValidDate, x as getNumDaysInMonth, y as getCombinedDateColumnData, z as getMonthColumnData, A as getDayColumnData, B as getYearColumnData, C as isMonthFirstLocale, D as getTimeColumnsData, E as isLocaleDayPeriodRTL, F as getDaysOfWeek, G as getMonthAndYear, H as getDaysOfMonth, I as generateMonths, J as is24Hour, K as getLocalizedTime, L as getMonthAndDay, M as formatValue, N as getNextYear, O as getPreviousYear, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-2c0eab05.js';
9
+ import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getEndOfWeek, j as getStartOfWeek, k as getPreviousDay, l as getNextDay, m as getPreviousWeek, n as getNextWeek, p as parseMinParts, o as parseMaxParts, q as parseDate, w as warnIfValueOutOfBounds, r as convertToArrayOfNumbers, s as convertDataToISO, t as getToday, u as getClosestValidDate, x as getNumDaysInMonth, y as getCombinedDateColumnData, z as getMonthColumnData, A as getDayColumnData, B as getYearColumnData, C as isMonthFirstLocale, D as getTimeColumnsData, E as isLocaleDayPeriodRTL, F as getDaysOfWeek, G as getMonthAndYear, H as getDaysOfMonth, I as generateMonths, J as is24Hour, K as getLocalizedTime, L as getMonthAndDay, M as formatValue, N as getNextYear, O as getPreviousYear, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-0c8397b1.js';
10
10
 
11
11
  /*!
12
12
  * (C) Ionic http://ionicframework.com - MIT License
@@ -147,10 +147,40 @@ const isNextMonthDisabled = (refParts, maxParts) => {
147
147
  maxParts,
148
148
  });
149
149
  };
150
+ /**
151
+ * Given the value of the highlightedDates property
152
+ * and an ISO string, return the styles to use for
153
+ * that date, or undefined if none are found.
154
+ */
155
+ const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
156
+ if (Array.isArray(highlightedDates)) {
157
+ const dateStringWithoutTime = dateIsoString.split('T')[0];
158
+ const matchingHighlight = highlightedDates.find((hd) => hd.date === dateStringWithoutTime);
159
+ if (matchingHighlight) {
160
+ return {
161
+ textColor: matchingHighlight.textColor,
162
+ backgroundColor: matchingHighlight.backgroundColor,
163
+ };
164
+ }
165
+ }
166
+ else {
167
+ /**
168
+ * Wrap in a try-catch to prevent exceptions in the user's function
169
+ * from interrupting the calendar's rendering.
170
+ */
171
+ try {
172
+ return highlightedDates(dateIsoString);
173
+ }
174
+ catch (e) {
175
+ printIonError('Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
176
+ }
177
+ }
178
+ return undefined;
179
+ };
150
180
 
151
- const datetimeIosCss = ":host{display:flex;flex-flow:column;background:var(--background);overflow:hidden}ion-picker-column-internal{min-width:26px}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{order:3;text-align:end}:host .wheel-order-year-first .month-column{order:2;text-align:end}:host .wheel-order-year-first .year-column{order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:flex;flex:1 1 auto;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:flex}@supports (background: -webkit-named-image(apple-pay-logo-black)) and (not (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{left:-99999px;position:absolute;visibility:hidden;pointer-events:none}:host-context([dir=rtl]):host(.show-month-and-year) .calendar-next-prev,:host-context([dir=rtl]).show-month-and-year .calendar-next-prev,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-days-of-week,:host-context([dir=rtl]).show-month-and-year .calendar-days-of-week,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-body,:host-context([dir=rtl]).show-month-and-year .calendar-body,:host-context([dir=rtl]):host(.show-month-and-year) .datetime-time,:host-context([dir=rtl]).show-month-and-year .datetime-time{left:unset;right:unset;right:-99999px}}@supports (not (background: -webkit-named-image(apple-pay-logo-black))) or ((background: -webkit-named-image(apple-pay-logo-black)) and (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-readonly),:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled){opacity:0.4}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{--background:translucent}:host .calendar-action-buttons ion-item ion-label{display:flex;align-items:center}:host .calendar-action-buttons ion-item ion-icon{padding-left:4px;padding-right:0;padding-top:0;padding-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-action-buttons ion-item ion-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0}}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:flex;flex-grow:1;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{scroll-snap-align:start;scroll-snap-stop:always;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:0px;display:flex;position:relative;align-items:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;appearance:none;z-index:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{margin-left:unset;margin-right:unset;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px}}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}:host .calendar-day:after{border-radius:32px;padding-left:4px;padding-right:4px;padding-top:4px;padding-bottom:4px;position:absolute;top:50%;left:50%;width:32px;height:32px;transform:translate(-50%, -50%);content:\" \";z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day:after{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}:host .datetime-time{display:flex;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:flex;align-items:center}:host .time-body{border-radius:8px;padding-left:12px;padding-right:12px;padding-top:6px;padding-bottom:6px;display:flex;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .time-body{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons ion-item{--color:var(--ion-color-base)}:host{--background:var(--ion-color-light, #ffffff);--background-rgb:var(--ion-color-light-rgb);--title-color:var(--ion-color-step-600, #666666)}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{padding-left:16px;padding-right:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, #cccccc);font-size:14px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-header{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}:host .calendar-action-buttons ion-item{--padding-start:16px;--background-hover:transparent;--background-activated:transparent;font-size:16px;font-weight:600}:host .calendar-action-buttons ion-item ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:0}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, #b3b3b3);font-size:12px;font-weight:600;line-height:24px;text-transform:uppercase}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-days-of-week{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .calendar-body .calendar-month .calendar-month-grid{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;height:calc(100% - 16px)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-body .calendar-month .calendar-month-grid{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .calendar-day{font-size:20px}:host .calendar-day:after{opacity:0.2}:host .calendar-day:focus:after{background:var(--ion-color-base)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-active:after{background:var(--ion-color-base)}:host .calendar-day.calendar-day-today.calendar-day-active{color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-today.calendar-day-active:after{background:var(--ion-color-base);opacity:1}:host .datetime-time{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:16px;font-size:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-time{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, #cccccc)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-buttons{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:flex;align-items:center;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
181
+ const datetimeIosCss = ":host{display:flex;flex-flow:column;background:var(--background);overflow:hidden}ion-picker-column-internal{min-width:26px}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{order:3;text-align:end}:host .wheel-order-year-first .month-column{order:2;text-align:end}:host .wheel-order-year-first .year-column{order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:flex;flex:1 1 auto;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:flex}@supports (background: -webkit-named-image(apple-pay-logo-black)) and (not (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{left:-99999px;position:absolute;visibility:hidden;pointer-events:none}:host-context([dir=rtl]):host(.show-month-and-year) .calendar-next-prev,:host-context([dir=rtl]).show-month-and-year .calendar-next-prev,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-days-of-week,:host-context([dir=rtl]).show-month-and-year .calendar-days-of-week,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-body,:host-context([dir=rtl]).show-month-and-year .calendar-body,:host-context([dir=rtl]):host(.show-month-and-year) .datetime-time,:host-context([dir=rtl]).show-month-and-year .datetime-time{left:unset;right:unset;right:-99999px}}@supports (not (background: -webkit-named-image(apple-pay-logo-black))) or ((background: -webkit-named-image(apple-pay-logo-black)) and (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-readonly),:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled){opacity:0.4}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{--background:translucent}:host .calendar-action-buttons ion-item ion-label{display:flex;align-items:center}:host .calendar-action-buttons ion-item ion-icon{padding-left:4px;padding-right:0;padding-top:0;padding-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-action-buttons ion-item ion-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0}}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:flex;flex-grow:1;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{scroll-snap-align:start;scroll-snap-stop:always;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:0px;display:flex;position:relative;align-items:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;appearance:none;z-index:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{margin-left:unset;margin-right:unset;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px}}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day-highlight{border-radius:32px;padding-left:4px;padding-right:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:32px;height:32px;z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.calendar-day-highlight{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}:host .datetime-time{display:flex;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:flex;align-items:center}:host .time-body{border-radius:8px;padding-left:12px;padding-right:12px;padding-top:6px;padding-bottom:6px;display:flex;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .time-body{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons ion-item{--color:var(--ion-color-base)}:host{--background:var(--ion-color-light, #ffffff);--background-rgb:var(--ion-color-light-rgb);--title-color:var(--ion-color-step-600, #666666)}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{padding-left:16px;padding-right:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, #cccccc);font-size:14px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-header{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}:host .calendar-action-buttons ion-item{--padding-start:16px;--background-hover:transparent;--background-activated:transparent;font-size:16px;font-weight:600}:host .calendar-action-buttons ion-item ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:0}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, #b3b3b3);font-size:12px;font-weight:600;line-height:24px;text-transform:uppercase}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-days-of-week{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .calendar-body .calendar-month .calendar-month-grid{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;height:calc(100% - 16px)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-body .calendar-month .calendar-month-grid{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .calendar-day{font-size:20px}.calendar-day:focus .calendar-day-highlight,.calendar-day.calendar-day-active .calendar-day-highlight{opacity:0.2}.calendar-day.calendar-day-active .calendar-day-highlight{background:var(--ion-color-base)}.calendar-day:focus .calendar-day-highlight{background:var(--ion-color-base) !important}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-today.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-today.calendar-day-active .calendar-day-highlight{background:var(--ion-color-base);opacity:1}:host .datetime-time{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:16px;font-size:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-time{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, #cccccc)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-buttons{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:flex;align-items:center;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
152
182
 
153
- const datetimeMdCss = ":host{display:flex;flex-flow:column;background:var(--background);overflow:hidden}ion-picker-column-internal{min-width:26px}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{order:3;text-align:end}:host .wheel-order-year-first .month-column{order:2;text-align:end}:host .wheel-order-year-first .year-column{order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:flex;flex:1 1 auto;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:flex}@supports (background: -webkit-named-image(apple-pay-logo-black)) and (not (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{left:-99999px;position:absolute;visibility:hidden;pointer-events:none}:host-context([dir=rtl]):host(.show-month-and-year) .calendar-next-prev,:host-context([dir=rtl]).show-month-and-year .calendar-next-prev,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-days-of-week,:host-context([dir=rtl]).show-month-and-year .calendar-days-of-week,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-body,:host-context([dir=rtl]).show-month-and-year .calendar-body,:host-context([dir=rtl]):host(.show-month-and-year) .datetime-time,:host-context([dir=rtl]).show-month-and-year .datetime-time{left:unset;right:unset;right:-99999px}}@supports (not (background: -webkit-named-image(apple-pay-logo-black))) or ((background: -webkit-named-image(apple-pay-logo-black)) and (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-readonly),:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled){opacity:0.4}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{--background:translucent}:host .calendar-action-buttons ion-item ion-label{display:flex;align-items:center}:host .calendar-action-buttons ion-item ion-icon{padding-left:4px;padding-right:0;padding-top:0;padding-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-action-buttons ion-item ion-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0}}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:flex;flex-grow:1;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{scroll-snap-align:start;scroll-snap-stop:always;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:0px;display:flex;position:relative;align-items:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;appearance:none;z-index:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{margin-left:unset;margin-right:unset;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px}}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}:host .calendar-day:after{border-radius:32px;padding-left:4px;padding-right:4px;padding-top:4px;padding-bottom:4px;position:absolute;top:50%;left:50%;width:32px;height:32px;transform:translate(-50%, -50%);content:\" \";z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day:after{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}:host .datetime-time{display:flex;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:flex;align-items:center}:host .time-body{border-radius:8px;padding-left:12px;padding-right:12px;padding-top:6px;padding-bottom:6px;display:flex;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .time-body{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons ion-item{--color:var(--ion-color-base)}:host{--background:var(--ion-color-step-100, #ffffff);--title-color:var(--ion-color-contrast)}:host .datetime-header{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-header{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host .datetime-header .datetime-title{font-size:12px;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:34px}:host .datetime-calendar .calendar-action-buttons ion-item{--padding-start:20px}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{color:var(--ion-color-step-650, #595959)}:host .calendar-days-of-week{padding-left:10px;padding-right:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, gray);font-size:14px;line-height:36px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-days-of-week{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .calendar-body .calendar-month .calendar-month-grid{padding-left:10px;padding-right:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-body .calendar-month .calendar-month-grid{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .calendar-day{padding-left:0px;padding-right:0;padding-top:13px;padding-bottom:13px;font-size:14px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0;padding-inline-end:0}}:host .calendar-day:focus:after{background:rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-today:after{border:1px solid var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-active:after{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .datetime-time{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-time{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .time-header{color:var(--ion-color-step-650, #595959)}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;display:flex;align-items:center;justify-content:flex-end}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-buttons{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .datetime-view-buttons ion-button{color:var(--ion-color-step-800, #333333)}";
183
+ const datetimeMdCss = ":host{display:flex;flex-flow:column;background:var(--background);overflow:hidden}ion-picker-column-internal{min-width:26px}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{order:3;text-align:end}:host .wheel-order-year-first .month-column{order:2;text-align:end}:host .wheel-order-year-first .year-column{order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:flex;flex:1 1 auto;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:flex}@supports (background: -webkit-named-image(apple-pay-logo-black)) and (not (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{left:-99999px;position:absolute;visibility:hidden;pointer-events:none}:host-context([dir=rtl]):host(.show-month-and-year) .calendar-next-prev,:host-context([dir=rtl]).show-month-and-year .calendar-next-prev,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-days-of-week,:host-context([dir=rtl]).show-month-and-year .calendar-days-of-week,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-body,:host-context([dir=rtl]).show-month-and-year .calendar-body,:host-context([dir=rtl]):host(.show-month-and-year) .datetime-time,:host-context([dir=rtl]).show-month-and-year .datetime-time{left:unset;right:unset;right:-99999px}}@supports (not (background: -webkit-named-image(apple-pay-logo-black))) or ((background: -webkit-named-image(apple-pay-logo-black)) and (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-readonly),:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled){opacity:0.4}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons{display:flex;justify-content:space-between}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{--background:translucent}:host .calendar-action-buttons ion-item ion-label{display:flex;align-items:center}:host .calendar-action-buttons ion-item ion-icon{padding-left:4px;padding-right:0;padding-top:0;padding-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-action-buttons ion-item ion-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0}}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:flex;flex-grow:1;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{scroll-snap-align:start;scroll-snap-stop:always;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;margin-bottom:0px;display:flex;position:relative;align-items:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;appearance:none;z-index:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{margin-left:unset;margin-right:unset;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px}}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day-highlight{border-radius:32px;padding-left:4px;padding-right:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:32px;height:32px;z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.calendar-day-highlight{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}:host .datetime-time{display:flex;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:flex;align-items:center}:host .time-body{border-radius:8px;padding-left:12px;padding-right:12px;padding-top:6px;padding-bottom:6px;display:flex;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .time-body{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons ion-item{--color:var(--ion-color-base)}:host{--background:var(--ion-color-step-100, #ffffff);--title-color:var(--ion-color-contrast)}:host .datetime-header{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-header{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host .datetime-header .datetime-title{font-size:12px;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:34px}:host .datetime-calendar .calendar-action-buttons ion-item{--padding-start:20px}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{color:var(--ion-color-step-650, #595959)}:host .calendar-days-of-week{padding-left:10px;padding-right:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, gray);font-size:14px;line-height:36px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-days-of-week{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .calendar-body .calendar-month .calendar-month-grid{padding-left:10px;padding-right:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-body .calendar-month .calendar-month-grid{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .calendar-day{padding-left:0px;padding-right:0;padding-top:13px;padding-bottom:13px;font-size:14px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0;padding-inline-end:0}}.calendar-day:focus .calendar-day-highlight{background:rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}.calendar-day.calendar-day-today .calendar-day-highlight{border:1px solid var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active .calendar-day-highlight{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .datetime-time{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-time{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .time-header{color:var(--ion-color-step-650, #595959)}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;display:flex;align-items:center;justify-content:flex-end}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .datetime-buttons{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .datetime-view-buttons ion-button{color:var(--ion-color-step-800, #333333)}";
154
184
 
155
185
  const Datetime = class {
156
186
  constructor(hostRef) {
@@ -1056,7 +1086,7 @@ const Datetime = class {
1056
1086
  });
1057
1087
  }
1058
1088
  componentWillLoad() {
1059
- const { el, multiple, presentation, preferWheel } = this;
1089
+ const { el, highlightedDates, multiple, presentation, preferWheel } = this;
1060
1090
  if (multiple) {
1061
1091
  if (presentation !== 'date') {
1062
1092
  printIonWarning('Multiple date selection is only supported for presentation="date".', el);
@@ -1065,6 +1095,14 @@ const Datetime = class {
1065
1095
  printIonWarning('Multiple date selection is not supported with preferWheel="true".', el);
1066
1096
  }
1067
1097
  }
1098
+ if (highlightedDates !== undefined) {
1099
+ if (presentation !== 'date' && presentation !== 'date-time' && presentation !== 'time-date') {
1100
+ printIonWarning('The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
1101
+ }
1102
+ if (preferWheel) {
1103
+ printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
1104
+ }
1105
+ }
1068
1106
  this.processMinParts();
1069
1107
  this.processMaxParts();
1070
1108
  const hourValues = (this.parsedHourValues = convertToArrayOfNumbers(this.hourValues));
@@ -1436,10 +1474,11 @@ const Datetime = class {
1436
1474
  'calendar-month-disabled': !isWorkingMonth && swipeDisabled,
1437
1475
  } }, h("div", { class: "calendar-month-grid" }, getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index) => {
1438
1476
  const { day, dayOfWeek } = dateObject;
1439
- const { isDateEnabled, multiple } = this;
1477
+ const { el, highlightedDates, isDateEnabled, multiple } = this;
1440
1478
  const referenceParts = { month, day, year };
1441
1479
  const isCalendarPadding = day === null;
1442
1480
  const { isActive, isToday, ariaLabel, ariaSelected, disabled, text } = getCalendarDayState(this.locale, referenceParts, this.activePartsClone, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
1481
+ const dateIsoString = convertDataToISO(referenceParts);
1443
1482
  let isCalDayDisabled = isCalMonthDisabled || disabled;
1444
1483
  if (!isCalDayDisabled && isDateEnabled !== undefined) {
1445
1484
  try {
@@ -1448,17 +1487,27 @@ const Datetime = class {
1448
1487
  * to prevent exceptions in the user's function from
1449
1488
  * interrupting the calendar rendering.
1450
1489
  */
1451
- isCalDayDisabled = !isDateEnabled(convertDataToISO(referenceParts));
1490
+ isCalDayDisabled = !isDateEnabled(dateIsoString);
1452
1491
  }
1453
1492
  catch (e) {
1454
- printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
1493
+ printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
1455
1494
  }
1456
1495
  }
1496
+ let dateStyle = undefined;
1497
+ /**
1498
+ * Custom highlight styles should not override the style for selected dates,
1499
+ * nor apply to "filler days" at the start of the grid.
1500
+ */
1501
+ if (highlightedDates !== undefined && !isActive && day !== null) {
1502
+ dateStyle = getHighlightStyles(highlightedDates, dateIsoString, el);
1503
+ }
1457
1504
  return (h("button", { tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index, "data-day-of-week": dayOfWeek, disabled: isCalDayDisabled, class: {
1458
1505
  'calendar-day-padding': isCalendarPadding,
1459
1506
  'calendar-day': true,
1460
1507
  'calendar-day-active': isActive,
1461
1508
  'calendar-day-today': isToday,
1509
+ }, style: dateStyle && {
1510
+ color: dateStyle.textColor,
1462
1511
  }, "aria-hidden": isCalendarPadding ? 'true' : null, "aria-selected": ariaSelected, "aria-label": ariaLabel, onClick: () => {
1463
1512
  if (isCalendarPadding) {
1464
1513
  return;
@@ -1479,7 +1528,9 @@ const Datetime = class {
1479
1528
  day,
1480
1529
  year }));
1481
1530
  }
1482
- } }, text));
1531
+ } }, h("div", { class: "calendar-day-highlight", style: {
1532
+ backgroundColor: dateStyle === null || dateStyle === void 0 ? void 0 : dateStyle.backgroundColor,
1533
+ } }), text));
1483
1534
  }))));
1484
1535
  }
1485
1536
  renderCalendarBody() {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, e as createEvent, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { l as close } from './index-b7c84196.js';
3
3
  import { g as getIonMode } from './ionic-global-abe366ea.js';
4
- import { i as inheritAriaAttributes } from './helpers-516c51e1.js';
4
+ import { i as inheritAriaAttributes } from './helpers-dc474de0.js';
5
5
  import { h as hostContext, o as openURL, c as createColorClasses } from './theme-7cf2cab0.js';
6
6
 
7
7
  const fabButtonIosCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;transform:var(--transform);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;appearance:none;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{left:0;right:0;top:0;display:flex;position:absolute;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;height:100%;transition:all ease-in-out 300ms;transition-property:transform, opacity;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;transform:scale(0.4) rotateZ(-45deg);transition:all ease-in-out 300ms;transition-property:transform, opacity;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports (backdrop-filter: blur(0)){:host(.fab-button-translucent) .button-native{backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports (backdrop-filter: blur(0)){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports (backdrop-filter: blur(0)){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, e as createEvent, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { g as getIonMode } from './ionic-global-abe366ea.js';
3
- import { a as inheritAttributes } from './helpers-516c51e1.js';
3
+ import { a as inheritAttributes } from './helpers-dc474de0.js';
4
4
 
5
5
  const imgCss = ":host{display:block;object-fit:contain}img{display:block;width:100%;height:100%;object-fit:inherit;object-position:inherit}";
6
6
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, e as createEvent, w as writeTask, f as readTask, h, d as getElement, H as Host } from './index-33ece0f3.js';
2
2
  import { g as getIonMode } from './ionic-global-abe366ea.js';
3
- import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-f53834ea.js';
4
- import './helpers-516c51e1.js';
3
+ import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-3f9a18ba.js';
4
+ import './helpers-dc474de0.js';
5
5
  import './index-47f5cd9a.js';
6
6
 
7
7
  const infiniteScrollCss = "ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, e as createEvent, h, d as getElement, H as Host } from './index-33ece0f3.js';
2
2
  import { g as getIonMode } from './ionic-global-abe366ea.js';
3
- import { k as isEndSide } from './helpers-516c51e1.js';
3
+ import { l as isEndSide } from './helpers-dc474de0.js';
4
4
 
5
5
  const itemOptionsIosCss = "ion-item-options{top:0;right:0;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;justify-content:flex-end}.item-options-start{right:auto;left:0;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-ios{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)))}.item-options-ios.item-options-end{border-bottom-width:0.55px}.list-ios-lines-none .item-options-ios{border-bottom-width:0}.list-ios-lines-full .item-options-ios,.list-ios-lines-inset .item-options-ios.item-options-end{border-bottom-width:0.55px}";
6
6
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, e as createEvent, h, d as getElement, H as Host } from './index-33ece0f3.js';
2
2
  import { g as getIonMode } from './ionic-global-abe366ea.js';
3
- import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-f53834ea.js';
4
- import { k as isEndSide } from './helpers-516c51e1.js';
3
+ import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-3f9a18ba.js';
4
+ import { l as isEndSide } from './helpers-dc474de0.js';
5
5
  import './index-47f5cd9a.js';
6
6
 
7
7
  const itemSlidingCss = "ion-item-sliding{display:block;position:relative;width:100%;overflow:hidden;user-select:none}ion-item-sliding .item{user-select:none}.item-sliding-active-slide .item{position:relative;transition:transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1);opacity:1;z-index:2;pointer-events:none;will-change:transform}.item-sliding-active-swipe-end .item-options-end .item-option-expandable{padding-left:100%;order:1;transition-duration:0.6s;transition-property:padding-left}[dir=rtl] .item-sliding-active-swipe-end .item-options-end .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-end .item-options-end .item-option-expandable{order:-1}.item-sliding-active-swipe-start .item-options-start .item-option-expandable{padding-right:100%;order:-1;transition-duration:0.6s;transition-property:padding-right}[dir=rtl] .item-sliding-active-swipe-start .item-options-start .item-option-expandable,:host-context([dir=rtl]) .item-sliding-active-swipe-start .item-options-start .item-option-expandable{order:1}";
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, i as forceUpdate, h, H as Host, d as getElement, e as createEvent } from './index-33ece0f3.js';
2
2
  import { i as chevronForward } from './index-b7c84196.js';
3
3
  import { g as getIonMode } from './ionic-global-abe366ea.js';
4
- import { a as inheritAttributes, r as raf } from './helpers-516c51e1.js';
4
+ import { a as inheritAttributes, r as raf } from './helpers-dc474de0.js';
5
5
  import { b as printIonError } from './index-47f5cd9a.js';
6
6
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme-7cf2cab0.js';
7
7
 
@@ -1,11 +1,11 @@
1
1
  import { r as registerInstance, e as createEvent, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { g as getIonMode, c as config } from './ionic-global-abe366ea.js';
3
- import { B as BACKDROP, p as prepareOverlay, a as present, d as dismiss, e as eventMethod } from './overlays-9f558e5d.js';
3
+ import { B as BACKDROP, p as prepareOverlay, a as present, d as dismiss, e as eventMethod } from './overlays-3bfecc84.js';
4
4
  import { s as sanitizeDOMString } from './index-7bdafbcc.js';
5
5
  import { g as getClassMap } from './theme-7cf2cab0.js';
6
- import { c as createAnimation } from './animation-be5f711f.js';
6
+ import { c as createAnimation } from './animation-b5940eb7.js';
7
7
  import './hardware-back-button-242191a7.js';
8
- import './helpers-516c51e1.js';
8
+ import './helpers-dc474de0.js';
9
9
  import './index-0dbaca1a.js';
10
10
 
11
11
  /*!
@@ -1,12 +1,12 @@
1
1
  import { r as registerInstance, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { m as menuOutline, n as menuSharp } from './index-b7c84196.js';
3
3
  import { g as getIonMode, c as config } from './ionic-global-abe366ea.js';
4
- import { i as inheritAriaAttributes } from './helpers-516c51e1.js';
5
- import { m as menuController } from './index-975a559a.js';
4
+ import { i as inheritAriaAttributes } from './helpers-dc474de0.js';
5
+ import { m as menuController } from './index-3ca7ca42.js';
6
6
  import { c as createColorClasses, h as hostContext } from './theme-7cf2cab0.js';
7
- import { u as updateVisibility } from './menu-toggle-util-c4c92fb3.js';
7
+ import { u as updateVisibility } from './menu-toggle-util-d434cd99.js';
8
8
  import './hardware-back-button-242191a7.js';
9
- import './animation-be5f711f.js';
9
+ import './animation-b5940eb7.js';
10
10
  import './index-0dbaca1a.js';
11
11
 
12
12
  const menuButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;user-select:none;z-index:0;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;height:32px;font-size:31px}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}";
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-33ece0f3.js';
2
2
  import { g as getIonMode } from './ionic-global-abe366ea.js';
3
- import { m as menuController } from './index-975a559a.js';
4
- import { u as updateVisibility } from './menu-toggle-util-c4c92fb3.js';
3
+ import { m as menuController } from './index-3ca7ca42.js';
4
+ import { u as updateVisibility } from './menu-toggle-util-d434cd99.js';
5
5
  import './hardware-back-button-242191a7.js';
6
- import './helpers-516c51e1.js';
7
- import './animation-be5f711f.js';
6
+ import './helpers-dc474de0.js';
7
+ import './animation-b5940eb7.js';
8
8
  import './index-0dbaca1a.js';
9
9
 
10
10
  const menuToggleCss = ":host(.menu-toggle-hidden){display:none}";
@@ -2,11 +2,11 @@ import { r as registerInstance, e as createEvent, h, H as Host, d as getElement
2
2
  import { c as config, g as getIonMode } from './ionic-global-abe366ea.js';
3
3
  import { g as getTimeGivenProgression } from './cubic-bezier-538b6253.js';
4
4
  import { G as GESTURE_CONTROLLER } from './gesture-controller-c466ff14.js';
5
- import { k as isEndSide, i as inheritAriaAttributes, m as assert, b as clamp } from './helpers-516c51e1.js';
6
- import { m as menuController } from './index-975a559a.js';
7
- import { g as getOverlay } from './overlays-9f558e5d.js';
5
+ import { l as isEndSide, i as inheritAriaAttributes, m as assert, b as clamp } from './helpers-dc474de0.js';
6
+ import { m as menuController } from './index-3ca7ca42.js';
7
+ import { g as getOverlay } from './overlays-3bfecc84.js';
8
8
  import './hardware-back-button-242191a7.js';
9
- import './animation-be5f711f.js';
9
+ import './animation-b5940eb7.js';
10
10
  import './index-0dbaca1a.js';
11
11
 
12
12
  const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;transform:translateX(-9999px);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
@@ -96,7 +96,7 @@ const Menu = class {
96
96
  async connectedCallback() {
97
97
  // TODO: connectedCallback is fired in CE build
98
98
  // before WC is defined. This needs to be fixed in Stencil.
99
- if (typeof customElements !== 'undefined') {
99
+ if (typeof customElements !== 'undefined' && customElements != null) {
100
100
  await customElements.whenDefined('ion-menu');
101
101
  }
102
102
  if (this.type === undefined) {
@@ -429,6 +429,22 @@ const Menu = class {
429
429
  if (this.backdropEl) {
430
430
  this.backdropEl.classList.add(SHOW_BACKDROP);
431
431
  }
432
+ // add css class and hide content behind menu from screen readers
433
+ if (this.contentEl) {
434
+ this.contentEl.classList.add(MENU_CONTENT_OPEN);
435
+ /**
436
+ * When the menu is open and overlaying the main
437
+ * content, the main content should not be announced
438
+ * by the screenreader as the menu is the main
439
+ * focus. This is useful with screenreaders that have
440
+ * "read from top" gestures that read the entire
441
+ * page from top to bottom when activated.
442
+ * This should be done before the animation starts
443
+ * so that users cannot accidentally scroll
444
+ * the content while dragging a menu open.
445
+ */
446
+ this.contentEl.setAttribute('aria-hidden', 'true');
447
+ }
432
448
  this.blocker.block();
433
449
  this.isAnimating = true;
434
450
  if (shouldOpen) {
@@ -451,19 +467,6 @@ const Menu = class {
451
467
  this.blocker.unblock();
452
468
  }
453
469
  if (isOpen) {
454
- // add css class and hide content behind menu from screen readers
455
- if (this.contentEl) {
456
- this.contentEl.classList.add(MENU_CONTENT_OPEN);
457
- /**
458
- * When the menu is open and overlaying the main
459
- * content, the main content should not be announced
460
- * by the screenreader as the menu is the main
461
- * focus. This is useful with screenreaders that have
462
- * "read from top" gestures that read the entire
463
- * page from top to bottom when activated.
464
- */
465
- this.contentEl.setAttribute('aria-hidden', 'true');
466
- }
467
470
  // emit open event
468
471
  this.ionDidOpen.emit();
469
472
  /**
@@ -1,15 +1,15 @@
1
1
  import { r as registerInstance, e as createEvent, w as writeTask, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { g as getIonMode, c as config } from './ionic-global-abe366ea.js';
3
- import { a as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, f as findIonContent, p as printIonContentErrorMsg } from './index-f53834ea.js';
4
- import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-e3d3514b.js';
5
- import { g as getElementRoot, b as clamp, r as raf, a as inheritAttributes } from './helpers-516c51e1.js';
3
+ import { a as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, f as findIonContent, p as printIonContentErrorMsg } from './index-3f9a18ba.js';
4
+ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-df4b1d47.js';
5
+ import { j as getElementRoot, b as clamp, r as raf, a as inheritAttributes } from './helpers-dc474de0.js';
6
6
  import { KEYBOARD_DID_OPEN } from './keyboard-765ce6f2.js';
7
7
  import { p as printIonWarning } from './index-47f5cd9a.js';
8
8
  import { w as win } from './index-0dbaca1a.js';
9
- import { G as GESTURE, B as BACKDROP, p as prepareOverlay, a as present, b as activeAnimations, d as dismiss, e as eventMethod } from './overlays-9f558e5d.js';
9
+ import { G as GESTURE, B as BACKDROP, p as prepareOverlay, a as present, b as activeAnimations, d as dismiss, e as eventMethod } from './overlays-3bfecc84.js';
10
10
  import { g as getClassMap } from './theme-7cf2cab0.js';
11
- import { d as deepReady } from './index-5b4bb310.js';
12
- import { c as createAnimation } from './animation-be5f711f.js';
11
+ import { d as deepReady } from './index-8da653e3.js';
12
+ import { c as createAnimation } from './animation-b5940eb7.js';
13
13
  import { g as getTimeGivenProgression } from './cubic-bezier-538b6253.js';
14
14
  import { createGesture } from './index-e23280d9.js';
15
15
  import './hardware-back-button-242191a7.js';
@@ -1279,7 +1279,7 @@ const Modal = class {
1279
1279
  this.gesture.enable(enable);
1280
1280
  }
1281
1281
  else if (enable) {
1282
- await this.initSwipeToClose();
1282
+ this.initSwipeToClose();
1283
1283
  }
1284
1284
  }
1285
1285
  breakpointsChanged(breakpoints) {
@@ -1408,6 +1408,37 @@ const Modal = class {
1408
1408
  currentBreakpoint: this.initialBreakpoint,
1409
1409
  backdropBreakpoint: this.backdropBreakpoint,
1410
1410
  });
1411
+ /* tslint:disable-next-line */
1412
+ if (typeof window !== 'undefined') {
1413
+ /**
1414
+ * This needs to be setup before any
1415
+ * non-transition async work so it can be dereferenced
1416
+ * in the dismiss method. The dismiss method
1417
+ * only waits for the entering transition
1418
+ * to finish. It does not wait for all of the `present`
1419
+ * method to resolve.
1420
+ */
1421
+ this.keyboardOpenCallback = () => {
1422
+ if (this.gesture) {
1423
+ /**
1424
+ * When the native keyboard is opened and the webview
1425
+ * is resized, the gesture implementation will become unresponsive
1426
+ * and enter a free-scroll mode.
1427
+ *
1428
+ * When the keyboard is opened, we disable the gesture for
1429
+ * a single frame and re-enable once the contents have repositioned
1430
+ * from the keyboard placement.
1431
+ */
1432
+ this.gesture.enable(false);
1433
+ raf(() => {
1434
+ if (this.gesture) {
1435
+ this.gesture.enable(true);
1436
+ }
1437
+ });
1438
+ }
1439
+ };
1440
+ window.addEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
1441
+ }
1411
1442
  /**
1412
1443
  * TODO (FW-937) - In the next major release of Ionic, all card modals
1413
1444
  * will be swipeable by default. canDismiss will be used to determine if the
@@ -1433,30 +1464,7 @@ const Modal = class {
1433
1464
  this.initSheetGesture();
1434
1465
  }
1435
1466
  else if (hasCardModal) {
1436
- await this.initSwipeToClose();
1437
- }
1438
- /* tslint:disable-next-line */
1439
- if (typeof window !== 'undefined') {
1440
- this.keyboardOpenCallback = () => {
1441
- if (this.gesture) {
1442
- /**
1443
- * When the native keyboard is opened and the webview
1444
- * is resized, the gesture implementation will become unresponsive
1445
- * and enter a free-scroll mode.
1446
- *
1447
- * When the keyboard is opened, we disable the gesture for
1448
- * a single frame and re-enable once the contents have repositioned
1449
- * from the keyboard placement.
1450
- */
1451
- this.gesture.enable(false);
1452
- raf(() => {
1453
- if (this.gesture) {
1454
- this.gesture.enable(true);
1455
- }
1456
- });
1457
- }
1458
- };
1459
- window.addEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
1467
+ this.initSwipeToClose();
1460
1468
  }
1461
1469
  this.currentTransition = undefined;
1462
1470
  }
@@ -1569,6 +1577,7 @@ const Modal = class {
1569
1577
  /* tslint:disable-next-line */
1570
1578
  if (typeof window !== 'undefined' && this.keyboardOpenCallback) {
1571
1579
  window.removeEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
1580
+ this.keyboardOpenCallback = undefined;
1572
1581
  }
1573
1582
  /**
1574
1583
  * When using an inline modal
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, e as createEvent, h, d as getElement } from './index-33ece0f3.js';
2
2
  import { g as getIonMode, c as config } from './ionic-global-abe366ea.js';
3
3
  import { g as getTimeGivenProgression } from './cubic-bezier-538b6253.js';
4
- import { m as assert, s as shallowEqualStringMap } from './helpers-516c51e1.js';
5
- import { l as lifecycle, t as transition, s as setPageHidden, L as LIFECYCLE_WILL_UNLOAD, a as LIFECYCLE_WILL_LEAVE, b as LIFECYCLE_DID_LEAVE } from './index-5b4bb310.js';
6
- import { a as attachComponent } from './framework-delegate-e3d3514b.js';
4
+ import { m as assert, s as shallowEqualStringMap } from './helpers-dc474de0.js';
5
+ import { l as lifecycle, t as transition, s as setPageHidden, L as LIFECYCLE_WILL_UNLOAD, a as LIFECYCLE_WILL_LEAVE, b as LIFECYCLE_DID_LEAVE } from './index-8da653e3.js';
6
+ import { a as attachComponent } from './framework-delegate-df4b1d47.js';
7
7
 
8
8
  /*!
9
9
  * (C) Ionic http://ionicframework.com - MIT License
@@ -116,7 +116,7 @@ const Nav = class {
116
116
  }
117
117
  async componentDidLoad() {
118
118
  this.rootChanged();
119
- this.gesture = (await import('./swipe-back-4cf55049.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
119
+ this.gesture = (await import('./swipe-back-3b3f43fc.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
120
120
  this.swipeGestureChanged();
121
121
  }
122
122
  connectedCallback() {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, e as createEvent, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { g as getIonMode } from './ionic-global-abe366ea.js';
3
- import { b as clamp } from './helpers-516c51e1.js';
3
+ import { b as clamp } from './helpers-dc474de0.js';
4
4
  import { b as hapticSelectionChanged, c as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-e7d5ef4d.js';
5
5
  import { g as getClassMap } from './theme-7cf2cab0.js';
6
6
 
@@ -304,11 +304,10 @@ const PickerColumnCmp = class {
304
304
  }
305
305
  render() {
306
306
  const col = this.col;
307
- const Button = 'button';
308
307
  const mode = getIonMode(this);
309
308
  return (h(Host, { class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
310
309
  'max-width': this.col.columnWidth,
311
- } }, col.prefix && (h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h(Button, { type: "button", class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
310
+ } }, col.prefix && (h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
312
311
  }
313
312
  get el() { return getElement(this); }
314
313
  static get watchers() { return {
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, e as createEvent, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { g as getIonMode } from './ionic-global-abe366ea.js';
3
- import { B as BACKDROP, i as isCancel, p as prepareOverlay, a as present, d as dismiss, e as eventMethod, s as safeCall } from './overlays-9f558e5d.js';
3
+ import { B as BACKDROP, i as isCancel, p as prepareOverlay, a as present, d as dismiss, e as eventMethod, s as safeCall } from './overlays-3bfecc84.js';
4
4
  import { g as getClassMap } from './theme-7cf2cab0.js';
5
- import { c as createAnimation } from './animation-be5f711f.js';
5
+ import { c as createAnimation } from './animation-b5940eb7.js';
6
6
  import './hardware-back-button-242191a7.js';
7
- import './helpers-516c51e1.js';
7
+ import './helpers-dc474de0.js';
8
8
  import './index-0dbaca1a.js';
9
9
 
10
10
  /*!
@@ -1,12 +1,12 @@
1
1
  import { r as registerInstance, e as createEvent, h, H as Host, d as getElement } from './index-33ece0f3.js';
2
2
  import { g as getIonMode, a as isPlatform } from './ionic-global-abe366ea.js';
3
- import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-e3d3514b.js';
4
- import { r as raf, g as getElementRoot, e as addEventListener } from './helpers-516c51e1.js';
3
+ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-df4b1d47.js';
4
+ import { r as raf, j as getElementRoot, e as addEventListener } from './helpers-dc474de0.js';
5
5
  import { p as printIonWarning } from './index-47f5cd9a.js';
6
- import { B as BACKDROP, p as prepareOverlay, d as dismiss, e as eventMethod, a as present, j as focusFirstDescendant } from './overlays-9f558e5d.js';
6
+ import { B as BACKDROP, p as prepareOverlay, d as dismiss, e as eventMethod, a as present, j as focusFirstDescendant } from './overlays-3bfecc84.js';
7
7
  import { g as getClassMap } from './theme-7cf2cab0.js';
8
- import { d as deepReady } from './index-5b4bb310.js';
9
- import { c as createAnimation } from './animation-be5f711f.js';
8
+ import { d as deepReady } from './index-8da653e3.js';
9
+ import { c as createAnimation } from './animation-b5940eb7.js';
10
10
  import './hardware-back-button-242191a7.js';
11
11
  import './index-0dbaca1a.js';
12
12