@ionic/core 8.5.4-dev.11744209290.123af9eb → 8.5.4-dev.11744646756.1244bf71
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.
- package/components/data.js +29 -4
- package/components/ion-datetime.js +70 -28
- package/components/ion-toggle.js +11 -4
- package/dist/cjs/{app-globals-Di9ZJzjm.js → app-globals-CSpnImi2.js} +1 -1
- package/dist/cjs/{button-active-BlMN9Iyq.js → button-active-BzpKQ5zN.js} +1 -1
- package/dist/cjs/{data-DlPf8ZXm.js → data-BQSLLJwc.js} +30 -5
- package/dist/cjs/{hardware-back-button-lTgcqUpk.js → hardware-back-button-B0yu2YGK.js} +2 -2
- package/dist/cjs/{index-BE9YH63j.js → index-04WNNW0S.js} +5 -5
- package/dist/cjs/{index-CquwaYOd.js → index-3N0K8CTt.js} +1 -1
- package/dist/cjs/{index-CXThGkw7.js → index-BjVGGb_k.js} +3 -3
- package/dist/cjs/{index-rYFHa7ZR.js → index-D7kGM2E_.js} +1 -1
- package/dist/cjs/{index-BVfbh2cJ.js → index-qOuhvt-6.js} +18 -1
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/{input-shims-DA_nJulF.js → input-shims-B23RZ_yw.js} +4 -4
- package/dist/cjs/{input.utils-UHOCoNWM.js → input.utils-BvrpMdKU.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
- package/dist/cjs/ion-alert.cjs.entry.js +6 -6
- package/dist/cjs/ion-app_8.cjs.entry.js +9 -9
- package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
- package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-datetime_3.cjs.entry.js +75 -34
- package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +5 -5
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +7 -7
- package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker.cjs.entry.js +1 -1
- package/dist/cjs/ion-popover.cjs.entry.js +6 -6
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-range.cjs.entry.js +4 -4
- package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select-modal.cjs.entry.js +5 -5
- package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
- package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
- package/dist/cjs/ion-toast.cjs.entry.js +5 -5
- package/dist/cjs/ion-toggle.cjs.entry.js +12 -5
- package/dist/cjs/{ionic-global-AdqEvgj6.js → ionic-global-D0fKFhpt.js} +1 -1
- package/dist/cjs/ionic.cjs.js +5 -5
- package/dist/cjs/{ios.transition-B8HcmmPx.js → ios.transition-Cyrk-CkT.js} +4 -4
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-54O0AjJC.js → md.transition-Bh2J94f4.js} +4 -4
- package/dist/cjs/{overlays-CSyZW4m0.js → overlays-hvRku41m.js} +3 -3
- package/dist/cjs/{status-tap-B1Kcv7yf.js → status-tap-EJ9Sb5hb.js} +4 -4
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/datetime/datetime.ios.css +7 -2
- package/dist/collection/components/datetime/datetime.js +87 -26
- package/dist/collection/components/datetime/datetime.md.css +9 -3
- package/dist/collection/components/datetime/utils/data.js +29 -4
- package/dist/collection/components/toggle/toggle.js +11 -3
- package/dist/docs.json +26 -2
- package/dist/esm/{app-globals-CispSZgz.js → app-globals-C0a0o4Av.js} +1 -1
- package/dist/esm/{button-active-D92yWoWC.js → button-active-BQqkZ_sm.js} +1 -1
- package/dist/esm/{data-Dq3-TN9Z.js → data-omKWOMer.js} +30 -5
- package/dist/esm/{hardware-back-button-CRemSDoj.js → hardware-back-button-RMajLSrZ.js} +2 -2
- package/dist/esm/{index-DYJvRcE0.js → index-BKfOgUuW.js} +5 -5
- package/dist/esm/{index-DZLiflRE.js → index-C7r3mIlB.js} +3 -3
- package/dist/esm/{index-DWiwgv23.js → index-CDohRbVJ.js} +1 -1
- package/dist/esm/{index-PfJyigSK.js → index-DR2njD_q.js} +1 -1
- package/dist/esm/{index-C5UXyyFe.js → index-EP3pwcdb.js} +18 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/{input-shims-BL_oixbH.js → input-shims-Clcc9pEO.js} +4 -4
- package/dist/esm/{input.utils-Bd73EHpQ.js → input.utils-BeGXuyDm.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +3 -3
- package/dist/esm/ion-action-sheet.entry.js +6 -6
- package/dist/esm/ion-alert.entry.js +6 -6
- package/dist/esm/ion-app_8.entry.js +9 -9
- package/dist/esm/ion-avatar_3.entry.js +2 -2
- package/dist/esm/ion-back-button.entry.js +2 -2
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
- package/dist/esm/ion-button_2.entry.js +3 -3
- package/dist/esm/ion-card_5.entry.js +2 -2
- package/dist/esm/ion-checkbox.entry.js +2 -2
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/ion-col_3.entry.js +2 -2
- package/dist/esm/ion-datetime-button.entry.js +4 -4
- package/dist/esm/ion-datetime_3.entry.js +75 -34
- package/dist/esm/ion-fab_3.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
- package/dist/esm/ion-input-password-toggle.entry.js +3 -3
- package/dist/esm/ion-input.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +5 -5
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +7 -7
- package/dist/esm/ion-nav_2.entry.js +4 -4
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-picker-column.entry.js +2 -2
- package/dist/esm/ion-picker.entry.js +1 -1
- package/dist/esm/ion-popover.entry.js +6 -6
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-radio_2.entry.js +2 -2
- package/dist/esm/ion-range.entry.js +4 -4
- package/dist/esm/ion-refresher_2.entry.js +4 -4
- package/dist/esm/ion-reorder_2.entry.js +4 -4
- package/dist/esm/ion-ripple-effect.entry.js +2 -2
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +2 -2
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +1 -1
- package/dist/esm/ion-segment_2.entry.js +2 -2
- package/dist/esm/ion-select-modal.entry.js +5 -5
- package/dist/esm/ion-select_3.entry.js +5 -5
- package/dist/esm/ion-spinner.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +2 -2
- package/dist/esm/ion-tab_2.entry.js +1 -1
- package/dist/esm/ion-text.entry.js +2 -2
- package/dist/esm/ion-textarea.entry.js +4 -4
- package/dist/esm/ion-toast.entry.js +5 -5
- package/dist/esm/ion-toggle.entry.js +12 -5
- package/dist/esm/{ionic-global-GkM1xiqt.js → ionic-global-CrB2BPUW.js} +1 -1
- package/dist/esm/ionic.js +6 -6
- package/dist/esm/{ios.transition-BcTzvx5_.js → ios.transition-BObaMu_w.js} +4 -4
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-DYGWIgPE.js → md.transition-BYk9oj5T.js} +4 -4
- package/dist/esm/{overlays-BuSzwtlC.js → overlays-DUDTB6a2.js} +3 -3
- package/dist/esm/{status-tap-BPk7Ddsi.js → status-tap-Az5SFsVV.js} +4 -4
- package/dist/html.html-data.json +4 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-49b72347.entry.js → p-006975c7.entry.js} +1 -1
- package/dist/ionic/{p-e01503b2.entry.js → p-00acbe36.entry.js} +1 -1
- package/dist/ionic/p-03abd858.entry.js +4 -0
- package/dist/ionic/{p-6a8928b1.entry.js → p-141822bc.entry.js} +1 -1
- package/dist/ionic/p-17e8ff6b.entry.js +4 -0
- package/dist/ionic/{p-879a7b00.entry.js → p-189c7fe9.entry.js} +1 -1
- package/dist/ionic/{p-72d7dd7c.entry.js → p-18b4709f.entry.js} +1 -1
- package/dist/ionic/{p-171d5d3e.entry.js → p-1bea6291.entry.js} +1 -1
- package/dist/ionic/{p-9ca05f27.entry.js → p-1f3d9d38.entry.js} +1 -1
- package/dist/ionic/{p-9d8be89a.entry.js → p-20b45b04.entry.js} +1 -1
- package/dist/ionic/{p-7deacfed.entry.js → p-2959ef70.entry.js} +1 -1
- package/dist/ionic/{p-ccbc5737.entry.js → p-2b9a91c2.entry.js} +1 -1
- package/dist/ionic/{p-a8506291.entry.js → p-2c58164d.entry.js} +1 -1
- package/dist/ionic/{p-6d4f1c6e.entry.js → p-2d142503.entry.js} +1 -1
- package/dist/ionic/{p-930ec949.entry.js → p-3129a2c6.entry.js} +1 -1
- package/dist/ionic/{p-3628b1f7.entry.js → p-3a5bc7b1.entry.js} +1 -1
- package/dist/ionic/{p-b3485dee.entry.js → p-40e55257.entry.js} +1 -1
- package/dist/ionic/{p-841761ee.entry.js → p-45f3c7d9.entry.js} +1 -1
- package/dist/ionic/{p-6f5d9223.entry.js → p-46f82b82.entry.js} +1 -1
- package/dist/ionic/p-47ccb59d.entry.js +4 -0
- package/dist/ionic/{p-9d7d6758.entry.js → p-4bd5bd61.entry.js} +1 -1
- package/dist/ionic/{p-414f60f0.entry.js → p-52043361.entry.js} +1 -1
- package/dist/ionic/{p-8ca2b22c.entry.js → p-527660e0.entry.js} +1 -1
- package/dist/ionic/{p-2a2ab89d.entry.js → p-601f0d27.entry.js} +1 -1
- package/dist/ionic/{p-ddc1c497.entry.js → p-644759cb.entry.js} +1 -1
- package/dist/ionic/{p-c0634ff3.entry.js → p-657e9085.entry.js} +1 -1
- package/dist/ionic/{p-10f11601.entry.js → p-67178c9b.entry.js} +1 -1
- package/dist/ionic/{p-a1581941.entry.js → p-67b4c53d.entry.js} +1 -1
- package/dist/ionic/p-6cab60b7.entry.js +4 -0
- package/dist/ionic/{p-92aed080.entry.js → p-6ceef433.entry.js} +1 -1
- package/dist/ionic/{p-85d22d84.entry.js → p-6d8983d1.entry.js} +1 -1
- package/dist/ionic/{p-10e11b67.entry.js → p-79851759.entry.js} +1 -1
- package/dist/ionic/{p-d3ee5846.entry.js → p-7cdee842.entry.js} +1 -1
- package/dist/ionic/{p-52eca165.entry.js → p-7d026411.entry.js} +1 -1
- package/dist/ionic/{p-a3ec5708.entry.js → p-7d4b2506.entry.js} +1 -1
- package/dist/ionic/{p-fc3eb210.entry.js → p-8b6eb546.entry.js} +1 -1
- package/dist/ionic/{p-d7a76cd0.entry.js → p-8fc1959d.entry.js} +1 -1
- package/dist/ionic/{p-261e3a47.entry.js → p-9092b7fb.entry.js} +1 -1
- package/dist/ionic/{p-b8a159eb.entry.js → p-9cac4dc7.entry.js} +1 -1
- package/dist/ionic/{p-06d06c2f.entry.js → p-9fe56809.entry.js} +1 -1
- package/dist/ionic/{p-CeCT60rb.js → p-C-oNjncL.js} +1 -1
- package/dist/ionic/{p-B1sP_kPm.js → p-C-xl6pej.js} +1 -1
- package/dist/ionic/p-C5Aon1Kb.js +4 -0
- package/dist/ionic/{p-CdKu7oC9.js → p-Cg19OPuo.js} +1 -1
- package/dist/ionic/{p-CdWpy93z.js → p-CwbsDRzJ.js} +1 -1
- package/dist/ionic/p-D0SqsSaH.js +4 -0
- package/dist/ionic/p-DCi8BSH3.js +4 -0
- package/dist/ionic/{p-BTEIaRld.js → p-DGw3g412.js} +1 -1
- package/dist/ionic/{p-lw61HGQ-.js → p-DSMkBmnY.js} +1 -1
- package/dist/ionic/{p-B3UoCFcu.js → p-D_2UPtUV.js} +1 -1
- package/dist/ionic/{p-CiN6q3Lh.js → p-DonNC93r.js} +1 -1
- package/dist/ionic/p-EP3pwcdb.js +5 -0
- package/dist/ionic/{p-XWSYNdC9.js → p-HRylM0tf.js} +1 -1
- package/dist/ionic/{p-C3eOXAUO.js → p-RyPJq84W.js} +1 -1
- package/dist/ionic/{p-B8iLKNde.js → p-Uz6zKimy.js} +1 -1
- package/dist/ionic/{p-210385cd.entry.js → p-a5570370.entry.js} +1 -1
- package/dist/ionic/{p-2469206a.entry.js → p-a5ee3eb8.entry.js} +1 -1
- package/dist/ionic/{p-a951373a.entry.js → p-a92657fc.entry.js} +1 -1
- package/dist/ionic/{p-d6a3361a.entry.js → p-a9997b1b.entry.js} +1 -1
- package/dist/ionic/{p-d85dfc51.entry.js → p-b1f3c158.entry.js} +1 -1
- package/dist/ionic/{p-a1767652.entry.js → p-be19e061.entry.js} +1 -1
- package/dist/ionic/{p-49419ffd.entry.js → p-c5157026.entry.js} +1 -1
- package/dist/ionic/{p-bb3cf0f1.entry.js → p-c6e0f544.entry.js} +1 -1
- package/dist/ionic/{p-2f416d26.entry.js → p-e116bb40.entry.js} +1 -1
- package/dist/ionic/{p-75959e43.entry.js → p-e8526b09.entry.js} +1 -1
- package/dist/ionic/{p-dcf2e017.entry.js → p-f1f6326a.entry.js} +1 -1
- package/dist/ionic/{p-B61pJgh5.js → p-uzIBoXdl.js} +1 -1
- package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
- package/dist/types/components/datetime/datetime.d.ts +6 -0
- package/dist/types/components/datetime/utils/data.d.ts +3 -1
- package/dist/types/components/datetime/utils/manipulation.d.ts +1 -0
- package/dist/types/components.d.ts +8 -0
- package/hydrate/index.js +143 -39
- package/hydrate/index.mjs +143 -39
- package/package.json +2 -2
- package/dist/ionic/p-3bd766ca.entry.js +0 -4
- package/dist/ionic/p-76878c5f.entry.js +0 -4
- package/dist/ionic/p-8e57bbf1.entry.js +0 -4
- package/dist/ionic/p-BwAZiDRk.js +0 -4
- package/dist/ionic/p-C5UXyyFe.js +0 -5
- package/dist/ionic/p-DYo1kLGy.js +0 -4
- package/dist/ionic/p-f9c55d46.entry.js +0 -4
- package/dist/ionic/p-zEz12j4K.js +0 -4
|
@@ -54,6 +54,7 @@ export class Datetime {
|
|
|
54
54
|
hour: 13,
|
|
55
55
|
minute: 52,
|
|
56
56
|
ampm: 'pm',
|
|
57
|
+
isAdjacentDay: false,
|
|
57
58
|
};
|
|
58
59
|
this.isTimePopoverOpen = false;
|
|
59
60
|
/**
|
|
@@ -74,6 +75,12 @@ export class Datetime {
|
|
|
74
75
|
* If `true`, the datetime appears normal but the selected date cannot be changed.
|
|
75
76
|
*/
|
|
76
77
|
this.readonly = false;
|
|
78
|
+
/**
|
|
79
|
+
* If `true`, the datetime calendar displays a six-week (42-day) layout,
|
|
80
|
+
* including days from the previous and next months to fill the grid.
|
|
81
|
+
* These adjacent days are selectable unless disabled.
|
|
82
|
+
*/
|
|
83
|
+
this.showAdjacentDays = false;
|
|
77
84
|
/**
|
|
78
85
|
* Which values you want to select. `"date"` will show
|
|
79
86
|
* a calendar picker to select the month, day, and year. `"time"`
|
|
@@ -356,12 +363,15 @@ export class Datetime {
|
|
|
356
363
|
};
|
|
357
364
|
this.focusWorkingDay = (currentMonth) => {
|
|
358
365
|
/**
|
|
359
|
-
* Get the number of
|
|
366
|
+
* Get the number of offset days so
|
|
360
367
|
* we know how much to offset our next selector by
|
|
361
368
|
* to grab the correct calendar-day element.
|
|
362
369
|
*/
|
|
363
|
-
const
|
|
364
|
-
const
|
|
370
|
+
const { day, month, year } = this.workingParts;
|
|
371
|
+
const firstOfMonth = new Date(`${month}/1/${year}`).getDay();
|
|
372
|
+
const offset = firstOfMonth >= this.firstDayOfWeek
|
|
373
|
+
? firstOfMonth - this.firstDayOfWeek
|
|
374
|
+
: 7 - (this.firstDayOfWeek - firstOfMonth);
|
|
365
375
|
if (day === null) {
|
|
366
376
|
return;
|
|
367
377
|
}
|
|
@@ -369,7 +379,7 @@ export class Datetime {
|
|
|
369
379
|
* Get the calendar day element
|
|
370
380
|
* and focus it.
|
|
371
381
|
*/
|
|
372
|
-
const dayEl = currentMonth.querySelector(`.calendar-day-wrapper:nth-of-type(${
|
|
382
|
+
const dayEl = currentMonth.querySelector(`.calendar-day-wrapper:nth-of-type(${offset + day}) .calendar-day`);
|
|
373
383
|
if (dayEl) {
|
|
374
384
|
dayEl.focus();
|
|
375
385
|
}
|
|
@@ -1383,10 +1393,36 @@ export class Datetime {
|
|
|
1383
1393
|
'calendar-month': true,
|
|
1384
1394
|
// Prevents scroll snap swipe gestures for months outside of the min/max bounds
|
|
1385
1395
|
'calendar-month-disabled': !isWorkingMonth && swipeDisabled,
|
|
1386
|
-
} }, h("div", { class: "calendar-month-grid" }, getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index) => {
|
|
1387
|
-
const { day, dayOfWeek } = dateObject;
|
|
1388
|
-
const { el, highlightedDates, isDateEnabled, multiple } = this;
|
|
1389
|
-
|
|
1396
|
+
} }, h("div", { class: "calendar-month-grid" }, getDaysOfMonth(month, year, this.firstDayOfWeek % 7, this.showAdjacentDays).map((dateObject, index) => {
|
|
1397
|
+
const { day, dayOfWeek, isAdjacentDay } = dateObject;
|
|
1398
|
+
const { el, highlightedDates, isDateEnabled, multiple, showAdjacentDays } = this;
|
|
1399
|
+
let _month = month;
|
|
1400
|
+
let _year = year;
|
|
1401
|
+
if (showAdjacentDays && isAdjacentDay && day !== null) {
|
|
1402
|
+
if (day > 20) {
|
|
1403
|
+
// Leading with the adjacent day from the previous month
|
|
1404
|
+
// if its a adjacent day and is higher than '20' (last week even in feb)
|
|
1405
|
+
if (month === 1) {
|
|
1406
|
+
_year = year - 1;
|
|
1407
|
+
_month = 12;
|
|
1408
|
+
}
|
|
1409
|
+
else {
|
|
1410
|
+
_month = month - 1;
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
else if (day < 15) {
|
|
1414
|
+
// Leading with the adjacent day from the next month
|
|
1415
|
+
// if its a adjacent day and is lower than '15' (first two weeks)
|
|
1416
|
+
if (month === 12) {
|
|
1417
|
+
_year = year + 1;
|
|
1418
|
+
_month = 1;
|
|
1419
|
+
}
|
|
1420
|
+
else {
|
|
1421
|
+
_month = month + 1;
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1425
|
+
const referenceParts = { month: _month, day, year: _year, isAdjacentDay };
|
|
1390
1426
|
const isCalendarPadding = day === null;
|
|
1391
1427
|
const { isActive, isToday, ariaLabel, ariaSelected, disabled: isDayDisabled, text, } = getCalendarDayState(this.locale, referenceParts, this.activeParts, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
|
|
1392
1428
|
const dateIsoString = convertDataToISO(referenceParts);
|
|
@@ -1416,15 +1452,18 @@ export class Datetime {
|
|
|
1416
1452
|
* Custom highlight styles should not override the style for selected dates,
|
|
1417
1453
|
* nor apply to "filler days" at the start of the grid.
|
|
1418
1454
|
*/
|
|
1419
|
-
if (highlightedDates !== undefined && !isActive && day !== null) {
|
|
1455
|
+
if (highlightedDates !== undefined && !isActive && day !== null && !isAdjacentDay) {
|
|
1420
1456
|
dateStyle = getHighlightStyles(highlightedDates, dateIsoString, el);
|
|
1421
1457
|
}
|
|
1422
1458
|
let dateParts = undefined;
|
|
1423
1459
|
// "Filler days" at the beginning of the grid should not get the calendar day
|
|
1424
1460
|
// CSS parts added to them
|
|
1425
|
-
if (!isCalendarPadding) {
|
|
1461
|
+
if (!isCalendarPadding && !isAdjacentDay) {
|
|
1426
1462
|
dateParts = `calendar-day${isActive ? ' active' : ''}${isToday ? ' today' : ''}${isCalDayDisabled ? ' disabled' : ''}`;
|
|
1427
1463
|
}
|
|
1464
|
+
else if (isAdjacentDay) {
|
|
1465
|
+
dateParts = `calendar-day${isCalDayDisabled ? ' disabled' : ''}`;
|
|
1466
|
+
}
|
|
1428
1467
|
return (h("div", { class: "calendar-day-wrapper" }, h("button", {
|
|
1429
1468
|
// We need to use !important for the inline styles here because
|
|
1430
1469
|
// otherwise the CSS shadow parts will override these styles.
|
|
@@ -1437,31 +1476,33 @@ export class Datetime {
|
|
|
1437
1476
|
el.style.setProperty('color', `${dateStyle ? dateStyle.textColor : ''}`, 'important');
|
|
1438
1477
|
el.style.setProperty('background-color', `${dateStyle ? dateStyle.backgroundColor : ''}`, 'important');
|
|
1439
1478
|
}
|
|
1440
|
-
}, tabindex: "-1", "data-day": day, "data-month":
|
|
1479
|
+
}, tabindex: "-1", "data-day": day, "data-month": _month, "data-year": _year, "data-index": index, "data-day-of-week": dayOfWeek, disabled: isButtonDisabled, class: {
|
|
1441
1480
|
'calendar-day-padding': isCalendarPadding,
|
|
1442
1481
|
'calendar-day': true,
|
|
1443
1482
|
'calendar-day-active': isActive,
|
|
1444
1483
|
'calendar-day-constrained': isCalDayConstrained,
|
|
1445
1484
|
'calendar-day-today': isToday,
|
|
1485
|
+
'calendar-day-adjacent-day': isAdjacentDay,
|
|
1446
1486
|
}, part: dateParts, "aria-hidden": isCalendarPadding ? 'true' : null, "aria-selected": ariaSelected, "aria-label": ariaLabel, onClick: () => {
|
|
1447
1487
|
if (isCalendarPadding) {
|
|
1448
1488
|
return;
|
|
1449
1489
|
}
|
|
1450
|
-
|
|
1451
|
-
day,
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
this.
|
|
1456
|
-
month,
|
|
1457
|
-
day,
|
|
1458
|
-
year,
|
|
1459
|
-
}, isActive);
|
|
1490
|
+
if (isAdjacentDay) {
|
|
1491
|
+
// The user selected a day outside the current month. Ignore this button, as the month will be re-rendered.
|
|
1492
|
+
this.el.blur();
|
|
1493
|
+
this.activeParts = Object.assign(Object.assign({}, activePart), referenceParts);
|
|
1494
|
+
this.animateToDate(referenceParts);
|
|
1495
|
+
this.confirm();
|
|
1460
1496
|
}
|
|
1461
1497
|
else {
|
|
1462
|
-
this.
|
|
1463
|
-
|
|
1464
|
-
|
|
1498
|
+
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), referenceParts));
|
|
1499
|
+
// Multiple only needs date info so we can wipe out other fields like time.
|
|
1500
|
+
if (multiple) {
|
|
1501
|
+
this.setActiveParts(referenceParts, isActive);
|
|
1502
|
+
}
|
|
1503
|
+
else {
|
|
1504
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), referenceParts));
|
|
1505
|
+
}
|
|
1465
1506
|
}
|
|
1466
1507
|
}
|
|
1467
1508
|
}, text)));
|
|
@@ -1632,7 +1673,7 @@ export class Datetime {
|
|
|
1632
1673
|
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1633
1674
|
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1634
1675
|
renderHiddenInput(true, el, name, formatValue(value), disabled);
|
|
1635
|
-
return (h(Host, { key: '
|
|
1676
|
+
return (h(Host, { key: 'aa9d515bd5fda60f924bbed4f4f1c6fa7244a4a2', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
|
|
1636
1677
|
[mode]: true,
|
|
1637
1678
|
['datetime-readonly']: readonly,
|
|
1638
1679
|
['datetime-disabled']: disabled,
|
|
@@ -1642,7 +1683,7 @@ export class Datetime {
|
|
|
1642
1683
|
[`datetime-size-${size}`]: true,
|
|
1643
1684
|
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1644
1685
|
[`datetime-grid`]: isGridStyle,
|
|
1645
|
-
})) }, h("div", { key: '
|
|
1686
|
+
})) }, h("div", { key: 'c85a22ea1b64ec5bf28e4d4c1567d72b6b8ce630', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
|
|
1646
1687
|
}
|
|
1647
1688
|
static get is() { return "ion-datetime"; }
|
|
1648
1689
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1788,6 +1829,26 @@ export class Datetime {
|
|
|
1788
1829
|
"getter": false,
|
|
1789
1830
|
"setter": false
|
|
1790
1831
|
},
|
|
1832
|
+
"showAdjacentDays": {
|
|
1833
|
+
"type": "boolean",
|
|
1834
|
+
"attribute": "show-adjacent-days",
|
|
1835
|
+
"mutable": false,
|
|
1836
|
+
"complexType": {
|
|
1837
|
+
"original": "boolean",
|
|
1838
|
+
"resolved": "boolean",
|
|
1839
|
+
"references": {}
|
|
1840
|
+
},
|
|
1841
|
+
"required": false,
|
|
1842
|
+
"optional": false,
|
|
1843
|
+
"docs": {
|
|
1844
|
+
"tags": [],
|
|
1845
|
+
"text": "If `true`, the datetime calendar displays a six-week (42-day) layout,\nincluding days from the previous and next months to fill the grid.\nThese adjacent days are selectable unless disabled."
|
|
1846
|
+
},
|
|
1847
|
+
"getter": false,
|
|
1848
|
+
"setter": false,
|
|
1849
|
+
"reflect": false,
|
|
1850
|
+
"defaultValue": "false"
|
|
1851
|
+
},
|
|
1791
1852
|
"min": {
|
|
1792
1853
|
"type": "string",
|
|
1793
1854
|
"attribute": "min",
|
|
@@ -371,7 +371,7 @@
|
|
|
371
371
|
opacity: 0.4;
|
|
372
372
|
}
|
|
373
373
|
|
|
374
|
-
.calendar-day:focus {
|
|
374
|
+
.calendar-day:not(.calendar-day-adjacent-day):focus {
|
|
375
375
|
background: rgba(var(--ion-color-base-rgb), 0.2);
|
|
376
376
|
box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
|
|
377
377
|
}
|
|
@@ -652,15 +652,21 @@ ion-picker {
|
|
|
652
652
|
* is selected should have ion-color for
|
|
653
653
|
* text color and be bolder.
|
|
654
654
|
*/
|
|
655
|
-
:host .calendar-day.calendar-day-active
|
|
655
|
+
:host .calendar-day.calendar-day-active,
|
|
656
|
+
:host .calendar-day.calendar-day-adjacent-day.calendar-day-active {
|
|
656
657
|
color: var(--ion-color-contrast);
|
|
657
658
|
}
|
|
658
659
|
|
|
659
|
-
.calendar-day.calendar-day-active
|
|
660
|
+
.calendar-day.calendar-day-active,
|
|
661
|
+
.calendar-day.calendar-day-active:focus {
|
|
660
662
|
border: 1px solid var(--ion-color-base);
|
|
661
663
|
background: var(--ion-color-base);
|
|
662
664
|
}
|
|
663
665
|
|
|
666
|
+
:host .calendar-day.calendar-day-adjacent-day {
|
|
667
|
+
color: var(--ion-color-step-500, var(--ion-text-color-step-500, gray));
|
|
668
|
+
}
|
|
669
|
+
|
|
664
670
|
:host .datetime-time {
|
|
665
671
|
-webkit-padding-start: 16px;
|
|
666
672
|
padding-inline-start: 16px;
|
|
@@ -78,8 +78,17 @@ export const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
|
|
|
78
78
|
* the firstDayOfWeek value (Sunday by default)
|
|
79
79
|
* using null values.
|
|
80
80
|
*/
|
|
81
|
-
export const getDaysOfMonth = (month, year, firstDayOfWeek) => {
|
|
81
|
+
export const getDaysOfMonth = (month, year, firstDayOfWeek, showAdjacentDays = false) => {
|
|
82
82
|
const numDays = getNumDaysInMonth(month, year);
|
|
83
|
+
let previousNumDays; //previous month number of days
|
|
84
|
+
if (month === 1) {
|
|
85
|
+
// If the current month is January, the previous month should be December of the previous year.
|
|
86
|
+
previousNumDays = getNumDaysInMonth(12, year - 1);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// Otherwise, the previous month should be the current month - 1 of the same year.
|
|
90
|
+
previousNumDays = getNumDaysInMonth(month - 1, year);
|
|
91
|
+
}
|
|
83
92
|
const firstOfMonth = new Date(`${month}/1/${year}`).getDay();
|
|
84
93
|
/**
|
|
85
94
|
* To get the first day of the month aligned on the correct
|
|
@@ -103,10 +112,26 @@ export const getDaysOfMonth = (month, year, firstDayOfWeek) => {
|
|
|
103
112
|
const offset = firstOfMonth >= firstDayOfWeek ? firstOfMonth - (firstDayOfWeek + 1) : 6 - (firstDayOfWeek - firstOfMonth);
|
|
104
113
|
let days = [];
|
|
105
114
|
for (let i = 1; i <= numDays; i++) {
|
|
106
|
-
days.push({ day: i, dayOfWeek: (offset + i) % 7 });
|
|
115
|
+
days.push({ day: i, dayOfWeek: (offset + i) % 7, isAdjacentDay: false });
|
|
116
|
+
}
|
|
117
|
+
if (showAdjacentDays) {
|
|
118
|
+
for (let i = 0; i <= offset; i++) {
|
|
119
|
+
// Using offset create previous month adjacent day, starting from last day
|
|
120
|
+
days = [{ day: previousNumDays - i, dayOfWeek: (previousNumDays - i) % 7, isAdjacentDay: true }, ...days];
|
|
121
|
+
}
|
|
122
|
+
// Calculate positiveOffset
|
|
123
|
+
// The calendar will display 42 days (6 rows of 7 columns)
|
|
124
|
+
// Knowing this the offset is 41 (we start at index 0)
|
|
125
|
+
// minus (the previous offset + the current month days)
|
|
126
|
+
const positiveOffset = 41 - (numDays + offset);
|
|
127
|
+
for (let i = 0; i < positiveOffset; i++) {
|
|
128
|
+
days.push({ day: i + 1, dayOfWeek: (numDays + offset + i) % 7, isAdjacentDay: true });
|
|
129
|
+
}
|
|
107
130
|
}
|
|
108
|
-
|
|
109
|
-
|
|
131
|
+
else {
|
|
132
|
+
for (let i = 0; i <= offset; i++) {
|
|
133
|
+
days = [{ day: null, dayOfWeek: null, isAdjacentDay: false }, ...days];
|
|
134
|
+
}
|
|
110
135
|
}
|
|
111
136
|
return days;
|
|
112
137
|
};
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
5
|
import { renderHiddenInput, inheritAriaAttributes } from "../../utils/helpers";
|
|
6
6
|
import { hapticSelection } from "../../utils/native/haptic";
|
|
7
|
+
import { isPlatform } from "../../utils/platform";
|
|
7
8
|
import { isRTL } from "../../utils/rtl/index";
|
|
8
9
|
import { createColorClasses, hostContext } from "../../utils/theme";
|
|
9
10
|
import { checkmarkOutline, removeOutline, ellipseOutline } from "ionicons/icons";
|
|
@@ -85,12 +86,19 @@ export class Toggle {
|
|
|
85
86
|
}
|
|
86
87
|
};
|
|
87
88
|
this.onClick = (ev) => {
|
|
89
|
+
/**
|
|
90
|
+
* The haptics for the toggle on tap is
|
|
91
|
+
* an iOS-only feature. As such, it should
|
|
92
|
+
* only trigger on iOS.
|
|
93
|
+
*/
|
|
94
|
+
const enableHaptics = isPlatform('ios');
|
|
88
95
|
if (this.disabled) {
|
|
89
96
|
return;
|
|
90
97
|
}
|
|
91
98
|
ev.preventDefault();
|
|
92
99
|
if (this.lastDrag + 300 < Date.now()) {
|
|
93
100
|
this.toggleChecked();
|
|
101
|
+
enableHaptics && hapticSelection();
|
|
94
102
|
}
|
|
95
103
|
};
|
|
96
104
|
this.onFocus = () => {
|
|
@@ -218,7 +226,7 @@ export class Toggle {
|
|
|
218
226
|
const value = this.getValue();
|
|
219
227
|
const rtl = isRTL(el) ? 'rtl' : 'ltr';
|
|
220
228
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
221
|
-
return (h(Host, { key: '
|
|
229
|
+
return (h(Host, { key: '4aaa06d203551c3044e9917ea0c4e5d293bf97bc', "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: createColorClasses(color, {
|
|
222
230
|
[mode]: true,
|
|
223
231
|
'in-item': hostContext('ion-item', el),
|
|
224
232
|
'toggle-activated': activated,
|
|
@@ -228,10 +236,10 @@ export class Toggle {
|
|
|
228
236
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
229
237
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
230
238
|
[`toggle-${rtl}`]: true,
|
|
231
|
-
}) }, h("label", { key: '
|
|
239
|
+
}) }, h("label", { key: 'c8474c9c44ec6130e6380791b74c2b6ce1c0f9e4', class: "toggle-wrapper" }, h("input", Object.assign({ key: '6f9ba22ffeb1660e4238a98bdbb8dc4bcce3f229', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, this.inheritedAttributes)), h("div", { key: '6e980fae20ae17e3c879c555155a16a974726527', class: {
|
|
232
240
|
'label-text-wrapper': true,
|
|
233
241
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
234
|
-
}, part: "label" }, h("slot", { key: '
|
|
242
|
+
}, part: "label" }, h("slot", { key: '2a5bc3c46ca0983c86bd1b7497f153c389e6d01f' }), this.renderHintText()), h("div", { key: '3e99e2ba44cb2bade251f723e78165e21261598c', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
235
243
|
}
|
|
236
244
|
static get is() { return "ion-toggle"; }
|
|
237
245
|
static get encapsulation() { return "shadow"; }
|
package/dist/docs.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2025-04-
|
|
2
|
+
"timestamp": "2025-04-14T16:07:36",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
|
-
"version": "4.29.
|
|
5
|
+
"version": "4.29.3",
|
|
6
6
|
"typescriptVersion": "5.5.4"
|
|
7
7
|
},
|
|
8
8
|
"components": [
|
|
@@ -8877,6 +8877,30 @@
|
|
|
8877
8877
|
"getter": false,
|
|
8878
8878
|
"setter": false
|
|
8879
8879
|
},
|
|
8880
|
+
{
|
|
8881
|
+
"name": "showAdjacentDays",
|
|
8882
|
+
"type": "boolean",
|
|
8883
|
+
"complexType": {
|
|
8884
|
+
"original": "boolean",
|
|
8885
|
+
"resolved": "boolean",
|
|
8886
|
+
"references": {}
|
|
8887
|
+
},
|
|
8888
|
+
"mutable": false,
|
|
8889
|
+
"attr": "show-adjacent-days",
|
|
8890
|
+
"reflectToAttr": false,
|
|
8891
|
+
"docs": "If `true`, the datetime calendar displays a six-week (42-day) layout,\nincluding days from the previous and next months to fill the grid.\nThese adjacent days are selectable unless disabled.",
|
|
8892
|
+
"docsTags": [],
|
|
8893
|
+
"default": "false",
|
|
8894
|
+
"values": [
|
|
8895
|
+
{
|
|
8896
|
+
"type": "boolean"
|
|
8897
|
+
}
|
|
8898
|
+
],
|
|
8899
|
+
"optional": false,
|
|
8900
|
+
"required": false,
|
|
8901
|
+
"getter": false,
|
|
8902
|
+
"setter": false
|
|
8903
|
+
},
|
|
8880
8904
|
{
|
|
8881
8905
|
"name": "showClearButton",
|
|
8882
8906
|
"type": "boolean",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { w as writeTask } from './index-
|
|
4
|
+
import { w as writeTask } from './index-EP3pwcdb.js';
|
|
5
5
|
import { h as hapticSelectionEnd, a as hapticSelectionChanged, b as hapticSelectionStart } from './haptic-DzAMWJuk.js';
|
|
6
6
|
import { createGesture } from './index-CfgBF1SE.js';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { a as printIonWarning } from './index-
|
|
4
|
+
import { a as printIonWarning } from './index-DR2njD_q.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Returns true if the selected day is equal to the reference day
|
|
@@ -1182,8 +1182,17 @@ const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
|
|
|
1182
1182
|
* the firstDayOfWeek value (Sunday by default)
|
|
1183
1183
|
* using null values.
|
|
1184
1184
|
*/
|
|
1185
|
-
const getDaysOfMonth = (month, year, firstDayOfWeek) => {
|
|
1185
|
+
const getDaysOfMonth = (month, year, firstDayOfWeek, showAdjacentDays = false) => {
|
|
1186
1186
|
const numDays = getNumDaysInMonth(month, year);
|
|
1187
|
+
let previousNumDays; //previous month number of days
|
|
1188
|
+
if (month === 1) {
|
|
1189
|
+
// If the current month is January, the previous month should be December of the previous year.
|
|
1190
|
+
previousNumDays = getNumDaysInMonth(12, year - 1);
|
|
1191
|
+
}
|
|
1192
|
+
else {
|
|
1193
|
+
// Otherwise, the previous month should be the current month - 1 of the same year.
|
|
1194
|
+
previousNumDays = getNumDaysInMonth(month - 1, year);
|
|
1195
|
+
}
|
|
1187
1196
|
const firstOfMonth = new Date(`${month}/1/${year}`).getDay();
|
|
1188
1197
|
/**
|
|
1189
1198
|
* To get the first day of the month aligned on the correct
|
|
@@ -1207,10 +1216,26 @@ const getDaysOfMonth = (month, year, firstDayOfWeek) => {
|
|
|
1207
1216
|
const offset = firstOfMonth >= firstDayOfWeek ? firstOfMonth - (firstDayOfWeek + 1) : 6 - (firstDayOfWeek - firstOfMonth);
|
|
1208
1217
|
let days = [];
|
|
1209
1218
|
for (let i = 1; i <= numDays; i++) {
|
|
1210
|
-
days.push({ day: i, dayOfWeek: (offset + i) % 7 });
|
|
1219
|
+
days.push({ day: i, dayOfWeek: (offset + i) % 7, isAdjacentDay: false });
|
|
1220
|
+
}
|
|
1221
|
+
if (showAdjacentDays) {
|
|
1222
|
+
for (let i = 0; i <= offset; i++) {
|
|
1223
|
+
// Using offset create previous month adjacent day, starting from last day
|
|
1224
|
+
days = [{ day: previousNumDays - i, dayOfWeek: (previousNumDays - i) % 7, isAdjacentDay: true }, ...days];
|
|
1225
|
+
}
|
|
1226
|
+
// Calculate positiveOffset
|
|
1227
|
+
// The calendar will display 42 days (6 rows of 7 columns)
|
|
1228
|
+
// Knowing this the offset is 41 (we start at index 0)
|
|
1229
|
+
// minus (the previous offset + the current month days)
|
|
1230
|
+
const positiveOffset = 41 - (numDays + offset);
|
|
1231
|
+
for (let i = 0; i < positiveOffset; i++) {
|
|
1232
|
+
days.push({ day: i + 1, dayOfWeek: (numDays + offset + i) % 7, isAdjacentDay: true });
|
|
1233
|
+
}
|
|
1211
1234
|
}
|
|
1212
|
-
|
|
1213
|
-
|
|
1235
|
+
else {
|
|
1236
|
+
for (let i = 0; i <= offset; i++) {
|
|
1237
|
+
days = [{ day: null, dayOfWeek: null, isAdjacentDay: false }, ...days];
|
|
1238
|
+
}
|
|
1214
1239
|
}
|
|
1215
1240
|
return days;
|
|
1216
1241
|
};
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win } from './index-ZjP4CjeZ.js';
|
|
5
|
-
import { c as config } from './ionic-global-
|
|
6
|
-
import './index-
|
|
5
|
+
import { c as config } from './ionic-global-CrB2BPUW.js';
|
|
6
|
+
import './index-EP3pwcdb.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* CloseWatcher is a newer API that lets
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import { c as config } from './ionic-global-
|
|
5
|
-
import { w as writeTask, B as Build } from './index-
|
|
6
|
-
import { a as printIonWarning } from './index-
|
|
4
|
+
import { c as config } from './ionic-global-CrB2BPUW.js';
|
|
5
|
+
import { w as writeTask, B as Build } from './index-EP3pwcdb.js';
|
|
6
|
+
import { a as printIonWarning } from './index-DR2njD_q.js';
|
|
7
7
|
import { r as raf } from './helpers-Di6ciXLG.js';
|
|
8
8
|
|
|
9
9
|
const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
|
|
@@ -120,8 +120,8 @@ const createFocusController = () => {
|
|
|
120
120
|
};
|
|
121
121
|
const LAST_FOCUS = 'ion-last-focus';
|
|
122
122
|
|
|
123
|
-
const iosTransitionAnimation = () => import('./ios.transition-
|
|
124
|
-
const mdTransitionAnimation = () => import('./md.transition-
|
|
123
|
+
const iosTransitionAnimation = () => import('./ios.transition-BObaMu_w.js');
|
|
124
|
+
const mdTransitionAnimation = () => import('./md.transition-BYk9oj5T.js');
|
|
125
125
|
const focusController = createFocusController();
|
|
126
126
|
// TODO(FW-2832): types
|
|
127
127
|
const transition = (opts) => {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { d as doc } from './index-ZjP4CjeZ.js';
|
|
5
|
-
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-
|
|
6
|
-
import { a as printIonWarning } from './index-
|
|
5
|
+
import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-RMajLSrZ.js';
|
|
6
|
+
import { a as printIonWarning } from './index-DR2njD_q.js';
|
|
7
7
|
import { c as componentOnReady } from './helpers-Di6ciXLG.js';
|
|
8
|
-
import { b as getIonMode } from './ionic-global-
|
|
8
|
+
import { b as getIonMode } from './ionic-global-CrB2BPUW.js';
|
|
9
9
|
import { c as createAnimation } from './animation-CCtpQcsN.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { c as componentOnReady } from './helpers-Di6ciXLG.js';
|
|
5
|
-
import { b as printRequiredElementError } from './index-
|
|
5
|
+
import { b as printRequiredElementError } from './index-DR2njD_q.js';
|
|
6
6
|
|
|
7
7
|
const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
|
|
8
8
|
const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
|
|
@@ -5,7 +5,7 @@ const NAMESPACE = 'ionic';
|
|
|
5
5
|
const BUILD = /* ionic */ { experimentalSlotFixes: true, hydratedSelectorName: "hydrated", lazyLoad: true, shadowDom: true, slotRelocation: true, updatable: true};
|
|
6
6
|
|
|
7
7
|
/*
|
|
8
|
-
Stencil Client Platform v4.29.
|
|
8
|
+
Stencil Client Platform v4.29.3 | MIT Licensed | https://stenciljs.com
|
|
9
9
|
*/
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
11
11
|
var __export = (target, all) => {
|
|
@@ -219,6 +219,11 @@ function queryNonceMetaTagContent(doc) {
|
|
|
219
219
|
return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
+
// src/utils/regular-expression.ts
|
|
223
|
+
var escapeRegExpSpecialCharacters = (text) => {
|
|
224
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
225
|
+
};
|
|
226
|
+
|
|
222
227
|
// src/utils/remote-value.ts
|
|
223
228
|
var RemoteValue = class _RemoteValue {
|
|
224
229
|
/**
|
|
@@ -1417,6 +1422,18 @@ var findCorrespondingNode = (node, type) => {
|
|
|
1417
1422
|
} while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
|
|
1418
1423
|
return sibling;
|
|
1419
1424
|
};
|
|
1425
|
+
var createSupportsRuleRe = (selector) => {
|
|
1426
|
+
const safeSelector2 = escapeRegExpSpecialCharacters(selector);
|
|
1427
|
+
return new RegExp(
|
|
1428
|
+
// First capture group: match any context before the selector that's not inside @supports selector()
|
|
1429
|
+
// Using negative lookahead to avoid matching inside @supports selector(...) condition
|
|
1430
|
+
`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${safeSelector2}))(${safeSelector2}\\b)`,
|
|
1431
|
+
"g"
|
|
1432
|
+
);
|
|
1433
|
+
};
|
|
1434
|
+
createSupportsRuleRe("::slotted");
|
|
1435
|
+
createSupportsRuleRe(":host");
|
|
1436
|
+
createSupportsRuleRe(":host-context");
|
|
1420
1437
|
|
|
1421
1438
|
// src/runtime/mode.ts
|
|
1422
1439
|
var computeMode = (elm) => modeResolutionChain.map((h2) => h2(elm)).find((m) => !!m);
|
package/dist/esm/index.js
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
export { c as createAnimation } from './animation-CCtpQcsN.js';
|
|
5
|
-
export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-
|
|
6
|
-
export { iosTransitionAnimation } from './ios.transition-
|
|
7
|
-
export { mdTransitionAnimation } from './md.transition-
|
|
5
|
+
export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-BKfOgUuW.js';
|
|
6
|
+
export { iosTransitionAnimation } from './ios.transition-BObaMu_w.js';
|
|
7
|
+
export { mdTransitionAnimation } from './md.transition-BYk9oj5T.js';
|
|
8
8
|
export { g as getTimeGivenProgression } from './cubic-bezier-hHmYLOfE.js';
|
|
9
9
|
export { createGesture } from './index-CfgBF1SE.js';
|
|
10
|
-
export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-
|
|
10
|
+
export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-CrB2BPUW.js';
|
|
11
11
|
export { c as componentOnReady } from './helpers-Di6ciXLG.js';
|
|
12
12
|
export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-O8NobGs3.js';
|
|
13
13
|
export { o as openURL } from './theme-DiVJyqlX.js';
|
|
14
|
-
export { m as menuController } from './index-
|
|
15
|
-
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-
|
|
14
|
+
export { m as menuController } from './index-C7r3mIlB.js';
|
|
15
|
+
export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-DUDTB6a2.js';
|
|
16
16
|
import './index-ZjP4CjeZ.js';
|
|
17
|
-
import './index-
|
|
18
|
-
import './index-
|
|
17
|
+
import './index-EP3pwcdb.js';
|
|
18
|
+
import './index-DR2njD_q.js';
|
|
19
19
|
import './gesture-controller-BTEOs1at.js';
|
|
20
|
-
import './hardware-back-button-
|
|
20
|
+
import './hardware-back-button-RMajLSrZ.js';
|
|
21
21
|
import './framework-delegate-D3CI7y6x.js';
|
|
22
22
|
|
|
23
23
|
const IonicSlides = (opts) => {
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
4
|
import { w as win, d as doc } from './index-ZjP4CjeZ.js';
|
|
5
|
-
import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-
|
|
5
|
+
import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-CDohRbVJ.js';
|
|
6
6
|
import { f as addEventListener, m as removeEventListener, r as raf, c as componentOnReady } from './helpers-Di6ciXLG.js';
|
|
7
7
|
import { a as KeyboardResize, K as Keyboard } from './keyboard-CUw4ekVy.js';
|
|
8
|
-
import './index-
|
|
9
|
-
import './ionic-global-
|
|
10
|
-
import './index-
|
|
8
|
+
import './index-DR2njD_q.js';
|
|
9
|
+
import './ionic-global-CrB2BPUW.js';
|
|
10
|
+
import './index-EP3pwcdb.js';
|
|
11
11
|
import './capacitor-CFERIeaU.js';
|
|
12
12
|
|
|
13
13
|
const cloneMap = new WeakMap();
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { w as win } from './index-ZjP4CjeZ.js';
|
|
5
5
|
import { r as raf } from './helpers-Di6ciXLG.js';
|
|
6
|
-
import { p as printIonError } from './index-
|
|
6
|
+
import { p as printIonError } from './index-DR2njD_q.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Used to update a scoped component that uses emulated slots. This fires when
|