@ionic/core 7.3.4-dev.11699991837.1bc64f72 → 7.3.4-dev.11700516018.128deb56

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 (150) hide show
  1. package/components/button-active.js +1 -1
  2. package/components/checkbox.js +3 -6
  3. package/components/data.js +7 -31
  4. package/components/index.js +2 -2
  5. package/components/index2.js +429 -203
  6. package/components/index3.js +203 -429
  7. package/components/ion-datetime-button.js +0 -3
  8. package/components/ion-datetime.js +92 -132
  9. package/components/ion-item-sliding.js +1 -1
  10. package/components/ion-menu.js +3 -3
  11. package/components/ion-modal.js +2 -2
  12. package/components/ion-nav.js +1 -1
  13. package/components/ion-range.js +3 -3
  14. package/components/ion-refresher.js +3 -3
  15. package/components/ion-reorder-group.js +1 -1
  16. package/components/ion-router-outlet.js +1 -1
  17. package/components/ion-segment.js +1 -1
  18. package/components/ion-toggle.js +4 -7
  19. package/components/ion-toolbar.js +2 -2
  20. package/components/ios.transition.js +1 -1
  21. package/components/md.transition.js +1 -1
  22. package/components/picker-column.js +1 -1
  23. package/components/popover.js +1 -1
  24. package/components/radio.js +3 -6
  25. package/components/swipe-back.js +1 -1
  26. package/dist/cjs/{data-db832785.js → data-967b9c15.js} +7 -31
  27. package/dist/cjs/index.cjs.js +9 -10
  28. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -5
  30. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -4
  31. package/dist/cjs/ion-datetime_3.cjs.entry.js +93 -132
  32. package/dist/cjs/ion-menu_3.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -5
  34. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-toggle.cjs.entry.js +3 -5
  36. package/dist/cjs/ionic.cjs.js +1 -1
  37. package/dist/cjs/loader.cjs.js +1 -1
  38. package/dist/collection/components/checkbox/checkbox.ios.css +0 -35
  39. package/dist/collection/components/checkbox/checkbox.js +4 -24
  40. package/dist/collection/components/checkbox/checkbox.md.css +0 -35
  41. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +0 -13
  42. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +0 -16
  43. package/dist/collection/components/datetime/datetime.ios.css +29 -32
  44. package/dist/collection/components/datetime/datetime.js +93 -137
  45. package/dist/collection/components/datetime/datetime.md.css +28 -20
  46. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -25
  47. package/dist/collection/components/datetime/test/color/datetime.e2e.js +1 -1
  48. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +1 -27
  49. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +0 -15
  50. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +12 -9
  51. package/dist/collection/components/datetime/utils/data.js +6 -14
  52. package/dist/collection/components/datetime/utils/parse.js +1 -18
  53. package/dist/collection/components/datetime-button/datetime-button.js +0 -3
  54. package/dist/collection/components/menu/menu.ios.css +0 -94
  55. package/dist/collection/components/menu/menu.md.css +0 -94
  56. package/dist/collection/components/radio/radio.ios.css +0 -35
  57. package/dist/collection/components/radio/radio.js +4 -24
  58. package/dist/collection/components/radio/radio.md.css +0 -35
  59. package/dist/collection/components/radio/test/item/radio.e2e.js +0 -15
  60. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +0 -20
  61. package/dist/collection/components/range/range.ios.css +1 -41
  62. package/dist/collection/components/range/range.js +3 -3
  63. package/dist/collection/components/range/range.md.css +1 -41
  64. package/dist/collection/components/range/test/label/range.e2e.js +0 -48
  65. package/dist/collection/components/toggle/test/item/toggle.e2e.js +0 -15
  66. package/dist/collection/components/toggle/test/label/toggle.e2e.js +0 -16
  67. package/dist/collection/components/toggle/toggle.ios.css +1 -35
  68. package/dist/collection/components/toggle/toggle.js +4 -24
  69. package/dist/collection/components/toggle/toggle.md.css +1 -35
  70. package/dist/collection/components/toolbar/toolbar.ios.css +4 -2
  71. package/dist/collection/components/toolbar/toolbar.md.css +4 -2
  72. package/dist/collection/index.js +0 -1
  73. package/dist/docs.json +18 -147
  74. package/dist/esm/{data-009dbf15.js → data-4b448e3a.js} +7 -31
  75. package/dist/esm/index.js +2 -2
  76. package/dist/esm/ion-app_8.entry.js +2 -2
  77. package/dist/esm/ion-checkbox.entry.js +3 -5
  78. package/dist/esm/ion-datetime-button.entry.js +1 -4
  79. package/dist/esm/ion-datetime_3.entry.js +93 -132
  80. package/dist/esm/ion-menu_3.entry.js +2 -2
  81. package/dist/esm/ion-radio_2.entry.js +3 -5
  82. package/dist/esm/ion-range.entry.js +2 -2
  83. package/dist/esm/ion-toggle.entry.js +3 -5
  84. package/dist/esm/ionic.js +1 -1
  85. package/dist/esm/loader.js +1 -1
  86. package/dist/esm-es5/data-4b448e3a.js +4 -0
  87. package/dist/esm-es5/index.js +1 -1
  88. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  89. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  90. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  91. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  92. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  93. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  94. package/dist/esm-es5/ion-range.entry.js +1 -1
  95. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  96. package/dist/esm-es5/ionic.js +1 -1
  97. package/dist/esm-es5/loader.js +1 -1
  98. package/dist/html.html-data.json +4 -52
  99. package/dist/ionic/index.esm.js +1 -1
  100. package/dist/ionic/ionic.esm.js +1 -1
  101. package/dist/ionic/p-0053fe81.system.entry.js +4 -0
  102. package/dist/ionic/p-06902103.system.js +1 -1
  103. package/dist/ionic/p-091cd81e.entry.js +4 -0
  104. package/dist/ionic/p-28f5715a.system.entry.js +4 -0
  105. package/dist/ionic/p-2cdcd6f2.entry.js +4 -0
  106. package/dist/ionic/{p-a34669bf.system.entry.js → p-45ee211b.system.entry.js} +1 -1
  107. package/dist/ionic/p-5009cb46.entry.js +4 -0
  108. package/dist/ionic/p-5b88f780.entry.js +4 -0
  109. package/dist/ionic/p-601fd53c.js +4 -0
  110. package/dist/ionic/p-8843b046.system.js +4 -0
  111. package/dist/ionic/p-98b618ce.system.entry.js +4 -0
  112. package/dist/ionic/p-b1e8f045.entry.js +4 -0
  113. package/dist/ionic/p-b3394798.system.entry.js +4 -0
  114. package/dist/ionic/p-b3cfc6e1.system.entry.js +4 -0
  115. package/dist/ionic/{p-f9567c67.entry.js → p-c759a704.entry.js} +1 -1
  116. package/dist/ionic/p-cc8910e7.system.js +4 -0
  117. package/dist/ionic/{p-67b891af.entry.js → p-d3b8aebf.entry.js} +1 -1
  118. package/dist/ionic/p-e53b8af4.system.entry.js +4 -0
  119. package/dist/ionic/p-f78e60a5.entry.js +4 -0
  120. package/dist/ionic/p-fd42994b.system.entry.js +4 -0
  121. package/dist/types/components/checkbox/checkbox.d.ts +1 -8
  122. package/dist/types/components/datetime/datetime.d.ts +10 -23
  123. package/dist/types/components/datetime/utils/data.d.ts +1 -1
  124. package/dist/types/components/datetime/utils/parse.d.ts +3 -3
  125. package/dist/types/components/radio/radio.d.ts +1 -8
  126. package/dist/types/components/range/range.d.ts +1 -2
  127. package/dist/types/components/toast/toast-interface.d.ts +0 -3
  128. package/dist/types/components/toggle/toggle.d.ts +1 -8
  129. package/dist/types/components.d.ts +16 -40
  130. package/dist/types/index.d.ts +0 -1
  131. package/dist/types/interface.d.ts +0 -1
  132. package/hydrate/index.js +114 -196
  133. package/package.json +2 -2
  134. package/dist/esm-es5/data-009dbf15.js +0 -4
  135. package/dist/ionic/p-1f4adf06.system.entry.js +0 -4
  136. package/dist/ionic/p-218b6f33.entry.js +0 -4
  137. package/dist/ionic/p-2da6ba37.system.entry.js +0 -4
  138. package/dist/ionic/p-40138199.entry.js +0 -4
  139. package/dist/ionic/p-44ef7224.system.js +0 -4
  140. package/dist/ionic/p-4ca1ce6b.system.entry.js +0 -4
  141. package/dist/ionic/p-51b165af.system.js +0 -4
  142. package/dist/ionic/p-57f0efcc.entry.js +0 -4
  143. package/dist/ionic/p-7cfd253c.js +0 -4
  144. package/dist/ionic/p-82f5c07e.system.entry.js +0 -4
  145. package/dist/ionic/p-86c5c320.entry.js +0 -4
  146. package/dist/ionic/p-90ec5785.system.entry.js +0 -4
  147. package/dist/ionic/p-af986299.system.entry.js +0 -4
  148. package/dist/ionic/p-b321c999.entry.js +0 -4
  149. package/dist/ionic/p-d8a0267b.system.entry.js +0 -4
  150. package/dist/ionic/p-f5c19164.entry.js +0 -4
