@ionic/core 8.4.4-dev.11741630999.189d7fc2 → 8.4.4-dev.11741648084.118e26ac
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 +37 -5
- package/components/ion-item-divider.js +2 -2
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +2 -2
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-loading.js +2 -2
- package/components/ion-menu-button.js +2 -2
- package/components/ion-menu-toggle.js +2 -2
- package/components/ion-menu.js +2 -2
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +2 -2
- package/components/ion-picker-legacy.js +2 -2
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-range.js +3 -3
- package/components/ion-refresher-content.js +1 -1
- package/components/ion-refresher.js +1 -1
- package/components/ion-reorder-group.js +1 -1
- package/components/ion-reorder.js +1 -1
- package/components/ion-router-link.js +2 -2
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +4 -4
- package/components/ion-segment-button.js +2 -2
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +2 -2
- package/components/ion-segment.js +2 -2
- package/components/ion-select-option.js +1 -1
- package/components/ion-select.js +47 -5
- package/components/ion-skeleton-text.js +2 -2
- package/components/ion-split-pane.js +2 -2
- package/components/ion-tab-bar.js +2 -2
- package/components/ion-tab-button.js +2 -2
- package/components/ion-tab.js +2 -2
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +2 -2
- package/components/ion-textarea.js +2 -2
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-toast.js +2 -2
- package/components/ion-toggle.js +3 -3
- package/components/label.js +2 -2
- package/components/list-header.js +2 -2
- package/components/modal.js +15 -7
- package/components/picker-column-option.js +2 -2
- package/components/picker-column2.js +2 -2
- package/components/popover.js +2 -2
- package/components/radio-group.js +39 -2
- package/components/radio.js +3 -3
- package/components/ripple-effect.js +1 -1
- package/components/select-modal.js +1 -1
- package/components/select-popover.js +1 -1
- package/components/spinner.js +1 -1
- package/components/title.js +2 -2
- package/components/toolbar.js +2 -2
- package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-checkbox.cjs.entry.js +35 -5
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-datetime_3.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 +11 -11
- package/dist/cjs/ion-loading.cjs.entry.js +2 -2
- package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
- package/dist/cjs/ion-modal.cjs.entry.js +15 -7
- package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-popover.cjs.entry.js +2 -2
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +39 -4
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- 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-ripple-effect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
- package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
- package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
- package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
- package/dist/cjs/ion-select_3.cjs.entry.js +47 -7
- package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
- package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-text.cjs.entry.js +2 -2
- 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 +3 -3
- package/dist/cjs/ionic.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
- package/dist/collection/components/checkbox/checkbox.js +70 -3
- package/dist/collection/components/checkbox/checkbox.md.css +52 -15
- package/dist/collection/components/item-divider/item-divider.js +2 -2
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +2 -2
- package/dist/collection/components/item-options/item-options.js +1 -1
- package/dist/collection/components/item-sliding/item-sliding.js +1 -1
- package/dist/collection/components/label/label.js +2 -2
- package/dist/collection/components/list-header/list-header.js +2 -2
- package/dist/collection/components/loading/loading.js +2 -2
- package/dist/collection/components/menu/menu.js +2 -2
- package/dist/collection/components/menu-button/menu-button.js +2 -2
- package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
- package/dist/collection/components/modal/gestures/sheet.js +11 -3
- package/dist/collection/components/modal/modal.js +5 -5
- package/dist/collection/components/nav/nav.js +1 -1
- package/dist/collection/components/nav-link/nav-link.js +1 -1
- package/dist/collection/components/note/note.js +2 -2
- package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
- package/dist/collection/components/picker-legacy/picker.js +2 -2
- package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
- package/dist/collection/components/popover/popover.js +2 -2
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +3 -3
- package/dist/collection/components/radio-group/radio-group.ios.css +205 -0
- package/dist/collection/components/radio-group/radio-group.js +72 -1
- package/dist/collection/components/radio-group/radio-group.md.css +205 -0
- package/dist/collection/components/range/range.js +3 -3
- package/dist/collection/components/refresher/refresher.js +1 -1
- package/dist/collection/components/refresher-content/refresher-content.js +1 -1
- package/dist/collection/components/reorder/reorder.js +1 -1
- package/dist/collection/components/reorder-group/reorder-group.js +1 -1
- package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +1 -1
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +4 -4
- package/dist/collection/components/segment/segment.js +2 -2
- package/dist/collection/components/segment-button/segment-button.js +2 -2
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +2 -2
- package/dist/collection/components/select/select.ios.css +59 -0
- package/dist/collection/components/select/select.js +80 -3
- package/dist/collection/components/select/select.md.css +61 -0
- package/dist/collection/components/select-modal/select-modal.js +1 -1
- package/dist/collection/components/select-option/select-option.js +1 -1
- package/dist/collection/components/select-popover/select-popover.js +1 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-pane/split-pane.js +2 -2
- package/dist/collection/components/tab/tab.js +2 -2
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-button/tab-button.js +2 -2
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text/text.js +2 -2
- package/dist/collection/components/textarea/textarea.js +2 -2
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +2 -2
- package/dist/collection/components/toast/toast.js +2 -2
- package/dist/collection/components/toggle/toggle.js +3 -3
- package/dist/collection/components/toolbar/toolbar.js +2 -2
- package/dist/docs.json +194 -2
- package/dist/esm/ion-app_8.entry.js +5 -5
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-checkbox.entry.js +35 -5
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/ion-datetime_3.entry.js +4 -4
- package/dist/esm/ion-item-option_3.entry.js +4 -4
- package/dist/esm/ion-item_8.entry.js +11 -11
- package/dist/esm/ion-loading.entry.js +2 -2
- package/dist/esm/ion-menu_3.entry.js +6 -6
- package/dist/esm/ion-modal.entry.js +15 -7
- package/dist/esm/ion-nav_2.entry.js +2 -2
- package/dist/esm/ion-picker-column-option.entry.js +2 -2
- package/dist/esm/ion-popover.entry.js +2 -2
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +39 -4
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +2 -2
- package/dist/esm/ion-reorder_2.entry.js +2 -2
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +2 -2
- package/dist/esm/ion-searchbar.entry.js +4 -4
- package/dist/esm/ion-segment-content.entry.js +1 -1
- package/dist/esm/ion-segment-view.entry.js +2 -2
- package/dist/esm/ion-segment_2.entry.js +4 -4
- package/dist/esm/ion-select-modal.entry.js +1 -1
- package/dist/esm/ion-select_3.entry.js +47 -7
- package/dist/esm/ion-spinner.entry.js +1 -1
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar_2.entry.js +4 -4
- package/dist/esm/ion-tab_2.entry.js +3 -3
- package/dist/esm/ion-text.entry.js +2 -2
- 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 +3 -3
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm-es5/ion-app_8.entry.js +1 -1
- package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
- package/dist/esm-es5/ion-checkbox.entry.js +1 -1
- package/dist/esm-es5/ion-col_3.entry.js +1 -1
- package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
- package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
- package/dist/esm-es5/ion-item_8.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-picker-column-option.entry.js +1 -1
- package/dist/esm-es5/ion-popover.entry.js +1 -1
- package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
- package/dist/esm-es5/ion-radio_2.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-ripple-effect.entry.js +1 -1
- package/dist/esm-es5/ion-route_4.entry.js +1 -1
- package/dist/esm-es5/ion-searchbar.entry.js +1 -1
- package/dist/esm-es5/ion-segment-content.entry.js +1 -1
- package/dist/esm-es5/ion-segment-view.entry.js +1 -1
- package/dist/esm-es5/ion-segment_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-spinner.entry.js +1 -1
- package/dist/esm-es5/ion-split-pane.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-text.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/loader.js +1 -1
- package/dist/html.html-data.json +25 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/{p-026517fb.entry.js → p-020df11a.entry.js} +1 -1
- package/dist/ionic/{p-dd14d988.entry.js → p-0434c94c.entry.js} +1 -1
- package/dist/ionic/p-0ab8caf8.system.entry.js +4 -0
- package/dist/ionic/{p-136ff13e.entry.js → p-0eab6979.entry.js} +1 -1
- package/dist/ionic/{p-ab2f4b05.entry.js → p-0f138cf3.entry.js} +1 -1
- package/dist/ionic/{p-d9ef8526.system.entry.js → p-166a794f.system.entry.js} +1 -1
- package/dist/ionic/{p-3fe95571.system.entry.js → p-1cf593cf.system.entry.js} +1 -1
- package/dist/ionic/p-21780245.entry.js +4 -0
- package/dist/ionic/p-221fbdf5.entry.js +4 -0
- package/dist/ionic/{p-d782ad8d.entry.js → p-2840743b.entry.js} +1 -1
- package/dist/ionic/{p-71e1d84d.entry.js → p-29cccf08.entry.js} +1 -1
- package/dist/ionic/{p-d25142f7.entry.js → p-2f429536.entry.js} +1 -1
- package/dist/ionic/{p-166f4ba0.entry.js → p-3b872754.entry.js} +1 -1
- package/dist/ionic/p-3e6be709.entry.js +4 -0
- package/dist/ionic/p-41d7ca3c.entry.js +4 -0
- package/dist/ionic/{p-323984f9.system.entry.js → p-4200e056.system.entry.js} +1 -1
- package/dist/ionic/{p-56a8aa85.entry.js → p-43bfbfd7.entry.js} +1 -1
- package/dist/ionic/{p-7112ab06.system.entry.js → p-47026941.system.entry.js} +1 -1
- package/dist/ionic/p-48e9eedb.entry.js +4 -0
- package/dist/ionic/{p-2cb33c6c.system.entry.js → p-506f2664.system.entry.js} +2 -2
- package/dist/ionic/p-541b5191.entry.js +4 -0
- package/dist/ionic/{p-3c29cb9d.entry.js → p-5c364a5b.entry.js} +1 -1
- package/dist/ionic/{p-424eb140.system.entry.js → p-5cc9314d.system.entry.js} +1 -1
- package/dist/ionic/{p-5d3dc32b.system.entry.js → p-5f10138c.system.entry.js} +1 -1
- package/dist/ionic/{p-98ce0c01.system.entry.js → p-5f7a9125.system.entry.js} +2 -2
- package/dist/ionic/p-62151078.system.entry.js +4 -0
- package/dist/ionic/{p-c42a4dad.system.entry.js → p-623b4fa6.system.entry.js} +1 -1
- package/dist/ionic/{p-37a21d70.entry.js → p-62d2e17d.entry.js} +1 -1
- package/dist/ionic/{p-e4c1fd74.system.entry.js → p-6321783a.system.entry.js} +1 -1
- package/dist/ionic/{p-b6208867.system.entry.js → p-66425a02.system.entry.js} +1 -1
- package/dist/ionic/{p-e84da6cb.system.entry.js → p-6703c724.system.entry.js} +1 -1
- package/dist/ionic/{p-fd2c0aa6.entry.js → p-6f6dd24f.entry.js} +1 -1
- package/dist/ionic/{p-57cca929.system.entry.js → p-717520d6.system.entry.js} +1 -1
- package/dist/ionic/{p-16799667.system.entry.js → p-7af3d1e8.system.entry.js} +1 -1
- package/dist/ionic/{p-6c85db7e.system.entry.js → p-7ef62ef9.system.entry.js} +2 -2
- package/dist/ionic/{p-712b57f9.system.entry.js → p-826c4d67.system.entry.js} +1 -1
- package/dist/ionic/{p-e18fc89c.entry.js → p-82afe775.entry.js} +1 -1
- package/dist/ionic/{p-8c0d81a9.entry.js → p-85d6d07c.entry.js} +1 -1
- package/dist/ionic/{p-c2583512.entry.js → p-8eee812a.entry.js} +1 -1
- package/dist/ionic/{p-badd3610.entry.js → p-8fa80de0.entry.js} +1 -1
- package/dist/ionic/{p-5bf080b2.entry.js → p-95a11fc4.entry.js} +1 -1
- package/dist/ionic/{p-8c42a26f.system.entry.js → p-986a98d9.system.entry.js} +1 -1
- package/dist/ionic/{p-5996d3ad.system.entry.js → p-98aefaa1.system.entry.js} +1 -1
- package/dist/ionic/{p-f670529f.system.entry.js → p-99b4160f.system.entry.js} +1 -1
- package/dist/ionic/p-9a950d3c.entry.js +4 -0
- package/dist/ionic/{p-48e13807.system.entry.js → p-9aaaff17.system.entry.js} +1 -1
- package/dist/ionic/{p-d7fef52e.system.entry.js → p-a4e7eaf6.system.entry.js} +1 -1
- package/dist/ionic/{p-b6849d30.system.entry.js → p-aae5907a.system.entry.js} +1 -1
- package/dist/ionic/{p-6f36e4c8.system.entry.js → p-afba4c00.system.entry.js} +1 -1
- package/dist/ionic/{p-e2f893bd.entry.js → p-b1dbfc12.entry.js} +1 -1
- package/dist/ionic/{p-91b944fa.entry.js → p-bd1c99cb.entry.js} +1 -1
- package/dist/ionic/{p-2cf956b8.entry.js → p-c43872df.entry.js} +1 -1
- package/dist/ionic/p-c4f9367a.entry.js +4 -0
- package/dist/ionic/{p-6347c733.system.entry.js → p-c52ca485.system.entry.js} +1 -1
- package/dist/ionic/{p-d4896d36.system.entry.js → p-cad0b874.system.entry.js} +1 -1
- package/dist/ionic/{p-193d447d.system.entry.js → p-d9162cf7.system.entry.js} +1 -1
- package/dist/ionic/{p-3c3d353b.entry.js → p-dbe534f5.entry.js} +1 -1
- package/dist/ionic/{p-42a9bb35.entry.js → p-dde5afee.entry.js} +1 -1
- package/dist/ionic/{p-d6b60875.entry.js → p-de0b8503.entry.js} +1 -1
- package/dist/ionic/p-e3bd1070.entry.js +4 -0
- package/dist/ionic/{p-85b1ffae.entry.js → p-ebceb0ac.entry.js} +1 -1
- package/dist/ionic/{p-a873feda.system.entry.js → p-ec92cc52.system.entry.js} +1 -1
- package/dist/ionic/{p-447d4981.system.entry.js → p-ee70a913.system.entry.js} +1 -1
- package/dist/ionic/{p-73dc4950.entry.js → p-f2a72b24.entry.js} +1 -1
- package/dist/ionic/p-f4f255cb.system.js +1 -1
- package/dist/ionic/{p-c3a51c19.system.entry.js → p-f5f52b6d.system.entry.js} +1 -1
- package/dist/ionic/{p-4eed0eb2.system.entry.js → p-fa5a45cd.system.entry.js} +1 -1
- package/dist/ionic/{p-3b8b35c7.system.entry.js → p-fb048d4d.system.entry.js} +1 -1
- package/dist/ionic/p-fe00ac05.system.entry.js +4 -0
- package/dist/types/components/checkbox/checkbox.d.ts +19 -0
- package/dist/types/components/modal/modal.d.ts +6 -3
- package/dist/types/components/radio-group/radio-group.d.ts +15 -0
- package/dist/types/components/select/select.d.ts +23 -0
- package/dist/types/components.d.ts +50 -2
- package/hydrate/index.js +231 -106
- package/hydrate/index.mjs +231 -106
- package/package.json +1 -1
- package/dist/ionic/p-14be4015.entry.js +0 -4
- package/dist/ionic/p-30ec5574.entry.js +0 -4
- package/dist/ionic/p-37264dcc.entry.js +0 -4
- package/dist/ionic/p-49b2653a.system.entry.js +0 -4
- package/dist/ionic/p-59884cc7.system.entry.js +0 -4
- package/dist/ionic/p-7896a440.system.entry.js +0 -4
- package/dist/ionic/p-8b367303.entry.js +0 -4
- package/dist/ionic/p-ba61193a.entry.js +0 -4
- package/dist/ionic/p-ebb85488.entry.js +0 -4
- package/dist/ionic/p-ec197876.entry.js +0 -4
- package/dist/ionic/p-efcb7383.entry.js +0 -4
- package/dist/ionic/p-fc9149bd.entry.js +0 -4
|
@@ -161,9 +161,9 @@ export class Loading {
|
|
|
161
161
|
* Otherwise, don't set aria-labelledby.
|
|
162
162
|
*/
|
|
163
163
|
const ariaLabelledBy = message !== undefined ? msgId : null;
|
|
164
|
-
return (h(Host, Object.assign({ key: '
|
|
164
|
+
return (h(Host, Object.assign({ key: 'd6066c8b56b1fe4b597a243a7dab191ef0d21286', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
|
|
165
165
|
zIndex: `${40000 + this.overlayIndex}`,
|
|
166
|
-
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '
|
|
166
|
+
}, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '2431eda00a2a3f510f5dfc39b7c7d47c056dfa3d', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'cf210aaf5e754e4eccdb49cf7ead4647b3f9b2d1', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'fa9375143d391656d70e181d25b952c77c2fc6ec', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: '8e4a4ed994f7f62df86b03696ac95162df41f52d', class: "loading-spinner" }, h("ion-spinner", { key: 'e5b323c272d365853ba92bd211e390b4fd4751d2', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'cae35ec8c34800477bff3ebcec8010e632158233', tabindex: "0", "aria-hidden": "true" })));
|
|
167
167
|
}
|
|
168
168
|
static get is() { return "ion-loading"; }
|
|
169
169
|
static get encapsulation() { return "scoped"; }
|
|
@@ -614,14 +614,14 @@ export class Menu {
|
|
|
614
614
|
* the ionBackButton listener in the menu controller
|
|
615
615
|
* will handle closing the menu when Escape is pressed.
|
|
616
616
|
*/
|
|
617
|
-
return (h(Host, { key: '
|
|
617
|
+
return (h(Host, { key: '342db8551d26604128b29b21d2d8c37593972ed9', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
|
|
618
618
|
[mode]: true,
|
|
619
619
|
[`menu-type-${type}`]: true,
|
|
620
620
|
'menu-enabled': !disabled,
|
|
621
621
|
[`menu-side-${side}`]: true,
|
|
622
622
|
'menu-pane-visible': isPaneVisible,
|
|
623
623
|
'split-pane-side': hostContext('ion-split-pane', el),
|
|
624
|
-
} }, h("div", { key: '
|
|
624
|
+
} }, h("div", { key: '3c9bec2862b7fb9d88de66b1600be01f6735e3dd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '76283b4b2a65c78646f92c3b273eea021eda499c' })), h("ion-backdrop", { key: '121c395bc4873542a1b6ae2c9e23f2e881e75d93', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
|
|
625
625
|
}
|
|
626
626
|
static get is() { return "ion-menu"; }
|
|
627
627
|
static get encapsulation() { return "shadow"; }
|
|
@@ -46,7 +46,7 @@ export class MenuButton {
|
|
|
46
46
|
type: this.type,
|
|
47
47
|
};
|
|
48
48
|
const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
|
|
49
|
-
return (h(Host, { key: '
|
|
49
|
+
return (h(Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
|
|
50
50
|
[mode]: true,
|
|
51
51
|
button: true, // ion-buttons target .button
|
|
52
52
|
'menu-button-hidden': hidden,
|
|
@@ -55,7 +55,7 @@ export class MenuButton {
|
|
|
55
55
|
'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
|
|
56
56
|
'ion-activatable': true,
|
|
57
57
|
'ion-focusable': true,
|
|
58
|
-
}) }, h("button", Object.assign({ key: '
|
|
58
|
+
}) }, h("button", Object.assign({ key: 'a02a3374288bd1759b6e352ada8eab0d45c6422f' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'ba699f2277a4e7b27ce5e42faeefc53d8805bb43', class: "button-inner" }, h("slot", { key: '829fe6cbdeb173f50d1a670389d1565baa6273e4' }, h("ion-icon", { key: 'a9a9f7b8dcffc648a8429fe0adbe766869de72fd', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { key: '48deca9a771a249f2fc76eaa8b9741c8d66d8355', type: "unbounded" }))));
|
|
59
59
|
}
|
|
60
60
|
static get is() { return "ion-menu-button"; }
|
|
61
61
|
static get encapsulation() { return "shadow"; }
|
|
@@ -26,10 +26,10 @@ export class MenuToggle {
|
|
|
26
26
|
render() {
|
|
27
27
|
const mode = getIonMode(this);
|
|
28
28
|
const hidden = this.autoHide && !this.visible;
|
|
29
|
-
return (h(Host, { key: '
|
|
29
|
+
return (h(Host, { key: '88e88fa13ac7f10ba3acfe378bd11cda0c7e2749', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
|
|
30
30
|
[mode]: true,
|
|
31
31
|
'menu-toggle-hidden': hidden,
|
|
32
|
-
} }, h("slot", { key: '
|
|
32
|
+
} }, h("slot", { key: '0a14c7b63eda64702d2fd1b4bc7db4809892842d' })));
|
|
33
33
|
}
|
|
34
34
|
static get is() { return "ion-menu-toggle"; }
|
|
35
35
|
static get encapsulation() { return "shadow"; }
|
|
@@ -130,11 +130,12 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
130
130
|
const contentEl = findClosestIonContent(detail.event.target);
|
|
131
131
|
currentBreakpoint = getCurrentBreakpoint();
|
|
132
132
|
/**
|
|
133
|
-
* If
|
|
134
|
-
* if the content is
|
|
133
|
+
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
134
|
+
* to start if the content is not scrolled to the top.
|
|
135
135
|
*/
|
|
136
136
|
if (!expandToScroll && contentEl) {
|
|
137
|
-
|
|
137
|
+
const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
|
|
138
|
+
return scrollEl.scrollTop === 0;
|
|
138
139
|
}
|
|
139
140
|
if (currentBreakpoint === 1 && contentEl) {
|
|
140
141
|
/**
|
|
@@ -192,6 +193,13 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
|
|
|
192
193
|
animation.progressStart(true, 1 - currentBreakpoint);
|
|
193
194
|
};
|
|
194
195
|
const onMove = (detail) => {
|
|
196
|
+
/**
|
|
197
|
+
* If `expandToScroll` is disabled, we should not allow the swipe gesture
|
|
198
|
+
* to continue if the gesture is not pulling down.
|
|
199
|
+
*/
|
|
200
|
+
if (!expandToScroll && detail.deltaY <= 0) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
195
203
|
/**
|
|
196
204
|
* If we are pulling down, then it is possible we are pulling on the content.
|
|
197
205
|
* We do not want scrolling to happen at the same time as the gesture.
|
|
@@ -573,18 +573,18 @@ export class Modal {
|
|
|
573
573
|
const mode = getIonMode(this);
|
|
574
574
|
const isCardModal = presentingElement !== undefined && mode === 'ios';
|
|
575
575
|
const isHandleCycle = handleBehavior === 'cycle';
|
|
576
|
-
return (h(Host, Object.assign({ key: '
|
|
576
|
+
return (h(Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
577
577
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
578
|
-
}, 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 }), h("ion-backdrop", { key: '
|
|
578
|
+
}, 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 }), h("ion-backdrop", { key: '9221692e0e111f99e80239ca44faaaed9b288425', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '20def7088d31e5eb13c3f2404c514cd8b74cd966', class: "modal-shadow" }), h("div", Object.assign({ key: 'b11229330571d4ff7b9136dfdddcd7d759ada876',
|
|
579
579
|
/*
|
|
580
580
|
role and aria-modal must be used on the
|
|
581
581
|
same element. They must also be set inside the
|
|
582
582
|
shadow DOM otherwise ion-button will not be highlighted
|
|
583
583
|
when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
|
|
584
584
|
*/
|
|
585
|
-
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '
|
|
585
|
+
role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '95b2a62477dfbc063a91910f0d37357388cfd914', class: "modal-handle",
|
|
586
586
|
// Prevents the handle from receiving keyboard focus when it does not cycle
|
|
587
|
-
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '
|
|
587
|
+
tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: 'fba17dfdbdffbfd8992f473f633d172c5124dc19' }))));
|
|
588
588
|
}
|
|
589
589
|
static get is() { return "ion-modal"; }
|
|
590
590
|
static get encapsulation() { return "shadow"; }
|
|
@@ -754,7 +754,7 @@ export class Modal {
|
|
|
754
754
|
"optional": false,
|
|
755
755
|
"docs": {
|
|
756
756
|
"tags": [],
|
|
757
|
-
"text": "Controls whether scrolling or dragging within the sheet modal expands\nit to a larger breakpoint. This only takes effect when `breakpoints`\nand `initialBreakpoint` are set.\n\nIf `true`, scrolling or dragging anywhere in the modal will first expand\nit to the next breakpoint. Once fully expanded, scrolling will affect the
|
|
757
|
+
"text": "Controls whether scrolling or dragging within the sheet modal expands\nit to a larger breakpoint. This only takes effect when `breakpoints`\nand `initialBreakpoint` are set.\n\nIf `true`, scrolling or dragging anywhere in the modal will first expand\nit to the next breakpoint. Once fully expanded, scrolling will affect the\ncontent.\nIf `false`, scrolling will always affect the content. The modal will\nonly expand when dragging the header or handle. The modal will close when\ndragging the header or handle. It can also be closed when dragging the\ncontent, but only if the content is scrolled to the top."
|
|
758
758
|
},
|
|
759
759
|
"attribute": "expand-to-scroll",
|
|
760
760
|
"reflect": false,
|
|
@@ -830,7 +830,7 @@ export class Nav {
|
|
|
830
830
|
}
|
|
831
831
|
}
|
|
832
832
|
render() {
|
|
833
|
-
return h("slot", { key: '
|
|
833
|
+
return h("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
|
|
834
834
|
}
|
|
835
835
|
static get is() { return "ion-nav"; }
|
|
836
836
|
static get encapsulation() { return "shadow"; }
|
|
@@ -14,7 +14,7 @@ export class NavLink {
|
|
|
14
14
|
this.routerAnimation = undefined;
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return h(Host, { key: '
|
|
17
|
+
return h(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
|
|
18
18
|
}
|
|
19
19
|
static get is() { return "ion-nav-link"; }
|
|
20
20
|
static get properties() {
|
|
@@ -13,9 +13,9 @@ export class Note {
|
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
15
|
const mode = getIonMode(this);
|
|
16
|
-
return (h(Host, { key: '
|
|
16
|
+
return (h(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses(this.color, {
|
|
17
17
|
[mode]: true,
|
|
18
|
-
}) }, h("slot", { key: '
|
|
18
|
+
}) }, h("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
|
|
19
19
|
}
|
|
20
20
|
static get is() { return "ion-note"; }
|
|
21
21
|
static get encapsulation() { return "shadow"; }
|
|
@@ -76,10 +76,10 @@ export class PickerColumnOption {
|
|
|
76
76
|
render() {
|
|
77
77
|
const { color, disabled, ariaLabel } = this;
|
|
78
78
|
const mode = getIonMode(this);
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses(color, {
|
|
80
80
|
[mode]: true,
|
|
81
81
|
['option-disabled']: disabled,
|
|
82
|
-
}) }, h("button", { key: '
|
|
82
|
+
}) }, h("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
|
|
83
83
|
}
|
|
84
84
|
static get is() { return "ion-picker-column-option"; }
|
|
85
85
|
static get encapsulation() { return "shadow"; }
|
|
@@ -185,11 +185,11 @@ export class Picker {
|
|
|
185
185
|
render() {
|
|
186
186
|
const { htmlAttributes } = this;
|
|
187
187
|
const mode = getIonMode(this);
|
|
188
|
-
return (h(Host, Object.assign({ key: '
|
|
188
|
+
return (h(Host, Object.assign({ key: 'dc03f252e3b59a94bc7132c953d2d3b36b62237e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
189
189
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
190
190
|
}, class: Object.assign({ [mode]: true,
|
|
191
191
|
// Used internally for styling
|
|
192
|
-
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '
|
|
192
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: 'bdabe9c82c41f96da5dafb1a0aa0854fa7e7ec93', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '1380e0c8989153b425674753764f12f253f4a738', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'edec769bbc0993d003852d0bf1123e6e2332ebbe', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: 'b82c67ff47aa9412a6ff8f3b2e6230b855e92c51', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '76485b643387f36b6b3d5f85e4d072fa18e68552', class: "picker-columns" }, h("div", { key: '99268217263feb5285db1b1acd48fd0e4d5f0e7b', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '2dd7e488bc4e9695094f0758567e626e0bb5979d', class: "picker-below-highlight" }))), h("div", { key: '8b2f3ae798a4ddcdd4e2716ebba1de797e446ac4', tabindex: "0", "aria-hidden": "true" })));
|
|
193
193
|
}
|
|
194
194
|
static get is() { return "ion-picker-legacy"; }
|
|
195
195
|
static get encapsulation() { return "scoped"; }
|
|
@@ -336,9 +336,9 @@ export class PickerColumnCmp {
|
|
|
336
336
|
render() {
|
|
337
337
|
const col = this.col;
|
|
338
338
|
const mode = getIonMode(this);
|
|
339
|
-
return (h(Host, { key: '
|
|
339
|
+
return (h(Host, { key: '88a3c9397c9ac92dd814074c8ae6ecf8e3420a2c', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
|
|
340
340
|
'max-width': this.col.columnWidth,
|
|
341
|
-
} }, col.prefix && (h("div", { key: '
|
|
341
|
+
} }, col.prefix && (h("div", { key: '4491a705d15337e6f45f3cf6fd21af5242474729', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: 'b0dd4b7a7a4c1edc4b73e7fb134ac85264072365', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: 'c16419ce6481d60fc3ba6b8d102a4edf0ede02aa', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
342
342
|
}
|
|
343
343
|
static get is() { return "ion-picker-legacy-column"; }
|
|
344
344
|
static get originalStyleUrls() {
|
|
@@ -338,9 +338,9 @@ export class Popover {
|
|
|
338
338
|
const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
|
|
339
339
|
const desktop = isPlatform('desktop');
|
|
340
340
|
const enableArrow = arrow && !parentPopover;
|
|
341
|
-
return (h(Host, Object.assign({ key: '
|
|
341
|
+
return (h(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
|
342
342
|
zIndex: `${20000 + this.overlayIndex}`,
|
|
343
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '
|
|
343
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '580c14ab48472534f59eedc5ba7fa486df25ed4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '9bcf47893e8d3053e2baa40511785d84feb4038c', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '4d47f2bdc01a546a88190c07f8f4700f21de6715', class: "popover-arrow", part: "arrow" }), h("div", { key: '70018c088654c1996e305b7b6b114419e97824ef', class: "popover-content", part: "content" }, h("slot", { key: '3de8e1959b8facba2fbe694947704832200d8276' })))));
|
|
344
344
|
}
|
|
345
345
|
static get is() { return "ion-popover"; }
|
|
346
346
|
static get encapsulation() { return "shadow"; }
|
|
@@ -28,7 +28,7 @@ export class ProgressBar {
|
|
|
28
28
|
const mode = getIonMode(this);
|
|
29
29
|
// If the progress is displayed as a solid bar.
|
|
30
30
|
const progressSolid = buffer === 1;
|
|
31
|
-
return (h(Host, { key: '
|
|
31
|
+
return (h(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
|
|
32
32
|
[mode]: true,
|
|
33
33
|
[`progress-bar-${type}`]: true,
|
|
34
34
|
'progress-paused': paused,
|
|
@@ -120,7 +120,7 @@ export class Radio {
|
|
|
120
120
|
const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
|
|
121
121
|
const mode = getIonMode(this);
|
|
122
122
|
const inItem = hostContext('ion-item', el);
|
|
123
|
-
return (h(Host, { key: '
|
|
123
|
+
return (h(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
|
|
124
124
|
[mode]: true,
|
|
125
125
|
'in-item': inItem,
|
|
126
126
|
'radio-checked': checked,
|
|
@@ -131,10 +131,10 @@ export class Radio {
|
|
|
131
131
|
// Focus and active styling should not apply when the radio is in an item
|
|
132
132
|
'ion-activatable': !inItem,
|
|
133
133
|
'ion-focusable': !inItem,
|
|
134
|
-
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '
|
|
134
|
+
}), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '8765b847edc93a1b5a16506e155ed03da807bb10', class: "radio-wrapper" }, h("div", { key: '3d568a0192a32d4f0b8a920019c79ff02639b5c9', class: {
|
|
135
135
|
'label-text-wrapper': true,
|
|
136
136
|
'label-text-wrapper-hidden': !hasLabel,
|
|
137
|
-
}, part: "label" }, h("slot", { key: '
|
|
137
|
+
}, part: "label" }, h("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), h("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
|
|
138
138
|
}
|
|
139
139
|
static get is() { return "ion-radio"; }
|
|
140
140
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a font size to a dynamic font size.
|
|
3
|
+
* Fonts that participate in Dynamic Type should use
|
|
4
|
+
* dynamic font sizes.
|
|
5
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
6
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
7
|
+
* convert to a unit other than $baselineUnit.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Convert a font size to a dynamic font size but impose
|
|
11
|
+
* a maximum font size.
|
|
12
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
13
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
14
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
15
|
+
* convert to a unit other than $baselineUnit.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Convert a font size to a dynamic font size but impose
|
|
19
|
+
* a minimum font size.
|
|
20
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
21
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
22
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
23
|
+
* convert to a unit other than $baselineUnit.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Convert a font size to a dynamic font size but impose
|
|
27
|
+
* maximum and minimum font sizes.
|
|
28
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
29
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
30
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
31
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
32
|
+
* convert to a unit other than $baselineUnit.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* A heuristic that applies CSS to tablet
|
|
36
|
+
* viewports.
|
|
37
|
+
*
|
|
38
|
+
* Usage:
|
|
39
|
+
* @include tablet-viewport() {
|
|
40
|
+
* :host {
|
|
41
|
+
* background-color: green;
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* A heuristic that applies CSS to mobile
|
|
47
|
+
* viewports (i.e. phones, not tablets).
|
|
48
|
+
*
|
|
49
|
+
* Usage:
|
|
50
|
+
* @include mobile-viewport() {
|
|
51
|
+
* :host {
|
|
52
|
+
* background-color: blue;
|
|
53
|
+
* }
|
|
54
|
+
* }
|
|
55
|
+
*/
|
|
56
|
+
/**
|
|
57
|
+
* Convert a font size to a dynamic font size.
|
|
58
|
+
* Fonts that participate in Dynamic Type should use
|
|
59
|
+
* dynamic font sizes.
|
|
60
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
61
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
62
|
+
* convert to a unit other than $baselineUnit.
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* Convert a font size to a dynamic font size but impose
|
|
66
|
+
* a maximum font size.
|
|
67
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
68
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
69
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
70
|
+
* convert to a unit other than $baselineUnit.
|
|
71
|
+
*/
|
|
72
|
+
/**
|
|
73
|
+
* Convert a font size to a dynamic font size but impose
|
|
74
|
+
* a minimum font size.
|
|
75
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
76
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
77
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
78
|
+
* convert to a unit other than $baselineUnit.
|
|
79
|
+
*/
|
|
80
|
+
/**
|
|
81
|
+
* Convert a font size to a dynamic font size but impose
|
|
82
|
+
* maximum and minimum font sizes.
|
|
83
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
84
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
85
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
86
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
87
|
+
* convert to a unit other than $baselineUnit.
|
|
88
|
+
*/
|
|
89
|
+
/**
|
|
90
|
+
* A heuristic that applies CSS to tablet
|
|
91
|
+
* viewports.
|
|
92
|
+
*
|
|
93
|
+
* Usage:
|
|
94
|
+
* @include tablet-viewport() {
|
|
95
|
+
* :host {
|
|
96
|
+
* background-color: green;
|
|
97
|
+
* }
|
|
98
|
+
* }
|
|
99
|
+
*/
|
|
100
|
+
/**
|
|
101
|
+
* A heuristic that applies CSS to mobile
|
|
102
|
+
* viewports (i.e. phones, not tablets).
|
|
103
|
+
*
|
|
104
|
+
* Usage:
|
|
105
|
+
* @include mobile-viewport() {
|
|
106
|
+
* :host {
|
|
107
|
+
* background-color: blue;
|
|
108
|
+
* }
|
|
109
|
+
* }
|
|
110
|
+
*/
|
|
111
|
+
ion-radio-group {
|
|
112
|
+
vertical-align: top;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.radio-group-wrapper {
|
|
116
|
+
display: inline;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.radio-group-top {
|
|
120
|
+
line-height: 1.5;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Error text should only be shown when .ion-invalid is present
|
|
125
|
+
* on the radio group. Otherwise the helper text should be shown.
|
|
126
|
+
*/
|
|
127
|
+
.radio-group-top .error-text {
|
|
128
|
+
display: none;
|
|
129
|
+
color: var(--ion-color-danger, #c5000f);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.radio-group-top .helper-text {
|
|
133
|
+
display: block;
|
|
134
|
+
color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.ion-touched.ion-invalid .radio-group-top .error-text {
|
|
138
|
+
display: block;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.ion-touched.ion-invalid .radio-group-top .helper-text {
|
|
142
|
+
display: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Convert a font size to a dynamic font size.
|
|
147
|
+
* Fonts that participate in Dynamic Type should use
|
|
148
|
+
* dynamic font sizes.
|
|
149
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
150
|
+
* @param unit (optional) - The unit to convert to. Use this if you want to
|
|
151
|
+
* convert to a unit other than $baselineUnit.
|
|
152
|
+
*/
|
|
153
|
+
/**
|
|
154
|
+
* Convert a font size to a dynamic font size but impose
|
|
155
|
+
* a maximum font size.
|
|
156
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
157
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
158
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
159
|
+
* convert to a unit other than $baselineUnit.
|
|
160
|
+
*/
|
|
161
|
+
/**
|
|
162
|
+
* Convert a font size to a dynamic font size but impose
|
|
163
|
+
* a minimum font size.
|
|
164
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
165
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
166
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
167
|
+
* convert to a unit other than $baselineUnit.
|
|
168
|
+
*/
|
|
169
|
+
/**
|
|
170
|
+
* Convert a font size to a dynamic font size but impose
|
|
171
|
+
* maximum and minimum font sizes.
|
|
172
|
+
* @param size - The initial font size including the unit (i.e. px or pt)
|
|
173
|
+
* @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
|
|
174
|
+
* @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
|
|
175
|
+
* @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
|
|
176
|
+
* convert to a unit other than $baselineUnit.
|
|
177
|
+
*/
|
|
178
|
+
/**
|
|
179
|
+
* A heuristic that applies CSS to tablet
|
|
180
|
+
* viewports.
|
|
181
|
+
*
|
|
182
|
+
* Usage:
|
|
183
|
+
* @include tablet-viewport() {
|
|
184
|
+
* :host {
|
|
185
|
+
* background-color: green;
|
|
186
|
+
* }
|
|
187
|
+
* }
|
|
188
|
+
*/
|
|
189
|
+
/**
|
|
190
|
+
* A heuristic that applies CSS to mobile
|
|
191
|
+
* viewports (i.e. phones, not tablets).
|
|
192
|
+
*
|
|
193
|
+
* Usage:
|
|
194
|
+
* @include mobile-viewport() {
|
|
195
|
+
* :host {
|
|
196
|
+
* background-color: blue;
|
|
197
|
+
* }
|
|
198
|
+
* }
|
|
199
|
+
*/
|
|
200
|
+
ion-list .radio-group-top {
|
|
201
|
+
-webkit-padding-start: 16px;
|
|
202
|
+
padding-inline-start: 16px;
|
|
203
|
+
-webkit-padding-end: 16px;
|
|
204
|
+
padding-inline-end: 16px;
|
|
205
|
+
}
|
|
@@ -7,6 +7,8 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
7
7
|
export class RadioGroup {
|
|
8
8
|
constructor() {
|
|
9
9
|
this.inputId = `ion-rg-${radioGroupIds++}`;
|
|
10
|
+
this.helperTextId = `${this.inputId}-helper-text`;
|
|
11
|
+
this.errorTextId = `${this.inputId}-error-text`;
|
|
10
12
|
this.labelId = `${this.inputId}-lbl`;
|
|
11
13
|
this.setRadioTabindex = (value) => {
|
|
12
14
|
const radios = this.getRadios();
|
|
@@ -58,6 +60,8 @@ export class RadioGroup {
|
|
|
58
60
|
this.compareWith = undefined;
|
|
59
61
|
this.name = this.inputId;
|
|
60
62
|
this.value = undefined;
|
|
63
|
+
this.helperText = undefined;
|
|
64
|
+
this.errorText = undefined;
|
|
61
65
|
}
|
|
62
66
|
valueChanged(value) {
|
|
63
67
|
this.setRadioTabindex(value);
|
|
@@ -156,13 +160,46 @@ export class RadioGroup {
|
|
|
156
160
|
const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
|
|
157
161
|
radioToFocus === null || radioToFocus === void 0 ? void 0 : radioToFocus.setFocus();
|
|
158
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Renders the helper text or error text values
|
|
165
|
+
*/
|
|
166
|
+
renderHintText() {
|
|
167
|
+
const { helperText, errorText, helperTextId, errorTextId } = this;
|
|
168
|
+
const hasHintText = !!helperText || !!errorText;
|
|
169
|
+
if (!hasHintText) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
return (h("div", { class: "radio-group-top" }, h("div", { id: helperTextId, class: "helper-text" }, helperText), h("div", { id: errorTextId, class: "error-text" }, errorText)));
|
|
173
|
+
}
|
|
174
|
+
getHintTextID() {
|
|
175
|
+
const { el, helperText, errorText, helperTextId, errorTextId } = this;
|
|
176
|
+
if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
|
|
177
|
+
return errorTextId;
|
|
178
|
+
}
|
|
179
|
+
if (helperText) {
|
|
180
|
+
return helperTextId;
|
|
181
|
+
}
|
|
182
|
+
return undefined;
|
|
183
|
+
}
|
|
159
184
|
render() {
|
|
160
185
|
const { label, labelId, el, name, value } = this;
|
|
161
186
|
const mode = getIonMode(this);
|
|
162
187
|
renderHiddenInput(true, el, name, value, false);
|
|
163
|
-
return h(Host, { key: '
|
|
188
|
+
return (h(Host, { key: 'cac92777297029d7fd1b6af264d92850e35dfbba', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), h("div", { key: '6b5c634dba30d54eedc031b077863f3d6a9d9e9b', class: "radio-group-wrapper" }, h("slot", { key: '443edb3ff6f4c59d4c4324c8a19f2d6def47a322' }))));
|
|
164
189
|
}
|
|
165
190
|
static get is() { return "ion-radio-group"; }
|
|
191
|
+
static get originalStyleUrls() {
|
|
192
|
+
return {
|
|
193
|
+
"ios": ["radio-group.ios.scss"],
|
|
194
|
+
"md": ["radio-group.md.scss"]
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
static get styleUrls() {
|
|
198
|
+
return {
|
|
199
|
+
"ios": ["radio-group.ios.css"],
|
|
200
|
+
"md": ["radio-group.md.css"]
|
|
201
|
+
};
|
|
202
|
+
}
|
|
166
203
|
static get properties() {
|
|
167
204
|
return {
|
|
168
205
|
"allowEmptySelection": {
|
|
@@ -240,6 +277,40 @@ export class RadioGroup {
|
|
|
240
277
|
},
|
|
241
278
|
"attribute": "value",
|
|
242
279
|
"reflect": false
|
|
280
|
+
},
|
|
281
|
+
"helperText": {
|
|
282
|
+
"type": "string",
|
|
283
|
+
"mutable": false,
|
|
284
|
+
"complexType": {
|
|
285
|
+
"original": "string",
|
|
286
|
+
"resolved": "string | undefined",
|
|
287
|
+
"references": {}
|
|
288
|
+
},
|
|
289
|
+
"required": false,
|
|
290
|
+
"optional": true,
|
|
291
|
+
"docs": {
|
|
292
|
+
"tags": [],
|
|
293
|
+
"text": "The helper text to display at the top of the radio group."
|
|
294
|
+
},
|
|
295
|
+
"attribute": "helper-text",
|
|
296
|
+
"reflect": false
|
|
297
|
+
},
|
|
298
|
+
"errorText": {
|
|
299
|
+
"type": "string",
|
|
300
|
+
"mutable": false,
|
|
301
|
+
"complexType": {
|
|
302
|
+
"original": "string",
|
|
303
|
+
"resolved": "string | undefined",
|
|
304
|
+
"references": {}
|
|
305
|
+
},
|
|
306
|
+
"required": false,
|
|
307
|
+
"optional": true,
|
|
308
|
+
"docs": {
|
|
309
|
+
"tags": [],
|
|
310
|
+
"text": "The error text to display at the top of the radio group."
|
|
311
|
+
},
|
|
312
|
+
"attribute": "error-text",
|
|
313
|
+
"reflect": false
|
|
243
314
|
}
|
|
244
315
|
};
|
|
245
316
|
}
|