@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,4 +1,4 @@
|
|
1
|
-
import { r as registerInstance, h, e as getElement, H as Host } from './index-
|
1
|
+
import { r as registerInstance, h, e as getElement, H as Host } from './index-c04b9ed5.js';
|
2
2
|
|
3
3
|
/*!
|
4
4
|
* (C) Ionic http://ionicframework.com - MIT License
|
@@ -35,7 +35,7 @@ const NavLink = class {
|
|
35
35
|
};
|
36
36
|
}
|
37
37
|
render() {
|
38
|
-
return
|
38
|
+
return h(Host, { onClick: this.onClick });
|
39
39
|
}
|
40
40
|
get el() { return getElement(this); }
|
41
41
|
};
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { r as registerInstance, i as createEvent, h, e as getElement } from './index-
|
2
|
-
import { g as getIonMode, c as config } from './ionic-global-
|
3
|
-
import { g as getTimeGivenProgression } from './cubic-bezier-
|
4
|
-
import {
|
5
|
-
import { l as lifecycle, t as transition, s as setPageHidden, L as LIFECYCLE_WILL_UNLOAD, a as LIFECYCLE_WILL_LEAVE, b as LIFECYCLE_DID_LEAVE } from './index-
|
6
|
-
import { a as attachComponent } from './framework-delegate-
|
1
|
+
import { r as registerInstance, i as createEvent, h, e as getElement } from './index-c04b9ed5.js';
|
2
|
+
import { g as getIonMode, c as config } from './ionic-global-4903e23e.js';
|
3
|
+
import { g as getTimeGivenProgression } from './cubic-bezier-4c0db14f.js';
|
4
|
+
import { o as assert, s as shallowEqualStringMap } from './helpers-bf0e23d6.js';
|
5
|
+
import { l as lifecycle, t as transition, s as setPageHidden, L as LIFECYCLE_WILL_UNLOAD, a as LIFECYCLE_WILL_LEAVE, b as LIFECYCLE_DID_LEAVE } from './index-2b84cad2.js';
|
6
|
+
import { a as attachComponent } from './framework-delegate-3e634a5c.js';
|
7
7
|
|
8
8
|
/*!
|
9
9
|
* (C) Ionic http://ionicframework.com - MIT License
|
@@ -61,7 +61,8 @@ const convertToView = (page, params) => {
|
|
61
61
|
return new ViewController(page, params);
|
62
62
|
};
|
63
63
|
const convertToViews = (pages) => {
|
64
|
-
return pages
|
64
|
+
return pages
|
65
|
+
.map((page) => {
|
65
66
|
if (page instanceof ViewController) {
|
66
67
|
return page;
|
67
68
|
}
|
@@ -73,10 +74,11 @@ const convertToViews = (pages) => {
|
|
73
74
|
* `NavComponentWithProps`. Previously `pages` was
|
74
75
|
* of type `any[]` so TypeScript did not catch this.
|
75
76
|
*/
|
76
|
-
return convertToView(page.component,
|
77
|
+
return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps);
|
77
78
|
}
|
78
79
|
return convertToView(page, undefined);
|
79
|
-
})
|
80
|
+
})
|
81
|
+
.filter((v) => v !== null);
|
80
82
|
};
|
81
83
|
|
82
84
|
const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}";
|
@@ -120,9 +122,12 @@ const Nav = class {
|
|
120
122
|
}
|
121
123
|
async componentDidLoad() {
|
122
124
|
this.rootChanged();
|
123
|
-
this.gesture = (await import('./swipe-back-
|
125
|
+
this.gesture = (await import('./swipe-back-7847a0c1.js')).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
|
124
126
|
this.swipeGestureChanged();
|
125
127
|
}
|
128
|
+
connectedCallback() {
|
129
|
+
this.destroyed = false;
|
130
|
+
}
|
126
131
|
disconnectedCallback() {
|
127
132
|
for (const view of this.views) {
|
128
133
|
lifecycle(view.element, LIFECYCLE_WILL_UNLOAD);
|
@@ -177,7 +182,7 @@ const Nav = class {
|
|
177
182
|
return this.queueTrns({
|
178
183
|
insertStart: insertIndex,
|
179
184
|
insertViews: insertComponents,
|
180
|
-
opts
|
185
|
+
opts,
|
181
186
|
}, done);
|
182
187
|
}
|
183
188
|
/**
|
@@ -201,7 +206,7 @@ const Nav = class {
|
|
201
206
|
const ti = {
|
202
207
|
removeStart: -1,
|
203
208
|
removeCount: -1,
|
204
|
-
opts
|
209
|
+
opts,
|
205
210
|
};
|
206
211
|
if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {
|
207
212
|
ti.removeView = indexOrViewCtrl;
|
@@ -233,7 +238,7 @@ const Nav = class {
|
|
233
238
|
return this.queueTrns({
|
234
239
|
removeStart: startIndex,
|
235
240
|
removeCount,
|
236
|
-
opts
|
241
|
+
opts,
|
237
242
|
}, done);
|
238
243
|
}
|
239
244
|
/**
|
@@ -268,7 +273,7 @@ const Nav = class {
|
|
268
273
|
insertViews: views,
|
269
274
|
removeStart: 0,
|
270
275
|
removeCount: -1,
|
271
|
-
opts
|
276
|
+
opts,
|
272
277
|
}, done);
|
273
278
|
}
|
274
279
|
/**
|
@@ -287,34 +292,34 @@ const Nav = class {
|
|
287
292
|
if (matches(active, id, params)) {
|
288
293
|
return Promise.resolve({
|
289
294
|
changed: false,
|
290
|
-
element: active.element
|
295
|
+
element: active.element,
|
291
296
|
});
|
292
297
|
}
|
293
298
|
let resolve;
|
294
|
-
const promise = new Promise(r => (resolve = r));
|
299
|
+
const promise = new Promise((r) => (resolve = r));
|
295
300
|
let finish;
|
296
301
|
const commonOpts = {
|
297
302
|
updateURL: false,
|
298
|
-
viewIsReady: enteringEl => {
|
303
|
+
viewIsReady: (enteringEl) => {
|
299
304
|
let mark;
|
300
|
-
const p = new Promise(r => (mark = r));
|
305
|
+
const p = new Promise((r) => (mark = r));
|
301
306
|
resolve({
|
302
307
|
changed: true,
|
303
308
|
element: enteringEl,
|
304
309
|
markVisible: async () => {
|
305
310
|
mark();
|
306
311
|
await finish;
|
307
|
-
}
|
312
|
+
},
|
308
313
|
});
|
309
314
|
return p;
|
310
|
-
}
|
315
|
+
},
|
311
316
|
};
|
312
317
|
if (direction === 'root') {
|
313
318
|
finish = this.setRoot(id, params, commonOpts);
|
314
319
|
}
|
315
320
|
else {
|
316
321
|
// Look for a view matching the target in the view stack.
|
317
|
-
const viewController = this.views.find(v => matches(v, id, params));
|
322
|
+
const viewController = this.views.find((v) => matches(v, id, params));
|
318
323
|
if (viewController) {
|
319
324
|
finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
|
320
325
|
}
|
@@ -338,7 +343,7 @@ const Nav = class {
|
|
338
343
|
return {
|
339
344
|
id: active.element.tagName,
|
340
345
|
params: active.params,
|
341
|
-
element: active.element
|
346
|
+
element: active.element,
|
342
347
|
};
|
343
348
|
}
|
344
349
|
return undefined;
|
@@ -530,7 +535,7 @@ const Nav = class {
|
|
530
535
|
// resolve immediately because there's no animation that's happening
|
531
536
|
result = {
|
532
537
|
hasCompleted: true,
|
533
|
-
requiresTransition: false
|
538
|
+
requiresTransition: false,
|
534
539
|
};
|
535
540
|
}
|
536
541
|
this.success(result, ti);
|
@@ -564,8 +569,7 @@ const Nav = class {
|
|
564
569
|
if (ti.removeCount < 0) {
|
565
570
|
ti.removeCount = viewsLength - ti.removeStart;
|
566
571
|
}
|
567
|
-
ti.leavingRequiresTransition =
|
568
|
-
ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
572
|
+
ti.leavingRequiresTransition = ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
569
573
|
}
|
570
574
|
if (ti.insertViews) {
|
571
575
|
// allow -1 to be passed in to auto push it on the end
|
@@ -697,9 +701,7 @@ const Nav = class {
|
|
697
701
|
// we should animate (duration > 0) if the pushed page is not the first one (startup)
|
698
702
|
// or if it is a portal (modal, actionsheet, etc.)
|
699
703
|
const opts = ti.opts;
|
700
|
-
const progressCallback = opts.progressAnimation
|
701
|
-
? (ani) => this.sbAni = ani
|
702
|
-
: undefined;
|
704
|
+
const progressCallback = opts.progressAnimation ? (ani) => (this.sbAni = ani) : undefined;
|
703
705
|
const mode = getIonMode(this);
|
704
706
|
const enteringEl = enteringView.element;
|
705
707
|
const leavingEl = leavingView && leavingView.element;
|
@@ -709,16 +711,20 @@ const Nav = class {
|
|
709
711
|
return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);
|
710
712
|
}
|
711
713
|
transitionFinish(hasCompleted, enteringView, leavingView, opts) {
|
712
|
-
|
713
|
-
|
714
|
-
|
714
|
+
/**
|
715
|
+
* If the transition did not complete, the leavingView will still be the active
|
716
|
+
* view on the stack. Otherwise unmount all the views after the enteringView.
|
717
|
+
*/
|
718
|
+
const activeView = hasCompleted ? enteringView : leavingView;
|
719
|
+
if (activeView) {
|
720
|
+
this.unmountInactiveViews(activeView);
|
715
721
|
}
|
716
722
|
return {
|
717
723
|
hasCompleted,
|
718
724
|
requiresTransition: true,
|
719
725
|
enteringView,
|
720
726
|
leavingView,
|
721
|
-
direction: opts.direction
|
727
|
+
direction: opts.direction,
|
722
728
|
};
|
723
729
|
}
|
724
730
|
/**
|
@@ -766,9 +772,13 @@ const Nav = class {
|
|
766
772
|
this.removeView(view);
|
767
773
|
}
|
768
774
|
/**
|
775
|
+
* Unmounts all inactive views after the specified active view.
|
776
|
+
*
|
769
777
|
* DOM WRITE
|
778
|
+
*
|
779
|
+
* @param activeView The view that is actively visible in the stack. Used to calculate which views to unmount.
|
770
780
|
*/
|
771
|
-
|
781
|
+
unmountInactiveViews(activeView) {
|
772
782
|
// ok, cleanup time!! Destroy all of the views that are
|
773
783
|
// INACTIVE and come after the active view
|
774
784
|
// only do this if the views exist, though
|
@@ -825,7 +835,7 @@ const Nav = class {
|
|
825
835
|
this.animationEnabled = true;
|
826
836
|
}, { oneTimeCallback: true });
|
827
837
|
// Account for rounding errors in JS
|
828
|
-
let newStepValue =
|
838
|
+
let newStepValue = shouldComplete ? -0.001 : 0.001;
|
829
839
|
/**
|
830
840
|
* Animation will be reversed here, so need to
|
831
841
|
* reverse the easing curve as well
|
@@ -845,7 +855,7 @@ const Nav = class {
|
|
845
855
|
}
|
846
856
|
}
|
847
857
|
render() {
|
848
|
-
return
|
858
|
+
return h("slot", null);
|
849
859
|
}
|
850
860
|
get el() { return getElement(this); }
|
851
861
|
static get watchers() { return {
|
@@ -1,18 +1,18 @@
|
|
1
|
-
import { r as registerInstance, i as createEvent, h, H as Host, e as getElement } from './index-
|
2
|
-
import { g as getIonMode } from './ionic-global-
|
3
|
-
import {
|
4
|
-
import { a as hapticSelectionStart, b as hapticSelectionChanged, c as hapticSelectionEnd } from './haptic-
|
5
|
-
import { c as createColorClasses } from './theme-
|
1
|
+
import { r as registerInstance, i as createEvent, h, H as Host, e as getElement } from './index-c04b9ed5.js';
|
2
|
+
import { g as getIonMode } from './ionic-global-4903e23e.js';
|
3
|
+
import { l as raf, g as getElementRoot } from './helpers-bf0e23d6.js';
|
4
|
+
import { a as hapticSelectionStart, b as hapticSelectionChanged, c as hapticSelectionEnd } from './haptic-522f76f2.js';
|
5
|
+
import { c as createColorClasses } from './theme-7ef00c83.js';
|
6
6
|
|
7
|
-
const pickerColumnInternalIosCss = ":host{padding-left:16px;padding-right:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host::-webkit-scrollbar{display:none}:host .picker-item{height:34px;line-height:34px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty{scroll-snap-align:none}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
|
7
|
+
const pickerColumnInternalIosCss = ":host{padding-left:16px;padding-right:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item.picker-item-disabled{scroll-snap-align:none;cursor:default}:host .picker-item.picker-item-disabled{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
|
8
8
|
|
9
|
-
const pickerColumnInternalMdCss = ":host{padding-left:16px;padding-right:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host::-webkit-scrollbar{display:none}:host .picker-item{height:34px;line-height:34px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty{scroll-snap-align:none}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}:host .picker-item-active{color:var(--ion-color-base)}";
|
9
|
+
const pickerColumnInternalMdCss = ":host{padding-left:16px;padding-right:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item.picker-item-disabled{scroll-snap-align:none;cursor:default}:host .picker-item.picker-item-disabled{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}:host .picker-item-active{color:var(--ion-color-base)}";
|
10
10
|
|
11
11
|
const PickerColumnInternal = class {
|
12
12
|
constructor(hostRef) {
|
13
13
|
registerInstance(this, hostRef);
|
14
14
|
this.ionChange = createEvent(this, "ionChange", 7);
|
15
|
-
this.
|
15
|
+
this.isScrolling = false;
|
16
16
|
this.isColumnVisible = false;
|
17
17
|
this.isActive = false;
|
18
18
|
/**
|
@@ -39,12 +39,12 @@ const PickerColumnInternal = class {
|
|
39
39
|
const { el, isColumnVisible } = this;
|
40
40
|
if (isColumnVisible) {
|
41
41
|
// (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
|
42
|
-
const top = target.offsetTop -
|
42
|
+
const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
|
43
43
|
if (el.scrollTop !== top) {
|
44
44
|
el.scroll({
|
45
45
|
top,
|
46
46
|
left: 0,
|
47
|
-
behavior: smooth ? 'smooth' : undefined
|
47
|
+
behavior: smooth ? 'smooth' : undefined,
|
48
48
|
});
|
49
49
|
}
|
50
50
|
}
|
@@ -65,10 +65,27 @@ const PickerColumnInternal = class {
|
|
65
65
|
*/
|
66
66
|
const isColumnActive = inputModeColumn === undefined || inputModeColumn === this.el;
|
67
67
|
if (!useInputMode || !isColumnActive) {
|
68
|
-
this.
|
68
|
+
this.setInputModeActive(false);
|
69
69
|
return;
|
70
70
|
}
|
71
|
-
this.
|
71
|
+
this.setInputModeActive(true);
|
72
|
+
};
|
73
|
+
/**
|
74
|
+
* Setting isActive will cause a re-render.
|
75
|
+
* As a result, we do not want to cause the
|
76
|
+
* re-render mid scroll as this will cause
|
77
|
+
* the picker column to jump back to
|
78
|
+
* whatever value was selected at the
|
79
|
+
* start of the scroll interaction.
|
80
|
+
*/
|
81
|
+
this.setInputModeActive = (state) => {
|
82
|
+
if (this.isScrolling) {
|
83
|
+
this.scrollEndCallback = () => {
|
84
|
+
this.isActive = state;
|
85
|
+
};
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
this.isActive = state;
|
72
89
|
};
|
73
90
|
/**
|
74
91
|
* When the column scrolls, the component
|
@@ -86,21 +103,24 @@ const PickerColumnInternal = class {
|
|
86
103
|
clearTimeout(timeout);
|
87
104
|
timeout = undefined;
|
88
105
|
}
|
89
|
-
if (!this.
|
106
|
+
if (!this.isScrolling) {
|
90
107
|
hapticSelectionStart();
|
91
|
-
this.
|
108
|
+
this.isScrolling = true;
|
92
109
|
}
|
93
110
|
/**
|
94
111
|
* Select item in the center of the column
|
95
112
|
* which is the month/year that we want to select
|
96
113
|
*/
|
97
114
|
const bbox = el.getBoundingClientRect();
|
98
|
-
const centerX = bbox.x +
|
99
|
-
const centerY = bbox.y +
|
115
|
+
const centerX = bbox.x + bbox.width / 2;
|
116
|
+
const centerY = bbox.y + bbox.height / 2;
|
100
117
|
const activeElement = el.shadowRoot.elementFromPoint(centerX, centerY);
|
101
118
|
if (activeEl !== null) {
|
102
119
|
activeEl.classList.remove(PICKER_COL_ACTIVE);
|
103
120
|
}
|
121
|
+
if (activeElement.disabled) {
|
122
|
+
return;
|
123
|
+
}
|
104
124
|
/**
|
105
125
|
* If we are selecting a new value,
|
106
126
|
* we need to run haptics again.
|
@@ -111,6 +131,19 @@ const PickerColumnInternal = class {
|
|
111
131
|
activeEl = activeElement;
|
112
132
|
activeElement.classList.add(PICKER_COL_ACTIVE);
|
113
133
|
timeout = setTimeout(() => {
|
134
|
+
this.isScrolling = false;
|
135
|
+
hapticSelectionEnd();
|
136
|
+
/**
|
137
|
+
* Certain tasks (such as those that
|
138
|
+
* cause re-renders) should only be done
|
139
|
+
* once scrolling has finished, otherwise
|
140
|
+
* flickering may occur.
|
141
|
+
*/
|
142
|
+
const { scrollEndCallback } = this;
|
143
|
+
if (scrollEndCallback) {
|
144
|
+
scrollEndCallback();
|
145
|
+
this.scrollEndCallback = undefined;
|
146
|
+
}
|
114
147
|
const dataIndex = activeElement.getAttribute('data-index');
|
115
148
|
/**
|
116
149
|
* If no value it is
|
@@ -124,8 +157,6 @@ const PickerColumnInternal = class {
|
|
124
157
|
const selectedItem = this.items[index];
|
125
158
|
if (selectedItem.value !== this.value) {
|
126
159
|
this.setValue(selectedItem.value);
|
127
|
-
hapticSelectionEnd();
|
128
|
-
this.hapticsStarted = false;
|
129
160
|
}
|
130
161
|
}, 250);
|
131
162
|
});
|
@@ -142,6 +173,66 @@ const PickerColumnInternal = class {
|
|
142
173
|
});
|
143
174
|
};
|
144
175
|
}
|
176
|
+
itemsChange(currentItems, previousItems) {
|
177
|
+
const { value } = this;
|
178
|
+
/**
|
179
|
+
* When the items change, it is possible for the item
|
180
|
+
* that was selected to no longer exist. In that case, we need
|
181
|
+
* to automatically select the nearest item. If we do not,
|
182
|
+
* then the scroll position will be reset to zero and it will
|
183
|
+
* look like the first item was automatically selected.
|
184
|
+
*
|
185
|
+
* If we cannot find a closest item then we do nothing, and
|
186
|
+
* the browser will reset the scroll position to 0.
|
187
|
+
*/
|
188
|
+
const findCurrentItem = currentItems.find((item) => item.value === value);
|
189
|
+
if (!findCurrentItem) {
|
190
|
+
/**
|
191
|
+
* The default behavior is to assume
|
192
|
+
* that the new set of data is similar to the old
|
193
|
+
* set of data, just with some items filtered out.
|
194
|
+
* We walk backwards through the data to find the
|
195
|
+
* closest enabled picker item and select it.
|
196
|
+
*
|
197
|
+
* Developers can also swap the items out for an entirely
|
198
|
+
* new set of data. In that case, the value we select
|
199
|
+
* here likely will not make much sense. For this use case,
|
200
|
+
* developers should update the `value` prop themselves
|
201
|
+
* when swapping out the data.
|
202
|
+
*/
|
203
|
+
const findPreviousItemIndex = previousItems.findIndex((item) => item.value === value);
|
204
|
+
if (findPreviousItemIndex === -1) {
|
205
|
+
return;
|
206
|
+
}
|
207
|
+
/**
|
208
|
+
* Step through the current items backwards
|
209
|
+
* until we find a neighbor we can select.
|
210
|
+
* We start at the last known location of the
|
211
|
+
* current selected item in order to
|
212
|
+
* account for data that has been added. This
|
213
|
+
* search prioritizes stability in that it
|
214
|
+
* tries to keep the scroll position as close
|
215
|
+
* to where it was before the update.
|
216
|
+
* Before Items: ['a', 'b', 'c'], Selected Value: 'b'
|
217
|
+
* After Items: ['a', 'dog', 'c']
|
218
|
+
* Even though 'dog' is a different item than 'b',
|
219
|
+
* it is the closest item we can select while
|
220
|
+
* preserving the scroll position.
|
221
|
+
*/
|
222
|
+
let nearestItem;
|
223
|
+
for (let i = findPreviousItemIndex; i >= 0; i--) {
|
224
|
+
const item = currentItems[i];
|
225
|
+
if (item !== undefined && item.disabled !== true) {
|
226
|
+
nearestItem = item;
|
227
|
+
break;
|
228
|
+
}
|
229
|
+
}
|
230
|
+
if (nearestItem) {
|
231
|
+
this.setValue(nearestItem.value);
|
232
|
+
return;
|
233
|
+
}
|
234
|
+
}
|
235
|
+
}
|
145
236
|
valueChange() {
|
146
237
|
if (this.isColumnVisible) {
|
147
238
|
/**
|
@@ -181,7 +272,7 @@ const PickerColumnInternal = class {
|
|
181
272
|
}
|
182
273
|
}
|
183
274
|
};
|
184
|
-
new IntersectionObserver(visibleCallback, { threshold: 0.
|
275
|
+
new IntersectionObserver(visibleCallback, { threshold: 0.001 }).observe(this.el);
|
185
276
|
const parentEl = this.el.closest('ion-picker-internal');
|
186
277
|
if (parentEl !== null) {
|
187
278
|
parentEl.addEventListener('ionInputModeChange', (ev) => this.inputModeChange(ev));
|
@@ -213,16 +304,23 @@ const PickerColumnInternal = class {
|
|
213
304
|
this.centerPickerItemInView(activeEl, false);
|
214
305
|
}
|
215
306
|
}
|
216
|
-
|
307
|
+
/**
|
308
|
+
* Sets the value prop and fires the ionChange event.
|
309
|
+
* This is used when we need to fire ionChange from
|
310
|
+
* user-generated events that cannot be caught with normal
|
311
|
+
* input/change event listeners.
|
312
|
+
* @internal
|
313
|
+
*/
|
314
|
+
async setValue(value) {
|
217
315
|
const { items } = this;
|
218
316
|
this.value = value;
|
219
|
-
const findItem = items.find(item => item.value === value);
|
317
|
+
const findItem = items.find((item) => item.value === value && item.disabled !== true);
|
220
318
|
if (findItem) {
|
221
319
|
this.ionChange.emit(findItem);
|
222
320
|
}
|
223
321
|
}
|
224
322
|
get activeItem() {
|
225
|
-
return getElementRoot(this.el).querySelector(`.picker-item[data-value="${this.value}"]`);
|
323
|
+
return getElementRoot(this.el).querySelector(`.picker-item[data-value="${this.value}"]:not([disabled])`);
|
226
324
|
}
|
227
325
|
render() {
|
228
326
|
const { items, color, isActive, numericInput } = this;
|
@@ -230,15 +328,19 @@ const PickerColumnInternal = class {
|
|
230
328
|
return (h(Host, { tabindex: 0, class: createColorClasses(color, {
|
231
329
|
[mode]: true,
|
232
330
|
['picker-column-active']: isActive,
|
233
|
-
['picker-column-numeric-input']: numericInput
|
331
|
+
['picker-column-numeric-input']: numericInput,
|
234
332
|
}) }, h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), items.map((item, index) => {
|
235
|
-
return (h("
|
333
|
+
return (h("button", { tabindex: "-1", class: {
|
334
|
+
'picker-item': true,
|
335
|
+
'picker-item-disabled': item.disabled || false,
|
336
|
+
}, "data-value": item.value, "data-index": index, onClick: (ev) => {
|
236
337
|
this.centerPickerItemInView(ev.target);
|
237
|
-
} }, item.text));
|
338
|
+
}, disabled: item.disabled }, item.text));
|
238
339
|
}), h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), h("div", { class: "picker-item picker-item-empty" }, "\u00A0")));
|
239
340
|
}
|
240
341
|
get el() { return getElement(this); }
|
241
342
|
static get watchers() { return {
|
343
|
+
"items": ["itemsChange"],
|
242
344
|
"value": ["valueChange"]
|
243
345
|
}; }
|
244
346
|
};
|
@@ -248,9 +350,9 @@ PickerColumnInternal.style = {
|
|
248
350
|
md: pickerColumnInternalMdCss
|
249
351
|
};
|
250
352
|
|
251
|
-
const pickerInternalIosCss = ":host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;z-index:1;pointer-events:none}:host .picker-before{left:0;top:0;height:83px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-after{left:0;top:116px;height:84px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .picker-highlight{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host .picker-before{background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%)}:host .picker-after{background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%)}:host .picker-highlight{background:var(--ion-color-step-150, #eeeeef)}";
|
353
|
+
const pickerInternalIosCss = ":host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;z-index:1;pointer-events:none}:host .picker-before{left:0;top:0;height:83px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-after{left:0;top:116px;height:84px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .picker-highlight{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%)}:host .picker-after{background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%)}:host .picker-highlight{background:var(--ion-color-step-150, #eeeeef)}";
|
252
354
|
|
253
|
-
const pickerInternalMdCss = ":host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;z-index:1;pointer-events:none}:host .picker-before{left:0;top:0;height:83px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-after{left:0;top:116px;height:84px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .picker-highlight{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host .picker-before{background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0) 90%)}:host .picker-after{background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0) 90%)}";
|
355
|
+
const pickerInternalMdCss = ":host{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;z-index:1;pointer-events:none}:host .picker-before{left:0;top:0;height:83px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-after{left:0;top:116px;height:84px}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;transform:translateY(-50%);z-index:-1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host .picker-highlight{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0) 90%)}:host .picker-after{background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0) 90%)}";
|
254
356
|
|
255
357
|
const PickerInternal = class {
|
256
358
|
constructor(hostRef) {
|
@@ -283,8 +385,7 @@ const PickerInternal = class {
|
|
283
385
|
*/
|
284
386
|
this.onFocusOut = (ev) => {
|
285
387
|
const { relatedTarget } = ev;
|
286
|
-
if (!relatedTarget ||
|
287
|
-
relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl) {
|
388
|
+
if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl)) {
|
288
389
|
this.exitInputMode();
|
289
390
|
}
|
290
391
|
};
|
@@ -403,7 +504,7 @@ const PickerInternal = class {
|
|
403
504
|
* then we should skip multi column input.
|
404
505
|
*/
|
405
506
|
const columns = el.querySelectorAll('ion-picker-column-internal.picker-column-numeric-input');
|
406
|
-
const columnEl =
|
507
|
+
const columnEl = columns.length === 1 ? ev.target : undefined;
|
407
508
|
this.actionOnClick = () => {
|
408
509
|
this.enterInputMode(columnEl);
|
409
510
|
};
|
@@ -504,7 +605,7 @@ const PickerInternal = class {
|
|
504
605
|
if (!inputEl || !inputModeColumn) {
|
505
606
|
return;
|
506
607
|
}
|
507
|
-
const values = inputModeColumn.items;
|
608
|
+
const values = inputModeColumn.items.filter((item) => item.disabled !== true);
|
508
609
|
/**
|
509
610
|
* If users pause for a bit, the search
|
510
611
|
* value should be reset similar to how a
|
@@ -543,7 +644,7 @@ const PickerInternal = class {
|
|
543
644
|
*/
|
544
645
|
const findItemFromCompleteValue = values.find(({ text }) => text.replace(/^0+/, '') === inputEl.value);
|
545
646
|
if (findItemFromCompleteValue) {
|
546
|
-
inputModeColumn.
|
647
|
+
inputModeColumn.setValue(findItemFromCompleteValue.value);
|
547
648
|
return;
|
548
649
|
}
|
549
650
|
/**
|
@@ -563,11 +664,10 @@ const PickerInternal = class {
|
|
563
664
|
* or trailing zeros when looking at the item text.
|
564
665
|
*/
|
565
666
|
this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
|
566
|
-
let item;
|
567
667
|
const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
|
568
|
-
item = colEl.items.find(({ text }) => text.replace(behavior, '') === value);
|
668
|
+
const item = colEl.items.find(({ text, disabled }) => disabled !== true && text.replace(behavior, '') === value);
|
569
669
|
if (item) {
|
570
|
-
colEl.
|
670
|
+
colEl.setValue(item.value);
|
571
671
|
}
|
572
672
|
};
|
573
673
|
this.selectMultiColumn = () => {
|
@@ -575,7 +675,7 @@ const PickerInternal = class {
|
|
575
675
|
if (!inputEl) {
|
576
676
|
return;
|
577
677
|
}
|
578
|
-
const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter(col => col.numericInput);
|
678
|
+
const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter((col) => col.numericInput);
|
579
679
|
const firstColumn = numericPickers[0];
|
580
680
|
const lastColumn = numericPickers[1];
|
581
681
|
let value = inputEl.value;
|
@@ -592,7 +692,7 @@ const PickerInternal = class {
|
|
592
692
|
* at that first.
|
593
693
|
*/
|
594
694
|
const firstCharacter = inputEl.value.substring(0, 1);
|
595
|
-
value =
|
695
|
+
value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
|
596
696
|
this.searchColumn(firstColumn, value);
|
597
697
|
/**
|
598
698
|
* If only checked the first value,
|
@@ -612,14 +712,17 @@ const PickerInternal = class {
|
|
612
712
|
* at that first.
|
613
713
|
*/
|
614
714
|
const firstCharacterAgain = inputEl.value.substring(0, 1);
|
615
|
-
value =
|
715
|
+
value =
|
716
|
+
firstCharacterAgain === '0' || firstCharacterAgain === '1'
|
717
|
+
? inputEl.value.substring(0, 2)
|
718
|
+
: firstCharacterAgain;
|
616
719
|
this.searchColumn(firstColumn, value);
|
617
720
|
/**
|
618
721
|
* If only checked the first value,
|
619
722
|
* we can check the second value
|
620
723
|
* for a match in the minutes column
|
621
724
|
*/
|
622
|
-
minuteValue =
|
725
|
+
minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
|
623
726
|
this.searchColumn(lastColumn, minuteValue, 'end');
|
624
727
|
break;
|
625
728
|
case 4:
|
@@ -630,14 +733,19 @@ const PickerInternal = class {
|
|
630
733
|
* at that first.
|
631
734
|
*/
|
632
735
|
const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
|
633
|
-
value =
|
736
|
+
value =
|
737
|
+
firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
|
738
|
+
? inputEl.value.substring(0, 2)
|
739
|
+
: firstCharacterAgainAgain;
|
634
740
|
this.searchColumn(firstColumn, value);
|
635
741
|
/**
|
636
742
|
* If only checked the first value,
|
637
743
|
* we can check the second value
|
638
744
|
* for a match in the minutes column
|
639
745
|
*/
|
640
|
-
const minuteValueAgain =
|
746
|
+
const minuteValueAgain = value.length === 1
|
747
|
+
? inputEl.value.substring(1, inputEl.value.length)
|
748
|
+
: inputEl.value.substring(2, inputEl.value.length);
|
641
749
|
this.searchColumn(lastColumn, minuteValueAgain, 'end');
|
642
750
|
break;
|
643
751
|
default:
|
@@ -674,7 +782,7 @@ const PickerInternal = class {
|
|
674
782
|
const { useInputMode, inputModeColumn } = this;
|
675
783
|
this.ionInputModeChange.emit({
|
676
784
|
useInputMode,
|
677
|
-
inputModeColumn
|
785
|
+
inputModeColumn,
|
678
786
|
});
|
679
787
|
};
|
680
788
|
}
|
@@ -683,7 +791,7 @@ const PickerInternal = class {
|
|
683
791
|
getElementRoot(this.el).addEventListener('focusout', this.onFocusOut);
|
684
792
|
}
|
685
793
|
render() {
|
686
|
-
return (h(Host, { onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", ref: el => this.inputEl = el, onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { class: "picker-before" }), h("div", { class: "picker-after" }), h("div", { class: "picker-highlight", ref: el => this.highlightEl = el }), h("slot", null)));
|
794
|
+
return (h(Host, { onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { class: "picker-before" }), h("div", { class: "picker-after" }), h("div", { class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), h("slot", null)));
|
687
795
|
}
|
688
796
|
get el() { return getElement(this); }
|
689
797
|
};
|