@@ -189,9 +189,9 @@ const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
189
189
  return undefined;
190
190
  };
191
191
 
192
- const datetimeIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;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:-webkit-max-content;max-width:-moz-max-content;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{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;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{position:absolute;visibility:hidden;pointer-events:none}@supports (inset-inline-start: 0){: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{inset-inline-start:-99999px}}@supports not (inset-inline-start: 0){: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}: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 selector(:dir(rtl)){:host(.show-month-and-year) .calendar-next-prev:dir(rtl),:host(.show-month-and-year) .calendar-days-of-week:dir(rtl),:host(.show-month-and-year) .calendar-body:dir(rtl),:host(.show-month-and-year) .datetime-time:dir(rtl){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:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .calendar-action-buttons ion-item ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;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-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}:host .calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;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;-webkit-appearance:none;-moz-appearance:none;appearance:none}: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{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, #cccccc);font-size:14px}: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{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end: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}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}:host .calendar-day-wrapper{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:16px}:host .calendar-day{width:40px;min-width:40px;height:40px;font-size:20px}.calendar-day.calendar-day-active{background:rgba(var(--ion-color-base-rgb), 0.2)}: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)}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:16px}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, #cccccc)}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
192
+ const datetimeIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;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:-webkit-max-content;max-width:-moz-max-content;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{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;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{position:absolute;visibility:hidden;pointer-events:none}@supports (inset-inline-start: 0){: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{inset-inline-start:-99999px}}@supports not (inset-inline-start: 0){: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}: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 selector(:dir(rtl)){:host(.show-month-and-year) .calendar-next-prev:dir(rtl),:host(.show-month-and-year) .calendar-days-of-week:dir(rtl),:host(.show-month-and-year) .calendar-body:dir(rtl),:host(.show-month-and-year) .datetime-time:dir(rtl){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:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .calendar-action-buttons ion-item ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;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;-ms-flex-negative:0;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{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day-highlight{border-radius:32px;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:32px;height:32px;z-index:-1}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;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;-webkit-appearance:none;-moz-appearance:none;appearance:none}: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{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, #cccccc);font-size:14px}: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{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end: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}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;height:calc(100% - 16px)}: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{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:16px}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, #cccccc)}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
193
193
 
194
- const datetimeMdCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;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:-webkit-max-content;max-width:-moz-max-content;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{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;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{position:absolute;visibility:hidden;pointer-events:none}@supports (inset-inline-start: 0){: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{inset-inline-start:-99999px}}@supports not (inset-inline-start: 0){: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}: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 selector(:dir(rtl)){:host(.show-month-and-year) .calendar-next-prev:dir(rtl),:host(.show-month-and-year) .calendar-days-of-week:dir(rtl),:host(.show-month-and-year) .calendar-body:dir(rtl),:host(.show-month-and-year) .datetime-time:dir(rtl){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:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .calendar-action-buttons ion-item ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;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-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}:host .calendar-day{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day:focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;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;-webkit-appearance:none;-moz-appearance:none;appearance:none}: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{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}: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{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, gray);font-size:14px;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{width:42px;min-width:42px;height:42px;font-size:14px}:host .calendar-day.calendar-day-today{border:1px solid var(--ion-color-base);color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}: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{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}:host .datetime-view-buttons ion-button{color:var(--ion-color-step-800, #333333)}";
194
+ const datetimeMdCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;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:-webkit-max-content;max-width:-moz-max-content;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{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;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{position:absolute;visibility:hidden;pointer-events:none}@supports (inset-inline-start: 0){: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{inset-inline-start:-99999px}}@supports not (inset-inline-start: 0){: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}: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 selector(:dir(rtl)){:host(.show-month-and-year) .calendar-next-prev:dir(rtl),:host(.show-month-and-year) .calendar-days-of-week:dir(rtl),:host(.show-month-and-year) .calendar-body:dir(rtl),:host(.show-month-and-year) .datetime-time:dir(rtl){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:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .calendar-action-buttons ion-item ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;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;-ms-flex-negative:0;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{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day-highlight{border-radius:32px;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:32px;height:32px;z-index:-1}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;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;-webkit-appearance:none;-moz-appearance:none;appearance:none}: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{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}: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{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, gray);font-size:14px;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0;padding-inline-end:0;padding-top:13px;padding-bottom:13px;font-size:14px}.calendar-day:focus .calendar-day-highlight{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px 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{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}: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{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}:host .datetime-view-buttons ion-button{color:var(--ion-color-step-800, #333333)}";
195
195
 
196
196
  const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLElement {
197
197
  constructor() {
@@ -207,6 +207,11 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
207
207
  this.ionRender = createEvent(this, "ionRender", 7);
208
208
  this.inputId = `ion-dt-${datetimeIds++}`;
209
209
  this.prevPresentation = null;
210
+ /**
211
+ * Duplicate reference to `activeParts` that does not trigger a re-render of the component.
212
+ * Allows caching an instance of the `activeParts` in between render cycles.
213
+ */
214
+ this.activePartsClone = [];
210
215
  this.warnIfIncorrectValueUsage = () => {
211
216
  const { multiple, value } = this;
212
217
  if (!multiple && Array.isArray(value)) {
@@ -234,9 +239,9 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
234
239
  * data. This should be used when rendering an
235
240
  * interface in an environment where the `value`
236
241
  * may not be set. This function works
237
- * by returning the first selected date and then
238
- * falling back to defaultParts if no active date
239
- * is selected.
242
+ * by returning the first selected date in
243
+ * "activePartsClone" and then falling back to
244
+ * defaultParts if no active date is selected.
240
245
  */
241
246
  this.getActivePartsWithFallback = () => {
242
247
  var _a;
@@ -244,8 +249,8 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
244
249
  return (_a = this.getActivePart()) !== null && _a !== void 0 ? _a : defaultParts;
245
250
  };
246
251
  this.getActivePart = () => {
247
- const { activeParts } = this;
248
- return Array.isArray(activeParts) ? activeParts[0] : activeParts;
252
+ const { activePartsClone } = this;
253
+ return Array.isArray(activePartsClone) ? activePartsClone[0] : activePartsClone;
249
254
  };
250
255
  this.closeParentOverlay = () => {
251
256
  const popoverOrModal = this.el.closest('ion-modal, ion-popover');
@@ -257,7 +262,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
257
262
  this.workingParts = Object.assign({}, parts);
258
263
  };
259
264
  this.setActiveParts = (parts, removeDate = false) => {
260
- const { multiple, minParts, maxParts, activeParts } = this;
265
+ const { multiple, minParts, maxParts, activePartsClone } = this;
261
266
  /**
262
267
  * When setting the active parts, it is possible
263
268
  * to set invalid data. For example,
@@ -271,7 +276,16 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
271
276
  const validatedParts = validateParts(parts, minParts, maxParts);
272
277
  this.setWorkingParts(validatedParts);
273
278
  if (multiple) {
274
- const activePartsArray = Array.isArray(activeParts) ? activeParts : [activeParts];
279
+ /**
280
+ * We read from activePartsClone here because valueChanged() only updates that,
281
+ * so it's the more reliable source of truth. If we read from activeParts, then
282
+ * if you click July 1, manually set the value to July 2, and then click July 3,
283
+ * the new value would be [July 1, July 3], ignoring the value set.
284
+ *
285
+ * We can then pass the new value to activeParts (rather than activePartsClone)
286
+ * since the clone will be updated automatically by activePartsChanged().
287
+ */
288
+ const activePartsArray = Array.isArray(activePartsClone) ? activePartsClone : [activePartsClone];
275
289
  if (removeDate) {
276
290
  this.activeParts = activePartsArray.filter((p) => !isSameDay(p, validatedParts));
277
291
  }
@@ -396,7 +410,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
396
410
  /**
397
411
  * Get the number of padding days so
398
412
  * we know how much to offset our next selector by
399
- * to grab the correct calendar-day element.
413
+ * to grab the correct calenday-day element.
400
414
  */
401
415
  const padding = currentMonth.querySelectorAll('.calendar-day-padding');
402
416
  const { day } = this.workingParts;
@@ -407,7 +421,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
407
421
  * Get the calendar day element
408
422
  * and focus it.
409
423
  */
410
- const dayEl = currentMonth.querySelector(`.calendar-day-wrapper:nth-of-type(${padding.length + day}) .calendar-day`);
424
+ const dayEl = currentMonth.querySelector(`.calendar-day:nth-of-type(${padding.length + day})`);
411
425
  if (dayEl) {
412
426
  dayEl.focus();
413
427
  }
@@ -488,19 +502,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
488
502
  const monthBox = month.getBoundingClientRect();
489
503
  if (Math.abs(monthBox.x - box.x) > 2)
490
504
  return;
491
- /**
492
- * If we're force-rendering a month, assume we've
493
- * scrolled to that and return it.
494
- *
495
- * If forceRenderDate is ever used in a context where the
496
- * forced month is not immediately auto-scrolled to, this
497
- * should be updated to also check whether `month` has the
498
- * same month and year as the forced date.
499
- */
500
- const { forceRenderDate } = this;
501
- if (forceRenderDate !== undefined) {
502
- return { month: forceRenderDate.month, year: forceRenderDate.year, day: forceRenderDate.day };
503
- }
504
505
  /**
505
506
  * From here, we can determine if the start
506
507
  * month or the end month was scrolled into view.
@@ -555,9 +556,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
555
556
  this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month, day: day, year }));
556
557
  calendarBodyRef.scrollLeft = workingMonth.clientWidth * (isRTL(this.el) ? -1 : 1);
557
558
  calendarBodyRef.style.removeProperty('overflow');
558
- if (this.resolveForceDateScrolling) {
559
- this.resolveForceDateScrolling();
560
- }
561
559
  });
562
560
  };
563
561
  /**
@@ -612,17 +610,10 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
612
610
  }
613
611
  };
614
612
  this.processValue = (value) => {
615
- const hasValue = value !== null && value !== undefined && (!Array.isArray(value) || value.length > 0);
613
+ const hasValue = value !== null && value !== undefined;
616
614
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
617
- const { minParts, maxParts, workingParts, el } = this;
615
+ const { minParts, maxParts } = this;
618
616
  this.warnIfIncorrectValueUsage();
619
- /**
620
- * Return early if the value wasn't parsed correctly, such as
621
- * if an improperly formatted date string was provided.
622
- */
623
- if (!valueToProcess) {
624
- return;
625
- }
626
617
  /**
627
618
  * Datetime should only warn of out of bounds values
628
619
  * if set by the user. If the `value` is undefined,
@@ -640,9 +631,16 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
640
631
  * that the values don't necessarily have to be in order.
641
632
  */
642
633
  const singleValue = Array.isArray(valueToProcess) ? valueToProcess[0] : valueToProcess;
643
- const targetValue = clampDate(singleValue, minParts, maxParts);
644
- const { month, day, year, hour, minute } = targetValue;
634
+ const { month, day, year, hour, minute } = clampDate(singleValue, minParts, maxParts);
645
635
  const ampm = parseAmPm(hour);
636
+ this.setWorkingParts({
637
+ month,
638
+ day,
639
+ year,
640
+ hour,
641
+ minute,
642
+ ampm,
643
+ });
646
644
  /**
647
645
  * Since `activeParts` indicates a value that
648
646
  * been explicitly selected either by the
@@ -672,62 +670,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
672
670
  */
673
671
  this.activeParts = [];
674
672
  }
675
- /**
676
- * Only animate if:
677
- * 1. We're using grid style (wheel style pickers should just jump to new value)
678
- * 2. The month and/or year actually changed, and both are defined (otherwise there's nothing to animate to)
679
- * 3. The calendar body is visible (prevents animation when in collapsed datetime-button, for example)
680
- * 4. The month/year picker is not open (since you wouldn't see the animation anyway)
681
- */
682
- const didChangeMonth = (month !== undefined && month !== workingParts.month) || (year !== undefined && year !== workingParts.year);
683
- const bodyIsVisible = el.classList.contains('datetime-ready');
684
- const { isGridStyle, showMonthAndYear } = this;
685
- if (isGridStyle && didChangeMonth && bodyIsVisible && !showMonthAndYear) {
686
- this.animateToDate(targetValue);
687
- }
688
- else {
689
- /**
690
- * We only need to do this if we didn't just animate to a new month,
691
- * since that calls prevMonth/nextMonth which calls setWorkingParts for us.
692
- */
693
- this.setWorkingParts({
694
- month,
695
- day,
696
- year,
697
- hour,
698
- minute,
699
- ampm,
700
- });
701
- }
702
- };
703
- this.animateToDate = async (targetValue) => {
704
- const { workingParts } = this;
705
- /**
706
- * Tell other render functions that we need to force the
707
- * target month to appear in place of the actual next/prev month.
708
- * Because this is a State variable, a rerender will be triggered
709
- * automatically, updating the rendered months.
710
- */
711
- this.forceRenderDate = targetValue;
712
- /**
713
- * Flag that we've started scrolling to the forced date.
714
- * The resolve function will be called by the datetime's
715
- * scroll listener when it's done updating everything.
716
- * This is a replacement for making prev/nextMonth async,
717
- * since the logic we're waiting on is in a listener.
718
- */
719
- const forceDateScrollingPromise = new Promise((resolve) => {
720
- this.resolveForceDateScrolling = resolve;
721
- });
722
- /**
723
- * Animate smoothly to the forced month. This will also update
724
- * workingParts and correct the surrounding months for us.
725
- */
726
- const targetMonthIsBefore = isBefore(targetValue, workingParts);
727
- targetMonthIsBefore ? this.prevMonth() : this.nextMonth();
728
- await forceDateScrollingPromise;
729
- this.resolveForceDateScrolling = undefined;
730
- this.forceRenderDate = undefined;
731
673
  };
732
674
  this.onFocus = () => {
733
675
  this.ionFocus.emit();
@@ -783,7 +725,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
783
725
  ampm: 'pm',
784
726
  };
785
727
  this.isTimePopoverOpen = false;
786
- this.forceRenderDate = undefined;
787
728
  this.color = 'primary';
788
729
  this.name = this.inputId;
789
730
  this.disabled = false;
@@ -823,11 +764,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
823
764
  maxChanged() {
824
765
  this.processMaxParts();
825
766
  }
826
- get isGridStyle() {
827
- const { presentation, preferWheel } = this;
828
- const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
829
- return hasDatePresentation && !preferWheel;
830
- }
831
767
  yearValuesChanged() {
832
768
  this.parsedYearValues = convertToArrayOfNumbers(this.yearValues);
833
769
  }
@@ -843,13 +779,51 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
843
779
  minuteValuesChanged() {
844
780
  this.parsedMinuteValues = convertToArrayOfNumbers(this.minuteValues);
845
781
  }
782
+ activePartsChanged() {
783
+ this.activePartsClone = this.activeParts;
784
+ }
846
785
  /**
847
786
  * Update the datetime value when the value changes
848
787
  */
849
- async valueChanged() {
850
- const { value } = this;
788
+ valueChanged() {
789
+ const { value, minParts, maxParts, workingParts } = this;
851
790
  if (this.hasValue()) {
852
- this.processValue(value);
791
+ this.warnIfIncorrectValueUsage();
792
+ /**
793
+ * Clones the value of the `activeParts` to the private clone, to update
794
+ * the date display on the current render cycle without causing another render.
795
+ *
796
+ * This allows us to update the current value's date/time display without
797
+ * refocusing or shifting the user's display (leaves the user in place).
798
+ */
799
+ const valueDateParts = parseDate(value);
800
+ if (valueDateParts) {
801
+ warnIfValueOutOfBounds(valueDateParts, minParts, maxParts);
802
+ if (Array.isArray(valueDateParts)) {
803
+ this.activePartsClone = [...valueDateParts];
804
+ }
805
+ else {
806
+ const { month, day, year, hour, minute } = valueDateParts;
807
+ const ampm = hour != null ? (hour >= 12 ? 'pm' : 'am') : undefined;
808
+ this.activePartsClone = Object.assign(Object.assign({}, this.activeParts), { month,
809
+ day,
810
+ year,
811
+ hour,
812
+ minute,
813
+ ampm });
814
+ /**
815
+ * The working parts am/pm value must be updated when the value changes, to
816
+ * ensure the time picker hour column values are generated correctly.
817
+ *
818
+ * Note that we don't need to do this if valueDateParts is an array, since
819
+ * multiple="true" does not apply to time pickers.
820
+ */
821
+ this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm }));
822
+ }
823
+ }
824
+ else {
825
+ printIonWarning(`Unable to parse date string: ${value}. Please provide a valid ISO 8601 datetime string.`);
826
+ }
853
827
  }
854
828
  this.emitStyle();
855
829
  this.ionValueChange.emit({ value });
@@ -1052,6 +1026,8 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1052
1026
  printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
1053
1027
  }
1054
1028
  }
1029
+ this.processMinParts();
1030
+ this.processMaxParts();
1055
1031
  const hourValues = (this.parsedHourValues = convertToArrayOfNumbers(this.hourValues));
1056
1032
  const minuteValues = (this.parsedMinuteValues = convertToArrayOfNumbers(this.minuteValues));
1057
1033
  const monthValues = (this.parsedMonthValues = convertToArrayOfNumbers(this.monthValues));
@@ -1059,8 +1035,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1059
1035
  const dayValues = (this.parsedDayValues = convertToArrayOfNumbers(this.dayValues));
1060
1036
  const todayParts = (this.todayParts = parseDate(getToday()));
1061
1037
  this.defaultParts = getClosestValidDate(todayParts, monthValues, dayValues, yearValues, hourValues, minuteValues);
1062
- this.processMinParts();
1063
- this.processMaxParts();
1064
1038
  this.processValue(this.value);
1065
1039
  this.emitStyle();
1066
1040
  }
@@ -1445,7 +1419,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1445
1419
  const { el, highlightedDates, isDateEnabled, multiple } = this;
1446
1420
  const referenceParts = { month, day, year };
1447
1421
  const isCalendarPadding = day === null;
1448
- const { isActive, isToday, ariaLabel, ariaSelected, disabled, text } = getCalendarDayState(this.locale, referenceParts, this.activeParts, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
1422
+ const { isActive, isToday, ariaLabel, ariaSelected, disabled, text } = getCalendarDayState(this.locale, referenceParts, this.activePartsClone, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
1449
1423
  const dateIsoString = convertDataToISO(referenceParts);
1450
1424
  let isCalDayDisabled = isCalMonthDisabled || disabled;
1451
1425
  if (!isCalDayDisabled && isDateEnabled !== undefined) {
@@ -1469,30 +1443,14 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1469
1443
  if (highlightedDates !== undefined && !isActive && day !== null) {
1470
1444
  dateStyle = getHighlightStyles(highlightedDates, dateIsoString, el);
1471
1445
  }
1472
- let dateParts = undefined;
1473
- // "Filler days" at the beginning of the grid should not get the calendar day
1474
- // CSS parts added to them
1475
- if (!isCalendarPadding) {
1476
- dateParts = `calendar-day${isActive ? ' active' : ''}${isToday ? ' today' : ''}${isCalDayDisabled ? ' disabled' : ''}`;
1477
- }
1478
- return (h("div", { class: "calendar-day-wrapper" }, h("button", {
1479
- // We need to use !important for the inline styles here because
1480
- // otherwise the CSS shadow parts will override these styles.
1481
- // See https://github.com/WICG/webcomponents/issues/847
1482
- // Both the CSS shadow parts and highlightedDates styles are
1483
- // provided by the developer, but highlightedDates styles should
1484
- // always take priority.
1485
- ref: (el) => {
1486
- if (el) {
1487
- el.style.setProperty('color', `${dateStyle ? dateStyle.textColor : ''}`, 'important');
1488
- el.style.setProperty('background-color', `${dateStyle ? dateStyle.backgroundColor : ''}`, 'important');
1489
- }
1490
- }, tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index, "data-day-of-week": dayOfWeek, disabled: isCalDayDisabled, class: {
1446
+ 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: {
1491
1447
  'calendar-day-padding': isCalendarPadding,
1492
1448
  'calendar-day': true,
1493
1449
  'calendar-day-active': isActive,
1494
1450
  'calendar-day-today': isToday,
1495
- }, part: dateParts, "aria-hidden": isCalendarPadding ? 'true' : null, "aria-selected": ariaSelected, "aria-label": ariaLabel, onClick: () => {
1451
+ }, style: dateStyle && {
1452
+ color: dateStyle.textColor,
1453
+ }, "aria-hidden": isCalendarPadding ? 'true' : null, "aria-selected": ariaSelected, "aria-label": ariaLabel, onClick: () => {
1496
1454
  if (isCalendarPadding) {
1497
1455
  return;
1498
1456
  }
@@ -1512,12 +1470,13 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1512
1470
  day,
1513
1471
  year }));
1514
1472
  }
1515
- }
1516
- }, text)));
1473
+ } }, h("div", { class: "calendar-day-highlight", style: {
1474
+ backgroundColor: dateStyle === null || dateStyle === void 0 ? void 0 : dateStyle.backgroundColor,
1475
+ } }), text));
1517
1476
  }))));
1518
1477
  }
1519
1478
  renderCalendarBody() {
1520
- return (h("div", { class: "calendar-body ion-focusable", ref: (el) => (this.calendarBodyRef = el), tabindex: "0" }, generateMonths(this.workingParts, this.forceRenderDate).map(({ month, year }) => {
1479
+ return (h("div", { class: "calendar-body ion-focusable", ref: (el) => (this.calendarBodyRef = el), tabindex: "0" }, generateMonths(this.workingParts).map(({ month, year }) => {
1521
1480
  return this.renderMonth(month, year);
1522
1481
  })));
1523
1482
  }
@@ -1672,13 +1631,14 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1672
1631
  }
1673
1632
  }
1674
1633
  render() {
1675
- const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
1634
+ const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size } = this;
1676
1635
  const mode = getIonMode(this);
1677
1636
  const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
1678
1637
  const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
1679
1638
  const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
1680
1639
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1681
1640
  const hasWheelVariant = hasDatePresentation && preferWheel;
1641
+ const hasGrid = hasDatePresentation && !preferWheel;
1682
1642
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1683
1643
  return (h(Host, { "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1684
1644
  [mode]: true,
@@ -1689,7 +1649,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1689
1649
  [`datetime-presentation-${presentation}`]: true,
1690
1650
  [`datetime-size-${size}`]: true,
1691
1651
  [`datetime-prefer-wheel`]: hasWheelVariant,
1692
- [`datetime-grid`]: isGridStyle,
1652
+ [`datetime-grid`]: hasGrid,
1693
1653
  })) }, this.renderDatetime(mode)));
1694
1654
  }
1695
1655
  get el() { return this; }
@@ -1702,6 +1662,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1702
1662
  "dayValues": ["dayValuesChanged"],
1703
1663
  "hourValues": ["hourValuesChanged"],
1704
1664
  "minuteValues": ["minuteValuesChanged"],
1665
+ "activeParts": ["activePartsChanged"],
1705
1666
  "value": ["valueChanged"]
1706
1667
  }; }
