@ionic/core 8.8.19 → 8.8.20-dev.11787158518.168a2fea
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-accordion-group.js +1 -1
- package/components/ion-accordion.js +1 -1
- package/components/ion-action-sheet.js +1 -1
- package/components/ion-alert.js +1 -1
- package/components/ion-app.js +1 -1
- package/components/ion-avatar.js +1 -1
- package/components/ion-back-button.js +1 -1
- package/components/ion-backdrop.js +1 -1
- package/components/ion-badge.js +1 -1
- package/components/ion-breadcrumb.js +1 -1
- package/components/ion-breadcrumbs.js +1 -1
- package/components/ion-button.js +1 -1
- package/components/ion-buttons.js +1 -1
- package/components/ion-card-content.js +1 -1
- package/components/ion-card-header.js +1 -1
- package/components/ion-card-subtitle.js +1 -1
- package/components/ion-card-title.js +1 -1
- package/components/ion-card.js +1 -1
- package/components/ion-checkbox.js +1 -1
- package/components/ion-chip.js +1 -1
- package/components/ion-col.js +1 -1
- package/components/ion-content.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-fab-list.js +1 -1
- package/components/ion-fab.js +1 -1
- package/components/ion-footer.js +1 -1
- package/components/ion-grid.js +1 -1
- package/components/ion-header.js +1 -1
- package/components/ion-icon.js +1 -1
- package/components/ion-img.js +1 -1
- package/components/ion-infinite-scroll-content.js +1 -1
- package/components/ion-infinite-scroll.js +1 -1
- package/components/ion-input-otp.js +1 -1
- package/components/ion-input-password-toggle.js +1 -1
- package/components/ion-input.js +1 -1
- package/components/ion-item-divider.js +1 -1
- package/components/ion-item-group.js +1 -1
- package/components/ion-item-option.js +1 -1
- package/components/ion-item-options.js +1 -1
- package/components/ion-item-sliding.js +1 -1
- package/components/ion-item.js +1 -1
- package/components/ion-label.js +1 -1
- package/components/ion-list-header.js +1 -1
- package/components/ion-list.js +1 -1
- package/components/ion-loading.js +1 -1
- package/components/ion-menu-button.js +1 -1
- package/components/ion-menu-toggle.js +1 -1
- package/components/ion-menu.js +1 -1
- package/components/ion-modal.js +1 -1
- package/components/ion-nav-link.js +1 -1
- package/components/ion-nav.js +1 -1
- package/components/ion-note.js +1 -1
- package/components/ion-picker-column-option.js +1 -1
- package/components/ion-picker-column.js +1 -1
- package/components/ion-picker.js +1 -1
- package/components/ion-popover.js +1 -1
- package/components/ion-progress-bar.js +1 -1
- package/components/ion-radio-group.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-route-redirect.js +1 -1
- package/components/ion-route.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--m5cCjbK.js +4 -0
- package/components/p-1jI5oW-W.js +4 -0
- package/components/{p-6J0vc7Z8.js → p-63OhffQv.js} +1 -1
- package/components/p-8FN7p701.js +4 -0
- package/components/p-B4uHHhPK.js +4 -0
- package/components/p-BMPN55of.js +4 -0
- package/components/p-BNJOu1Q2.js +4 -0
- package/components/p-BOvLNVKq.js +4 -0
- package/components/p-BSQPZ79H.js +4 -0
- package/components/p-BeamQXHF.js +4 -0
- package/components/p-BhamHSw3.js +4 -0
- package/components/p-Bjig0DJK.js +4 -0
- package/components/p-BjluhQMI.js +4 -0
- package/components/p-BlsIikdZ.js +4 -0
- package/components/p-BqPNzJf6.js +4 -0
- package/components/p-BrD9Xv62.js +4 -0
- package/components/p-BvJqoZ5R.js +4 -0
- package/components/p-Bz6z3Asd.js +4 -0
- package/components/p-C5KYjZWD.js +4 -0
- package/components/p-C6HnVvHO.js +4 -0
- package/components/p-C7jvh5Wy.js +4 -0
- package/components/p-C9BGR5fy.js +4 -0
- package/components/p-CB-y1CdP.js +4 -0
- package/components/p-CEW4RXZO.js +4 -0
- package/components/p-CHH3loEE.js +4 -0
- package/components/p-CJKUWjmg.js +4 -0
- package/components/{p-qMmFisyx.js → p-CMLAwl_N.js} +1 -1
- package/components/{p-C7II1iDj.js → p-C_phlPMC.js} +1 -1
- package/components/p-CbhUdtjf.js +4 -0
- package/components/p-CejmQs3h.js +4 -0
- package/components/p-CtZqa4HM.js +4 -0
- package/components/p-D7-vHX0A.js +4 -0
- package/components/p-D9qIVSWm.js +4 -0
- package/components/p-DD5fQ4EQ.js +4 -0
- package/components/p-DE-3iMNW.js +4 -0
- package/components/p-DFvZn99E.js +4 -0
- package/components/p-DHFt2rdc.js +4 -0
- package/components/p-DM-PrAoh.js +4 -0
- package/components/p-DSzSbVP2.js +4 -0
- package/components/{p--JUspHvy.js → p-DV85C0e0.js} +1 -1
- package/components/p-DWCzVL3Y.js +4 -0
- package/components/p-D_RCyzwu.js +4 -0
- package/components/p-D_tD8r3L.js +4 -0
- package/components/p-DaA_8eqt.js +4 -0
- package/components/p-DjCtLZbF.js +4 -0
- package/components/p-Dmd2xqCe.js +4 -0
- package/components/p-Dojwmvde.js +4 -0
- package/components/{p-BkKAANMJ.js → p-DwpKZ6rl.js} +1 -1
- package/components/p-DzRT60Tw.js +4 -0
- package/components/p-G0TxqHfe.js +4 -0
- package/components/p-G6JR-cr_.js +4 -0
- package/components/p-GG5GhznE.js +4 -0
- package/components/p-TXPDHL13.js +4 -0
- package/components/p-UIBJkZf8.js +4 -0
- package/components/p-_IKFD3ID.js +4 -0
- package/components/p-byZM6qHV.js +4 -0
- package/components/p-dKq2jIum.js +4 -0
- package/components/p-fruGqVHh.js +4 -0
- package/components/p-iYhH60Tc.js +4 -0
- package/components/p-ia3IDdJS.js +4 -0
- package/components/{p-DqLB8yFQ.js → p-ryyf_ItD.js} +1 -1
- package/dist/cjs/{animation-Ch16T-Nb.js → animation-C0mOHzej.js} +4 -4
- package/dist/cjs/{app-globals-Dd89e0MR.js → app-globals-BREG4twP.js} +1 -1
- package/dist/cjs/{button-active-AWp_ygDP.js → button-active-CVMevT9a.js} +3 -3
- package/dist/cjs/config-CjUbvdPW.js +36 -0
- package/dist/cjs/{dir-DD0jPVH3.js → dir-zwDPRE5K.js} +2 -3
- package/dist/cjs/{format-BUFWn4Bn.js → format-pp0Du3K-.js} +40 -30
- package/dist/cjs/{framework-delegate-CEzl4MEA.js → framework-delegate-Dfo5XsGv.js} +5 -7
- package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-BDUH7687.js} +15 -8
- package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
- package/dist/cjs/{hardware-back-button-CXmUnTJC.js → hardware-back-button-fqpYh-kd.js} +4 -4
- package/dist/cjs/{helpers-DdZyl6WL.js → helpers-YPQybDph.js} +4 -4
- package/dist/cjs/index-B7zJsYWS.js +429 -0
- package/dist/cjs/{index-CukZnH1U.js → index-BLdJCcJY.js} +5 -5
- package/dist/cjs/{index-MWAIyVLl.js → index-DDg31ZF5.js} +3 -3
- package/dist/cjs/{index-DOiZqxWZ.js → index-DXsPSne6.js} +6 -7
- package/dist/cjs/{index-BJ2-LydH.js → index-DwlRtFZe.js} +9 -3
- package/dist/cjs/{index-BfaXsATC.js → index-uvry__L4.js} +31 -14
- package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
- package/dist/cjs/{index-CD92bI7B.js → index-zVCah4Uz.js} +2 -2
- package/dist/cjs/index.cjs.js +19 -19
- package/dist/cjs/{input-shims-CPKgrIe3.js → input-shims-Cbu1fcye.js} +10 -12
- package/dist/cjs/input.utils-BZdMWVrt.js +35 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +369 -341
- package/dist/cjs/ion-action-sheet.cjs.entry.js +188 -77
- package/dist/cjs/ion-alert.cjs.entry.js +274 -112
- package/dist/cjs/ion-app_8.cjs.entry.js +307 -190
- package/dist/cjs/ion-avatar_3.cjs.entry.js +10 -4
- package/dist/cjs/ion-back-button.cjs.entry.js +48 -24
- package/dist/cjs/ion-backdrop.cjs.entry.js +18 -14
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +200 -122
- package/dist/cjs/ion-button_2.cjs.entry.js +139 -67
- package/dist/cjs/ion-card_5.cjs.entry.js +83 -31
- package/dist/cjs/ion-checkbox.cjs.entry.js +153 -102
- package/dist/cjs/ion-chip.cjs.entry.js +17 -11
- package/dist/cjs/ion-col_3.cjs.entry.js +134 -10
- package/dist/cjs/ion-datetime-button.cjs.entry.js +254 -242
- package/dist/cjs/ion-datetime.cjs.entry.js +2770 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +140 -82
- package/dist/cjs/ion-img.cjs.entry.js +35 -13
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +101 -73
- package/dist/cjs/ion-input-otp.cjs.entry.js +435 -372
- package/dist/cjs/ion-input-password-toggle.cjs.entry.js +36 -22
- package/dist/cjs/ion-input.cjs.entry.js +343 -212
- package/dist/cjs/ion-item-option_3.cjs.entry.js +95 -55
- package/dist/cjs/ion-item_8.cjs.entry.js +192 -93
- package/dist/cjs/ion-loading.cjs.entry.js +147 -61
- package/dist/cjs/ion-menu_3.cjs.entry.js +169 -107
- package/dist/cjs/ion-modal.cjs.entry.js +456 -262
- package/dist/cjs/ion-nav_2.cjs.entry.js +102 -159
- package/dist/cjs/ion-picker-column-option.cjs.entry.js +38 -34
- package/dist/cjs/ion-picker-column.cjs.entry.js +418 -406
- package/dist/cjs/ion-picker.cjs.entry.js +402 -393
- package/dist/cjs/ion-popover.cjs.entry.js +320 -206
- package/dist/cjs/ion-progress-bar.cjs.entry.js +32 -26
- package/dist/cjs/ion-radio_2.cjs.entry.js +208 -135
- package/dist/cjs/ion-range.cjs.entry.js +304 -239
- package/dist/cjs/ion-refresher_2.cjs.entry.js +166 -94
- package/dist/cjs/ion-reorder_2.cjs.entry.js +54 -24
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
- package/dist/cjs/ion-route_4.cjs.entry.js +176 -72
- package/dist/cjs/ion-searchbar.cjs.entry.js +291 -200
- package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-view.cjs.entry.js +28 -17
- package/dist/cjs/ion-segment_2.cjs.entry.js +169 -126
- package/dist/cjs/ion-select-modal.cjs.entry.js +105 -49
- package/dist/cjs/ion-select_3.cjs.entry.js +787 -260
- package/dist/cjs/ion-spinner.cjs.entry.js +24 -10
- package/dist/cjs/ion-split-pane.cjs.entry.js +29 -16
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +101 -42
- package/dist/cjs/ion-tab_2.cjs.entry.js +54 -28
- package/dist/cjs/ion-text.cjs.entry.js +11 -5
- package/dist/cjs/ion-textarea.cjs.entry.js +296 -189
- package/dist/cjs/ion-toast.cjs.entry.js +237 -118
- package/dist/cjs/ion-toggle.cjs.entry.js +175 -122
- package/dist/cjs/{ionic-global-BerQGEpE.js → ionic-global-k6hOWWpn.js} +13 -8
- package/dist/cjs/ionic.cjs.js +4 -4
- package/dist/cjs/{ios.transition-CTiTDh3m.js → ios.transition-zTmJz8T-.js} +14 -18
- package/dist/cjs/{item-multiple-inputs-jOJZE_I0.js → item-multiple-inputs-BdYSbfKN.js} +1 -1
- package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
- package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
- package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-BpiTAaqF.js → md.transition-nb_4pUXu.js} +8 -9
- package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
- package/dist/cjs/{overlays-CQ_c1fko.js → overlays-KaNVDNqC.js} +48 -33
- package/dist/cjs/select-option-render-pULCGldr.js +123 -0
- package/dist/cjs/slot-mutation-controller-DPHmqXdV.js +397 -0
- package/dist/cjs/{status-tap-7FzRlXNr.js → status-tap-o9IIymsP.js} +4 -4
- package/dist/cjs/{swipe-back-DwTZiAc9.js → swipe-back-B7X9VOlH.js} +5 -5
- package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
- package/dist/collection/collection-manifest.json +6 -10
- package/dist/collection/components/accordion/accordion.js +315 -312
- package/dist/collection/components/accordion-group/accordion-group.js +48 -25
- package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
- package/dist/collection/components/action-sheet/action-sheet.js +173 -64
- package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
- package/dist/collection/components/action-sheet/test/basic/fixture.js +3 -0
- package/dist/collection/components/alert/alert.ios.css +279 -10
- package/dist/collection/components/alert/alert.js +257 -97
- package/dist/collection/components/alert/alert.md.css +268 -20
- package/dist/collection/components/app/app.js +3 -0
- package/dist/collection/components/back-button/back-button.js +42 -19
- package/dist/collection/components/backdrop/backdrop.js +16 -14
- package/dist/collection/components/badge/badge.js +6 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +91 -30
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +103 -88
- package/dist/collection/components/button/button.js +132 -61
- package/dist/collection/components/buttons/buttons.js +13 -15
- package/dist/collection/components/card/card.js +54 -21
- package/dist/collection/components/card-header/card-header.js +12 -8
- package/dist/collection/components/card-subtitle/card-subtitle.js +6 -0
- package/dist/collection/components/card-title/card-title.js +6 -0
- package/dist/collection/components/checkbox/checkbox.js +147 -97
- package/dist/collection/components/chip/chip.js +14 -10
- package/dist/collection/components/col/col.js +127 -3
- package/dist/collection/components/content/content.js +93 -64
- package/dist/collection/components/datetime/datetime.ios.css +42 -2
- package/dist/collection/components/datetime/datetime.js +1042 -807
- package/dist/collection/components/datetime/datetime.md.css +42 -1
- package/dist/collection/components/datetime/utils/data.js +13 -14
- package/dist/collection/components/datetime/utils/format.js +21 -11
- package/dist/collection/components/datetime/utils/manipulation.js +8 -8
- package/dist/collection/components/datetime/utils/parse.js +10 -10
- package/dist/collection/components/datetime/utils/state.js +8 -2
- package/dist/collection/components/datetime/utils/validate.js +4 -5
- package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
- package/dist/collection/components/datetime-button/datetime-button.js +247 -237
- package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
- package/dist/collection/components/fab/fab.js +20 -13
- package/dist/collection/components/fab-button/fab-button.js +104 -55
- package/dist/collection/components/fab-list/fab-list.js +10 -11
- package/dist/collection/components/footer/footer.js +50 -44
- package/dist/collection/components/grid/grid.js +4 -6
- package/dist/collection/components/header/header.js +35 -25
- package/dist/collection/components/img/img.js +34 -10
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +73 -66
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +20 -3
- package/dist/collection/components/input/input.ios.css +57 -26
- package/dist/collection/components/input/input.js +336 -206
- package/dist/collection/components/input/input.md.css +79 -43
- package/dist/collection/components/input-otp/input-otp.js +430 -368
- package/dist/collection/components/input-password-toggle/input-password-toggle.js +32 -19
- package/dist/collection/components/item/item.js +99 -53
- package/dist/collection/components/item-divider/item-divider.js +17 -12
- package/dist/collection/components/item-group/item-group.js +1 -1
- package/dist/collection/components/item-option/item-option.js +50 -22
- package/dist/collection/components/item-options/item-options.js +11 -8
- package/dist/collection/components/item-sliding/item-sliding.js +27 -21
- package/dist/collection/components/label/label.js +26 -6
- package/dist/collection/components/list/list.js +11 -8
- package/dist/collection/components/list-header/list-header.js +12 -2
- package/dist/collection/components/loading/loading.js +135 -51
- package/dist/collection/components/menu/menu.js +103 -61
- package/dist/collection/components/menu-button/menu-button.js +30 -21
- package/dist/collection/components/menu-toggle/menu-toggle.js +22 -15
- package/dist/collection/components/modal/animations/ios.enter.js +1 -1
- package/dist/collection/components/modal/animations/md.enter.js +1 -1
- package/dist/collection/components/modal/gestures/sheet.js +22 -10
- package/dist/collection/components/modal/gestures/swipe-to-close.js +15 -3
- package/dist/collection/components/modal/modal.js +398 -228
- package/dist/collection/components/modal/safe-area-utils.js +6 -7
- package/dist/collection/components/modal/test/fixtures.js +3 -0
- package/dist/collection/components/nav/nav.js +69 -247
- package/dist/collection/components/nav/view-controller.js +7 -1
- package/dist/collection/components/nav-link/nav-link.js +21 -10
- package/dist/collection/components/note/note.js +8 -2
- package/dist/collection/components/picker/picker.js +398 -390
- package/dist/collection/components/picker-column/picker-column.css +3 -0
- package/dist/collection/components/picker-column/picker-column.js +414 -404
- package/dist/collection/components/picker-column-option/picker-column-option.js +33 -31
- package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
- package/dist/collection/components/popover/animations/ios.enter.js +1 -2
- package/dist/collection/components/popover/animations/md.enter.js +1 -2
- package/dist/collection/components/popover/popover.ios.css +15 -0
- package/dist/collection/components/popover/popover.js +302 -185
- package/dist/collection/components/popover/popover.md.css +15 -0
- package/dist/collection/components/popover/test/fixture.js +1 -0
- package/dist/collection/components/popover/utils.js +4 -6
- package/dist/collection/components/progress-bar/progress-bar.js +27 -23
- package/dist/collection/components/radio/radio.js +102 -66
- package/dist/collection/components/radio-group/radio-group.js +101 -66
- package/dist/collection/components/radio-group/test/fixtures.js +2 -0
- package/dist/collection/components/range/range.js +298 -234
- package/dist/collection/components/refresher/refresher.js +110 -78
- package/dist/collection/components/refresher-content/refresher-content.js +41 -4
- package/dist/collection/components/reorder/reorder.js +2 -1
- package/dist/collection/components/reorder-group/reorder-group.js +44 -15
- package/dist/collection/components/ripple-effect/ripple-effect.js +12 -13
- package/dist/collection/components/route/route.js +39 -10
- package/dist/collection/components/route-redirect/route-redirect.js +31 -0
- package/dist/collection/components/router/router.js +37 -33
- package/dist/collection/components/router/utils/dom.js +25 -7
- package/dist/collection/components/router/utils/matching.js +7 -9
- package/dist/collection/components/router/utils/parser.js +1 -1
- package/dist/collection/components/router/utils/path.js +0 -1
- package/dist/collection/components/router-link/router-link.js +37 -12
- package/dist/collection/components/router-outlet/router-outlet.js +82 -21
- package/dist/collection/components/row/row.js +1 -1
- package/dist/collection/components/searchbar/searchbar.js +289 -199
- package/dist/collection/components/segment/segment.js +120 -85
- package/dist/collection/components/segment-button/segment-button.js +43 -37
- package/dist/collection/components/segment-content/segment-content.js +1 -1
- package/dist/collection/components/segment-view/segment-view.js +26 -16
- package/dist/collection/components/select/select.ios.css +96 -69
- package/dist/collection/components/select/select.js +629 -213
- package/dist/collection/components/select/select.md.css +118 -85
- package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
- package/dist/collection/components/select-modal/select-modal.js +92 -38
- package/dist/collection/components/select-modal/select-modal.md.css +164 -0
- package/dist/collection/components/select-modal/test/fixtures.js +8 -1
- package/dist/collection/components/select-option/select-option.js +110 -9
- package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
- package/dist/collection/components/select-popover/select-popover.js +103 -36
- package/dist/collection/components/select-popover/select-popover.md.css +164 -0
- package/dist/collection/components/select-popover/test/fixtures.js +8 -1
- package/dist/collection/components/skeleton-text/skeleton-text.js +12 -8
- package/dist/collection/components/spinner/spinner.js +21 -9
- package/dist/collection/components/split-pane/split-pane.js +27 -15
- package/dist/collection/components/tab/tab.js +17 -6
- package/dist/collection/components/tab-bar/tab-bar.js +32 -14
- package/dist/collection/components/tab-button/tab-button.js +62 -23
- package/dist/collection/components/tabs/tabs.js +33 -20
- package/dist/collection/components/text/text.js +8 -2
- package/dist/collection/components/textarea/textarea.ios.css +94 -62
- package/dist/collection/components/textarea/textarea.js +287 -181
- package/dist/collection/components/textarea/textarea.md.css +103 -77
- package/dist/collection/components/thumbnail/thumbnail.js +1 -1
- package/dist/collection/components/title/title.js +18 -2
- package/dist/collection/components/toast/toast.js +223 -106
- package/dist/collection/components/toggle/toggle.js +167 -115
- package/dist/collection/components/toolbar/toolbar.js +15 -7
- package/dist/collection/global/config.js +4 -6
- package/dist/collection/global/ionic-global.js +8 -2
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/animation/animation.js +3 -3
- package/dist/collection/utils/config.js +5 -4
- package/dist/collection/utils/focus-controller/index.js +1 -1
- package/dist/collection/utils/focus-trap.js +3 -3
- package/dist/collection/utils/forms/index.js +1 -0
- package/dist/collection/utils/forms/start-container-controller.js +132 -0
- package/dist/collection/utils/framework-delegate.js +4 -6
- package/dist/collection/utils/gesture/gesture-controller.js +15 -8
- package/dist/collection/utils/gesture/index.js +10 -2
- package/dist/collection/utils/hardware-back-button.js +3 -3
- package/dist/collection/utils/helpers.js +2 -2
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
- package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
- package/dist/collection/utils/keyboard/keyboard.js +1 -1
- package/dist/collection/utils/logging/index.js +23 -4
- package/dist/collection/utils/menu-controller/index.js +1 -2
- package/dist/collection/utils/native/haptic.js +2 -3
- package/dist/collection/utils/native/keyboard.js +2 -2
- package/dist/collection/utils/native/status-bar.js +1 -1
- package/dist/collection/utils/overlay-control-label.js +45 -0
- package/dist/collection/utils/overlays.js +38 -23
- package/dist/collection/utils/platform.js +4 -5
- package/dist/collection/utils/rtl/dir.js +2 -3
- package/dist/collection/utils/sanitization/index.js +276 -20
- package/dist/collection/utils/select-option-render.js +118 -0
- package/dist/collection/utils/slot-mutation-controller.js +1 -2
- package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
- package/dist/collection/utils/test/playwright/drag-element.js +2 -3
- package/dist/collection/utils/test/playwright/generator.js +3 -4
- package/dist/collection/utils/test/playwright/page/event-spy.js +11 -12
- package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
- package/dist/collection/utils/test/press-keys.js +10 -17
- package/dist/collection/utils/theme.js +6 -1
- package/dist/collection/utils/transition/ios.transition.js +9 -13
- package/dist/collection/utils/transition/md.transition.js +3 -4
- package/dist/docs.json +557 -1257
- package/dist/esm/{animation-DLJpuoEz.js → animation-CGFdmGk9.js} +4 -4
- package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-CYmMeGdU.js} +1 -1
- package/dist/esm/{button-active-CXXy0FIE.js → button-active-BDOsVAiZ.js} +3 -3
- package/dist/esm/config-DWCzVL3Y.js +32 -0
- package/dist/esm/{dir-o8OKV5aD.js → dir-Dojwmvde.js} +2 -3
- package/dist/esm/{format-CAmvpAez.js → format-Dcwga61t.js} +41 -31
- package/dist/esm/{framework-delegate-B9yvYzqV.js → framework-delegate-BHTU2Ip9.js} +5 -7
- package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-TXPDHL13.js} +15 -8
- package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
- package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-gLJHMX_F.js} +4 -4
- package/dist/esm/{helpers-DkCLSLI9.js → helpers-CAGf8Wgp.js} +4 -4
- package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
- package/dist/esm/index-CKM1DdGm.js +424 -0
- package/dist/esm/{index-tcQvqkiX.js → index-ChhhtsGZ.js} +32 -15
- package/dist/esm/{index-DwNKJodj.js → index-Clc-28O1.js} +3 -3
- package/dist/esm/{index-DdeElWma.js → index-CqneaaGd.js} +6 -7
- package/dist/esm/{index-Bck1OwMs.js → index-DcPaH5uL.js} +9 -3
- package/dist/esm/{index-B_8X7INq.js → index-T0JxBI8V.js} +2 -2
- package/dist/esm/{index-Dsz7OTeL.js → index-WlteAIqz.js} +5 -5
- package/dist/esm/index.js +17 -16
- package/dist/esm/{input-shims-d-hDv86G.js → input-shims-B8sfni1e.js} +10 -12
- package/dist/esm/input.utils-B1ValN_N.js +33 -0
- package/dist/esm/ion-accordion_2.entry.js +369 -341
- package/dist/esm/ion-action-sheet.entry.js +188 -77
- package/dist/esm/ion-alert.entry.js +273 -111
- package/dist/esm/ion-app_8.entry.js +307 -190
- package/dist/esm/ion-avatar_3.entry.js +10 -4
- package/dist/esm/ion-back-button.entry.js +48 -24
- package/dist/esm/ion-backdrop.entry.js +18 -14
- package/dist/esm/ion-breadcrumb_2.entry.js +200 -122
- package/dist/esm/ion-button_2.entry.js +139 -67
- package/dist/esm/ion-card_5.entry.js +83 -31
- package/dist/esm/ion-checkbox.entry.js +153 -102
- package/dist/esm/ion-chip.entry.js +17 -11
- package/dist/esm/ion-col_3.entry.js +134 -10
- package/dist/esm/ion-datetime-button.entry.js +254 -242
- package/dist/esm/ion-datetime.entry.js +2768 -0
- package/dist/esm/ion-fab_3.entry.js +140 -82
- package/dist/esm/ion-img.entry.js +35 -13
- package/dist/esm/ion-infinite-scroll_2.entry.js +100 -72
- package/dist/esm/ion-input-otp.entry.js +435 -372
- package/dist/esm/ion-input-password-toggle.entry.js +36 -22
- package/dist/esm/ion-input.entry.js +341 -210
- package/dist/esm/ion-item-option_3.entry.js +95 -55
- package/dist/esm/ion-item_8.entry.js +192 -93
- package/dist/esm/ion-loading.entry.js +146 -60
- package/dist/esm/ion-menu_3.entry.js +169 -107
- package/dist/esm/ion-modal.entry.js +456 -262
- package/dist/esm/ion-nav_2.entry.js +102 -159
- package/dist/esm/ion-picker-column-option.entry.js +38 -34
- package/dist/esm/ion-picker-column.entry.js +418 -406
- package/dist/esm/ion-picker.entry.js +402 -393
- package/dist/esm/ion-popover.entry.js +320 -206
- package/dist/esm/ion-progress-bar.entry.js +32 -26
- package/dist/esm/ion-radio_2.entry.js +208 -135
- package/dist/esm/ion-range.entry.js +304 -239
- package/dist/esm/ion-refresher_2.entry.js +164 -92
- package/dist/esm/ion-reorder_2.entry.js +54 -24
- package/dist/esm/ion-ripple-effect.entry.js +14 -14
- package/dist/esm/ion-route_4.entry.js +176 -72
- package/dist/esm/ion-searchbar.entry.js +291 -200
- package/dist/esm/ion-segment-content.entry.js +2 -2
- package/dist/esm/ion-segment-view.entry.js +28 -17
- package/dist/esm/ion-segment_2.entry.js +169 -126
- package/dist/esm/ion-select-modal.entry.js +105 -49
- package/dist/esm/ion-select_3.entry.js +787 -260
- package/dist/esm/ion-spinner.entry.js +24 -10
- package/dist/esm/ion-split-pane.entry.js +29 -16
- package/dist/esm/ion-tab-bar_2.entry.js +101 -42
- package/dist/esm/ion-tab_2.entry.js +54 -28
- package/dist/esm/ion-text.entry.js +11 -5
- package/dist/esm/ion-textarea.entry.js +295 -188
- package/dist/esm/ion-toast.entry.js +236 -117
- package/dist/esm/ion-toggle.entry.js +175 -122
- package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-BVB7BrLT.js} +13 -8
- package/dist/esm/ionic.js +5 -5
- package/dist/esm/{ios.transition-CxNhMt4a.js → ios.transition-DXRCmcbC.js} +14 -18
- package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-rU8VaNNg.js} +1 -1
- package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
- package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
- package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-IE4mC3kp.js → md.transition-BMngO4i_.js} +8 -9
- package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
- package/dist/esm/{overlays-COCl_nm9.js → overlays-CPmIs9Ls.js} +48 -33
- package/dist/esm/select-option-render-C4m76VGH.js +121 -0
- package/dist/esm/slot-mutation-controller-DiE_C9un.js +393 -0
- package/dist/esm/{status-tap-HhO5eQI9.js → status-tap-CHB7KwIb.js} +4 -4
- package/dist/esm/{swipe-back-DK6afpuO.js → swipe-back-C9HW1bug.js} +5 -5
- package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
- package/dist/html.html-data.json +52 -80
- package/dist/ionic/index.esm.js +1 -1
- package/dist/ionic/ionic.esm.js +1 -1
- package/dist/ionic/p-06ec7136.entry.js +4 -0
- package/dist/ionic/p-09fe4fa3.entry.js +4 -0
- package/dist/ionic/p-10d45a07.entry.js +4 -0
- package/dist/ionic/p-208c8a07.entry.js +4 -0
- package/dist/ionic/p-212474fa.entry.js +4 -0
- package/dist/ionic/p-2eef1396.entry.js +4 -0
- package/dist/ionic/p-347e005d.entry.js +4 -0
- package/dist/ionic/p-3a0b3f1d.entry.js +4 -0
- package/dist/ionic/p-3b071259.entry.js +4 -0
- package/dist/ionic/{p-c6e49f3f.entry.js → p-40424a88.entry.js} +1 -1
- package/dist/ionic/p-4204184c.entry.js +4 -0
- package/dist/ionic/p-47464391.entry.js +4 -0
- package/dist/ionic/p-4eOQC00Z.js +4 -0
- package/dist/ionic/p-4f9c9126.entry.js +4 -0
- package/dist/ionic/p-5JsKPLJD.js +4 -0
- package/dist/ionic/p-5bc485c6.entry.js +4 -0
- package/dist/ionic/p-603a61e6.entry.js +4 -0
- package/dist/ionic/p-60576951.entry.js +4 -0
- package/dist/ionic/p-67a81d33.entry.js +4 -0
- package/dist/ionic/p-6affb775.entry.js +4 -0
- package/dist/ionic/p-6f120c25.entry.js +4 -0
- package/dist/ionic/p-71c82b60.entry.js +4 -0
- package/dist/ionic/p-79325ffe.entry.js +4 -0
- package/dist/ionic/{p-DZaO33Mw.js → p-7CBuOvEo.js} +1 -1
- package/dist/ionic/p-7e4d51fa.entry.js +4 -0
- package/dist/ionic/p-7f5d4664.entry.js +4 -0
- package/dist/ionic/p-80ee82fc.entry.js +4 -0
- package/dist/ionic/p-84af7dbc.entry.js +4 -0
- package/dist/ionic/p-89ca830a.entry.js +4 -0
- package/dist/ionic/p-93b8ec8f.entry.js +4 -0
- package/dist/ionic/p-946f65c2.entry.js +4 -0
- package/dist/ionic/p-9c4b39fb.entry.js +4 -0
- package/dist/ionic/p-B1NEZUzQ.js +4 -0
- package/dist/ionic/p-B1ck5iy-.js +4 -0
- package/dist/ionic/{p-Cd4H8ft-.js → p-B4FrqdW0.js} +1 -1
- package/dist/ionic/p-BB0LlG4y.js +4 -0
- package/dist/ionic/p-BMPN55of.js +4 -0
- package/dist/ionic/p-BSQPZ79H.js +4 -0
- package/dist/ionic/p-BYEAtHr-.js +4 -0
- package/dist/ionic/p-BhamHSw3.js +4 -0
- package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
- package/dist/ionic/p-C-94tAim.js +4 -0
- package/dist/ionic/{p-DipZFfzN.js → p-C-eHZMYE.js} +1 -1
- package/dist/ionic/p-CBR_W98Z.js +4 -0
- package/dist/ionic/{p-ClM02LPk.js → p-CBWAXjA5.js} +1 -1
- package/dist/ionic/p-CMRtMbJc.js +4 -0
- package/dist/ionic/p-CPcPmkGv.js +4 -0
- package/dist/ionic/p-CaRuIadB.js +4 -0
- package/dist/ionic/p-Cdjxf_yg.js +4 -0
- package/dist/ionic/p-ChhhtsGZ.js +5 -0
- package/dist/ionic/p-CzS1qWve.js +4 -0
- package/dist/ionic/p-D5t_-oMk.js +4 -0
- package/dist/ionic/p-D94_RztK.js +4 -0
- package/dist/ionic/p-DWCzVL3Y.js +4 -0
- package/dist/ionic/p-DjjfauRM.js +4 -0
- package/dist/ionic/p-DkUB-ROc.js +4 -0
- package/dist/ionic/p-Dn0mqQ_R.js +4 -0
- package/dist/ionic/p-Dojwmvde.js +4 -0
- package/dist/ionic/p-DplOqGUv.js +4 -0
- package/dist/ionic/p-Dst_XmZh.js +4 -0
- package/dist/ionic/p-T71k3C35.js +4 -0
- package/dist/ionic/p-TXPDHL13.js +4 -0
- package/dist/ionic/p-UIBJkZf8.js +4 -0
- package/dist/ionic/p-a438b193.entry.js +4 -0
- package/dist/ionic/p-babaaaa7.entry.js +4 -0
- package/dist/ionic/p-be08d500.entry.js +4 -0
- package/dist/ionic/p-be9a4f51.entry.js +4 -0
- package/dist/ionic/p-byZM6qHV.js +4 -0
- package/dist/ionic/p-c00d3092.entry.js +4 -0
- package/dist/ionic/p-c36dc8f5.entry.js +4 -0
- package/dist/ionic/p-c72a7e17.entry.js +4 -0
- package/dist/ionic/p-c8edd88c.entry.js +4 -0
- package/dist/ionic/p-ce0e380b.entry.js +4 -0
- package/dist/ionic/p-ce32912b.entry.js +4 -0
- package/dist/ionic/p-d07cf130.entry.js +4 -0
- package/dist/ionic/p-d27edeb3.entry.js +4 -0
- package/dist/ionic/p-d5d2c506.entry.js +4 -0
- package/dist/ionic/p-d5e31ca9.entry.js +4 -0
- package/dist/ionic/p-de91444f.entry.js +4 -0
- package/dist/ionic/p-ded69ceb.entry.js +4 -0
- package/dist/ionic/p-df72866d.entry.js +4 -0
- package/dist/ionic/p-e47e3151.entry.js +4 -0
- package/dist/ionic/p-e621e5e8.entry.js +4 -0
- package/dist/ionic/p-eea9cf93.entry.js +4 -0
- package/dist/ionic/p-f402f5a4.entry.js +4 -0
- package/dist/ionic/p-fe1bfbcf.entry.js +4 -0
- package/{components/p-9GFIh9p1.js → dist/ionic/p-ffb90460.entry.js} +1 -1
- package/dist/types/components/img/img.d.ts +2 -0
- package/dist/types/components/input/input.d.ts +12 -6
- package/dist/types/components/modal/modal-interface.d.ts +9 -0
- package/dist/types/components/modal/modal.d.ts +11 -4
- package/dist/types/components/nav/nav-interface.d.ts +0 -1
- package/dist/types/components/nav/nav.d.ts +2 -22
- package/dist/types/components/route/route.d.ts +1 -1
- package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
- package/dist/types/components/searchbar/searchbar.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +31 -0
- package/dist/types/components/select/select.d.ts +30 -6
- package/dist/types/components/select-option/select-option.d.ts +42 -1
- package/dist/types/components/textarea/textarea.d.ts +12 -5
- package/dist/types/components.d.ts +74 -311
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interface.d.ts +0 -1
- package/dist/types/utils/config.d.ts +1 -8
- package/dist/types/utils/forms/index.d.ts +1 -0
- package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
- package/dist/types/utils/logging/index.d.ts +2 -1
- package/dist/types/utils/overlay-control-label.d.ts +32 -0
- package/dist/types/utils/overlays.d.ts +11 -9
- package/dist/types/utils/sanitization/index.d.ts +58 -2
- package/dist/types/utils/select-option-render.d.ts +53 -0
- package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
- package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
- package/hydrate/index.js +10660 -7305
- package/hydrate/index.mjs +10660 -7305
- package/package.json +55 -12
- package/components/ion-picker-legacy-column.d.ts +0 -11
- package/components/ion-picker-legacy-column.js +0 -4
- package/components/ion-picker-legacy.d.ts +0 -11
- package/components/ion-picker-legacy.js +0 -4
- package/components/p-0LM2oPMC.js +0 -4
- package/components/p-B21528L5.js +0 -4
- package/components/p-B2nSfLHH.js +0 -4
- package/components/p-B3qf4bEn.js +0 -4
- package/components/p-B9jFTlwE.js +0 -4
- package/components/p-BDd9Zrb9.js +0 -4
- package/components/p-BLmJ0zRm.js +0 -4
- package/components/p-BMYNBJgf.js +0 -4
- package/components/p-BRYd8D-I.js +0 -4
- package/components/p-BSEgsdFI.js +0 -4
- package/components/p-BTEOs1at.js +0 -4
- package/components/p-BTJrYwxN.js +0 -4
- package/components/p-BV-zKay-.js +0 -4
- package/components/p-BYRVyMu9.js +0 -4
- package/components/p-Bmq8qlkW.js +0 -4
- package/components/p-BuxQcfHK.js +0 -4
- package/components/p-Bz0dSlXZ.js +0 -4
- package/components/p-CHqRYvYm.js +0 -4
- package/components/p-CSZf8_j0.js +0 -4
- package/components/p-CTdRooFV.js +0 -4
- package/components/p-Cf2jSDS8.js +0 -4
- package/components/p-Cfx4M1Bn.js +0 -4
- package/components/p-CgkrslTX.js +0 -4
- package/components/p-CiCzYG2V.js +0 -4
- package/components/p-Ck0lEczL.js +0 -4
- package/components/p-CmR5uXej.js +0 -4
- package/components/p-CniZht3v.js +0 -4
- package/components/p-CsaojgEs.js +0 -4
- package/components/p-CtWGkNnJ.js +0 -4
- package/components/p-D13Eaw-8.js +0 -4
- package/components/p-D4FYu-4R.js +0 -4
- package/components/p-D6Ynv7Xh.js +0 -4
- package/components/p-DARjq3GM.js +0 -4
- package/components/p-DEZ2myA3.js +0 -4
- package/components/p-DOFCbuQR.js +0 -4
- package/components/p-DVe41iHI.js +0 -4
- package/components/p-DX5m9g56.js +0 -4
- package/components/p-DboHi2CL.js +0 -4
- package/components/p-DiVJyqlX.js +0 -4
- package/components/p-DmzFY5IC.js +0 -4
- package/components/p-DqZAXv2t.js +0 -4
- package/components/p-Dv8w0kqz.js +0 -4
- package/components/p-Dw7GNDKq.js +0 -4
- package/components/p-Dww01PNs.js +0 -4
- package/components/p-Gy276IJk.js +0 -4
- package/components/p-ZzLXTvyt.js +0 -4
- package/components/p-cyNmxje6.js +0 -4
- package/components/p-j5IxBIan.js +0 -4
- package/components/p-k_E4tX5Z.js +0 -4
- package/components/p-lVAbdiAu.js +0 -4
- package/components/p-o8OKV5aD.js +0 -4
- package/components/p-rCa2eL0j.js +0 -4
- package/dist/cjs/config-D6C-KlA9.js +0 -201
- package/dist/cjs/input.utils-DQaUGGed.js +0 -150
- package/dist/cjs/ion-datetime_3.cjs.entry.js +0 -3167
- package/dist/cjs/notch-controller-aiy8aQb-.js +0 -155
- package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
- package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
- package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
- package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
- package/dist/collection/components/picker-legacy/picker.js +0 -890
- package/dist/collection/components/picker-legacy/picker.md.css +0 -287
- package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
- package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
- package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
- package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
- package/dist/esm/config-DQCONYYp.js +0 -195
- package/dist/esm/input.utils-Cd23Gdd1.js +0 -147
- package/dist/esm/ion-datetime_3.entry.js +0 -3163
- package/dist/esm/notch-controller-Doqis1td.js +0 -153
- package/dist/ionic/p-01f81ea5.entry.js +0 -4
- package/dist/ionic/p-0283ea73.entry.js +0 -4
- package/dist/ionic/p-02ecae65.entry.js +0 -4
- package/dist/ionic/p-0672f677.entry.js +0 -4
- package/dist/ionic/p-0c06fe60.entry.js +0 -4
- package/dist/ionic/p-0fa9c382.entry.js +0 -4
- package/dist/ionic/p-1af4d74c.entry.js +0 -4
- package/dist/ionic/p-1d7ef0d2.entry.js +0 -4
- package/dist/ionic/p-26f05d3a.entry.js +0 -4
- package/dist/ionic/p-27d30585.entry.js +0 -4
- package/dist/ionic/p-2bb2cb18.entry.js +0 -4
- package/dist/ionic/p-31e7bd05.entry.js +0 -4
- package/dist/ionic/p-32f53010.entry.js +0 -4
- package/dist/ionic/p-35eb8b5c.entry.js +0 -4
- package/dist/ionic/p-37e720da.entry.js +0 -4
- package/dist/ionic/p-3efa137b.entry.js +0 -4
- package/dist/ionic/p-432bd72c.entry.js +0 -4
- package/dist/ionic/p-47214c72.entry.js +0 -4
- package/dist/ionic/p-4e172429.entry.js +0 -4
- package/dist/ionic/p-5c3da84e.entry.js +0 -4
- package/dist/ionic/p-5d1da0a2.entry.js +0 -4
- package/dist/ionic/p-5d8082fe.entry.js +0 -4
- package/dist/ionic/p-613d3c43.entry.js +0 -4
- package/dist/ionic/p-616e4d4f.entry.js +0 -4
- package/dist/ionic/p-65d611b2.entry.js +0 -4
- package/dist/ionic/p-67806e3f.entry.js +0 -4
- package/dist/ionic/p-68cbb2fc.entry.js +0 -4
- package/dist/ionic/p-737ae9eb.entry.js +0 -4
- package/dist/ionic/p-7b0d6248.entry.js +0 -4
- package/dist/ionic/p-7e71e470.entry.js +0 -4
- package/dist/ionic/p-84d5ce05.entry.js +0 -4
- package/dist/ionic/p-85d49987.entry.js +0 -4
- package/dist/ionic/p-8945088b.entry.js +0 -4
- package/dist/ionic/p-8b155568.entry.js +0 -4
- package/dist/ionic/p-90267c4b.entry.js +0 -4
- package/dist/ionic/p-92ad8a67.entry.js +0 -4
- package/dist/ionic/p-9a97d4e0.entry.js +0 -4
- package/dist/ionic/p-9e4b0894.entry.js +0 -4
- package/dist/ionic/p-9eeaBrnk.js +0 -4
- package/dist/ionic/p-B2kaj8sx.js +0 -4
- package/dist/ionic/p-B4y7nxsg.js +0 -4
- package/dist/ionic/p-B8t9Ro6f.js +0 -4
- package/dist/ionic/p-BEOxsxBw.js +0 -4
- package/dist/ionic/p-BJ2NxSHp.js +0 -4
- package/dist/ionic/p-BLiL8g0v.js +0 -4
- package/dist/ionic/p-BTEOs1at.js +0 -4
- package/dist/ionic/p-BUFIpxKM.js +0 -4
- package/dist/ionic/p-BYRVyMu9.js +0 -4
- package/dist/ionic/p-C0eMdTCW.js +0 -4
- package/dist/ionic/p-CKvCXMs9.js +0 -4
- package/dist/ionic/p-CPTv7G9B.js +0 -4
- package/dist/ionic/p-CtWGkNnJ.js +0 -4
- package/dist/ionic/p-CxMyXUtt.js +0 -4
- package/dist/ionic/p-D13Eaw-8.js +0 -4
- package/dist/ionic/p-DCoy2elM.js +0 -4
- package/dist/ionic/p-DiVJyqlX.js +0 -4
- package/dist/ionic/p-DqN5EA2O.js +0 -4
- package/dist/ionic/p-Dr9fTCb1.js +0 -4
- package/dist/ionic/p-DzWaWHGc.js +0 -4
- package/dist/ionic/p-EkpneKVM.js +0 -4
- package/dist/ionic/p-Nqf6uvGh.js +0 -4
- package/dist/ionic/p-SNAkTDfm.js +0 -4
- package/dist/ionic/p-ab00b0d8.entry.js +0 -4
- package/dist/ionic/p-c2175309.entry.js +0 -4
- package/dist/ionic/p-c4b69d9b.entry.js +0 -4
- package/dist/ionic/p-c4d8641b.entry.js +0 -4
- package/dist/ionic/p-ce637936.entry.js +0 -4
- package/dist/ionic/p-da85e958.entry.js +0 -4
- package/dist/ionic/p-dfa8d673.entry.js +0 -4
- package/dist/ionic/p-e139357c.entry.js +0 -4
- package/dist/ionic/p-e7b7a7b1.entry.js +0 -4
- package/dist/ionic/p-f37ca594.entry.js +0 -4
- package/dist/ionic/p-f8dd336e.entry.js +0 -4
- package/dist/ionic/p-f9de757b.entry.js +0 -4
- package/dist/ionic/p-fe11cf51.entry.js +0 -4
- package/dist/ionic/p-mjKAFv89.js +0 -4
- package/dist/ionic/p-o8OKV5aD.js +0 -4
- package/dist/ionic/p-tcQvqkiX.js +0 -5
- package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
- package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
- package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
- package/dist/types/components/picker-legacy/picker.d.ts +0 -158
- package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
- package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
- /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
|
@@ -9,97 +9,39 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
9
9
|
*
|
|
10
10
|
*/
|
|
11
11
|
export class Breadcrumbs {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
for (const breadcrumb of breadcrumbs) {
|
|
42
|
-
breadcrumb.showCollapsedIndicator = false;
|
|
43
|
-
breadcrumb.collapsed = false;
|
|
44
|
-
}
|
|
45
|
-
// If the number of breadcrumbs exceeds the maximum number of items
|
|
46
|
-
// that should show and the items before / after collapse do not
|
|
47
|
-
// exceed the maximum items then we need to collapse the breadcrumbs
|
|
48
|
-
const shouldCollapse = maxItems !== undefined && breadcrumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse <= maxItems;
|
|
49
|
-
if (shouldCollapse) {
|
|
50
|
-
// Show the collapsed indicator in the first breadcrumb that collapses
|
|
51
|
-
breadcrumbs.forEach((breadcrumb, index) => {
|
|
52
|
-
if (index === itemsBeforeCollapse) {
|
|
53
|
-
breadcrumb.showCollapsedIndicator = true;
|
|
54
|
-
}
|
|
55
|
-
// Collapse all breadcrumbs that have an index greater than or equal to
|
|
56
|
-
// the number before collapse and an index less than the total number
|
|
57
|
-
// of breadcrumbs minus the items that should show after the collapse
|
|
58
|
-
if (index >= itemsBeforeCollapse && index < breadcrumbs.length - itemsAfterCollapse) {
|
|
59
|
-
breadcrumb.collapsed = true;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
this.setBreadcrumbSeparator = () => {
|
|
65
|
-
const { itemsAfterCollapse, itemsBeforeCollapse, maxItems } = this;
|
|
66
|
-
const breadcrumbs = this.getBreadcrumbs();
|
|
67
|
-
// Check if an active breadcrumb exists already
|
|
68
|
-
const active = breadcrumbs.find((breadcrumb) => breadcrumb.active);
|
|
69
|
-
// Set the separator on all but the last breadcrumb
|
|
70
|
-
for (const breadcrumb of breadcrumbs) {
|
|
71
|
-
// The only time the last breadcrumb changes is when
|
|
72
|
-
// itemsAfterCollapse is set to 0, in this case the
|
|
73
|
-
// last breadcrumb will be the collapsed indicator
|
|
74
|
-
const last = maxItems !== undefined && itemsAfterCollapse === 0
|
|
75
|
-
? breadcrumb === breadcrumbs[itemsBeforeCollapse]
|
|
76
|
-
: breadcrumb === breadcrumbs[breadcrumbs.length - 1];
|
|
77
|
-
breadcrumb.last = last;
|
|
78
|
-
// If the breadcrumb has defined whether or not to show the
|
|
79
|
-
// separator then use that value, otherwise check if it's the
|
|
80
|
-
// last breadcrumb
|
|
81
|
-
const separator = breadcrumb.separator !== undefined ? breadcrumb.separator : last ? undefined : true;
|
|
82
|
-
breadcrumb.separator = separator;
|
|
83
|
-
// If there is not an active breadcrumb already
|
|
84
|
-
// set the last one to active
|
|
85
|
-
if (!active && last) {
|
|
86
|
-
breadcrumb.active = true;
|
|
87
|
-
this.activeChanged = true;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
this.getBreadcrumbs = () => {
|
|
92
|
-
return Array.from(this.el.querySelectorAll('ion-breadcrumb'));
|
|
93
|
-
};
|
|
94
|
-
this.slotChanged = () => {
|
|
95
|
-
this.resetActiveBreadcrumb();
|
|
96
|
-
this.breadcrumbsInit();
|
|
97
|
-
};
|
|
98
|
-
}
|
|
12
|
+
collapsed;
|
|
13
|
+
activeChanged;
|
|
14
|
+
el;
|
|
15
|
+
/**
|
|
16
|
+
* The color to use from your application's color palette.
|
|
17
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
18
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
19
|
+
*/
|
|
20
|
+
color;
|
|
21
|
+
/**
|
|
22
|
+
* The maximum number of breadcrumbs to show before collapsing.
|
|
23
|
+
*/
|
|
24
|
+
maxItems;
|
|
25
|
+
/**
|
|
26
|
+
* The number of breadcrumbs to show before the collapsed indicator.
|
|
27
|
+
* If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,
|
|
28
|
+
* the breadcrumbs will not be collapsed.
|
|
29
|
+
*/
|
|
30
|
+
itemsBeforeCollapse = 1;
|
|
31
|
+
/**
|
|
32
|
+
* The number of breadcrumbs to show after the collapsed indicator.
|
|
33
|
+
* If `itemsBeforeCollapse` + `itemsAfterCollapse` is greater than `maxItems`,
|
|
34
|
+
* the breadcrumbs will not be collapsed.
|
|
35
|
+
*/
|
|
36
|
+
itemsAfterCollapse = 1;
|
|
37
|
+
/**
|
|
38
|
+
* Emitted when the collapsed indicator is clicked on.
|
|
39
|
+
*/
|
|
40
|
+
ionCollapsedClick;
|
|
99
41
|
onCollapsedClick(ev) {
|
|
100
42
|
const breadcrumbs = this.getBreadcrumbs();
|
|
101
43
|
const collapsedBreadcrumbs = breadcrumbs.filter((breadcrumb) => breadcrumb.collapsed);
|
|
102
|
-
this.ionCollapsedClick.emit(
|
|
44
|
+
this.ionCollapsedClick.emit({ ...ev.detail, collapsedBreadcrumbs });
|
|
103
45
|
}
|
|
104
46
|
maxItemsChanged() {
|
|
105
47
|
this.resetActiveBreadcrumb();
|
|
@@ -108,6 +50,79 @@ export class Breadcrumbs {
|
|
|
108
50
|
componentWillLoad() {
|
|
109
51
|
this.breadcrumbsInit();
|
|
110
52
|
}
|
|
53
|
+
breadcrumbsInit = () => {
|
|
54
|
+
this.setBreadcrumbSeparator();
|
|
55
|
+
this.setMaxItems();
|
|
56
|
+
};
|
|
57
|
+
resetActiveBreadcrumb = () => {
|
|
58
|
+
const breadcrumbs = this.getBreadcrumbs();
|
|
59
|
+
// Only reset the active breadcrumb if we were the ones to change it
|
|
60
|
+
// otherwise use the one set on the component
|
|
61
|
+
const activeBreadcrumb = breadcrumbs.find((breadcrumb) => breadcrumb.active);
|
|
62
|
+
if (activeBreadcrumb && this.activeChanged) {
|
|
63
|
+
activeBreadcrumb.active = false;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
setMaxItems = () => {
|
|
67
|
+
const { itemsAfterCollapse, itemsBeforeCollapse, maxItems } = this;
|
|
68
|
+
const breadcrumbs = this.getBreadcrumbs();
|
|
69
|
+
for (const breadcrumb of breadcrumbs) {
|
|
70
|
+
breadcrumb.showCollapsedIndicator = false;
|
|
71
|
+
breadcrumb.collapsed = false;
|
|
72
|
+
}
|
|
73
|
+
// If the number of breadcrumbs exceeds the maximum number of items
|
|
74
|
+
// that should show and the items before / after collapse do not
|
|
75
|
+
// exceed the maximum items then we need to collapse the breadcrumbs
|
|
76
|
+
const shouldCollapse = maxItems !== undefined && breadcrumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse <= maxItems;
|
|
77
|
+
if (shouldCollapse) {
|
|
78
|
+
// Show the collapsed indicator in the first breadcrumb that collapses
|
|
79
|
+
breadcrumbs.forEach((breadcrumb, index) => {
|
|
80
|
+
if (index === itemsBeforeCollapse) {
|
|
81
|
+
breadcrumb.showCollapsedIndicator = true;
|
|
82
|
+
}
|
|
83
|
+
// Collapse all breadcrumbs that have an index greater than or equal to
|
|
84
|
+
// the number before collapse and an index less than the total number
|
|
85
|
+
// of breadcrumbs minus the items that should show after the collapse
|
|
86
|
+
if (index >= itemsBeforeCollapse && index < breadcrumbs.length - itemsAfterCollapse) {
|
|
87
|
+
breadcrumb.collapsed = true;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
setBreadcrumbSeparator = () => {
|
|
93
|
+
const { itemsAfterCollapse, itemsBeforeCollapse, maxItems } = this;
|
|
94
|
+
const breadcrumbs = this.getBreadcrumbs();
|
|
95
|
+
// Check if an active breadcrumb exists already
|
|
96
|
+
const active = breadcrumbs.find((breadcrumb) => breadcrumb.active);
|
|
97
|
+
// Set the separator on all but the last breadcrumb
|
|
98
|
+
for (const breadcrumb of breadcrumbs) {
|
|
99
|
+
// The only time the last breadcrumb changes is when
|
|
100
|
+
// itemsAfterCollapse is set to 0, in this case the
|
|
101
|
+
// last breadcrumb will be the collapsed indicator
|
|
102
|
+
const last = maxItems !== undefined && itemsAfterCollapse === 0
|
|
103
|
+
? breadcrumb === breadcrumbs[itemsBeforeCollapse]
|
|
104
|
+
: breadcrumb === breadcrumbs[breadcrumbs.length - 1];
|
|
105
|
+
breadcrumb.last = last;
|
|
106
|
+
// If the breadcrumb has defined whether or not to show the
|
|
107
|
+
// separator then use that value, otherwise check if it's the
|
|
108
|
+
// last breadcrumb
|
|
109
|
+
const separator = breadcrumb.separator !== undefined ? breadcrumb.separator : last ? undefined : true;
|
|
110
|
+
breadcrumb.separator = separator;
|
|
111
|
+
// If there is not an active breadcrumb already
|
|
112
|
+
// set the last one to active
|
|
113
|
+
if (!active && last) {
|
|
114
|
+
breadcrumb.active = true;
|
|
115
|
+
this.activeChanged = true;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
getBreadcrumbs = () => {
|
|
120
|
+
return Array.from(this.el.querySelectorAll('ion-breadcrumb'));
|
|
121
|
+
};
|
|
122
|
+
slotChanged = () => {
|
|
123
|
+
this.resetActiveBreadcrumb();
|
|
124
|
+
this.breadcrumbsInit();
|
|
125
|
+
};
|
|
111
126
|
render() {
|
|
112
127
|
const { color, collapsed } = this;
|
|
113
128
|
const mode = getIonMode(this);
|
|
@@ -17,71 +17,113 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
17
17
|
* @part native - The native HTML button or anchor element that wraps all child elements.
|
|
18
18
|
*/
|
|
19
19
|
export class Button {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
* If `true`, activates a button with a heavier font weight.
|
|
46
|
-
*/
|
|
47
|
-
this.strong = false;
|
|
48
|
-
/**
|
|
49
|
-
* The type of the button.
|
|
50
|
-
*/
|
|
51
|
-
this.type = 'button';
|
|
52
|
-
this.handleClick = (ev) => {
|
|
53
|
-
const { el } = this;
|
|
54
|
-
if (this.type === 'button') {
|
|
55
|
-
openURL(this.href, ev, this.routerDirection, this.routerAnimation);
|
|
56
|
-
}
|
|
57
|
-
else if (hasShadowDom(el)) {
|
|
58
|
-
this.submitForm(ev);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
this.onFocus = () => {
|
|
62
|
-
this.ionFocus.emit();
|
|
63
|
-
};
|
|
64
|
-
this.onBlur = () => {
|
|
65
|
-
this.ionBlur.emit();
|
|
66
|
-
};
|
|
67
|
-
this.slotChanged = () => {
|
|
68
|
-
/**
|
|
69
|
-
* Ensures that the 'has-icon-only' class is properly added
|
|
70
|
-
* or removed from `ion-button` when manipulating the
|
|
71
|
-
* `icon-only` slot.
|
|
72
|
-
*
|
|
73
|
-
* Without this, the 'has-icon-only' class is only checked
|
|
74
|
-
* or added when `ion-button` component first renders.
|
|
75
|
-
*/
|
|
76
|
-
this.isCircle = this.hasIconOnly;
|
|
77
|
-
};
|
|
78
|
-
}
|
|
20
|
+
inItem = false;
|
|
21
|
+
inListHeader = false;
|
|
22
|
+
inToolbar = false;
|
|
23
|
+
formButtonEl = null;
|
|
24
|
+
formEl = null;
|
|
25
|
+
inheritedAttributes = {};
|
|
26
|
+
el;
|
|
27
|
+
/**
|
|
28
|
+
* If `true`, the button only has an icon.
|
|
29
|
+
*/
|
|
30
|
+
isCircle = false;
|
|
31
|
+
/**
|
|
32
|
+
* The color to use from your application's color palette.
|
|
33
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
34
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
35
|
+
*/
|
|
36
|
+
color;
|
|
37
|
+
/**
|
|
38
|
+
* The type of button.
|
|
39
|
+
*/
|
|
40
|
+
buttonType = 'button';
|
|
41
|
+
/**
|
|
42
|
+
* If `true`, the user cannot interact with the button.
|
|
43
|
+
*/
|
|
44
|
+
disabled = false;
|
|
79
45
|
disabledChanged() {
|
|
80
46
|
const { disabled } = this;
|
|
81
47
|
if (this.formButtonEl) {
|
|
82
48
|
this.formButtonEl.disabled = disabled;
|
|
83
49
|
}
|
|
84
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Set to `"block"` for a full-width button or to `"full"` for a full-width button
|
|
53
|
+
* with square corners and no left or right borders.
|
|
54
|
+
*/
|
|
55
|
+
expand;
|
|
56
|
+
/**
|
|
57
|
+
* Set to `"clear"` for a transparent button that resembles a flat button, to `"outline"`
|
|
58
|
+
* for a transparent button with a border, or to `"solid"` for a button with a filled background.
|
|
59
|
+
* The default fill is `"solid"` except inside of a toolbar, where the default is `"clear"`.
|
|
60
|
+
*/
|
|
61
|
+
fill;
|
|
62
|
+
/**
|
|
63
|
+
* When using a router, it specifies the transition direction when navigating to
|
|
64
|
+
* another page using `href`.
|
|
65
|
+
*/
|
|
66
|
+
routerDirection = 'forward';
|
|
67
|
+
/**
|
|
68
|
+
* When using a router, it specifies the transition animation when navigating to
|
|
69
|
+
* another page using `href`.
|
|
70
|
+
*/
|
|
71
|
+
routerAnimation;
|
|
72
|
+
/**
|
|
73
|
+
* This attribute instructs browsers to download a URL instead of navigating to
|
|
74
|
+
* it, so the user will be prompted to save it as a local file. If the attribute
|
|
75
|
+
* has a value, it is used as the pre-filled file name in the Save prompt
|
|
76
|
+
* (the user can still change the file name if they want).
|
|
77
|
+
*/
|
|
78
|
+
download;
|
|
79
|
+
/**
|
|
80
|
+
* Contains a URL or a URL fragment that the hyperlink points to.
|
|
81
|
+
* If this property is set, an anchor tag will be rendered.
|
|
82
|
+
*/
|
|
83
|
+
href;
|
|
84
|
+
/**
|
|
85
|
+
* Specifies the relationship of the target object to the link object.
|
|
86
|
+
* The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
|
|
87
|
+
*/
|
|
88
|
+
rel;
|
|
89
|
+
/**
|
|
90
|
+
* Set to `"round"` for a button with more rounded corners.
|
|
91
|
+
*/
|
|
92
|
+
shape;
|
|
93
|
+
/**
|
|
94
|
+
* Set to `"small"` for a button with less height and padding, to `"default"`
|
|
95
|
+
* for a button with the default height and padding, or to `"large"` for a button
|
|
96
|
+
* with more height and padding. By default the size is unset, unless the button
|
|
97
|
+
* is inside of an item, where the size is `"small"` by default. Set the size to
|
|
98
|
+
* `"default"` inside of an item to make it a standard size button.
|
|
99
|
+
*/
|
|
100
|
+
size;
|
|
101
|
+
/**
|
|
102
|
+
* If `true`, activates a button with a heavier font weight.
|
|
103
|
+
*/
|
|
104
|
+
strong = false;
|
|
105
|
+
/**
|
|
106
|
+
* Specifies where to display the linked URL.
|
|
107
|
+
* Only applies when an `href` is provided.
|
|
108
|
+
* Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
|
|
109
|
+
*/
|
|
110
|
+
target;
|
|
111
|
+
/**
|
|
112
|
+
* The type of the button.
|
|
113
|
+
*/
|
|
114
|
+
type = 'button';
|
|
115
|
+
/**
|
|
116
|
+
* The HTML form element or form element id. Used to submit a form when the button is not a child of the form.
|
|
117
|
+
*/
|
|
118
|
+
form;
|
|
119
|
+
/**
|
|
120
|
+
* Emitted when the button has focus.
|
|
121
|
+
*/
|
|
122
|
+
ionFocus;
|
|
123
|
+
/**
|
|
124
|
+
* Emitted when the button loses focus.
|
|
125
|
+
*/
|
|
126
|
+
ionBlur;
|
|
85
127
|
/**
|
|
86
128
|
* This component is used within the `ion-input-password-toggle` component
|
|
87
129
|
* to toggle the visibility of the password input.
|
|
@@ -93,7 +135,10 @@ export class Button {
|
|
|
93
135
|
* @param propName
|
|
94
136
|
*/
|
|
95
137
|
onAriaChanged(newValue, _oldValue, propName) {
|
|
96
|
-
this.inheritedAttributes =
|
|
138
|
+
this.inheritedAttributes = {
|
|
139
|
+
...this.inheritedAttributes,
|
|
140
|
+
[propName]: newValue,
|
|
141
|
+
};
|
|
97
142
|
forceUpdate(this);
|
|
98
143
|
}
|
|
99
144
|
/**
|
|
@@ -206,6 +251,32 @@ export class Button {
|
|
|
206
251
|
this.formButtonEl.click();
|
|
207
252
|
}
|
|
208
253
|
}
|
|
254
|
+
handleClick = (ev) => {
|
|
255
|
+
const { el } = this;
|
|
256
|
+
if (this.type === 'button') {
|
|
257
|
+
openURL(this.href, ev, this.routerDirection, this.routerAnimation);
|
|
258
|
+
}
|
|
259
|
+
else if (hasShadowDom(el)) {
|
|
260
|
+
this.submitForm(ev);
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
onFocus = () => {
|
|
264
|
+
this.ionFocus.emit();
|
|
265
|
+
};
|
|
266
|
+
onBlur = () => {
|
|
267
|
+
this.ionBlur.emit();
|
|
268
|
+
};
|
|
269
|
+
slotChanged = () => {
|
|
270
|
+
/**
|
|
271
|
+
* Ensures that the 'has-icon-only' class is properly added
|
|
272
|
+
* or removed from `ion-button` when manipulating the
|
|
273
|
+
* `icon-only` slot.
|
|
274
|
+
*
|
|
275
|
+
* Without this, the 'has-icon-only' class is only checked
|
|
276
|
+
* or added when `ion-button` component first renders.
|
|
277
|
+
*/
|
|
278
|
+
this.isCircle = this.hasIconOnly;
|
|
279
|
+
};
|
|
209
280
|
render() {
|
|
210
281
|
const mode = getIonMode(this);
|
|
211
282
|
const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong, inheritedAttributes, } = this;
|
|
@@ -248,7 +319,7 @@ export class Button {
|
|
|
248
319
|
'button-disabled': disabled,
|
|
249
320
|
'ion-activatable': true,
|
|
250
321
|
'ion-focusable': true,
|
|
251
|
-
}) }, h(TagType,
|
|
322
|
+
}) }, h(TagType, { key: '53f4cb366bac796ab38f609e858bc1a55fce7641', ...attrs, class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, ...inheritedAttributes }, h("span", { key: '40e127fc11c889e77b8bf02e8714f0dea83bfce7', class: "button-inner" }, h("slot", { key: 'e11c8c86d3f0894658a8999129425c9c111f5540', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: '105ea9259ea17036359e6fe7eced8b267ab8e0f6', name: "start" }), h("slot", { key: '0d7b0966e328a5b10b0562dacbd638dfd08d92af' }), h("slot", { key: 'c542b40685802464d69f57ecc0a7c3465d24a417', name: "end" })), mode === 'md' && h("ion-ripple-effect", { key: '46df4cbeb057b0a8daab92226121d8bbb8c0ee07', type: this.rippleType }))));
|
|
252
323
|
}
|
|
253
324
|
static get is() { return "ion-button"; }
|
|
254
325
|
static get encapsulation() { return "shadow"; }
|
|
@@ -4,21 +4,19 @@
|
|
|
4
4
|
import { Host, h } from "@stencil/core";
|
|
5
5
|
import { getIonMode } from "../../global/ionic-global";
|
|
6
6
|
export class Buttons {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
this.collapse = false;
|
|
21
|
-
}
|
|
7
|
+
/**
|
|
8
|
+
* If true, buttons will disappear when its
|
|
9
|
+
* parent toolbar has fully collapsed if the toolbar
|
|
10
|
+
* is not the first toolbar. If the toolbar is the
|
|
11
|
+
* first toolbar, the buttons will be hidden and will
|
|
12
|
+
* only be shown once all toolbars have fully collapsed.
|
|
13
|
+
*
|
|
14
|
+
* Only applies in `ios` mode with `collapse` set to
|
|
15
|
+
* `true` on `ion-header`.
|
|
16
|
+
*
|
|
17
|
+
* Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
|
|
18
|
+
*/
|
|
19
|
+
collapse = false;
|
|
22
20
|
render() {
|
|
23
21
|
const mode = getIonMode(this);
|
|
24
22
|
return (h(Host, { key: '58c1fc5eb867d0731c63549b1ccb3ec3bbbe6e1b', class: {
|
|
@@ -11,26 +11,59 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
11
11
|
* @part native - The native HTML button, anchor, or div element that wraps all child elements.
|
|
12
12
|
*/
|
|
13
13
|
export class Card {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
14
|
+
inheritedAriaAttributes = {};
|
|
15
|
+
el;
|
|
16
|
+
/**
|
|
17
|
+
* The color to use from your application's color palette.
|
|
18
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
19
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
20
|
+
*/
|
|
21
|
+
color;
|
|
22
|
+
/**
|
|
23
|
+
* If `true`, a button tag will be rendered and the card will be tappable.
|
|
24
|
+
*/
|
|
25
|
+
button = false;
|
|
26
|
+
/**
|
|
27
|
+
* The type of the button. Only used when an `onclick` or `button` property is present.
|
|
28
|
+
*/
|
|
29
|
+
type = 'button';
|
|
30
|
+
/**
|
|
31
|
+
* If `true`, the user cannot interact with the card.
|
|
32
|
+
*/
|
|
33
|
+
disabled = false;
|
|
34
|
+
/**
|
|
35
|
+
* This attribute instructs browsers to download a URL instead of navigating to
|
|
36
|
+
* it, so the user will be prompted to save it as a local file. If the attribute
|
|
37
|
+
* has a value, it is used as the pre-filled file name in the Save prompt
|
|
38
|
+
* (the user can still change the file name if they want).
|
|
39
|
+
*/
|
|
40
|
+
download;
|
|
41
|
+
/**
|
|
42
|
+
* Contains a URL or a URL fragment that the hyperlink points to.
|
|
43
|
+
* If this property is set, an anchor tag will be rendered.
|
|
44
|
+
*/
|
|
45
|
+
href;
|
|
46
|
+
/**
|
|
47
|
+
* Specifies the relationship of the target object to the link object.
|
|
48
|
+
* The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
|
|
49
|
+
*/
|
|
50
|
+
rel;
|
|
51
|
+
/**
|
|
52
|
+
* When using a router, it specifies the transition direction when navigating to
|
|
53
|
+
* another page using `href`.
|
|
54
|
+
*/
|
|
55
|
+
routerDirection = 'forward';
|
|
56
|
+
/**
|
|
57
|
+
* When using a router, it specifies the transition animation when navigating to
|
|
58
|
+
* another page using `href`.
|
|
59
|
+
*/
|
|
60
|
+
routerAnimation;
|
|
61
|
+
/**
|
|
62
|
+
* Specifies where to display the linked URL.
|
|
63
|
+
* Only applies when an `href` is provided.
|
|
64
|
+
* Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
|
|
65
|
+
*/
|
|
66
|
+
target;
|
|
34
67
|
componentWillLoad() {
|
|
35
68
|
this.inheritedAriaAttributes = inheritAttributes(this.el, ['aria-label']);
|
|
36
69
|
}
|
|
@@ -52,7 +85,7 @@ export class Card {
|
|
|
52
85
|
rel: this.rel,
|
|
53
86
|
target: this.target,
|
|
54
87
|
};
|
|
55
|
-
return (h(TagType,
|
|
88
|
+
return (h(TagType, { ...attrs, ...inheritedAriaAttributes, class: "card-native", part: "native", disabled: this.disabled, onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation) }, h("slot", null), clickable && mode === 'md' && h("ion-ripple-effect", null)));
|
|
56
89
|
}
|
|
57
90
|
render() {
|
|
58
91
|
const mode = getIonMode(this);
|
|
@@ -8,14 +8,18 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
8
8
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
9
9
|
*/
|
|
10
10
|
export class CardHeader {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
/**
|
|
12
|
+
* The color to use from your application's color palette.
|
|
13
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
14
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
15
|
+
*/
|
|
16
|
+
color;
|
|
17
|
+
/**
|
|
18
|
+
* If `true`, the card header will be translucent.
|
|
19
|
+
* Only applies when the mode is `"ios"` and the device supports
|
|
20
|
+
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
|
|
21
|
+
*/
|
|
22
|
+
translucent = false;
|
|
19
23
|
render() {
|
|
20
24
|
const mode = getIonMode(this);
|
|
21
25
|
return (h(Host, { key: '64246b81931203a64d553c788cd736f41e23f37b', class: createColorClasses(this.color, {
|
|
@@ -8,6 +8,12 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
8
8
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
9
9
|
*/
|
|
10
10
|
export class CardSubtitle {
|
|
11
|
+
/**
|
|
12
|
+
* The color to use from your application's color palette.
|
|
13
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
14
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
15
|
+
*/
|
|
16
|
+
color;
|
|
11
17
|
render() {
|
|
12
18
|
const mode = getIonMode(this);
|
|
13
19
|
return (h(Host, { key: '84d820a19d9074f9c8bc61ccba1ca40062a60b73', role: "heading", "aria-level": "3", class: createColorClasses(this.color, {
|
|
@@ -8,6 +8,12 @@ import { getIonMode } from "../../global/ionic-global";
|
|
|
8
8
|
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
|
|
9
9
|
*/
|
|
10
10
|
export class CardTitle {
|
|
11
|
+
/**
|
|
12
|
+
* The color to use from your application's color palette.
|
|
13
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
|
14
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
|
15
|
+
*/
|
|
16
|
+
color;
|
|
11
17
|
render() {
|
|
12
18
|
const mode = getIonMode(this);
|
|
13
19
|
return (h(Host, { key: 'fca001a86396e83718d5211cd71912fdf40dea2f', role: "heading", "aria-level": "2", class: createColorClasses(this.color, {
|