@sparkle-learning/core 0.0.32 → 0.0.35
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/dist/cjs/PrivateRoute-4abc9d29.js +35 -0
- package/dist/cjs/{active-router-eedb3bfe.js → active-router-f9e18bd8.js} +1 -1
- package/dist/cjs/{animation-6132e37f.js → animation-ee586546.js} +83 -78
- package/dist/cjs/{app-globals-9869bf67.js → app-globals-33c9f31b.js} +1 -1
- package/dist/cjs/{PrivateRoute-043bb7d3.js → auth.service-4b584cd7.js} +4 -33
- package/dist/cjs/{auth.store-ff3fda09.js → auth.store-1e630a7d.js} +48 -725
- package/dist/cjs/compass-svg.cjs.entry.js +1 -1
- package/dist/cjs/context-consumer.cjs.entry.js +1 -1
- package/dist/cjs/course-select.cjs.entry.js +1 -1
- package/dist/cjs/{cubic-bezier-293f4663.js → cubic-bezier-53d26d05.js} +10 -11
- package/dist/cjs/dom-utils-b8befdd5.js +63 -0
- package/dist/cjs/{facilitator.service-faac5c0c.js → facilitator.service-9e990274.js} +8 -7
- package/dist/cjs/{feed.service-66405969.js → feed.service-b4f09441.js} +8 -7
- package/dist/cjs/{focus-visible-ad3828a7.js → focus-visible-b0b07ba6.js} +19 -6
- package/dist/cjs/{framework-delegate-2470a246.js → framework-delegate-59a98abd.js} +11 -13
- package/dist/cjs/{gesture-controller-07c31f70.js → gesture-controller-0eb5579e.js} +1 -1
- package/dist/cjs/{haptic-91e86eb7.js → haptic-780f33c4.js} +3 -2
- package/dist/cjs/{hardware-back-button-f7b5d99e.js → hardware-back-button-92d97ff8.js} +8 -8
- package/dist/cjs/header-mobile-collapse_2.cjs.entry.js +112 -0
- package/dist/cjs/{helpers-7e28976c.js → helpers-c2496722.js} +81 -14
- package/dist/cjs/httpService-7211d93b.js +685 -0
- package/dist/cjs/{icons-80d477f6.js → icons-c61db785.js} +1 -1
- package/dist/cjs/{index-43642662.js → index-12082cba.js} +21 -18
- package/dist/cjs/{index-459a5fa9.js → index-15ea05f5.js} +19 -28
- package/dist/cjs/{index-bae2a754.js → index-51e8292e.js} +18 -11
- package/dist/cjs/index-70e63f5b.js +3071 -0
- package/dist/cjs/{index-b12edb26.js → index-787d4498.js} +17 -25
- package/dist/cjs/{tap-click-1caf1780.js → index-8b5629a6.js} +30 -20
- package/dist/cjs/{index-8540d72e.js → index-975586fd.js} +7 -1
- package/dist/cjs/index-9c7b27e4.js +140 -0
- package/dist/cjs/{index-185f9c5a.js → index-af080b50.js} +9 -8
- package/dist/cjs/index-e56e09b8.js +38 -0
- package/dist/cjs/index.cjs.js +13 -11
- package/dist/cjs/{index.es-ef3efdfb.js → index.es-38cbcdbe.js} +2 -7
- package/dist/cjs/injectHistory-7206bbb9.js +9 -0
- package/dist/cjs/{input-shims-6c442c9f.js → input-shims-eff63b88.js} +21 -24
- package/dist/cjs/ion-accordion-group.cjs.entry.js +17 -9
- package/dist/cjs/ion-accordion.cjs.entry.js +19 -23
- package/dist/cjs/ion-action-sheet_4.cjs.entry.js +216 -212
- package/dist/cjs/ion-app.cjs.entry.js +8 -8
- package/dist/cjs/ion-avatar_16.cjs.entry.js +1907 -0
- package/dist/cjs/ion-back-button.cjs.entry.js +11 -11
- package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
- package/dist/cjs/ion-badge.cjs.entry.js +3 -3
- package/dist/cjs/ion-breadcrumb.cjs.entry.js +13 -21
- package/dist/cjs/ion-breadcrumbs.cjs.entry.js +12 -14
- package/dist/cjs/ion-buttons_3.cjs.entry.js +13 -13
- package/dist/cjs/ion-card-header.cjs.entry.js +4 -4
- package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
- package/dist/cjs/ion-checkbox_4.cjs.entry.js +360 -0
- package/dist/cjs/ion-chip.cjs.entry.js +3 -3
- package/dist/cjs/ion-col_3.cjs.entry.js +159 -0
- package/dist/cjs/ion-content_2.cjs.entry.js +59 -52
- package/dist/cjs/ion-datetime-button.cjs.entry.js +312 -0
- package/dist/cjs/ion-datetime.cjs.entry.js +752 -1245
- package/dist/cjs/ion-fab-button.cjs.entry.js +25 -9
- package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
- package/dist/cjs/ion-fab.cjs.entry.js +15 -13
- package/dist/cjs/ion-footer.cjs.entry.js +16 -14
- package/dist/cjs/ion-img.cjs.entry.js +4 -4
- package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
- package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -15
- package/dist/cjs/ion-item-divider.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-group.cjs.entry.js +3 -3
- package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
- package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-sliding.cjs.entry.js +41 -46
- package/dist/cjs/ion-loading.cjs.entry.js +23 -35
- package/dist/cjs/ion-menu-button.cjs.entry.js +13 -13
- package/dist/cjs/ion-menu-toggle.cjs.entry.js +7 -7
- package/dist/cjs/ion-menu.cjs.entry.js +47 -40
- package/dist/cjs/ion-modal.cjs.entry.js +935 -282
- package/dist/cjs/ion-nav-link.cjs.entry.js +2 -2
- package/dist/cjs/ion-nav.cjs.entry.js +45 -35
- package/dist/cjs/ion-picker-column-internal_2.cjs.entry.js +151 -43
- package/dist/cjs/ion-picker-column.cjs.entry.js +23 -25
- package/dist/cjs/ion-picker.cjs.entry.js +15 -17
- package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -8
- package/dist/cjs/ion-range.cjs.entry.js +515 -0
- package/dist/cjs/ion-refresher-content.cjs.entry.js +6 -12
- package/dist/cjs/ion-refresher.cjs.entry.js +68 -50
- package/dist/cjs/ion-reorder-group.cjs.entry.js +15 -16
- package/dist/cjs/ion-reorder.cjs.entry.js +3 -3
- package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route.cjs.entry.js +1 -1
- package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
- package/dist/cjs/ion-router-outlet.cjs.entry.js +22 -20
- package/dist/cjs/ion-router.cjs.entry.js +32 -31
- package/dist/cjs/ion-searchbar.cjs.entry.js +14 -16
- package/dist/cjs/ion-segment-button.cjs.entry.js +8 -8
- package/dist/cjs/ion-segment.cjs.entry.js +24 -26
- package/dist/cjs/ion-select_2.cjs.entry.js +59 -56
- package/dist/cjs/ion-skeleton-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-slide.cjs.entry.js +3 -3
- package/dist/cjs/ion-slides.cjs.entry.js +23 -23
- package/dist/cjs/ion-split-pane.cjs.entry.js +10 -11
- package/dist/cjs/ion-tab-bar.cjs.entry.js +5 -5
- package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab.cjs.entry.js +4 -4
- package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
- package/dist/cjs/ion-text.cjs.entry.js +24 -0
- package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +23 -43
- package/dist/cjs/ion-virtual-scroll.cjs.entry.js +29 -28
- package/dist/cjs/{ionic-global-878073d1.js → ionic-global-2cde9d3a.js} +27 -31
- package/dist/cjs/{ios.transition-c3bfb096.js → ios.transition-da235483.js} +71 -51
- package/dist/cjs/{keyboard-dfd76ac3.js → keyboard-91096619.js} +3 -3
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/match-path-84c9f7ca.js +511 -0
- package/dist/cjs/{md.transition-7eb9a1a7.js → md.transition-be429e07.js} +9 -16
- package/dist/cjs/{menu-toggle-util-cb549c2c.js → menu-toggle-util-7a01448c.js} +2 -2
- package/dist/cjs/{overlays-0a748609.js → overlays-32df265a.js} +29 -29
- package/dist/cjs/parse-d0071120.js +1237 -0
- package/dist/cjs/{purify-d0ad2883.js → purify-fb9c107e.js} +1 -1
- package/dist/cjs/sparkle-animation-player.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-card_3.cjs.entry.js +91 -0
- package/dist/cjs/sparkle-character-intro.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-code.cjs.entry.js +2 -2
- package/dist/cjs/sparkle-compass-post.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-compass.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-core.cjs.js +5 -5
- package/dist/cjs/sparkle-course-root.cjs.entry.js +146 -0
- package/dist/cjs/sparkle-dropdown.cjs.entry.js +61 -0
- package/dist/cjs/sparkle-emoji.cjs.entry.js +1 -1
- package/dist/cjs/{header-mobile-collapse_61.cjs.entry.js → sparkle-export-lessons_6.cjs.entry.js} +8865 -17663
- package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +2130 -0
- package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +8 -7
- package/dist/cjs/sparkle-feedback.cjs.entry.js +9 -7
- package/dist/cjs/sparkle-goal-form.cjs.entry.js +8 -7
- package/dist/cjs/sparkle-goal-progress.cjs.entry.js +19 -0
- package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-gww-graph.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-gww-item.cjs.entry.js +74 -0
- package/dist/cjs/sparkle-intro.cjs.entry.js +26 -0
- package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +2 -2
- package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +236 -0
- package/dist/cjs/sparkle-modal-image.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-notfound-page.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-overlay.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-poll.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-select.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-tab.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-tabs.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-validation-error.cjs.entry.js +21 -0
- package/dist/cjs/sparkle-youtube.cjs.entry.js +1 -1
- package/dist/cjs/{spinner-configs-6f6b7ef0.js → spinner-configs-0ac05f2d.js} +43 -43
- package/dist/cjs/{status-tap-8697433c.js → status-tap-033befa2.js} +7 -5
- package/dist/cjs/stencil-async-content.cjs.entry.js +1 -1
- package/dist/cjs/stencil-route-link.cjs.entry.js +77 -0
- package/dist/cjs/stencil-route-title.cjs.entry.js +2 -2
- package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
- package/dist/cjs/stencil-router-redirect.cjs.entry.js +32 -0
- package/dist/cjs/student.service-d48f1c99.js +61 -0
- package/dist/cjs/{swipe-back-7e08b5e0.js → swipe-back-4a826f9b.js} +5 -5
- package/dist/cjs/{theme-4252ac15.js → theme-b0b295c1.js} +6 -5
- package/dist/cjs/user.store-8a049c4e.js +21 -0
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.css +16 -0
- package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.js +197 -3
- package/dist/collection/components/sparkle-intro/sparkle-intro.css +15 -0
- package/dist/collection/components/sparkle-intro/sparkle-intro.js +35 -0
- package/dist/esm/PrivateRoute-530ef873.js +33 -0
- package/dist/esm/{active-router-909088d6.js → active-router-9843e205.js} +1 -1
- package/dist/esm/{animation-b306f6c2.js → animation-d98d3e81.js} +83 -78
- package/dist/esm/{app-globals-5c736ae5.js → app-globals-08edc964.js} +1 -1
- package/dist/esm/{PrivateRoute-b9937c45.js → auth.service-79389d86.js} +4 -32
- package/dist/esm/{auth.store-3ed2389e.js → auth.store-b812b34b.js} +45 -725
- package/dist/esm/compass-svg.entry.js +1 -1
- package/dist/esm/context-consumer.entry.js +1 -1
- package/dist/esm/course-select.entry.js +1 -1
- package/dist/esm/{cubic-bezier-a7ad9c8e.js → cubic-bezier-4c0db14f.js} +10 -11
- package/dist/esm/dom-utils-8e73e88b.js +55 -0
- package/dist/esm/{facilitator.service-ec0a9739.js → facilitator.service-7babc526.js} +2 -1
- package/dist/esm/{feed.service-33b83cb7.js → feed.service-80fbe79d.js} +3 -2
- package/dist/esm/{focus-visible-40cda868.js → focus-visible-4e9a0764.js} +19 -6
- package/dist/esm/{framework-delegate-3bc58c27.js → framework-delegate-9b329182.js} +11 -13
- package/dist/esm/{gesture-controller-686622ba.js → gesture-controller-7be18351.js} +1 -1
- package/dist/esm/{haptic-99c9e346.js → haptic-3a76a65c.js} +4 -3
- package/dist/esm/{hardware-back-button-b6ccf74a.js → hardware-back-button-fa04d6e9.js} +8 -8
- package/dist/esm/header-mobile-collapse_2.entry.js +107 -0
- package/dist/esm/{helpers-39367fe1.js → helpers-94a5855b.js} +81 -15
- package/dist/esm/httpService-b2b7a1ad.js +683 -0
- package/dist/esm/{icons-61dec176.js → icons-16f1a80b.js} +2 -2
- package/dist/esm/{index-a12c14bd.js → index-21661af2.js} +22 -19
- package/dist/esm/{tap-click-13f1fb0d.js → index-230a26c9.js} +30 -20
- package/dist/esm/{index-c26d8655.js → index-478745be.js} +17 -25
- package/dist/esm/{index-dc61f152.js → index-4ec6b9c2.js} +5 -2
- package/dist/esm/{index-9594837e.js → index-95307148.js} +19 -28
- package/dist/esm/{index-5568e3fa.js → index-9db08224.js} +19 -12
- package/dist/esm/index-ab1c6a9f.js +3067 -0
- package/dist/esm/{index-435af8e6.js → index-be6112f8.js} +9 -8
- package/dist/esm/index-c23a1826.js +128 -0
- package/dist/esm/index-dad75b83.js +34 -0
- package/dist/esm/{index.es-97dd8174.js → index.es-1c3b1ef3.js} +2 -7
- package/dist/esm/index.js +9 -7
- package/dist/esm/injectHistory-4bfff188.js +7 -0
- package/dist/esm/{input-shims-cc98ea92.js → input-shims-ce5c01df.js} +21 -24
- package/dist/esm/ion-accordion-group.entry.js +17 -9
- package/dist/esm/ion-accordion.entry.js +19 -23
- package/dist/esm/ion-action-sheet_4.entry.js +216 -212
- package/dist/esm/ion-app.entry.js +8 -8
- package/dist/esm/ion-avatar_16.entry.js +1888 -0
- package/dist/esm/ion-back-button.entry.js +11 -11
- package/dist/esm/ion-backdrop.entry.js +4 -4
- package/dist/esm/ion-badge.entry.js +3 -3
- package/dist/esm/ion-breadcrumb.entry.js +13 -21
- package/dist/esm/ion-breadcrumbs.entry.js +12 -14
- package/dist/esm/ion-buttons_3.entry.js +13 -13
- package/dist/esm/ion-card-header.entry.js +4 -4
- package/dist/esm/ion-card-subtitle.entry.js +4 -4
- package/dist/esm/ion-checkbox_4.entry.js +353 -0
- package/dist/esm/ion-chip.entry.js +3 -3
- package/dist/esm/ion-col_3.entry.js +153 -0
- package/dist/esm/ion-content_2.entry.js +59 -52
- package/dist/esm/ion-datetime-button.entry.js +308 -0
- package/dist/esm/ion-datetime.entry.js +723 -1216
- package/dist/esm/ion-fab-button.entry.js +25 -9
- package/dist/esm/ion-fab-list.entry.js +4 -4
- package/dist/esm/ion-fab.entry.js +15 -13
- package/dist/esm/ion-footer.entry.js +16 -14
- package/dist/esm/ion-img.entry.js +4 -4
- package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
- package/dist/esm/ion-infinite-scroll.entry.js +13 -15
- package/dist/esm/ion-item-divider.entry.js +4 -4
- package/dist/esm/ion-item-group.entry.js +3 -3
- package/dist/esm/ion-item-option.entry.js +8 -8
- package/dist/esm/ion-item-options.entry.js +5 -5
- package/dist/esm/ion-item-sliding.entry.js +41 -46
- package/dist/esm/ion-loading.entry.js +23 -35
- package/dist/esm/ion-menu-button.entry.js +13 -13
- package/dist/esm/ion-menu-toggle.entry.js +7 -7
- package/dist/esm/ion-menu.entry.js +47 -40
- package/dist/esm/ion-modal.entry.js +921 -268
- package/dist/esm/ion-nav-link.entry.js +2 -2
- package/dist/esm/ion-nav.entry.js +45 -35
- package/dist/esm/ion-picker-column-internal_2.entry.js +151 -43
- package/dist/esm/ion-picker-column.entry.js +23 -25
- package/dist/esm/ion-picker.entry.js +15 -17
- package/dist/esm/ion-progress-bar.entry.js +6 -8
- package/dist/esm/ion-range.entry.js +511 -0
- package/dist/esm/ion-refresher-content.entry.js +6 -12
- package/dist/esm/ion-refresher.entry.js +68 -50
- package/dist/esm/ion-reorder-group.entry.js +15 -16
- package/dist/esm/ion-reorder.entry.js +3 -3
- package/dist/esm/ion-route-redirect.entry.js +1 -1
- package/dist/esm/ion-route.entry.js +1 -1
- package/dist/esm/ion-router-link.entry.js +5 -5
- package/dist/esm/ion-router-outlet.entry.js +22 -20
- package/dist/esm/ion-router.entry.js +32 -31
- package/dist/esm/ion-searchbar.entry.js +14 -16
- package/dist/esm/ion-segment-button.entry.js +8 -8
- package/dist/esm/ion-segment.entry.js +24 -26
- package/dist/esm/ion-select_2.entry.js +59 -56
- package/dist/esm/ion-skeleton-text.entry.js +4 -4
- package/dist/esm/ion-slide.entry.js +3 -3
- package/dist/esm/ion-slides.entry.js +23 -23
- package/dist/esm/ion-split-pane.entry.js +10 -11
- package/dist/esm/ion-tab-bar.entry.js +5 -5
- package/dist/esm/ion-tab-button.entry.js +6 -6
- package/dist/esm/ion-tab.entry.js +4 -4
- package/dist/esm/ion-tabs.entry.js +4 -5
- package/dist/esm/ion-text.entry.js +20 -0
- package/dist/esm/ion-thumbnail.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +23 -43
- package/dist/esm/ion-virtual-scroll.entry.js +29 -28
- package/dist/esm/{ionic-global-0939c477.js → ionic-global-293e882b.js} +27 -31
- package/dist/esm/{ios.transition-b4ca8a33.js → ios.transition-7cd34deb.js} +71 -51
- package/dist/esm/{keyboard-2503e874.js → keyboard-7e8329b3.js} +3 -3
- package/dist/esm/loader.js +5 -5
- package/dist/esm/match-path-36fdf5c7.js +499 -0
- package/dist/esm/{md.transition-ca5e0322.js → md.transition-2589a5b1.js} +9 -16
- package/dist/esm/{menu-toggle-util-7fa22c2f.js → menu-toggle-util-f92ba2f0.js} +2 -2
- package/dist/esm/{overlays-34cfa9e0.js → overlays-dfa730c8.js} +30 -30
- package/dist/esm/parse-1ae3a9bb.js +1196 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/{purify-ffce2b4c.js → purify-79af871f.js} +1 -1
- package/dist/esm/sparkle-animation-player.entry.js +2 -2
- package/dist/esm/sparkle-card_3.entry.js +85 -0
- package/dist/esm/sparkle-character-intro.entry.js +1 -1
- package/dist/esm/sparkle-code.entry.js +2 -2
- package/dist/esm/sparkle-compass-post.entry.js +1 -1
- package/dist/esm/sparkle-compass.entry.js +1 -1
- package/dist/esm/sparkle-core.js +5 -5
- package/dist/esm/sparkle-course-root.entry.js +142 -0
- package/dist/esm/sparkle-dropdown.entry.js +57 -0
- package/dist/esm/sparkle-emoji.entry.js +1 -1
- package/dist/esm/{header-mobile-collapse_61.entry.js → sparkle-export-lessons_6.entry.js} +8860 -17603
- package/dist/esm/sparkle-facilitator-header_19.entry.js +2108 -0
- package/dist/esm/sparkle-facilitator-notes-form.entry.js +8 -7
- package/dist/esm/sparkle-feedback.entry.js +9 -7
- package/dist/esm/sparkle-goal-form.entry.js +9 -8
- package/dist/esm/sparkle-goal-progress.entry.js +15 -0
- package/dist/esm/sparkle-gww-comment-list.entry.js +1 -1
- package/dist/esm/sparkle-gww-graph.entry.js +1 -1
- package/dist/esm/sparkle-gww-item.entry.js +70 -0
- package/dist/esm/sparkle-intro.entry.js +22 -0
- package/dist/esm/sparkle-lower-content-nav.entry.js +1 -1
- package/dist/esm/sparkle-menu-collapsible.entry.js +2 -2
- package/dist/esm/sparkle-menu-toggle_3.entry.js +230 -0
- package/dist/esm/sparkle-modal-image.entry.js +1 -1
- package/dist/esm/sparkle-notfound-page.entry.js +1 -1
- package/dist/esm/sparkle-overlay.entry.js +1 -1
- package/dist/esm/sparkle-poll.entry.js +1 -1
- package/dist/esm/sparkle-quiz-container.entry.js +1 -1
- package/dist/esm/sparkle-quiz-feedback_5.entry.js +1 -1
- package/dist/esm/sparkle-quiz.entry.js +1 -1
- package/dist/esm/sparkle-select.entry.js +1 -1
- package/dist/esm/sparkle-sidebar.entry.js +1 -1
- package/dist/esm/sparkle-tab.entry.js +1 -1
- package/dist/esm/sparkle-table-of-contents.entry.js +1 -1
- package/dist/esm/sparkle-tabs.entry.js +1 -1
- package/dist/esm/sparkle-validation-error.entry.js +17 -0
- package/dist/esm/sparkle-youtube.entry.js +1 -1
- package/dist/esm/{spinner-configs-f609a655.js → spinner-configs-a37e628a.js} +43 -43
- package/dist/esm/{status-tap-6351a0cb.js → status-tap-79b6199d.js} +7 -5
- package/dist/esm/stencil-async-content.entry.js +1 -1
- package/dist/esm/stencil-route-link.entry.js +73 -0
- package/dist/esm/stencil-route-title.entry.js +2 -2
- package/dist/esm/stencil-router-prompt.entry.js +2 -2
- package/dist/esm/stencil-router-redirect.entry.js +28 -0
- package/dist/esm/{student.service-29b688ba.js → student.service-0caed0f4.js} +3 -18
- package/dist/esm/{swipe-back-34251834.js → swipe-back-ad7a0361.js} +5 -5
- package/dist/esm/{theme-c336c9d9.js → theme-7ef00c83.js} +6 -5
- package/dist/esm/user.store-8477642a.js +19 -0
- package/dist/esm/{util-6ef753e9.js → util-a831d09d.js} +1 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +8 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +46 -22
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +43 -19
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +60 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +2 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +2 -2
- package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +6 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +6 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +3 -3
- package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +1 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +1 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +1 -5
- package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +1 -5
- package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +31 -3
- package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +29 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +24 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +24 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +4 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +4 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +2 -2
- package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +2 -2
- package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +8 -8
- package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +34 -17
- package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +34 -17
- package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +50 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +27 -0
- package/dist/sparkle-core/index.esm.js +1 -1
- package/dist/sparkle-core/p-0127a61a.entry.js +1 -0
- package/dist/sparkle-core/p-01743e3e.js +4 -0
- package/dist/sparkle-core/p-06af1bc8.entry.js +1 -0
- package/dist/sparkle-core/{p-703ca87c.js → p-076f0239.js} +0 -0
- package/dist/sparkle-core/p-0798d46a.entry.js +1 -0
- package/dist/sparkle-core/p-085eb951.entry.js +4 -0
- package/dist/sparkle-core/{p-39e5a90f.entry.js → p-0b92326d.entry.js} +1 -1
- package/dist/sparkle-core/{p-5ff6416d.entry.js → p-0c603495.entry.js} +2 -2
- package/dist/sparkle-core/{p-6bbabb80.entry.js → p-0d7cceaa.entry.js} +1 -1
- package/dist/sparkle-core/p-0d813026.entry.js +1 -0
- package/dist/sparkle-core/{p-69e7783d.js → p-0e4de1d0.js} +0 -0
- package/dist/sparkle-core/p-11ed6b7f.entry.js +1 -0
- package/dist/sparkle-core/p-122427b7.entry.js +1 -0
- package/dist/sparkle-core/p-12c4f45c.entry.js +1 -0
- package/dist/sparkle-core/p-136b93d5.entry.js +4 -0
- package/dist/sparkle-core/{p-e225581a.js → p-1394cbb8.js} +2 -2
- package/dist/sparkle-core/{p-c48bbc7c.entry.js → p-14340143.entry.js} +1 -1
- package/dist/sparkle-core/p-14a06a91.entry.js +1 -0
- package/dist/sparkle-core/{p-a9ee3f6d.entry.js → p-16b7974e.entry.js} +1 -1
- package/dist/sparkle-core/p-16c81890.entry.js +1 -0
- package/dist/sparkle-core/{p-5c9aa1f9.entry.js → p-1701723e.entry.js} +1 -1
- package/dist/sparkle-core/p-1728ead7.js +1 -0
- package/dist/sparkle-core/p-17aef6f9.js +1 -0
- package/dist/sparkle-core/p-180857a2.entry.js +1 -0
- package/dist/sparkle-core/p-1acc7870.entry.js +1 -0
- package/dist/sparkle-core/{p-513794b0.js → p-1c2aee9c.js} +1 -1
- package/dist/sparkle-core/p-1cd4c3cc.entry.js +1 -0
- package/dist/sparkle-core/p-21d9833d.js +1 -0
- package/dist/sparkle-core/p-23d713e2.js +1 -0
- package/dist/sparkle-core/p-25c13612.entry.js +1 -0
- package/dist/sparkle-core/p-2699868a.entry.js +1 -0
- package/dist/sparkle-core/p-27075abe.js +4 -0
- package/dist/sparkle-core/{p-713590fc.js → p-280e938d.js} +1 -1
- package/dist/sparkle-core/p-2bd4c60e.js +1 -0
- package/dist/sparkle-core/p-2c89a6c2.entry.js +1 -0
- package/dist/sparkle-core/p-308517b3.js +4 -0
- package/dist/sparkle-core/p-3227afcb.entry.js +1 -0
- package/dist/sparkle-core/{p-173d5461.entry.js → p-34d93a39.entry.js} +1 -1
- package/dist/sparkle-core/p-34ebfc8a.entry.js +1 -0
- package/dist/sparkle-core/p-351b82a8.entry.js +1 -0
- package/dist/sparkle-core/p-363a2d6d.js +4 -0
- package/dist/sparkle-core/p-36c48760.entry.js +1 -0
- package/dist/sparkle-core/p-3810777d.js +4 -0
- package/dist/sparkle-core/p-384911d7.entry.js +1 -0
- package/dist/sparkle-core/p-3b618eda.entry.js +1 -0
- package/dist/sparkle-core/p-3c752205.entry.js +1 -0
- package/dist/sparkle-core/{p-50aac721.entry.js → p-3d2c0e24.entry.js} +2 -2
- package/dist/sparkle-core/{p-350adbaa.entry.js → p-3eb56165.entry.js} +1 -1
- package/dist/sparkle-core/{p-ed0e9d29.entry.js → p-3ef53ebf.entry.js} +1 -1
- package/dist/sparkle-core/{p-fbd7eeca.entry.js → p-3fd92216.entry.js} +1 -1
- package/dist/sparkle-core/{p-1df05176.js → p-4338e1e3.js} +2 -2
- package/dist/sparkle-core/p-442eadcf.entry.js +1 -0
- package/dist/sparkle-core/{p-5f45d206.entry.js → p-4af496a8.entry.js} +1 -1
- package/dist/sparkle-core/{p-935e7cfc.js → p-4bd4dab2.js} +1 -1
- package/dist/sparkle-core/{p-18e62133.entry.js → p-4c9e010d.entry.js} +1 -1
- package/dist/sparkle-core/p-4d0dfbc9.js +1 -0
- package/dist/sparkle-core/{p-8c6b6038.js → p-4d4077ea.js} +0 -0
- package/dist/sparkle-core/p-4e0502b8.entry.js +4 -0
- package/dist/sparkle-core/p-506f3c5f.js +4 -0
- package/dist/sparkle-core/p-524a6174.entry.js +1 -0
- package/dist/sparkle-core/p-53aac9d7.entry.js +1 -0
- package/dist/sparkle-core/{p-0580419b.entry.js → p-56700a40.entry.js} +1 -1
- package/dist/sparkle-core/p-5722be24.entry.js +1 -0
- package/dist/sparkle-core/p-58389020.entry.js +348 -0
- package/dist/sparkle-core/{p-11cf398a.entry.js → p-58f74119.entry.js} +1 -1
- package/dist/sparkle-core/p-5979f253.entry.js +1 -0
- package/dist/sparkle-core/p-5a3de051.entry.js +4 -0
- package/dist/sparkle-core/p-5a850731.entry.js +1 -0
- package/dist/sparkle-core/{p-950effe7.entry.js → p-5dcf33fb.entry.js} +1 -1
- package/dist/sparkle-core/p-5e8fa1ac.entry.js +1 -0
- package/dist/sparkle-core/p-5ef50959.js +1 -0
- package/dist/sparkle-core/p-615b8f64.entry.js +1 -0
- package/dist/sparkle-core/{p-90389886.entry.js → p-63d8a5b7.entry.js} +1 -1
- package/dist/sparkle-core/p-6a337ad1.entry.js +1 -0
- package/dist/sparkle-core/p-6a5ace01.js +2 -0
- package/dist/sparkle-core/{p-d7baf31e.entry.js → p-6ae9c743.entry.js} +1 -1
- package/dist/sparkle-core/p-76206f80.entry.js +1 -0
- package/dist/sparkle-core/{p-99b43ee1.entry.js → p-767c9db8.entry.js} +1 -1
- package/dist/sparkle-core/p-76a6e202.entry.js +1 -0
- package/dist/sparkle-core/{p-ee0d7f19.entry.js → p-785f1879.entry.js} +1 -1
- package/dist/sparkle-core/p-788735b9.entry.js +1 -0
- package/dist/sparkle-core/{p-057f6a23.entry.js → p-7b21bd70.entry.js} +1 -1
- package/dist/sparkle-core/p-7b3d1457.js +1 -0
- package/dist/sparkle-core/p-7d8427eb.js +4 -0
- package/dist/sparkle-core/{p-5264da79.js → p-7e7ce516.js} +0 -0
- package/dist/sparkle-core/{p-838fa86d.entry.js → p-8cbe019a.entry.js} +5 -5
- package/dist/sparkle-core/{p-9c1772c3.js → p-8d630960.js} +1 -1
- package/dist/sparkle-core/{p-7052c43a.entry.js → p-8e42e634.entry.js} +1 -1
- package/dist/sparkle-core/p-8e56f9ee.entry.js +1 -0
- package/dist/sparkle-core/p-8ed0cefb.entry.js +1 -0
- package/dist/sparkle-core/{p-d4c07aca.js → p-924b2917.js} +0 -0
- package/dist/sparkle-core/p-9484e34b.entry.js +1 -0
- package/dist/sparkle-core/p-966817ec.js +1 -0
- package/dist/sparkle-core/p-969e98e5.entry.js +1 -0
- package/dist/sparkle-core/p-98f3925b.js +4 -0
- package/dist/sparkle-core/{p-a1cab0f3.js → p-99231c00.js} +2 -2
- package/dist/sparkle-core/p-9a383065.entry.js +7 -0
- package/dist/sparkle-core/p-9b4979b5.entry.js +4 -0
- package/dist/sparkle-core/{p-c69b0a7a.entry.js → p-9cd95e7e.entry.js} +1 -1
- package/dist/sparkle-core/p-9dc42d70.entry.js +1 -0
- package/dist/sparkle-core/p-9eea81f2.js +1 -0
- package/dist/sparkle-core/{p-797c23ed.entry.js → p-9ef14088.entry.js} +1 -1
- package/dist/sparkle-core/p-a05871e6.js +1 -0
- package/dist/sparkle-core/p-a111c567.entry.js +1 -0
- package/dist/sparkle-core/{p-1af044f7.js → p-a19b42f0.js} +1 -1
- package/dist/sparkle-core/p-a208ab2d.js +4 -0
- package/dist/sparkle-core/p-a2f7c751.entry.js +1 -0
- package/dist/sparkle-core/p-a458b415.entry.js +1 -0
- package/dist/sparkle-core/p-a6c1a55a.entry.js +5 -0
- package/dist/sparkle-core/{p-145e40f5.entry.js → p-ab3a8f5e.entry.js} +1 -1
- package/dist/sparkle-core/p-ac0e4d8c.entry.js +1 -0
- package/dist/sparkle-core/p-add30d46.js +4 -0
- package/dist/sparkle-core/{p-5b40aae5.entry.js → p-b00d0a47.entry.js} +1 -1
- package/dist/sparkle-core/p-b2827978.entry.js +1 -0
- package/dist/sparkle-core/p-b8ba8164.entry.js +1 -0
- package/dist/sparkle-core/{p-6823e6c1.entry.js → p-ba775d8e.entry.js} +1 -1
- package/dist/sparkle-core/{p-37c00e39.entry.js → p-bae8cd7d.entry.js} +1 -1
- package/dist/sparkle-core/p-bb3e3482.entry.js +1 -0
- package/dist/sparkle-core/p-bb575dba.entry.js +1 -0
- package/dist/sparkle-core/p-bd2c8e30.entry.js +10 -0
- package/dist/sparkle-core/p-c48352cf.js +4 -0
- package/dist/sparkle-core/{p-667accac.entry.js → p-c5eb4404.entry.js} +1 -1
- package/dist/sparkle-core/p-c8ad5a5b.entry.js +4 -0
- package/dist/sparkle-core/p-c9f474d0.js +4 -0
- package/dist/sparkle-core/p-ca0edc9b.entry.js +1 -0
- package/dist/sparkle-core/{p-680663a2.entry.js → p-cb04b18a.entry.js} +1 -1
- package/dist/sparkle-core/{p-b3909012.entry.js → p-d0d0e5e5.entry.js} +1 -1
- package/dist/sparkle-core/{p-7d61177b.entry.js → p-d220a642.entry.js} +1 -1
- package/dist/sparkle-core/p-d38a2511.entry.js +1 -0
- package/dist/sparkle-core/{p-b07a2cf2.entry.js → p-d5b8302f.entry.js} +1 -1
- package/dist/sparkle-core/p-d5ba8e80.entry.js +1 -0
- package/dist/sparkle-core/{p-3a202a38.entry.js → p-d6637b48.entry.js} +1 -1
- package/dist/sparkle-core/p-d6788642.entry.js +1 -0
- package/dist/sparkle-core/p-d6a3a639.entry.js +1 -0
- package/dist/sparkle-core/p-d86f8633.entry.js +1 -0
- package/dist/sparkle-core/{p-9cfdeb18.entry.js → p-defeaa5c.entry.js} +1 -1
- package/dist/sparkle-core/p-df5cfa7f.entry.js +1 -0
- package/dist/sparkle-core/p-df5efe0d.entry.js +1 -0
- package/dist/sparkle-core/p-dff8325e.js +4 -0
- package/dist/sparkle-core/p-e09de7ac.js +1 -0
- package/dist/sparkle-core/{p-016a7aaf.entry.js → p-e1743d82.entry.js} +1 -1
- package/dist/sparkle-core/p-e28a106d.entry.js +1 -0
- package/dist/sparkle-core/p-e566c0b3.entry.js +1 -0
- package/dist/sparkle-core/{p-bca0e465.entry.js → p-e6d39f6e.entry.js} +1 -1
- package/dist/sparkle-core/p-e9431eeb.js +7 -0
- package/dist/sparkle-core/p-ea4a9f0d.entry.js +1 -0
- package/dist/sparkle-core/p-ea7d7a3b.js +1 -0
- package/dist/sparkle-core/p-eaa8bbee.js +4 -0
- package/dist/sparkle-core/p-ed3dfd89.js +4 -0
- package/dist/sparkle-core/{p-3defe550.entry.js → p-efe37368.entry.js} +1 -1
- package/dist/sparkle-core/p-f187d129.entry.js +1 -0
- package/dist/sparkle-core/{p-a9ccb0df.js → p-f3cba72a.js} +0 -0
- package/dist/sparkle-core/{p-052caa63.js → p-f5e7bfa5.js} +1 -1
- package/dist/sparkle-core/{p-ecd39170.entry.js → p-f63a13d8.entry.js} +1 -1
- package/dist/sparkle-core/{p-1726da2f.entry.js → p-fdb9a613.entry.js} +1 -1
- package/dist/sparkle-core/p-fde96f7c.js +4 -0
- package/dist/sparkle-core/{p-aa87c7f0.entry.js → p-fe214d79.entry.js} +1 -1
- package/dist/sparkle-core/p-fe3a7bca.js +1 -0
- package/dist/sparkle-core/{p-aa9ebc39.entry.js → p-fea20ec2.entry.js} +1 -1
- package/dist/sparkle-core/p-ff26d891.entry.js +1 -0
- package/dist/sparkle-core/sparkle-core.css +1 -1
- package/dist/sparkle-core/sparkle-core.esm.js +1 -1
- package/dist/types/components/sparkle-feed-post/sparkle-feed-post.d.ts +16 -0
- package/dist/types/components/sparkle-intro/sparkle-intro.d.ts +7 -0
- package/dist/types/components.d.ts +73 -11
- package/package.json +3 -3
- package/dist/cjs/ion-card-title.cjs.entry.js +0 -30
- package/dist/cjs/ion-textarea.cjs.entry.js +0 -247
- package/dist/cjs/ion-toggle.cjs.entry.js +0 -160
- package/dist/cjs/sparkle-feed-post.cjs.entry.js +0 -19
- package/dist/cjs/student.service-744c3155.js +0 -77
- package/dist/esm/ion-card-title.entry.js +0 -26
- package/dist/esm/ion-textarea.entry.js +0 -243
- package/dist/esm/ion-toggle.entry.js +0 -156
- package/dist/esm/sparkle-feed-post.entry.js +0 -15
- package/dist/sparkle-core/p-0187adef.entry.js +0 -1
- package/dist/sparkle-core/p-03189863.js +0 -1
- package/dist/sparkle-core/p-03ec54a8.entry.js +0 -1
- package/dist/sparkle-core/p-04583c51.entry.js +0 -1
- package/dist/sparkle-core/p-063cd168.js +0 -4
- package/dist/sparkle-core/p-081968cc.entry.js +0 -1
- package/dist/sparkle-core/p-0934f5dd.entry.js +0 -1
- package/dist/sparkle-core/p-0f899097.entry.js +0 -352
- package/dist/sparkle-core/p-1339830f.entry.js +0 -1
- package/dist/sparkle-core/p-1b78dea1.entry.js +0 -1
- package/dist/sparkle-core/p-1cef8572.js +0 -4
- package/dist/sparkle-core/p-21bf4ca0.entry.js +0 -1
- package/dist/sparkle-core/p-21db4e8e.entry.js +0 -1
- package/dist/sparkle-core/p-23a9f7d1.entry.js +0 -1
- package/dist/sparkle-core/p-289a35ed.entry.js +0 -1
- package/dist/sparkle-core/p-2ee6a5f9.entry.js +0 -1
- package/dist/sparkle-core/p-35a7bd6c.entry.js +0 -1
- package/dist/sparkle-core/p-389500fd.js +0 -4
- package/dist/sparkle-core/p-45e6db62.entry.js +0 -1
- package/dist/sparkle-core/p-48f9b960.entry.js +0 -1
- package/dist/sparkle-core/p-4dc3ef96.entry.js +0 -1
- package/dist/sparkle-core/p-547b70c6.entry.js +0 -1
- package/dist/sparkle-core/p-5598650a.entry.js +0 -1
- package/dist/sparkle-core/p-55ae49e1.js +0 -4
- package/dist/sparkle-core/p-58e98f89.entry.js +0 -1
- package/dist/sparkle-core/p-59f7bf6e.entry.js +0 -1
- package/dist/sparkle-core/p-5a3d0e6b.js +0 -4
- package/dist/sparkle-core/p-5d2e54ee.entry.js +0 -1
- package/dist/sparkle-core/p-62a6c96f.entry.js +0 -1
- package/dist/sparkle-core/p-64e72f8f.js +0 -4
- package/dist/sparkle-core/p-660e0742.js +0 -1
- package/dist/sparkle-core/p-6bf07a28.js +0 -1
- package/dist/sparkle-core/p-6c6145cd.js +0 -4
- package/dist/sparkle-core/p-6c90bde6.entry.js +0 -5
- package/dist/sparkle-core/p-6e88764b.entry.js +0 -4
- package/dist/sparkle-core/p-6ee40949.js +0 -1
- package/dist/sparkle-core/p-6fbe3ca3.entry.js +0 -1
- package/dist/sparkle-core/p-6fd4985d.js +0 -4
- package/dist/sparkle-core/p-70b2452c.js +0 -4
- package/dist/sparkle-core/p-7493ee15.entry.js +0 -1
- package/dist/sparkle-core/p-75572037.js +0 -1
- package/dist/sparkle-core/p-768bcc9e.entry.js +0 -1
- package/dist/sparkle-core/p-7e61973d.entry.js +0 -7
- package/dist/sparkle-core/p-855ca600.js +0 -1
- package/dist/sparkle-core/p-857f3696.entry.js +0 -1
- package/dist/sparkle-core/p-8fe2e51f.entry.js +0 -4
- package/dist/sparkle-core/p-932bfb69.entry.js +0 -1
- package/dist/sparkle-core/p-941eaa3a.entry.js +0 -1
- package/dist/sparkle-core/p-95004267.entry.js +0 -1
- package/dist/sparkle-core/p-996361f9.entry.js +0 -1
- package/dist/sparkle-core/p-9a17f2ad.js +0 -4
- package/dist/sparkle-core/p-9babd345.js +0 -1
- package/dist/sparkle-core/p-a080e768.entry.js +0 -1
- package/dist/sparkle-core/p-a7cc0052.entry.js +0 -4
- package/dist/sparkle-core/p-ae1f145d.entry.js +0 -1
- package/dist/sparkle-core/p-b3e6427d.js +0 -7
- package/dist/sparkle-core/p-b49ca0ea.entry.js +0 -1
- package/dist/sparkle-core/p-b81e20fe.entry.js +0 -4
- package/dist/sparkle-core/p-c1279cc9.entry.js +0 -1
- package/dist/sparkle-core/p-c1376096.entry.js +0 -1
- package/dist/sparkle-core/p-c3986a52.entry.js +0 -1
- package/dist/sparkle-core/p-c3d3d5c4.entry.js +0 -1
- package/dist/sparkle-core/p-c5b9bdd6.entry.js +0 -1
- package/dist/sparkle-core/p-cbbeed67.entry.js +0 -1
- package/dist/sparkle-core/p-d4a435f8.entry.js +0 -1
- package/dist/sparkle-core/p-d5b05ece.entry.js +0 -5
- package/dist/sparkle-core/p-d8d3524a.js +0 -1
- package/dist/sparkle-core/p-e0fced48.entry.js +0 -1
- package/dist/sparkle-core/p-e1cba44b.entry.js +0 -4
- package/dist/sparkle-core/p-e3fdd0a8.entry.js +0 -1
- package/dist/sparkle-core/p-e6b66cef.entry.js +0 -1
- package/dist/sparkle-core/p-e72d4450.js +0 -4
- package/dist/sparkle-core/p-eb70a23c.entry.js +0 -1
- package/dist/sparkle-core/p-f4001fdf.js +0 -4
- package/dist/sparkle-core/p-f9b73032.entry.js +0 -1
- package/dist/sparkle-core/p-faa912d7.entry.js +0 -1
- package/dist/sparkle-core/p-fc933591.entry.js +0 -1
- package/dist/sparkle-core/p-fef04ab5.js +0 -4
@@ -2,19 +2,19 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const index$1 = require('./index-
|
6
|
-
const ionicGlobal = require('./ionic-global-
|
7
|
-
const haptic = require('./haptic-
|
8
|
-
const index = require('./index-
|
9
|
-
const overlays = require('./overlays-
|
10
|
-
const theme = require('./theme-
|
11
|
-
const animation = require('./animation-
|
12
|
-
const index$2 = require('./index-
|
13
|
-
const frameworkDelegate = require('./framework-delegate-
|
14
|
-
const helpers = require('./helpers-
|
15
|
-
const index$3 = require('./index-
|
16
|
-
require('./gesture-controller-
|
17
|
-
require('./hardware-back-button-
|
5
|
+
const index$1 = require('./index-51e8292e.js');
|
6
|
+
const ionicGlobal = require('./ionic-global-2cde9d3a.js');
|
7
|
+
const haptic = require('./haptic-780f33c4.js');
|
8
|
+
const index = require('./index-12082cba.js');
|
9
|
+
const overlays = require('./overlays-32df265a.js');
|
10
|
+
const theme = require('./theme-b0b295c1.js');
|
11
|
+
const animation = require('./animation-ee586546.js');
|
12
|
+
const index$2 = require('./index-af080b50.js');
|
13
|
+
const frameworkDelegate = require('./framework-delegate-59a98abd.js');
|
14
|
+
const helpers = require('./helpers-c2496722.js');
|
15
|
+
const index$3 = require('./index-787d4498.js');
|
16
|
+
require('./gesture-controller-0eb5579e.js');
|
17
|
+
require('./hardware-back-button-92d97ff8.js');
|
18
18
|
|
19
19
|
/*!
|
20
20
|
* (C) Ionic http://ionicframework.com - MIT License
|
@@ -68,13 +68,13 @@ const createButtonActiveGesture = (el, isButton) => {
|
|
68
68
|
el,
|
69
69
|
gestureName: 'buttonActiveDrag',
|
70
70
|
threshold: 0,
|
71
|
-
onStart: ev => activateButtonAtPoint(ev.currentX, ev.currentY, haptic.hapticSelectionStart),
|
72
|
-
onMove: ev => activateButtonAtPoint(ev.currentX, ev.currentY, haptic.hapticSelectionChanged),
|
71
|
+
onStart: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, haptic.hapticSelectionStart),
|
72
|
+
onMove: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, haptic.hapticSelectionChanged),
|
73
73
|
onEnd: () => {
|
74
74
|
clearActiveButton(true);
|
75
75
|
haptic.hapticSelectionEnd();
|
76
76
|
initialTouchedButton = undefined;
|
77
|
-
}
|
77
|
+
},
|
78
78
|
});
|
79
79
|
};
|
80
80
|
|
@@ -92,7 +92,7 @@ const iosEnterAnimation$2 = (baseEl) => {
|
|
92
92
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
93
93
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
94
94
|
.beforeStyles({
|
95
|
-
'pointer-events': 'none'
|
95
|
+
'pointer-events': 'none',
|
96
96
|
})
|
97
97
|
.afterClearStyles(['pointer-events']);
|
98
98
|
wrapperAnimation
|
@@ -115,9 +115,7 @@ const iosLeaveAnimation$2 = (baseEl) => {
|
|
115
115
|
const baseAnimation = animation.createAnimation();
|
116
116
|
const backdropAnimation = animation.createAnimation();
|
117
117
|
const wrapperAnimation = animation.createAnimation();
|
118
|
-
backdropAnimation
|
119
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
120
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
118
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
121
119
|
wrapperAnimation
|
122
120
|
.addElement(baseEl.querySelector('.action-sheet-wrapper'))
|
123
121
|
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
@@ -142,7 +140,7 @@ const mdEnterAnimation$2 = (baseEl) => {
|
|
142
140
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
143
141
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
144
142
|
.beforeStyles({
|
145
|
-
'pointer-events': 'none'
|
143
|
+
'pointer-events': 'none',
|
146
144
|
})
|
147
145
|
.afterClearStyles(['pointer-events']);
|
148
146
|
wrapperAnimation
|
@@ -165,9 +163,7 @@ const mdLeaveAnimation$2 = (baseEl) => {
|
|
165
163
|
const baseAnimation = animation.createAnimation();
|
166
164
|
const backdropAnimation = animation.createAnimation();
|
167
165
|
const wrapperAnimation = animation.createAnimation();
|
168
|
-
backdropAnimation
|
169
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
170
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
166
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
171
167
|
wrapperAnimation
|
172
168
|
.addElement(baseEl.querySelector('.action-sheet-wrapper'))
|
173
169
|
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
@@ -218,7 +214,7 @@ const ActionSheet = class {
|
|
218
214
|
this.dispatchCancelHandler = (ev) => {
|
219
215
|
const role = ev.detail.role;
|
220
216
|
if (overlays.isCancel(role)) {
|
221
|
-
const cancelButton = this.getButtons().find(b => b.role === 'cancel');
|
217
|
+
const cancelButton = this.getButtons().find((b) => b.role === 'cancel');
|
222
218
|
this.callButtonHandler(cancelButton);
|
223
219
|
}
|
224
220
|
};
|
@@ -281,10 +277,8 @@ const ActionSheet = class {
|
|
281
277
|
return true;
|
282
278
|
}
|
283
279
|
getButtons() {
|
284
|
-
return this.buttons.map(b => {
|
285
|
-
return
|
286
|
-
? { text: b }
|
287
|
-
: b;
|
280
|
+
return this.buttons.map((b) => {
|
281
|
+
return typeof b === 'string' ? { text: b } : b;
|
288
282
|
});
|
289
283
|
}
|
290
284
|
disconnectedCallback() {
|
@@ -316,17 +310,14 @@ const ActionSheet = class {
|
|
316
310
|
const { htmlAttributes } = this;
|
317
311
|
const mode = ionicGlobal.getIonMode(this);
|
318
312
|
const allButtons = this.getButtons();
|
319
|
-
const cancelButton = allButtons.find(b => b.role === 'cancel');
|
320
|
-
const buttons = allButtons.filter(b => b.role !== 'cancel');
|
313
|
+
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
314
|
+
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
321
315
|
return (index$1.h(index$1.Host, Object.assign({ role: "dialog", "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
322
316
|
zIndex: `${20000 + this.overlayIndex}`,
|
323
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index$1.h("ion-backdrop", { tappable: this.backdropDismiss }), index$1.h("div", { tabindex: "0" }), index$1.h("div", { class: "action-sheet-wrapper ion-overlay-wrapper", role: "dialog", ref: el => this.wrapperEl = el }, index$1.h("div", { class: "action-sheet-container" }, index$1.h("div", { class: "action-sheet-group", ref: el => this.groupEl = el }, this.header !== undefined &&
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
} }, this.header, this.subHeader && index$1.h("div", { class: "action-sheet-sub-title" }, this.subHeader)), buttons.map(b => index$1.h("button", { type: "button", id: b.id, class: buttonClass$1(b), onClick: () => this.buttonClick(b) }, index$1.h("span", { class: "action-sheet-button-inner" }, b.icon && index$1.h("ion-icon", { icon: b.icon, lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && index$1.h("ion-ripple-effect", null)))), cancelButton &&
|
328
|
-
index$1.h("div", { class: "action-sheet-group action-sheet-group-cancel" }, index$1.h("button", { type: "button", class: buttonClass$1(cancelButton), onClick: () => this.buttonClick(cancelButton) }, index$1.h("span", { class: "action-sheet-button-inner" }, cancelButton.icon &&
|
329
|
-
index$1.h("ion-icon", { icon: cancelButton.icon, lazy: false, class: "action-sheet-icon" }), cancelButton.text), mode === 'md' && index$1.h("ion-ripple-effect", null))))), index$1.h("div", { tabindex: "0" })));
|
317
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index$1.h("ion-backdrop", { tappable: this.backdropDismiss }), index$1.h("div", { tabindex: "0" }), index$1.h("div", { class: "action-sheet-wrapper ion-overlay-wrapper", role: "dialog", ref: (el) => (this.wrapperEl = el) }, index$1.h("div", { class: "action-sheet-container" }, index$1.h("div", { class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, this.header !== undefined && (index$1.h("div", { class: {
|
318
|
+
'action-sheet-title': true,
|
319
|
+
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
320
|
+
} }, this.header, this.subHeader && index$1.h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (index$1.h("button", { type: "button", id: b.id, class: buttonClass$1(b), onClick: () => this.buttonClick(b) }, index$1.h("span", { class: "action-sheet-button-inner" }, b.icon && index$1.h("ion-icon", { icon: b.icon, lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && index$1.h("ion-ripple-effect", null))))), cancelButton && (index$1.h("div", { class: "action-sheet-group action-sheet-group-cancel" }, index$1.h("button", { type: "button", class: buttonClass$1(cancelButton), onClick: () => this.buttonClick(cancelButton) }, index$1.h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && index$1.h("ion-icon", { icon: cancelButton.icon, lazy: false, class: "action-sheet-icon" }), cancelButton.text), mode === 'md' && index$1.h("ion-ripple-effect", null)))))), index$1.h("div", { tabindex: "0" })));
|
330
321
|
}
|
331
322
|
get el() { return index$1.getElement(this); }
|
332
323
|
};
|
@@ -352,14 +343,12 @@ const iosEnterAnimation$1 = (baseEl) => {
|
|
352
343
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
353
344
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
354
345
|
.beforeStyles({
|
355
|
-
'pointer-events': 'none'
|
346
|
+
'pointer-events': 'none',
|
356
347
|
})
|
357
348
|
.afterClearStyles(['pointer-events']);
|
358
|
-
wrapperAnimation
|
359
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
360
|
-
.keyframes([
|
349
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
|
361
350
|
{ offset: 0, opacity: '0.01', transform: 'scale(1.1)' },
|
362
|
-
{ offset: 1, opacity: '1', transform: 'scale(1)' }
|
351
|
+
{ offset: 1, opacity: '1', transform: 'scale(1)' },
|
363
352
|
]);
|
364
353
|
return baseAnimation
|
365
354
|
.addElement(baseEl)
|
@@ -378,14 +367,10 @@ const iosLeaveAnimation$1 = (baseEl) => {
|
|
378
367
|
const baseAnimation = animation.createAnimation();
|
379
368
|
const backdropAnimation = animation.createAnimation();
|
380
369
|
const wrapperAnimation = animation.createAnimation();
|
381
|
-
backdropAnimation
|
382
|
-
|
383
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
384
|
-
wrapperAnimation
|
385
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
386
|
-
.keyframes([
|
370
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
371
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
|
387
372
|
{ offset: 0, opacity: 0.99, transform: 'scale(1)' },
|
388
|
-
{ offset: 1, opacity: 0, transform: 'scale(0.9)' }
|
373
|
+
{ offset: 1, opacity: 0, transform: 'scale(0.9)' },
|
389
374
|
]);
|
390
375
|
return baseAnimation
|
391
376
|
.addElement(baseEl)
|
@@ -408,14 +393,12 @@ const mdEnterAnimation$1 = (baseEl) => {
|
|
408
393
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
409
394
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
410
395
|
.beforeStyles({
|
411
|
-
'pointer-events': 'none'
|
396
|
+
'pointer-events': 'none',
|
412
397
|
})
|
413
398
|
.afterClearStyles(['pointer-events']);
|
414
|
-
wrapperAnimation
|
415
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
416
|
-
.keyframes([
|
399
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
|
417
400
|
{ offset: 0, opacity: '0.01', transform: 'scale(0.9)' },
|
418
|
-
{ offset: 1, opacity: '1', transform: 'scale(1)' }
|
401
|
+
{ offset: 1, opacity: '1', transform: 'scale(1)' },
|
419
402
|
]);
|
420
403
|
return baseAnimation
|
421
404
|
.addElement(baseEl)
|
@@ -434,12 +417,8 @@ const mdLeaveAnimation$1 = (baseEl) => {
|
|
434
417
|
const baseAnimation = animation.createAnimation();
|
435
418
|
const backdropAnimation = animation.createAnimation();
|
436
419
|
const wrapperAnimation = animation.createAnimation();
|
437
|
-
backdropAnimation
|
438
|
-
|
439
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
440
|
-
wrapperAnimation
|
441
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
442
|
-
.fromTo('opacity', 0.99, 0);
|
420
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
421
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).fromTo('opacity', 0.99, 0);
|
443
422
|
return baseAnimation
|
444
423
|
.addElement(baseEl)
|
445
424
|
.easing('ease-in-out')
|
@@ -493,46 +472,42 @@ const Alert = class {
|
|
493
472
|
this.dispatchCancelHandler = (ev) => {
|
494
473
|
const role = ev.detail.role;
|
495
474
|
if (overlays.isCancel(role)) {
|
496
|
-
const cancelButton = this.processedButtons.find(b => b.role === 'cancel');
|
475
|
+
const cancelButton = this.processedButtons.find((b) => b.role === 'cancel');
|
497
476
|
this.callButtonHandler(cancelButton);
|
498
477
|
}
|
499
478
|
};
|
500
479
|
}
|
501
480
|
onKeydown(ev) {
|
502
|
-
const inputTypes = new Set(this.processedInputs.map(i => i.type));
|
481
|
+
const inputTypes = new Set(this.processedInputs.map((i) => i.type));
|
503
482
|
// The only inputs we want to navigate between using arrow keys are the radios
|
504
483
|
// ignore the keydown event if it is not on a radio button
|
505
|
-
if (!inputTypes.has('radio')
|
506
|
-
|
507
|
-
|
484
|
+
if (!inputTypes.has('radio') ||
|
485
|
+
(ev.target && !this.el.contains(ev.target)) ||
|
486
|
+
ev.target.classList.contains('alert-button')) {
|
508
487
|
return;
|
509
488
|
}
|
510
489
|
// Get all radios inside of the radio group and then
|
511
490
|
// filter out disabled radios since we need to skip those
|
512
491
|
const query = this.el.querySelectorAll('.alert-radio');
|
513
|
-
const radios = Array.from(query).filter(radio => !radio.disabled);
|
492
|
+
const radios = Array.from(query).filter((radio) => !radio.disabled);
|
514
493
|
// The focused radio is the one that shares the same id as
|
515
494
|
// the event target
|
516
|
-
const index = radios.findIndex(radio => radio.id === ev.target.id);
|
495
|
+
const index = radios.findIndex((radio) => radio.id === ev.target.id);
|
517
496
|
// We need to know what the next radio element should
|
518
497
|
// be in order to change the focus
|
519
498
|
let nextEl;
|
520
499
|
// If hitting arrow down or arrow right, move to the next radio
|
521
500
|
// If we're on the last radio, move to the first radio
|
522
501
|
if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {
|
523
|
-
nextEl =
|
524
|
-
? radios[0]
|
525
|
-
: radios[index + 1];
|
502
|
+
nextEl = index === radios.length - 1 ? radios[0] : radios[index + 1];
|
526
503
|
}
|
527
504
|
// If hitting arrow up or arrow left, move to the previous radio
|
528
505
|
// If we're on the first radio, move to the last radio
|
529
506
|
if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {
|
530
|
-
nextEl =
|
531
|
-
? radios[radios.length - 1]
|
532
|
-
: radios[index - 1];
|
507
|
+
nextEl = index === 0 ? radios[radios.length - 1] : radios[index - 1];
|
533
508
|
}
|
534
509
|
if (nextEl && radios.includes(nextEl)) {
|
535
|
-
const nextProcessed = this.processedInputs.find(input => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));
|
510
|
+
const nextProcessed = this.processedInputs.find((input) => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));
|
536
511
|
if (nextProcessed) {
|
537
512
|
this.rbClick(nextProcessed);
|
538
513
|
nextEl.focus();
|
@@ -541,10 +516,8 @@ const Alert = class {
|
|
541
516
|
}
|
542
517
|
buttonsChanged() {
|
543
518
|
const buttons = this.buttons;
|
544
|
-
this.processedButtons = buttons.map(btn => {
|
545
|
-
return
|
546
|
-
? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined }
|
547
|
-
: btn;
|
519
|
+
this.processedButtons = buttons.map((btn) => {
|
520
|
+
return typeof btn === 'string' ? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined } : btn;
|
548
521
|
});
|
549
522
|
}
|
550
523
|
inputsChanged() {
|
@@ -553,14 +526,14 @@ const Alert = class {
|
|
553
526
|
// If an enabled checked input exists, set it to be the focusable input
|
554
527
|
// otherwise we default to focus the first input
|
555
528
|
// This will only be used when the input is type radio
|
556
|
-
const first = inputs.find(input => !input.disabled);
|
557
|
-
const checked = inputs.find(input => input.checked && !input.disabled);
|
529
|
+
const first = inputs.find((input) => !input.disabled);
|
530
|
+
const checked = inputs.find((input) => input.checked && !input.disabled);
|
558
531
|
const focusable = checked || first;
|
559
532
|
// An alert can be created with several different inputs. Radios,
|
560
533
|
// checkboxes and inputs are all accepted, but they cannot be mixed.
|
561
|
-
const inputTypes = new Set(inputs.map(i => i.type));
|
534
|
+
const inputTypes = new Set(inputs.map((i) => i.type));
|
562
535
|
if (inputTypes.has('checkbox') && inputTypes.has('radio')) {
|
563
|
-
console.warn(`Alert cannot mix input types: ${
|
536
|
+
console.warn(`Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
|
564
537
|
}
|
565
538
|
this.inputType = inputTypes.values().next().value;
|
566
539
|
this.processedInputs = inputs.map((i, index) => ({
|
@@ -577,7 +550,7 @@ const Alert = class {
|
|
577
550
|
max: i.max,
|
578
551
|
cssClass: i.cssClass || '',
|
579
552
|
attributes: i.attributes || {},
|
580
|
-
tabindex:
|
553
|
+
tabindex: i.type === 'radio' && i !== focusable ? -1 : 0,
|
581
554
|
}));
|
582
555
|
}
|
583
556
|
connectedCallback() {
|
@@ -663,7 +636,7 @@ const Alert = class {
|
|
663
636
|
return Promise.resolve(false);
|
664
637
|
}
|
665
638
|
callButtonHandler(button, data) {
|
666
|
-
if (button
|
639
|
+
if (button === null || button === void 0 ? void 0 : button.handler) {
|
667
640
|
// a handler has been provided, execute it
|
668
641
|
// pass the handler the values from the inputs
|
669
642
|
const returnData = overlays.safeCall(button.handler, data);
|
@@ -685,27 +658,30 @@ const Alert = class {
|
|
685
658
|
if (this.inputType === 'radio') {
|
686
659
|
// this is an alert with radio buttons (single value select)
|
687
660
|
// return the one value which is checked, otherwise undefined
|
688
|
-
const checkedInput = this.processedInputs.find(i => !!i.checked);
|
661
|
+
const checkedInput = this.processedInputs.find((i) => !!i.checked);
|
689
662
|
return checkedInput ? checkedInput.value : undefined;
|
690
663
|
}
|
691
664
|
if (this.inputType === 'checkbox') {
|
692
665
|
// this is an alert with checkboxes (multiple value select)
|
693
666
|
// return an array of all the checked values
|
694
|
-
return this.processedInputs.filter(i => i.checked).map(i => i.value);
|
667
|
+
return this.processedInputs.filter((i) => i.checked).map((i) => i.value);
|
695
668
|
}
|
696
669
|
// this is an alert with text inputs
|
697
670
|
// return an object of all the values with the input name as the key
|
698
671
|
const values = {};
|
699
|
-
this.processedInputs.forEach(i => {
|
672
|
+
this.processedInputs.forEach((i) => {
|
700
673
|
values[i.name] = i.value || '';
|
701
674
|
});
|
702
675
|
return values;
|
703
676
|
}
|
704
677
|
renderAlertInputs() {
|
705
678
|
switch (this.inputType) {
|
706
|
-
case 'checkbox':
|
707
|
-
|
708
|
-
|
679
|
+
case 'checkbox':
|
680
|
+
return this.renderCheckbox();
|
681
|
+
case 'radio':
|
682
|
+
return this.renderRadio();
|
683
|
+
default:
|
684
|
+
return this.renderInput();
|
709
685
|
}
|
710
686
|
}
|
711
687
|
renderCheckbox() {
|
@@ -714,24 +690,24 @@ const Alert = class {
|
|
714
690
|
if (inputs.length === 0) {
|
715
691
|
return null;
|
716
692
|
}
|
717
|
-
return (index$1.h("div", { class: "alert-checkbox-group" }, inputs.map(i => (index$1.h("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, theme.getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, index$1.h("div", { class: "alert-button-inner" }, index$1.h("div", { class: "alert-checkbox-icon" }, index$1.h("div", { class: "alert-checkbox-inner" })), index$1.h("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && index$1.h("ion-ripple-effect", null))))));
|
693
|
+
return (index$1.h("div", { class: "alert-checkbox-group" }, inputs.map((i) => (index$1.h("button", { type: "button", onClick: () => this.cbClick(i), "aria-checked": `${i.checked}`, id: i.id, disabled: i.disabled, tabIndex: i.tabindex, role: "checkbox", class: Object.assign(Object.assign({}, theme.getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, index$1.h("div", { class: "alert-button-inner" }, index$1.h("div", { class: "alert-checkbox-icon" }, index$1.h("div", { class: "alert-checkbox-inner" })), index$1.h("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && index$1.h("ion-ripple-effect", null))))));
|
718
694
|
}
|
719
695
|
renderRadio() {
|
720
696
|
const inputs = this.processedInputs;
|
721
697
|
if (inputs.length === 0) {
|
722
698
|
return null;
|
723
699
|
}
|
724
|
-
return (index$1.h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map(i => (index$1.h("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, theme.getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, index$1.h("div", { class: "alert-button-inner" }, index$1.h("div", { class: "alert-radio-icon" }, index$1.h("div", { class: "alert-radio-inner" })), index$1.h("div", { class: "alert-radio-label" }, i.label)))))));
|
700
|
+
return (index$1.h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => (index$1.h("button", { type: "button", onClick: () => this.rbClick(i), "aria-checked": `${i.checked}`, disabled: i.disabled, id: i.id, tabIndex: i.tabindex, class: Object.assign(Object.assign({}, theme.getClassMap(i.cssClass)), { 'alert-radio-button': true, 'alert-tappable': true, 'alert-radio': true, 'ion-focusable': true, 'alert-radio-button-disabled': i.disabled || false }), role: "radio" }, index$1.h("div", { class: "alert-button-inner" }, index$1.h("div", { class: "alert-radio-icon" }, index$1.h("div", { class: "alert-radio-inner" })), index$1.h("div", { class: "alert-radio-label" }, i.label)))))));
|
725
701
|
}
|
726
702
|
renderInput() {
|
727
703
|
const inputs = this.processedInputs;
|
728
704
|
if (inputs.length === 0) {
|
729
705
|
return null;
|
730
706
|
}
|
731
|
-
return (index$1.h("div", { class: "alert-input-group" }, inputs.map(i => {
|
707
|
+
return (index$1.h("div", { class: "alert-input-group" }, inputs.map((i) => {
|
732
708
|
var _a, _b, _c, _d;
|
733
709
|
if (i.type === 'textarea') {
|
734
|
-
return (index$1.h("div", { class: "alert-input-wrapper" }, index$1.h("textarea", Object.assign({ placeholder: i.placeholder, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, class: inputClass(i), onInput: e => {
|
710
|
+
return (index$1.h("div", { class: "alert-input-wrapper" }, index$1.h("textarea", Object.assign({ placeholder: i.placeholder, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_b = (_a = i.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : i.disabled, class: inputClass(i), onInput: (e) => {
|
735
711
|
var _a;
|
736
712
|
i.value = e.target.value;
|
737
713
|
if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {
|
@@ -740,7 +716,7 @@ const Alert = class {
|
|
740
716
|
} }))));
|
741
717
|
}
|
742
718
|
else {
|
743
|
-
return (index$1.h("div", { class: "alert-input-wrapper" }, index$1.h("input", Object.assign({ placeholder: i.placeholder, type: i.type, min: i.min, max: i.max, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, class: inputClass(i), onInput: e => {
|
719
|
+
return (index$1.h("div", { class: "alert-input-wrapper" }, index$1.h("input", Object.assign({ placeholder: i.placeholder, type: i.type, min: i.min, max: i.max, value: i.value, id: i.id, tabIndex: i.tabindex }, i.attributes, { disabled: (_d = (_c = i.attributes) === null || _c === void 0 ? void 0 : _c.disabled) !== null && _d !== void 0 ? _d : i.disabled, class: inputClass(i), onInput: (e) => {
|
744
720
|
var _a;
|
745
721
|
i.value = e.target.value;
|
746
722
|
if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {
|
@@ -755,9 +731,9 @@ const Alert = class {
|
|
755
731
|
const mode = ionicGlobal.getIonMode(this);
|
756
732
|
const alertButtonGroupClass = {
|
757
733
|
'alert-button-group': true,
|
758
|
-
'alert-button-group-vertical': buttons.length > 2
|
734
|
+
'alert-button-group-vertical': buttons.length > 2,
|
759
735
|
};
|
760
|
-
return (index$1.h("div", { class: alertButtonGroupClass }, buttons.map(button => index$1.h("button", { type: "button", id: button.id, class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, index$1.h("span", { class: "alert-button-inner" }, button.text), mode === 'md' && index$1.h("ion-ripple-effect", null)))));
|
736
|
+
return (index$1.h("div", { class: alertButtonGroupClass }, buttons.map((button) => (index$1.h("button", { type: "button", id: button.id, class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, index$1.h("span", { class: "alert-button-inner" }, button.text), mode === 'md' && index$1.h("ion-ripple-effect", null))))));
|
761
737
|
}
|
762
738
|
render() {
|
763
739
|
const { overlayIndex, header, subHeader, htmlAttributes } = this;
|
@@ -768,7 +744,7 @@ const Alert = class {
|
|
768
744
|
const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
|
769
745
|
return (index$1.h(index$1.Host, Object.assign({ role: role, "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
770
746
|
zIndex: `${20000 + overlayIndex}`,
|
771
|
-
}, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index$1.h("ion-backdrop", { tappable: this.backdropDismiss }), index$1.h("div", { tabindex: "0" }), index$1.h("div", { class: "alert-wrapper ion-overlay-wrapper", ref: el => this.wrapperEl = el }, index$1.h("div", { class: "alert-head" }, header && index$1.h("h2", { id: hdrId, class: "alert-title" }, header), subHeader && index$1.h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader)), index$1.h("div", { id: msgId, class: "alert-message", innerHTML: index$2.sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), index$1.h("div", { tabindex: "0" })));
|
747
|
+
}, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), index$1.h("ion-backdrop", { tappable: this.backdropDismiss }), index$1.h("div", { tabindex: "0" }), index$1.h("div", { class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, index$1.h("div", { class: "alert-head" }, header && (index$1.h("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (index$1.h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), index$1.h("div", { id: msgId, class: "alert-message", innerHTML: index$2.sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), index$1.h("div", { tabindex: "0" })));
|
772
748
|
}
|
773
749
|
get el() { return index$1.getElement(this); }
|
774
750
|
static get watchers() { return {
|
@@ -818,7 +794,7 @@ const getPopoverDimensions = (size, contentEl, triggerEl) => {
|
|
818
794
|
}
|
819
795
|
return {
|
820
796
|
contentWidth,
|
821
|
-
contentHeight
|
797
|
+
contentHeight,
|
822
798
|
};
|
823
799
|
};
|
824
800
|
const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parentPopoverEl) => {
|
@@ -851,8 +827,8 @@ const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parent
|
|
851
827
|
return;
|
852
828
|
}
|
853
829
|
popoverEl.dismiss(undefined, undefined, false);
|
854
|
-
}
|
855
|
-
}
|
830
|
+
},
|
831
|
+
},
|
856
832
|
];
|
857
833
|
break;
|
858
834
|
case 'context-menu':
|
@@ -879,8 +855,8 @@ const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parent
|
|
879
855
|
return;
|
880
856
|
}
|
881
857
|
popoverEl.dismiss(undefined, undefined, false);
|
882
|
-
}
|
883
|
-
}
|
858
|
+
},
|
859
|
+
},
|
884
860
|
];
|
885
861
|
break;
|
886
862
|
}
|
@@ -922,7 +898,7 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
922
898
|
hoverTimeout = undefined;
|
923
899
|
});
|
924
900
|
}, 100);
|
925
|
-
}
|
901
|
+
},
|
926
902
|
},
|
927
903
|
{
|
928
904
|
eventName: 'mouseleave',
|
@@ -942,7 +918,7 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
942
918
|
if (target.closest('ion-popover') !== popoverEl) {
|
943
919
|
popoverEl.dismiss(undefined, undefined, false);
|
944
920
|
}
|
945
|
-
}
|
921
|
+
},
|
946
922
|
},
|
947
923
|
{
|
948
924
|
/**
|
@@ -950,12 +926,12 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
950
926
|
* from dismissing when dismiss-on-select="true".
|
951
927
|
*/
|
952
928
|
eventName: 'click',
|
953
|
-
callback: (ev) => ev.stopPropagation()
|
929
|
+
callback: (ev) => ev.stopPropagation(),
|
954
930
|
},
|
955
931
|
{
|
956
932
|
eventName: 'ionPopoverActivateTrigger',
|
957
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev, true)
|
958
|
-
}
|
933
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev, true),
|
934
|
+
},
|
959
935
|
];
|
960
936
|
break;
|
961
937
|
case 'context-menu':
|
@@ -969,16 +945,16 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
969
945
|
*/
|
970
946
|
ev.preventDefault();
|
971
947
|
popoverEl.presentFromTrigger(ev);
|
972
|
-
}
|
948
|
+
},
|
973
949
|
},
|
974
950
|
{
|
975
951
|
eventName: 'click',
|
976
|
-
callback: (ev) => ev.stopPropagation()
|
952
|
+
callback: (ev) => ev.stopPropagation(),
|
977
953
|
},
|
978
954
|
{
|
979
955
|
eventName: 'ionPopoverActivateTrigger',
|
980
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev, true)
|
981
|
-
}
|
956
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev, true),
|
957
|
+
},
|
982
958
|
];
|
983
959
|
break;
|
984
960
|
case 'click':
|
@@ -993,12 +969,12 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
993
969
|
* the first popover to dismiss.
|
994
970
|
*/
|
995
971
|
eventName: 'click',
|
996
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev)
|
972
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev),
|
997
973
|
},
|
998
974
|
{
|
999
975
|
eventName: 'ionPopoverActivateTrigger',
|
1000
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev, true)
|
1001
|
-
}
|
976
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev, true),
|
977
|
+
},
|
1002
978
|
];
|
1003
979
|
break;
|
1004
980
|
}
|
@@ -1016,7 +992,7 @@ const getIndexOfItem = (items, item) => {
|
|
1016
992
|
if (!item || item.tagName !== 'ION-ITEM') {
|
1017
993
|
return -1;
|
1018
994
|
}
|
1019
|
-
return items.findIndex(el => el === item);
|
995
|
+
return items.findIndex((el) => el === item);
|
1020
996
|
};
|
1021
997
|
/**
|
1022
998
|
* Given an array of elements and a currently focused ion-item
|
@@ -1051,8 +1027,17 @@ const focusItem = (item) => {
|
|
1051
1027
|
const isTriggerElement = (el) => el.hasAttribute('data-ion-popover-trigger');
|
1052
1028
|
const configureKeyboardInteraction = (popoverEl) => {
|
1053
1029
|
const callback = async (ev) => {
|
1030
|
+
var _a;
|
1054
1031
|
const activeElement = document.activeElement;
|
1055
1032
|
let items = [];
|
1033
|
+
const targetTagName = (_a = ev.target) === null || _a === void 0 ? void 0 : _a.tagName;
|
1034
|
+
/**
|
1035
|
+
* Only handle custom keyboard interactions for the host popover element
|
1036
|
+
* and children ion-item elements.
|
1037
|
+
*/
|
1038
|
+
if (targetTagName !== 'ION-POPOVER' && targetTagName !== 'ION-ITEM') {
|
1039
|
+
return;
|
1040
|
+
}
|
1056
1041
|
/**
|
1057
1042
|
* Complex selectors with :not() are :not supported
|
1058
1043
|
* in older versions of Chromium so we need to do a
|
@@ -1064,9 +1049,9 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1064
1049
|
* i.e. only select ion-item elements that are part of this popover
|
1065
1050
|
*/
|
1066
1051
|
items = Array.from(popoverEl.querySelectorAll('ion-item:not(ion-popover ion-popover *):not([disabled])'));
|
1067
|
-
/*
|
1052
|
+
/* eslint-disable-next-line */
|
1068
1053
|
}
|
1069
|
-
catch (
|
1054
|
+
catch (_b) { }
|
1070
1055
|
switch (ev.key) {
|
1071
1056
|
/**
|
1072
1057
|
* If we are in a child popover
|
@@ -1088,7 +1073,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1088
1073
|
// Disable movement/scroll with keyboard
|
1089
1074
|
ev.preventDefault();
|
1090
1075
|
const nextItem = getNextItem(items, activeElement);
|
1091
|
-
// tslint:disable-next-line:strict-type-predicates
|
1092
1076
|
if (nextItem !== undefined) {
|
1093
1077
|
focusItem(nextItem);
|
1094
1078
|
}
|
@@ -1100,7 +1084,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1100
1084
|
// Disable movement/scroll with keyboard
|
1101
1085
|
ev.preventDefault();
|
1102
1086
|
const prevItem = getPrevItem(items, activeElement);
|
1103
|
-
// tslint:disable-next-line:strict-type-predicates
|
1104
1087
|
if (prevItem !== undefined) {
|
1105
1088
|
focusItem(prevItem);
|
1106
1089
|
}
|
@@ -1111,7 +1094,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1111
1094
|
case 'Home':
|
1112
1095
|
ev.preventDefault();
|
1113
1096
|
const firstItem = items[0];
|
1114
|
-
// tslint:disable-next-line:strict-type-predicates
|
1115
1097
|
if (firstItem !== undefined) {
|
1116
1098
|
focusItem(firstItem);
|
1117
1099
|
}
|
@@ -1122,7 +1104,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1122
1104
|
case 'End':
|
1123
1105
|
ev.preventDefault();
|
1124
1106
|
const lastItem = items[items.length - 1];
|
1125
|
-
// tslint:disable-next-line:strict-type-predicates
|
1126
1107
|
if (lastItem !== undefined) {
|
1127
1108
|
focusItem(lastItem);
|
1128
1109
|
}
|
@@ -1156,7 +1137,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1156
1137
|
top: 0,
|
1157
1138
|
left: 0,
|
1158
1139
|
width: 0,
|
1159
|
-
height: 0
|
1140
|
+
height: 0,
|
1160
1141
|
};
|
1161
1142
|
/**
|
1162
1143
|
* Calculate position relative to the
|
@@ -1173,7 +1154,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1173
1154
|
top: mouseEv.clientY,
|
1174
1155
|
left: mouseEv.clientX,
|
1175
1156
|
width: 1,
|
1176
|
-
height: 1
|
1157
|
+
height: 1,
|
1177
1158
|
};
|
1178
1159
|
break;
|
1179
1160
|
/**
|
@@ -1195,7 +1176,9 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1195
1176
|
* to the indicator rather than `ion-breadcrumb`
|
1196
1177
|
* as a whole.
|
1197
1178
|
*/
|
1198
|
-
const actualTriggerEl = (triggerEl ||
|
1179
|
+
const actualTriggerEl = (triggerEl ||
|
1180
|
+
((_a = customEv === null || customEv === void 0 ? void 0 : customEv.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) ||
|
1181
|
+
(customEv === null || customEv === void 0 ? void 0 : customEv.target));
|
1199
1182
|
if (!actualTriggerEl) {
|
1200
1183
|
return defaultPosition;
|
1201
1184
|
}
|
@@ -1204,7 +1187,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1204
1187
|
top: triggerBoundingBox.top,
|
1205
1188
|
left: triggerBoundingBox.left,
|
1206
1189
|
width: triggerBoundingBox.width,
|
1207
|
-
height: triggerBoundingBox.height
|
1190
|
+
height: triggerBoundingBox.height,
|
1208
1191
|
};
|
1209
1192
|
break;
|
1210
1193
|
}
|
@@ -1244,9 +1227,9 @@ const calculatePopoverOrigin = (side, align, isRTL) => {
|
|
1244
1227
|
case 'right':
|
1245
1228
|
return { originX: 'left', originY: getOriginYAlignment(align) };
|
1246
1229
|
case 'start':
|
1247
|
-
return { originX:
|
1230
|
+
return { originX: isRTL ? 'left' : 'right', originY: getOriginYAlignment(align) };
|
1248
1231
|
case 'end':
|
1249
|
-
return { originX:
|
1232
|
+
return { originX: isRTL ? 'right' : 'left', originY: getOriginYAlignment(align) };
|
1250
1233
|
}
|
1251
1234
|
};
|
1252
1235
|
const getOriginXAlignment = (align) => {
|
@@ -1279,26 +1262,29 @@ const calculateArrowPosition = (side, arrowWidth, arrowHeight, top, left, conten
|
|
1279
1262
|
* been rotated using a `transform`, so to move the arrow up or down
|
1280
1263
|
* by its dimension, you need to use `arrowWidth`.
|
1281
1264
|
*/
|
1282
|
-
const leftPosition = {
|
1265
|
+
const leftPosition = {
|
1266
|
+
arrowTop: top + contentHeight / 2 - arrowWidth / 2,
|
1267
|
+
arrowLeft: left + contentWidth - arrowWidth / 2,
|
1268
|
+
};
|
1283
1269
|
/**
|
1284
1270
|
* Move the arrow to the left by arrowWidth and then
|
1285
1271
|
* again by half of its width because we have rotated
|
1286
1272
|
* the arrow using a transform.
|
1287
1273
|
*/
|
1288
|
-
const rightPosition = { arrowTop: top +
|
1274
|
+
const rightPosition = { arrowTop: top + contentHeight / 2 - arrowWidth / 2, arrowLeft: left - arrowWidth * 1.5 };
|
1289
1275
|
switch (side) {
|
1290
1276
|
case 'top':
|
1291
|
-
return { arrowTop: top + contentHeight, arrowLeft: left +
|
1277
|
+
return { arrowTop: top + contentHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };
|
1292
1278
|
case 'bottom':
|
1293
|
-
return { arrowTop: top - arrowHeight, arrowLeft: left +
|
1279
|
+
return { arrowTop: top - arrowHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };
|
1294
1280
|
case 'left':
|
1295
1281
|
return leftPosition;
|
1296
1282
|
case 'right':
|
1297
1283
|
return rightPosition;
|
1298
1284
|
case 'start':
|
1299
|
-
return
|
1285
|
+
return isRTL ? rightPosition : leftPosition;
|
1300
1286
|
case 'end':
|
1301
|
-
return
|
1287
|
+
return isRTL ? leftPosition : rightPosition;
|
1302
1288
|
default:
|
1303
1289
|
return { arrowTop: 0, arrowLeft: 0 };
|
1304
1290
|
}
|
@@ -1312,31 +1298,31 @@ const calculateArrowPosition = (side, arrowWidth, arrowHeight, top, left, conten
|
|
1312
1298
|
const calculatePopoverSide = (side, triggerBoundingBox, contentWidth, contentHeight, arrowWidth, arrowHeight, isRTL) => {
|
1313
1299
|
const sideLeft = {
|
1314
1300
|
top: triggerBoundingBox.top,
|
1315
|
-
left: triggerBoundingBox.left - contentWidth - arrowWidth
|
1301
|
+
left: triggerBoundingBox.left - contentWidth - arrowWidth,
|
1316
1302
|
};
|
1317
1303
|
const sideRight = {
|
1318
1304
|
top: triggerBoundingBox.top,
|
1319
|
-
left: triggerBoundingBox.left + triggerBoundingBox.width + arrowWidth
|
1305
|
+
left: triggerBoundingBox.left + triggerBoundingBox.width + arrowWidth,
|
1320
1306
|
};
|
1321
1307
|
switch (side) {
|
1322
1308
|
case 'top':
|
1323
1309
|
return {
|
1324
1310
|
top: triggerBoundingBox.top - contentHeight - arrowHeight,
|
1325
|
-
left: triggerBoundingBox.left
|
1311
|
+
left: triggerBoundingBox.left,
|
1326
1312
|
};
|
1327
1313
|
case 'right':
|
1328
1314
|
return sideRight;
|
1329
1315
|
case 'bottom':
|
1330
1316
|
return {
|
1331
1317
|
top: triggerBoundingBox.top + triggerBoundingBox.height + arrowHeight,
|
1332
|
-
left: triggerBoundingBox.left
|
1318
|
+
left: triggerBoundingBox.left,
|
1333
1319
|
};
|
1334
1320
|
case 'left':
|
1335
1321
|
return sideLeft;
|
1336
1322
|
case 'start':
|
1337
|
-
return
|
1323
|
+
return isRTL ? sideRight : sideLeft;
|
1338
1324
|
case 'end':
|
1339
|
-
return
|
1325
|
+
return isRTL ? sideLeft : sideRight;
|
1340
1326
|
}
|
1341
1327
|
};
|
1342
1328
|
/**
|
@@ -1373,14 +1359,14 @@ const calculatePopoverEndAlign = (side, triggerBoundingBox, contentWidth, conten
|
|
1373
1359
|
case 'right':
|
1374
1360
|
return {
|
1375
1361
|
top: -(contentHeight - triggerBoundingBox.height),
|
1376
|
-
left: 0
|
1362
|
+
left: 0,
|
1377
1363
|
};
|
1378
1364
|
case 'top':
|
1379
1365
|
case 'bottom':
|
1380
1366
|
default:
|
1381
1367
|
return {
|
1382
1368
|
top: 0,
|
1383
|
-
left: -(contentWidth - triggerBoundingBox.width)
|
1369
|
+
left: -(contentWidth - triggerBoundingBox.width),
|
1384
1370
|
};
|
1385
1371
|
}
|
1386
1372
|
};
|
@@ -1400,15 +1386,15 @@ const calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, con
|
|
1400
1386
|
case 'left':
|
1401
1387
|
case 'right':
|
1402
1388
|
return {
|
1403
|
-
top: -(
|
1404
|
-
left: 0
|
1389
|
+
top: -(contentHeight / 2 - triggerBoundingBox.height / 2),
|
1390
|
+
left: 0,
|
1405
1391
|
};
|
1406
1392
|
case 'top':
|
1407
1393
|
case 'bottom':
|
1408
1394
|
default:
|
1409
1395
|
return {
|
1410
1396
|
top: 0,
|
1411
|
-
left: -(
|
1397
|
+
left: -(contentWidth / 2 - triggerBoundingBox.width / 2),
|
1412
1398
|
};
|
1413
1399
|
}
|
1414
1400
|
};
|
@@ -1427,7 +1413,9 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
1427
1413
|
let originY = contentOriginY;
|
1428
1414
|
let checkSafeAreaLeft = false;
|
1429
1415
|
let checkSafeAreaRight = false;
|
1430
|
-
const triggerTop = triggerCoordinates
|
1416
|
+
const triggerTop = triggerCoordinates
|
1417
|
+
? triggerCoordinates.top + triggerCoordinates.height
|
1418
|
+
: bodyHeight / 2 - contentHeight / 2;
|
1431
1419
|
const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;
|
1432
1420
|
let addPopoverBottomClass = false;
|
1433
1421
|
/**
|
@@ -1455,10 +1443,19 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
1455
1443
|
* the trigger, then we should not adjust top
|
1456
1444
|
* margins.
|
1457
1445
|
*/
|
1458
|
-
if (triggerTop + triggerHeight + contentHeight > bodyHeight &&
|
1459
|
-
(side === 'top' || side === 'bottom')) {
|
1446
|
+
if (triggerTop + triggerHeight + contentHeight > bodyHeight && (side === 'top' || side === 'bottom')) {
|
1460
1447
|
if (triggerTop - contentHeight > 0) {
|
1461
|
-
|
1448
|
+
/**
|
1449
|
+
* While we strive to align the popover with the trigger
|
1450
|
+
* on smaller screens this is not always possible. As a result,
|
1451
|
+
* we adjust the popover up so that it does not hang
|
1452
|
+
* off the bottom of the screen. However, we do not want to move
|
1453
|
+
* the popover up so much that it goes off the top of the screen.
|
1454
|
+
*
|
1455
|
+
* We chose 12 here so that the popover position looks a bit nicer as
|
1456
|
+
* it is not right up against the edge of the screen.
|
1457
|
+
*/
|
1458
|
+
top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
|
1462
1459
|
arrowTop = top + contentHeight;
|
1463
1460
|
originY = 'bottom';
|
1464
1461
|
addPopoverBottomClass = true;
|
@@ -1471,7 +1468,18 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
1471
1468
|
bottom = bodyPadding;
|
1472
1469
|
}
|
1473
1470
|
}
|
1474
|
-
return {
|
1471
|
+
return {
|
1472
|
+
top,
|
1473
|
+
left,
|
1474
|
+
bottom,
|
1475
|
+
originX,
|
1476
|
+
originY,
|
1477
|
+
checkSafeAreaLeft,
|
1478
|
+
checkSafeAreaRight,
|
1479
|
+
arrowTop,
|
1480
|
+
arrowLeft,
|
1481
|
+
addPopoverBottomClass,
|
1482
|
+
};
|
1475
1483
|
};
|
1476
1484
|
const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
|
1477
1485
|
/**
|
@@ -1523,12 +1531,12 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
1523
1531
|
top: bodyHeight / 2 - contentHeight / 2,
|
1524
1532
|
left: bodyWidth / 2 - contentWidth / 2,
|
1525
1533
|
originX: isRTL ? 'right' : 'left',
|
1526
|
-
originY: 'top'
|
1534
|
+
originY: 'top',
|
1527
1535
|
};
|
1528
1536
|
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev);
|
1529
1537
|
const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
|
1530
1538
|
const margin = size === 'cover' ? 0 : 25;
|
1531
|
-
const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, margin, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
|
1539
|
+
const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, margin, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
|
1532
1540
|
const baseAnimation = animation.createAnimation();
|
1533
1541
|
const backdropAnimation = animation.createAnimation();
|
1534
1542
|
const wrapperAnimation = animation.createAnimation();
|
@@ -1536,12 +1544,10 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
1536
1544
|
.addElement(root.querySelector('ion-backdrop'))
|
1537
1545
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
1538
1546
|
.beforeStyles({
|
1539
|
-
'pointer-events': 'none'
|
1547
|
+
'pointer-events': 'none',
|
1540
1548
|
})
|
1541
1549
|
.afterClearStyles(['pointer-events']);
|
1542
|
-
wrapperAnimation
|
1543
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1544
|
-
.fromTo('opacity', 0.01, 1);
|
1550
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.01, 1);
|
1545
1551
|
return baseAnimation
|
1546
1552
|
.easing('ease')
|
1547
1553
|
.duration(100)
|
@@ -1595,12 +1601,8 @@ const iosLeaveAnimation = (baseEl) => {
|
|
1595
1601
|
const baseAnimation = animation.createAnimation();
|
1596
1602
|
const backdropAnimation = animation.createAnimation();
|
1597
1603
|
const wrapperAnimation = animation.createAnimation();
|
1598
|
-
backdropAnimation
|
1599
|
-
|
1600
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1601
|
-
wrapperAnimation
|
1602
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1603
|
-
.fromTo('opacity', 0.99, 0);
|
1604
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1605
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0);
|
1604
1606
|
return baseAnimation
|
1605
1607
|
.easing('ease')
|
1606
1608
|
.afterAddWrite(() => {
|
@@ -1642,7 +1644,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
1642
1644
|
top: bodyHeight / 2 - contentHeight / 2,
|
1643
1645
|
left: bodyWidth / 2 - contentWidth / 2,
|
1644
1646
|
originX: isRTL ? 'right' : 'left',
|
1645
|
-
originY: 'top'
|
1647
|
+
originY: 'top',
|
1646
1648
|
};
|
1647
1649
|
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
|
1648
1650
|
const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
|
@@ -1656,19 +1658,16 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
1656
1658
|
.addElement(root.querySelector('ion-backdrop'))
|
1657
1659
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
1658
1660
|
.beforeStyles({
|
1659
|
-
'pointer-events': 'none'
|
1661
|
+
'pointer-events': 'none',
|
1660
1662
|
})
|
1661
1663
|
.afterClearStyles(['pointer-events']);
|
1662
|
-
wrapperAnimation
|
1663
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1664
|
-
.duration(150)
|
1665
|
-
.fromTo('opacity', 0.01, 1);
|
1664
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).duration(150).fromTo('opacity', 0.01, 1);
|
1666
1665
|
contentAnimation
|
1667
1666
|
.addElement(contentEl)
|
1668
1667
|
.beforeStyles({
|
1669
|
-
|
1670
|
-
|
1671
|
-
'transform-origin': `${originY} ${originX}
|
1668
|
+
top: `calc(${top}px + var(--offset-y, 0px))`,
|
1669
|
+
left: `calc(${left}px + var(--offset-x, 0px))`,
|
1670
|
+
'transform-origin': `${originY} ${originX}`,
|
1672
1671
|
})
|
1673
1672
|
.beforeAddWrite(() => {
|
1674
1673
|
if (bottom !== undefined) {
|
@@ -1676,9 +1675,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
1676
1675
|
}
|
1677
1676
|
})
|
1678
1677
|
.fromTo('transform', 'scale(0.8)', 'scale(1)');
|
1679
|
-
viewportAnimation
|
1680
|
-
.addElement(root.querySelector('.popover-viewport'))
|
1681
|
-
.fromTo('opacity', 0.01, 1);
|
1678
|
+
viewportAnimation.addElement(root.querySelector('.popover-viewport')).fromTo('opacity', 0.01, 1);
|
1682
1679
|
return baseAnimation
|
1683
1680
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
1684
1681
|
.duration(300)
|
@@ -1705,12 +1702,8 @@ const mdLeaveAnimation = (baseEl) => {
|
|
1705
1702
|
const baseAnimation = animation.createAnimation();
|
1706
1703
|
const backdropAnimation = animation.createAnimation();
|
1707
1704
|
const wrapperAnimation = animation.createAnimation();
|
1708
|
-
backdropAnimation
|
1709
|
-
|
1710
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1711
|
-
wrapperAnimation
|
1712
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1713
|
-
.fromTo('opacity', 0.99, 0);
|
1705
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1706
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0);
|
1714
1707
|
return baseAnimation
|
1715
1708
|
.easing('ease')
|
1716
1709
|
.afterAddWrite(() => {
|
@@ -1758,6 +1751,10 @@ const Popover = class {
|
|
1758
1751
|
this.backdropDismiss = true;
|
1759
1752
|
/**
|
1760
1753
|
* If `true`, a backdrop will be displayed behind the popover.
|
1754
|
+
* This property controls whether or not the backdrop
|
1755
|
+
* darkens the screen when the popover is presented.
|
1756
|
+
* It does not control whether or not the backdrop
|
1757
|
+
* is active or present in the DOM.
|
1761
1758
|
*/
|
1762
1759
|
this.showBackdrop = true;
|
1763
1760
|
/**
|
@@ -1810,9 +1807,8 @@ const Popover = class {
|
|
1810
1807
|
*/
|
1811
1808
|
this.side = 'bottom';
|
1812
1809
|
/**
|
1813
|
-
* If `true`, the popover will display an arrow
|
1814
|
-
*
|
1815
|
-
* on mobile. Does not apply in `md` mode or on desktop.
|
1810
|
+
* If `true`, the popover will display an arrow that points at the
|
1811
|
+
* `reference` when running in `ios` mode. Does not apply in `md` mode.
|
1816
1812
|
*/
|
1817
1813
|
this.arrow = true;
|
1818
1814
|
/**
|
@@ -1835,11 +1831,18 @@ const Popover = class {
|
|
1835
1831
|
* behavior in a popover using a list of items.
|
1836
1832
|
*/
|
1837
1833
|
this.keyboardEvents = false;
|
1838
|
-
|
1839
|
-
|
1840
|
-
|
1841
|
-
|
1842
|
-
|
1834
|
+
/**
|
1835
|
+
* If `true`, the component passed into `ion-popover` will
|
1836
|
+
* automatically be mounted when the popover is created. The
|
1837
|
+
* component will remain mounted even when the popover is dismissed.
|
1838
|
+
* However, the component will be destroyed when the popover is
|
1839
|
+
* destroyed. This property is not reactive and should only be
|
1840
|
+
* used when initially creating a popover.
|
1841
|
+
*
|
1842
|
+
* Note: This feature only applies to inline popovers in JavaScript
|
1843
|
+
* frameworks such as Angular, React, and Vue.
|
1844
|
+
*/
|
1845
|
+
this.keepContentsMounted = false;
|
1843
1846
|
this.onBackdropTap = () => {
|
1844
1847
|
this.dismiss(undefined, overlays.BACKDROP);
|
1845
1848
|
};
|
@@ -1850,7 +1853,7 @@ const Popover = class {
|
|
1850
1853
|
const event = new CustomEvent(name, {
|
1851
1854
|
bubbles: false,
|
1852
1855
|
cancelable: false,
|
1853
|
-
detail: modalEvent.detail
|
1856
|
+
detail: modalEvent.detail,
|
1854
1857
|
});
|
1855
1858
|
el.dispatchEvent(event);
|
1856
1859
|
}
|
@@ -1860,7 +1863,7 @@ const Popover = class {
|
|
1860
1863
|
if (destroyTriggerInteraction) {
|
1861
1864
|
destroyTriggerInteraction();
|
1862
1865
|
}
|
1863
|
-
const triggerEl = this.triggerEl =
|
1866
|
+
const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);
|
1864
1867
|
if (!triggerEl) {
|
1865
1868
|
return;
|
1866
1869
|
}
|
@@ -1903,7 +1906,7 @@ const Popover = class {
|
|
1903
1906
|
* If user has custom ID set then we should
|
1904
1907
|
* not assign the default incrementing ID.
|
1905
1908
|
*/
|
1906
|
-
this.popoverId =
|
1909
|
+
this.popoverId = this.el.hasAttribute('id') ? this.el.getAttribute('id') : `ion-popover-${this.popoverIndex}`;
|
1907
1910
|
this.parentPopover = this.el.closest(`ion-popover:not(#${this.popoverId})`);
|
1908
1911
|
if (this.alignment === undefined) {
|
1909
1912
|
this.alignment = ionicGlobal.getIonMode(this) === 'ios' ? 'center' : 'start';
|
@@ -1952,7 +1955,7 @@ const Popover = class {
|
|
1952
1955
|
if (this.workingDelegate && !force) {
|
1953
1956
|
return {
|
1954
1957
|
delegate: this.workingDelegate,
|
1955
|
-
inline: this.inline
|
1958
|
+
inline: this.inline,
|
1956
1959
|
};
|
1957
1960
|
}
|
1958
1961
|
/**
|
@@ -1965,8 +1968,8 @@ const Popover = class {
|
|
1965
1968
|
* correct place.
|
1966
1969
|
*/
|
1967
1970
|
const parentEl = this.el.parentNode;
|
1968
|
-
const inline = this.inline = parentEl !== null && !this.hasController;
|
1969
|
-
const delegate = this.workingDelegate =
|
1971
|
+
const inline = (this.inline = parentEl !== null && !this.hasController);
|
1972
|
+
const delegate = (this.workingDelegate = inline ? this.delegate || this.coreDelegate : this.delegate);
|
1970
1973
|
return { inline, delegate };
|
1971
1974
|
}
|
1972
1975
|
/**
|
@@ -2004,7 +2007,7 @@ const Popover = class {
|
|
2004
2007
|
trigger: this.triggerEl,
|
2005
2008
|
reference: this.reference,
|
2006
2009
|
side: this.side,
|
2007
|
-
align: this.alignment
|
2010
|
+
align: this.alignment,
|
2008
2011
|
});
|
2009
2012
|
await this.currentTransition;
|
2010
2013
|
this.currentTransition = undefined;
|
@@ -2086,10 +2089,10 @@ const Popover = class {
|
|
2086
2089
|
const mode = ionicGlobal.getIonMode(this);
|
2087
2090
|
const { onLifecycle, popoverId, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;
|
2088
2091
|
const desktop = ionicGlobal.isPlatform('desktop');
|
2089
|
-
const enableArrow = arrow && !parentPopover
|
2092
|
+
const enableArrow = arrow && !parentPopover;
|
2090
2093
|
return (index$1.h(index$1.Host, Object.assign({ "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
2091
2094
|
zIndex: `${20000 + this.overlayIndex}`,
|
2092
|
-
}, id: popoverId, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle,
|
2095
|
+
}, id: popoverId, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index$1.h("ion-backdrop", { tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index$1.h("div", { class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index$1.h("div", { class: "popover-arrow", part: "arrow" }), index$1.h("div", { class: "popover-content", part: "content" }, index$1.h("slot", null)))));
|
2093
2096
|
}
|
2094
2097
|
get el() { return index$1.getElement(this); }
|
2095
2098
|
static get watchers() { return {
|
@@ -2099,10 +2102,10 @@ const Popover = class {
|
|
2099
2102
|
}; }
|
2100
2103
|
};
|
2101
2104
|
const LIFECYCLE_MAP = {
|
2102
|
-
|
2103
|
-
|
2104
|
-
|
2105
|
-
|
2105
|
+
ionPopoverDidPresent: 'ionViewDidEnter',
|
2106
|
+
ionPopoverWillPresent: 'ionViewWillEnter',
|
2107
|
+
ionPopoverWillDismiss: 'ionViewWillLeave',
|
2108
|
+
ionPopoverDidDismiss: 'ionViewDidLeave',
|
2106
2109
|
};
|
2107
2110
|
let popoverIds = 0;
|
2108
2111
|
Popover.style = {
|
@@ -2128,7 +2131,7 @@ const SelectPopover = class {
|
|
2128
2131
|
}
|
2129
2132
|
findOptionFromEvent(ev) {
|
2130
2133
|
const { options } = this;
|
2131
|
-
return options.find(o => o.value === ev.target.value);
|
2134
|
+
return options.find((o) => o.value === ev.target.value);
|
2132
2135
|
}
|
2133
2136
|
/**
|
2134
2137
|
* When an option is selected we need to get the value(s)
|
@@ -2138,7 +2141,7 @@ const SelectPopover = class {
|
|
2138
2141
|
callOptionHandler(ev) {
|
2139
2142
|
const option = this.findOptionFromEvent(ev);
|
2140
2143
|
const values = this.getValues(ev);
|
2141
|
-
if (option
|
2144
|
+
if (option === null || option === void 0 ? void 0 : option.handler) {
|
2142
2145
|
overlays.safeCall(option.handler, values);
|
2143
2146
|
}
|
2144
2147
|
}
|
@@ -2164,7 +2167,7 @@ const SelectPopover = class {
|
|
2164
2167
|
if (multiple) {
|
2165
2168
|
// this is a popover with checkboxes (multiple value select)
|
2166
2169
|
// return an array of all the checked values
|
2167
|
-
return options.filter(o => o.checked).map(o => o.value);
|
2170
|
+
return options.filter((o) => o.checked).map((o) => o.value);
|
2168
2171
|
}
|
2169
2172
|
// this is a popover with radio buttons (single value select)
|
2170
2173
|
// return the value that was clicked, otherwise undefined
|
@@ -2174,22 +2177,23 @@ const SelectPopover = class {
|
|
2174
2177
|
renderOptions(options) {
|
2175
2178
|
const { multiple } = this;
|
2176
2179
|
switch (multiple) {
|
2177
|
-
case true:
|
2178
|
-
|
2180
|
+
case true:
|
2181
|
+
return this.renderCheckboxOptions(options);
|
2182
|
+
default:
|
2183
|
+
return this.renderRadioOptions(options);
|
2179
2184
|
}
|
2180
2185
|
}
|
2181
2186
|
renderCheckboxOptions(options) {
|
2182
|
-
return
|
2187
|
+
return options.map((option) => (index$1.h("ion-item", { class: theme.getClassMap(option.cssClass) }, index$1.h("ion-checkbox", { slot: "start", value: option.value, disabled: option.disabled, checked: option.checked }), index$1.h("ion-label", null, option.text))));
|
2183
2188
|
}
|
2184
2189
|
renderRadioOptions(options) {
|
2185
|
-
const checked = options.filter(o => o.checked).map(o => o.value)[0];
|
2186
|
-
return (index$1.h("ion-radio-group", { value: checked }, options.map(option => index$1.h("ion-item", { class: theme.getClassMap(option.cssClass) }, index$1.h("ion-label", null, option.text), index$1.h("ion-radio", { value: option.value, disabled: option.disabled, onClick: ev => this.rbClick(ev) })))));
|
2190
|
+
const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
|
2191
|
+
return (index$1.h("ion-radio-group", { value: checked }, options.map((option) => (index$1.h("ion-item", { class: theme.getClassMap(option.cssClass) }, index$1.h("ion-label", null, option.text), index$1.h("ion-radio", { value: option.value, disabled: option.disabled, onClick: (ev) => this.rbClick(ev) }))))));
|
2187
2192
|
}
|
2188
2193
|
render() {
|
2189
2194
|
const { header, message, options, subHeader } = this;
|
2190
2195
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
2191
|
-
return (index$1.h(index$1.Host, { class: ionicGlobal.getIonMode(this) }, index$1.h("ion-list", null, header !== undefined && index$1.h("ion-list-header", null, header), hasSubHeaderOrMessage &&
|
2192
|
-
index$1.h("ion-item", null, index$1.h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && index$1.h("h3", null, subHeader), message !== undefined && index$1.h("p", null, message))), this.renderOptions(options))));
|
2196
|
+
return (index$1.h(index$1.Host, { class: ionicGlobal.getIonMode(this) }, index$1.h("ion-list", null, header !== undefined && index$1.h("ion-list-header", null, header), hasSubHeaderOrMessage && (index$1.h("ion-item", null, index$1.h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && index$1.h("h3", null, subHeader), message !== undefined && index$1.h("p", null, message)))), this.renderOptions(options))));
|
2193
2197
|
}
|
2194
2198
|
};
|
2195
2199
|
SelectPopover.style = {
|