@sparkle-learning/core 0.0.33 → 0.0.36
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/{auth.service-f878f6ab.js → PrivateRoute-074c584e.js} +34 -3
- 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/{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/{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/{sparkle-export-lessons_6.cjs.entry.js → header-mobile-collapse_61.cjs.entry.js} +11608 -2721
- 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-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 +12 -12
- package/dist/cjs/{index.es-ef3efdfb.js → index.es-38cbcdbe.js} +2 -7
- 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-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-card-title.cjs.entry.js +4 -4
- package/dist/cjs/ion-chip.cjs.entry.js +3 -3
- 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-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-textarea.cjs.entry.js +29 -28
- package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +23 -43
- package/dist/cjs/ion-toggle.cjs.entry.js +36 -19
- 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/{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-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-emoji.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +8 -7
- package/dist/cjs/sparkle-feed-post.cjs.entry.js +104 -3
- package/dist/cjs/sparkle-feedback.cjs.entry.js +8 -8
- package/dist/cjs/sparkle-goal-form.cjs.entry.js +8 -7
- 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-intro.cjs.entry.js +2 -2
- 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-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-v1.cjs.entry.js +105 -0
- package/dist/cjs/sparkle-quiz.cjs.entry.js +55 -41
- 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-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-title.cjs.entry.js +2 -2
- package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
- package/dist/cjs/student.service-2e58f237.js +78 -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/collection/collection-manifest.json +4 -2
- 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 +0 -1
- package/dist/collection/components/sparkle-quiz/{sparkle-quiz.css → sparkle-quiz/sparkle-quiz.css} +0 -0
- package/dist/collection/components/sparkle-quiz/sparkle-quiz/sparkle-quiz.js +326 -0
- package/dist/collection/components/sparkle-quiz/sparkle-quiz-v1.css +48 -0
- package/dist/collection/components/sparkle-quiz/{sparkle-quiz.js → sparkle-quiz-v1.js} +4 -4
- package/dist/esm/{auth.service-7ab0ac58.js → PrivateRoute-c5441f35.js} +33 -3
- package/dist/esm/{active-router-909088d6.js → active-router-fc9e4e06.js} +1 -1
- package/dist/esm/{animation-7b083379.js → animation-12377cb3.js} +83 -78
- package/dist/esm/{app-globals-5c736ae5.js → app-globals-3f0347b0.js} +1 -1
- package/dist/esm/{auth.store-98fad96d.js → auth.store-dba2c2da.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/{facilitator.service-1524bf89.js → facilitator.service-b0292f7f.js} +2 -1
- package/dist/esm/{feed.service-4900fc62.js → feed.service-8fbe4ce3.js} +3 -2
- package/dist/esm/{focus-visible-40cda868.js → focus-visible-4e9a0764.js} +19 -6
- package/dist/esm/{framework-delegate-518bd233.js → framework-delegate-3e634a5c.js} +11 -13
- package/dist/esm/{gesture-controller-686622ba.js → gesture-controller-7be18351.js} +1 -1
- package/dist/esm/{haptic-99c9e346.js → haptic-522f76f2.js} +3 -2
- package/dist/esm/{hardware-back-button-b6ccf74a.js → hardware-back-button-fa04d6e9.js} +8 -8
- package/dist/esm/{sparkle-export-lessons_6.entry.js → header-mobile-collapse_61.entry.js} +11502 -2670
- package/dist/esm/{helpers-9d0930de.js → helpers-bf0e23d6.js} +81 -15
- package/dist/esm/httpService-7b75b095.js +683 -0
- package/dist/esm/{icons-05b6ce86.js → icons-9b62a1ec.js} +2 -2
- package/dist/esm/{index-a12c14bd.js → index-21661af2.js} +22 -19
- package/dist/esm/{index-8de9446b.js → index-2b84cad2.js} +17 -25
- package/dist/esm/{index-ea26196a.js → index-4044fde9.js} +5 -2
- package/dist/esm/{tap-click-cca25060.js → index-45fec1e7.js} +30 -20
- package/dist/esm/index-5e8971ae.js +128 -0
- package/dist/esm/{index-435af8e6.js → index-be6112f8.js} +9 -8
- package/dist/esm/{index-5568e3fa.js → index-c04b9ed5.js} +18 -11
- package/dist/esm/{index-fa5e93c5.js → index-cded2d87.js} +19 -28
- package/dist/esm/index-dad75b83.js +34 -0
- package/dist/esm/{index.es-89cff481.js → index.es-e0c0f891.js} +2 -7
- package/dist/esm/index.js +8 -8
- package/dist/esm/{input-shims-7f04e044.js → input-shims-671d8d9f.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-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-card-title.entry.js +4 -4
- package/dist/esm/ion-chip.entry.js +3 -3
- 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-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-textarea.entry.js +29 -28
- package/dist/esm/ion-thumbnail.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +23 -43
- package/dist/esm/ion-toggle.entry.js +36 -19
- package/dist/esm/ion-virtual-scroll.entry.js +29 -28
- package/dist/esm/{ionic-global-0939c477.js → ionic-global-4903e23e.js} +27 -31
- package/dist/esm/{ios.transition-db4f4ca6.js → ios.transition-131d64fe.js} +71 -51
- package/dist/esm/{keyboard-2503e874.js → keyboard-7e8329b3.js} +3 -3
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{md.transition-8294b503.js → md.transition-f6126011.js} +9 -16
- package/dist/esm/{menu-toggle-util-06adade3.js → menu-toggle-util-bace8ae6.js} +2 -2
- package/dist/esm/{overlays-5c777f10.js → overlays-3b4dca92.js} +30 -30
- package/dist/esm/parse-1ae3a9bb.js +1196 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/{purify-eb68cf1d.js → purify-85bfcc69.js} +1 -1
- package/dist/esm/sparkle-animation-player.entry.js +2 -2
- 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-emoji.entry.js +1 -1
- package/dist/esm/sparkle-facilitator-notes-form.entry.js +8 -7
- package/dist/esm/sparkle-feed-post.entry.js +104 -3
- package/dist/esm/sparkle-feedback.entry.js +8 -8
- package/dist/esm/sparkle-goal-form.entry.js +9 -8
- 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-intro.entry.js +2 -2
- 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-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-v1.entry.js +101 -0
- package/dist/esm/sparkle-quiz.entry.js +55 -41
- 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-youtube.entry.js +1 -1
- package/dist/esm/{spinner-configs-f609a655.js → spinner-configs-a37e628a.js} +43 -43
- package/dist/esm/{status-tap-e8c0c752.js → status-tap-dde52787.js} +7 -5
- package/dist/esm/stencil-async-content.entry.js +1 -1
- package/dist/esm/stencil-route-title.entry.js +2 -2
- package/dist/esm/stencil-router-prompt.entry.js +2 -2
- package/dist/esm/{student.service-c2f44f3a.js → student.service-0746418b.js} +19 -3
- package/dist/esm/{swipe-back-9a3b2cdd.js → swipe-back-7847a0c1.js} +5 -5
- package/dist/esm/{theme-c336c9d9.js → theme-7ef00c83.js} +6 -5
- package/dist/esm/{util-a831d09d.js → util-6ef753e9.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-00d10dc9.js +4 -0
- package/dist/sparkle-core/p-0147266a.js +1 -0
- package/dist/sparkle-core/{p-797c23ed.entry.js → p-04c7b276.entry.js} +1 -1
- package/dist/sparkle-core/p-05c032dd.js +4 -0
- package/dist/sparkle-core/{p-5f45d206.entry.js → p-06642405.entry.js} +1 -1
- package/dist/sparkle-core/p-0664370b.entry.js +1 -0
- package/dist/sparkle-core/{p-39e5a90f.entry.js → p-06c7d0f2.entry.js} +1 -1
- package/dist/sparkle-core/{p-703ca87c.js → p-076f0239.js} +0 -0
- package/dist/sparkle-core/p-077c732b.js +4 -0
- package/dist/sparkle-core/p-0ad5c123.entry.js +1 -0
- package/dist/sparkle-core/{p-beb401e3.entry.js → p-0afa3a4d.entry.js} +1 -1
- package/dist/sparkle-core/{p-52f1d1ca.entry.js → p-0c3f3ea6.entry.js} +1 -1
- package/dist/sparkle-core/{p-69e7783d.js → p-0e4de1d0.js} +0 -0
- package/dist/sparkle-core/{p-337f92b0.entry.js → p-0f1c5899.entry.js} +5 -5
- package/dist/sparkle-core/{p-5e4ec238.entry.js → p-0fa3fd63.entry.js} +1 -1
- package/dist/sparkle-core/p-11356b03.entry.js +1 -0
- package/dist/sparkle-core/p-12dd96d7.js +4 -0
- package/dist/sparkle-core/{p-21db4e8e.entry.js → p-162bff1a.entry.js} +1 -1
- package/dist/sparkle-core/p-1b1ba156.entry.js +1 -0
- package/dist/sparkle-core/p-1d4c7c11.js +1 -0
- package/dist/sparkle-core/{p-11234d0f.entry.js → p-1e125ca5.entry.js} +1 -1
- package/dist/sparkle-core/{p-5b40aae5.entry.js → p-1e4782af.entry.js} +1 -1
- package/dist/sparkle-core/{p-4550e10f.entry.js → p-1e4f65ee.entry.js} +1 -1
- package/dist/sparkle-core/{p-f6bafe1d.js → p-2033cd86.js} +2 -2
- package/dist/sparkle-core/{p-ed0e9d29.entry.js → p-214d1229.entry.js} +1 -1
- package/dist/sparkle-core/p-23aca7ca.js +4 -0
- package/dist/sparkle-core/{p-85429b12.entry.js → p-24cb9a33.entry.js} +1 -1
- package/dist/sparkle-core/{p-37c00e39.entry.js → p-27fbabc3.entry.js} +1 -1
- package/dist/sparkle-core/{p-7d61177b.entry.js → p-2ba70507.entry.js} +1 -1
- package/dist/sparkle-core/{p-c8ae9e47.entry.js → p-2c1ca854.entry.js} +1 -1
- package/dist/sparkle-core/{p-23a9f7d1.entry.js → p-2d9659e2.entry.js} +1 -1
- package/dist/sparkle-core/p-2f569553.js +1 -0
- package/dist/sparkle-core/p-2ff67662.js +4 -0
- package/dist/sparkle-core/p-30b810d1.entry.js +4 -0
- package/dist/sparkle-core/p-32f4e565.entry.js +1 -0
- package/dist/sparkle-core/{p-057f6a23.entry.js → p-352677e6.entry.js} +1 -1
- package/dist/sparkle-core/{p-b49ca0ea.entry.js → p-370609ba.entry.js} +1 -1
- package/dist/sparkle-core/p-377b04c2.entry.js +10 -0
- package/dist/sparkle-core/{p-aa9ebc39.entry.js → p-38b7cf68.entry.js} +1 -1
- package/dist/sparkle-core/{p-667accac.entry.js → p-3963e02b.entry.js} +1 -1
- package/dist/sparkle-core/p-39712c56.entry.js +4 -0
- package/dist/sparkle-core/p-3a965828.entry.js +1 -0
- package/dist/sparkle-core/p-3de0e00c.js +4 -0
- package/dist/sparkle-core/{p-04583c51.entry.js → p-4053ecdb.entry.js} +1 -1
- package/dist/sparkle-core/p-462bffba.js +1 -0
- package/dist/sparkle-core/p-48f72e63.js +4 -0
- package/dist/sparkle-core/p-4c6a7e52.js +1 -0
- package/dist/sparkle-core/{p-8c6b6038.js → p-4d4077ea.js} +0 -0
- package/dist/sparkle-core/{p-3a202a38.entry.js → p-5096739e.entry.js} +1 -1
- package/dist/sparkle-core/p-5322c920.entry.js +1 -0
- package/dist/sparkle-core/{p-c748f64e.entry.js → p-54dd894f.entry.js} +1 -1
- package/dist/sparkle-core/p-564e64fc.entry.js +4 -0
- package/dist/sparkle-core/{p-b3909012.entry.js → p-5893bbe5.entry.js} +1 -1
- package/dist/sparkle-core/p-58e4bbe5.entry.js +1 -0
- package/dist/sparkle-core/p-590266d6.entry.js +1 -0
- package/dist/sparkle-core/p-594a6982.entry.js +1 -0
- package/dist/sparkle-core/{p-aef8aa31.entry.js → p-5c435d5a.entry.js} +1 -1
- package/dist/sparkle-core/{p-a7832a51.js → p-5cad23f1.js} +1 -1
- package/dist/sparkle-core/p-5efc6566.js +1 -0
- package/dist/sparkle-core/p-600cf6a3.js +1 -0
- package/dist/sparkle-core/{p-a9ee3f6d.entry.js → p-601397df.entry.js} +1 -1
- package/dist/sparkle-core/p-604a7987.js +4 -0
- package/dist/sparkle-core/{p-11cf398a.entry.js → p-616941c6.entry.js} +1 -1
- package/dist/sparkle-core/{p-aa87c7f0.entry.js → p-6316d124.entry.js} +1 -1
- package/dist/sparkle-core/p-63f71ada.entry.js +1 -0
- package/dist/sparkle-core/p-641bfc92.entry.js +1 -0
- package/dist/sparkle-core/p-69487d90.entry.js +1 -0
- package/dist/sparkle-core/{p-5a98d42e.entry.js → p-6faa194c.entry.js} +2 -2
- package/dist/sparkle-core/p-6ffd2420.entry.js +1 -0
- package/dist/sparkle-core/p-73721c84.js +4 -0
- package/dist/sparkle-core/p-74864276.entry.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-43a7391b.entry.js → p-80d6b0e6.entry.js} +1 -1
- package/dist/sparkle-core/{p-c5b9bdd6.entry.js → p-81714d94.entry.js} +1 -1
- package/dist/sparkle-core/p-8492a765.entry.js +1 -0
- package/dist/sparkle-core/p-859563db.entry.js +1 -0
- package/dist/sparkle-core/{p-4dc3ef96.entry.js → p-865f36a8.entry.js} +1 -1
- package/dist/sparkle-core/{p-52d4715a.js → p-86ed13f0.js} +1 -1
- package/dist/sparkle-core/p-871106e0.js +4 -0
- package/dist/sparkle-core/p-894ff7e6.entry.js +1 -0
- package/dist/sparkle-core/{p-7493ee15.entry.js → p-8a41b502.entry.js} +1 -1
- package/dist/sparkle-core/p-8c74cbb6.entry.js +1 -0
- package/dist/sparkle-core/{p-d4c07aca.js → p-924b2917.js} +0 -0
- package/dist/sparkle-core/p-9289cdbc.entry.js +1 -0
- package/dist/sparkle-core/{p-4bd4dab2.js → p-935e7cfc.js} +1 -1
- package/dist/sparkle-core/{p-d7baf31e.entry.js → p-975b99ee.entry.js} +1 -1
- package/dist/sparkle-core/p-99ee9919.js +1 -0
- package/dist/sparkle-core/p-9abbd715.entry.js +1 -0
- package/dist/sparkle-core/{p-ff4d6858.js → p-9d894ed4.js} +2 -2
- package/dist/sparkle-core/{p-fbd7eeca.entry.js → p-9e309b3e.entry.js} +1 -1
- package/dist/sparkle-core/{p-996361f9.entry.js → p-9e7fee8f.entry.js} +1 -1
- package/dist/sparkle-core/p-9ebf0537.entry.js +1 -0
- package/dist/sparkle-core/p-a102341e.entry.js +1 -0
- package/dist/sparkle-core/p-a208ab2d.js +4 -0
- package/dist/sparkle-core/p-a2638250.entry.js +1 -0
- package/dist/sparkle-core/{p-016a7aaf.entry.js → p-a2ebcf0a.entry.js} +1 -1
- package/dist/sparkle-core/{p-6823e6c1.entry.js → p-a98d7ebe.entry.js} +1 -1
- package/dist/sparkle-core/p-add30d46.js +4 -0
- package/dist/sparkle-core/p-af3cc111.entry.js +1 -0
- package/dist/sparkle-core/{p-0ad99881.js → p-b0603d19.js} +1 -1
- package/dist/sparkle-core/p-b3f375fb.entry.js +1 -0
- package/dist/sparkle-core/p-b5f3e1bf.entry.js +1 -0
- package/dist/sparkle-core/{p-90466494.entry.js → p-b96f3c84.entry.js} +2 -2
- package/dist/sparkle-core/p-bd80ff43.js +4 -0
- package/dist/sparkle-core/p-be64105c.entry.js +1 -0
- package/dist/sparkle-core/{p-08923b40.entry.js → p-c0533c23.entry.js} +1 -1
- package/dist/sparkle-core/p-c2990b24.entry.js +1 -0
- package/dist/sparkle-core/{p-c3d3d5c4.entry.js → p-c3cadfc6.entry.js} +1 -1
- package/dist/sparkle-core/p-c60b29bd.entry.js +4 -0
- package/dist/sparkle-core/p-cabfbf22.entry.js +1 -0
- package/dist/sparkle-core/p-cc518c36.entry.js +1 -0
- package/dist/sparkle-core/{p-b21d0d9f.entry.js → p-ce4b22f7.entry.js} +2 -2
- package/dist/sparkle-core/p-cffd4817.entry.js +1 -0
- package/dist/sparkle-core/{p-c69b0a7a.entry.js → p-d0adf726.entry.js} +1 -1
- package/dist/sparkle-core/{p-03ec54a8.entry.js → p-d20e4fcf.entry.js} +1 -1
- package/dist/sparkle-core/p-d24e53ab.entry.js +1 -0
- package/dist/sparkle-core/p-d288e6c1.entry.js +1 -0
- package/dist/sparkle-core/{p-ee0d7f19.entry.js → p-d601810e.entry.js} +1 -1
- package/dist/sparkle-core/p-d68092b7.js +4 -0
- package/dist/sparkle-core/p-de4deb61.entry.js +1 -0
- package/dist/sparkle-core/{p-b07a2cf2.entry.js → p-e249aebf.entry.js} +1 -1
- package/dist/sparkle-core/p-e3e36ce9.entry.js +1 -0
- package/dist/sparkle-core/{p-1726da2f.entry.js → p-e421d638.entry.js} +1 -1
- package/dist/sparkle-core/p-e686d8b5.entry.js +4 -0
- package/dist/sparkle-core/{p-401feeb0.js → p-e8073714.js} +1 -1
- package/dist/sparkle-core/p-e863bf1d.entry.js +1 -0
- package/dist/sparkle-core/{p-3defe550.entry.js → p-e8988989.entry.js} +1 -1
- package/dist/sparkle-core/p-e9431eeb.js +7 -0
- package/dist/sparkle-core/p-ea962e1b.entry.js +1 -0
- package/dist/sparkle-core/p-eaa8bbee.js +4 -0
- package/dist/sparkle-core/p-eaf76d1d.entry.js +352 -0
- package/dist/sparkle-core/p-ebd4354b.entry.js +1 -0
- package/dist/sparkle-core/p-ee1e0eb4.js +2 -0
- package/dist/sparkle-core/{p-d00f550b.entry.js → p-ef4edc48.entry.js} +1 -1
- package/dist/sparkle-core/{p-a9ccb0df.js → p-f3cba72a.js} +0 -0
- package/dist/sparkle-core/p-fb0ca75e.entry.js +5 -0
- package/dist/sparkle-core/p-fb757951.entry.js +1 -0
- package/dist/sparkle-core/p-fbccd30c.js +1 -0
- package/dist/sparkle-core/p-fd8d0738.entry.js +4 -0
- package/dist/sparkle-core/{p-90389886.entry.js → p-fda95b6e.entry.js} +1 -1
- package/dist/sparkle-core/{p-350adbaa.entry.js → p-fe6dc976.entry.js} +1 -1
- package/dist/sparkle-core/{p-ecd39170.entry.js → p-ff0e0d4e.entry.js} +1 -1
- 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-quiz/sparkle-quiz/sparkle-quiz.d.ts +42 -0
- package/dist/types/components/sparkle-quiz/sparkle-quiz-v1.d.ts +41 -0
- package/dist/types/components/sparkle-quiz/sparkle-quiz.d.ts +36 -36
- package/dist/types/components.d.ts +96 -11
- package/package.json +3 -3
- package/dist/cjs/PrivateRoute-482697a6.js +0 -35
- package/dist/cjs/dom-utils-b8befdd5.js +0 -63
- package/dist/cjs/header-mobile-collapse_2.cjs.entry.js +0 -112
- package/dist/cjs/index-07e8aa51.js +0 -3071
- package/dist/cjs/injectHistory-77d41284.js +0 -9
- package/dist/cjs/ion-avatar.cjs.entry.js +0 -25
- package/dist/cjs/ion-button_3.cjs.entry.js +0 -383
- package/dist/cjs/ion-card_2.cjs.entry.js +0 -93
- package/dist/cjs/ion-checkbox_4.cjs.entry.js +0 -370
- package/dist/cjs/ion-col_3.cjs.entry.js +0 -155
- package/dist/cjs/ion-icon_2.cjs.entry.js +0 -397
- package/dist/cjs/ion-input_2.cjs.entry.js +0 -316
- package/dist/cjs/ion-label_2.cjs.entry.js +0 -126
- package/dist/cjs/ion-range.cjs.entry.js +0 -445
- package/dist/cjs/ion-spinner.cjs.entry.js +0 -64
- package/dist/cjs/match-path-84c9f7ca.js +0 -511
- package/dist/cjs/sparkle-card_3.cjs.entry.js +0 -91
- package/dist/cjs/sparkle-course-root.cjs.entry.js +0 -145
- package/dist/cjs/sparkle-dropdown.cjs.entry.js +0 -61
- package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +0 -2129
- package/dist/cjs/sparkle-goal-progress.cjs.entry.js +0 -19
- package/dist/cjs/sparkle-gww-item.cjs.entry.js +0 -74
- package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +0 -236
- package/dist/cjs/sparkle-validation-error.cjs.entry.js +0 -21
- package/dist/cjs/stencil-route-link.cjs.entry.js +0 -77
- package/dist/cjs/stencil-router-redirect.cjs.entry.js +0 -32
- package/dist/cjs/student.service-7af424fe.js +0 -61
- package/dist/cjs/user.store-3d29139d.js +0 -21
- package/dist/esm/PrivateRoute-f59ba6b5.js +0 -33
- package/dist/esm/dom-utils-8e73e88b.js +0 -55
- package/dist/esm/header-mobile-collapse_2.entry.js +0 -107
- package/dist/esm/index-c92f99d4.js +0 -3067
- package/dist/esm/injectHistory-52d0c7eb.js +0 -7
- package/dist/esm/ion-avatar.entry.js +0 -21
- package/dist/esm/ion-button_3.entry.js +0 -377
- package/dist/esm/ion-card_2.entry.js +0 -88
- package/dist/esm/ion-checkbox_4.entry.js +0 -363
- package/dist/esm/ion-col_3.entry.js +0 -149
- package/dist/esm/ion-icon_2.entry.js +0 -392
- package/dist/esm/ion-input_2.entry.js +0 -311
- package/dist/esm/ion-label_2.entry.js +0 -121
- package/dist/esm/ion-range.entry.js +0 -441
- package/dist/esm/ion-spinner.entry.js +0 -60
- package/dist/esm/match-path-36fdf5c7.js +0 -499
- package/dist/esm/sparkle-card_3.entry.js +0 -85
- package/dist/esm/sparkle-course-root.entry.js +0 -141
- package/dist/esm/sparkle-dropdown.entry.js +0 -57
- package/dist/esm/sparkle-facilitator-header_19.entry.js +0 -2107
- package/dist/esm/sparkle-goal-progress.entry.js +0 -15
- package/dist/esm/sparkle-gww-item.entry.js +0 -70
- package/dist/esm/sparkle-menu-toggle_3.entry.js +0 -230
- package/dist/esm/sparkle-validation-error.entry.js +0 -17
- package/dist/esm/stencil-route-link.entry.js +0 -73
- package/dist/esm/stencil-router-redirect.entry.js +0 -28
- package/dist/esm/user.store-e6ff7558.js +0 -19
- package/dist/sparkle-core/p-021fde3c.entry.js +0 -1
- package/dist/sparkle-core/p-034306e2.js +0 -1
- package/dist/sparkle-core/p-034aa29f.entry.js +0 -5
- package/dist/sparkle-core/p-052caa63.js +0 -1
- package/dist/sparkle-core/p-0580419b.entry.js +0 -1
- package/dist/sparkle-core/p-063cd168.js +0 -4
- package/dist/sparkle-core/p-06c0cce3.entry.js +0 -1
- 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-1133fcbd.js +0 -4
- package/dist/sparkle-core/p-1551190a.entry.js +0 -1
- package/dist/sparkle-core/p-1728ead7.js +0 -1
- package/dist/sparkle-core/p-1e8c22e0.entry.js +0 -1
- package/dist/sparkle-core/p-21bf4ca0.entry.js +0 -1
- package/dist/sparkle-core/p-232cc3bc.js +0 -1
- package/dist/sparkle-core/p-28950db0.entry.js +0 -1
- package/dist/sparkle-core/p-2af82cc1.entry.js +0 -1
- package/dist/sparkle-core/p-2bd4c60e.js +0 -1
- package/dist/sparkle-core/p-2f437793.entry.js +0 -348
- package/dist/sparkle-core/p-330ccc7c.entry.js +0 -1
- package/dist/sparkle-core/p-35a7bd6c.entry.js +0 -1
- package/dist/sparkle-core/p-35c5c110.entry.js +0 -1
- package/dist/sparkle-core/p-3ff617d5.js +0 -1
- package/dist/sparkle-core/p-4028676b.js +0 -4
- package/dist/sparkle-core/p-41124baa.js +0 -4
- package/dist/sparkle-core/p-41af3793.entry.js +0 -1
- package/dist/sparkle-core/p-44c23f72.js +0 -1
- 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-4a72626a.js +0 -1
- package/dist/sparkle-core/p-4ba57978.entry.js +0 -4
- package/dist/sparkle-core/p-4ef4b8bd.entry.js +0 -5
- package/dist/sparkle-core/p-4f144efa.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-5ec7fd67.entry.js +0 -1
- package/dist/sparkle-core/p-618f6f82.entry.js +0 -1
- package/dist/sparkle-core/p-62a6c96f.entry.js +0 -1
- package/dist/sparkle-core/p-65ca1fb2.entry.js +0 -1
- package/dist/sparkle-core/p-663fafa9.entry.js +0 -1
- package/dist/sparkle-core/p-67f71099.entry.js +0 -4
- package/dist/sparkle-core/p-680663a2.entry.js +0 -1
- package/dist/sparkle-core/p-6a16b9ef.entry.js +0 -4
- package/dist/sparkle-core/p-6b6a8f0a.entry.js +0 -1
- package/dist/sparkle-core/p-6c5b5ea2.entry.js +0 -1
- package/dist/sparkle-core/p-6ebf52fb.entry.js +0 -1
- package/dist/sparkle-core/p-6f45db93.js +0 -1
- package/dist/sparkle-core/p-6fd4985d.js +0 -4
- package/dist/sparkle-core/p-7052c43a.entry.js +0 -1
- package/dist/sparkle-core/p-70b2452c.js +0 -4
- package/dist/sparkle-core/p-74106ca8.entry.js +0 -1
- package/dist/sparkle-core/p-75572037.js +0 -1
- package/dist/sparkle-core/p-7568dcab.entry.js +0 -1
- package/dist/sparkle-core/p-768bcc9e.entry.js +0 -1
- package/dist/sparkle-core/p-7703bae9.entry.js +0 -1
- package/dist/sparkle-core/p-77c23496.entry.js +0 -1
- package/dist/sparkle-core/p-79606a41.entry.js +0 -1
- package/dist/sparkle-core/p-7976e88c.entry.js +0 -1
- package/dist/sparkle-core/p-7c1f59ec.js +0 -1
- package/dist/sparkle-core/p-7de0a22b.entry.js +0 -1
- package/dist/sparkle-core/p-848fe770.entry.js +0 -1
- package/dist/sparkle-core/p-86d099f1.js +0 -4
- package/dist/sparkle-core/p-87549bb7.js +0 -4
- package/dist/sparkle-core/p-8c470e28.entry.js +0 -1
- package/dist/sparkle-core/p-954c89c2.entry.js +0 -1
- package/dist/sparkle-core/p-95d01c4c.js +0 -4
- package/dist/sparkle-core/p-987c64eb.js +0 -1
- package/dist/sparkle-core/p-9babd345.js +0 -1
- package/dist/sparkle-core/p-a89dea80.entry.js +0 -1
- package/dist/sparkle-core/p-b17dd6df.js +0 -4
- package/dist/sparkle-core/p-b3e6427d.js +0 -7
- package/dist/sparkle-core/p-b7dafaae.entry.js +0 -1
- package/dist/sparkle-core/p-bd062288.entry.js +0 -1
- package/dist/sparkle-core/p-bef34cfe.entry.js +0 -1
- package/dist/sparkle-core/p-c1c59771.js +0 -1
- package/dist/sparkle-core/p-c4104929.entry.js +0 -1
- package/dist/sparkle-core/p-c48bbc7c.entry.js +0 -4
- package/dist/sparkle-core/p-c753207f.entry.js +0 -1
- package/dist/sparkle-core/p-c8ed0575.js +0 -1
- package/dist/sparkle-core/p-c96b24bd.entry.js +0 -4
- package/dist/sparkle-core/p-ce13171b.entry.js +0 -1
- package/dist/sparkle-core/p-d394eed1.entry.js +0 -1
- package/dist/sparkle-core/p-d48e95c1.entry.js +0 -1
- package/dist/sparkle-core/p-d4b1a14a.entry.js +0 -1
- package/dist/sparkle-core/p-d56efeac.entry.js +0 -4
- package/dist/sparkle-core/p-d59a5984.entry.js +0 -1
- package/dist/sparkle-core/p-d8aff730.entry.js +0 -1
- package/dist/sparkle-core/p-da8921d0.entry.js +0 -1
- package/dist/sparkle-core/p-e08059b6.js +0 -4
- package/dist/sparkle-core/p-e3fdd0a8.entry.js +0 -1
- package/dist/sparkle-core/p-ec4d22e3.entry.js +0 -1
- package/dist/sparkle-core/p-ed3eed72.entry.js +0 -1
- package/dist/sparkle-core/p-ee0717e1.entry.js +0 -4
- package/dist/sparkle-core/p-ef2dace6.js +0 -4
- package/dist/sparkle-core/p-f1106984.entry.js +0 -1
- package/dist/sparkle-core/p-f61ca75c.entry.js +0 -1
- package/dist/sparkle-core/p-f9b73032.entry.js +0 -1
- package/dist/sparkle-core/p-fef04ab5.js +0 -4
@@ -1,16 +1,16 @@
|
|
1
|
-
import { w as writeTask, r as registerInstance, i as createEvent, j as readTask, h, H as Host, e as getElement, f as forceUpdate } from './index-
|
2
|
-
import { g as getIonMode, a as isPlatform } from './ionic-global-
|
3
|
-
import { c as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-
|
4
|
-
import { createGesture } from './index-
|
5
|
-
import { B as BACKDROP, i as isCancel,
|
6
|
-
import { g as getClassMap } from './theme-
|
7
|
-
import { c as createAnimation } from './animation-
|
8
|
-
import { s as sanitizeDOMString } from './index-
|
9
|
-
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-
|
10
|
-
import {
|
11
|
-
import { d as deepReady } from './index-
|
12
|
-
import './gesture-controller-
|
13
|
-
import './hardware-back-button-
|
1
|
+
import { w as writeTask, r as registerInstance, i as createEvent, j as readTask, h, H as Host, e as getElement, f as forceUpdate } from './index-c04b9ed5.js';
|
2
|
+
import { g as getIonMode, a as isPlatform } from './ionic-global-4903e23e.js';
|
3
|
+
import { c as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-522f76f2.js';
|
4
|
+
import { createGesture } from './index-21661af2.js';
|
5
|
+
import { B as BACKDROP, i as isCancel, b as present, p as prepareOverlay, d as dismiss, e as eventMethod, s as safeCall, j as focusFirstDescendant } from './overlays-3b4dca92.js';
|
6
|
+
import { g as getClassMap } from './theme-7ef00c83.js';
|
7
|
+
import { c as createAnimation } from './animation-12377cb3.js';
|
8
|
+
import { s as sanitizeDOMString } from './index-be6112f8.js';
|
9
|
+
import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate-3e634a5c.js';
|
10
|
+
import { l as raf, g as getElementRoot, a as addEventListener } from './helpers-bf0e23d6.js';
|
11
|
+
import { d as deepReady } from './index-2b84cad2.js';
|
12
|
+
import './gesture-controller-7be18351.js';
|
13
|
+
import './hardware-back-button-fa04d6e9.js';
|
14
14
|
|
15
15
|
/*!
|
16
16
|
* (C) Ionic http://ionicframework.com - MIT License
|
@@ -64,13 +64,13 @@ const createButtonActiveGesture = (el, isButton) => {
|
|
64
64
|
el,
|
65
65
|
gestureName: 'buttonActiveDrag',
|
66
66
|
threshold: 0,
|
67
|
-
onStart: ev => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionStart),
|
68
|
-
onMove: ev => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionChanged),
|
67
|
+
onStart: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionStart),
|
68
|
+
onMove: (ev) => activateButtonAtPoint(ev.currentX, ev.currentY, hapticSelectionChanged),
|
69
69
|
onEnd: () => {
|
70
70
|
clearActiveButton(true);
|
71
71
|
hapticSelectionEnd();
|
72
72
|
initialTouchedButton = undefined;
|
73
|
-
}
|
73
|
+
},
|
74
74
|
});
|
75
75
|
};
|
76
76
|
|
@@ -88,7 +88,7 @@ const iosEnterAnimation$2 = (baseEl) => {
|
|
88
88
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
89
89
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
90
90
|
.beforeStyles({
|
91
|
-
'pointer-events': 'none'
|
91
|
+
'pointer-events': 'none',
|
92
92
|
})
|
93
93
|
.afterClearStyles(['pointer-events']);
|
94
94
|
wrapperAnimation
|
@@ -111,9 +111,7 @@ const iosLeaveAnimation$2 = (baseEl) => {
|
|
111
111
|
const baseAnimation = createAnimation();
|
112
112
|
const backdropAnimation = createAnimation();
|
113
113
|
const wrapperAnimation = createAnimation();
|
114
|
-
backdropAnimation
|
115
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
116
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
114
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
117
115
|
wrapperAnimation
|
118
116
|
.addElement(baseEl.querySelector('.action-sheet-wrapper'))
|
119
117
|
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
@@ -138,7 +136,7 @@ const mdEnterAnimation$2 = (baseEl) => {
|
|
138
136
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
139
137
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
140
138
|
.beforeStyles({
|
141
|
-
'pointer-events': 'none'
|
139
|
+
'pointer-events': 'none',
|
142
140
|
})
|
143
141
|
.afterClearStyles(['pointer-events']);
|
144
142
|
wrapperAnimation
|
@@ -161,9 +159,7 @@ const mdLeaveAnimation$2 = (baseEl) => {
|
|
161
159
|
const baseAnimation = createAnimation();
|
162
160
|
const backdropAnimation = createAnimation();
|
163
161
|
const wrapperAnimation = createAnimation();
|
164
|
-
backdropAnimation
|
165
|
-
.addElement(baseEl.querySelector('ion-backdrop'))
|
166
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
162
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
167
163
|
wrapperAnimation
|
168
164
|
.addElement(baseEl.querySelector('.action-sheet-wrapper'))
|
169
165
|
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
@@ -214,7 +210,7 @@ const ActionSheet = class {
|
|
214
210
|
this.dispatchCancelHandler = (ev) => {
|
215
211
|
const role = ev.detail.role;
|
216
212
|
if (isCancel(role)) {
|
217
|
-
const cancelButton = this.getButtons().find(b => b.role === 'cancel');
|
213
|
+
const cancelButton = this.getButtons().find((b) => b.role === 'cancel');
|
218
214
|
this.callButtonHandler(cancelButton);
|
219
215
|
}
|
220
216
|
};
|
@@ -277,10 +273,8 @@ const ActionSheet = class {
|
|
277
273
|
return true;
|
278
274
|
}
|
279
275
|
getButtons() {
|
280
|
-
return this.buttons.map(b => {
|
281
|
-
return
|
282
|
-
? { text: b }
|
283
|
-
: b;
|
276
|
+
return this.buttons.map((b) => {
|
277
|
+
return typeof b === 'string' ? { text: b } : b;
|
284
278
|
});
|
285
279
|
}
|
286
280
|
disconnectedCallback() {
|
@@ -312,17 +306,14 @@ const ActionSheet = class {
|
|
312
306
|
const { htmlAttributes } = this;
|
313
307
|
const mode = getIonMode(this);
|
314
308
|
const allButtons = this.getButtons();
|
315
|
-
const cancelButton = allButtons.find(b => b.role === 'cancel');
|
316
|
-
const buttons = allButtons.filter(b => b.role !== 'cancel');
|
309
|
+
const cancelButton = allButtons.find((b) => b.role === 'cancel');
|
310
|
+
const buttons = allButtons.filter((b) => b.role !== 'cancel');
|
317
311
|
return (h(Host, Object.assign({ role: "dialog", "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
318
312
|
zIndex: `${20000 + this.overlayIndex}`,
|
319
|
-
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "action-sheet-wrapper ion-overlay-wrapper", role: "dialog", ref: el => this.wrapperEl = el }, h("div", { class: "action-sheet-container" }, h("div", { class: "action-sheet-group", ref: el => this.groupEl = el }, this.header !== undefined &&
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
} }, this.header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader)), buttons.map(b => h("button", { type: "button", id: b.id, class: buttonClass$1(b), onClick: () => this.buttonClick(b) }, h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null)))), cancelButton &&
|
324
|
-
h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", { type: "button", class: buttonClass$1(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h("span", { class: "action-sheet-button-inner" }, cancelButton.icon &&
|
325
|
-
h("ion-icon", { icon: cancelButton.icon, lazy: false, class: "action-sheet-icon" }), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null))))), h("div", { tabindex: "0" })));
|
313
|
+
}, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "action-sheet-wrapper ion-overlay-wrapper", role: "dialog", ref: (el) => (this.wrapperEl = el) }, h("div", { class: "action-sheet-container" }, h("div", { class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, this.header !== undefined && (h("div", { class: {
|
314
|
+
'action-sheet-title': true,
|
315
|
+
'action-sheet-has-sub-title': this.subHeader !== undefined,
|
316
|
+
} }, this.header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", { type: "button", id: b.id, class: buttonClass$1(b), onClick: () => this.buttonClick(b) }, h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", { type: "button", class: buttonClass$1(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && h("ion-icon", { icon: cancelButton.icon, lazy: false, class: "action-sheet-icon" }), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { tabindex: "0" })));
|
326
317
|
}
|
327
318
|
get el() { return getElement(this); }
|
328
319
|
};
|
@@ -348,14 +339,12 @@ const iosEnterAnimation$1 = (baseEl) => {
|
|
348
339
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
349
340
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
350
341
|
.beforeStyles({
|
351
|
-
'pointer-events': 'none'
|
342
|
+
'pointer-events': 'none',
|
352
343
|
})
|
353
344
|
.afterClearStyles(['pointer-events']);
|
354
|
-
wrapperAnimation
|
355
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
356
|
-
.keyframes([
|
345
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
|
357
346
|
{ offset: 0, opacity: '0.01', transform: 'scale(1.1)' },
|
358
|
-
{ offset: 1, opacity: '1', transform: 'scale(1)' }
|
347
|
+
{ offset: 1, opacity: '1', transform: 'scale(1)' },
|
359
348
|
]);
|
360
349
|
return baseAnimation
|
361
350
|
.addElement(baseEl)
|
@@ -374,14 +363,10 @@ const iosLeaveAnimation$1 = (baseEl) => {
|
|
374
363
|
const baseAnimation = createAnimation();
|
375
364
|
const backdropAnimation = createAnimation();
|
376
365
|
const wrapperAnimation = createAnimation();
|
377
|
-
backdropAnimation
|
378
|
-
|
379
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
380
|
-
wrapperAnimation
|
381
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
382
|
-
.keyframes([
|
366
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
367
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
|
383
368
|
{ offset: 0, opacity: 0.99, transform: 'scale(1)' },
|
384
|
-
{ offset: 1, opacity: 0, transform: 'scale(0.9)' }
|
369
|
+
{ offset: 1, opacity: 0, transform: 'scale(0.9)' },
|
385
370
|
]);
|
386
371
|
return baseAnimation
|
387
372
|
.addElement(baseEl)
|
@@ -404,14 +389,12 @@ const mdEnterAnimation$1 = (baseEl) => {
|
|
404
389
|
.addElement(baseEl.querySelector('ion-backdrop'))
|
405
390
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
406
391
|
.beforeStyles({
|
407
|
-
'pointer-events': 'none'
|
392
|
+
'pointer-events': 'none',
|
408
393
|
})
|
409
394
|
.afterClearStyles(['pointer-events']);
|
410
|
-
wrapperAnimation
|
411
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
412
|
-
.keyframes([
|
395
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).keyframes([
|
413
396
|
{ offset: 0, opacity: '0.01', transform: 'scale(0.9)' },
|
414
|
-
{ offset: 1, opacity: '1', transform: 'scale(1)' }
|
397
|
+
{ offset: 1, opacity: '1', transform: 'scale(1)' },
|
415
398
|
]);
|
416
399
|
return baseAnimation
|
417
400
|
.addElement(baseEl)
|
@@ -430,12 +413,8 @@ const mdLeaveAnimation$1 = (baseEl) => {
|
|
430
413
|
const baseAnimation = createAnimation();
|
431
414
|
const backdropAnimation = createAnimation();
|
432
415
|
const wrapperAnimation = createAnimation();
|
433
|
-
backdropAnimation
|
434
|
-
|
435
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
436
|
-
wrapperAnimation
|
437
|
-
.addElement(baseEl.querySelector('.alert-wrapper'))
|
438
|
-
.fromTo('opacity', 0.99, 0);
|
416
|
+
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
417
|
+
wrapperAnimation.addElement(baseEl.querySelector('.alert-wrapper')).fromTo('opacity', 0.99, 0);
|
439
418
|
return baseAnimation
|
440
419
|
.addElement(baseEl)
|
441
420
|
.easing('ease-in-out')
|
@@ -489,46 +468,42 @@ const Alert = class {
|
|
489
468
|
this.dispatchCancelHandler = (ev) => {
|
490
469
|
const role = ev.detail.role;
|
491
470
|
if (isCancel(role)) {
|
492
|
-
const cancelButton = this.processedButtons.find(b => b.role === 'cancel');
|
471
|
+
const cancelButton = this.processedButtons.find((b) => b.role === 'cancel');
|
493
472
|
this.callButtonHandler(cancelButton);
|
494
473
|
}
|
495
474
|
};
|
496
475
|
}
|
497
476
|
onKeydown(ev) {
|
498
|
-
const inputTypes = new Set(this.processedInputs.map(i => i.type));
|
477
|
+
const inputTypes = new Set(this.processedInputs.map((i) => i.type));
|
499
478
|
// The only inputs we want to navigate between using arrow keys are the radios
|
500
479
|
// ignore the keydown event if it is not on a radio button
|
501
|
-
if (!inputTypes.has('radio')
|
502
|
-
|
503
|
-
|
480
|
+
if (!inputTypes.has('radio') ||
|
481
|
+
(ev.target && !this.el.contains(ev.target)) ||
|
482
|
+
ev.target.classList.contains('alert-button')) {
|
504
483
|
return;
|
505
484
|
}
|
506
485
|
// Get all radios inside of the radio group and then
|
507
486
|
// filter out disabled radios since we need to skip those
|
508
487
|
const query = this.el.querySelectorAll('.alert-radio');
|
509
|
-
const radios = Array.from(query).filter(radio => !radio.disabled);
|
488
|
+
const radios = Array.from(query).filter((radio) => !radio.disabled);
|
510
489
|
// The focused radio is the one that shares the same id as
|
511
490
|
// the event target
|
512
|
-
const index = radios.findIndex(radio => radio.id === ev.target.id);
|
491
|
+
const index = radios.findIndex((radio) => radio.id === ev.target.id);
|
513
492
|
// We need to know what the next radio element should
|
514
493
|
// be in order to change the focus
|
515
494
|
let nextEl;
|
516
495
|
// If hitting arrow down or arrow right, move to the next radio
|
517
496
|
// If we're on the last radio, move to the first radio
|
518
497
|
if (['ArrowDown', 'ArrowRight'].includes(ev.code)) {
|
519
|
-
nextEl =
|
520
|
-
? radios[0]
|
521
|
-
: radios[index + 1];
|
498
|
+
nextEl = index === radios.length - 1 ? radios[0] : radios[index + 1];
|
522
499
|
}
|
523
500
|
// If hitting arrow up or arrow left, move to the previous radio
|
524
501
|
// If we're on the first radio, move to the last radio
|
525
502
|
if (['ArrowUp', 'ArrowLeft'].includes(ev.code)) {
|
526
|
-
nextEl =
|
527
|
-
? radios[radios.length - 1]
|
528
|
-
: radios[index - 1];
|
503
|
+
nextEl = index === 0 ? radios[radios.length - 1] : radios[index - 1];
|
529
504
|
}
|
530
505
|
if (nextEl && radios.includes(nextEl)) {
|
531
|
-
const nextProcessed = this.processedInputs.find(input => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));
|
506
|
+
const nextProcessed = this.processedInputs.find((input) => input.id === (nextEl === null || nextEl === void 0 ? void 0 : nextEl.id));
|
532
507
|
if (nextProcessed) {
|
533
508
|
this.rbClick(nextProcessed);
|
534
509
|
nextEl.focus();
|
@@ -537,10 +512,8 @@ const Alert = class {
|
|
537
512
|
}
|
538
513
|
buttonsChanged() {
|
539
514
|
const buttons = this.buttons;
|
540
|
-
this.processedButtons = buttons.map(btn => {
|
541
|
-
return
|
542
|
-
? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined }
|
543
|
-
: btn;
|
515
|
+
this.processedButtons = buttons.map((btn) => {
|
516
|
+
return typeof btn === 'string' ? { text: btn, role: btn.toLowerCase() === 'cancel' ? 'cancel' : undefined } : btn;
|
544
517
|
});
|
545
518
|
}
|
546
519
|
inputsChanged() {
|
@@ -549,14 +522,14 @@ const Alert = class {
|
|
549
522
|
// If an enabled checked input exists, set it to be the focusable input
|
550
523
|
// otherwise we default to focus the first input
|
551
524
|
// This will only be used when the input is type radio
|
552
|
-
const first = inputs.find(input => !input.disabled);
|
553
|
-
const checked = inputs.find(input => input.checked && !input.disabled);
|
525
|
+
const first = inputs.find((input) => !input.disabled);
|
526
|
+
const checked = inputs.find((input) => input.checked && !input.disabled);
|
554
527
|
const focusable = checked || first;
|
555
528
|
// An alert can be created with several different inputs. Radios,
|
556
529
|
// checkboxes and inputs are all accepted, but they cannot be mixed.
|
557
|
-
const inputTypes = new Set(inputs.map(i => i.type));
|
530
|
+
const inputTypes = new Set(inputs.map((i) => i.type));
|
558
531
|
if (inputTypes.has('checkbox') && inputTypes.has('radio')) {
|
559
|
-
console.warn(`Alert cannot mix input types: ${
|
532
|
+
console.warn(`Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
|
560
533
|
}
|
561
534
|
this.inputType = inputTypes.values().next().value;
|
562
535
|
this.processedInputs = inputs.map((i, index) => ({
|
@@ -573,7 +546,7 @@ const Alert = class {
|
|
573
546
|
max: i.max,
|
574
547
|
cssClass: i.cssClass || '',
|
575
548
|
attributes: i.attributes || {},
|
576
|
-
tabindex:
|
549
|
+
tabindex: i.type === 'radio' && i !== focusable ? -1 : 0,
|
577
550
|
}));
|
578
551
|
}
|
579
552
|
connectedCallback() {
|
@@ -659,7 +632,7 @@ const Alert = class {
|
|
659
632
|
return Promise.resolve(false);
|
660
633
|
}
|
661
634
|
callButtonHandler(button, data) {
|
662
|
-
if (button
|
635
|
+
if (button === null || button === void 0 ? void 0 : button.handler) {
|
663
636
|
// a handler has been provided, execute it
|
664
637
|
// pass the handler the values from the inputs
|
665
638
|
const returnData = safeCall(button.handler, data);
|
@@ -681,27 +654,30 @@ const Alert = class {
|
|
681
654
|
if (this.inputType === 'radio') {
|
682
655
|
// this is an alert with radio buttons (single value select)
|
683
656
|
// return the one value which is checked, otherwise undefined
|
684
|
-
const checkedInput = this.processedInputs.find(i => !!i.checked);
|
657
|
+
const checkedInput = this.processedInputs.find((i) => !!i.checked);
|
685
658
|
return checkedInput ? checkedInput.value : undefined;
|
686
659
|
}
|
687
660
|
if (this.inputType === 'checkbox') {
|
688
661
|
// this is an alert with checkboxes (multiple value select)
|
689
662
|
// return an array of all the checked values
|
690
|
-
return this.processedInputs.filter(i => i.checked).map(i => i.value);
|
663
|
+
return this.processedInputs.filter((i) => i.checked).map((i) => i.value);
|
691
664
|
}
|
692
665
|
// this is an alert with text inputs
|
693
666
|
// return an object of all the values with the input name as the key
|
694
667
|
const values = {};
|
695
|
-
this.processedInputs.forEach(i => {
|
668
|
+
this.processedInputs.forEach((i) => {
|
696
669
|
values[i.name] = i.value || '';
|
697
670
|
});
|
698
671
|
return values;
|
699
672
|
}
|
700
673
|
renderAlertInputs() {
|
701
674
|
switch (this.inputType) {
|
702
|
-
case 'checkbox':
|
703
|
-
|
704
|
-
|
675
|
+
case 'checkbox':
|
676
|
+
return this.renderCheckbox();
|
677
|
+
case 'radio':
|
678
|
+
return this.renderRadio();
|
679
|
+
default:
|
680
|
+
return this.renderInput();
|
705
681
|
}
|
706
682
|
}
|
707
683
|
renderCheckbox() {
|
@@ -710,24 +686,24 @@ const Alert = class {
|
|
710
686
|
if (inputs.length === 0) {
|
711
687
|
return null;
|
712
688
|
}
|
713
|
-
return (h("div", { class: "alert-checkbox-group" }, inputs.map(i => (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({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-checkbox-icon" }, h("div", { class: "alert-checkbox-inner" })), h("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && h("ion-ripple-effect", null))))));
|
689
|
+
return (h("div", { class: "alert-checkbox-group" }, inputs.map((i) => (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({}, getClassMap(i.cssClass)), { 'alert-tappable': true, 'alert-checkbox': true, 'alert-checkbox-button': true, 'ion-focusable': true, 'alert-checkbox-button-disabled': i.disabled || false }) }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-checkbox-icon" }, h("div", { class: "alert-checkbox-inner" })), h("div", { class: "alert-checkbox-label" }, i.label)), mode === 'md' && h("ion-ripple-effect", null))))));
|
714
690
|
}
|
715
691
|
renderRadio() {
|
716
692
|
const inputs = this.processedInputs;
|
717
693
|
if (inputs.length === 0) {
|
718
694
|
return null;
|
719
695
|
}
|
720
|
-
return (h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map(i => (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({}, 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" }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-radio-icon" }, h("div", { class: "alert-radio-inner" })), h("div", { class: "alert-radio-label" }, i.label)))))));
|
696
|
+
return (h("div", { class: "alert-radio-group", role: "radiogroup", "aria-activedescendant": this.activeId }, inputs.map((i) => (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({}, 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" }, h("div", { class: "alert-button-inner" }, h("div", { class: "alert-radio-icon" }, h("div", { class: "alert-radio-inner" })), h("div", { class: "alert-radio-label" }, i.label)))))));
|
721
697
|
}
|
722
698
|
renderInput() {
|
723
699
|
const inputs = this.processedInputs;
|
724
700
|
if (inputs.length === 0) {
|
725
701
|
return null;
|
726
702
|
}
|
727
|
-
return (h("div", { class: "alert-input-group" }, inputs.map(i => {
|
703
|
+
return (h("div", { class: "alert-input-group" }, inputs.map((i) => {
|
728
704
|
var _a, _b, _c, _d;
|
729
705
|
if (i.type === 'textarea') {
|
730
|
-
return (h("div", { class: "alert-input-wrapper" }, 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 => {
|
706
|
+
return (h("div", { class: "alert-input-wrapper" }, 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) => {
|
731
707
|
var _a;
|
732
708
|
i.value = e.target.value;
|
733
709
|
if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {
|
@@ -736,7 +712,7 @@ const Alert = class {
|
|
736
712
|
} }))));
|
737
713
|
}
|
738
714
|
else {
|
739
|
-
return (h("div", { class: "alert-input-wrapper" }, 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 => {
|
715
|
+
return (h("div", { class: "alert-input-wrapper" }, 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) => {
|
740
716
|
var _a;
|
741
717
|
i.value = e.target.value;
|
742
718
|
if ((_a = i.attributes) === null || _a === void 0 ? void 0 : _a.onInput) {
|
@@ -751,9 +727,9 @@ const Alert = class {
|
|
751
727
|
const mode = getIonMode(this);
|
752
728
|
const alertButtonGroupClass = {
|
753
729
|
'alert-button-group': true,
|
754
|
-
'alert-button-group-vertical': buttons.length > 2
|
730
|
+
'alert-button-group-vertical': buttons.length > 2,
|
755
731
|
};
|
756
|
-
return (h("div", { class: alertButtonGroupClass }, buttons.map(button => h("button", { type: "button", id: button.id, class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, h("span", { class: "alert-button-inner" }, button.text), mode === 'md' && h("ion-ripple-effect", null)))));
|
732
|
+
return (h("div", { class: alertButtonGroupClass }, buttons.map((button) => (h("button", { type: "button", id: button.id, class: buttonClass(button), tabIndex: 0, onClick: () => this.buttonClick(button) }, h("span", { class: "alert-button-inner" }, button.text), mode === 'md' && h("ion-ripple-effect", null))))));
|
757
733
|
}
|
758
734
|
render() {
|
759
735
|
const { overlayIndex, header, subHeader, htmlAttributes } = this;
|
@@ -764,7 +740,7 @@ const Alert = class {
|
|
764
740
|
const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
|
765
741
|
return (h(Host, Object.assign({ role: role, "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
766
742
|
zIndex: `${20000 + overlayIndex}`,
|
767
|
-
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "alert-wrapper ion-overlay-wrapper", ref: el => this.wrapperEl = el }, h("div", { class: "alert-head" }, header && h("h2", { id: hdrId, class: "alert-title" }, header), subHeader && h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader)), h("div", { id: msgId, class: "alert-message", innerHTML: sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { tabindex: "0" })));
|
743
|
+
}, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { class: "alert-head" }, header && (h("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (h("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), h("div", { id: msgId, class: "alert-message", innerHTML: sanitizeDOMString(this.message) }), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { tabindex: "0" })));
|
768
744
|
}
|
769
745
|
get el() { return getElement(this); }
|
770
746
|
static get watchers() { return {
|
@@ -814,7 +790,7 @@ const getPopoverDimensions = (size, contentEl, triggerEl) => {
|
|
814
790
|
}
|
815
791
|
return {
|
816
792
|
contentWidth,
|
817
|
-
contentHeight
|
793
|
+
contentHeight,
|
818
794
|
};
|
819
795
|
};
|
820
796
|
const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parentPopoverEl) => {
|
@@ -847,8 +823,8 @@ const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parent
|
|
847
823
|
return;
|
848
824
|
}
|
849
825
|
popoverEl.dismiss(undefined, undefined, false);
|
850
|
-
}
|
851
|
-
}
|
826
|
+
},
|
827
|
+
},
|
852
828
|
];
|
853
829
|
break;
|
854
830
|
case 'context-menu':
|
@@ -875,8 +851,8 @@ const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parent
|
|
875
851
|
return;
|
876
852
|
}
|
877
853
|
popoverEl.dismiss(undefined, undefined, false);
|
878
|
-
}
|
879
|
-
}
|
854
|
+
},
|
855
|
+
},
|
880
856
|
];
|
881
857
|
break;
|
882
858
|
}
|
@@ -918,7 +894,7 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
918
894
|
hoverTimeout = undefined;
|
919
895
|
});
|
920
896
|
}, 100);
|
921
|
-
}
|
897
|
+
},
|
922
898
|
},
|
923
899
|
{
|
924
900
|
eventName: 'mouseleave',
|
@@ -938,7 +914,7 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
938
914
|
if (target.closest('ion-popover') !== popoverEl) {
|
939
915
|
popoverEl.dismiss(undefined, undefined, false);
|
940
916
|
}
|
941
|
-
}
|
917
|
+
},
|
942
918
|
},
|
943
919
|
{
|
944
920
|
/**
|
@@ -946,12 +922,12 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
946
922
|
* from dismissing when dismiss-on-select="true".
|
947
923
|
*/
|
948
924
|
eventName: 'click',
|
949
|
-
callback: (ev) => ev.stopPropagation()
|
925
|
+
callback: (ev) => ev.stopPropagation(),
|
950
926
|
},
|
951
927
|
{
|
952
928
|
eventName: 'ionPopoverActivateTrigger',
|
953
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev, true)
|
954
|
-
}
|
929
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev, true),
|
930
|
+
},
|
955
931
|
];
|
956
932
|
break;
|
957
933
|
case 'context-menu':
|
@@ -965,16 +941,16 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
965
941
|
*/
|
966
942
|
ev.preventDefault();
|
967
943
|
popoverEl.presentFromTrigger(ev);
|
968
|
-
}
|
944
|
+
},
|
969
945
|
},
|
970
946
|
{
|
971
947
|
eventName: 'click',
|
972
|
-
callback: (ev) => ev.stopPropagation()
|
948
|
+
callback: (ev) => ev.stopPropagation(),
|
973
949
|
},
|
974
950
|
{
|
975
951
|
eventName: 'ionPopoverActivateTrigger',
|
976
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev, true)
|
977
|
-
}
|
952
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev, true),
|
953
|
+
},
|
978
954
|
];
|
979
955
|
break;
|
980
956
|
case 'click':
|
@@ -989,12 +965,12 @@ const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
|
|
989
965
|
* the first popover to dismiss.
|
990
966
|
*/
|
991
967
|
eventName: 'click',
|
992
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev)
|
968
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev),
|
993
969
|
},
|
994
970
|
{
|
995
971
|
eventName: 'ionPopoverActivateTrigger',
|
996
|
-
callback: (ev) => popoverEl.presentFromTrigger(ev, true)
|
997
|
-
}
|
972
|
+
callback: (ev) => popoverEl.presentFromTrigger(ev, true),
|
973
|
+
},
|
998
974
|
];
|
999
975
|
break;
|
1000
976
|
}
|
@@ -1012,7 +988,7 @@ const getIndexOfItem = (items, item) => {
|
|
1012
988
|
if (!item || item.tagName !== 'ION-ITEM') {
|
1013
989
|
return -1;
|
1014
990
|
}
|
1015
|
-
return items.findIndex(el => el === item);
|
991
|
+
return items.findIndex((el) => el === item);
|
1016
992
|
};
|
1017
993
|
/**
|
1018
994
|
* Given an array of elements and a currently focused ion-item
|
@@ -1047,8 +1023,17 @@ const focusItem = (item) => {
|
|
1047
1023
|
const isTriggerElement = (el) => el.hasAttribute('data-ion-popover-trigger');
|
1048
1024
|
const configureKeyboardInteraction = (popoverEl) => {
|
1049
1025
|
const callback = async (ev) => {
|
1026
|
+
var _a;
|
1050
1027
|
const activeElement = document.activeElement;
|
1051
1028
|
let items = [];
|
1029
|
+
const targetTagName = (_a = ev.target) === null || _a === void 0 ? void 0 : _a.tagName;
|
1030
|
+
/**
|
1031
|
+
* Only handle custom keyboard interactions for the host popover element
|
1032
|
+
* and children ion-item elements.
|
1033
|
+
*/
|
1034
|
+
if (targetTagName !== 'ION-POPOVER' && targetTagName !== 'ION-ITEM') {
|
1035
|
+
return;
|
1036
|
+
}
|
1052
1037
|
/**
|
1053
1038
|
* Complex selectors with :not() are :not supported
|
1054
1039
|
* in older versions of Chromium so we need to do a
|
@@ -1060,9 +1045,9 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1060
1045
|
* i.e. only select ion-item elements that are part of this popover
|
1061
1046
|
*/
|
1062
1047
|
items = Array.from(popoverEl.querySelectorAll('ion-item:not(ion-popover ion-popover *):not([disabled])'));
|
1063
|
-
/*
|
1048
|
+
/* eslint-disable-next-line */
|
1064
1049
|
}
|
1065
|
-
catch (
|
1050
|
+
catch (_b) { }
|
1066
1051
|
switch (ev.key) {
|
1067
1052
|
/**
|
1068
1053
|
* If we are in a child popover
|
@@ -1084,7 +1069,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1084
1069
|
// Disable movement/scroll with keyboard
|
1085
1070
|
ev.preventDefault();
|
1086
1071
|
const nextItem = getNextItem(items, activeElement);
|
1087
|
-
// tslint:disable-next-line:strict-type-predicates
|
1088
1072
|
if (nextItem !== undefined) {
|
1089
1073
|
focusItem(nextItem);
|
1090
1074
|
}
|
@@ -1096,7 +1080,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1096
1080
|
// Disable movement/scroll with keyboard
|
1097
1081
|
ev.preventDefault();
|
1098
1082
|
const prevItem = getPrevItem(items, activeElement);
|
1099
|
-
// tslint:disable-next-line:strict-type-predicates
|
1100
1083
|
if (prevItem !== undefined) {
|
1101
1084
|
focusItem(prevItem);
|
1102
1085
|
}
|
@@ -1107,7 +1090,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1107
1090
|
case 'Home':
|
1108
1091
|
ev.preventDefault();
|
1109
1092
|
const firstItem = items[0];
|
1110
|
-
// tslint:disable-next-line:strict-type-predicates
|
1111
1093
|
if (firstItem !== undefined) {
|
1112
1094
|
focusItem(firstItem);
|
1113
1095
|
}
|
@@ -1118,7 +1100,6 @@ const configureKeyboardInteraction = (popoverEl) => {
|
|
1118
1100
|
case 'End':
|
1119
1101
|
ev.preventDefault();
|
1120
1102
|
const lastItem = items[items.length - 1];
|
1121
|
-
// tslint:disable-next-line:strict-type-predicates
|
1122
1103
|
if (lastItem !== undefined) {
|
1123
1104
|
focusItem(lastItem);
|
1124
1105
|
}
|
@@ -1152,7 +1133,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1152
1133
|
top: 0,
|
1153
1134
|
left: 0,
|
1154
1135
|
width: 0,
|
1155
|
-
height: 0
|
1136
|
+
height: 0,
|
1156
1137
|
};
|
1157
1138
|
/**
|
1158
1139
|
* Calculate position relative to the
|
@@ -1169,7 +1150,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1169
1150
|
top: mouseEv.clientY,
|
1170
1151
|
left: mouseEv.clientX,
|
1171
1152
|
width: 1,
|
1172
|
-
height: 1
|
1153
|
+
height: 1,
|
1173
1154
|
};
|
1174
1155
|
break;
|
1175
1156
|
/**
|
@@ -1191,7 +1172,9 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1191
1172
|
* to the indicator rather than `ion-breadcrumb`
|
1192
1173
|
* as a whole.
|
1193
1174
|
*/
|
1194
|
-
const actualTriggerEl = (triggerEl ||
|
1175
|
+
const actualTriggerEl = (triggerEl ||
|
1176
|
+
((_a = customEv === null || customEv === void 0 ? void 0 : customEv.detail) === null || _a === void 0 ? void 0 : _a.ionShadowTarget) ||
|
1177
|
+
(customEv === null || customEv === void 0 ? void 0 : customEv.target));
|
1195
1178
|
if (!actualTriggerEl) {
|
1196
1179
|
return defaultPosition;
|
1197
1180
|
}
|
@@ -1200,7 +1183,7 @@ const getPopoverPosition = (isRTL, contentWidth, contentHeight, arrowWidth, arro
|
|
1200
1183
|
top: triggerBoundingBox.top,
|
1201
1184
|
left: triggerBoundingBox.left,
|
1202
1185
|
width: triggerBoundingBox.width,
|
1203
|
-
height: triggerBoundingBox.height
|
1186
|
+
height: triggerBoundingBox.height,
|
1204
1187
|
};
|
1205
1188
|
break;
|
1206
1189
|
}
|
@@ -1240,9 +1223,9 @@ const calculatePopoverOrigin = (side, align, isRTL) => {
|
|
1240
1223
|
case 'right':
|
1241
1224
|
return { originX: 'left', originY: getOriginYAlignment(align) };
|
1242
1225
|
case 'start':
|
1243
|
-
return { originX:
|
1226
|
+
return { originX: isRTL ? 'left' : 'right', originY: getOriginYAlignment(align) };
|
1244
1227
|
case 'end':
|
1245
|
-
return { originX:
|
1228
|
+
return { originX: isRTL ? 'right' : 'left', originY: getOriginYAlignment(align) };
|
1246
1229
|
}
|
1247
1230
|
};
|
1248
1231
|
const getOriginXAlignment = (align) => {
|
@@ -1275,26 +1258,29 @@ const calculateArrowPosition = (side, arrowWidth, arrowHeight, top, left, conten
|
|
1275
1258
|
* been rotated using a `transform`, so to move the arrow up or down
|
1276
1259
|
* by its dimension, you need to use `arrowWidth`.
|
1277
1260
|
*/
|
1278
|
-
const leftPosition = {
|
1261
|
+
const leftPosition = {
|
1262
|
+
arrowTop: top + contentHeight / 2 - arrowWidth / 2,
|
1263
|
+
arrowLeft: left + contentWidth - arrowWidth / 2,
|
1264
|
+
};
|
1279
1265
|
/**
|
1280
1266
|
* Move the arrow to the left by arrowWidth and then
|
1281
1267
|
* again by half of its width because we have rotated
|
1282
1268
|
* the arrow using a transform.
|
1283
1269
|
*/
|
1284
|
-
const rightPosition = { arrowTop: top +
|
1270
|
+
const rightPosition = { arrowTop: top + contentHeight / 2 - arrowWidth / 2, arrowLeft: left - arrowWidth * 1.5 };
|
1285
1271
|
switch (side) {
|
1286
1272
|
case 'top':
|
1287
|
-
return { arrowTop: top + contentHeight, arrowLeft: left +
|
1273
|
+
return { arrowTop: top + contentHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };
|
1288
1274
|
case 'bottom':
|
1289
|
-
return { arrowTop: top - arrowHeight, arrowLeft: left +
|
1275
|
+
return { arrowTop: top - arrowHeight, arrowLeft: left + contentWidth / 2 - arrowWidth / 2 };
|
1290
1276
|
case 'left':
|
1291
1277
|
return leftPosition;
|
1292
1278
|
case 'right':
|
1293
1279
|
return rightPosition;
|
1294
1280
|
case 'start':
|
1295
|
-
return
|
1281
|
+
return isRTL ? rightPosition : leftPosition;
|
1296
1282
|
case 'end':
|
1297
|
-
return
|
1283
|
+
return isRTL ? leftPosition : rightPosition;
|
1298
1284
|
default:
|
1299
1285
|
return { arrowTop: 0, arrowLeft: 0 };
|
1300
1286
|
}
|
@@ -1308,31 +1294,31 @@ const calculateArrowPosition = (side, arrowWidth, arrowHeight, top, left, conten
|
|
1308
1294
|
const calculatePopoverSide = (side, triggerBoundingBox, contentWidth, contentHeight, arrowWidth, arrowHeight, isRTL) => {
|
1309
1295
|
const sideLeft = {
|
1310
1296
|
top: triggerBoundingBox.top,
|
1311
|
-
left: triggerBoundingBox.left - contentWidth - arrowWidth
|
1297
|
+
left: triggerBoundingBox.left - contentWidth - arrowWidth,
|
1312
1298
|
};
|
1313
1299
|
const sideRight = {
|
1314
1300
|
top: triggerBoundingBox.top,
|
1315
|
-
left: triggerBoundingBox.left + triggerBoundingBox.width + arrowWidth
|
1301
|
+
left: triggerBoundingBox.left + triggerBoundingBox.width + arrowWidth,
|
1316
1302
|
};
|
1317
1303
|
switch (side) {
|
1318
1304
|
case 'top':
|
1319
1305
|
return {
|
1320
1306
|
top: triggerBoundingBox.top - contentHeight - arrowHeight,
|
1321
|
-
left: triggerBoundingBox.left
|
1307
|
+
left: triggerBoundingBox.left,
|
1322
1308
|
};
|
1323
1309
|
case 'right':
|
1324
1310
|
return sideRight;
|
1325
1311
|
case 'bottom':
|
1326
1312
|
return {
|
1327
1313
|
top: triggerBoundingBox.top + triggerBoundingBox.height + arrowHeight,
|
1328
|
-
left: triggerBoundingBox.left
|
1314
|
+
left: triggerBoundingBox.left,
|
1329
1315
|
};
|
1330
1316
|
case 'left':
|
1331
1317
|
return sideLeft;
|
1332
1318
|
case 'start':
|
1333
|
-
return
|
1319
|
+
return isRTL ? sideRight : sideLeft;
|
1334
1320
|
case 'end':
|
1335
|
-
return
|
1321
|
+
return isRTL ? sideLeft : sideRight;
|
1336
1322
|
}
|
1337
1323
|
};
|
1338
1324
|
/**
|
@@ -1369,14 +1355,14 @@ const calculatePopoverEndAlign = (side, triggerBoundingBox, contentWidth, conten
|
|
1369
1355
|
case 'right':
|
1370
1356
|
return {
|
1371
1357
|
top: -(contentHeight - triggerBoundingBox.height),
|
1372
|
-
left: 0
|
1358
|
+
left: 0,
|
1373
1359
|
};
|
1374
1360
|
case 'top':
|
1375
1361
|
case 'bottom':
|
1376
1362
|
default:
|
1377
1363
|
return {
|
1378
1364
|
top: 0,
|
1379
|
-
left: -(contentWidth - triggerBoundingBox.width)
|
1365
|
+
left: -(contentWidth - triggerBoundingBox.width),
|
1380
1366
|
};
|
1381
1367
|
}
|
1382
1368
|
};
|
@@ -1396,15 +1382,15 @@ const calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, con
|
|
1396
1382
|
case 'left':
|
1397
1383
|
case 'right':
|
1398
1384
|
return {
|
1399
|
-
top: -(
|
1400
|
-
left: 0
|
1385
|
+
top: -(contentHeight / 2 - triggerBoundingBox.height / 2),
|
1386
|
+
left: 0,
|
1401
1387
|
};
|
1402
1388
|
case 'top':
|
1403
1389
|
case 'bottom':
|
1404
1390
|
default:
|
1405
1391
|
return {
|
1406
1392
|
top: 0,
|
1407
|
-
left: -(
|
1393
|
+
left: -(contentWidth / 2 - triggerBoundingBox.width / 2),
|
1408
1394
|
};
|
1409
1395
|
}
|
1410
1396
|
};
|
@@ -1423,7 +1409,9 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
1423
1409
|
let originY = contentOriginY;
|
1424
1410
|
let checkSafeAreaLeft = false;
|
1425
1411
|
let checkSafeAreaRight = false;
|
1426
|
-
const triggerTop = triggerCoordinates
|
1412
|
+
const triggerTop = triggerCoordinates
|
1413
|
+
? triggerCoordinates.top + triggerCoordinates.height
|
1414
|
+
: bodyHeight / 2 - contentHeight / 2;
|
1427
1415
|
const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;
|
1428
1416
|
let addPopoverBottomClass = false;
|
1429
1417
|
/**
|
@@ -1451,10 +1439,19 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
1451
1439
|
* the trigger, then we should not adjust top
|
1452
1440
|
* margins.
|
1453
1441
|
*/
|
1454
|
-
if (triggerTop + triggerHeight + contentHeight > bodyHeight &&
|
1455
|
-
(side === 'top' || side === 'bottom')) {
|
1442
|
+
if (triggerTop + triggerHeight + contentHeight > bodyHeight && (side === 'top' || side === 'bottom')) {
|
1456
1443
|
if (triggerTop - contentHeight > 0) {
|
1457
|
-
|
1444
|
+
/**
|
1445
|
+
* While we strive to align the popover with the trigger
|
1446
|
+
* on smaller screens this is not always possible. As a result,
|
1447
|
+
* we adjust the popover up so that it does not hang
|
1448
|
+
* off the bottom of the screen. However, we do not want to move
|
1449
|
+
* the popover up so much that it goes off the top of the screen.
|
1450
|
+
*
|
1451
|
+
* We chose 12 here so that the popover position looks a bit nicer as
|
1452
|
+
* it is not right up against the edge of the screen.
|
1453
|
+
*/
|
1454
|
+
top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
|
1458
1455
|
arrowTop = top + contentHeight;
|
1459
1456
|
originY = 'bottom';
|
1460
1457
|
addPopoverBottomClass = true;
|
@@ -1467,7 +1464,18 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
|
|
1467
1464
|
bottom = bodyPadding;
|
1468
1465
|
}
|
1469
1466
|
}
|
1470
|
-
return {
|
1467
|
+
return {
|
1468
|
+
top,
|
1469
|
+
left,
|
1470
|
+
bottom,
|
1471
|
+
originX,
|
1472
|
+
originY,
|
1473
|
+
checkSafeAreaLeft,
|
1474
|
+
checkSafeAreaRight,
|
1475
|
+
arrowTop,
|
1476
|
+
arrowLeft,
|
1477
|
+
addPopoverBottomClass,
|
1478
|
+
};
|
1471
1479
|
};
|
1472
1480
|
const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
|
1473
1481
|
/**
|
@@ -1519,12 +1527,12 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
1519
1527
|
top: bodyHeight / 2 - contentHeight / 2,
|
1520
1528
|
left: bodyWidth / 2 - contentWidth / 2,
|
1521
1529
|
originX: isRTL ? 'right' : 'left',
|
1522
|
-
originY: 'top'
|
1530
|
+
originY: 'top',
|
1523
1531
|
};
|
1524
1532
|
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev);
|
1525
1533
|
const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
|
1526
1534
|
const margin = size === 'cover' ? 0 : 25;
|
1527
|
-
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);
|
1535
|
+
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);
|
1528
1536
|
const baseAnimation = createAnimation();
|
1529
1537
|
const backdropAnimation = createAnimation();
|
1530
1538
|
const wrapperAnimation = createAnimation();
|
@@ -1532,12 +1540,10 @@ const iosEnterAnimation = (baseEl, opts) => {
|
|
1532
1540
|
.addElement(root.querySelector('ion-backdrop'))
|
1533
1541
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
1534
1542
|
.beforeStyles({
|
1535
|
-
'pointer-events': 'none'
|
1543
|
+
'pointer-events': 'none',
|
1536
1544
|
})
|
1537
1545
|
.afterClearStyles(['pointer-events']);
|
1538
|
-
wrapperAnimation
|
1539
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1540
|
-
.fromTo('opacity', 0.01, 1);
|
1546
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.01, 1);
|
1541
1547
|
return baseAnimation
|
1542
1548
|
.easing('ease')
|
1543
1549
|
.duration(100)
|
@@ -1591,12 +1597,8 @@ const iosLeaveAnimation = (baseEl) => {
|
|
1591
1597
|
const baseAnimation = createAnimation();
|
1592
1598
|
const backdropAnimation = createAnimation();
|
1593
1599
|
const wrapperAnimation = createAnimation();
|
1594
|
-
backdropAnimation
|
1595
|
-
|
1596
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1597
|
-
wrapperAnimation
|
1598
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1599
|
-
.fromTo('opacity', 0.99, 0);
|
1600
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1601
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0);
|
1600
1602
|
return baseAnimation
|
1601
1603
|
.easing('ease')
|
1602
1604
|
.afterAddWrite(() => {
|
@@ -1638,7 +1640,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
1638
1640
|
top: bodyHeight / 2 - contentHeight / 2,
|
1639
1641
|
left: bodyWidth / 2 - contentWidth / 2,
|
1640
1642
|
originX: isRTL ? 'right' : 'left',
|
1641
|
-
originY: 'top'
|
1643
|
+
originY: 'top',
|
1642
1644
|
};
|
1643
1645
|
const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
|
1644
1646
|
const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
|
@@ -1652,19 +1654,16 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
1652
1654
|
.addElement(root.querySelector('ion-backdrop'))
|
1653
1655
|
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
1654
1656
|
.beforeStyles({
|
1655
|
-
'pointer-events': 'none'
|
1657
|
+
'pointer-events': 'none',
|
1656
1658
|
})
|
1657
1659
|
.afterClearStyles(['pointer-events']);
|
1658
|
-
wrapperAnimation
|
1659
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1660
|
-
.duration(150)
|
1661
|
-
.fromTo('opacity', 0.01, 1);
|
1660
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).duration(150).fromTo('opacity', 0.01, 1);
|
1662
1661
|
contentAnimation
|
1663
1662
|
.addElement(contentEl)
|
1664
1663
|
.beforeStyles({
|
1665
|
-
|
1666
|
-
|
1667
|
-
'transform-origin': `${originY} ${originX}
|
1664
|
+
top: `calc(${top}px + var(--offset-y, 0px))`,
|
1665
|
+
left: `calc(${left}px + var(--offset-x, 0px))`,
|
1666
|
+
'transform-origin': `${originY} ${originX}`,
|
1668
1667
|
})
|
1669
1668
|
.beforeAddWrite(() => {
|
1670
1669
|
if (bottom !== undefined) {
|
@@ -1672,9 +1671,7 @@ const mdEnterAnimation = (baseEl, opts) => {
|
|
1672
1671
|
}
|
1673
1672
|
})
|
1674
1673
|
.fromTo('transform', 'scale(0.8)', 'scale(1)');
|
1675
|
-
viewportAnimation
|
1676
|
-
.addElement(root.querySelector('.popover-viewport'))
|
1677
|
-
.fromTo('opacity', 0.01, 1);
|
1674
|
+
viewportAnimation.addElement(root.querySelector('.popover-viewport')).fromTo('opacity', 0.01, 1);
|
1678
1675
|
return baseAnimation
|
1679
1676
|
.easing('cubic-bezier(0.36,0.66,0.04,1)')
|
1680
1677
|
.duration(300)
|
@@ -1701,12 +1698,8 @@ const mdLeaveAnimation = (baseEl) => {
|
|
1701
1698
|
const baseAnimation = createAnimation();
|
1702
1699
|
const backdropAnimation = createAnimation();
|
1703
1700
|
const wrapperAnimation = createAnimation();
|
1704
|
-
backdropAnimation
|
1705
|
-
|
1706
|
-
.fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1707
|
-
wrapperAnimation
|
1708
|
-
.addElement(root.querySelector('.popover-wrapper'))
|
1709
|
-
.fromTo('opacity', 0.99, 0);
|
1701
|
+
backdropAnimation.addElement(root.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0);
|
1702
|
+
wrapperAnimation.addElement(root.querySelector('.popover-wrapper')).fromTo('opacity', 0.99, 0);
|
1710
1703
|
return baseAnimation
|
1711
1704
|
.easing('ease')
|
1712
1705
|
.afterAddWrite(() => {
|
@@ -1754,6 +1747,10 @@ const Popover = class {
|
|
1754
1747
|
this.backdropDismiss = true;
|
1755
1748
|
/**
|
1756
1749
|
* If `true`, a backdrop will be displayed behind the popover.
|
1750
|
+
* This property controls whether or not the backdrop
|
1751
|
+
* darkens the screen when the popover is presented.
|
1752
|
+
* It does not control whether or not the backdrop
|
1753
|
+
* is active or present in the DOM.
|
1757
1754
|
*/
|
1758
1755
|
this.showBackdrop = true;
|
1759
1756
|
/**
|
@@ -1806,9 +1803,8 @@ const Popover = class {
|
|
1806
1803
|
*/
|
1807
1804
|
this.side = 'bottom';
|
1808
1805
|
/**
|
1809
|
-
* If `true`, the popover will display an arrow
|
1810
|
-
*
|
1811
|
-
* on mobile. Does not apply in `md` mode or on desktop.
|
1806
|
+
* If `true`, the popover will display an arrow that points at the
|
1807
|
+
* `reference` when running in `ios` mode. Does not apply in `md` mode.
|
1812
1808
|
*/
|
1813
1809
|
this.arrow = true;
|
1814
1810
|
/**
|
@@ -1831,11 +1827,18 @@ const Popover = class {
|
|
1831
1827
|
* behavior in a popover using a list of items.
|
1832
1828
|
*/
|
1833
1829
|
this.keyboardEvents = false;
|
1834
|
-
|
1835
|
-
|
1836
|
-
|
1837
|
-
|
1838
|
-
|
1830
|
+
/**
|
1831
|
+
* If `true`, the component passed into `ion-popover` will
|
1832
|
+
* automatically be mounted when the popover is created. The
|
1833
|
+
* component will remain mounted even when the popover is dismissed.
|
1834
|
+
* However, the component will be destroyed when the popover is
|
1835
|
+
* destroyed. This property is not reactive and should only be
|
1836
|
+
* used when initially creating a popover.
|
1837
|
+
*
|
1838
|
+
* Note: This feature only applies to inline popovers in JavaScript
|
1839
|
+
* frameworks such as Angular, React, and Vue.
|
1840
|
+
*/
|
1841
|
+
this.keepContentsMounted = false;
|
1839
1842
|
this.onBackdropTap = () => {
|
1840
1843
|
this.dismiss(undefined, BACKDROP);
|
1841
1844
|
};
|
@@ -1846,7 +1849,7 @@ const Popover = class {
|
|
1846
1849
|
const event = new CustomEvent(name, {
|
1847
1850
|
bubbles: false,
|
1848
1851
|
cancelable: false,
|
1849
|
-
detail: modalEvent.detail
|
1852
|
+
detail: modalEvent.detail,
|
1850
1853
|
});
|
1851
1854
|
el.dispatchEvent(event);
|
1852
1855
|
}
|
@@ -1856,7 +1859,7 @@ const Popover = class {
|
|
1856
1859
|
if (destroyTriggerInteraction) {
|
1857
1860
|
destroyTriggerInteraction();
|
1858
1861
|
}
|
1859
|
-
const triggerEl = this.triggerEl =
|
1862
|
+
const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);
|
1860
1863
|
if (!triggerEl) {
|
1861
1864
|
return;
|
1862
1865
|
}
|
@@ -1899,7 +1902,7 @@ const Popover = class {
|
|
1899
1902
|
* If user has custom ID set then we should
|
1900
1903
|
* not assign the default incrementing ID.
|
1901
1904
|
*/
|
1902
|
-
this.popoverId =
|
1905
|
+
this.popoverId = this.el.hasAttribute('id') ? this.el.getAttribute('id') : `ion-popover-${this.popoverIndex}`;
|
1903
1906
|
this.parentPopover = this.el.closest(`ion-popover:not(#${this.popoverId})`);
|
1904
1907
|
if (this.alignment === undefined) {
|
1905
1908
|
this.alignment = getIonMode(this) === 'ios' ? 'center' : 'start';
|
@@ -1948,7 +1951,7 @@ const Popover = class {
|
|
1948
1951
|
if (this.workingDelegate && !force) {
|
1949
1952
|
return {
|
1950
1953
|
delegate: this.workingDelegate,
|
1951
|
-
inline: this.inline
|
1954
|
+
inline: this.inline,
|
1952
1955
|
};
|
1953
1956
|
}
|
1954
1957
|
/**
|
@@ -1961,8 +1964,8 @@ const Popover = class {
|
|
1961
1964
|
* correct place.
|
1962
1965
|
*/
|
1963
1966
|
const parentEl = this.el.parentNode;
|
1964
|
-
const inline = this.inline = parentEl !== null && !this.hasController;
|
1965
|
-
const delegate = this.workingDelegate =
|
1967
|
+
const inline = (this.inline = parentEl !== null && !this.hasController);
|
1968
|
+
const delegate = (this.workingDelegate = inline ? this.delegate || this.coreDelegate : this.delegate);
|
1966
1969
|
return { inline, delegate };
|
1967
1970
|
}
|
1968
1971
|
/**
|
@@ -2000,7 +2003,7 @@ const Popover = class {
|
|
2000
2003
|
trigger: this.triggerEl,
|
2001
2004
|
reference: this.reference,
|
2002
2005
|
side: this.side,
|
2003
|
-
align: this.alignment
|
2006
|
+
align: this.alignment,
|
2004
2007
|
});
|
2005
2008
|
await this.currentTransition;
|
2006
2009
|
this.currentTransition = undefined;
|
@@ -2082,10 +2085,10 @@ const Popover = class {
|
|
2082
2085
|
const mode = getIonMode(this);
|
2083
2086
|
const { onLifecycle, popoverId, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;
|
2084
2087
|
const desktop = isPlatform('desktop');
|
2085
|
-
const enableArrow = arrow && !parentPopover
|
2088
|
+
const enableArrow = arrow && !parentPopover;
|
2086
2089
|
return (h(Host, Object.assign({ "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
|
2087
2090
|
zIndex: `${20000 + this.overlayIndex}`,
|
2088
|
-
}, id: popoverId, class: Object.assign(Object.assign({}, 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,
|
2091
|
+
}, id: popoverId, class: Object.assign(Object.assign({}, 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 && h("ion-backdrop", { tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { class: "popover-arrow", part: "arrow" }), h("div", { class: "popover-content", part: "content" }, h("slot", null)))));
|
2089
2092
|
}
|
2090
2093
|
get el() { return getElement(this); }
|
2091
2094
|
static get watchers() { return {
|
@@ -2095,10 +2098,10 @@ const Popover = class {
|
|
2095
2098
|
}; }
|
2096
2099
|
};
|
2097
2100
|
const LIFECYCLE_MAP = {
|
2098
|
-
|
2099
|
-
|
2100
|
-
|
2101
|
-
|
2101
|
+
ionPopoverDidPresent: 'ionViewDidEnter',
|
2102
|
+
ionPopoverWillPresent: 'ionViewWillEnter',
|
2103
|
+
ionPopoverWillDismiss: 'ionViewWillLeave',
|
2104
|
+
ionPopoverDidDismiss: 'ionViewDidLeave',
|
2102
2105
|
};
|
2103
2106
|
let popoverIds = 0;
|
2104
2107
|
Popover.style = {
|
@@ -2124,7 +2127,7 @@ const SelectPopover = class {
|
|
2124
2127
|
}
|
2125
2128
|
findOptionFromEvent(ev) {
|
2126
2129
|
const { options } = this;
|
2127
|
-
return options.find(o => o.value === ev.target.value);
|
2130
|
+
return options.find((o) => o.value === ev.target.value);
|
2128
2131
|
}
|
2129
2132
|
/**
|
2130
2133
|
* When an option is selected we need to get the value(s)
|
@@ -2134,7 +2137,7 @@ const SelectPopover = class {
|
|
2134
2137
|
callOptionHandler(ev) {
|
2135
2138
|
const option = this.findOptionFromEvent(ev);
|
2136
2139
|
const values = this.getValues(ev);
|
2137
|
-
if (option
|
2140
|
+
if (option === null || option === void 0 ? void 0 : option.handler) {
|
2138
2141
|
safeCall(option.handler, values);
|
2139
2142
|
}
|
2140
2143
|
}
|
@@ -2160,7 +2163,7 @@ const SelectPopover = class {
|
|
2160
2163
|
if (multiple) {
|
2161
2164
|
// this is a popover with checkboxes (multiple value select)
|
2162
2165
|
// return an array of all the checked values
|
2163
|
-
return options.filter(o => o.checked).map(o => o.value);
|
2166
|
+
return options.filter((o) => o.checked).map((o) => o.value);
|
2164
2167
|
}
|
2165
2168
|
// this is a popover with radio buttons (single value select)
|
2166
2169
|
// return the value that was clicked, otherwise undefined
|
@@ -2170,22 +2173,23 @@ const SelectPopover = class {
|
|
2170
2173
|
renderOptions(options) {
|
2171
2174
|
const { multiple } = this;
|
2172
2175
|
switch (multiple) {
|
2173
|
-
case true:
|
2174
|
-
|
2176
|
+
case true:
|
2177
|
+
return this.renderCheckboxOptions(options);
|
2178
|
+
default:
|
2179
|
+
return this.renderRadioOptions(options);
|
2175
2180
|
}
|
2176
2181
|
}
|
2177
2182
|
renderCheckboxOptions(options) {
|
2178
|
-
return
|
2183
|
+
return options.map((option) => (h("ion-item", { class: getClassMap(option.cssClass) }, h("ion-checkbox", { slot: "start", value: option.value, disabled: option.disabled, checked: option.checked }), h("ion-label", null, option.text))));
|
2179
2184
|
}
|
2180
2185
|
renderRadioOptions(options) {
|
2181
|
-
const checked = options.filter(o => o.checked).map(o => o.value)[0];
|
2182
|
-
return (h("ion-radio-group", { value: checked }, options.map(option => h("ion-item", { class: getClassMap(option.cssClass) }, h("ion-label", null, option.text), h("ion-radio", { value: option.value, disabled: option.disabled, onClick: ev => this.rbClick(ev) })))));
|
2186
|
+
const checked = options.filter((o) => o.checked).map((o) => o.value)[0];
|
2187
|
+
return (h("ion-radio-group", { value: checked }, options.map((option) => (h("ion-item", { class: getClassMap(option.cssClass) }, h("ion-label", null, option.text), h("ion-radio", { value: option.value, disabled: option.disabled, onClick: (ev) => this.rbClick(ev) }))))));
|
2183
2188
|
}
|
2184
2189
|
render() {
|
2185
2190
|
const { header, message, options, subHeader } = this;
|
2186
2191
|
const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
|
2187
|
-
return (h(Host, { class: getIonMode(this) }, h("ion-list", null, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage &&
|
2188
|
-
h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message))), this.renderOptions(options))));
|
2192
|
+
return (h(Host, { class: getIonMode(this) }, h("ion-list", null, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage && (h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message)))), this.renderOptions(options))));
|
2189
2193
|
}
|
2190
2194
|
};
|
2191
2195
|
SelectPopover.style = {
|