1707
1668
  static get style() { return {
@@ -1742,7 +1703,6 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1742
1703
  "activeParts": [32],
1743
1704
  "workingParts": [32],
1744
1705
  "isTimePopoverOpen": [32],
1745
- "forceRenderDate": [32],
1746
1706
  "confirm": [64],
1747
1707
  "reset": [64],
1748
1708
  "cancel": [64]
@@ -49,7 +49,7 @@ const ItemSliding = /*@__PURE__*/ proxyCustomElement(class ItemSliding extends H
49
49
  await this.updateOptions();
50
50
  });
51
51
  await this.updateOptions();
52
- this.gesture = (await import('./index3.js')).createGesture({
52
+ this.gesture = (await import('./index2.js')).createGesture({
53
53
  el,
54
54
  gestureName: 'item-swipe',
55
55
  gesturePriority: 100,
@@ -11,9 +11,9 @@ import { o as getOverlay } from './overlays.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global.js';
12
12
  import { d as defineCustomElement$2 } from './backdrop.js';
13
13
 
14
- 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{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;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}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}}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{-webkit-transform:translate3d(0, 0, 0);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;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow: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}";
14
+ 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{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;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}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right: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{-webkit-transform:translate3d(0, 0, 0);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;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow: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}";
15
15
 
16
- const menuMdCss = ":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{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;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}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:env(safe-area-inset-right);--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:env(safe-area-inset-left);--ion-safe-area-right:0px}}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{-webkit-transform:translate3d(0, 0, 0);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;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
16
+ const menuMdCss = ":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{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;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}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right: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{-webkit-transform:translate3d(0, 0, 0);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;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
17
17
 
18
18
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
19
19
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
@@ -121,7 +121,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
121
121
  // register this menu with the app's menu controller
122
122
  menuController._register(this);
123
123
  this.menuChanged();
124
- this.gesture = (await import('./index3.js')).createGesture({
124
+ this.gesture = (await import('./index2.js')).createGesture({
125
125
  el: document,
126
126
  gestureName: 'menu-swipe',
127
127
  gesturePriority: 30,
@@ -10,12 +10,12 @@ import { p as printIonWarning } from './index6.js';
10
10
  import { g as getCapacitor } from './capacitor.js';
11
11
  import { G as GESTURE, e as createTriggerController, B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, q as activeAnimations, g as dismiss, h as eventMethod } from './overlays.js';
12
12
  import { g as getClassMap } from './theme.js';
13
- import { e as deepReady, w as waitForMount } from './index2.js';
13
+ import { e as deepReady, w as waitForMount } from './index3.js';
14
14
  import { b as getIonMode, c as config } from './ionic-global.js';
15
15
  import { KEYBOARD_DID_OPEN } from './keyboard2.js';
16
16
  import { c as createAnimation } from './animation.js';
17
17
  import { g as getTimeGivenProgression } from './cubic-bezier.js';
18
- import { createGesture } from './index3.js';
18
+ import { createGesture } from './index2.js';
19
19
  import { w as win } from './index5.js';
20
20
  import { d as defineCustomElement$2 } from './backdrop.js';
21
21
 
@@ -5,7 +5,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Build } from '@stencil
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier.js';
6
6
  import { p as assert, s as shallowEqualStringMap } from './helpers.js';
7
7
  import { p as printIonWarning } from './index6.js';
8
- import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index2.js';
8
+ import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index3.js';
9
9
  import { b as getIonMode, c as config } from './ionic-global.js';
10
10
  import { a as attachComponent } from './framework-delegate.js';
11
11