@ionic/core 8.4.4-dev.11738767677.1295fa00 → 8.4.4-dev.11738863153.1dafb0b9
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/checkbox.js +6 -4
- package/components/content.js +4 -4
- package/components/index6.js +11 -3
- package/components/ion-select.js +6 -4
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +2 -1
- package/components/ion-toggle.js +6 -4
- package/components/modal.js +259 -35
- package/components/toolbar.js +2 -2
- package/css/core.css.map +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/dist/cjs/{data-21dc0f81.js → data-108e531d.js} +1 -1
- package/dist/cjs/{index-5b6a7459.js → index-0d762bba.js} +1 -1
- package/dist/cjs/{index-5915f9b3.js → index-2a46a047.js} +11 -3
- package/dist/cjs/{index-8e789962.js → index-3652c918.js} +1 -1
- package/dist/cjs/{index-f05acd21.js → index-e975c92b.js} +3 -3
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/{input-shims-9e59ef62.js → input-shims-cd05268a.js} +4 -2
- package/dist/cjs/{input.utils-611cde0b.js → input.utils-ffb2f81b.js} +1 -1
- package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-action-sheet.cjs.entry.js +2 -2
- package/dist/cjs/ion-alert.cjs.entry.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
- package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +5 -4
- package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
- package/dist/cjs/ion-input.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
- package/dist/cjs/ion-modal.cjs.entry.js +262 -39
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +2 -2
- package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
- package/dist/cjs/ion-select_3.cjs.entry.js +7 -6
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
- package/dist/cjs/ion-tab_2.cjs.entry.js +4 -3
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +2 -2
- package/dist/cjs/ion-toggle.cjs.entry.js +5 -4
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/{ios.transition-cf40433b.js → ios.transition-0e664e88.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{md.transition-ededf99f.js → md.transition-2e8aef2c.js} +2 -2
- package/dist/cjs/{overlays-aa669eb8.js → overlays-65fdaff6.js} +1 -1
- package/dist/cjs/{status-tap-37681226.js → status-tap-d74f1429.js} +3 -2
- package/dist/collection/components/checkbox/checkbox.js +23 -4
- package/dist/collection/components/content/content.js +4 -4
- package/dist/collection/components/modal/animations/ios.enter.js +50 -4
- package/dist/collection/components/modal/animations/ios.leave.js +24 -2
- package/dist/collection/components/modal/animations/md.enter.js +52 -5
- package/dist/collection/components/modal/animations/md.leave.js +26 -3
- package/dist/collection/components/modal/animations/sheet.js +11 -2
- package/dist/collection/components/modal/gestures/sheet.js +79 -10
- package/dist/collection/components/modal/modal.ios.css +16 -0
- package/dist/collection/components/modal/modal.js +32 -7
- package/dist/collection/components/modal/modal.md.css +6 -0
- package/dist/collection/components/select/select.js +23 -4
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +1 -1
- package/dist/collection/components/tabs/tabs.js +2 -1
- package/dist/collection/components/toggle/toggle.js +23 -4
- package/dist/collection/components/toolbar/toolbar.js +6 -2
- package/dist/collection/utils/logging/index.js +10 -3
- package/dist/docs.json +115 -2
- package/dist/esm/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
- package/dist/esm/{index-3ad7f18b.js → index-2f7fde3d.js} +3 -3
- package/dist/esm/{index-9b0d46f4.js → index-6ad967f3.js} +11 -3
- package/dist/esm/{index-24b48b06.js → index-cb21eccb.js} +1 -1
- package/dist/esm/{index-5cc724f3.js → index-efb8ecdf.js} +1 -1
- package/dist/esm/index.js +6 -6
- package/dist/esm/{input-shims-0314bbe5.js → input-shims-2fd7c6ef.js} +4 -2
- package/dist/esm/{input.utils-09c71bc7.js → input.utils-961c9f17.js} +1 -1
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +2 -2
- package/dist/esm/ion-alert.entry.js +2 -2
- package/dist/esm/ion-app_8.entry.js +11 -11
- package/dist/esm/ion-button_2.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +5 -4
- package/dist/esm/ion-datetime-button.entry.js +2 -2
- package/dist/esm/ion-datetime_3.entry.js +3 -3
- package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +2 -2
- package/dist/esm/ion-item-option_3.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +3 -3
- package/dist/esm/ion-modal.entry.js +262 -39
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +2 -2
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-select-modal.entry.js +2 -2
- package/dist/esm/ion-select_3.entry.js +7 -6
- package/dist/esm/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm/ion-tab_2.entry.js +4 -3
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +2 -2
- package/dist/esm/ion-toggle.entry.js +5 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/{ios.transition-4ee1a3af.js → ios.transition-b1da3753.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{md.transition-5106a0d2.js → md.transition-571b3859.js} +2 -2
- package/dist/esm/{overlays-e7b9d6d9.js → overlays-5deab4de.js} +1 -1
- package/dist/esm/{status-tap-f472b09f.js → status-tap-79eac0ac.js} +3 -2
- package/dist/esm-es5/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
- package/dist/esm-es5/{index-3ad7f18b.js → index-2f7fde3d.js} +1 -1
- package/dist/esm-es5/index-6ad967f3.js +4 -0
- package/dist/esm-es5/{index-24b48b06.js → index-cb21eccb.js} +1 -1
- package/dist/esm-es5/{index-5cc724f3.js → index-efb8ecdf.js} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/input-shims-2fd7c6ef.js +4 -0
- package/dist/esm-es5/{input.utils-09c71bc7.js → input.utils-961c9f17.js} +1 -1
- package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
- package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
- package/dist/esm-es5/ion-alert.entry.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-button_2.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
- package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm-es5/ion-input.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-loading.entry.js +1 -1
- package/dist/esm-es5/ion-menu_3.entry.js +1 -1
- package/dist/esm-es5/ion-modal.entry.js +1 -1
- package/dist/esm-es5/ion-nav_2.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-range.entry.js +1 -1
- package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
- package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
- package/dist/esm-es5/ion-select-modal.entry.js +1 -1
- package/dist/esm-es5/ion-select_3.entry.js +1 -1
- package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
- package/dist/esm-es5/ion-tab_2.entry.js +1 -1
- package/dist/esm-es5/ion-textarea.entry.js +1 -1
- package/dist/esm-es5/ion-toast.entry.js +1 -1
- package/dist/esm-es5/ion-toggle.entry.js +1 -1
- package/dist/esm-es5/ionic.js +1 -1
- package/dist/esm-es5/{ios.transition-4ee1a3af.js → ios.transition-b1da3753.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{md.transition-5106a0d2.js → md.transition-571b3859.js} +1 -1
- package/dist/esm-es5/{overlays-e7b9d6d9.js → overlays-5deab4de.js} +1 -1
- package/dist/esm-es5/status-tap-79eac0ac.js +4 -0
- package/dist/html.html-data.json +16 -0
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-0430c2e0.entry.js +4 -0
- package/dist/ionic/{p-6499df44.system.entry.js → p-05b74e45.system.entry.js} +1 -1
- package/dist/ionic/{p-21e5e7e4.js → p-0af823e1.js} +1 -1
- package/dist/ionic/{p-0c06e09b.system.js → p-0eb35a7f.system.js} +1 -1
- package/dist/ionic/{p-797eeea8.system.entry.js → p-1199e388.system.entry.js} +1 -1
- package/dist/ionic/{p-c9f3a539.entry.js → p-120fb79a.entry.js} +1 -1
- package/dist/ionic/p-126be614.system.entry.js +4 -0
- package/dist/ionic/{p-e563a35c.entry.js → p-15d18206.entry.js} +1 -1
- package/dist/ionic/{p-d60342e3.js → p-1a5bc5f7.js} +1 -1
- package/dist/ionic/{p-96cc4814.js → p-1ab13b2b.js} +1 -1
- package/dist/ionic/{p-f1acf541.system.entry.js → p-2346ab53.system.entry.js} +1 -1
- package/dist/ionic/{p-37cb43bd.system.entry.js → p-248318e0.system.entry.js} +1 -1
- package/dist/ionic/{p-e6635685.js → p-28706c6f.js} +1 -1
- package/dist/ionic/{p-6b280620.entry.js → p-2da9c8a7.entry.js} +1 -1
- package/dist/ionic/{p-b335ffed.system.entry.js → p-302b50bb.system.entry.js} +1 -1
- package/dist/ionic/p-322c5fb4.system.js +1 -1
- package/dist/ionic/{p-f687573e.system.js → p-343b6b1d.system.js} +1 -1
- package/dist/ionic/p-4c98e2cf.system.js +4 -0
- package/dist/ionic/p-577bc414.entry.js +4 -0
- package/dist/ionic/{p-66640ff7.system.entry.js → p-585b455c.system.entry.js} +1 -1
- package/dist/ionic/{p-c449820c.system.js → p-5c08627a.system.js} +1 -1
- package/dist/ionic/{p-9ee1e8a6.entry.js → p-5c9eb9af.entry.js} +1 -1
- package/dist/ionic/{p-9e33104d.entry.js → p-61db139d.entry.js} +1 -1
- package/dist/ionic/p-67222c16.system.js +4 -0
- package/dist/ionic/{p-32d44024.system.entry.js → p-6933c482.system.entry.js} +1 -1
- package/dist/ionic/p-6c95736e.entry.js +4 -0
- package/dist/ionic/{p-12a722b8.system.entry.js → p-6dfb0f39.system.entry.js} +1 -1
- package/dist/ionic/p-722ec9c7.entry.js +4 -0
- package/dist/ionic/{p-bc36ad98.system.entry.js → p-744c8672.system.entry.js} +1 -1
- package/dist/ionic/{p-5823babc.system.entry.js → p-74e3f0af.system.entry.js} +2 -2
- package/dist/ionic/p-7513b0c4.js +4 -0
- package/dist/ionic/p-783411f1.entry.js +4 -0
- package/dist/ionic/{p-508d024a.entry.js → p-7a02f476.entry.js} +1 -1
- package/dist/ionic/{p-efaffe74.entry.js → p-7a6eaf9e.entry.js} +1 -1
- package/dist/ionic/{p-e7ed4a7f.system.js → p-7de1e42c.system.js} +1 -1
- package/dist/ionic/{p-2fc0dafe.entry.js → p-8694928f.entry.js} +1 -1
- package/dist/ionic/{p-da074ff7.entry.js → p-89bf08c7.entry.js} +1 -1
- package/dist/ionic/{p-69666e8a.system.entry.js → p-8ac07653.system.entry.js} +2 -2
- package/dist/ionic/{p-c29f8157.system.entry.js → p-8cfba7e9.system.entry.js} +1 -1
- package/dist/ionic/{p-a61cba41.entry.js → p-92763d3d.entry.js} +1 -1
- package/dist/ionic/{p-d18ab582.system.entry.js → p-933727f9.system.entry.js} +1 -1
- package/dist/ionic/{p-06e58c4e.js → p-9343a445.js} +1 -1
- package/dist/ionic/{p-45693d7e.entry.js → p-948e6c6a.entry.js} +1 -1
- package/dist/ionic/p-98e41e4f.system.entry.js +4 -0
- package/dist/ionic/{p-2799c6d3.system.entry.js → p-9b122e3c.system.entry.js} +1 -1
- package/dist/ionic/{p-4439fc2a.entry.js → p-9b428d25.entry.js} +1 -1
- package/dist/ionic/{p-b2272f51.system.entry.js → p-9f364443.system.entry.js} +1 -1
- package/dist/ionic/{p-ca065903.system.entry.js → p-a090bce8.system.entry.js} +1 -1
- package/dist/ionic/p-a3db8ee3.js +4 -0
- package/dist/ionic/{p-14e159ea.system.entry.js → p-a4a2420e.system.entry.js} +1 -1
- package/dist/ionic/{p-9ea607bd.system.js → p-a88dec0d.system.js} +2 -2
- package/dist/ionic/{p-942b5e13.entry.js → p-a8f2c254.entry.js} +1 -1
- package/dist/ionic/{p-a49378bb.system.entry.js → p-ab674093.system.entry.js} +1 -1
- package/dist/ionic/{p-0aa833fb.system.js → p-ada36597.system.js} +1 -1
- package/dist/ionic/{p-9fa07aec.entry.js → p-b1eb86fd.entry.js} +1 -1
- package/dist/ionic/{p-a4565eb5.system.js → p-b3c60433.system.js} +1 -1
- package/dist/ionic/{p-d6841eac.js → p-b6efeab8.js} +1 -1
- package/dist/ionic/{p-ebf042e0.system.entry.js → p-bdf2cb2e.system.entry.js} +1 -1
- package/dist/ionic/{p-f9a53abb.system.js → p-c4238c12.system.js} +1 -1
- package/dist/ionic/{p-b82d4cab.js → p-cb13696c.js} +1 -1
- package/dist/ionic/{p-1046866e.system.entry.js → p-cba1f9bc.system.entry.js} +1 -1
- package/dist/ionic/p-d1c5b60e.system.js +4 -0
- package/dist/ionic/{p-5da94421.system.js → p-d22e2a38.system.js} +1 -1
- package/dist/ionic/p-d57a57d6.entry.js +4 -0
- package/dist/ionic/{p-2bd0ae94.system.entry.js → p-d6eaffb1.system.entry.js} +1 -1
- package/dist/ionic/p-d7dd8fb1.entry.js +4 -0
- package/dist/ionic/{p-1e010627.system.entry.js → p-e09d6392.system.entry.js} +2 -2
- package/dist/ionic/p-e3171ff3.entry.js +4 -0
- package/dist/ionic/p-e6376b93.system.entry.js +4 -0
- package/dist/ionic/{p-a43467d8.entry.js → p-e76dae93.entry.js} +1 -1
- package/dist/ionic/p-e8d56122.js +4 -0
- package/dist/ionic/{p-b79ba17c.entry.js → p-eef505e8.entry.js} +1 -1
- package/dist/ionic/{p-61e3f887.entry.js → p-f1060cd8.entry.js} +1 -1
- package/dist/ionic/{p-1fe02220.system.entry.js → p-f1120724.system.entry.js} +1 -1
- package/dist/ionic/{p-88e63c7d.js → p-f1c4dcd4.js} +1 -1
- package/dist/ionic/{p-982315a6.entry.js → p-f63c2d12.entry.js} +1 -1
- package/dist/ionic/{p-e4f69534.system.entry.js → p-fbd41a7e.system.entry.js} +1 -1
- package/dist/ionic/{p-19ec4f42.entry.js → p-fceec762.entry.js} +1 -1
- package/dist/types/components/checkbox/checkbox.d.ts +6 -0
- package/dist/types/components/modal/animations/sheet.d.ts +1 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
- package/dist/types/components/modal/modal-interface.d.ts +1 -0
- package/dist/types/components/modal/modal.d.ts +11 -0
- package/dist/types/components/select/select.d.ts +6 -0
- package/dist/types/components/toggle/toggle.d.ts +6 -0
- package/dist/types/components/toolbar/toolbar.d.ts +4 -0
- package/dist/types/components.d.ts +32 -0
- package/dist/types/utils/config.d.ts +9 -0
- package/dist/types/utils/logging/index.d.ts +13 -1
- package/hydrate/index.js +301 -60
- package/hydrate/index.mjs +301 -60
- package/package.json +1 -1
- package/dist/esm-es5/index-9b0d46f4.js +0 -4
- package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
- package/dist/esm-es5/status-tap-f472b09f.js +0 -4
- package/dist/ionic/p-0303d0f8.js +0 -4
- package/dist/ionic/p-06fee233.js +0 -4
- package/dist/ionic/p-17474161.system.js +0 -4
- package/dist/ionic/p-19a5be0a.entry.js +0 -4
- package/dist/ionic/p-2172893e.system.entry.js +0 -4
- package/dist/ionic/p-2690b1de.js +0 -4
- package/dist/ionic/p-2b9b78c7.entry.js +0 -4
- package/dist/ionic/p-4ec778aa.entry.js +0 -4
- package/dist/ionic/p-5ab1b709.entry.js +0 -4
- package/dist/ionic/p-8b8be2fd.entry.js +0 -4
- package/dist/ionic/p-908d6080.entry.js +0 -4
- package/dist/ionic/p-98ff6b32.entry.js +0 -4
- package/dist/ionic/p-ddaa748a.system.entry.js +0 -4
- package/dist/ionic/p-dfb78785.system.js +0 -4
- package/dist/ionic/p-e85d901b.system.entry.js +0 -4
- package/dist/ionic/p-eba29931.entry.js +0 -4
- package/dist/ionic/p-ff4b7e40.system.js +0 -4
package/hydrate/index.mjs
CHANGED
|
@@ -3213,9 +3213,12 @@ let accordionIds = 0;
|
|
|
3213
3213
|
* @param message - The string message to be logged to the console.
|
|
3214
3214
|
*/
|
|
3215
3215
|
const printIonWarning = (message, ...params) => {
|
|
3216
|
-
|
|
3216
|
+
const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
|
|
3217
|
+
if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
|
|
3218
|
+
return console.warn(`[Ionic Warning]: ${message}`, ...params);
|
|
3219
|
+
}
|
|
3217
3220
|
};
|
|
3218
|
-
|
|
3221
|
+
/**
|
|
3219
3222
|
* Logs an error to the console with an Ionic prefix
|
|
3220
3223
|
* to indicate the library that is warning the developer.
|
|
3221
3224
|
*
|
|
@@ -3223,7 +3226,10 @@ const printIonWarning = (message, ...params) => {
|
|
|
3223
3226
|
* @param params - Additional arguments to supply to the console.error.
|
|
3224
3227
|
*/
|
|
3225
3228
|
const printIonError = (message, ...params) => {
|
|
3226
|
-
|
|
3229
|
+
const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
|
|
3230
|
+
if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
|
|
3231
|
+
return console.error(`[Ionic Error]: ${message}`, ...params);
|
|
3232
|
+
}
|
|
3227
3233
|
};
|
|
3228
3234
|
/**
|
|
3229
3235
|
* Prints an error informing developers that an implementation requires an element to be used
|
|
@@ -8487,6 +8493,7 @@ class Checkbox {
|
|
|
8487
8493
|
this.labelPlacement = 'start';
|
|
8488
8494
|
this.justify = undefined;
|
|
8489
8495
|
this.alignment = undefined;
|
|
8496
|
+
this.required = false;
|
|
8490
8497
|
}
|
|
8491
8498
|
componentWillLoad() {
|
|
8492
8499
|
this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
|
|
@@ -8498,11 +8505,11 @@ class Checkbox {
|
|
|
8498
8505
|
}
|
|
8499
8506
|
}
|
|
8500
8507
|
render() {
|
|
8501
|
-
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
|
|
8508
|
+
const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
|
|
8502
8509
|
const mode = getIonMode$1(this);
|
|
8503
8510
|
const path = getSVGPath(mode, indeterminate);
|
|
8504
8511
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
8505
|
-
return (hAsync(Host, { key: '
|
|
8512
|
+
return (hAsync(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
|
|
8506
8513
|
[mode]: true,
|
|
8507
8514
|
'in-item': hostContext('ion-item', el),
|
|
8508
8515
|
'checkbox-checked': checked,
|
|
@@ -8512,10 +8519,10 @@ class Checkbox {
|
|
|
8512
8519
|
[`checkbox-justify-${justify}`]: justify !== undefined,
|
|
8513
8520
|
[`checkbox-alignment-${alignment}`]: alignment !== undefined,
|
|
8514
8521
|
[`checkbox-label-placement-${labelPlacement}`]: true,
|
|
8515
|
-
}), onClick: this.onClick }, hAsync("label", { key: '
|
|
8522
|
+
}), onClick: this.onClick }, hAsync("label", { key: '3439d546e8b60187421db698eab63a0bdd31c973', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: '9f45cf7dbdedcf01ec132c11e16979adb1aa102f', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '4e882f98939cc4b7c7ab7459c751d3f4bb2023fe', class: {
|
|
8516
8523
|
'label-text-wrapper': true,
|
|
8517
8524
|
'label-text-wrapper-hidden': el.textContent === '',
|
|
8518
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
8525
|
+
}, part: "label" }, hAsync("slot", { key: '0abda81297a086d02c4a56af75005547971dfcfe' })), hAsync("div", { key: '36489ea3f48a7d0ec46b77c243f9f253ef5c2b3b', class: "native-wrapper" }, hAsync("svg", { key: '4c53b52f5e93752672a34eb6f180b75fa9af9046', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
|
|
8519
8526
|
}
|
|
8520
8527
|
getSVGPath(mode, indeterminate) {
|
|
8521
8528
|
let path = indeterminate ? (hAsync("path", { d: "M6 12L18 12", part: "mark" })) : (hAsync("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
|
|
@@ -8542,6 +8549,7 @@ class Checkbox {
|
|
|
8542
8549
|
"labelPlacement": [1, "label-placement"],
|
|
8543
8550
|
"justify": [1],
|
|
8544
8551
|
"alignment": [1],
|
|
8552
|
+
"required": [4],
|
|
8545
8553
|
"setFocus": [64]
|
|
8546
8554
|
},
|
|
8547
8555
|
"$listeners$": undefined,
|
|
@@ -9101,20 +9109,20 @@ class Content {
|
|
|
9101
9109
|
const forceOverscroll = this.shouldForceOverscroll();
|
|
9102
9110
|
const transitionShadow = mode === 'ios';
|
|
9103
9111
|
this.resize();
|
|
9104
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
9112
|
+
return (hAsync(Host, Object.assign({ key: 'e3241b81c97aa6187c43397006fd1136e8c7a1b5', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
|
|
9105
9113
|
[mode]: true,
|
|
9106
9114
|
'content-sizing': hostContext('ion-popover', this.el),
|
|
9107
9115
|
overscroll: forceOverscroll,
|
|
9108
9116
|
[`content-${rtl}`]: true,
|
|
9109
|
-
}), style: {
|
|
9117
|
+
}), tabIndex: '0', style: {
|
|
9110
9118
|
'--offset-top': `${this.cTop}px`,
|
|
9111
9119
|
'--offset-bottom': `${this.cBottom}px`,
|
|
9112
|
-
} }, inheritedAttributes), hAsync("div", { key: '
|
|
9120
|
+
} }, inheritedAttributes), hAsync("div", { key: 'b2e0837fd5cb59de4306bf1ea7b115f4fd43f6f9', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: 'b66cfe79487ba5a6b06da1580514c7406f2293c9', class: {
|
|
9113
9121
|
'inner-scroll': true,
|
|
9114
9122
|
'scroll-x': scrollX,
|
|
9115
9123
|
'scroll-y': scrollY,
|
|
9116
9124
|
overscroll: (scrollX || scrollY) && forceOverscroll,
|
|
9117
|
-
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '
|
|
9125
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '30ae38ae7d5dc407af5cd432e577a8013996e523' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
|
|
9118
9126
|
}
|
|
9119
9127
|
get el() { return getElement(this); }
|
|
9120
9128
|
static get style() { return IonContentStyle0; }
|
|
@@ -19017,7 +19025,7 @@ const computeDuration = (remaining, velocity) => {
|
|
|
19017
19025
|
};
|
|
19018
19026
|
|
|
19019
19027
|
const createSheetEnterAnimation = (opts) => {
|
|
19020
|
-
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
19028
|
+
const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
|
|
19021
19029
|
/**
|
|
19022
19030
|
* If the backdropBreakpoint is undefined, then the backdrop
|
|
19023
19031
|
* should always fade in. If the backdropBreakpoint came before the
|
|
@@ -19037,7 +19045,16 @@ const createSheetEnterAnimation = (opts) => {
|
|
|
19037
19045
|
{ offset: 0, opacity: 1, transform: 'translateY(100%)' },
|
|
19038
19046
|
{ offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
|
|
19039
19047
|
]);
|
|
19040
|
-
|
|
19048
|
+
/**
|
|
19049
|
+
* This allows the content to be scrollable at any breakpoint.
|
|
19050
|
+
*/
|
|
19051
|
+
const contentAnimation = !expandToScroll
|
|
19052
|
+
? createAnimation('contentAnimation').keyframes([
|
|
19053
|
+
{ offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
|
|
19054
|
+
{ offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
|
|
19055
|
+
])
|
|
19056
|
+
: undefined;
|
|
19057
|
+
return { wrapperAnimation, backdropAnimation, contentAnimation };
|
|
19041
19058
|
};
|
|
19042
19059
|
const createSheetLeaveAnimation = (opts) => {
|
|
19043
19060
|
const { currentBreakpoint, backdropBreakpoint } = opts;
|
|
@@ -19072,22 +19089,68 @@ const createEnterAnimation$1 = () => {
|
|
|
19072
19089
|
})
|
|
19073
19090
|
.afterClearStyles(['pointer-events']);
|
|
19074
19091
|
const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
|
|
19075
|
-
return { backdropAnimation, wrapperAnimation };
|
|
19092
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
19076
19093
|
};
|
|
19077
19094
|
/**
|
|
19078
19095
|
* iOS Modal Enter Animation for the Card presentation style
|
|
19079
19096
|
*/
|
|
19080
19097
|
const iosEnterAnimation$3 = (baseEl, opts) => {
|
|
19081
|
-
const { presentingEl, currentBreakpoint } = opts;
|
|
19098
|
+
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
19082
19099
|
const root = getElementRoot(baseEl);
|
|
19083
|
-
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
19100
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
|
|
19084
19101
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
19085
19102
|
wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
|
|
19103
|
+
// The content animation is only added if scrolling is enabled for
|
|
19104
|
+
// all the breakpoints.
|
|
19105
|
+
!expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
19086
19106
|
const baseAnimation = createAnimation('entering-base')
|
|
19087
19107
|
.addElement(baseEl)
|
|
19088
19108
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
19089
19109
|
.duration(500)
|
|
19090
|
-
.addAnimation(wrapperAnimation)
|
|
19110
|
+
.addAnimation([wrapperAnimation])
|
|
19111
|
+
.beforeAddWrite(() => {
|
|
19112
|
+
if (expandToScroll) {
|
|
19113
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
19114
|
+
return;
|
|
19115
|
+
}
|
|
19116
|
+
/**
|
|
19117
|
+
* There are some browsers that causes flickering when
|
|
19118
|
+
* dragging the content when scroll is enabled at every
|
|
19119
|
+
* breakpoint. This is due to the wrapper element being
|
|
19120
|
+
* transformed off the screen and having a snap animation.
|
|
19121
|
+
*
|
|
19122
|
+
* A workaround is to clone the footer element and append
|
|
19123
|
+
* it outside of the wrapper element. This way, the footer
|
|
19124
|
+
* is still visible and the drag can be done without
|
|
19125
|
+
* flickering. The original footer is hidden until the modal
|
|
19126
|
+
* is dismissed. This maintains the animation of the footer
|
|
19127
|
+
* when the modal is dismissed.
|
|
19128
|
+
*
|
|
19129
|
+
* The workaround needs to be done before the animation starts
|
|
19130
|
+
* so there are no flickering issues.
|
|
19131
|
+
*/
|
|
19132
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19133
|
+
/**
|
|
19134
|
+
* This check is needed to prevent more than one footer
|
|
19135
|
+
* from being appended to the shadow root.
|
|
19136
|
+
* Otherwise, iOS and MD enter animations would append
|
|
19137
|
+
* the footer twice.
|
|
19138
|
+
*/
|
|
19139
|
+
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19140
|
+
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
19141
|
+
const footerHeight = ionFooter.clientHeight;
|
|
19142
|
+
const clonedFooter = ionFooter.cloneNode(true);
|
|
19143
|
+
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
19144
|
+
ionFooter.style.setProperty('display', 'none');
|
|
19145
|
+
ionFooter.setAttribute('aria-hidden', 'true');
|
|
19146
|
+
// Padding is added to prevent some content from being hidden.
|
|
19147
|
+
const page = baseEl.querySelector('.ion-page');
|
|
19148
|
+
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
19149
|
+
}
|
|
19150
|
+
});
|
|
19151
|
+
if (contentAnimation) {
|
|
19152
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
19153
|
+
}
|
|
19091
19154
|
if (presentingEl) {
|
|
19092
19155
|
const isMobile = window.innerWidth < 768;
|
|
19093
19156
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -19165,7 +19228,7 @@ const createLeaveAnimation$1 = () => {
|
|
|
19165
19228
|
* iOS Modal Leave Animation
|
|
19166
19229
|
*/
|
|
19167
19230
|
const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
|
|
19168
|
-
const { presentingEl, currentBreakpoint } = opts;
|
|
19231
|
+
const { presentingEl, currentBreakpoint, expandToScroll } = opts;
|
|
19169
19232
|
const root = getElementRoot(baseEl);
|
|
19170
19233
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
|
|
19171
19234
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
@@ -19174,7 +19237,29 @@ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
|
|
|
19174
19237
|
.addElement(baseEl)
|
|
19175
19238
|
.easing('cubic-bezier(0.32,0.72,0,1)')
|
|
19176
19239
|
.duration(duration)
|
|
19177
|
-
.addAnimation(wrapperAnimation)
|
|
19240
|
+
.addAnimation(wrapperAnimation)
|
|
19241
|
+
.beforeAddWrite(() => {
|
|
19242
|
+
if (expandToScroll) {
|
|
19243
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
19244
|
+
return;
|
|
19245
|
+
}
|
|
19246
|
+
/**
|
|
19247
|
+
* If expandToScroll is disabled, we need to swap
|
|
19248
|
+
* the visibility to the original, so the footer
|
|
19249
|
+
* dismisses with the modal and doesn't stay
|
|
19250
|
+
* until the modal is removed from the DOM.
|
|
19251
|
+
*/
|
|
19252
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19253
|
+
if (ionFooter) {
|
|
19254
|
+
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19255
|
+
ionFooter.style.removeProperty('display');
|
|
19256
|
+
ionFooter.removeAttribute('aria-hidden');
|
|
19257
|
+
clonedFooter.style.setProperty('display', 'none');
|
|
19258
|
+
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
19259
|
+
const page = baseEl.querySelector('.ion-page');
|
|
19260
|
+
page.style.removeProperty('padding-bottom');
|
|
19261
|
+
}
|
|
19262
|
+
});
|
|
19178
19263
|
if (presentingEl) {
|
|
19179
19264
|
const isMobile = window.innerWidth < 768;
|
|
19180
19265
|
const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
|
|
@@ -19252,22 +19337,69 @@ const createEnterAnimation = () => {
|
|
|
19252
19337
|
{ offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
|
|
19253
19338
|
{ offset: 1, opacity: 1, transform: `translateY(0px)` },
|
|
19254
19339
|
]);
|
|
19255
|
-
return { backdropAnimation, wrapperAnimation };
|
|
19340
|
+
return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
|
|
19256
19341
|
};
|
|
19257
19342
|
/**
|
|
19258
19343
|
* Md Modal Enter Animation
|
|
19259
19344
|
*/
|
|
19260
19345
|
const mdEnterAnimation$2 = (baseEl, opts) => {
|
|
19261
|
-
const { currentBreakpoint } = opts;
|
|
19346
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
19262
19347
|
const root = getElementRoot(baseEl);
|
|
19263
|
-
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
|
|
19348
|
+
const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
|
|
19264
19349
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
19265
19350
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
19266
|
-
|
|
19351
|
+
// The content animation is only added if scrolling is enabled for
|
|
19352
|
+
// all the breakpoints.
|
|
19353
|
+
expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
|
|
19354
|
+
const baseAnimation = createAnimation()
|
|
19267
19355
|
.addElement(baseEl)
|
|
19268
19356
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
|
19269
19357
|
.duration(280)
|
|
19270
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
19358
|
+
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
19359
|
+
.beforeAddWrite(() => {
|
|
19360
|
+
if (expandToScroll) {
|
|
19361
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
19362
|
+
return;
|
|
19363
|
+
}
|
|
19364
|
+
/**
|
|
19365
|
+
* There are some browsers that causes flickering when
|
|
19366
|
+
* dragging the content when scroll is enabled at every
|
|
19367
|
+
* breakpoint. This is due to the wrapper element being
|
|
19368
|
+
* transformed off the screen and having a snap animation.
|
|
19369
|
+
*
|
|
19370
|
+
* A workaround is to clone the footer element and append
|
|
19371
|
+
* it outside of the wrapper element. This way, the footer
|
|
19372
|
+
* is still visible and the drag can be done without
|
|
19373
|
+
* flickering. The original footer is hidden until the modal
|
|
19374
|
+
* is dismissed. This maintains the animation of the footer
|
|
19375
|
+
* when the modal is dismissed.
|
|
19376
|
+
*
|
|
19377
|
+
* The workaround needs to be done before the animation starts
|
|
19378
|
+
* so there are no flickering issues.
|
|
19379
|
+
*/
|
|
19380
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19381
|
+
/**
|
|
19382
|
+
* This check is needed to prevent more than one footer
|
|
19383
|
+
* from being appended to the shadow root.
|
|
19384
|
+
* Otherwise, iOS and MD enter animations would append
|
|
19385
|
+
* the footer twice.
|
|
19386
|
+
*/
|
|
19387
|
+
const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19388
|
+
if (ionFooter && !ionFooterAlreadyAppended) {
|
|
19389
|
+
const footerHeight = ionFooter.clientHeight;
|
|
19390
|
+
const clonedFooter = ionFooter.cloneNode(true);
|
|
19391
|
+
baseEl.shadowRoot.appendChild(clonedFooter);
|
|
19392
|
+
ionFooter.style.setProperty('display', 'none');
|
|
19393
|
+
ionFooter.setAttribute('aria-hidden', 'true');
|
|
19394
|
+
// Padding is added to prevent some content from being hidden.
|
|
19395
|
+
const page = baseEl.querySelector('.ion-page');
|
|
19396
|
+
page.style.setProperty('padding-bottom', `${footerHeight}px`);
|
|
19397
|
+
}
|
|
19398
|
+
});
|
|
19399
|
+
if (contentAnimation) {
|
|
19400
|
+
baseAnimation.addAnimation(contentAnimation);
|
|
19401
|
+
}
|
|
19402
|
+
return baseAnimation;
|
|
19271
19403
|
};
|
|
19272
19404
|
|
|
19273
19405
|
const createLeaveAnimation = () => {
|
|
@@ -19282,18 +19414,41 @@ const createLeaveAnimation = () => {
|
|
|
19282
19414
|
* Md Modal Leave Animation
|
|
19283
19415
|
*/
|
|
19284
19416
|
const mdLeaveAnimation$2 = (baseEl, opts) => {
|
|
19285
|
-
const { currentBreakpoint } = opts;
|
|
19417
|
+
const { currentBreakpoint, expandToScroll } = opts;
|
|
19286
19418
|
const root = getElementRoot(baseEl);
|
|
19287
19419
|
const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
|
|
19288
19420
|
backdropAnimation.addElement(root.querySelector('ion-backdrop'));
|
|
19289
19421
|
wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
|
|
19290
|
-
|
|
19422
|
+
const baseAnimation = createAnimation()
|
|
19291
19423
|
.easing('cubic-bezier(0.47,0,0.745,0.715)')
|
|
19292
19424
|
.duration(200)
|
|
19293
|
-
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
19425
|
+
.addAnimation([backdropAnimation, wrapperAnimation])
|
|
19426
|
+
.beforeAddWrite(() => {
|
|
19427
|
+
if (expandToScroll) {
|
|
19428
|
+
// Scroll can only be done when the modal is fully expanded.
|
|
19429
|
+
return;
|
|
19430
|
+
}
|
|
19431
|
+
/**
|
|
19432
|
+
* If expandToScroll is disabled, we need to swap
|
|
19433
|
+
* the visibility to the original, so the footer
|
|
19434
|
+
* dismisses with the modal and doesn't stay
|
|
19435
|
+
* until the modal is removed from the DOM.
|
|
19436
|
+
*/
|
|
19437
|
+
const ionFooter = baseEl.querySelector('ion-footer');
|
|
19438
|
+
if (ionFooter) {
|
|
19439
|
+
const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
|
|
19440
|
+
ionFooter.style.removeProperty('display');
|
|
19441
|
+
ionFooter.removeAttribute('aria-hidden');
|
|
19442
|
+
clonedFooter.style.setProperty('display', 'none');
|
|
19443
|
+
clonedFooter.setAttribute('aria-hidden', 'true');
|
|
19444
|
+
const page = baseEl.querySelector('.ion-page');
|
|
19445
|
+
page.style.removeProperty('padding-bottom');
|
|
19446
|
+
}
|
|
19447
|
+
});
|
|
19448
|
+
return baseAnimation;
|
|
19294
19449
|
};
|
|
19295
19450
|
|
|
19296
|
-
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
19451
|
+
const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
|
|
19297
19452
|
// Defaults for the sheet swipe animation
|
|
19298
19453
|
const defaultBackdrop = [
|
|
19299
19454
|
{ offset: 0, opacity: 'var(--backdrop-opacity)' },
|
|
@@ -19310,6 +19465,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19310
19465
|
{ offset: 1, transform: 'translateY(100%)' },
|
|
19311
19466
|
],
|
|
19312
19467
|
BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
|
|
19468
|
+
CONTENT_KEYFRAMES: [
|
|
19469
|
+
{ offset: 0, maxHeight: '100%' },
|
|
19470
|
+
{ offset: 1, maxHeight: '0%' },
|
|
19471
|
+
],
|
|
19313
19472
|
};
|
|
19314
19473
|
const contentEl = baseEl.querySelector('ion-content');
|
|
19315
19474
|
const height = wrapperEl.clientHeight;
|
|
@@ -19317,10 +19476,11 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19317
19476
|
let offset = 0;
|
|
19318
19477
|
let canDismissBlocksGesture = false;
|
|
19319
19478
|
const canDismissMaxStep = 0.95;
|
|
19320
|
-
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
19321
|
-
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
19322
19479
|
const maxBreakpoint = breakpoints[breakpoints.length - 1];
|
|
19323
19480
|
const minBreakpoint = breakpoints[0];
|
|
19481
|
+
const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
|
|
19482
|
+
const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
|
|
19483
|
+
const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
|
|
19324
19484
|
const enableBackdrop = () => {
|
|
19325
19485
|
baseEl.style.setProperty('pointer-events', 'auto');
|
|
19326
19486
|
backdropEl.style.setProperty('pointer-events', 'auto');
|
|
@@ -19343,6 +19503,31 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19343
19503
|
*/
|
|
19344
19504
|
baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
|
|
19345
19505
|
};
|
|
19506
|
+
/**
|
|
19507
|
+
* Toggles the visible modal footer when `expandToScroll` is disabled.
|
|
19508
|
+
* @param footer The footer to show.
|
|
19509
|
+
*/
|
|
19510
|
+
const swapFooterVisibility = (footer) => {
|
|
19511
|
+
const originalFooter = baseEl.querySelector('ion-footer');
|
|
19512
|
+
if (!originalFooter) {
|
|
19513
|
+
return;
|
|
19514
|
+
}
|
|
19515
|
+
const clonedFooter = wrapperEl.nextElementSibling;
|
|
19516
|
+
const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
|
|
19517
|
+
const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
|
|
19518
|
+
footerToShow.style.removeProperty('display');
|
|
19519
|
+
footerToShow.removeAttribute('aria-hidden');
|
|
19520
|
+
const page = baseEl.querySelector('.ion-page');
|
|
19521
|
+
if (footer === 'original') {
|
|
19522
|
+
page.style.removeProperty('padding-bottom');
|
|
19523
|
+
}
|
|
19524
|
+
else {
|
|
19525
|
+
const pagePadding = footerToShow.clientHeight;
|
|
19526
|
+
page.style.setProperty('padding-bottom', `${pagePadding}px`);
|
|
19527
|
+
}
|
|
19528
|
+
footerToHide.style.setProperty('display', 'none');
|
|
19529
|
+
footerToHide.setAttribute('aria-hidden', 'true');
|
|
19530
|
+
};
|
|
19346
19531
|
/**
|
|
19347
19532
|
* After the entering animation completes,
|
|
19348
19533
|
* we need to set the animation to go from
|
|
@@ -19354,6 +19539,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19354
19539
|
if (wrapperAnimation && backdropAnimation) {
|
|
19355
19540
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
19356
19541
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
19542
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
19357
19543
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
19358
19544
|
/**
|
|
19359
19545
|
* If backdrop is not enabled, then content
|
|
@@ -19370,7 +19556,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19370
19556
|
disableBackdrop();
|
|
19371
19557
|
}
|
|
19372
19558
|
}
|
|
19373
|
-
if (contentEl && currentBreakpoint !== maxBreakpoint) {
|
|
19559
|
+
if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
|
|
19374
19560
|
contentEl.scrollY = false;
|
|
19375
19561
|
}
|
|
19376
19562
|
const canStart = (detail) => {
|
|
@@ -19384,6 +19570,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19384
19570
|
*/
|
|
19385
19571
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
19386
19572
|
currentBreakpoint = getCurrentBreakpoint();
|
|
19573
|
+
/**
|
|
19574
|
+
* If we have expandToScroll disabled, we should not allow the swipe gesture to start
|
|
19575
|
+
* if the content is being swiped.
|
|
19576
|
+
*/
|
|
19577
|
+
if (!expandToScroll && contentEl) {
|
|
19578
|
+
return false;
|
|
19579
|
+
}
|
|
19387
19580
|
if (currentBreakpoint === 1 && contentEl) {
|
|
19388
19581
|
/**
|
|
19389
19582
|
* The modal should never swipe to close on the content with a refresher.
|
|
@@ -19414,6 +19607,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19414
19607
|
* Remove undefined check
|
|
19415
19608
|
*/
|
|
19416
19609
|
canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
|
|
19610
|
+
/**
|
|
19611
|
+
* If expandToScroll is disabled, we need to swap
|
|
19612
|
+
* the footer visibility to the original, so if the modal
|
|
19613
|
+
* is dismissed, the footer dismisses with the modal
|
|
19614
|
+
* and doesn't stay on the screen after the modal is gone.
|
|
19615
|
+
*/
|
|
19616
|
+
if (!expandToScroll) {
|
|
19617
|
+
swapFooterVisibility('original');
|
|
19618
|
+
}
|
|
19417
19619
|
/**
|
|
19418
19620
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
19419
19621
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -19529,6 +19731,19 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19529
19731
|
opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
|
|
19530
19732
|
},
|
|
19531
19733
|
]);
|
|
19734
|
+
if (contentAnimation) {
|
|
19735
|
+
/**
|
|
19736
|
+
* The modal content should scroll at any breakpoint when expandToScroll
|
|
19737
|
+
* is disabled. In order to do this, the content needs to be completely
|
|
19738
|
+
* viewable so scrolling can access everything. Otherwise, the default
|
|
19739
|
+
* behavior would show the content off the screen and only allow
|
|
19740
|
+
* scrolling when the sheet is fully expanded.
|
|
19741
|
+
*/
|
|
19742
|
+
contentAnimation.keyframes([
|
|
19743
|
+
{ offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
|
|
19744
|
+
{ offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
|
|
19745
|
+
]);
|
|
19746
|
+
}
|
|
19532
19747
|
animation.progressStep(0);
|
|
19533
19748
|
}
|
|
19534
19749
|
/**
|
|
@@ -19536,6 +19751,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19536
19751
|
* snapping animation completes.
|
|
19537
19752
|
*/
|
|
19538
19753
|
gesture.enable(false);
|
|
19754
|
+
/**
|
|
19755
|
+
* If expandToScroll is disabled, we need to swap
|
|
19756
|
+
* the footer visibility to the cloned one so the footer
|
|
19757
|
+
* doesn't flicker when the sheet's height is animated.
|
|
19758
|
+
*/
|
|
19759
|
+
if (!expandToScroll && shouldRemainOpen) {
|
|
19760
|
+
swapFooterVisibility('cloned');
|
|
19761
|
+
}
|
|
19539
19762
|
if (shouldPreventDismiss) {
|
|
19540
19763
|
handleCanDismiss(baseEl, animation);
|
|
19541
19764
|
}
|
|
@@ -19543,13 +19766,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19543
19766
|
onDismiss();
|
|
19544
19767
|
}
|
|
19545
19768
|
/**
|
|
19546
|
-
*
|
|
19547
|
-
*
|
|
19548
|
-
*
|
|
19549
|
-
*
|
|
19550
|
-
*
|
|
19769
|
+
* Enables scrolling immediately if the sheet is about to fully expand
|
|
19770
|
+
* or if it allows scrolling at any breakpoint. Without this, there would
|
|
19771
|
+
* be a ~500ms delay while the modal animation completes, causing a
|
|
19772
|
+
* noticeable lag. Native iOS allows scrolling as soon as the gesture is
|
|
19773
|
+
* released, so we align with that behavior.
|
|
19551
19774
|
*/
|
|
19552
|
-
if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
|
|
19775
|
+
if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
|
|
19553
19776
|
contentEl.scrollY = true;
|
|
19554
19777
|
}
|
|
19555
19778
|
return new Promise((resolve) => {
|
|
@@ -19567,6 +19790,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19567
19790
|
raf(() => {
|
|
19568
19791
|
wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
|
|
19569
19792
|
backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
|
|
19793
|
+
contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
|
|
19570
19794
|
animation.progressStart(true, 1 - snapToBreakpoint);
|
|
19571
19795
|
currentBreakpoint = snapToBreakpoint;
|
|
19572
19796
|
onBreakpointChange(currentBreakpoint);
|
|
@@ -19619,10 +19843,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
|
|
|
19619
19843
|
};
|
|
19620
19844
|
};
|
|
19621
19845
|
|
|
19622
|
-
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-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:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
|
|
19846
|
+
const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-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:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer ion-toolbar:first-of-type{padding-top:6px}";
|
|
19623
19847
|
var IonModalIosStyle0 = modalIosCss;
|
|
19624
19848
|
|
|
19625
|
-
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-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:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
|
|
19849
|
+
const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);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);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-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:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
|
|
19626
19850
|
var IonModalMdStyle0 = modalMdCss;
|
|
19627
19851
|
|
|
19628
19852
|
// TODO(FW-2832): types
|
|
@@ -19701,6 +19925,7 @@ class Modal {
|
|
|
19701
19925
|
this.enterAnimation = undefined;
|
|
19702
19926
|
this.leaveAnimation = undefined;
|
|
19703
19927
|
this.breakpoints = undefined;
|
|
19928
|
+
this.expandToScroll = true;
|
|
19704
19929
|
this.initialBreakpoint = undefined;
|
|
19705
19930
|
this.backdropBreakpoint = 0;
|
|
19706
19931
|
this.handle = undefined;
|
|
@@ -19916,6 +20141,7 @@ class Modal {
|
|
|
19916
20141
|
presentingEl: presentingElement,
|
|
19917
20142
|
currentBreakpoint: this.initialBreakpoint,
|
|
19918
20143
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
20144
|
+
expandToScroll: this.expandToScroll,
|
|
19919
20145
|
});
|
|
19920
20146
|
/* tslint:disable-next-line */
|
|
19921
20147
|
if (typeof window !== 'undefined') {
|
|
@@ -19966,7 +20192,10 @@ class Modal {
|
|
|
19966
20192
|
// should be in the DOM and referenced by now, except
|
|
19967
20193
|
// for the presenting el
|
|
19968
20194
|
const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
|
|
19969
|
-
const ani = (this.animation = animationBuilder(el, {
|
|
20195
|
+
const ani = (this.animation = animationBuilder(el, {
|
|
20196
|
+
presentingEl: this.presentingElement,
|
|
20197
|
+
expandToScroll: this.expandToScroll,
|
|
20198
|
+
}));
|
|
19970
20199
|
const contentEl = findIonContent(el);
|
|
19971
20200
|
if (!contentEl) {
|
|
19972
20201
|
printIonContentErrorMsg(el);
|
|
@@ -20011,9 +20240,10 @@ class Modal {
|
|
|
20011
20240
|
presentingEl: this.presentingElement,
|
|
20012
20241
|
currentBreakpoint: initialBreakpoint,
|
|
20013
20242
|
backdropBreakpoint,
|
|
20243
|
+
expandToScroll: this.expandToScroll,
|
|
20014
20244
|
}));
|
|
20015
20245
|
ani.progressStart(true, 1);
|
|
20016
|
-
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
20246
|
+
const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
|
|
20017
20247
|
if (this.currentBreakpoint !== breakpoint) {
|
|
20018
20248
|
this.currentBreakpoint = breakpoint;
|
|
20019
20249
|
this.ionBreakpointDidChange.emit({ breakpoint });
|
|
@@ -20091,6 +20321,7 @@ class Modal {
|
|
|
20091
20321
|
presentingEl: presentingElement,
|
|
20092
20322
|
currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
|
|
20093
20323
|
backdropBreakpoint: this.backdropBreakpoint,
|
|
20324
|
+
expandToScroll: this.expandToScroll,
|
|
20094
20325
|
});
|
|
20095
20326
|
if (dismissed) {
|
|
20096
20327
|
const { delegate } = this.getDelegate();
|
|
@@ -20176,23 +20407,23 @@ class Modal {
|
|
|
20176
20407
|
return true;
|
|
20177
20408
|
}
|
|
20178
20409
|
render() {
|
|
20179
|
-
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
|
|
20410
|
+
const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
|
|
20180
20411
|
const showHandle = handle !== false && isSheetModal;
|
|
20181
20412
|
const mode = getIonMode$1(this);
|
|
20182
20413
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
20183
20414
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
20184
|
-
return (hAsync(Host, Object.assign({ key: '
|
|
20415
|
+
return (hAsync(Host, Object.assign({ key: 'ff15df63e72caaeb0a4ad68e9eedeaaa7d3f3bde', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
20185
20416
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
20186
|
-
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '
|
|
20417
|
+
}, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '27a73655779af9d175a829d3d2d29e42fd2a63ee', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '406a65080087e7895026ecc2f04e9d707439e86f', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '8e410eb925374158996c82cbbd522f07d741679e',
|
|
20187
20418
|
/*
|
|
20188
20419
|
role and aria-modal must be used on the
|
|
20189
20420
|
same element. They must also be set inside the
|
|
20190
20421
|
shadow DOM otherwise ion-button will not be highlighted
|
|
20191
20422
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
20192
20423
|
*/
|
|
20193
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '
|
|
20424
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '7326c969ebe5a70a35e83b09d3db2bb848c90e47', class: "modal-handle",
|
|
20194
20425
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
20195
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '
|
|
20426
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '0b65cdb9e337a27edf437b9e754e79f1449c217d' }))));
|
|
20196
20427
|
}
|
|
20197
20428
|
get el() { return getElement(this); }
|
|
20198
20429
|
static get watchers() { return {
|
|
@@ -20214,6 +20445,7 @@ class Modal {
|
|
|
20214
20445
|
"enterAnimation": [16],
|
|
20215
20446
|
"leaveAnimation": [16],
|
|
20216
20447
|
"breakpoints": [16],
|
|
20448
|
+
"expandToScroll": [4, "expand-to-scroll"],
|
|
20217
20449
|
"initialBreakpoint": [2, "initial-breakpoint"],
|
|
20218
20450
|
"backdropBreakpoint": [2, "backdrop-breakpoint"],
|
|
20219
20451
|
"handle": [4],
|
|
@@ -29657,6 +29889,7 @@ class Select {
|
|
|
29657
29889
|
this.expandedIcon = undefined;
|
|
29658
29890
|
this.shape = undefined;
|
|
29659
29891
|
this.value = undefined;
|
|
29892
|
+
this.required = false;
|
|
29660
29893
|
}
|
|
29661
29894
|
styleChanged() {
|
|
29662
29895
|
this.emitStyle();
|
|
@@ -30141,8 +30374,8 @@ class Select {
|
|
|
30141
30374
|
return renderedLabel;
|
|
30142
30375
|
}
|
|
30143
30376
|
renderListbox() {
|
|
30144
|
-
const { disabled, inputId, isExpanded } = this;
|
|
30145
|
-
return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
|
|
30377
|
+
const { disabled, inputId, isExpanded, required } = this;
|
|
30378
|
+
return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
|
|
30146
30379
|
}
|
|
30147
30380
|
render() {
|
|
30148
30381
|
const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
|
|
@@ -30173,7 +30406,7 @@ class Select {
|
|
|
30173
30406
|
* TODO(FW-5592): Remove hasStartEndSlots condition
|
|
30174
30407
|
*/
|
|
30175
30408
|
const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
|
|
30176
|
-
return (hAsync(Host, { key: '
|
|
30409
|
+
return (hAsync(Host, { key: '491cf1b0e3aa31e7c9cfad3e87d83eb54272312a', onClick: this.onClick, class: createColorClasses$1(this.color, {
|
|
30177
30410
|
[mode]: true,
|
|
30178
30411
|
'in-item': inItem,
|
|
30179
30412
|
'in-item-color': hostContext('ion-item.ion-color', el),
|
|
@@ -30189,7 +30422,7 @@ class Select {
|
|
|
30189
30422
|
[`select-justify-${justify}`]: justifyEnabled,
|
|
30190
30423
|
[`select-shape-${shape}`]: shape !== undefined,
|
|
30191
30424
|
[`select-label-placement-${labelPlacement}`]: true,
|
|
30192
|
-
}) }, hAsync("label", { key: '
|
|
30425
|
+
}) }, hAsync("label", { key: '07bf3cb57bd1121383d8c746e3ac49da38300082', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '884facd18342797576bbacc761d18d83c52762e3', class: "select-wrapper-inner" }, hAsync("slot", { key: 'c4f2a2a7a76f52db15f9a0b806017caea443c47a', name: "start" }), hAsync("div", { key: '235cf383f268cc74412722cd31e246cbd4c2abe5', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '1481302e11c494d49dfd80a7aaf743f7e851558f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '8a45ea9280651695c8e5435f266c286f3e3f6a18', class: "select-highlight" }))));
|
|
30193
30426
|
}
|
|
30194
30427
|
get el() { return getElement(this); }
|
|
30195
30428
|
static get watchers() { return {
|
|
@@ -30225,6 +30458,7 @@ class Select {
|
|
|
30225
30458
|
"expandedIcon": [1, "expanded-icon"],
|
|
30226
30459
|
"shape": [1],
|
|
30227
30460
|
"value": [1032],
|
|
30461
|
+
"required": [4],
|
|
30228
30462
|
"isExpanded": [32],
|
|
30229
30463
|
"open": [64]
|
|
30230
30464
|
},
|
|
@@ -30781,10 +31015,10 @@ class Tab {
|
|
|
30781
31015
|
}
|
|
30782
31016
|
render() {
|
|
30783
31017
|
const { tab, active, component } = this;
|
|
30784
|
-
return (hAsync(Host, { key: '
|
|
31018
|
+
return (hAsync(Host, { key: 'c8d049c74c66a2748f3ec81d2855446acf114abe', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
|
|
30785
31019
|
'ion-page': component === undefined,
|
|
30786
31020
|
'tab-hidden': !active,
|
|
30787
|
-
} }, hAsync("slot", { key: '
|
|
31021
|
+
} }, hAsync("slot", { key: 'fba1ddc9aefb2711e13d43734f606b493ce8380a' })));
|
|
30788
31022
|
}
|
|
30789
31023
|
get el() { return getElement(this); }
|
|
30790
31024
|
static get watchers() { return {
|
|
@@ -30976,7 +31210,7 @@ class TabButton {
|
|
|
30976
31210
|
'ion-activatable': true,
|
|
30977
31211
|
'ion-selectable': true,
|
|
30978
31212
|
'ion-focusable': true,
|
|
30979
|
-
} }, hAsync("a", Object.assign({ key: '
|
|
31213
|
+
} }, hAsync("a", Object.assign({ key: '2f32e70232c7872b14e9ead1d1c31c98ad3577b4' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : '0' }, inheritedAttributes), hAsync("span", { key: '5c9467b16e36a526a20f460980ec45022f464c3a', class: "button-inner" }, hAsync("slot", { key: 'eefd60fac84ff01366a0f82f6ad71782ee7351e9' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '0d3452ae46e47f2d50c0198668c42e00e1a4d7bf', type: "unbounded" }))));
|
|
30980
31214
|
}
|
|
30981
31215
|
get el() { return getElement(this); }
|
|
30982
31216
|
static get style() { return {
|
|
@@ -31018,6 +31252,7 @@ class Tabs {
|
|
|
31018
31252
|
this.ionTabsDidChange = createEvent(this, "ionTabsDidChange", 3);
|
|
31019
31253
|
this.transitioning = false;
|
|
31020
31254
|
this.onTabClicked = (ev) => {
|
|
31255
|
+
console.log("onTabClicked");
|
|
31021
31256
|
const { href, tab } = ev.detail;
|
|
31022
31257
|
if (this.useRouter && href !== undefined) {
|
|
31023
31258
|
const router = document.querySelector('ion-router');
|
|
@@ -31152,7 +31387,7 @@ class Tabs {
|
|
|
31152
31387
|
return Array.from(this.el.querySelectorAll('ion-tab'));
|
|
31153
31388
|
}
|
|
31154
31389
|
render() {
|
|
31155
|
-
return (hAsync(Host, { key: '
|
|
31390
|
+
return (hAsync(Host, { key: '6c9bb24efdbb7d2135097dbaf200b9d9a106eba0', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '7e29a9895b183269b3e293c3f70c9644324215ad', name: "top" }), hAsync("div", { key: '02d3c0685ff01dff1a0e0663aaec55552a24acd9', class: "tabs-inner" }, hAsync("slot", { key: 'e7b6928b811caae14f8981b1da65d1d487bd74e8' })), hAsync("slot", { key: 'd4464bcf631c7ff7afc96d95942a4af1fda64919', name: "bottom" })));
|
|
31156
31391
|
}
|
|
31157
31392
|
get el() { return getElement(this); }
|
|
31158
31393
|
static get style() { return IonTabsStyle0; }
|
|
@@ -32621,6 +32856,7 @@ class Toggle {
|
|
|
32621
32856
|
this.labelPlacement = 'start';
|
|
32622
32857
|
this.justify = undefined;
|
|
32623
32858
|
this.alignment = undefined;
|
|
32859
|
+
this.required = false;
|
|
32624
32860
|
}
|
|
32625
32861
|
disabledChanged() {
|
|
32626
32862
|
if (this.gesture) {
|
|
@@ -32702,12 +32938,12 @@ class Toggle {
|
|
|
32702
32938
|
return this.el.textContent !== '';
|
|
32703
32939
|
}
|
|
32704
32940
|
render() {
|
|
32705
|
-
const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
|
|
32941
|
+
const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
|
|
32706
32942
|
const mode = getIonMode$1(this);
|
|
32707
32943
|
const value = this.getValue();
|
|
32708
32944
|
const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
|
|
32709
32945
|
renderHiddenInput(true, el, name, checked ? value : '', disabled);
|
|
32710
|
-
return (hAsync(Host, { key: '
|
|
32946
|
+
return (hAsync(Host, { key: 'ed75573caa6e37011f1453dd7f723fb9bd8a3656', onClick: this.onClick, class: createColorClasses$1(color, {
|
|
32711
32947
|
[mode]: true,
|
|
32712
32948
|
'in-item': hostContext('ion-item', el),
|
|
32713
32949
|
'toggle-activated': activated,
|
|
@@ -32717,10 +32953,10 @@ class Toggle {
|
|
|
32717
32953
|
[`toggle-alignment-${alignment}`]: alignment !== undefined,
|
|
32718
32954
|
[`toggle-label-placement-${labelPlacement}`]: true,
|
|
32719
32955
|
[`toggle-${rtl}`]: true,
|
|
32720
|
-
}) }, hAsync("label", { key: '
|
|
32956
|
+
}) }, hAsync("label", { key: '484860e2a33f4d123904edb96159f0e1972d3add', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: '360b53080aacfd99a9ff60ffb5219816bd4163ee', 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)), hAsync("div", { key: 'f7239fa668fe11257239ea30cf0198e4f3274f6b', class: {
|
|
32721
32957
|
'label-text-wrapper': true,
|
|
32722
32958
|
'label-text-wrapper-hidden': !this.hasLabel,
|
|
32723
|
-
}, part: "label" }, hAsync("slot", { key: '
|
|
32959
|
+
}, part: "label" }, hAsync("slot", { key: '9495a4a39889822ee68e0d89dc5a2f863d1feb3c' })), hAsync("div", { key: '55f1eb08c4b705e94fbcf02220bbe1d292f06155', class: "native-wrapper" }, this.renderToggleControl()))));
|
|
32724
32960
|
}
|
|
32725
32961
|
get el() { return getElement(this); }
|
|
32726
32962
|
static get watchers() { return {
|
|
@@ -32743,6 +32979,7 @@ class Toggle {
|
|
|
32743
32979
|
"labelPlacement": [1, "label-placement"],
|
|
32744
32980
|
"justify": [1],
|
|
32745
32981
|
"alignment": [1],
|
|
32982
|
+
"required": [4],
|
|
32746
32983
|
"activated": [32]
|
|
32747
32984
|
},
|
|
32748
32985
|
"$listeners$": undefined,
|
|
@@ -32774,6 +33011,10 @@ var IonToolbarMdStyle0 = toolbarMdCss;
|
|
|
32774
33011
|
* @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
|
|
32775
33012
|
* @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
|
|
32776
33013
|
* @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
|
|
33014
|
+
*
|
|
33015
|
+
* @part background - The background of the toolbar, covering the entire area behind the toolbar content.
|
|
33016
|
+
* @part container - The container that wraps all toolbar content, including the default slot and named slot content.
|
|
33017
|
+
* @part content - The container for the default slot, wrapping content provided without a named slot.
|
|
32777
33018
|
*/
|
|
32778
33019
|
class Toolbar {
|
|
32779
33020
|
constructor(hostRef) {
|
|
@@ -32824,10 +33065,10 @@ class Toolbar {
|
|
|
32824
33065
|
this.childrenStyles.forEach((value) => {
|
|
32825
33066
|
Object.assign(childStyles, value);
|
|
32826
33067
|
});
|
|
32827
|
-
return (hAsync(Host, { key: '
|
|
33068
|
+
return (hAsync(Host, { key: '4fdc9ae82a93237cc28ceb95b0ebd8069b62839d', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
|
|
32828
33069
|
[mode]: true,
|
|
32829
33070
|
'in-toolbar': hostContext('ion-toolbar', this.el),
|
|
32830
|
-
})) }, hAsync("div", { key: '
|
|
33071
|
+
})) }, hAsync("div", { key: '443a216362bbbf1c149ed12140d52b0f0ea2d664', class: "toolbar-background", part: "background" }), hAsync("div", { key: '1df87f4027d605e42757a13d4828df45b90a4fdc', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'f66f34972be8e3f4915b9c6f5808600dbaedb1ea', name: "start" }), hAsync("slot", { key: '14f38b0975e956f404c4eb3ee56f2055c6615276', name: "secondary" }), hAsync("div", { key: '75ba5953a25c7544793484d2b245792cb0a5af75', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '149dfa58ff7106f318fecb4134e7c69edf8bc231' })), hAsync("slot", { key: '807ab9ad21d7f1d9d427a4086460bcb9e5e8c019', name: "primary" }), hAsync("slot", { key: 'bd2f9da95d2fa8e74dc6e0666587ceecbba99d9f', name: "end" }))));
|
|
32831
33072
|
}
|
|
32832
33073
|
get el() { return getElement(this); }
|
|
32833
33074
|
static get style() { return {
|