@sparkle-learning/core 0.0.32 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/PrivateRoute-4abc9d29.js +35 -0
- package/dist/cjs/{active-router-eedb3bfe.js → active-router-f9e18bd8.js} +1 -1
- package/dist/cjs/{animation-6132e37f.js → animation-ee586546.js} +83 -78
- package/dist/cjs/{app-globals-9869bf67.js → app-globals-33c9f31b.js} +1 -1
- package/dist/cjs/{PrivateRoute-043bb7d3.js → auth.service-4b584cd7.js} +4 -33
- package/dist/cjs/{auth.store-ff3fda09.js → auth.store-1e630a7d.js} +48 -725
- package/dist/cjs/compass-svg.cjs.entry.js +1 -1
- package/dist/cjs/context-consumer.cjs.entry.js +1 -1
- package/dist/cjs/course-select.cjs.entry.js +1 -1
- package/dist/cjs/{cubic-bezier-293f4663.js → cubic-bezier-53d26d05.js} +10 -11
- package/dist/cjs/dom-utils-b8befdd5.js +63 -0
- package/dist/cjs/{facilitator.service-faac5c0c.js → facilitator.service-9e990274.js} +8 -7
- package/dist/cjs/{feed.service-66405969.js → feed.service-b4f09441.js} +8 -7
- package/dist/cjs/{focus-visible-ad3828a7.js → focus-visible-b0b07ba6.js} +19 -6
- package/dist/cjs/{framework-delegate-2470a246.js → framework-delegate-59a98abd.js} +11 -13
- package/dist/cjs/{gesture-controller-07c31f70.js → gesture-controller-0eb5579e.js} +1 -1
- package/dist/cjs/{haptic-91e86eb7.js → haptic-780f33c4.js} +3 -2
- package/dist/cjs/{hardware-back-button-f7b5d99e.js → hardware-back-button-92d97ff8.js} +8 -8
- package/dist/cjs/header-mobile-collapse_2.cjs.entry.js +112 -0
- package/dist/cjs/{helpers-7e28976c.js → helpers-c2496722.js} +81 -14
- package/dist/cjs/httpService-7211d93b.js +685 -0
- package/dist/cjs/{icons-80d477f6.js → icons-c61db785.js} +1 -1
- package/dist/cjs/{index-43642662.js → index-12082cba.js} +21 -18
- package/dist/cjs/{index-459a5fa9.js → index-15ea05f5.js} +19 -28
- package/dist/cjs/{index-bae2a754.js → index-51e8292e.js} +18 -11
- package/dist/cjs/index-70e63f5b.js +3071 -0
- package/dist/cjs/{index-b12edb26.js → index-787d4498.js} +17 -25
- package/dist/cjs/{tap-click-1caf1780.js → index-8b5629a6.js} +30 -20
- package/dist/cjs/{index-8540d72e.js → index-975586fd.js} +7 -1
- package/dist/cjs/index-9c7b27e4.js +140 -0
- package/dist/cjs/{index-185f9c5a.js → index-af080b50.js} +9 -8
- package/dist/cjs/index-e56e09b8.js +38 -0
- package/dist/cjs/index.cjs.js +13 -11
- package/dist/cjs/{index.es-ef3efdfb.js → index.es-38cbcdbe.js} +2 -7
- package/dist/cjs/injectHistory-7206bbb9.js +9 -0
- package/dist/cjs/{input-shims-6c442c9f.js → input-shims-eff63b88.js} +21 -24
- package/dist/cjs/ion-accordion-group.cjs.entry.js +17 -9
- package/dist/cjs/ion-accordion.cjs.entry.js +19 -23
- package/dist/cjs/ion-action-sheet_4.cjs.entry.js +216 -212
- package/dist/cjs/ion-app.cjs.entry.js +8 -8
- package/dist/cjs/ion-avatar_16.cjs.entry.js +1907 -0
- package/dist/cjs/ion-back-button.cjs.entry.js +11 -11
- package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
- package/dist/cjs/ion-badge.cjs.entry.js +3 -3
- package/dist/cjs/ion-breadcrumb.cjs.entry.js +13 -21
- package/dist/cjs/ion-breadcrumbs.cjs.entry.js +12 -14
- package/dist/cjs/ion-buttons_3.cjs.entry.js +13 -13
- package/dist/cjs/ion-card-header.cjs.entry.js +4 -4
- package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
- package/dist/cjs/ion-checkbox_4.cjs.entry.js +360 -0
- package/dist/cjs/ion-chip.cjs.entry.js +3 -3
- package/dist/cjs/ion-col_3.cjs.entry.js +159 -0
- package/dist/cjs/ion-content_2.cjs.entry.js +59 -52
- package/dist/cjs/ion-datetime-button.cjs.entry.js +312 -0
- package/dist/cjs/ion-datetime.cjs.entry.js +752 -1245
- package/dist/cjs/ion-fab-button.cjs.entry.js +25 -9
- package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
- package/dist/cjs/ion-fab.cjs.entry.js +15 -13
- package/dist/cjs/ion-footer.cjs.entry.js +16 -14
- package/dist/cjs/ion-img.cjs.entry.js +4 -4
- package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
- package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -15
- package/dist/cjs/ion-item-divider.cjs.entry.js +4 -4
- package/dist/cjs/ion-item-group.cjs.entry.js +3 -3
- package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
- package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
- package/dist/cjs/ion-item-sliding.cjs.entry.js +41 -46
- package/dist/cjs/ion-loading.cjs.entry.js +23 -35
- package/dist/cjs/ion-menu-button.cjs.entry.js +13 -13
- package/dist/cjs/ion-menu-toggle.cjs.entry.js +7 -7
- package/dist/cjs/ion-menu.cjs.entry.js +47 -40
- package/dist/cjs/ion-modal.cjs.entry.js +935 -282
- package/dist/cjs/ion-nav-link.cjs.entry.js +2 -2
- package/dist/cjs/ion-nav.cjs.entry.js +45 -35
- package/dist/cjs/ion-picker-column-internal_2.cjs.entry.js +151 -43
- package/dist/cjs/ion-picker-column.cjs.entry.js +23 -25
- package/dist/cjs/ion-picker.cjs.entry.js +15 -17
- package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -8
- package/dist/cjs/ion-range.cjs.entry.js +515 -0
- package/dist/cjs/ion-refresher-content.cjs.entry.js +6 -12
- package/dist/cjs/ion-refresher.cjs.entry.js +68 -50
- package/dist/cjs/ion-reorder-group.cjs.entry.js +15 -16
- package/dist/cjs/ion-reorder.cjs.entry.js +3 -3
- package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route.cjs.entry.js +1 -1
- package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
- package/dist/cjs/ion-router-outlet.cjs.entry.js +22 -20
- package/dist/cjs/ion-router.cjs.entry.js +32 -31
- package/dist/cjs/ion-searchbar.cjs.entry.js +14 -16
- package/dist/cjs/ion-segment-button.cjs.entry.js +8 -8
- package/dist/cjs/ion-segment.cjs.entry.js +24 -26
- package/dist/cjs/ion-select_2.cjs.entry.js +59 -56
- package/dist/cjs/ion-skeleton-text.cjs.entry.js +4 -4
- package/dist/cjs/ion-slide.cjs.entry.js +3 -3
- package/dist/cjs/ion-slides.cjs.entry.js +23 -23
- package/dist/cjs/ion-split-pane.cjs.entry.js +10 -11
- package/dist/cjs/ion-tab-bar.cjs.entry.js +5 -5
- package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
- package/dist/cjs/ion-tab.cjs.entry.js +4 -4
- package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
- package/dist/cjs/ion-text.cjs.entry.js +24 -0
- package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +23 -43
- package/dist/cjs/ion-virtual-scroll.cjs.entry.js +29 -28
- package/dist/cjs/{ionic-global-878073d1.js → ionic-global-2cde9d3a.js} +27 -31
- package/dist/cjs/{ios.transition-c3bfb096.js → ios.transition-da235483.js} +71 -51
- package/dist/cjs/{keyboard-dfd76ac3.js → keyboard-91096619.js} +3 -3
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/match-path-84c9f7ca.js +511 -0
- package/dist/cjs/{md.transition-7eb9a1a7.js → md.transition-be429e07.js} +9 -16
- package/dist/cjs/{menu-toggle-util-cb549c2c.js → menu-toggle-util-7a01448c.js} +2 -2
- package/dist/cjs/{overlays-0a748609.js → overlays-32df265a.js} +29 -29
- package/dist/cjs/parse-d0071120.js +1237 -0
- package/dist/cjs/{purify-d0ad2883.js → purify-fb9c107e.js} +1 -1
- package/dist/cjs/sparkle-animation-player.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-card_3.cjs.entry.js +91 -0
- package/dist/cjs/sparkle-character-intro.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-code.cjs.entry.js +2 -2
- package/dist/cjs/sparkle-compass-post.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-compass.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-core.cjs.js +5 -5
- package/dist/cjs/sparkle-course-root.cjs.entry.js +146 -0
- package/dist/cjs/sparkle-dropdown.cjs.entry.js +61 -0
- package/dist/cjs/sparkle-emoji.cjs.entry.js +1 -1
- package/dist/cjs/{header-mobile-collapse_61.cjs.entry.js → sparkle-export-lessons_6.cjs.entry.js} +8865 -17663
- package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +2130 -0
- package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +8 -7
- package/dist/cjs/sparkle-feedback.cjs.entry.js +9 -7
- package/dist/cjs/sparkle-goal-form.cjs.entry.js +8 -7
- package/dist/cjs/sparkle-goal-progress.cjs.entry.js +19 -0
- package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-gww-graph.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-gww-item.cjs.entry.js +74 -0
- package/dist/cjs/sparkle-intro.cjs.entry.js +26 -0
- package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +2 -2
- package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +236 -0
- package/dist/cjs/sparkle-modal-image.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-notfound-page.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-overlay.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-poll.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-select.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-sidebar.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-tab.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-tabs.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-validation-error.cjs.entry.js +21 -0
- package/dist/cjs/sparkle-youtube.cjs.entry.js +1 -1
- package/dist/cjs/{spinner-configs-6f6b7ef0.js → spinner-configs-0ac05f2d.js} +43 -43
- package/dist/cjs/{status-tap-8697433c.js → status-tap-033befa2.js} +7 -5
- package/dist/cjs/stencil-async-content.cjs.entry.js +1 -1
- package/dist/cjs/stencil-route-link.cjs.entry.js +77 -0
- package/dist/cjs/stencil-route-title.cjs.entry.js +2 -2
- package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
- package/dist/cjs/stencil-router-redirect.cjs.entry.js +32 -0
- package/dist/cjs/student.service-d48f1c99.js +61 -0
- package/dist/cjs/{swipe-back-7e08b5e0.js → swipe-back-4a826f9b.js} +5 -5
- package/dist/cjs/{theme-4252ac15.js → theme-b0b295c1.js} +6 -5
- package/dist/cjs/user.store-8a049c4e.js +21 -0
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.css +16 -0
- package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.js +197 -3
- package/dist/collection/components/sparkle-intro/sparkle-intro.css +15 -0
- package/dist/collection/components/sparkle-intro/sparkle-intro.js +35 -0
- package/dist/esm/PrivateRoute-530ef873.js +33 -0
- package/dist/esm/{active-router-909088d6.js → active-router-9843e205.js} +1 -1
- package/dist/esm/{animation-b306f6c2.js → animation-d98d3e81.js} +83 -78
- package/dist/esm/{app-globals-5c736ae5.js → app-globals-08edc964.js} +1 -1
- package/dist/esm/{PrivateRoute-b9937c45.js → auth.service-79389d86.js} +4 -32
- package/dist/esm/{auth.store-3ed2389e.js → auth.store-b812b34b.js} +45 -725
- package/dist/esm/compass-svg.entry.js +1 -1
- package/dist/esm/context-consumer.entry.js +1 -1
- package/dist/esm/course-select.entry.js +1 -1
- package/dist/esm/{cubic-bezier-a7ad9c8e.js → cubic-bezier-4c0db14f.js} +10 -11
- package/dist/esm/dom-utils-8e73e88b.js +55 -0
- package/dist/esm/{facilitator.service-ec0a9739.js → facilitator.service-7babc526.js} +2 -1
- package/dist/esm/{feed.service-33b83cb7.js → feed.service-80fbe79d.js} +3 -2
- package/dist/esm/{focus-visible-40cda868.js → focus-visible-4e9a0764.js} +19 -6
- package/dist/esm/{framework-delegate-3bc58c27.js → framework-delegate-9b329182.js} +11 -13
- package/dist/esm/{gesture-controller-686622ba.js → gesture-controller-7be18351.js} +1 -1
- package/dist/esm/{haptic-99c9e346.js → haptic-3a76a65c.js} +4 -3
- package/dist/esm/{hardware-back-button-b6ccf74a.js → hardware-back-button-fa04d6e9.js} +8 -8
- package/dist/esm/header-mobile-collapse_2.entry.js +107 -0
- package/dist/esm/{helpers-39367fe1.js → helpers-94a5855b.js} +81 -15
- package/dist/esm/httpService-b2b7a1ad.js +683 -0
- package/dist/esm/{icons-61dec176.js → icons-16f1a80b.js} +2 -2
- package/dist/esm/{index-a12c14bd.js → index-21661af2.js} +22 -19
- package/dist/esm/{tap-click-13f1fb0d.js → index-230a26c9.js} +30 -20
- package/dist/esm/{index-c26d8655.js → index-478745be.js} +17 -25
- package/dist/esm/{index-dc61f152.js → index-4ec6b9c2.js} +5 -2
- package/dist/esm/{index-9594837e.js → index-95307148.js} +19 -28
- package/dist/esm/{index-5568e3fa.js → index-9db08224.js} +19 -12
- package/dist/esm/index-ab1c6a9f.js +3067 -0
- package/dist/esm/{index-435af8e6.js → index-be6112f8.js} +9 -8
- package/dist/esm/index-c23a1826.js +128 -0
- package/dist/esm/index-dad75b83.js +34 -0
- package/dist/esm/{index.es-97dd8174.js → index.es-1c3b1ef3.js} +2 -7
- package/dist/esm/index.js +9 -7
- package/dist/esm/injectHistory-4bfff188.js +7 -0
- package/dist/esm/{input-shims-cc98ea92.js → input-shims-ce5c01df.js} +21 -24
- package/dist/esm/ion-accordion-group.entry.js +17 -9
- package/dist/esm/ion-accordion.entry.js +19 -23
- package/dist/esm/ion-action-sheet_4.entry.js +216 -212
- package/dist/esm/ion-app.entry.js +8 -8
- package/dist/esm/ion-avatar_16.entry.js +1888 -0
- package/dist/esm/ion-back-button.entry.js +11 -11
- package/dist/esm/ion-backdrop.entry.js +4 -4
- package/dist/esm/ion-badge.entry.js +3 -3
- package/dist/esm/ion-breadcrumb.entry.js +13 -21
- package/dist/esm/ion-breadcrumbs.entry.js +12 -14
- package/dist/esm/ion-buttons_3.entry.js +13 -13
- package/dist/esm/ion-card-header.entry.js +4 -4
- package/dist/esm/ion-card-subtitle.entry.js +4 -4
- package/dist/esm/ion-checkbox_4.entry.js +353 -0
- package/dist/esm/ion-chip.entry.js +3 -3
- package/dist/esm/ion-col_3.entry.js +153 -0
- package/dist/esm/ion-content_2.entry.js +59 -52
- package/dist/esm/ion-datetime-button.entry.js +308 -0
- package/dist/esm/ion-datetime.entry.js +723 -1216
- package/dist/esm/ion-fab-button.entry.js +25 -9
- package/dist/esm/ion-fab-list.entry.js +4 -4
- package/dist/esm/ion-fab.entry.js +15 -13
- package/dist/esm/ion-footer.entry.js +16 -14
- package/dist/esm/ion-img.entry.js +4 -4
- package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
- package/dist/esm/ion-infinite-scroll.entry.js +13 -15
- package/dist/esm/ion-item-divider.entry.js +4 -4
- package/dist/esm/ion-item-group.entry.js +3 -3
- package/dist/esm/ion-item-option.entry.js +8 -8
- package/dist/esm/ion-item-options.entry.js +5 -5
- package/dist/esm/ion-item-sliding.entry.js +41 -46
- package/dist/esm/ion-loading.entry.js +23 -35
- package/dist/esm/ion-menu-button.entry.js +13 -13
- package/dist/esm/ion-menu-toggle.entry.js +7 -7
- package/dist/esm/ion-menu.entry.js +47 -40
- package/dist/esm/ion-modal.entry.js +921 -268
- package/dist/esm/ion-nav-link.entry.js +2 -2
- package/dist/esm/ion-nav.entry.js +45 -35
- package/dist/esm/ion-picker-column-internal_2.entry.js +151 -43
- package/dist/esm/ion-picker-column.entry.js +23 -25
- package/dist/esm/ion-picker.entry.js +15 -17
- package/dist/esm/ion-progress-bar.entry.js +6 -8
- package/dist/esm/ion-range.entry.js +511 -0
- package/dist/esm/ion-refresher-content.entry.js +6 -12
- package/dist/esm/ion-refresher.entry.js +68 -50
- package/dist/esm/ion-reorder-group.entry.js +15 -16
- package/dist/esm/ion-reorder.entry.js +3 -3
- package/dist/esm/ion-route-redirect.entry.js +1 -1
- package/dist/esm/ion-route.entry.js +1 -1
- package/dist/esm/ion-router-link.entry.js +5 -5
- package/dist/esm/ion-router-outlet.entry.js +22 -20
- package/dist/esm/ion-router.entry.js +32 -31
- package/dist/esm/ion-searchbar.entry.js +14 -16
- package/dist/esm/ion-segment-button.entry.js +8 -8
- package/dist/esm/ion-segment.entry.js +24 -26
- package/dist/esm/ion-select_2.entry.js +59 -56
- package/dist/esm/ion-skeleton-text.entry.js +4 -4
- package/dist/esm/ion-slide.entry.js +3 -3
- package/dist/esm/ion-slides.entry.js +23 -23
- package/dist/esm/ion-split-pane.entry.js +10 -11
- package/dist/esm/ion-tab-bar.entry.js +5 -5
- package/dist/esm/ion-tab-button.entry.js +6 -6
- package/dist/esm/ion-tab.entry.js +4 -4
- package/dist/esm/ion-tabs.entry.js +4 -5
- package/dist/esm/ion-text.entry.js +20 -0
- package/dist/esm/ion-thumbnail.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +23 -43
- package/dist/esm/ion-virtual-scroll.entry.js +29 -28
- package/dist/esm/{ionic-global-0939c477.js → ionic-global-293e882b.js} +27 -31
- package/dist/esm/{ios.transition-b4ca8a33.js → ios.transition-7cd34deb.js} +71 -51
- package/dist/esm/{keyboard-2503e874.js → keyboard-7e8329b3.js} +3 -3
- package/dist/esm/loader.js +5 -5
- package/dist/esm/match-path-36fdf5c7.js +499 -0
- package/dist/esm/{md.transition-ca5e0322.js → md.transition-2589a5b1.js} +9 -16
- package/dist/esm/{menu-toggle-util-7fa22c2f.js → menu-toggle-util-f92ba2f0.js} +2 -2
- package/dist/esm/{overlays-34cfa9e0.js → overlays-dfa730c8.js} +30 -30
- package/dist/esm/parse-1ae3a9bb.js +1196 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/{purify-ffce2b4c.js → purify-79af871f.js} +1 -1
- package/dist/esm/sparkle-animation-player.entry.js +2 -2
- package/dist/esm/sparkle-card_3.entry.js +85 -0
- package/dist/esm/sparkle-character-intro.entry.js +1 -1
- package/dist/esm/sparkle-code.entry.js +2 -2
- package/dist/esm/sparkle-compass-post.entry.js +1 -1
- package/dist/esm/sparkle-compass.entry.js +1 -1
- package/dist/esm/sparkle-core.js +5 -5
- package/dist/esm/sparkle-course-root.entry.js +142 -0
- package/dist/esm/sparkle-dropdown.entry.js +57 -0
- package/dist/esm/sparkle-emoji.entry.js +1 -1
- package/dist/esm/{header-mobile-collapse_61.entry.js → sparkle-export-lessons_6.entry.js} +8860 -17603
- package/dist/esm/sparkle-facilitator-header_19.entry.js +2108 -0
- package/dist/esm/sparkle-facilitator-notes-form.entry.js +8 -7
- package/dist/esm/sparkle-feedback.entry.js +9 -7
- package/dist/esm/sparkle-goal-form.entry.js +9 -8
- package/dist/esm/sparkle-goal-progress.entry.js +15 -0
- package/dist/esm/sparkle-gww-comment-list.entry.js +1 -1
- package/dist/esm/sparkle-gww-graph.entry.js +1 -1
- package/dist/esm/sparkle-gww-item.entry.js +70 -0
- package/dist/esm/sparkle-intro.entry.js +22 -0
- package/dist/esm/sparkle-lower-content-nav.entry.js +1 -1
- package/dist/esm/sparkle-menu-collapsible.entry.js +2 -2
- package/dist/esm/sparkle-menu-toggle_3.entry.js +230 -0
- package/dist/esm/sparkle-modal-image.entry.js +1 -1
- package/dist/esm/sparkle-notfound-page.entry.js +1 -1
- package/dist/esm/sparkle-overlay.entry.js +1 -1
- package/dist/esm/sparkle-poll.entry.js +1 -1
- package/dist/esm/sparkle-quiz-container.entry.js +1 -1
- package/dist/esm/sparkle-quiz-feedback_5.entry.js +1 -1
- package/dist/esm/sparkle-quiz.entry.js +1 -1
- package/dist/esm/sparkle-select.entry.js +1 -1
- package/dist/esm/sparkle-sidebar.entry.js +1 -1
- package/dist/esm/sparkle-tab.entry.js +1 -1
- package/dist/esm/sparkle-table-of-contents.entry.js +1 -1
- package/dist/esm/sparkle-tabs.entry.js +1 -1
- package/dist/esm/sparkle-validation-error.entry.js +17 -0
- package/dist/esm/sparkle-youtube.entry.js +1 -1
- package/dist/esm/{spinner-configs-f609a655.js → spinner-configs-a37e628a.js} +43 -43
- package/dist/esm/{status-tap-6351a0cb.js → status-tap-79b6199d.js} +7 -5
- package/dist/esm/stencil-async-content.entry.js +1 -1
- package/dist/esm/stencil-route-link.entry.js +73 -0
- package/dist/esm/stencil-route-title.entry.js +2 -2
- package/dist/esm/stencil-router-prompt.entry.js +2 -2
- package/dist/esm/stencil-router-redirect.entry.js +28 -0
- package/dist/esm/{student.service-29b688ba.js → student.service-0caed0f4.js} +3 -18
- package/dist/esm/{swipe-back-34251834.js → swipe-back-ad7a0361.js} +5 -5
- package/dist/esm/{theme-c336c9d9.js → theme-7ef00c83.js} +6 -5
- package/dist/esm/user.store-8477642a.js +19 -0
- package/dist/esm/{util-6ef753e9.js → util-a831d09d.js} +1 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +8 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +46 -22
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +43 -19
- package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +60 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +2 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +2 -2
- package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +6 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +6 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +3 -3
- package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +1 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +1 -6
- package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +1 -5
- package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +1 -5
- package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +31 -3
- package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +29 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +24 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +24 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +4 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +4 -0
- package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +2 -2
- package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +2 -2
- package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +8 -8
- package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +34 -17
- package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +34 -17
- package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +50 -1
- package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +27 -0
- package/dist/sparkle-core/index.esm.js +1 -1
- package/dist/sparkle-core/p-0127a61a.entry.js +1 -0
- package/dist/sparkle-core/p-01743e3e.js +4 -0
- package/dist/sparkle-core/p-06af1bc8.entry.js +1 -0
- package/dist/sparkle-core/{p-703ca87c.js → p-076f0239.js} +0 -0
- package/dist/sparkle-core/p-0798d46a.entry.js +1 -0
- package/dist/sparkle-core/p-085eb951.entry.js +4 -0
- package/dist/sparkle-core/{p-39e5a90f.entry.js → p-0b92326d.entry.js} +1 -1
- package/dist/sparkle-core/{p-5ff6416d.entry.js → p-0c603495.entry.js} +2 -2
- package/dist/sparkle-core/{p-6bbabb80.entry.js → p-0d7cceaa.entry.js} +1 -1
- package/dist/sparkle-core/p-0d813026.entry.js +1 -0
- package/dist/sparkle-core/{p-69e7783d.js → p-0e4de1d0.js} +0 -0
- package/dist/sparkle-core/p-11ed6b7f.entry.js +1 -0
- package/dist/sparkle-core/p-122427b7.entry.js +1 -0
- package/dist/sparkle-core/p-12c4f45c.entry.js +1 -0
- package/dist/sparkle-core/p-136b93d5.entry.js +4 -0
- package/dist/sparkle-core/{p-e225581a.js → p-1394cbb8.js} +2 -2
- package/dist/sparkle-core/{p-c48bbc7c.entry.js → p-14340143.entry.js} +1 -1
- package/dist/sparkle-core/p-14a06a91.entry.js +1 -0
- package/dist/sparkle-core/{p-a9ee3f6d.entry.js → p-16b7974e.entry.js} +1 -1
- package/dist/sparkle-core/p-16c81890.entry.js +1 -0
- package/dist/sparkle-core/{p-5c9aa1f9.entry.js → p-1701723e.entry.js} +1 -1
- package/dist/sparkle-core/p-1728ead7.js +1 -0
- package/dist/sparkle-core/p-17aef6f9.js +1 -0
- package/dist/sparkle-core/p-180857a2.entry.js +1 -0
- package/dist/sparkle-core/p-1acc7870.entry.js +1 -0
- package/dist/sparkle-core/{p-513794b0.js → p-1c2aee9c.js} +1 -1
- package/dist/sparkle-core/p-1cd4c3cc.entry.js +1 -0
- package/dist/sparkle-core/p-21d9833d.js +1 -0
- package/dist/sparkle-core/p-23d713e2.js +1 -0
- package/dist/sparkle-core/p-25c13612.entry.js +1 -0
- package/dist/sparkle-core/p-2699868a.entry.js +1 -0
- package/dist/sparkle-core/p-27075abe.js +4 -0
- package/dist/sparkle-core/{p-713590fc.js → p-280e938d.js} +1 -1
- package/dist/sparkle-core/p-2bd4c60e.js +1 -0
- package/dist/sparkle-core/p-2c89a6c2.entry.js +1 -0
- package/dist/sparkle-core/p-308517b3.js +4 -0
- package/dist/sparkle-core/p-3227afcb.entry.js +1 -0
- package/dist/sparkle-core/{p-173d5461.entry.js → p-34d93a39.entry.js} +1 -1
- package/dist/sparkle-core/p-34ebfc8a.entry.js +1 -0
- package/dist/sparkle-core/p-351b82a8.entry.js +1 -0
- package/dist/sparkle-core/p-363a2d6d.js +4 -0
- package/dist/sparkle-core/p-36c48760.entry.js +1 -0
- package/dist/sparkle-core/p-3810777d.js +4 -0
- package/dist/sparkle-core/p-384911d7.entry.js +1 -0
- package/dist/sparkle-core/p-3b618eda.entry.js +1 -0
- package/dist/sparkle-core/p-3c752205.entry.js +1 -0
- package/dist/sparkle-core/{p-50aac721.entry.js → p-3d2c0e24.entry.js} +2 -2
- package/dist/sparkle-core/{p-350adbaa.entry.js → p-3eb56165.entry.js} +1 -1
- package/dist/sparkle-core/{p-ed0e9d29.entry.js → p-3ef53ebf.entry.js} +1 -1
- package/dist/sparkle-core/{p-fbd7eeca.entry.js → p-3fd92216.entry.js} +1 -1
- package/dist/sparkle-core/{p-1df05176.js → p-4338e1e3.js} +2 -2
- package/dist/sparkle-core/p-442eadcf.entry.js +1 -0
- package/dist/sparkle-core/{p-5f45d206.entry.js → p-4af496a8.entry.js} +1 -1
- package/dist/sparkle-core/{p-935e7cfc.js → p-4bd4dab2.js} +1 -1
- package/dist/sparkle-core/{p-18e62133.entry.js → p-4c9e010d.entry.js} +1 -1
- package/dist/sparkle-core/p-4d0dfbc9.js +1 -0
- package/dist/sparkle-core/{p-8c6b6038.js → p-4d4077ea.js} +0 -0
- package/dist/sparkle-core/p-4e0502b8.entry.js +4 -0
- package/dist/sparkle-core/p-506f3c5f.js +4 -0
- package/dist/sparkle-core/p-524a6174.entry.js +1 -0
- package/dist/sparkle-core/p-53aac9d7.entry.js +1 -0
- package/dist/sparkle-core/{p-0580419b.entry.js → p-56700a40.entry.js} +1 -1
- package/dist/sparkle-core/p-5722be24.entry.js +1 -0
- package/dist/sparkle-core/p-58389020.entry.js +348 -0
- package/dist/sparkle-core/{p-11cf398a.entry.js → p-58f74119.entry.js} +1 -1
- package/dist/sparkle-core/p-5979f253.entry.js +1 -0
- package/dist/sparkle-core/p-5a3de051.entry.js +4 -0
- package/dist/sparkle-core/p-5a850731.entry.js +1 -0
- package/dist/sparkle-core/{p-950effe7.entry.js → p-5dcf33fb.entry.js} +1 -1
- package/dist/sparkle-core/p-5e8fa1ac.entry.js +1 -0
- package/dist/sparkle-core/p-5ef50959.js +1 -0
- package/dist/sparkle-core/p-615b8f64.entry.js +1 -0
- package/dist/sparkle-core/{p-90389886.entry.js → p-63d8a5b7.entry.js} +1 -1
- package/dist/sparkle-core/p-6a337ad1.entry.js +1 -0
- package/dist/sparkle-core/p-6a5ace01.js +2 -0
- package/dist/sparkle-core/{p-d7baf31e.entry.js → p-6ae9c743.entry.js} +1 -1
- package/dist/sparkle-core/p-76206f80.entry.js +1 -0
- package/dist/sparkle-core/{p-99b43ee1.entry.js → p-767c9db8.entry.js} +1 -1
- package/dist/sparkle-core/p-76a6e202.entry.js +1 -0
- package/dist/sparkle-core/{p-ee0d7f19.entry.js → p-785f1879.entry.js} +1 -1
- package/dist/sparkle-core/p-788735b9.entry.js +1 -0
- package/dist/sparkle-core/{p-057f6a23.entry.js → p-7b21bd70.entry.js} +1 -1
- package/dist/sparkle-core/p-7b3d1457.js +1 -0
- package/dist/sparkle-core/p-7d8427eb.js +4 -0
- package/dist/sparkle-core/{p-5264da79.js → p-7e7ce516.js} +0 -0
- package/dist/sparkle-core/{p-838fa86d.entry.js → p-8cbe019a.entry.js} +5 -5
- package/dist/sparkle-core/{p-9c1772c3.js → p-8d630960.js} +1 -1
- package/dist/sparkle-core/{p-7052c43a.entry.js → p-8e42e634.entry.js} +1 -1
- package/dist/sparkle-core/p-8e56f9ee.entry.js +1 -0
- package/dist/sparkle-core/p-8ed0cefb.entry.js +1 -0
- package/dist/sparkle-core/{p-d4c07aca.js → p-924b2917.js} +0 -0
- package/dist/sparkle-core/p-9484e34b.entry.js +1 -0
- package/dist/sparkle-core/p-966817ec.js +1 -0
- package/dist/sparkle-core/p-969e98e5.entry.js +1 -0
- package/dist/sparkle-core/p-98f3925b.js +4 -0
- package/dist/sparkle-core/{p-a1cab0f3.js → p-99231c00.js} +2 -2
- package/dist/sparkle-core/p-9a383065.entry.js +7 -0
- package/dist/sparkle-core/p-9b4979b5.entry.js +4 -0
- package/dist/sparkle-core/{p-c69b0a7a.entry.js → p-9cd95e7e.entry.js} +1 -1
- package/dist/sparkle-core/p-9dc42d70.entry.js +1 -0
- package/dist/sparkle-core/p-9eea81f2.js +1 -0
- package/dist/sparkle-core/{p-797c23ed.entry.js → p-9ef14088.entry.js} +1 -1
- package/dist/sparkle-core/p-a05871e6.js +1 -0
- package/dist/sparkle-core/p-a111c567.entry.js +1 -0
- package/dist/sparkle-core/{p-1af044f7.js → p-a19b42f0.js} +1 -1
- package/dist/sparkle-core/p-a208ab2d.js +4 -0
- package/dist/sparkle-core/p-a2f7c751.entry.js +1 -0
- package/dist/sparkle-core/p-a458b415.entry.js +1 -0
- package/dist/sparkle-core/p-a6c1a55a.entry.js +5 -0
- package/dist/sparkle-core/{p-145e40f5.entry.js → p-ab3a8f5e.entry.js} +1 -1
- package/dist/sparkle-core/p-ac0e4d8c.entry.js +1 -0
- package/dist/sparkle-core/p-add30d46.js +4 -0
- package/dist/sparkle-core/{p-5b40aae5.entry.js → p-b00d0a47.entry.js} +1 -1
- package/dist/sparkle-core/p-b2827978.entry.js +1 -0
- package/dist/sparkle-core/p-b8ba8164.entry.js +1 -0
- package/dist/sparkle-core/{p-6823e6c1.entry.js → p-ba775d8e.entry.js} +1 -1
- package/dist/sparkle-core/{p-37c00e39.entry.js → p-bae8cd7d.entry.js} +1 -1
- package/dist/sparkle-core/p-bb3e3482.entry.js +1 -0
- package/dist/sparkle-core/p-bb575dba.entry.js +1 -0
- package/dist/sparkle-core/p-bd2c8e30.entry.js +10 -0
- package/dist/sparkle-core/p-c48352cf.js +4 -0
- package/dist/sparkle-core/{p-667accac.entry.js → p-c5eb4404.entry.js} +1 -1
- package/dist/sparkle-core/p-c8ad5a5b.entry.js +4 -0
- package/dist/sparkle-core/p-c9f474d0.js +4 -0
- package/dist/sparkle-core/p-ca0edc9b.entry.js +1 -0
- package/dist/sparkle-core/{p-680663a2.entry.js → p-cb04b18a.entry.js} +1 -1
- package/dist/sparkle-core/{p-b3909012.entry.js → p-d0d0e5e5.entry.js} +1 -1
- package/dist/sparkle-core/{p-7d61177b.entry.js → p-d220a642.entry.js} +1 -1
- package/dist/sparkle-core/p-d38a2511.entry.js +1 -0
- package/dist/sparkle-core/{p-b07a2cf2.entry.js → p-d5b8302f.entry.js} +1 -1
- package/dist/sparkle-core/p-d5ba8e80.entry.js +1 -0
- package/dist/sparkle-core/{p-3a202a38.entry.js → p-d6637b48.entry.js} +1 -1
- package/dist/sparkle-core/p-d6788642.entry.js +1 -0
- package/dist/sparkle-core/p-d6a3a639.entry.js +1 -0
- package/dist/sparkle-core/p-d86f8633.entry.js +1 -0
- package/dist/sparkle-core/{p-9cfdeb18.entry.js → p-defeaa5c.entry.js} +1 -1
- package/dist/sparkle-core/p-df5cfa7f.entry.js +1 -0
- package/dist/sparkle-core/p-df5efe0d.entry.js +1 -0
- package/dist/sparkle-core/p-dff8325e.js +4 -0
- package/dist/sparkle-core/p-e09de7ac.js +1 -0
- package/dist/sparkle-core/{p-016a7aaf.entry.js → p-e1743d82.entry.js} +1 -1
- package/dist/sparkle-core/p-e28a106d.entry.js +1 -0
- package/dist/sparkle-core/p-e566c0b3.entry.js +1 -0
- package/dist/sparkle-core/{p-bca0e465.entry.js → p-e6d39f6e.entry.js} +1 -1
- package/dist/sparkle-core/p-e9431eeb.js +7 -0
- package/dist/sparkle-core/p-ea4a9f0d.entry.js +1 -0
- package/dist/sparkle-core/p-ea7d7a3b.js +1 -0
- package/dist/sparkle-core/p-eaa8bbee.js +4 -0
- package/dist/sparkle-core/p-ed3dfd89.js +4 -0
- package/dist/sparkle-core/{p-3defe550.entry.js → p-efe37368.entry.js} +1 -1
- package/dist/sparkle-core/p-f187d129.entry.js +1 -0
- package/dist/sparkle-core/{p-a9ccb0df.js → p-f3cba72a.js} +0 -0
- package/dist/sparkle-core/{p-052caa63.js → p-f5e7bfa5.js} +1 -1
- package/dist/sparkle-core/{p-ecd39170.entry.js → p-f63a13d8.entry.js} +1 -1
- package/dist/sparkle-core/{p-1726da2f.entry.js → p-fdb9a613.entry.js} +1 -1
- package/dist/sparkle-core/p-fde96f7c.js +4 -0
- package/dist/sparkle-core/{p-aa87c7f0.entry.js → p-fe214d79.entry.js} +1 -1
- package/dist/sparkle-core/p-fe3a7bca.js +1 -0
- package/dist/sparkle-core/{p-aa9ebc39.entry.js → p-fea20ec2.entry.js} +1 -1
- package/dist/sparkle-core/p-ff26d891.entry.js +1 -0
- package/dist/sparkle-core/sparkle-core.css +1 -1
- package/dist/sparkle-core/sparkle-core.esm.js +1 -1
- package/dist/types/components/sparkle-feed-post/sparkle-feed-post.d.ts +16 -0
- package/dist/types/components/sparkle-intro/sparkle-intro.d.ts +7 -0
- package/dist/types/components.d.ts +73 -11
- package/package.json +3 -3
- package/dist/cjs/ion-card-title.cjs.entry.js +0 -30
- package/dist/cjs/ion-textarea.cjs.entry.js +0 -247
- package/dist/cjs/ion-toggle.cjs.entry.js +0 -160
- package/dist/cjs/sparkle-feed-post.cjs.entry.js +0 -19
- package/dist/cjs/student.service-744c3155.js +0 -77
- package/dist/esm/ion-card-title.entry.js +0 -26
- package/dist/esm/ion-textarea.entry.js +0 -243
- package/dist/esm/ion-toggle.entry.js +0 -156
- package/dist/esm/sparkle-feed-post.entry.js +0 -15
- package/dist/sparkle-core/p-0187adef.entry.js +0 -1
- package/dist/sparkle-core/p-03189863.js +0 -1
- package/dist/sparkle-core/p-03ec54a8.entry.js +0 -1
- package/dist/sparkle-core/p-04583c51.entry.js +0 -1
- package/dist/sparkle-core/p-063cd168.js +0 -4
- package/dist/sparkle-core/p-081968cc.entry.js +0 -1
- package/dist/sparkle-core/p-0934f5dd.entry.js +0 -1
- package/dist/sparkle-core/p-0f899097.entry.js +0 -352
- package/dist/sparkle-core/p-1339830f.entry.js +0 -1
- package/dist/sparkle-core/p-1b78dea1.entry.js +0 -1
- package/dist/sparkle-core/p-1cef8572.js +0 -4
- package/dist/sparkle-core/p-21bf4ca0.entry.js +0 -1
- package/dist/sparkle-core/p-21db4e8e.entry.js +0 -1
- package/dist/sparkle-core/p-23a9f7d1.entry.js +0 -1
- package/dist/sparkle-core/p-289a35ed.entry.js +0 -1
- package/dist/sparkle-core/p-2ee6a5f9.entry.js +0 -1
- package/dist/sparkle-core/p-35a7bd6c.entry.js +0 -1
- package/dist/sparkle-core/p-389500fd.js +0 -4
- package/dist/sparkle-core/p-45e6db62.entry.js +0 -1
- package/dist/sparkle-core/p-48f9b960.entry.js +0 -1
- package/dist/sparkle-core/p-4dc3ef96.entry.js +0 -1
- package/dist/sparkle-core/p-547b70c6.entry.js +0 -1
- package/dist/sparkle-core/p-5598650a.entry.js +0 -1
- package/dist/sparkle-core/p-55ae49e1.js +0 -4
- package/dist/sparkle-core/p-58e98f89.entry.js +0 -1
- package/dist/sparkle-core/p-59f7bf6e.entry.js +0 -1
- package/dist/sparkle-core/p-5a3d0e6b.js +0 -4
- package/dist/sparkle-core/p-5d2e54ee.entry.js +0 -1
- package/dist/sparkle-core/p-62a6c96f.entry.js +0 -1
- package/dist/sparkle-core/p-64e72f8f.js +0 -4
- package/dist/sparkle-core/p-660e0742.js +0 -1
- package/dist/sparkle-core/p-6bf07a28.js +0 -1
- package/dist/sparkle-core/p-6c6145cd.js +0 -4
- package/dist/sparkle-core/p-6c90bde6.entry.js +0 -5
- package/dist/sparkle-core/p-6e88764b.entry.js +0 -4
- package/dist/sparkle-core/p-6ee40949.js +0 -1
- package/dist/sparkle-core/p-6fbe3ca3.entry.js +0 -1
- package/dist/sparkle-core/p-6fd4985d.js +0 -4
- package/dist/sparkle-core/p-70b2452c.js +0 -4
- package/dist/sparkle-core/p-7493ee15.entry.js +0 -1
- package/dist/sparkle-core/p-75572037.js +0 -1
- package/dist/sparkle-core/p-768bcc9e.entry.js +0 -1
- package/dist/sparkle-core/p-7e61973d.entry.js +0 -7
- package/dist/sparkle-core/p-855ca600.js +0 -1
- package/dist/sparkle-core/p-857f3696.entry.js +0 -1
- package/dist/sparkle-core/p-8fe2e51f.entry.js +0 -4
- package/dist/sparkle-core/p-932bfb69.entry.js +0 -1
- package/dist/sparkle-core/p-941eaa3a.entry.js +0 -1
- package/dist/sparkle-core/p-95004267.entry.js +0 -1
- package/dist/sparkle-core/p-996361f9.entry.js +0 -1
- package/dist/sparkle-core/p-9a17f2ad.js +0 -4
- package/dist/sparkle-core/p-9babd345.js +0 -1
- package/dist/sparkle-core/p-a080e768.entry.js +0 -1
- package/dist/sparkle-core/p-a7cc0052.entry.js +0 -4
- package/dist/sparkle-core/p-ae1f145d.entry.js +0 -1
- package/dist/sparkle-core/p-b3e6427d.js +0 -7
- package/dist/sparkle-core/p-b49ca0ea.entry.js +0 -1
- package/dist/sparkle-core/p-b81e20fe.entry.js +0 -4
- package/dist/sparkle-core/p-c1279cc9.entry.js +0 -1
- package/dist/sparkle-core/p-c1376096.entry.js +0 -1
- package/dist/sparkle-core/p-c3986a52.entry.js +0 -1
- package/dist/sparkle-core/p-c3d3d5c4.entry.js +0 -1
- package/dist/sparkle-core/p-c5b9bdd6.entry.js +0 -1
- package/dist/sparkle-core/p-cbbeed67.entry.js +0 -1
- package/dist/sparkle-core/p-d4a435f8.entry.js +0 -1
- package/dist/sparkle-core/p-d5b05ece.entry.js +0 -5
- package/dist/sparkle-core/p-d8d3524a.js +0 -1
- package/dist/sparkle-core/p-e0fced48.entry.js +0 -1
- package/dist/sparkle-core/p-e1cba44b.entry.js +0 -4
- package/dist/sparkle-core/p-e3fdd0a8.entry.js +0 -1
- package/dist/sparkle-core/p-e6b66cef.entry.js +0 -1
- package/dist/sparkle-core/p-e72d4450.js +0 -4
- package/dist/sparkle-core/p-eb70a23c.entry.js +0 -1
- package/dist/sparkle-core/p-f4001fdf.js +0 -4
- package/dist/sparkle-core/p-f9b73032.entry.js +0 -1
- package/dist/sparkle-core/p-faa912d7.entry.js +0 -1
- package/dist/sparkle-core/p-fc933591.entry.js +0 -1
- package/dist/sparkle-core/p-fef04ab5.js +0 -4
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const index = require('./index-
|
5
|
+
const index = require('./index-51e8292e.js');
|
6
6
|
|
7
7
|
/*!
|
8
8
|
* (C) Ionic http://ionicframework.com - MIT License
|
@@ -39,7 +39,7 @@ const NavLink = class {
|
|
39
39
|
};
|
40
40
|
}
|
41
41
|
render() {
|
42
|
-
return
|
42
|
+
return index.h(index.Host, { onClick: this.onClick });
|
43
43
|
}
|
44
44
|
get el() { return index.getElement(this); }
|
45
45
|
};
|
@@ -2,12 +2,12 @@
|
|
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 cubicBezier = require('./cubic-bezier-
|
8
|
-
const helpers = require('./helpers-
|
9
|
-
const index$1 = require('./index-
|
10
|
-
const frameworkDelegate = require('./framework-delegate-
|
5
|
+
const index = require('./index-51e8292e.js');
|
6
|
+
const ionicGlobal = require('./ionic-global-2cde9d3a.js');
|
7
|
+
const cubicBezier = require('./cubic-bezier-53d26d05.js');
|
8
|
+
const helpers = require('./helpers-c2496722.js');
|
9
|
+
const index$1 = require('./index-787d4498.js');
|
10
|
+
const frameworkDelegate = require('./framework-delegate-59a98abd.js');
|
11
11
|
|
12
12
|
/*!
|
13
13
|
* (C) Ionic http://ionicframework.com - MIT License
|
@@ -65,7 +65,8 @@ const convertToView = (page, params) => {
|
|
65
65
|
return new ViewController(page, params);
|
66
66
|
};
|
67
67
|
const convertToViews = (pages) => {
|
68
|
-
return pages
|
68
|
+
return pages
|
69
|
+
.map((page) => {
|
69
70
|
if (page instanceof ViewController) {
|
70
71
|
return page;
|
71
72
|
}
|
@@ -77,10 +78,11 @@ const convertToViews = (pages) => {
|
|
77
78
|
* `NavComponentWithProps`. Previously `pages` was
|
78
79
|
* of type `any[]` so TypeScript did not catch this.
|
79
80
|
*/
|
80
|
-
return convertToView(page.component,
|
81
|
+
return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps);
|
81
82
|
}
|
82
83
|
return convertToView(page, undefined);
|
83
|
-
})
|
84
|
+
})
|
85
|
+
.filter((v) => v !== null);
|
84
86
|
};
|
85
87
|
|
86
88
|
const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}";
|
@@ -124,9 +126,12 @@ const Nav = class {
|
|
124
126
|
}
|
125
127
|
async componentDidLoad() {
|
126
128
|
this.rootChanged();
|
127
|
-
this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-
|
129
|
+
this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-4a826f9b.js'); })).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
|
128
130
|
this.swipeGestureChanged();
|
129
131
|
}
|
132
|
+
connectedCallback() {
|
133
|
+
this.destroyed = false;
|
134
|
+
}
|
130
135
|
disconnectedCallback() {
|
131
136
|
for (const view of this.views) {
|
132
137
|
index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_UNLOAD);
|
@@ -181,7 +186,7 @@ const Nav = class {
|
|
181
186
|
return this.queueTrns({
|
182
187
|
insertStart: insertIndex,
|
183
188
|
insertViews: insertComponents,
|
184
|
-
opts
|
189
|
+
opts,
|
185
190
|
}, done);
|
186
191
|
}
|
187
192
|
/**
|
@@ -205,7 +210,7 @@ const Nav = class {
|
|
205
210
|
const ti = {
|
206
211
|
removeStart: -1,
|
207
212
|
removeCount: -1,
|
208
|
-
opts
|
213
|
+
opts,
|
209
214
|
};
|
210
215
|
if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {
|
211
216
|
ti.removeView = indexOrViewCtrl;
|
@@ -237,7 +242,7 @@ const Nav = class {
|
|
237
242
|
return this.queueTrns({
|
238
243
|
removeStart: startIndex,
|
239
244
|
removeCount,
|
240
|
-
opts
|
245
|
+
opts,
|
241
246
|
}, done);
|
242
247
|
}
|
243
248
|
/**
|
@@ -272,7 +277,7 @@ const Nav = class {
|
|
272
277
|
insertViews: views,
|
273
278
|
removeStart: 0,
|
274
279
|
removeCount: -1,
|
275
|
-
opts
|
280
|
+
opts,
|
276
281
|
}, done);
|
277
282
|
}
|
278
283
|
/**
|
@@ -291,34 +296,34 @@ const Nav = class {
|
|
291
296
|
if (matches(active, id, params)) {
|
292
297
|
return Promise.resolve({
|
293
298
|
changed: false,
|
294
|
-
element: active.element
|
299
|
+
element: active.element,
|
295
300
|
});
|
296
301
|
}
|
297
302
|
let resolve;
|
298
|
-
const promise = new Promise(r => (resolve = r));
|
303
|
+
const promise = new Promise((r) => (resolve = r));
|
299
304
|
let finish;
|
300
305
|
const commonOpts = {
|
301
306
|
updateURL: false,
|
302
|
-
viewIsReady: enteringEl => {
|
307
|
+
viewIsReady: (enteringEl) => {
|
303
308
|
let mark;
|
304
|
-
const p = new Promise(r => (mark = r));
|
309
|
+
const p = new Promise((r) => (mark = r));
|
305
310
|
resolve({
|
306
311
|
changed: true,
|
307
312
|
element: enteringEl,
|
308
313
|
markVisible: async () => {
|
309
314
|
mark();
|
310
315
|
await finish;
|
311
|
-
}
|
316
|
+
},
|
312
317
|
});
|
313
318
|
return p;
|
314
|
-
}
|
319
|
+
},
|
315
320
|
};
|
316
321
|
if (direction === 'root') {
|
317
322
|
finish = this.setRoot(id, params, commonOpts);
|
318
323
|
}
|
319
324
|
else {
|
320
325
|
// Look for a view matching the target in the view stack.
|
321
|
-
const viewController = this.views.find(v => matches(v, id, params));
|
326
|
+
const viewController = this.views.find((v) => matches(v, id, params));
|
322
327
|
if (viewController) {
|
323
328
|
finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
|
324
329
|
}
|
@@ -342,7 +347,7 @@ const Nav = class {
|
|
342
347
|
return {
|
343
348
|
id: active.element.tagName,
|
344
349
|
params: active.params,
|
345
|
-
element: active.element
|
350
|
+
element: active.element,
|
346
351
|
};
|
347
352
|
}
|
348
353
|
return undefined;
|
@@ -534,7 +539,7 @@ const Nav = class {
|
|
534
539
|
// resolve immediately because there's no animation that's happening
|
535
540
|
result = {
|
536
541
|
hasCompleted: true,
|
537
|
-
requiresTransition: false
|
542
|
+
requiresTransition: false,
|
538
543
|
};
|
539
544
|
}
|
540
545
|
this.success(result, ti);
|
@@ -568,8 +573,7 @@ const Nav = class {
|
|
568
573
|
if (ti.removeCount < 0) {
|
569
574
|
ti.removeCount = viewsLength - ti.removeStart;
|
570
575
|
}
|
571
|
-
ti.leavingRequiresTransition =
|
572
|
-
ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
576
|
+
ti.leavingRequiresTransition = ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
|
573
577
|
}
|
574
578
|
if (ti.insertViews) {
|
575
579
|
// allow -1 to be passed in to auto push it on the end
|
@@ -701,9 +705,7 @@ const Nav = class {
|
|
701
705
|
// we should animate (duration > 0) if the pushed page is not the first one (startup)
|
702
706
|
// or if it is a portal (modal, actionsheet, etc.)
|
703
707
|
const opts = ti.opts;
|
704
|
-
const progressCallback = opts.progressAnimation
|
705
|
-
? (ani) => this.sbAni = ani
|
706
|
-
: undefined;
|
708
|
+
const progressCallback = opts.progressAnimation ? (ani) => (this.sbAni = ani) : undefined;
|
707
709
|
const mode = ionicGlobal.getIonMode(this);
|
708
710
|
const enteringEl = enteringView.element;
|
709
711
|
const leavingEl = leavingView && leavingView.element;
|
@@ -713,16 +715,20 @@ const Nav = class {
|
|
713
715
|
return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);
|
714
716
|
}
|
715
717
|
transitionFinish(hasCompleted, enteringView, leavingView, opts) {
|
716
|
-
|
717
|
-
|
718
|
-
|
718
|
+
/**
|
719
|
+
* If the transition did not complete, the leavingView will still be the active
|
720
|
+
* view on the stack. Otherwise unmount all the views after the enteringView.
|
721
|
+
*/
|
722
|
+
const activeView = hasCompleted ? enteringView : leavingView;
|
723
|
+
if (activeView) {
|
724
|
+
this.unmountInactiveViews(activeView);
|
719
725
|
}
|
720
726
|
return {
|
721
727
|
hasCompleted,
|
722
728
|
requiresTransition: true,
|
723
729
|
enteringView,
|
724
730
|
leavingView,
|
725
|
-
direction: opts.direction
|
731
|
+
direction: opts.direction,
|
726
732
|
};
|
727
733
|
}
|
728
734
|
/**
|
@@ -770,9 +776,13 @@ const Nav = class {
|
|
770
776
|
this.removeView(view);
|
771
777
|
}
|
772
778
|
/**
|
779
|
+
* Unmounts all inactive views after the specified active view.
|
780
|
+
*
|
773
781
|
* DOM WRITE
|
782
|
+
*
|
783
|
+
* @param activeView The view that is actively visible in the stack. Used to calculate which views to unmount.
|
774
784
|
*/
|
775
|
-
|
785
|
+
unmountInactiveViews(activeView) {
|
776
786
|
// ok, cleanup time!! Destroy all of the views that are
|
777
787
|
// INACTIVE and come after the active view
|
778
788
|
// only do this if the views exist, though
|
@@ -829,7 +839,7 @@ const Nav = class {
|
|
829
839
|
this.animationEnabled = true;
|
830
840
|
}, { oneTimeCallback: true });
|
831
841
|
// Account for rounding errors in JS
|
832
|
-
let newStepValue =
|
842
|
+
let newStepValue = shouldComplete ? -0.001 : 0.001;
|
833
843
|
/**
|
834
844
|
* Animation will be reversed here, so need to
|
835
845
|
* reverse the easing curve as well
|
@@ -849,7 +859,7 @@ const Nav = class {
|
|
849
859
|
}
|
850
860
|
}
|
851
861
|
render() {
|
852
|
-
return
|
862
|
+
return index.h("slot", null);
|
853
863
|
}
|
854
864
|
get el() { return index.getElement(this); }
|
855
865
|
static get watchers() { return {
|
@@ -2,21 +2,21 @@
|
|
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-
|
8
|
-
const haptic = require('./haptic-
|
9
|
-
const theme = require('./theme-
|
5
|
+
const index = require('./index-51e8292e.js');
|
6
|
+
const ionicGlobal = require('./ionic-global-2cde9d3a.js');
|
7
|
+
const helpers = require('./helpers-c2496722.js');
|
8
|
+
const haptic = require('./haptic-780f33c4.js');
|
9
|
+
const theme = require('./theme-b0b295c1.js');
|
10
10
|
|
11
|
-
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)}}";
|
11
|
+
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)}}";
|
12
12
|
|
13
|
-
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)}";
|
13
|
+
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)}";
|
14
14
|
|
15
15
|
const PickerColumnInternal = class {
|
16
16
|
constructor(hostRef) {
|
17
17
|
index.registerInstance(this, hostRef);
|
18
18
|
this.ionChange = index.createEvent(this, "ionChange", 7);
|
19
|
-
this.
|
19
|
+
this.isScrolling = false;
|
20
20
|
this.isColumnVisible = false;
|
21
21
|
this.isActive = false;
|
22
22
|
/**
|
@@ -43,12 +43,12 @@ const PickerColumnInternal = class {
|
|
43
43
|
const { el, isColumnVisible } = this;
|
44
44
|
if (isColumnVisible) {
|
45
45
|
// (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
|
46
|
-
const top = target.offsetTop -
|
46
|
+
const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
|
47
47
|
if (el.scrollTop !== top) {
|
48
48
|
el.scroll({
|
49
49
|
top,
|
50
50
|
left: 0,
|
51
|
-
behavior: smooth ? 'smooth' : undefined
|
51
|
+
behavior: smooth ? 'smooth' : undefined,
|
52
52
|
});
|
53
53
|
}
|
54
54
|
}
|
@@ -69,10 +69,27 @@ const PickerColumnInternal = class {
|
|
69
69
|
*/
|
70
70
|
const isColumnActive = inputModeColumn === undefined || inputModeColumn === this.el;
|
71
71
|
if (!useInputMode || !isColumnActive) {
|
72
|
-
this.
|
72
|
+
this.setInputModeActive(false);
|
73
73
|
return;
|
74
74
|
}
|
75
|
-
this.
|
75
|
+
this.setInputModeActive(true);
|
76
|
+
};
|
77
|
+
/**
|
78
|
+
* Setting isActive will cause a re-render.
|
79
|
+
* As a result, we do not want to cause the
|
80
|
+
* re-render mid scroll as this will cause
|
81
|
+
* the picker column to jump back to
|
82
|
+
* whatever value was selected at the
|
83
|
+
* start of the scroll interaction.
|
84
|
+
*/
|
85
|
+
this.setInputModeActive = (state) => {
|
86
|
+
if (this.isScrolling) {
|
87
|
+
this.scrollEndCallback = () => {
|
88
|
+
this.isActive = state;
|
89
|
+
};
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
this.isActive = state;
|
76
93
|
};
|
77
94
|
/**
|
78
95
|
* When the column scrolls, the component
|
@@ -90,21 +107,24 @@ const PickerColumnInternal = class {
|
|
90
107
|
clearTimeout(timeout);
|
91
108
|
timeout = undefined;
|
92
109
|
}
|
93
|
-
if (!this.
|
110
|
+
if (!this.isScrolling) {
|
94
111
|
haptic.hapticSelectionStart();
|
95
|
-
this.
|
112
|
+
this.isScrolling = true;
|
96
113
|
}
|
97
114
|
/**
|
98
115
|
* Select item in the center of the column
|
99
116
|
* which is the month/year that we want to select
|
100
117
|
*/
|
101
118
|
const bbox = el.getBoundingClientRect();
|
102
|
-
const centerX = bbox.x +
|
103
|
-
const centerY = bbox.y +
|
119
|
+
const centerX = bbox.x + bbox.width / 2;
|
120
|
+
const centerY = bbox.y + bbox.height / 2;
|
104
121
|
const activeElement = el.shadowRoot.elementFromPoint(centerX, centerY);
|
105
122
|
if (activeEl !== null) {
|
106
123
|
activeEl.classList.remove(PICKER_COL_ACTIVE);
|
107
124
|
}
|
125
|
+
if (activeElement.disabled) {
|
126
|
+
return;
|
127
|
+
}
|
108
128
|
/**
|
109
129
|
* If we are selecting a new value,
|
110
130
|
* we need to run haptics again.
|
@@ -115,6 +135,19 @@ const PickerColumnInternal = class {
|
|
115
135
|
activeEl = activeElement;
|
116
136
|
activeElement.classList.add(PICKER_COL_ACTIVE);
|
117
137
|
timeout = setTimeout(() => {
|
138
|
+
this.isScrolling = false;
|
139
|
+
haptic.hapticSelectionEnd();
|
140
|
+
/**
|
141
|
+
* Certain tasks (such as those that
|
142
|
+
* cause re-renders) should only be done
|
143
|
+
* once scrolling has finished, otherwise
|
144
|
+
* flickering may occur.
|
145
|
+
*/
|
146
|
+
const { scrollEndCallback } = this;
|
147
|
+
if (scrollEndCallback) {
|
148
|
+
scrollEndCallback();
|
149
|
+
this.scrollEndCallback = undefined;
|
150
|
+
}
|
118
151
|
const dataIndex = activeElement.getAttribute('data-index');
|
119
152
|
/**
|
120
153
|
* If no value it is
|
@@ -128,8 +161,6 @@ const PickerColumnInternal = class {
|
|
128
161
|
const selectedItem = this.items[index];
|
129
162
|
if (selectedItem.value !== this.value) {
|
130
163
|
this.setValue(selectedItem.value);
|
131
|
-
haptic.hapticSelectionEnd();
|
132
|
-
this.hapticsStarted = false;
|
133
164
|
}
|
134
165
|
}, 250);
|
135
166
|
});
|
@@ -146,6 +177,66 @@ const PickerColumnInternal = class {
|
|
146
177
|
});
|
147
178
|
};
|
148
179
|
}
|
180
|
+
itemsChange(currentItems, previousItems) {
|
181
|
+
const { value } = this;
|
182
|
+
/**
|
183
|
+
* When the items change, it is possible for the item
|
184
|
+
* that was selected to no longer exist. In that case, we need
|
185
|
+
* to automatically select the nearest item. If we do not,
|
186
|
+
* then the scroll position will be reset to zero and it will
|
187
|
+
* look like the first item was automatically selected.
|
188
|
+
*
|
189
|
+
* If we cannot find a closest item then we do nothing, and
|
190
|
+
* the browser will reset the scroll position to 0.
|
191
|
+
*/
|
192
|
+
const findCurrentItem = currentItems.find((item) => item.value === value);
|
193
|
+
if (!findCurrentItem) {
|
194
|
+
/**
|
195
|
+
* The default behavior is to assume
|
196
|
+
* that the new set of data is similar to the old
|
197
|
+
* set of data, just with some items filtered out.
|
198
|
+
* We walk backwards through the data to find the
|
199
|
+
* closest enabled picker item and select it.
|
200
|
+
*
|
201
|
+
* Developers can also swap the items out for an entirely
|
202
|
+
* new set of data. In that case, the value we select
|
203
|
+
* here likely will not make much sense. For this use case,
|
204
|
+
* developers should update the `value` prop themselves
|
205
|
+
* when swapping out the data.
|
206
|
+
*/
|
207
|
+
const findPreviousItemIndex = previousItems.findIndex((item) => item.value === value);
|
208
|
+
if (findPreviousItemIndex === -1) {
|
209
|
+
return;
|
210
|
+
}
|
211
|
+
/**
|
212
|
+
* Step through the current items backwards
|
213
|
+
* until we find a neighbor we can select.
|
214
|
+
* We start at the last known location of the
|
215
|
+
* current selected item in order to
|
216
|
+
* account for data that has been added. This
|
217
|
+
* search prioritizes stability in that it
|
218
|
+
* tries to keep the scroll position as close
|
219
|
+
* to where it was before the update.
|
220
|
+
* Before Items: ['a', 'b', 'c'], Selected Value: 'b'
|
221
|
+
* After Items: ['a', 'dog', 'c']
|
222
|
+
* Even though 'dog' is a different item than 'b',
|
223
|
+
* it is the closest item we can select while
|
224
|
+
* preserving the scroll position.
|
225
|
+
*/
|
226
|
+
let nearestItem;
|
227
|
+
for (let i = findPreviousItemIndex; i >= 0; i--) {
|
228
|
+
const item = currentItems[i];
|
229
|
+
if (item !== undefined && item.disabled !== true) {
|
230
|
+
nearestItem = item;
|
231
|
+
break;
|
232
|
+
}
|
233
|
+
}
|
234
|
+
if (nearestItem) {
|
235
|
+
this.setValue(nearestItem.value);
|
236
|
+
return;
|
237
|
+
}
|
238
|
+
}
|
239
|
+
}
|
149
240
|
valueChange() {
|
150
241
|
if (this.isColumnVisible) {
|
151
242
|
/**
|
@@ -185,7 +276,7 @@ const PickerColumnInternal = class {
|
|
185
276
|
}
|
186
277
|
}
|
187
278
|
};
|
188
|
-
new IntersectionObserver(visibleCallback, { threshold: 0.
|
279
|
+
new IntersectionObserver(visibleCallback, { threshold: 0.001 }).observe(this.el);
|
189
280
|
const parentEl = this.el.closest('ion-picker-internal');
|
190
281
|
if (parentEl !== null) {
|
191
282
|
parentEl.addEventListener('ionInputModeChange', (ev) => this.inputModeChange(ev));
|
@@ -217,16 +308,23 @@ const PickerColumnInternal = class {
|
|
217
308
|
this.centerPickerItemInView(activeEl, false);
|
218
309
|
}
|
219
310
|
}
|
220
|
-
|
311
|
+
/**
|
312
|
+
* Sets the value prop and fires the ionChange event.
|
313
|
+
* This is used when we need to fire ionChange from
|
314
|
+
* user-generated events that cannot be caught with normal
|
315
|
+
* input/change event listeners.
|
316
|
+
* @internal
|
317
|
+
*/
|
318
|
+
async setValue(value) {
|
221
319
|
const { items } = this;
|
222
320
|
this.value = value;
|
223
|
-
const findItem = items.find(item => item.value === value);
|
321
|
+
const findItem = items.find((item) => item.value === value && item.disabled !== true);
|
224
322
|
if (findItem) {
|
225
323
|
this.ionChange.emit(findItem);
|
226
324
|
}
|
227
325
|
}
|
228
326
|
get activeItem() {
|
229
|
-
return helpers.getElementRoot(this.el).querySelector(`.picker-item[data-value="${this.value}"]`);
|
327
|
+
return helpers.getElementRoot(this.el).querySelector(`.picker-item[data-value="${this.value}"]:not([disabled])`);
|
230
328
|
}
|
231
329
|
render() {
|
232
330
|
const { items, color, isActive, numericInput } = this;
|
@@ -234,15 +332,19 @@ const PickerColumnInternal = class {
|
|
234
332
|
return (index.h(index.Host, { tabindex: 0, class: theme.createColorClasses(color, {
|
235
333
|
[mode]: true,
|
236
334
|
['picker-column-active']: isActive,
|
237
|
-
['picker-column-numeric-input']: numericInput
|
335
|
+
['picker-column-numeric-input']: numericInput,
|
238
336
|
}) }, index.h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), items.map((item, index$1) => {
|
239
|
-
return (index.h("
|
337
|
+
return (index.h("button", { tabindex: "-1", class: {
|
338
|
+
'picker-item': true,
|
339
|
+
'picker-item-disabled': item.disabled || false,
|
340
|
+
}, "data-value": item.value, "data-index": index$1, onClick: (ev) => {
|
240
341
|
this.centerPickerItemInView(ev.target);
|
241
|
-
} }, item.text));
|
342
|
+
}, disabled: item.disabled }, item.text));
|
242
343
|
}), index.h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty" }, "\u00A0")));
|
243
344
|
}
|
244
345
|
get el() { return index.getElement(this); }
|
245
346
|
static get watchers() { return {
|
347
|
+
"items": ["itemsChange"],
|
246
348
|
"value": ["valueChange"]
|
247
349
|
}; }
|
248
350
|
};
|
@@ -252,9 +354,9 @@ PickerColumnInternal.style = {
|
|
252
354
|
md: pickerColumnInternalMdCss
|
253
355
|
};
|
254
356
|
|
255
|
-
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)}";
|
357
|
+
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)}";
|
256
358
|
|
257
|
-
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%)}";
|
359
|
+
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%)}";
|
258
360
|
|
259
361
|
const PickerInternal = class {
|
260
362
|
constructor(hostRef) {
|
@@ -287,8 +389,7 @@ const PickerInternal = class {
|
|
287
389
|
*/
|
288
390
|
this.onFocusOut = (ev) => {
|
289
391
|
const { relatedTarget } = ev;
|
290
|
-
if (!relatedTarget ||
|
291
|
-
relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl) {
|
392
|
+
if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl)) {
|
292
393
|
this.exitInputMode();
|
293
394
|
}
|
294
395
|
};
|
@@ -407,7 +508,7 @@ const PickerInternal = class {
|
|
407
508
|
* then we should skip multi column input.
|
408
509
|
*/
|
409
510
|
const columns = el.querySelectorAll('ion-picker-column-internal.picker-column-numeric-input');
|
410
|
-
const columnEl =
|
511
|
+
const columnEl = columns.length === 1 ? ev.target : undefined;
|
411
512
|
this.actionOnClick = () => {
|
412
513
|
this.enterInputMode(columnEl);
|
413
514
|
};
|
@@ -508,7 +609,7 @@ const PickerInternal = class {
|
|
508
609
|
if (!inputEl || !inputModeColumn) {
|
509
610
|
return;
|
510
611
|
}
|
511
|
-
const values = inputModeColumn.items;
|
612
|
+
const values = inputModeColumn.items.filter((item) => item.disabled !== true);
|
512
613
|
/**
|
513
614
|
* If users pause for a bit, the search
|
514
615
|
* value should be reset similar to how a
|
@@ -547,7 +648,7 @@ const PickerInternal = class {
|
|
547
648
|
*/
|
548
649
|
const findItemFromCompleteValue = values.find(({ text }) => text.replace(/^0+/, '') === inputEl.value);
|
549
650
|
if (findItemFromCompleteValue) {
|
550
|
-
inputModeColumn.
|
651
|
+
inputModeColumn.setValue(findItemFromCompleteValue.value);
|
551
652
|
return;
|
552
653
|
}
|
553
654
|
/**
|
@@ -567,11 +668,10 @@ const PickerInternal = class {
|
|
567
668
|
* or trailing zeros when looking at the item text.
|
568
669
|
*/
|
569
670
|
this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
|
570
|
-
let item;
|
571
671
|
const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
|
572
|
-
item = colEl.items.find(({ text }) => text.replace(behavior, '') === value);
|
672
|
+
const item = colEl.items.find(({ text, disabled }) => disabled !== true && text.replace(behavior, '') === value);
|
573
673
|
if (item) {
|
574
|
-
colEl.
|
674
|
+
colEl.setValue(item.value);
|
575
675
|
}
|
576
676
|
};
|
577
677
|
this.selectMultiColumn = () => {
|
@@ -579,7 +679,7 @@ const PickerInternal = class {
|
|
579
679
|
if (!inputEl) {
|
580
680
|
return;
|
581
681
|
}
|
582
|
-
const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter(col => col.numericInput);
|
682
|
+
const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter((col) => col.numericInput);
|
583
683
|
const firstColumn = numericPickers[0];
|
584
684
|
const lastColumn = numericPickers[1];
|
585
685
|
let value = inputEl.value;
|
@@ -596,7 +696,7 @@ const PickerInternal = class {
|
|
596
696
|
* at that first.
|
597
697
|
*/
|
598
698
|
const firstCharacter = inputEl.value.substring(0, 1);
|
599
|
-
value =
|
699
|
+
value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
|
600
700
|
this.searchColumn(firstColumn, value);
|
601
701
|
/**
|
602
702
|
* If only checked the first value,
|
@@ -616,14 +716,17 @@ const PickerInternal = class {
|
|
616
716
|
* at that first.
|
617
717
|
*/
|
618
718
|
const firstCharacterAgain = inputEl.value.substring(0, 1);
|
619
|
-
value =
|
719
|
+
value =
|
720
|
+
firstCharacterAgain === '0' || firstCharacterAgain === '1'
|
721
|
+
? inputEl.value.substring(0, 2)
|
722
|
+
: firstCharacterAgain;
|
620
723
|
this.searchColumn(firstColumn, value);
|
621
724
|
/**
|
622
725
|
* If only checked the first value,
|
623
726
|
* we can check the second value
|
624
727
|
* for a match in the minutes column
|
625
728
|
*/
|
626
|
-
minuteValue =
|
729
|
+
minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
|
627
730
|
this.searchColumn(lastColumn, minuteValue, 'end');
|
628
731
|
break;
|
629
732
|
case 4:
|
@@ -634,14 +737,19 @@ const PickerInternal = class {
|
|
634
737
|
* at that first.
|
635
738
|
*/
|
636
739
|
const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
|
637
|
-
value =
|
740
|
+
value =
|
741
|
+
firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
|
742
|
+
? inputEl.value.substring(0, 2)
|
743
|
+
: firstCharacterAgainAgain;
|
638
744
|
this.searchColumn(firstColumn, value);
|
639
745
|
/**
|
640
746
|
* If only checked the first value,
|
641
747
|
* we can check the second value
|
642
748
|
* for a match in the minutes column
|
643
749
|
*/
|
644
|
-
const minuteValueAgain =
|
750
|
+
const minuteValueAgain = value.length === 1
|
751
|
+
? inputEl.value.substring(1, inputEl.value.length)
|
752
|
+
: inputEl.value.substring(2, inputEl.value.length);
|
645
753
|
this.searchColumn(lastColumn, minuteValueAgain, 'end');
|
646
754
|
break;
|
647
755
|
default:
|
@@ -678,7 +786,7 @@ const PickerInternal = class {
|
|
678
786
|
const { useInputMode, inputModeColumn } = this;
|
679
787
|
this.ionInputModeChange.emit({
|
680
788
|
useInputMode,
|
681
|
-
inputModeColumn
|
789
|
+
inputModeColumn,
|
682
790
|
});
|
683
791
|
};
|
684
792
|
}
|
@@ -687,7 +795,7 @@ const PickerInternal = class {
|
|
687
795
|
helpers.getElementRoot(this.el).addEventListener('focusout', this.onFocusOut);
|
688
796
|
}
|
689
797
|
render() {
|
690
|
-
return (index.h(index.Host, { onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, index.h("input", { "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", ref: el => this.inputEl = el, onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), index.h("div", { class: "picker-before" }), index.h("div", { class: "picker-after" }), index.h("div", { class: "picker-highlight", ref: el => this.highlightEl = el }), index.h("slot", null)));
|
798
|
+
return (index.h(index.Host, { onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, index.h("input", { "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), index.h("div", { class: "picker-before" }), index.h("div", { class: "picker-after" }), index.h("div", { class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), index.h("slot", null)));
|
691
799
|
}
|
692
800
|
get el() { return index.getElement(this); }
|
693
801
|
};
|