@ionic/core 8.8.14-dev.11784216165.1ecbf364 → 8.8.14-dev.11784222473.142aed23
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/index.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-datetime-button.js +1 -1
- package/components/ion-datetime.js +1 -1
- package/components/ion-fab-button.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-picker-legacy-column.d.ts +11 -0
- package/components/ion-picker-legacy-column.js +4 -0
- package/components/ion-picker-legacy.d.ts +11 -0
- package/components/ion-picker-legacy.js +4 -0
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio.js +1 -1
- package/components/ion-range.js +1 -1
- 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-ripple-effect.js +1 -1
- package/components/ion-router-link.js +1 -1
- package/components/ion-router-outlet.js +1 -1
- package/components/ion-router.js +1 -1
- package/components/ion-row.js +1 -1
- package/components/ion-searchbar.js +1 -1
- package/components/ion-segment-button.js +1 -1
- package/components/ion-segment-content.js +1 -1
- package/components/ion-segment-view.js +1 -1
- package/components/ion-segment.js +1 -1
- package/components/ion-select-modal.js +1 -1
- package/components/ion-select-option.js +1 -1
- package/components/ion-select-popover.js +1 -1
- package/components/ion-select.js +1 -1
- package/components/ion-skeleton-text.js +1 -1
- package/components/ion-spinner.js +1 -1
- package/components/ion-split-pane.js +1 -1
- package/components/ion-tab-bar.js +1 -1
- package/components/ion-tab-button.js +1 -1
- package/components/ion-tab.js +1 -1
- package/components/ion-tabs.js +1 -1
- package/components/ion-text.js +1 -1
- package/components/ion-textarea.js +1 -1
- package/components/ion-thumbnail.js +1 -1
- package/components/ion-title.js +1 -1
- package/components/ion-toast.js +1 -1
- package/components/ion-toggle.js +1 -1
- package/components/ion-toolbar.js +1 -1
- package/components/p-3hGiN2uq.js +4 -0
- package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
- package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
- package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
- package/components/p-BIPPbW0M.js +4 -0
- package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
- package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
- package/components/p-BUYFy35a.js +4 -0
- package/components/p-BWEZufiK.js +4 -0
- package/components/p-BqpciLfi.js +4 -0
- package/components/p-BsQPAqo9.js +4 -0
- package/components/p-CU5rbWAW.js +4 -0
- package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
- package/components/p-k_E4tX5Z.js +4 -0
- package/components/p-nyXeHk23.js +4 -0
- package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
- package/dist/cjs/config-xninhj0J.js +201 -0
- package/dist/cjs/index.cjs.js +6 -6
- package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
- package/dist/cjs/ion-alert.cjs.entry.js +25 -64
- package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
- package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
- package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +639 -1
- package/dist/cjs/ion-img.cjs.entry.js +1 -3
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
- package/dist/cjs/ion-input.cjs.entry.js +4 -4
- package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +5 -10
- package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
- package/dist/cjs/ion-modal.cjs.entry.js +18 -23
- package/dist/cjs/ion-nav_2.cjs.entry.js +115 -2
- package/dist/cjs/ion-popover.cjs.entry.js +5 -9
- package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-range.cjs.entry.js +3 -3
- package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
- 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 +4 -18
- package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
- 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 +30 -84
- package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
- 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 +5 -6
- 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/cjs/{overlays-DSmSrd_4.js → overlays-DdtIYQUH.js} +31 -27
- package/dist/collection/collection-manifest.json +10 -6
- package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
- package/dist/collection/components/action-sheet/action-sheet.js +5 -24
- package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
- package/dist/collection/components/alert/alert.ios.css +10 -280
- package/dist/collection/components/alert/alert.js +21 -59
- package/dist/collection/components/alert/alert.md.css +20 -269
- package/dist/collection/components/img/img.js +1 -6
- package/dist/collection/components/input/input.js +8 -8
- package/dist/collection/components/loading/loading.js +3 -7
- package/dist/collection/components/modal/modal.ios.css +8 -0
- package/dist/collection/components/modal/modal.js +18 -23
- package/dist/collection/components/modal/modal.md.css +8 -0
- package/dist/collection/components/nav/nav.js +219 -4
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
- package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
- package/dist/collection/components/picker-legacy/picker.js +890 -0
- package/dist/collection/components/picker-legacy/picker.md.css +287 -0
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
- package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
- package/dist/collection/components/popover/popover.ios.css +0 -15
- package/dist/collection/components/popover/popover.js +3 -7
- package/dist/collection/components/popover/popover.md.css +0 -15
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/radio/radio.js +4 -4
- 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/route/route.js +1 -1
- package/dist/collection/components/router/utils/dom.js +3 -22
- package/dist/collection/components/router-link/router-link.js +2 -2
- package/dist/collection/components/router-outlet/router-outlet.js +5 -38
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +9 -9
- 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 +0 -33
- package/dist/collection/components/select/select.js +16 -323
- package/dist/collection/components/select/select.md.css +0 -33
- package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
- package/dist/collection/components/select-modal/select-modal.js +26 -79
- package/dist/collection/components/select-modal/select-modal.md.css +0 -165
- package/dist/collection/components/select-option/select-option.js +3 -67
- package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
- package/dist/collection/components/select-popover/select-popover.js +26 -78
- package/dist/collection/components/select-popover/select-popover.md.css +0 -165
- 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/collection/index.js +1 -1
- package/dist/collection/utils/overlays.js +30 -26
- package/dist/collection/utils/sanitization/index.js +18 -274
- package/dist/docs.json +1189 -497
- package/dist/esm/config-DQCONYYp.js +195 -0
- package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/ion-accordion_2.entry.js +1 -1
- package/dist/esm/ion-action-sheet.entry.js +7 -27
- package/dist/esm/ion-alert.entry.js +24 -63
- package/dist/esm/ion-app_8.entry.js +9 -23
- package/dist/esm/ion-avatar_3.entry.js +1 -1
- package/dist/esm/ion-back-button.entry.js +1 -1
- package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ion-col_3.entry.js +1 -1
- package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +641 -5
- package/dist/esm/ion-fab_3.entry.js +1 -1
- package/dist/esm/ion-img.entry.js +2 -4
- package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
- package/dist/esm/ion-input-password-toggle.entry.js +1 -1
- package/dist/esm/ion-input.entry.js +5 -5
- package/dist/esm/ion-item_8.entry.js +3 -3
- package/dist/esm/ion-loading.entry.js +4 -9
- package/dist/esm/ion-menu_3.entry.js +2 -2
- package/dist/esm/ion-modal.entry.js +18 -23
- package/dist/esm/ion-nav_2.entry.js +116 -3
- package/dist/esm/ion-popover.entry.js +5 -9
- package/dist/esm/ion-progress-bar.entry.js +1 -1
- package/dist/esm/ion-radio_2.entry.js +3 -3
- package/dist/esm/ion-range.entry.js +3 -3
- package/dist/esm/ion-refresher_2.entry.js +4 -5
- package/dist/esm/ion-reorder_2.entry.js +3 -3
- package/dist/esm/ion-ripple-effect.entry.js +1 -1
- package/dist/esm/ion-route_4.entry.js +4 -18
- package/dist/esm/ion-searchbar.entry.js +6 -6
- 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 +30 -84
- package/dist/esm/ion-select_3.entry.js +52 -410
- 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 +4 -5
- package/dist/esm/ion-toggle.entry.js +4 -4
- package/dist/esm/ionic.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{overlays-DLNOHWNc.js → overlays-Dg0q2_tJ.js} +32 -28
- package/dist/html.html-data.json +80 -52
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-01f81ea5.entry.js +4 -0
- package/dist/ionic/p-0cc11f99.entry.js +4 -0
- package/dist/ionic/p-0dc33652.entry.js +4 -0
- package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
- package/dist/ionic/p-20b1a044.entry.js +4 -0
- package/dist/ionic/p-21eb76d5.entry.js +4 -0
- package/dist/ionic/p-27d30585.entry.js +4 -0
- package/dist/ionic/p-2a05aa64.entry.js +4 -0
- package/dist/ionic/p-2bb2cb18.entry.js +4 -0
- package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
- package/dist/ionic/{p-c93553d2.entry.js → p-34586ead.entry.js} +1 -1
- package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
- package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
- package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
- package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
- package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
- package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
- package/dist/ionic/p-485fda23.entry.js +4 -0
- package/dist/ionic/p-4baa5b82.entry.js +4 -0
- package/dist/ionic/p-5018dfc8.entry.js +4 -0
- package/dist/ionic/p-50e1194a.entry.js +4 -0
- package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
- package/dist/ionic/p-5eb8e86d.entry.js +4 -0
- package/dist/ionic/p-65ebdf1b.entry.js +4 -0
- package/dist/ionic/p-6ebdbebe.entry.js +4 -0
- package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
- package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
- package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
- package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
- package/dist/ionic/p-8fce95d5.entry.js +4 -0
- package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
- package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
- package/dist/ionic/p-9f9db3a2.entry.js +4 -0
- package/dist/ionic/p-D-3ycHmd.js +4 -0
- package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
- package/dist/ionic/p-DzWaWHGc.js +4 -0
- package/dist/ionic/p-a21add2f.entry.js +4 -0
- package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
- package/dist/ionic/p-ca2ab74d.entry.js +4 -0
- package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
- package/dist/ionic/p-ec090e0a.entry.js +4 -0
- package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
- package/dist/ionic/p-f386f6ae.entry.js +4 -0
- package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
- package/dist/types/components/img/img.d.ts +0 -2
- package/dist/types/components/input/input.d.ts +1 -1
- package/dist/types/components/modal/modal.d.ts +4 -11
- package/dist/types/components/nav/nav-interface.d.ts +1 -0
- package/dist/types/components/nav/nav.d.ts +22 -2
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
- package/dist/types/components/picker-legacy/picker.d.ts +158 -0
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +0 -31
- package/dist/types/components/select/select.d.ts +0 -18
- package/dist/types/components/select-option/select-option.d.ts +1 -42
- package/dist/types/components.d.ts +303 -74
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +1 -0
- package/dist/types/utils/config.d.ts +8 -0
- package/dist/types/utils/overlays.d.ts +9 -11
- package/dist/types/utils/sanitization/index.d.ts +2 -58
- package/hydrate/index.js +1268 -1400
- package/hydrate/index.mjs +1268 -1400
- package/package.json +5 -37
- package/components/p-279dFMvg.js +0 -4
- package/components/p-BSQPZ79H.js +0 -4
- package/components/p-BwKpO3Is.js +0 -4
- package/components/p-C-Rx1zny.js +0 -4
- package/components/p-CHzfYZbv.js +0 -4
- package/components/p-D4h1H_hh.js +0 -4
- package/components/p-LMGfIvTf.js +0 -4
- package/components/p-_lHSumhG.js +0 -4
- package/components/p-j9Da6cYO.js +0 -4
- package/components/p-jOtMJMv8.js +0 -4
- package/components/p-uTR_dEqg.js +0 -4
- package/dist/cjs/config-DWdFbSNK.js +0 -35
- package/dist/cjs/index-Cueg3U4w.js +0 -429
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
- package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
- package/dist/collection/utils/overlay-control-label.js +0 -45
- package/dist/collection/utils/select-option-render.js +0 -119
- package/dist/esm/config-BwKpO3Is.js +0 -31
- package/dist/esm/index-DQSkZyOJ.js +0 -424
- package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
- package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
- package/dist/ionic/p-038eb991.entry.js +0 -4
- package/dist/ionic/p-4621c387.entry.js +0 -4
- package/dist/ionic/p-4ace7762.entry.js +0 -4
- package/dist/ionic/p-4bb3eb60.entry.js +0 -4
- package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
- package/dist/ionic/p-5c3ec490.entry.js +0 -4
- package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
- package/dist/ionic/p-700795f6.entry.js +0 -4
- package/dist/ionic/p-79a36078.entry.js +0 -4
- package/dist/ionic/p-913b218a.entry.js +0 -4
- package/dist/ionic/p-BDtODLZ4.js +0 -4
- package/dist/ionic/p-BSQPZ79H.js +0 -4
- package/dist/ionic/p-BwKpO3Is.js +0 -4
- package/dist/ionic/p-Cg5-OQYy.js +0 -4
- package/dist/ionic/p-DCOvXkOm.js +0 -4
- package/dist/ionic/p-a18dcb3c.entry.js +0 -4
- package/dist/ionic/p-a9a33367.entry.js +0 -4
- package/dist/ionic/p-ad728198.entry.js +0 -4
- package/dist/ionic/p-bfc8c629.entry.js +0 -4
- package/dist/ionic/p-c08e666a.entry.js +0 -4
- package/dist/ionic/p-c474f471.entry.js +0 -4
- package/dist/ionic/p-ce7992c4.entry.js +0 -4
- package/dist/ionic/p-ed797c72.entry.js +0 -4
- package/dist/ionic/p-f09f9642.entry.js +0 -4
- package/dist/ionic/p-f1c06f82.entry.js +0 -4
- package/dist/ionic/p-f718fccb.entry.js +0 -4
- package/dist/types/utils/overlay-control-label.d.ts +0 -32
- package/dist/types/utils/select-option-render.d.ts +0 -53
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import{r as t,c as i,e as s,f as e,h as n,g as o,d as r}from"./p-tcQvqkiX.js";import{g as a}from"./p-hHmYLOfE.js";import{s as h,l as c}from"./p-DIuEbVLu.js";import{l,t as d,s as u,d as v,b as f,c as m}from"./p-VAemlbDS.js";import{b as p}from"./p-Nqf6uvGh.js";import{a as w}from"./p-CFlfIb2g.js";class b{constructor(t,i){this.component=t,this.params=i,this.state=1}async init(t){if(this.state=2,!this.element){const i=this.component;this.element=await w(this.delegate,t,i,["ion-page","ion-page-invisible"],this.params)}}_destroy(){c(3!==this.state,"view state must be ATTACHED");const t=this.element;t&&(this.delegate?this.delegate.removeViewFromDom(t.parentElement,t):t.remove()),this.nav=void 0,this.state=3}}const g=(t,i,s)=>!!t&&t.component===i&&h(t.params,s),y=(t,i)=>t?t instanceof b?t:new b(t,i):null,k=class{constructor(s){t(this,s),this.ionNavWillLoad=i(this,"ionNavWillLoad",7),this.ionNavWillChange=i(this,"ionNavWillChange",3),this.ionNavDidChange=i(this,"ionNavDidChange",3),this.transInstr=[],this.gestureOrAnimationInProgress=!1,this.useRouter=!1,this.isTransitioning=!1,this.destroyed=!1,this.views=[],this.didLoad=!1,this.animated=!0}swipeGestureChanged(){this.gesture&&this.gesture.enable(!0===this.swipeGesture)}rootChanged(){void 0!==this.root&&!1!==this.didLoad&&(this.useRouter||void 0!==this.root&&this.setRoot(this.root,this.rootParams))}componentWillLoad(){if(this.useRouter=null!==document.querySelector("ion-router")&&null===this.el.closest("[no-router]"),void 0===this.swipeGesture){const t=p(this);this.swipeGesture=s.getBoolean("swipeBackEnabled","ios"===t)}this.ionNavWillLoad.emit()}async componentDidLoad(){this.didLoad=!0,this.rootChanged(),this.gesture=(await import("./p-D4uTWt4-.js")).createSwipeBackGesture(this.el,this.canStart.bind(this),this.onStart.bind(this),this.onMove.bind(this),this.onEnd.bind(this)),this.swipeGestureChanged()}connectedCallback(){this.destroyed=!1}disconnectedCallback(){for(const t of this.views)l(t.element,v),t._destroy();this.gesture&&(this.gesture.destroy(),this.gesture=void 0),this.transInstr.length=0,this.views.length=0,this.destroyed=!0}push(t,i,s,e){return this.insert(-1,t,i,s,e)}insert(t,i,s,e,n){return this.insertPages(t,[{component:i,componentProps:s}],e,n)}insertPages(t,i,s,e){return this.queueTrns({insertStart:t,insertViews:i,opts:s},e)}pop(t,i){return this.removeIndex(-1,1,t,i)}popTo(t,i,s){const e={removeStart:-1,removeCount:-1,opts:i};return"object"==typeof t&&t.component?(e.removeView=t,e.removeStart=1):"number"==typeof t&&(e.removeStart=t+1),this.queueTrns(e,s)}popToRoot(t,i){return this.removeIndex(1,-1,t,i)}removeIndex(t,i=1,s,e){return this.queueTrns({removeStart:t,removeCount:i,opts:s},e)}setRoot(t,i,s,e){return this.setPages([{component:t,componentProps:i}],s,e)}setPages(t,i,s){return null!=i||(i={}),!0!==i.animated&&(i.animated=!1),this.queueTrns({insertStart:0,insertViews:t,removeStart:0,removeCount:-1,opts:i},s)}setRouteId(t,i,s,e){const n=this.getActiveSync();if(g(n,t,i))return Promise.resolve({changed:!1,element:n.element});let o;const r=new Promise((t=>o=t));let a;const h={updateURL:!1,viewIsReady:t=>{let i;const s=new Promise((t=>i=t));return o({changed:!0,element:t,markVisible:async()=>{i(),await a}}),s}};if("root"===s)a=this.setRoot(t,i,h);else{const n=this.views.find((s=>g(s,t,i)));n?a=this.popTo(n,Object.assign(Object.assign({},h),{direction:"back",animationBuilder:e})):"forward"===s?a=this.push(t,i,Object.assign(Object.assign({},h),{animationBuilder:e})):"back"===s&&(a=this.setRoot(t,i,Object.assign(Object.assign({},h),{direction:"back",animated:!0,animationBuilder:e})))}return r}async getRouteId(){const t=this.getActiveSync();if(t)return{id:t.element.tagName,params:t.params,element:t.element}}async getActive(){return this.getActiveSync()}async getByIndex(t){return this.views[t]}async canGoBack(t){return this.canGoBackSync(t)}async getPrevious(t){return this.getPreviousSync(t)}async getLength(){return Promise.resolve(this.views.length)}getActiveSync(){return this.views[this.views.length-1]}canGoBackSync(t=this.getActiveSync()){return!(!t||!this.getPreviousSync(t))}getPreviousSync(t=this.getActiveSync()){if(!t)return;const i=this.views,s=i.indexOf(t);return s>0?i[s-1]:void 0}async queueTrns(t,i){var s,e;if(this.isTransitioning&&(null===(s=t.opts)||void 0===s?void 0:s.skipIfBusy))return!1;const n=new Promise(((i,s)=>{t.resolve=i,t.reject=s}));if(t.done=i,t.opts&&!1!==t.opts.updateURL&&this.useRouter){const i=document.querySelector("ion-router");if(i){const s=await i.canTransition();if(!1===s)return!1;if("string"==typeof s)return i.push(s,t.opts.direction||"back"),!1}}return 0===(null===(e=t.insertViews)||void 0===e?void 0:e.length)&&(t.insertViews=void 0),this.transInstr.push(t),this.nextTrns(),n}success(t,i){if(this.destroyed)this.fireError("nav controller was destroyed",i);else if(i.done&&i.done(t.hasCompleted,t.requiresTransition,t.enteringView,t.leavingView,t.direction),i.resolve(t.hasCompleted),!1!==i.opts.updateURL&&this.useRouter){const i=document.querySelector("ion-router");i&&i.navChanged("back"===t.direction?"back":"forward")}}failed(t,i){this.destroyed?this.fireError("nav controller was destroyed",i):(this.transInstr.length=0,this.fireError(t,i))}fireError(t,i){i.done&&i.done(!1,!1,t),i.reject&&!this.destroyed?i.reject(t):i.resolve(!1)}nextTrns(){if(this.isTransitioning)return!1;const t=this.transInstr.shift();return!!t&&(this.runTransition(t),!0)}async runTransition(t){try{this.ionNavWillChange.emit(),this.isTransitioning=!0,this.prepareTI(t);const i=this.getActiveSync(),s=this.getEnteringView(t,i);if(!i&&!s)throw new Error("no views in the stack to be removed");s&&1===s.state&&await s.init(this.el),this.postViewInit(s,i,t);const e=(t.enteringRequiresTransition||t.leavingRequiresTransition)&&s!==i;let n;e&&t.opts&&i&&("back"===t.opts.direction&&(t.opts.animationBuilder=t.opts.animationBuilder||(null==s?void 0:s.animationBuilder)),i.animationBuilder=t.opts.animationBuilder),n=e?await this.transition(s,i,t):{hasCompleted:!0,requiresTransition:!1},this.success(n,t),this.ionNavDidChange.emit()}catch(i){this.failed(i,t)}this.isTransitioning=!1,this.nextTrns()}prepareTI(t){var i,s,e;const n=this.views.length;if(null!==(i=t.opts)&&void 0!==i||(t.opts={}),null!==(s=(e=t.opts).delegate)&&void 0!==s||(e.delegate=this.delegate),void 0!==t.removeView){c(void 0!==t.removeStart,"removeView needs removeStart"),c(void 0!==t.removeCount,"removeView needs removeCount");const i=this.views.indexOf(t.removeView);if(i<0)throw new Error("removeView was not found");t.removeStart+=i}void 0!==t.removeStart&&(t.removeStart<0&&(t.removeStart=n-1),t.removeCount<0&&(t.removeCount=n-t.removeStart),t.leavingRequiresTransition=t.removeCount>0&&t.removeStart+t.removeCount===n),t.insertViews&&((t.insertStart<0||t.insertStart>n)&&(t.insertStart=n),t.enteringRequiresTransition=t.insertStart===n);const o=t.insertViews;if(!o)return;c(o.length>0,"length can not be zero");const r=o.map((t=>t instanceof b?t:"component"in t?y(t.component,null===t.componentProps?void 0:t.componentProps):y(t,void 0))).filter((t=>null!==t));if(0===r.length)throw new Error("invalid views to insert");for(const i of r){i.delegate=t.opts.delegate;const s=i.nav;if(s&&s!==this)throw new Error("inserted view was already inserted");if(3===i.state)throw new Error("inserted view was already destroyed")}t.insertViews=r}getEnteringView(t,i){const s=t.insertViews;if(void 0!==s)return s[s.length-1];const e=t.removeStart;if(void 0!==e){const s=this.views,n=e+t.removeCount;for(let t=s.length-1;t>=0;t--){const o=s[t];if((t<e||t>=n)&&o!==i)return o}}}postViewInit(t,i,s){var n,o,r;c(i||t,"Both leavingView and enteringView are null"),c(s.resolve,"resolve must be valid"),c(s.reject,"reject must be valid");const a=s.opts,{insertViews:h,removeStart:d,removeCount:u}=s;let p;if(void 0!==d&&void 0!==u){c(d>=0,"removeStart can not be negative"),c(u>=0,"removeCount can not be negative"),p=[];for(let s=d;s<d+u;s++){const e=this.views[s];void 0!==e&&e!==t&&e!==i&&p.push(e)}null!==(n=a.direction)&&void 0!==n||(a.direction="back")}const w=this.views.length+(null!==(o=null==h?void 0:h.length)&&void 0!==o?o:0)-(null!=u?u:0);if(c(w>=0,"final balance can not be negative"),0===w)throw e("[ion-nav] - You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.",this,this.el),new Error("navigation stack needs at least one root page");if(h){let t=s.insertStart;for(const i of h)this.insertViewAt(i,t),t++;s.enteringRequiresTransition&&(null!==(r=a.direction)&&void 0!==r||(a.direction="forward"))}if(p&&p.length>0){for(const t of p)l(t.element,f),l(t.element,m),l(t.element,v);for(const t of p)this.destroyView(t)}}async transition(t,i,e){const n=e.opts,o=n.progressAnimation?t=>{void 0===t||this.gestureOrAnimationInProgress?this.sbAni=t:(this.gestureOrAnimationInProgress=!0,t.onFinish((()=>{this.gestureOrAnimationInProgress=!1}),{oneTimeCallback:!0}),t.progressEnd(0,0,0))}:void 0,r=p(this),a=t.element,h=i&&i.element,c=Object.assign(Object.assign({mode:r,showGoBack:this.canGoBackSync(t),baseEl:this.el,progressCallback:o,animated:this.animated&&s.getBoolean("animated",!0),enteringEl:a,leavingEl:h},n),{animationBuilder:n.animationBuilder||this.animation||s.get("navAnimation")}),{hasCompleted:l}=await d(c);return this.transitionFinish(l,t,i,n)}transitionFinish(t,i,s,e){const n=t?i:s;return n&&this.unmountInactiveViews(n),{hasCompleted:t,requiresTransition:!0,enteringView:i,leavingView:s,direction:e.direction}}insertViewAt(t,i){const s=this.views,e=s.indexOf(t);e>-1?(c(t.nav===this,"view is not part of the nav"),s.splice(e,1),s.splice(i,0,t)):(c(!t.nav,"nav is used"),t.nav=this,s.splice(i,0,t))}removeView(t){c(2===t.state||3===t.state,"view state should be loaded or destroyed");const i=this.views,s=i.indexOf(t);c(s>-1,"view must be part of the stack"),s>=0&&i.splice(s,1)}destroyView(t){t._destroy(),this.removeView(t)}unmountInactiveViews(t){if(this.destroyed)return;const i=this.views,s=i.indexOf(t);for(let t=i.length-1;t>=0;t--){const e=i[t],n=e.element;n&&(t>s?(l(n,v),this.destroyView(e)):t<s&&u(n,!0))}}canStart(){return!this.gestureOrAnimationInProgress&&!!this.swipeGesture&&!this.isTransitioning&&0===this.transInstr.length&&this.canGoBackSync()}onStart(){this.gestureOrAnimationInProgress=!0,this.pop({direction:"back",progressAnimation:!0})}onMove(t){this.sbAni&&this.sbAni.progressStep(t)}onEnd(t,i,s){if(this.sbAni){this.sbAni.onFinish((()=>{this.gestureOrAnimationInProgress=!1}),{oneTimeCallback:!0});let e=t?-.001:.001;t?e+=a([0,0],[.32,.72],[0,1],[1,1],i)[0]:(this.sbAni.easing("cubic-bezier(1, 0, 0.68, 0.28)"),e+=a([0,0],[1,0],[.68,.28],[1,1],i)[0]),this.sbAni.progressEnd(t?1:0,e,s)}else this.gestureOrAnimationInProgress=!1}render(){return n("slot",{key:"a549286b51b1bb23c9ef51f71148452228d0ab14"})}get el(){return o(this)}static get watchers(){return{swipeGesture:[{swipeGestureChanged:0}],root:[{rootChanged:0}]}}};k.style=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";const C=class{constructor(i){t(this,i),this.routerDirection="forward",this.onClick=()=>((t,i,s,e,n)=>{const o=this.el.closest("ion-nav");if(o)if("forward"===i){if(void 0!==s)return o.push(s,e,{skipIfBusy:!0,animationBuilder:n})}else if("root"===i){if(void 0!==s)return o.setRoot(s,e,{skipIfBusy:!0,animationBuilder:n})}else if("back"===i)return o.pop({skipIfBusy:!0,animationBuilder:n});return Promise.resolve(!1)})(0,this.routerDirection,this.component,this.componentProps,this.routerAnimation)}render(){return n(r,{key:"d4d80feb51c0d92b0bedf6952c892f9df3002046",onClick:this.onClick})}get el(){return o(this)}};export{k as ion_nav,C as ion_nav_link}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
3
|
*/
|
|
4
|
-
import{r as t,j as i,h as s,d as e,g as a,c as o}from"./p-tcQvqkiX.js";import{a as n}from"./p-CFlfIb2g.js";import"./p-DIuEbVLu.js";const h=class{constructor(i){t(this,i),this.loaded=!1,this.active=!1}async componentWillLoad(){this.active&&await this.setActive()}async setActive(){await this.prepareLazyLoaded(),this.active=!0}changeActive(t){t&&this.prepareLazyLoaded()}prepareLazyLoaded(){if(!this.loaded&&null!=this.component){this.loaded=!0;try{return n(this.delegate,this.el,this.component,["ion-page"])}catch(t){i("[ion-tab] - Exception in prepareLazyLoaded:",t)}}return Promise.resolve(void 0)}render(){const{tab:t,active:i,component:a}=this;return s(e,{key:"
|
|
4
|
+
import{r as t,j as i,h as s,d as e,g as a,c as o}from"./p-tcQvqkiX.js";import{a as n}from"./p-CFlfIb2g.js";import"./p-DIuEbVLu.js";const h=class{constructor(i){t(this,i),this.loaded=!1,this.active=!1}async componentWillLoad(){this.active&&await this.setActive()}async setActive(){await this.prepareLazyLoaded(),this.active=!0}changeActive(t){t&&this.prepareLazyLoaded()}prepareLazyLoaded(){if(!this.loaded&&null!=this.component){this.loaded=!0;try{return n(this.delegate,this.el,this.component,["ion-page"])}catch(t){i("[ion-tab] - Exception in prepareLazyLoaded:",t)}}return Promise.resolve(void 0)}render(){const{tab:t,active:i,component:a}=this;return s(e,{key:"fbd837bad7a0632336d46a597ace23673b153e48",role:"tabpanel","aria-hidden":i?null:"true","aria-labelledby":`tab-button-${t}`,class:{"ion-page":void 0===a,"tab-hidden":!i}},s("slot",{key:"35c218169fda826c9c1337558e0278d0c7f5f26a"}))}get el(){return a(this)}static get watchers(){return{active:[{changeActive:0}]}}};h.style=":host(.tab-hidden){display:none !important}";const r=class{constructor(i){t(this,i),this.ionNavWillLoad=o(this,"ionNavWillLoad",7),this.ionTabsWillChange=o(this,"ionTabsWillChange",3),this.ionTabsDidChange=o(this,"ionTabsDidChange",3),this.transitioning=!1,this.useRouter=!1,this.onTabClicked=t=>{const{href:i,tab:s}=t.detail;if(this.useRouter&&void 0!==i){const t=document.querySelector("ion-router");t&&t.push(i)}else this.select(s)}}async componentWillLoad(){if(this.useRouter||(this.useRouter=!(!this.el.querySelector("ion-router-outlet")&&!document.querySelector("ion-router")||this.el.closest("[no-router]"))),!this.useRouter){const t=this.tabs;t.length>0&&await this.select(t[0])}this.ionNavWillLoad.emit()}componentDidLoad(){this.updateTabBar()}componentDidUpdate(){this.updateTabBar()}updateTabBar(){const t=this.el.querySelector("ion-tab-bar");if(!t)return;const i=this.selectedTab?this.selectedTab.tab:void 0;void 0!==i&&t.selectedTab!==i&&(t.selectedTab=i)}async select(t){const i=c(this.tabs,t);return!!this.shouldSwitch(i)&&(await this.setActive(i),await this.notifyRouter(),this.tabSwitch(),!0)}async getTab(t){return c(this.tabs,t)}getSelected(){return Promise.resolve(this.selectedTab?this.selectedTab.tab:void 0)}async setRouteId(t){const i=c(this.tabs,t);return this.shouldSwitch(i)?(await this.setActive(i),{changed:!0,element:this.selectedTab,markVisible:()=>this.tabSwitch()}):{changed:!1,element:this.selectedTab}}async getRouteId(){var t;const i=null===(t=this.selectedTab)||void 0===t?void 0:t.tab;return void 0!==i?{id:i,element:this.selectedTab}:void 0}setActive(t){return this.transitioning?Promise.reject("transitioning already happening"):(this.transitioning=!0,this.leavingTab=this.selectedTab,this.selectedTab=t,this.ionTabsWillChange.emit({tab:t.tab}),t.active=!0,this.updateTabBar(),Promise.resolve())}tabSwitch(){const t=this.selectedTab,i=this.leavingTab;this.leavingTab=void 0,this.transitioning=!1,t&&i!==t&&(i&&(i.active=!1),this.ionTabsDidChange.emit({tab:t.tab}))}notifyRouter(){if(this.useRouter){const t=document.querySelector("ion-router");if(t)return t.navChanged("forward")}return Promise.resolve(!1)}shouldSwitch(t){return void 0!==t&&t!==this.selectedTab&&!this.transitioning}get tabs(){return Array.from(this.el.querySelectorAll("ion-tab"))}render(){return s(e,{key:"c7131135b31aa312dc0207602561e1c0f4ac3e53",onIonTabButtonClick:this.onTabClicked},s("slot",{key:"6c46e91c0389bbcea1f15f35cf3ea513a74ac545",name:"top"}),s("div",{key:"4f1b649d8bb60b61402b97359de204979c5eda52",class:"tabs-inner"},s("slot",{key:"8d1ef4952be4fb33567376e1083ea4da697fcae0"})),s("slot",{key:"260b8da8031494e9cb4635b3d22c49a433042db1",name:"bottom"}))}get el(){return a(this)}},c=(t,s)=>{const e="string"==typeof s?t.find((t=>t.tab===s)):s;return e||i(`[ion-tabs] - Tab with id: "${e}" does not exist`),e};r.style=":host{left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;-ms-flex:1;flex:1;contain:layout size style}";export{h as ion_tab,r as ion_tabs}
|
|
@@ -64,7 +64,7 @@ export declare class Input implements ComponentInterface {
|
|
|
64
64
|
/**
|
|
65
65
|
* Whether auto correction should be enabled when the user is entering/editing the text value.
|
|
66
66
|
*/
|
|
67
|
-
autocorrect:
|
|
67
|
+
autocorrect: 'on' | 'off';
|
|
68
68
|
/**
|
|
69
69
|
* Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
|
|
70
70
|
*
|
|
@@ -112,18 +112,11 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
|
|
|
112
112
|
/**
|
|
113
113
|
* The interaction behavior for the sheet modal when the handle is pressed.
|
|
114
114
|
*
|
|
115
|
-
*
|
|
116
|
-
* `
|
|
117
|
-
* fullscreen or card modal).
|
|
115
|
+
* Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
|
|
116
|
+
* Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
|
|
118
117
|
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* operable with assistive technology.
|
|
122
|
-
*
|
|
123
|
-
* Set to `"none"` to make the handle purely decorative when pressed and
|
|
124
|
-
* removed from the tab order.
|
|
125
|
-
*
|
|
126
|
-
* Defaults to `"cycle"`.
|
|
118
|
+
* Handle behavior is unavailable when the `handle` property is set to `false` or
|
|
119
|
+
* when the `breakpoints` property is not set (using a fullscreen or card modal).
|
|
127
120
|
*/
|
|
128
121
|
handleBehavior?: ModalHandleBehavior;
|
|
129
122
|
/**
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import type { AnimationBuilder, ComponentProps, FrameworkDelegate } from '../../interface';
|
|
3
|
+
import type { NavOutlet, RouteID, RouteWrite, RouterDirection } from '../router/utils/interface';
|
|
3
4
|
import type { NavComponent, NavComponentWithProps, NavOptions, TransitionDoneFn } from './nav-interface';
|
|
4
5
|
import type { ViewController } from './view-controller';
|
|
5
|
-
export declare class Nav implements
|
|
6
|
+
export declare class Nav implements NavOutlet {
|
|
6
7
|
private transInstr;
|
|
7
8
|
private sbAni?;
|
|
8
9
|
private gestureOrAnimationInProgress;
|
|
10
|
+
private useRouter;
|
|
9
11
|
private isTransitioning;
|
|
10
12
|
private destroyed;
|
|
11
13
|
private views;
|
|
@@ -139,6 +141,24 @@ export declare class Nav implements ComponentInterface {
|
|
|
139
141
|
* @param done The transition complete function.
|
|
140
142
|
*/
|
|
141
143
|
setPages(views: NavComponent[] | NavComponentWithProps[], opts?: NavOptions | null, done?: TransitionDoneFn): Promise<boolean>;
|
|
144
|
+
/**
|
|
145
|
+
* Called by the router to update the view.
|
|
146
|
+
*
|
|
147
|
+
* @param id The component tag.
|
|
148
|
+
* @param params The component params.
|
|
149
|
+
* @param direction A direction hint.
|
|
150
|
+
* @param animation an AnimationBuilder.
|
|
151
|
+
*
|
|
152
|
+
* @return the status.
|
|
153
|
+
* @internal
|
|
154
|
+
*/
|
|
155
|
+
setRouteId(id: string, params: ComponentProps | undefined, direction: RouterDirection, animation?: AnimationBuilder): Promise<RouteWrite>;
|
|
156
|
+
/**
|
|
157
|
+
* Called by <ion-router> to retrieve the current component.
|
|
158
|
+
*
|
|
159
|
+
* @internal
|
|
160
|
+
*/
|
|
161
|
+
getRouteId(): Promise<RouteID | undefined>;
|
|
142
162
|
/**
|
|
143
163
|
* Get the active view.
|
|
144
164
|
*/
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { AnimationBuilder, Mode } from '../../interface';
|
|
2
|
+
export interface PickerOptions {
|
|
3
|
+
columns: PickerColumn[];
|
|
4
|
+
buttons?: PickerButton[];
|
|
5
|
+
cssClass?: string | string[];
|
|
6
|
+
showBackdrop?: boolean;
|
|
7
|
+
backdropDismiss?: boolean;
|
|
8
|
+
animated?: boolean;
|
|
9
|
+
mode?: Mode;
|
|
10
|
+
keyboardClose?: boolean;
|
|
11
|
+
id?: string;
|
|
12
|
+
htmlAttributes?: {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
enterAnimation?: AnimationBuilder;
|
|
16
|
+
leaveAnimation?: AnimationBuilder;
|
|
17
|
+
}
|
|
18
|
+
export interface PickerButton {
|
|
19
|
+
text?: string;
|
|
20
|
+
role?: string;
|
|
21
|
+
cssClass?: string | string[];
|
|
22
|
+
handler?: (value: any) => boolean | void;
|
|
23
|
+
}
|
|
24
|
+
export interface PickerColumn {
|
|
25
|
+
name: string;
|
|
26
|
+
align?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Changing this value allows the initial value of a picker column to be set.
|
|
29
|
+
*/
|
|
30
|
+
selectedIndex?: number;
|
|
31
|
+
prevSelected?: number;
|
|
32
|
+
prefix?: string;
|
|
33
|
+
suffix?: string;
|
|
34
|
+
options: PickerColumnOption[];
|
|
35
|
+
cssClass?: string | string[];
|
|
36
|
+
columnWidth?: string;
|
|
37
|
+
prefixWidth?: string;
|
|
38
|
+
suffixWidth?: string;
|
|
39
|
+
optionsWidth?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface PickerColumnOption {
|
|
42
|
+
text?: string;
|
|
43
|
+
value?: any;
|
|
44
|
+
disabled?: boolean;
|
|
45
|
+
duration?: number;
|
|
46
|
+
transform?: string;
|
|
47
|
+
selected?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The optional text to assign as the aria-label on the picker column option.
|
|
50
|
+
*/
|
|
51
|
+
ariaLabel?: string;
|
|
52
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { AnimationBuilder, OverlayInterface, FrameworkDelegate } from '../../interface';
|
|
3
|
+
import type { OverlayEventDetail } from '../../utils/overlays-interface';
|
|
4
|
+
import type { PickerButton, PickerColumn } from './picker-interface';
|
|
5
|
+
/**
|
|
6
|
+
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Picker implements ComponentInterface, OverlayInterface {
|
|
9
|
+
private readonly delegateController;
|
|
10
|
+
private readonly lockController;
|
|
11
|
+
private readonly triggerController;
|
|
12
|
+
private durationTimeout?;
|
|
13
|
+
lastFocus?: HTMLElement;
|
|
14
|
+
el: HTMLIonPickerLegacyElement;
|
|
15
|
+
presented: boolean;
|
|
16
|
+
/** @internal */
|
|
17
|
+
overlayIndex: number;
|
|
18
|
+
/** @internal */
|
|
19
|
+
delegate?: FrameworkDelegate;
|
|
20
|
+
/** @internal */
|
|
21
|
+
hasController: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
|
24
|
+
*/
|
|
25
|
+
keyboardClose: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Animation to use when the picker is presented.
|
|
28
|
+
*/
|
|
29
|
+
enterAnimation?: AnimationBuilder;
|
|
30
|
+
/**
|
|
31
|
+
* Animation to use when the picker is dismissed.
|
|
32
|
+
*/
|
|
33
|
+
leaveAnimation?: AnimationBuilder;
|
|
34
|
+
/**
|
|
35
|
+
* Array of buttons to be displayed at the top of the picker.
|
|
36
|
+
*/
|
|
37
|
+
buttons: PickerButton[];
|
|
38
|
+
/**
|
|
39
|
+
* Array of columns to be displayed in the picker.
|
|
40
|
+
*/
|
|
41
|
+
columns: PickerColumn[];
|
|
42
|
+
/**
|
|
43
|
+
* Additional classes to apply for custom CSS. If multiple classes are
|
|
44
|
+
* provided they should be separated by spaces.
|
|
45
|
+
*/
|
|
46
|
+
cssClass?: string | string[];
|
|
47
|
+
/**
|
|
48
|
+
* Number of milliseconds to wait before dismissing the picker.
|
|
49
|
+
*/
|
|
50
|
+
duration: number;
|
|
51
|
+
/**
|
|
52
|
+
* If `true`, a backdrop will be displayed behind the picker.
|
|
53
|
+
*/
|
|
54
|
+
showBackdrop: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* If `true`, the picker will be dismissed when the backdrop is clicked.
|
|
57
|
+
*/
|
|
58
|
+
backdropDismiss: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* If `true`, the picker will animate.
|
|
61
|
+
*/
|
|
62
|
+
animated: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Additional attributes to pass to the picker.
|
|
65
|
+
*/
|
|
66
|
+
htmlAttributes?: {
|
|
67
|
+
[key: string]: any;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* If `true`, the picker will open. If `false`, the picker will close.
|
|
71
|
+
* Use this if you need finer grained control over presentation, otherwise
|
|
72
|
+
* just use the pickerController or the `trigger` property.
|
|
73
|
+
* Note: `isOpen` will not automatically be set back to `false` when
|
|
74
|
+
* the picker dismisses. You will need to do that in your code.
|
|
75
|
+
*/
|
|
76
|
+
isOpen: boolean;
|
|
77
|
+
onIsOpenChange(newValue: boolean, oldValue: boolean): void;
|
|
78
|
+
/**
|
|
79
|
+
* An ID corresponding to the trigger element that
|
|
80
|
+
* causes the picker to open when clicked.
|
|
81
|
+
*/
|
|
82
|
+
trigger: string | undefined;
|
|
83
|
+
triggerChanged(): void;
|
|
84
|
+
/**
|
|
85
|
+
* Emitted after the picker has presented.
|
|
86
|
+
*/
|
|
87
|
+
didPresent: EventEmitter<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Emitted before the picker has presented.
|
|
90
|
+
*/
|
|
91
|
+
willPresent: EventEmitter<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Emitted before the picker has dismissed.
|
|
94
|
+
*/
|
|
95
|
+
willDismiss: EventEmitter<OverlayEventDetail>;
|
|
96
|
+
/**
|
|
97
|
+
* Emitted after the picker has dismissed.
|
|
98
|
+
*/
|
|
99
|
+
didDismiss: EventEmitter<OverlayEventDetail>;
|
|
100
|
+
/**
|
|
101
|
+
* Emitted after the picker has presented.
|
|
102
|
+
* Shorthand for ionPickerWillDismiss.
|
|
103
|
+
*/
|
|
104
|
+
didPresentShorthand: EventEmitter<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Emitted before the picker has presented.
|
|
107
|
+
* Shorthand for ionPickerWillPresent.
|
|
108
|
+
*/
|
|
109
|
+
willPresentShorthand: EventEmitter<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Emitted before the picker has dismissed.
|
|
112
|
+
* Shorthand for ionPickerWillDismiss.
|
|
113
|
+
*/
|
|
114
|
+
willDismissShorthand: EventEmitter<OverlayEventDetail>;
|
|
115
|
+
/**
|
|
116
|
+
* Emitted after the picker has dismissed.
|
|
117
|
+
* Shorthand for ionPickerDidDismiss.
|
|
118
|
+
*/
|
|
119
|
+
didDismissShorthand: EventEmitter<OverlayEventDetail>;
|
|
120
|
+
connectedCallback(): void;
|
|
121
|
+
disconnectedCallback(): void;
|
|
122
|
+
componentWillLoad(): void;
|
|
123
|
+
componentDidLoad(): void;
|
|
124
|
+
/**
|
|
125
|
+
* Present the picker overlay after it has been created.
|
|
126
|
+
*/
|
|
127
|
+
present(): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Dismiss the picker overlay after it has been presented.
|
|
130
|
+
*
|
|
131
|
+
* @param data Any data to emit in the dismiss events.
|
|
132
|
+
* @param role The role of the element that is dismissing the picker.
|
|
133
|
+
* This can be useful in a button handler for determining which button was
|
|
134
|
+
* clicked to dismiss the picker.
|
|
135
|
+
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
136
|
+
*/
|
|
137
|
+
dismiss(data?: any, role?: string): Promise<boolean>;
|
|
138
|
+
/**
|
|
139
|
+
* Returns a promise that resolves when the picker did dismiss.
|
|
140
|
+
*/
|
|
141
|
+
onDidDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
|
|
142
|
+
/**
|
|
143
|
+
* Returns a promise that resolves when the picker will dismiss.
|
|
144
|
+
*/
|
|
145
|
+
onWillDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
|
|
146
|
+
/**
|
|
147
|
+
* Get the column that matches the specified name.
|
|
148
|
+
*
|
|
149
|
+
* @param name The name of the column.
|
|
150
|
+
*/
|
|
151
|
+
getColumn(name: string): Promise<PickerColumn | undefined>;
|
|
152
|
+
private buttonClick;
|
|
153
|
+
private callButtonHandler;
|
|
154
|
+
private getSelected;
|
|
155
|
+
private onBackdropTap;
|
|
156
|
+
private dispatchCancelHandler;
|
|
157
|
+
render(): any;
|
|
158
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { PickerColumn } from '../picker-legacy/picker-interface';
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare class PickerColumnCmp implements ComponentInterface {
|
|
7
|
+
private bounceFrom;
|
|
8
|
+
private lastIndex?;
|
|
9
|
+
private minY;
|
|
10
|
+
private maxY;
|
|
11
|
+
private optHeight;
|
|
12
|
+
private rotateFactor;
|
|
13
|
+
private scaleFactor;
|
|
14
|
+
private velocity;
|
|
15
|
+
private y;
|
|
16
|
+
private optsEl?;
|
|
17
|
+
private gesture?;
|
|
18
|
+
private rafId?;
|
|
19
|
+
private tmrId?;
|
|
20
|
+
private noAnimate;
|
|
21
|
+
private colDidChange;
|
|
22
|
+
el: HTMLElement;
|
|
23
|
+
/**
|
|
24
|
+
* Emitted when the selected value has changed
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
ionPickerColChange: EventEmitter<PickerColumn>;
|
|
28
|
+
/** Picker column data */
|
|
29
|
+
col: PickerColumn;
|
|
30
|
+
protected colChanged(): void;
|
|
31
|
+
connectedCallback(): Promise<void>;
|
|
32
|
+
componentDidLoad(): void;
|
|
33
|
+
componentDidUpdate(): void;
|
|
34
|
+
disconnectedCallback(): void;
|
|
35
|
+
private emitColChange;
|
|
36
|
+
private setSelected;
|
|
37
|
+
private update;
|
|
38
|
+
private decelerate;
|
|
39
|
+
private indexForY;
|
|
40
|
+
private onStart;
|
|
41
|
+
private onMove;
|
|
42
|
+
private onEnd;
|
|
43
|
+
private refresh;
|
|
44
|
+
private onDomChange;
|
|
45
|
+
render(): any;
|
|
46
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { E2EPage, ScreenshotFn } from "../../../utils/test/playwright/index";
|
|
2
|
+
/**
|
|
3
|
+
* Visual regression tests for picker-column.
|
|
4
|
+
* @param page - The page to run the tests on.
|
|
5
|
+
* @param screenshot - The screenshot function to generate unique screenshot names
|
|
6
|
+
* @param buttonSelector - The selector for the button that opens the picker.
|
|
7
|
+
* @param description - The description to amend to the screenshot names (typically 'single' or 'multiple').
|
|
8
|
+
*/
|
|
9
|
+
export declare function testPickerColumn(page: E2EPage, screenshot: ScreenshotFn, buttonSelector: string, description: string): Promise<void>;
|
|
@@ -9,7 +9,7 @@ export declare class Route implements ComponentInterface {
|
|
|
9
9
|
*/
|
|
10
10
|
url: string;
|
|
11
11
|
/**
|
|
12
|
-
* Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-
|
|
12
|
+
* Name of the component to load/select in the navigation outlet (`ion-tabs`, `ion-nav`)
|
|
13
13
|
* when the route matches.
|
|
14
14
|
*
|
|
15
15
|
* The value of this property is not always the tagname of the component to load,
|
|
@@ -23,12 +23,6 @@ export declare class RouterOutlet implements ComponentInterface, NavOutlet {
|
|
|
23
23
|
animated: boolean;
|
|
24
24
|
/** This property allows to create custom transition using AnimationBuilder functions. */
|
|
25
25
|
animation?: AnimationBuilder;
|
|
26
|
-
/**
|
|
27
|
-
* If `true`, the router-outlet should allow navigation via swipe-to-go-back gesture.
|
|
28
|
-
* Defaults to `true` for `"ios"` mode and `false` for `"md"` mode.
|
|
29
|
-
*/
|
|
30
|
-
swipeGesture?: boolean;
|
|
31
|
-
swipeGestureChanged(): void;
|
|
32
26
|
/** @internal */
|
|
33
27
|
swipeHandler?: SwipeGestureHandler;
|
|
34
28
|
swipeHandlerChanged(): void;
|
|
@@ -40,7 +34,6 @@ export declare class RouterOutlet implements ComponentInterface, NavOutlet {
|
|
|
40
34
|
ionNavDidChange: EventEmitter<void>;
|
|
41
35
|
connectedCallback(): Promise<void>;
|
|
42
36
|
componentWillLoad(): void;
|
|
43
|
-
private updateGestureEnabled;
|
|
44
37
|
disconnectedCallback(): void;
|
|
45
38
|
/** @internal */
|
|
46
39
|
commit(enteringEl: HTMLElement, leavingEl: HTMLElement | undefined, opts?: RouterOutletOptions): Promise<boolean>;
|
|
@@ -52,7 +52,7 @@ export declare class Searchbar implements ComponentInterface {
|
|
|
52
52
|
/**
|
|
53
53
|
* Set the input's autocorrect property.
|
|
54
54
|
*/
|
|
55
|
-
autocorrect:
|
|
55
|
+
autocorrect: 'on' | 'off';
|
|
56
56
|
/**
|
|
57
57
|
* Set the cancel button icon. Only applies to `md` mode.
|
|
58
58
|
* Defaults to `arrow-back-sharp`.
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { ActionSheetButton } from '../action-sheet/action-sheet-interface';
|
|
2
|
-
import type { AlertInput } from '../alert/alert-interface';
|
|
3
|
-
import type { SelectPopoverOption } from '../select-popover/select-popover-interface';
|
|
4
1
|
export type SelectInterface = 'action-sheet' | 'popover' | 'alert' | 'modal';
|
|
5
2
|
export type SelectCompareFn = (currentValue: any, compareValue: any) => boolean;
|
|
6
3
|
export interface SelectChangeEventDetail<T = any> {
|
|
@@ -10,31 +7,3 @@ export interface SelectCustomEvent<T = any> extends CustomEvent {
|
|
|
10
7
|
detail: SelectChangeEventDetail<T>;
|
|
11
8
|
target: HTMLIonSelectElement;
|
|
12
9
|
}
|
|
13
|
-
export interface SelectActionSheetButton extends Omit<ActionSheetButton, 'text'>, RichContentOption {
|
|
14
|
-
/** The main text for the option as a string or an HTMLElement. */
|
|
15
|
-
text?: string | HTMLElement;
|
|
16
|
-
}
|
|
17
|
-
export interface SelectAlertInput extends Omit<AlertInput, 'label'>, RichContentOption {
|
|
18
|
-
/** The main label for the option as a string or an HTMLElement. */
|
|
19
|
-
label?: string | HTMLElement;
|
|
20
|
-
/** Where the label sits relative to the option's selection control. */
|
|
21
|
-
labelPlacement?: 'start' | 'end';
|
|
22
|
-
/** How to pack the label and the option's selection control within a line. */
|
|
23
|
-
justify?: 'start' | 'end' | 'space-between';
|
|
24
|
-
}
|
|
25
|
-
export interface SelectOverlayOption extends Omit<SelectPopoverOption, 'text'>, RichContentOption {
|
|
26
|
-
/** The main text for the option as a string or an HTMLElement. */
|
|
27
|
-
text?: string | HTMLElement;
|
|
28
|
-
/** Where the label sits relative to the option's selection control. */
|
|
29
|
-
labelPlacement?: 'start' | 'end';
|
|
30
|
-
/** How to pack the label and the option's selection control within a line. */
|
|
31
|
-
justify?: 'start' | 'end' | 'space-between';
|
|
32
|
-
}
|
|
33
|
-
export interface RichContentOption {
|
|
34
|
-
/** Content to display at the start of the option. */
|
|
35
|
-
startContent?: HTMLElement;
|
|
36
|
-
/** Content to display at the end of the option. */
|
|
37
|
-
endContent?: HTMLElement;
|
|
38
|
-
/** A description for the option. */
|
|
39
|
-
description?: string;
|
|
40
|
-
}
|
|
@@ -32,7 +32,6 @@ export declare class Select implements ComponentInterface {
|
|
|
32
32
|
private notchSpacerEl;
|
|
33
33
|
private validationObserver?;
|
|
34
34
|
private notchController?;
|
|
35
|
-
private customHTMLEnabled;
|
|
36
35
|
el: HTMLIonSelectElement;
|
|
37
36
|
isExpanded: boolean;
|
|
38
37
|
/**
|
|
@@ -204,7 +203,6 @@ export declare class Select implements ComponentInterface {
|
|
|
204
203
|
ionStyle: EventEmitter<StyleEventDetail>;
|
|
205
204
|
protected styleChanged(): void;
|
|
206
205
|
private setValue;
|
|
207
|
-
private isValueEqual;
|
|
208
206
|
connectedCallback(): Promise<void>;
|
|
209
207
|
componentWillLoad(): void;
|
|
210
208
|
componentDidLoad(): void;
|
|
@@ -240,12 +238,6 @@ export declare class Select implements ComponentInterface {
|
|
|
240
238
|
* was passed.
|
|
241
239
|
*/
|
|
242
240
|
private get labelText();
|
|
243
|
-
/**
|
|
244
|
-
* Returns the text to display in the select based on the selected value.
|
|
245
|
-
*
|
|
246
|
-
* @param useHTML If `true`, the returned text will include any custom HTML content from the selected option. If `false`, the returned text will be plain text without any HTML. Defaults to `false`.
|
|
247
|
-
* @returns The text to display in the select, either with or without HTML based on the `useHTML` parameter.
|
|
248
|
-
*/
|
|
249
241
|
private getText;
|
|
250
242
|
private setFocus;
|
|
251
243
|
private emitStyle;
|
|
@@ -276,16 +268,6 @@ export declare class Select implements ComponentInterface {
|
|
|
276
268
|
* when fill="outline".
|
|
277
269
|
*/
|
|
278
270
|
private renderLabelContainer;
|
|
279
|
-
/**
|
|
280
|
-
* Wraps text nodes in the select text with span elements
|
|
281
|
-
* so spacing can be added between elements without
|
|
282
|
-
* changing the display to prevent losing the ellipses
|
|
283
|
-
* behavior.
|
|
284
|
-
*
|
|
285
|
-
* Only wraps when the string contains HTML elements
|
|
286
|
-
* alongside text.
|
|
287
|
-
*/
|
|
288
|
-
private wrapSelectTextNodes;
|
|
289
271
|
/**
|
|
290
272
|
* Renders either the placeholder
|
|
291
273
|
* or the selected values based on
|
|
@@ -1,55 +1,14 @@
|
|
|
1
1
|
import type { ComponentInterface } from '../../stencil-public-runtime';
|
|
2
|
-
/**
|
|
3
|
-
* @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
|
|
4
|
-
*
|
|
5
|
-
* @slot - Content is placed between the named slots if provided without a slot.
|
|
6
|
-
* @slot start - Content is placed to the left of the select option text in LTR, and to the right in RTL.
|
|
7
|
-
* @slot end - Content is placed to the right of the select option text in LTR, and to the left in RTL.
|
|
8
|
-
*/
|
|
9
2
|
export declare class SelectOption implements ComponentInterface {
|
|
10
3
|
private inputId;
|
|
11
4
|
el: HTMLElement;
|
|
12
5
|
/**
|
|
13
|
-
* If `true`, the user cannot interact with the select option.
|
|
6
|
+
* If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
|
|
14
7
|
*/
|
|
15
8
|
disabled: boolean;
|
|
16
9
|
/**
|
|
17
10
|
* The text value of the option.
|
|
18
11
|
*/
|
|
19
12
|
value?: any | null;
|
|
20
|
-
/**
|
|
21
|
-
* Text that is placed underneath the option text to provide additional details about the option.
|
|
22
|
-
*/
|
|
23
|
-
description?: string;
|
|
24
|
-
/**
|
|
25
|
-
* Where the label is placed relative to the option's selection control
|
|
26
|
-
* (radio circle or checkbox box) when the option is rendered in an
|
|
27
|
-
* `alert`, `popover`, or `modal` interface.
|
|
28
|
-
* `"start"`: The label will appear to the left of the radio in LTR and to the right in RTL.
|
|
29
|
-
* `"end"`: The label will appear to the right of the radio in LTR and to the left in RTL.
|
|
30
|
-
*
|
|
31
|
-
* Applies to the `alert`, `popover`, and `modal` interfaces, but has no
|
|
32
|
-
* visible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).
|
|
33
|
-
*
|
|
34
|
-
* When unset, the interface picks a default based on mode and control
|
|
35
|
-
* type.
|
|
36
|
-
*/
|
|
37
|
-
labelPlacement?: 'start' | 'end';
|
|
38
|
-
/**
|
|
39
|
-
* How to pack the label and the option's selection control within a line.
|
|
40
|
-
* `"start"`: The label and radio will appear on the left in LTR and
|
|
41
|
-
* on the right in RTL.
|
|
42
|
-
* `"end"`: The label and radio will appear on the right in LTR and
|
|
43
|
-
* on the left in RTL.
|
|
44
|
-
* `"space-between"`: The label and radio will appear on opposite
|
|
45
|
-
* ends of the line with space between the two elements.
|
|
46
|
-
*
|
|
47
|
-
* Applies to the `alert`, `popover`, and `modal` interfaces, but has no
|
|
48
|
-
* visible effect on radio options in `popover` or `modal` on `md` (the radio control is hidden there).
|
|
49
|
-
*
|
|
50
|
-
* When unset, the interface picks a default based on mode and control
|
|
51
|
-
* type.
|
|
52
|
-
*/
|
|
53
|
-
justify?: 'start' | 'end' | 'space-between';
|
|
54
13
|
render(): any;
|
|
55
14
|
}
|