@ionic/core 8.7.17-dev.11770319814.172b4f50 → 8.7.17-dev.11771359170.1fda0949

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.
@@ -1579,11 +1579,11 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1579
1579
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1580
1580
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1581
1581
  const hostDir = this.el.getAttribute('dir') || undefined;
1582
- return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
1582
+ return (h("div", { class: "calendar-header", part: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
1583
1583
  'calendar-month-year-toggle': true,
1584
1584
  'ion-activatable': true,
1585
1585
  'ion-focusable': true,
1586
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1586
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth(), part: "prev-next-buttons prev-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth(), part: "prev-next-buttons next-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true", part: "days-of-week" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1587
1587
  return h("div", { class: "day-of-week" }, d);
1588
1588
  }))));
1589
1589
  }
@@ -1815,7 +1815,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1815
1815
  if (!hasSlottedTitle && !this.showDefaultTitle) {
1816
1816
  return;
1817
1817
  }
1818
- return (h("div", { class: "datetime-header" }, h("div", { class: "datetime-title" }, h("slot", { name: "title" }, "Select Date")), showExpandedHeader && h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1818
+ return (h("div", { class: "datetime-header", part: "datetime-header" }, h("div", { class: "datetime-title" }, h("slot", { name: "title" }, "Select Date")), showExpandedHeader && h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1819
1819
  }
1820
1820
  /**
1821
1821
  * Render time picker inside of datetime.
@@ -1895,7 +1895,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1895
1895
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1896
1896
  const hasWheelVariant = hasDatePresentation && preferWheel;
1897
1897
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1898
- return (h(Host, { key: '19e20c9b6b5f9467e91a2567b6dc7d9d38b56cc3', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1898
+ return (h(Host, { key: '3d0787ecb3ad104c4a60d68a6e57140f018a70f2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1899
1899
  [mode]: true,
1900
1900
  ['datetime-readonly']: readonly,
1901
1901
  ['datetime-disabled']: disabled,
@@ -1905,7 +1905,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1905
1905
  [`datetime-size-${size}`]: true,
1906
1906
  [`datetime-prefer-wheel`]: hasWheelVariant,
1907
1907
  [`datetime-grid`]: isGridStyle,
1908
- })) }, h("div", { key: 'e31b5ef76cd6262dafd39f2d21980887880ec32e', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1908
+ })) }, h("div", { key: '6b245a0033d5ddd1918bc839f142141bf5ec54c5', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1909
1909
  }
1910
1910
  get el() { return this; }
1911
1911
  static get watchers() { return {
@@ -23,8 +23,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
23
23
  this.ionRefresh = createEvent(this, "ionRefresh", 7);
24
24
  this.ionPull = createEvent(this, "ionPull", 7);
25
25
  this.ionStart = createEvent(this, "ionStart", 7);
26
- this.ionPullStart = createEvent(this, "ionPullStart", 7);
27
- this.ionPullEnd = createEvent(this, "ionPullEnd", 7);
28
26
  this.appliedStyles = false;
29
27
  this.didStart = false;
30
28
  this.progress = 0;
@@ -79,8 +77,8 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
79
77
  * than `1`. The default value is `1` which is equal to the speed of the cursor.
80
78
  * If a negative value is passed in, the factor will be `1` instead.
81
79
  *
82
- * For example, If the value passed is `1.2` and the content is dragged by
83
- * `10` pixels, instead of `10` pixels, the content will be pulled by `12` pixels
80
+ * For example: If the value passed is `1.2` and the content is dragged by
81
+ * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels
84
82
  * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount
85
83
  * will be `8` pixels, less than the amount the cursor has moved.
86
84
  *
@@ -130,9 +128,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
130
128
  this.animations = [];
131
129
  this.progress = 0;
132
130
  this.state = 1 /* RefresherState.Inactive */;
133
- this.ionPullEnd.emit({
134
- reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
135
- });
136
131
  }
137
132
  async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {
138
133
  this.elementToTransform = this.scrollEl;
@@ -165,7 +160,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
165
160
  if (!this.didStart) {
166
161
  this.didStart = true;
167
162
  this.ionStart.emit();
168
- this.ionPullStart.emit();
169
163
  }
170
164
  // emit "pulling" on every move
171
165
  if (this.pointerDown) {
@@ -241,7 +235,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
241
235
  this.lastVelocityY = ev.velocityY;
242
236
  },
243
237
  onEnd: () => {
244
- const hadStarted = this.didStart;
245
238
  this.pointerDown = false;
246
239
  this.didStart = false;
247
240
  if (this.needsCompletion) {
@@ -251,13 +244,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
251
244
  else if (this.didRefresh) {
252
245
  readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));
253
246
  }
254
- else if (hadStarted) {
255
- /**
256
- * User started pulling but released before reaching the refresh threshold.
257
- * Emit ionPullEnd to complete the event pair.
258
- */
259
- this.ionPullEnd.emit({ reason: 'cancel' });
260
- }
261
247
  },
262
248
  });
