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