@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,10 +1,12 @@
|
|
1
|
-
import { r as registerInstance, i as createEvent, j as readTask, f as forceUpdate, h, H as Host, e as getElement, w as writeTask } from './index-
|
2
|
-
import { g as getIonMode, a as isPlatform } from './ionic-global-
|
3
|
-
import { c as componentOnReady,
|
1
|
+
import { r as registerInstance, i as createEvent, j as readTask, f as forceUpdate, h, H as Host, e as getElement, w as writeTask } from './index-c04b9ed5.js';
|
2
|
+
import { g as getIonMode, a as isPlatform } from './ionic-global-4903e23e.js';
|
3
|
+
import { c as componentOnReady, m as clamp, i as inheritAriaAttributes } from './helpers-bf0e23d6.js';
|
4
4
|
import { i as isRTL } from './dir-03012648.js';
|
5
|
-
import { c as createColorClasses, h as hostContext } from './theme-
|
5
|
+
import { c as createColorClasses, h as hostContext } from './theme-7ef00c83.js';
|
6
|
+
import { g as getScrollElement, a as findIonContent, p as printIonContentErrorMsg } from './index-5e8971ae.js';
|
7
|
+
import './index-dad75b83.js';
|
6
8
|
|
7
|
-
const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);box-sizing:border-box;overflow:hidden;touch-action:
|
9
|
+
const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);box-sizing:border-box;overflow:hidden;touch-action:pan-x pan-y pinch-zoom}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:flex;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;transform:translateZ(0)}";
|
8
10
|
|
9
11
|
const Content = class {
|
10
12
|
constructor(hostRef) {
|
@@ -71,9 +73,7 @@ const Content = class {
|
|
71
73
|
shouldForceOverscroll() {
|
72
74
|
const { forceOverscroll } = this;
|
73
75
|
const mode = getIonMode(this);
|
74
|
-
return forceOverscroll === undefined
|
75
|
-
? mode === 'ios' && isPlatform('ios')
|
76
|
-
: forceOverscroll;
|
76
|
+
return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
|
77
77
|
}
|
78
78
|
resize() {
|
79
79
|
if (this.fullscreen) {
|
@@ -104,7 +104,7 @@ const Content = class {
|
|
104
104
|
}
|
105
105
|
if (!this.queued && this.scrollEvents) {
|
106
106
|
this.queued = true;
|
107
|
-
readTask(ts => {
|
107
|
+
readTask((ts) => {
|
108
108
|
this.queued = false;
|
109
109
|
this.detail.event = ev;
|
110
110
|
updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);
|
@@ -126,7 +126,7 @@ const Content = class {
|
|
126
126
|
* scrollEl won't be defined yet with the custom elements build, so wait for it to load in.
|
127
127
|
*/
|
128
128
|
if (!this.scrollEl) {
|
129
|
-
await new Promise(resolve => componentOnReady(this.el, resolve));
|
129
|
+
await new Promise((resolve) => componentOnReady(this.el, resolve));
|
130
130
|
}
|
131
131
|
return Promise.resolve(this.scrollEl);
|
132
132
|
}
|
@@ -179,20 +179,20 @@ const Content = class {
|
|
179
179
|
}
|
180
180
|
let resolve;
|
181
181
|
let startTime = 0;
|
182
|
-
const promise = new Promise(r => resolve = r);
|
182
|
+
const promise = new Promise((r) => (resolve = r));
|
183
183
|
const fromY = el.scrollTop;
|
184
184
|
const fromX = el.scrollLeft;
|
185
185
|
const deltaY = y != null ? y - fromY : 0;
|
186
186
|
const deltaX = x != null ? x - fromX : 0;
|
187
187
|
// scroll loop
|
188
188
|
const step = (timeStamp) => {
|
189
|
-
const linearTime = Math.min(1, (
|
189
|
+
const linearTime = Math.min(1, (timeStamp - startTime) / duration) - 1;
|
190
190
|
const easedT = Math.pow(linearTime, 3) + 1;
|
191
191
|
if (deltaY !== 0) {
|
192
|
-
el.scrollTop = Math.floor(
|
192
|
+
el.scrollTop = Math.floor(easedT * deltaY + fromY);
|
193
193
|
}
|
194
194
|
if (deltaX !== 0) {
|
195
|
-
el.scrollLeft = Math.floor(
|
195
|
+
el.scrollLeft = Math.floor(easedT * deltaX + fromX);
|
196
196
|
}
|
197
197
|
if (easedT < 1) {
|
198
198
|
// do not use DomController here
|
@@ -205,7 +205,7 @@ const Content = class {
|
|
205
205
|
}
|
206
206
|
};
|
207
207
|
// chill out for a frame first
|
208
|
-
requestAnimationFrame(ts => {
|
208
|
+
requestAnimationFrame((ts) => {
|
209
209
|
startTime = ts;
|
210
210
|
step(ts);
|
211
211
|
});
|
@@ -214,7 +214,7 @@ const Content = class {
|
|
214
214
|
onScrollStart() {
|
215
215
|
this.isScrolling = true;
|
216
216
|
this.ionScrollStart.emit({
|
217
|
-
isScrolling: true
|
217
|
+
isScrolling: true,
|
218
218
|
});
|
219
219
|
if (this.watchDog) {
|
220
220
|
clearInterval(this.watchDog);
|
@@ -232,7 +232,7 @@ const Content = class {
|
|
232
232
|
if (this.isScrolling) {
|
233
233
|
this.isScrolling = false;
|
234
234
|
this.ionScrollEnd.emit({
|
235
|
-
isScrolling: false
|
235
|
+
isScrolling: false,
|
236
236
|
});
|
237
237
|
}
|
238
238
|
}
|
@@ -247,8 +247,8 @@ const Content = class {
|
|
247
247
|
return (h(Host, { class: createColorClasses(this.color, {
|
248
248
|
[mode]: true,
|
249
249
|
'content-sizing': hostContext('ion-popover', this.el),
|
250
|
-
|
251
|
-
[`content-${rtl}`]: true
|
250
|
+
overscroll: forceOverscroll,
|
251
|
+
[`content-${rtl}`]: true,
|
252
252
|
}), style: {
|
253
253
|
'--offset-top': `${this.cTop}px`,
|
254
254
|
'--offset-bottom': `${this.cBottom}px`,
|
@@ -256,17 +256,18 @@ const Content = class {
|
|
256
256
|
'inner-scroll': true,
|
257
257
|
'scroll-x': scrollX,
|
258
258
|
'scroll-y': scrollY,
|
259
|
-
|
260
|
-
}, ref: (scrollEl) => this.scrollEl = scrollEl, onScroll:
|
259
|
+
overscroll: (scrollX || scrollY) && forceOverscroll,
|
260
|
+
}, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", null)), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, h("slot", { name: "fixed" })));
|
261
261
|
}
|
262
262
|
get el() { return getElement(this); }
|
263
263
|
};
|
264
264
|
const getParentElement = (el) => {
|
265
|
+
var _a;
|
265
266
|
if (el.parentElement) {
|
266
267
|
// normal element with a parent element
|
267
268
|
return el.parentElement;
|
268
269
|
}
|
269
|
-
if (el.parentNode
|
270
|
+
if ((_a = el.parentNode) === null || _a === void 0 ? void 0 : _a.host) {
|
270
271
|
// shadow dom's document fragment
|
271
272
|
return el.parentNode.host;
|
272
273
|
}
|
@@ -345,16 +346,16 @@ const createHeaderIndex = (headerEl) => {
|
|
345
346
|
el: toolbar,
|
346
347
|
background: toolbar.shadowRoot.querySelector('.toolbar-background'),
|
347
348
|
ionTitleEl,
|
348
|
-
innerTitleEl:
|
349
|
-
ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []
|
349
|
+
innerTitleEl: ionTitleEl ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,
|
350
|
+
ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || [],
|
350
351
|
};
|
351
|
-
}) || []
|
352
|
+
}) || [],
|
352
353
|
};
|
353
354
|
};
|
354
355
|
const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {
|
355
356
|
readTask(() => {
|
356
357
|
const scrollTop = scrollEl.scrollTop;
|
357
|
-
const scale = clamp(1, 1 +
|
358
|
+
const scale = clamp(1, 1 + -scrollTop / 500, 1.1);
|
358
359
|
// Native refresher should not cause titles to scale
|
359
360
|
const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');
|
360
361
|
if (nativeRefresher === null) {
|
@@ -396,8 +397,8 @@ const handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {
|
|
396
397
|
* the content is transformed which can cause the intersection observer to erroneously
|
397
398
|
* fire here as well.
|
398
399
|
*/
|
399
|
-
const scale =
|
400
|
-
setToolbarBackgroundOpacity(mainHeaderIndex.el,
|
400
|
+
const scale = ev[0].intersectionRatio > 0.9 || scrollTop <= 0 ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;
|
401
|
+
setToolbarBackgroundOpacity(mainHeaderIndex.el, scale === 1 ? undefined : scale);
|
401
402
|
};
|
402
403
|
/**
|
403
404
|
* If toolbars are intersecting, hide the scrollable toolbar content
|
@@ -450,13 +451,13 @@ const setHeaderActive = (headerIndex, active = true) => {
|
|
450
451
|
}
|
451
452
|
};
|
452
453
|
const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
|
453
|
-
toolbars.forEach(toolbar => {
|
454
|
+
toolbars.forEach((toolbar) => {
|
454
455
|
const ionTitle = toolbar.ionTitleEl;
|
455
456
|
const titleDiv = toolbar.innerTitleEl;
|
456
457
|
if (!ionTitle || ionTitle.size !== 'large') {
|
457
458
|
return;
|
458
459
|
}
|
459
|
-
titleDiv.style.transition =
|
460
|
+
titleDiv.style.transition = transition ? TRANSITION : '';
|
460
461
|
titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;
|
461
462
|
});
|
462
463
|
};
|
@@ -464,7 +465,7 @@ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
|
|
464
465
|
readTask(() => {
|
465
466
|
const scrollTop = scrollEl.scrollTop;
|
466
467
|
const baseElHeight = baseEl.clientHeight;
|
467
|
-
const fadeStart =
|
468
|
+
const fadeStart = condenseHeader ? condenseHeader.clientHeight : 0;
|
468
469
|
/**
|
469
470
|
* If we are using fade header with a condense
|
470
471
|
* header, then the toolbar backgrounds should
|
@@ -477,14 +478,14 @@ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
|
|
477
478
|
* using just the condense header the content
|
478
479
|
* should overflow out of the container.
|
479
480
|
*/
|
480
|
-
if (
|
481
|
+
if (condenseHeader !== null && scrollTop < fadeStart) {
|
481
482
|
baseEl.style.setProperty('--opacity-scale', '0');
|
482
483
|
scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);
|
483
484
|
return;
|
484
485
|
}
|
485
486
|
const distanceToStart = scrollTop - fadeStart;
|
486
487
|
const fadeDuration = 10;
|
487
|
-
const scale = clamp(0,
|
488
|
+
const scale = clamp(0, distanceToStart / fadeDuration, 1);
|
488
489
|
writeTask(() => {
|
489
490
|
scrollEl.style.removeProperty('clip-path');
|
490
491
|
baseEl.style.setProperty('--opacity-scale', scale.toString());
|
@@ -510,22 +511,19 @@ const Header = class {
|
|
510
511
|
*/
|
511
512
|
this.translucent = false;
|
512
513
|
this.setupFadeHeader = async (contentEl, condenseHeader) => {
|
513
|
-
|
514
|
-
console.error('ion-header requires a content to collapse. Make sure there is an ion-content.');
|
515
|
-
return;
|
516
|
-
}
|
517
|
-
await new Promise(resolve => componentOnReady(contentEl, resolve));
|
518
|
-
const scrollEl = this.scrollEl = await contentEl.getScrollElement();
|
514
|
+
const scrollEl = (this.scrollEl = await getScrollElement(contentEl));
|
519
515
|
/**
|
520
516
|
* Handle fading of toolbars on scroll
|
521
517
|
*/
|
522
|
-
this.contentScrollCallback = () => {
|
518
|
+
this.contentScrollCallback = () => {
|
519
|
+
handleHeaderFade(this.scrollEl, this.el, condenseHeader);
|
520
|
+
};
|
523
521
|
scrollEl.addEventListener('scroll', this.contentScrollCallback);
|
524
522
|
handleHeaderFade(this.scrollEl, this.el, condenseHeader);
|
525
523
|
};
|
526
524
|
}
|
527
525
|
componentWillLoad() {
|
528
|
-
this.inheritedAttributes =
|
526
|
+
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
529
527
|
}
|
530
528
|
componentDidLoad() {
|
531
529
|
this.checkCollapsibleHeader();
|
@@ -547,7 +545,7 @@ const Header = class {
|
|
547
545
|
this.destroyCollapsibleHeader();
|
548
546
|
if (hasCondense) {
|
549
547
|
const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
|
550
|
-
const contentEl =
|
548
|
+
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
551
549
|
// Cloned elements are always needed in iOS transition
|
552
550
|
writeTask(() => {
|
553
551
|
const title = cloneElement('ion-title');
|
@@ -558,8 +556,12 @@ const Header = class {
|
|
558
556
|
}
|
559
557
|
else if (hasFade) {
|
560
558
|
const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
|
561
|
-
const contentEl =
|
562
|
-
|
559
|
+
const contentEl = pageEl ? findIonContent(pageEl) : null;
|
560
|
+
if (!contentEl) {
|
561
|
+
printIonContentErrorMsg(this.el);
|
562
|
+
return;
|
563
|
+
}
|
564
|
+
const condenseHeader = contentEl.querySelector('ion-header[collapse="condense"]');
|
563
565
|
await this.setupFadeHeader(contentEl, condenseHeader);
|
564
566
|
}
|
565
567
|
}
|
@@ -579,14 +581,13 @@ const Header = class {
|
|
579
581
|
}
|
580
582
|
async setupCondenseHeader(contentEl, pageEl) {
|
581
583
|
if (!contentEl || !pageEl) {
|
582
|
-
|
584
|
+
printIonContentErrorMsg(this.el);
|
583
585
|
return;
|
584
586
|
}
|
585
587
|
if (typeof IntersectionObserver === 'undefined') {
|
586
588
|
return;
|
587
589
|
}
|
588
|
-
|
589
|
-
this.scrollEl = await contentEl.getScrollElement();
|
590
|
+
this.scrollEl = await getScrollElement(contentEl);
|
590
591
|
const headers = pageEl.querySelectorAll('ion-header');
|
591
592
|
this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');
|
592
593
|
if (!this.collapsibleMainHeader) {
|
@@ -605,15 +606,22 @@ const Header = class {
|
|
605
606
|
* as well as progressively showing/hiding the main header
|
606
607
|
* border as the top-most toolbar collapses or expands.
|
607
608
|
*/
|
608
|
-
const toolbarIntersection = (ev) => {
|
609
|
-
|
609
|
+
const toolbarIntersection = (ev) => {
|
610
|
+
handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl);
|
611
|
+
};
|
612
|
+
this.intersectionObserver = new IntersectionObserver(toolbarIntersection, {
|
613
|
+
root: contentEl,
|
614
|
+
threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],
|
615
|
+
});
|
610
616
|
this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);
|
611
617
|
/**
|
612
618
|
* Handle scaling of large iOS titles and
|
613
619
|
* showing/hiding border on last toolbar
|
614
620
|
* in primary header
|
615
621
|
*/
|
616
|
-
this.contentScrollCallback = () => {
|
622
|
+
this.contentScrollCallback = () => {
|
623
|
+
handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl);
|
624
|
+
};
|
617
625
|
this.scrollEl.addEventListener('scroll', this.contentScrollCallback);
|
618
626
|
writeTask(() => {
|
619
627
|
if (this.collapsibleMainHeader !== undefined) {
|
@@ -634,8 +642,7 @@ const Header = class {
|
|
634
642
|
[`header-translucent`]: this.translucent,
|
635
643
|
[`header-collapse-${collapse}`]: true,
|
636
644
|
[`header-translucent-${mode}`]: this.translucent,
|
637
|
-
} }, inheritedAttributes), mode === 'ios' && translucent &&
|
638
|
-
h("div", { class: "header-background" }), h("slot", null)));
|
645
|
+
} }, inheritedAttributes), mode === 'ios' && translucent && h("div", { class: "header-background" }), h("slot", null)));
|
639
646
|
}
|
640
647
|
get el() { return getElement(this); }
|
641
648
|
};
|
@@ -0,0 +1,308 @@
|
|
1
|
+
import { r as registerInstance, h, H as Host, e as getElement } from './index-c04b9ed5.js';
|
2
|
+
import { g as getIonMode } from './ionic-global-4903e23e.js';
|
3
|
+
import { a as addEventListener, c as componentOnReady } from './helpers-bf0e23d6.js';
|
4
|
+
import { a as printIonWarning, p as printIonError } from './index-dad75b83.js';
|
5
|
+
import { c as createColorClasses } from './theme-7ef00c83.js';
|
6
|
+
import { p as parseDate, e as getToday, D as is24Hour, M as getLocalizedDateTime, A as getMonthAndYear, E as getLocalizedTime, N as getMonthDayAndYear } from './parse-1ae3a9bb.js';
|
7
|
+
|
8
|
+
const iosDatetimeButtonCss = ":host{display:flex;align-items:center;justify-content:center}:host button{border-radius:8px;padding-left:12px;padding-right:12px;padding-top:6px;padding-bottom:6px;margin-left:2px;margin-right:2px;margin-top:0px;margin-bottom:0px;position:relative;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;appearance:none;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host button{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}";
|
9
|
+
|
10
|
+
const mdDatetimeButtonCss = ":host{display:flex;align-items:center;justify-content:center}:host button{border-radius:8px;padding-left:12px;padding-right:12px;padding-top:6px;padding-bottom:6px;margin-left:2px;margin-right:2px;margin-top:0px;margin-bottom:0px;position:relative;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;appearance:none;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host button{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}";
|
11
|
+
|
12
|
+
const DatetimeButton = class {
|
13
|
+
constructor(hostRef) {
|
14
|
+
registerInstance(this, hostRef);
|
15
|
+
this.datetimeEl = null;
|
16
|
+
this.overlayEl = null;
|
17
|
+
this.datetimePresentation = 'date-time';
|
18
|
+
this.datetimeActive = false;
|
19
|
+
/**
|
20
|
+
* The color to use from your application's color palette.
|
21
|
+
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
22
|
+
* For more information on colors, see [theming](/docs/theming/basics).
|
23
|
+
*/
|
24
|
+
this.color = 'primary';
|
25
|
+
/**
|
26
|
+
* If `true`, the user cannot interact with the button.
|
27
|
+
*/
|
28
|
+
this.disabled = false;
|
29
|
+
/**
|
30
|
+
* Check the value property on the linked
|
31
|
+
* ion-datetime and then format it according
|
32
|
+
* to the locale specified on ion-datetime.
|
33
|
+
*/
|
34
|
+
this.setDateTimeText = () => {
|
35
|
+
const { datetimeEl, datetimePresentation } = this;
|
36
|
+
if (!datetimeEl) {
|
37
|
+
return;
|
38
|
+
}
|
39
|
+
const { value, locale, hourCycle, preferWheel, multiple } = datetimeEl;
|
40
|
+
if (multiple) {
|
41
|
+
printIonWarning(`Multi-date selection cannot be used with ion-datetime-button.
|
42
|
+
|
43
|
+
Please upvote https://github.com/ionic-team/ionic-framework/issues/25668 if you are interested in seeing this functionality added.
|
44
|
+
`, this.el);
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
/**
|
48
|
+
* Both ion-datetime and ion-datetime-button default
|
49
|
+
* to today's date and time if no value is set.
|
50
|
+
*/
|
51
|
+
const parsedDatetime = parseDate(value || getToday());
|
52
|
+
const use24Hour = is24Hour(locale, hourCycle);
|
53
|
+
// TODO(FW-1865) - Remove once FW-1831 is fixed.
|
54
|
+
parsedDatetime.tzOffset = undefined;
|
55
|
+
this.dateText = this.timeText = undefined;
|
56
|
+
switch (datetimePresentation) {
|
57
|
+
case 'date-time':
|
58
|
+
case 'time-date':
|
59
|
+
const dateText = getMonthDayAndYear(locale, parsedDatetime);
|
60
|
+
const timeText = getLocalizedTime(locale, parsedDatetime, use24Hour);
|
61
|
+
if (preferWheel) {
|
62
|
+
this.dateText = `${dateText} ${timeText}`;
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
this.dateText = dateText;
|
66
|
+
this.timeText = timeText;
|
67
|
+
}
|
68
|
+
break;
|
69
|
+
case 'date':
|
70
|
+
this.dateText = getMonthDayAndYear(locale, parsedDatetime);
|
71
|
+
break;
|
72
|
+
case 'time':
|
73
|
+
this.timeText = getLocalizedTime(locale, parsedDatetime, use24Hour);
|
74
|
+
break;
|
75
|
+
case 'month-year':
|
76
|
+
this.dateText = getMonthAndYear(locale, parsedDatetime);
|
77
|
+
break;
|
78
|
+
case 'month':
|
79
|
+
this.dateText = getLocalizedDateTime(locale, parsedDatetime, { month: 'long' });
|
80
|
+
break;
|
81
|
+
case 'year':
|
82
|
+
this.dateText = getLocalizedDateTime(locale, parsedDatetime, { year: 'numeric' });
|
83
|
+
break;
|
84
|
+
}
|
85
|
+
};
|
86
|
+
/**
|
87
|
+
* Waits for the ion-datetime to re-render.
|
88
|
+
* This is needed in order to correctly position
|
89
|
+
* a popover relative to the trigger element.
|
90
|
+
*/
|
91
|
+
this.waitForDatetimeChanges = async () => {
|
92
|
+
const { datetimeEl } = this;
|
93
|
+
if (!datetimeEl) {
|
94
|
+
return Promise.resolve();
|
95
|
+
}
|
96
|
+
return new Promise((resolve) => {
|
97
|
+
addEventListener(datetimeEl, 'ionRender', resolve, { once: true });
|
98
|
+
});
|
99
|
+
};
|
100
|
+
this.handleDateClick = async (ev) => {
|
101
|
+
const { datetimeEl, datetimePresentation } = this;
|
102
|
+
if (!datetimeEl) {
|
103
|
+
return;
|
104
|
+
}
|
105
|
+
let needsPresentationChange = false;
|
106
|
+
/**
|
107
|
+
* When clicking the date button,
|
108
|
+
* we need to make sure that only a date
|
109
|
+
* picker is displayed. For presentation styles
|
110
|
+
* that display content other than a date picker,
|
111
|
+
* we need to update the presentation style.
|
112
|
+
*/
|
113
|
+
switch (datetimePresentation) {
|
114
|
+
case 'date-time':
|
115
|
+
case 'time-date':
|
116
|
+
const needsChange = datetimeEl.presentation !== 'date';
|
117
|
+
/**
|
118
|
+
* The date+time wheel picker
|
119
|
+
* shows date and time together,
|
120
|
+
* so do not adjust the presentation
|
121
|
+
* in that case.
|
122
|
+
*/
|
123
|
+
if (!datetimeEl.preferWheel && needsChange) {
|
124
|
+
datetimeEl.presentation = 'date';
|
125
|
+
needsPresentationChange = true;
|
126
|
+
}
|
127
|
+
break;
|
128
|
+
}
|
129
|
+
/**
|
130
|
+
* Track which button was clicked
|
131
|
+
* so that it can have the correct
|
132
|
+
* activated styles applied when
|
133
|
+
* the modal/popover containing
|
134
|
+
* the datetime is opened.
|
135
|
+
*/
|
136
|
+
this.selectedButton = 'date';
|
137
|
+
this.presentOverlay(ev, needsPresentationChange, this.dateTargetEl);
|
138
|
+
};
|
139
|
+
this.handleTimeClick = (ev) => {
|
140
|
+
const { datetimeEl, datetimePresentation } = this;
|
141
|
+
if (!datetimeEl) {
|
142
|
+
return;
|
143
|
+
}
|
144
|
+
let needsPresentationChange = false;
|
145
|
+
/**
|
146
|
+
* When clicking the time button,
|
147
|
+
* we need to make sure that only a time
|
148
|
+
* picker is displayed. For presentation styles
|
149
|
+
* that display content other than a time picker,
|
150
|
+
* we need to update the presentation style.
|
151
|
+
*/
|
152
|
+
switch (datetimePresentation) {
|
153
|
+
case 'date-time':
|
154
|
+
case 'time-date':
|
155
|
+
const needsChange = datetimeEl.presentation !== 'time';
|
156
|
+
if (needsChange) {
|
157
|
+
datetimeEl.presentation = 'time';
|
158
|
+
needsPresentationChange = true;
|
159
|
+
}
|
160
|
+
break;
|
161
|
+
}
|
162
|
+
/**
|
163
|
+
* Track which button was clicked
|
164
|
+
* so that it can have the correct
|
165
|
+
* activated styles applied when
|
166
|
+
* the modal/popover containing
|
167
|
+
* the datetime is opened.
|
168
|
+
*/
|
169
|
+
this.selectedButton = 'time';
|
170
|
+
this.presentOverlay(ev, needsPresentationChange, this.timeTargetEl);
|
171
|
+
};
|
172
|
+
/**
|
173
|
+
* If the datetime is presented in an
|
174
|
+
* overlay, the datetime and overlay
|
175
|
+
* should be appropriately sized.
|
176
|
+
* These classes provide default sizing values
|
177
|
+
* that developers can customize.
|
178
|
+
* The goal is to provide an overlay that is
|
179
|
+
* reasonably sized with a datetime that
|
180
|
+
* fills the entire container.
|
181
|
+
*/
|
182
|
+
this.presentOverlay = async (ev, needsPresentationChange, triggerEl) => {
|
183
|
+
const { overlayEl } = this;
|
184
|
+
if (!overlayEl) {
|
185
|
+
return;
|
186
|
+
}
|
187
|
+
if (overlayEl.tagName === 'ION-POPOVER') {
|
188
|
+
/**
|
189
|
+
* When the presentation on datetime changes,
|
190
|
+
* we need to wait for the component to re-render
|
191
|
+
* otherwise the computed width/height of the
|
192
|
+
* popover content will be wrong, causing
|
193
|
+
* the popover to not align with the trigger element.
|
194
|
+
*/
|
195
|
+
if (needsPresentationChange) {
|
196
|
+
await this.waitForDatetimeChanges();
|
197
|
+
}
|
198
|
+
/**
|
199
|
+
* We pass the trigger button element
|
200
|
+
* so that the popover aligns with the individual
|
201
|
+
* button that was clicked, not the component container.
|
202
|
+
*/
|
203
|
+
overlayEl.present(Object.assign(Object.assign({}, ev), { detail: {
|
204
|
+
ionShadowTarget: triggerEl,
|
205
|
+
} }));
|
206
|
+
}
|
207
|
+
else {
|
208
|
+
overlayEl.present();
|
209
|
+
}
|
210
|
+
};
|
211
|
+
}
|
212
|
+
async componentWillLoad() {
|
213
|
+
const { datetime } = this;
|
214
|
+
if (!datetime) {
|
215
|
+
printIonError('An ID associated with an ion-datetime instance is required for ion-datetime-button to function properly.', this.el);
|
216
|
+
return;
|
217
|
+
}
|
218
|
+
const datetimeEl = (this.datetimeEl = document.getElementById(datetime));
|
219
|
+
if (!datetimeEl) {
|
220
|
+
printIonError(`No ion-datetime instance found for ID '${datetime}'.`, this.el);
|
221
|
+
return;
|
222
|
+
}
|
223
|
+
/**
|
224
|
+
* Since the datetime can be used in any context (overlays, accordion, etc)
|
225
|
+
* we track when it is visible to determine when it is active.
|
226
|
+
* This informs which button is highlighted as well as the
|
227
|
+
* aria-expanded state.
|
228
|
+
*/
|
229
|
+
const io = new IntersectionObserver((entries) => {
|
230
|
+
const ev = entries[0];
|
231
|
+
this.datetimeActive = ev.isIntersecting;
|
232
|
+
}, {
|
233
|
+
threshold: 0.01,
|
234
|
+
});
|
235
|
+
io.observe(datetimeEl);
|
236
|
+
/**
|
237
|
+
* Get a reference to any modal/popover
|
238
|
+
* the datetime is being used in so we can
|
239
|
+
* correctly size it when it is presented.
|
240
|
+
*/
|
241
|
+
const overlayEl = (this.overlayEl = datetimeEl.closest('ion-modal, ion-popover'));
|
242
|
+
/**
|
243
|
+
* The .ion-datetime-button-overlay class contains
|
244
|
+
* styles that allow any modal/popover to be
|
245
|
+
* sized according to the dimensions of the datetime.
|
246
|
+
* If developers want a smaller/larger overlay all they need
|
247
|
+
* to do is change the width/height of the datetime.
|
248
|
+
* Additionally, this lets us avoid having to set
|
249
|
+
* explicit widths on each variant of datetime.
|
250
|
+
*/
|
251
|
+
if (overlayEl) {
|
252
|
+
overlayEl.classList.add('ion-datetime-button-overlay');
|
253
|
+
}
|
254
|
+
componentOnReady(datetimeEl, () => {
|
255
|
+
const datetimePresentation = (this.datetimePresentation = datetimeEl.presentation || 'date-time');
|
256
|
+
/**
|
257
|
+
* Set the initial display
|
258
|
+
* in the rendered buttons.
|
259
|
+
*
|
260
|
+
* From there, we need to listen
|
261
|
+
* for ionChange to be emitted
|
262
|
+
* from datetime so we know when
|
263
|
+
* to re-render the displayed
|
264
|
+
* text in the buttons.
|
265
|
+
*/
|
266
|
+
this.setDateTimeText();
|
267
|
+
addEventListener(datetimeEl, 'ionChange', this.setDateTimeText);
|
268
|
+
/**
|
269
|
+
* Configure the initial selected button
|
270
|
+
* in the event that the datetime is displayed
|
271
|
+
* without clicking one of the datetime buttons.
|
272
|
+
* For example, a datetime could be expanded
|
273
|
+
* in an accordion. In this case users only
|
274
|
+
* need to click the accordion header to show
|
275
|
+
* the datetime.
|
276
|
+
*/
|
277
|
+
switch (datetimePresentation) {
|
278
|
+
case 'date-time':
|
279
|
+
case 'date':
|
280
|
+
case 'month-year':
|
281
|
+
case 'month':
|
282
|
+
case 'year':
|
283
|
+
this.selectedButton = 'date';
|
284
|
+
break;
|
285
|
+
case 'time-date':
|
286
|
+
case 'time':
|
287
|
+
this.selectedButton = 'time';
|
288
|
+
break;
|
289
|
+
}
|
290
|
+
});
|
291
|
+
}
|
292
|
+
render() {
|
293
|
+
const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
|
294
|
+
const mode = getIonMode(this);
|
295
|
+
return (h(Host, { class: createColorClasses(color, {
|
296
|
+
[mode]: true,
|
297
|
+
[`${selectedButton}-active`]: datetimeActive,
|
298
|
+
['datetime-button-disabled']: disabled,
|
299
|
+
}) }, dateText && (h("button", { class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", null))), timeText && (h("button", { class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", null)))));
|
300
|
+
}
|
301
|
+
get el() { return getElement(this); }
|
302
|
+
};
|
303
|
+
DatetimeButton.style = {
|
304
|
+
ios: iosDatetimeButtonCss,
|
305
|
+
md: mdDatetimeButtonCss
|
306
|
+
};
|
307
|
+
|
308
|
+
export { DatetimeButton as ion_datetime_button };
|