263
249
  this.disabledChanged();
@@ -304,7 +290,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
304
290
  ev.data.animation = animation;
305
291
  animation.progressStart(false, 0);
306
292
  this.ionStart.emit();
307
- this.ionPullStart.emit();
308
293
  this.animations.push(animation);
309
294
  return;
310
295
  }
@@ -327,7 +312,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
327
312
  this.animations = [];
328
313
  this.gesture.enable(true);
329
314
  this.state = 1 /* RefresherState.Inactive */;
330
- this.ionPullEnd.emit({ reason: 'cancel' });
331
315
  });
332
316
  return;
333
317
  }
@@ -572,7 +556,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
572
556
  if (!this.didStart) {
573
557
  this.didStart = true;
574
558
  this.ionStart.emit();
575
- this.ionPullStart.emit();
576
559
  }
577
560
  // emit "pulling" on every move
578
561
  this.ionPull.emit();
@@ -616,15 +599,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
616
599
  * available right away.
617
600
  */
618
601
  this.restoreOverflowStyle();
619
- /**
620
- * If ionPullStart was emitted, we need to emit ionPullEnd
621
- * even though the gesture was aborted before reaching the
622
- * pulling threshold.
623
- */
624
- if (this.didStart) {
625
- this.didStart = false;
626
- this.ionPullEnd.emit({ reason: 'cancel' });
627
- }
628
602
  }
629
603
  }
630
604
  beginRefresh() {
@@ -671,9 +645,6 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
671
645
  if (this.contentFullscreen && this.backgroundContentEl) {
672
646
  (_a = this.backgroundContentEl) === null || _a === void 0 ? void 0 : _a.style.removeProperty('--offset-top');
673
647
  }
674
- this.ionPullEnd.emit({
675
- reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
676
- });
677
648
  }, 600);
678
649
  // reset the styles on the scroll element
679
650
  // set that the refresh is actively cancelling/completing
@@ -727,7 +698,7 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
727
698
  }
728
699
  render() {
729
700
  const mode = getIonMode(this);
730
- return (h(Host, { key: 'bed0c2f44c32ecac24b7d8326ac7c7ef1d12c44f', slot: "fixed", class: {
701
+ return (h(Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
731
702
  [mode]: true,
732
703
  // Used internally for styling
733
704
  [`refresher-${mode}`]: true,
@@ -1575,11 +1575,11 @@ const Datetime = class {
1575
1575
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1576
1576
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1577
1577
  const hostDir = this.el.getAttribute('dir') || undefined;
1578
- return (index.h("div", { class: "calendar-header" }, index.h("div", { class: "calendar-action-buttons" }, index.h("div", { class: "calendar-month-year" }, index.h("button", { class: {
1578
+ return (index.h("div", { class: "calendar-header", part: "calendar-header" }, index.h("div", { class: "calendar-action-buttons" }, index.h("div", { class: "calendar-month-year" }, index.h("button", { class: {
1579
1579
  'calendar-month-year-toggle': true,
1580
1580
  'ion-activatable': true,
1581
1581
  'ion-focusable': true,
1582
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, index.h("span", { id: "toggle-wrapper" }, data.getMonthAndYear(this.locale, this.workingParts), index.h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && index.h("ion-ripple-effect", null))), index.h("div", { class: "calendar-next-prev" }, index.h("ion-buttons", null, index.h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronBack, lazy: false, flipRtl: true })), index.h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronForward, lazy: false, flipRtl: true }))))), index.h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, data.getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1582
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, index.h("span", { id: "toggle-wrapper" }, data.getMonthAndYear(this.locale, this.workingParts), index.h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && index.h("ion-ripple-effect", null))), index.h("div", { class: "calendar-next-prev" }, index.h("ion-buttons", null, index.h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth(), part: "prev-next-buttons prev-button" }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronBack, lazy: false, flipRtl: true })), index.h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth(), part: "prev-next-buttons next-button" }, index.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$1.chevronForward, lazy: false, flipRtl: true }))))), index.h("div", { class: "calendar-days-of-week", "aria-hidden": "true", part: "days-of-week" }, data.getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1583
1583
  return index.h("div", { class: "day-of-week" }, d);
1584
1584
  }))));
1585
1585
  }
@@ -1811,7 +1811,7 @@ const Datetime = class {
1811
1811
  if (!hasSlottedTitle && !this.showDefaultTitle) {
1812
1812
  return;
1813
1813
  }
1814
- return (index.h("div", { class: "datetime-header" }, index.h("div", { class: "datetime-title" }, index.h("slot", { name: "title" }, "Select Date")), showExpandedHeader && index.h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1814
+ return (index.h("div", { class: "datetime-header", part: "datetime-header" }, index.h("div", { class: "datetime-title" }, index.h("slot", { name: "title" }, "Select Date")), showExpandedHeader && index.h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1815
1815
  }
1816
1816
  /**
1817
1817
  * Render time picker inside of datetime.
@@ -1891,7 +1891,7 @@ const Datetime = class {
1891
1891
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1892
1892
  const hasWheelVariant = hasDatePresentation && preferWheel;
1893
1893
  helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
1894
- return (index.h(index.Host, { key: '19e20c9b6b5f9467e91a2567b6dc7d9d38b56cc3', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1894
+ return (index.h(index.Host, { key: '3d0787ecb3ad104c4a60d68a6e57140f018a70f2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
1895
1895
  [mode]: true,
1896
1896
  ['datetime-readonly']: readonly,
1897
1897
  ['datetime-disabled']: disabled,
@@ -1901,7 +1901,7 @@ const Datetime = class {
1901
1901
  [`datetime-size-${size}`]: true,
1902
1902
  [`datetime-prefer-wheel`]: hasWheelVariant,
1903
1903
  [`datetime-grid`]: isGridStyle,
1904
- })) }, index.h("div", { key: 'e31b5ef76cd6262dafd39f2d21980887880ec32e', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1904
+ })) }, index.h("div", { key: '6b245a0033d5ddd1918bc839f142141bf5ec54c5', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1905
1905
  }
1906
1906
  get el() { return index.getElement(this); }
1907
1907
  static get watchers() { return {
@@ -214,8 +214,6 @@ const Refresher = class {
214
214
  this.ionRefresh = index.createEvent(this, "ionRefresh", 7);
215
215
  this.ionPull = index.createEvent(this, "ionPull", 7);
216
216
  this.ionStart = index.createEvent(this, "ionStart", 7);
217
- this.ionPullStart = index.createEvent(this, "ionPullStart", 7);
218
- this.ionPullEnd = index.createEvent(this, "ionPullEnd", 7);
219
217
  this.appliedStyles = false;
220
218
  this.didStart = false;
221
219
  this.progress = 0;
@@ -270,8 +268,8 @@ const Refresher = class {
270
268
  * than `1`. The default value is `1` which is equal to the speed of the cursor.
271
269
  * If a negative value is passed in, the factor will be `1` instead.
272
270
  *
273
- * For example, If the value passed is `1.2` and the content is dragged by
274
- * `10` pixels, instead of `10` pixels, the content will be pulled by `12` pixels
271
+ * For example: If the value passed is `1.2` and the content is dragged by
272
+ * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels
275
273
  * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount
276
274
  * will be `8` pixels, less than the amount the cursor has moved.
277
275
  *
@@ -321,9 +319,6 @@ const Refresher = class {
321
319
  this.animations = [];
322
320
  this.progress = 0;
323
321
  this.state = 1 /* RefresherState.Inactive */;
324
- this.ionPullEnd.emit({
325
- reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
326
- });
327
322
  }
328
323
  async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {
329
324
  this.elementToTransform = this.scrollEl;
@@ -356,7 +351,6 @@ const Refresher = class {
356
351
  if (!this.didStart) {
357
352
  this.didStart = true;
358
353
  this.ionStart.emit();
359
- this.ionPullStart.emit();
360
354
  }
361
355
  // emit "pulling" on every move
362
356
  if (this.pointerDown) {
@@ -432,7 +426,6 @@ const Refresher = class {
432
426
  this.lastVelocityY = ev.velocityY;
433
427
  },
434
428
  onEnd: () => {
435
- const hadStarted = this.didStart;
436
429
  this.pointerDown = false;
437
430
  this.didStart = false;
438
431
  if (this.needsCompletion) {
@@ -442,13 +435,6 @@ const Refresher = class {
442
435
  else if (this.didRefresh) {
443
436
  index.readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));
444
437
  }
445
- else if (hadStarted) {
446
- /**
447
- * User started pulling but released before reaching the refresh threshold.
448
- * Emit ionPullEnd to complete the event pair.
449
- */
450
- this.ionPullEnd.emit({ reason: 'cancel' });
451
- }
452
438
  },
453
439
  });
454
440
  this.disabledChanged();
@@ -495,7 +481,6 @@ const Refresher = class {
495
481
  ev.data.animation = animation;
496
482
  animation.progressStart(false, 0);
497
483
  this.ionStart.emit();
498
- this.ionPullStart.emit();
499
484
  this.animations.push(animation);
500
485
  return;
501
486
  }
@@ -518,7 +503,6 @@ const Refresher = class {
518
503
  this.animations = [];
519
504
  this.gesture.enable(true);
520
505
  this.state = 1 /* RefresherState.Inactive */;
521
- this.ionPullEnd.emit({ reason: 'cancel' });
522
506
  });
523
507
  return;
524
508
  }
@@ -763,7 +747,6 @@ const Refresher = class {
763
747
  if (!this.didStart) {
764
748
  this.didStart = true;
765
749
  this.ionStart.emit();
766
- this.ionPullStart.emit();
767
750
  }
768
751
  // emit "pulling" on every move
769
752
  this.ionPull.emit();
@@ -807,15 +790,6 @@ const Refresher = class {
807
790
  * available right away.
808
791
  */
809
792
  this.restoreOverflowStyle();
810
- /**
811
- * If ionPullStart was emitted, we need to emit ionPullEnd
812
- * even though the gesture was aborted before reaching the
813
- * pulling threshold.
814
- */
815
- if (this.didStart) {
816
- this.didStart = false;
817
- this.ionPullEnd.emit({ reason: 'cancel' });
818
- }
819
793
  }
820
794
  }
821
795
  beginRefresh() {
@@ -862,9 +836,6 @@ const Refresher = class {
862
836
  if (this.contentFullscreen && this.backgroundContentEl) {
863
837
  (_a = this.backgroundContentEl) === null || _a === void 0 ? void 0 : _a.style.removeProperty('--offset-top');
864
838
  }
865
- this.ionPullEnd.emit({
866
- reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
867
- });
868
839
  }, 600);
869
840
  // reset the styles on the scroll element
870
841
  // set that the refresh is actively cancelling/completing
@@ -918,7 +889,7 @@ const Refresher = class {
918
889
  }
919
890
  render() {
920
891
  const mode = ionicGlobal.getIonMode(this);
921
- return (index.h(index.Host, { key: 'bed0c2f44c32ecac24b7d8326ac7c7ef1d12c44f', slot: "fixed", class: {
892
+ return (index.h(index.Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
922
893
  [mode]: true,
923
894
  // Used internally for styling
924
895
  [`refresher-${mode}`]: true,
@@ -34,14 +34,21 @@ import { checkForPresentationFormatMismatch, warnIfTimeZoneProvided } from "./ut
34
34
  * layout with `presentation="date-time"` or `"time-date"`.
35
35
  * @part time-button active - The time picker button when the picker is open.
36
36
  *
37
+ * @part calendar-header - The calendar header manages the date navigation controls (month/year picker and prev/next buttons) and the days of the week when using a grid style layout.
37
38
  * @part month-year-button - The button that opens the month/year picker when
38
39
  * using a grid style layout.
40
+ * @part prev-next-buttons - The buttons used to navigate to the next or previous month when using a grid style layout.
41
+ * @part prev-button - The button used to navigate to the previous month when using a grid style layout.
42
+ * @part next-button - The button used to navigate to the next month when using a grid style layout.
43
+ * @part days-of-week - The container for the day-of-the-week header (both weekdays and weekends) when using a grid style layout.
39
44
  *
40
45
  * @part calendar-day - The individual buttons that display a day inside of the datetime
41
46
  * calendar.
42
47
  * @part calendar-day active - The currently selected calendar day.
43
48
  * @part calendar-day today - The calendar day that contains the current day.
44
49
  * @part calendar-day disabled - The calendar day that is disabled.
50
+ *
51
+ * @part datetime-header - The datetime header contains the content for the `title` slot and the selected date.
45
52
  */
46
53
  export class Datetime {
47
54
  constructor() {
@@ -1375,11 +1382,11 @@ export class Datetime {
1375
1382
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1376
1383
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
1377
1384
  const hostDir = this.el.getAttribute('dir') || undefined;
1378
- return (h("div", { class: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
1385
+ return (h("div", { class: "calendar-header", part: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
1379
1386
  'calendar-month-year-toggle': true,
1380
1387
  'ion-activatable': true,
1381
1388
  'ion-focusable': true,
1382
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1389
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth(), part: "prev-next-buttons prev-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth(), part: "prev-next-buttons next-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true", part: "days-of-week" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1383
1390
  return h("div", { class: "day-of-week" }, d);
1384
1391
  }))));
1385
1392
  }
@@ -1611,7 +1618,7 @@ export class Datetime {
1611
1618
  if (!hasSlottedTitle && !this.showDefaultTitle) {
1612
1619
  return;
1613
1620
  }
1614
- return (h("div", { class: "datetime-header" }, h("div", { class: "datetime-title" }, h("slot", { name: "title" }, "Select Date")), showExpandedHeader && h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1621
+ return (h("div", { class: "datetime-header", part: "datetime-header" }, h("div", { class: "datetime-title" }, h("slot", { name: "title" }, "Select Date")), showExpandedHeader && h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
1615
1622
  }
1616
1623
  /**
1617
1624
  * Render time picker inside of datetime.
@@ -1691,7 +1698,7 @@ export class Datetime {
1691
1698
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1692
1699
  const hasWheelVariant = hasDatePresentation && preferWheel;
1693
1700
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1694
- return (h(Host, { key: '19e20c9b6b5f9467e91a2567b6dc7d9d38b56cc3', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1701
+ return (h(Host, { key: '3d0787ecb3ad104c4a60d68a6e57140f018a70f2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1695
1702
  [mode]: true,
1696
1703
  ['datetime-readonly']: readonly,
1697
1704
  ['datetime-disabled']: disabled,
@@ -1701,7 +1708,7 @@ export class Datetime {
1701
1708
  [`datetime-size-${size}`]: true,
1702
1709
  [`datetime-prefer-wheel`]: hasWheelVariant,
1703
1710
  [`datetime-grid`]: isGridStyle,
1704
- })) }, h("div", { key: 'e31b5ef76cd6262dafd39f2d21980887880ec32e', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1711
+ })) }, h("div", { key: '6b245a0033d5ddd1918bc839f142141bf5ec54c5', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1705
1712
  }
1706
1713
  static get is() { return "ion-datetime"; }
1707
1714
  static get encapsulation() { return "shadow"; }
@@ -68,8 +68,8 @@ export class Refresher {
68
68
  * than `1`. The default value is `1` which is equal to the speed of the cursor.
69
69
  * If a negative value is passed in, the factor will be `1` instead.
70
70
  *
71
- * For example, If the value passed is `1.2` and the content is dragged by
72
- * `10` pixels, instead of `10` pixels, the content will be pulled by `12` pixels
71
+ * For example: If the value passed is `1.2` and the content is dragged by
72
+ * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels
73
73
  * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount
74
74
  * will be `8` pixels, less than the amount the cursor has moved.
75
75
  *
@@ -119,9 +119,6 @@ export class Refresher {
119
119
  this.animations = [];
120
120
  this.progress = 0;
121
121
  this.state = 1 /* RefresherState.Inactive */;
122
- this.ionPullEnd.emit({
123
- reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
124
- });
125
122
  }
126
123
  async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {
127
124
  this.elementToTransform = this.scrollEl;
@@ -154,7 +151,6 @@ export class Refresher {
154
151
  if (!this.didStart) {
155
152
  this.didStart = true;
156
153
  this.ionStart.emit();
157
- this.ionPullStart.emit();
158
154
  }
159
155
  // emit "pulling" on every move
160
156
  if (this.pointerDown) {
@@ -230,7 +226,6 @@ export class Refresher {
230
226
  this.lastVelocityY = ev.velocityY;
231
227
  },
232
228
  onEnd: () => {
233
- const hadStarted = this.didStart;
234
229
  this.pointerDown = false;
235
230
  this.didStart = false;
236
231
  if (this.needsCompletion) {
@@ -240,13 +235,6 @@ export class Refresher {
240
235
  else if (this.didRefresh) {
241
236
  readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));
242
237
  }
243
- else if (hadStarted) {
244
- /**
245
- * User started pulling but released before reaching the refresh threshold.
246
- * Emit ionPullEnd to complete the event pair.
247
- */
248
- this.ionPullEnd.emit({ reason: 'cancel' });
249
- }
250
238
  },
251
239
  });
252
240
  this.disabledChanged();
@@ -293,7 +281,6 @@ export class Refresher {
293
281
  ev.data.animation = animation;
294
282
  animation.progressStart(false, 0);
295
283
  this.ionStart.emit();
296
- this.ionPullStart.emit();
297
284
  this.animations.push(animation);
298
285
  return;
299
286
  }
@@ -316,7 +303,6 @@ export class Refresher {
316
303
  this.animations = [];
317
304
  this.gesture.enable(true);
318
305
  this.state = 1 /* RefresherState.Inactive */;
319
- this.ionPullEnd.emit({ reason: 'cancel' });
320
306
  });
321
307
  return;
322
308
  }
@@ -561,7 +547,6 @@ export class Refresher {
561
547
  if (!this.didStart) {
562
548
  this.didStart = true;
563
549
  this.ionStart.emit();
564
- this.ionPullStart.emit();
565
550
  }
566
551
  // emit "pulling" on every move
567
552
  this.ionPull.emit();
@@ -605,15 +590,6 @@ export class Refresher {
605
590
  * available right away.
606
591
  */
607
592
  this.restoreOverflowStyle();
608
- /**
609
- * If ionPullStart was emitted, we need to emit ionPullEnd
610
- * even though the gesture was aborted before reaching the
611
- * pulling threshold.
612
- */
613
- if (this.didStart) {
614
- this.didStart = false;
615
- this.ionPullEnd.emit({ reason: 'cancel' });
616
- }
617
593
  }
618
594
  }
619
595
  beginRefresh() {
@@ -660,9 +636,6 @@ export class Refresher {
660
636
  if (this.contentFullscreen && this.backgroundContentEl) {
661
637
  (_a = this.backgroundContentEl) === null || _a === void 0 ? void 0 : _a.style.removeProperty('--offset-top');
662
638
  }
663
- this.ionPullEnd.emit({
664
- reason: state === 32 /* RefresherState.Completing */ ? 'complete' : 'cancel',
665
- });
666
639
  }, 600);
667
640
  // reset the styles on the scroll element
668
641
  // set that the refresh is actively cancelling/completing
@@ -716,7 +689,7 @@ export class Refresher {
716
689
  }
717
690
  render() {
718
691
  const mode = getIonMode(this);
719
- return (h(Host, { key: 'bed0c2f44c32ecac24b7d8326ac7c7ef1d12c44f', slot: "fixed", class: {
692
+ return (h(Host, { key: '2d1bd880877b698604542ab2d602d38b9504d975', slot: "fixed", class: {
720
693
  [mode]: true,
721
694
  // Used internally for styling
722
695
  [`refresher-${mode}`]: true,
@@ -836,7 +809,7 @@ export class Refresher {
836
809
  "optional": false,
837
810
  "docs": {
838
811
  "tags": [],
839
- "text": "How much to multiply the pull speed by. To slow the pull animation down,\npass a number less than `1`. To speed up the pull, pass a number greater\nthan `1`. The default value is `1` which is equal to the speed of the cursor.\nIf a negative value is passed in, the factor will be `1` instead.\n\nFor example, If the value passed is `1.2` and the content is dragged by\n`10` pixels, instead of `10` pixels, the content will be pulled by `12` pixels\n(an increase of 20 percent). If the value passed is `0.8`, the dragged amount\nwill be `8` pixels, less than the amount the cursor has moved.\n\nDoes not apply when the refresher content uses a spinner,\nenabling the native refresher."
812
+ "text": "How much to multiply the pull speed by. To slow the pull animation down,\npass a number less than `1`. To speed up the pull, pass a number greater\nthan `1`. The default value is `1` which is equal to the speed of the cursor.\nIf a negative value is passed in, the factor will be `1` instead.\n\nFor example: If the value passed is `1.2` and the content is dragged by\n`10` pixels, instead of `10` pixels the content will be pulled by `12` pixels\n(an increase of 20 percent). If the value passed is `0.8`, the dragged amount\nwill be `8` pixels, less than the amount the cursor has moved.\n\nDoes not apply when the refresher content uses a spinner,\nenabling the native refresher."
840
813
  },
841
814
  "getter": false,
842
815
  "setter": false,
@@ -915,24 +888,6 @@ export class Refresher {
915
888
  "bubbles": true,
916
889
  "cancelable": true,
917
890
  "composed": true,
918
- "docs": {
919
- "tags": [{
920
- "name": "deprecated",
921
- "text": "Use `ionPullStart` instead."
922
- }],
923
- "text": "Emitted when the user begins to start pulling down.\nTODO(FW-7044): Remove this in a major release"
924
- },
925
- "complexType": {
926
- "original": "void",
927
- "resolved": "void",
928
- "references": {}
929
- }
930
- }, {
931
- "method": "ionPullStart",
932
- "name": "ionPullStart",
933
- "bubbles": true,
934
- "cancelable": true,
935
- "composed": true,
936
891
  "docs": {
937
892
  "tags": [],
938
893
  "text": "Emitted when the user begins to start pulling down."
@@ -942,27 +897,6 @@ export class Refresher {
942
897
  "resolved": "void",
943
898
  "references": {}
944
899
  }
945
- }, {
946
- "method": "ionPullEnd",
947
- "name": "ionPullEnd",
948
- "bubbles": true,
949
- "cancelable": true,
950
- "composed": true,
951
- "docs": {
952
- "tags": [],
953
- "text": "Emitted when the refresher has returned to the inactive state\nafter a pull gesture. This fires whether the refresh completed\nsuccessfully or was canceled."
954
- },
955
- "complexType": {
956
- "original": "RefresherPullEndEventDetail",
957
- "resolved": "RefresherPullEndEventDetail",
958
- "references": {
959
- "RefresherPullEndEventDetail": {
960
- "location": "import",
961
- "path": "./refresher-interface",
962
- "id": "src/components/refresher/refresher-interface.ts::RefresherPullEndEventDetail"
963
- }
964
- }
965
- }
966
900
  }];
967
901
  }
968
902
  static get methods() {