@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
@@ -0,0 +1,511 @@
|
|
1
|
+
import { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from './index-9db08224.js';
|
2
|
+
import { g as getIonMode } from './ionic-global-293e882b.js';
|
3
|
+
import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-c23a1826.js';
|
4
|
+
import { m as clamp, d as debounceEvent, i as inheritAriaAttributes, k as getAriaLabel, l as renderHiddenInput } from './helpers-94a5855b.js';
|
5
|
+
import { a as printIonWarning } from './index-dad75b83.js';
|
6
|
+
import { i as isRTL } from './dir-03012648.js';
|
7
|
+
import { c as createColorClasses, h as hostContext } from './theme-7ef00c83.js';
|
8
|
+
|
9
|
+
const rangeIosCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:flex;position:relative;flex:3;align-items:center;font-family:var(--ion-font-family, inherit);user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:grab;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){align-self:center}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0 3px 1px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.13), 0 0 0 1px rgba(0, 0, 0, 0.02);--knob-size:28px;--bar-height:2px;--bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@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(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){margin-left:0;margin-right:16px;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted([slot=end]){margin-left:16px;margin-right:0;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-tick{margin-left:-1px;border-radius:0;position:absolute;top:18px;width:2px;height:8px;background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.range-tick{margin-left:unset;-webkit-margin-start:-1px;margin-inline-start:-1px}}.range-tick-active{background:var(--bar-background-active)}.range-pin{transform:translate3d(0, 28px, 0) scale(0.01);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;transition:transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.range-pin{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.range-knob-pressed .range-pin{transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.5}";
|
10
|
+
|
11
|
+
const rangeMdCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:flex;position:relative;flex:3;align-items:center;font-family:var(--ion-font-family, inherit);user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:grab;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){align-self:center}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);padding-left:14px;padding-right:14px;padding-top:8px;padding-bottom:8px;font-size:12px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px}}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}::slotted([slot=end]){margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{transform:scale(0.67);transition-duration:120ms;transition-property:transform, background-color, border;transition-timing-function:ease;z-index:2}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;transition:transform 120ms ease, background 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{left:50%;top:3px;margin-left:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;transform:rotate(-45deg);transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.range-pin::before{margin-left:unset;-webkit-margin-start:-13px;margin-inline-start:-13px}}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset}.range-knob-pressed .range-pin{transform:translate3d(0, -24px, 0) scale(1)}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob{transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}";
|
12
|
+
|
13
|
+
const Range = class {
|
14
|
+
constructor(hostRef) {
|
15
|
+
registerInstance(this, hostRef);
|
16
|
+
this.ionChange = createEvent(this, "ionChange", 7);
|
17
|
+
this.ionStyle = createEvent(this, "ionStyle", 7);
|
18
|
+
this.ionFocus = createEvent(this, "ionFocus", 7);
|
19
|
+
this.ionBlur = createEvent(this, "ionBlur", 7);
|
20
|
+
this.ionKnobMoveStart = createEvent(this, "ionKnobMoveStart", 7);
|
21
|
+
this.ionKnobMoveEnd = createEvent(this, "ionKnobMoveEnd", 7);
|
22
|
+
this.didLoad = false;
|
23
|
+
this.noUpdate = false;
|
24
|
+
this.hasFocus = false;
|
25
|
+
this.inheritedAttributes = {};
|
26
|
+
this.contentEl = null;
|
27
|
+
this.initialContentScrollY = true;
|
28
|
+
this.ratioA = 0;
|
29
|
+
this.ratioB = 0;
|
30
|
+
/**
|
31
|
+
* How long, in milliseconds, to wait to trigger the
|
32
|
+
* `ionChange` event after each change in the range value.
|
33
|
+
* This also impacts form bindings such as `ngModel` or `v-model`.
|
34
|
+
*/
|
35
|
+
this.debounce = 0;
|
36
|
+
// TODO: In Ionic Framework v6 this should initialize to this.rangeId like the other form components do.
|
37
|
+
/**
|
38
|
+
* The name of the control, which is submitted with the form data.
|
39
|
+
*/
|
40
|
+
this.name = '';
|
41
|
+
/**
|
42
|
+
* Show two knobs.
|
43
|
+
*/
|
44
|
+
this.dualKnobs = false;
|
45
|
+
/**
|
46
|
+
* Minimum integer value of the range.
|
47
|
+
*/
|
48
|
+
this.min = 0;
|
49
|
+
/**
|
50
|
+
* Maximum integer value of the range.
|
51
|
+
*/
|
52
|
+
this.max = 100;
|
53
|
+
/**
|
54
|
+
* If `true`, a pin with integer value is shown when the knob
|
55
|
+
* is pressed.
|
56
|
+
*/
|
57
|
+
this.pin = false;
|
58
|
+
/**
|
59
|
+
* A callback used to format the pin text.
|
60
|
+
* By default the pin text is set to `Math.round(value)`.
|
61
|
+
*/
|
62
|
+
this.pinFormatter = (value) => Math.round(value);
|
63
|
+
/**
|
64
|
+
* If `true`, the knob snaps to tick marks evenly spaced based
|
65
|
+
* on the step property value.
|
66
|
+
*/
|
67
|
+
this.snaps = false;
|
68
|
+
/**
|
69
|
+
* Specifies the value granularity.
|
70
|
+
*/
|
71
|
+
this.step = 1;
|
72
|
+
/**
|
73
|
+
* If `true`, tick marks are displayed based on the step value.
|
74
|
+
* Only applies when `snaps` is `true`.
|
75
|
+
*/
|
76
|
+
this.ticks = true;
|
77
|
+
/**
|
78
|
+
* If `true`, the user cannot interact with the range.
|
79
|
+
*/
|
80
|
+
this.disabled = false;
|
81
|
+
/**
|
82
|
+
* the value of the range.
|
83
|
+
*/
|
84
|
+
this.value = 0;
|
85
|
+
this.clampBounds = (value) => {
|
86
|
+
return clamp(this.min, value, this.max);
|
87
|
+
};
|
88
|
+
this.ensureValueInBounds = (value) => {
|
89
|
+
if (this.dualKnobs) {
|
90
|
+
return {
|
91
|
+
lower: this.clampBounds(value.lower),
|
92
|
+
upper: this.clampBounds(value.upper),
|
93
|
+
};
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
return this.clampBounds(value);
|
97
|
+
}
|
98
|
+
};
|
99
|
+
this.setupGesture = async () => {
|
100
|
+
const rangeSlider = this.rangeSlider;
|
101
|
+
if (rangeSlider) {
|
102
|
+
this.gesture = (await import('./index-21661af2.js')).createGesture({
|
103
|
+
el: rangeSlider,
|
104
|
+
gestureName: 'range',
|
105
|
+
gesturePriority: 100,
|
106
|
+
threshold: 0,
|
107
|
+
onStart: (ev) => this.onStart(ev),
|
108
|
+
onMove: (ev) => this.onMove(ev),
|
109
|
+
onEnd: (ev) => this.onEnd(ev),
|
110
|
+
});
|
111
|
+
this.gesture.enable(!this.disabled);
|
112
|
+
}
|
113
|
+
};
|
114
|
+
this.handleKeyboard = (knob, isIncrease) => {
|
115
|
+
const { ensureValueInBounds } = this;
|
116
|
+
let step = this.step;
|
117
|
+
step = step > 0 ? step : 1;
|
118
|
+
step = step / (this.max - this.min);
|
119
|
+
if (!isIncrease) {
|
120
|
+
step *= -1;
|
121
|
+
}
|
122
|
+
if (knob === 'A') {
|
123
|
+
this.ratioA = clamp(0, this.ratioA + step, 1);
|
124
|
+
}
|
125
|
+
else {
|
126
|
+
this.ratioB = clamp(0, this.ratioB + step, 1);
|
127
|
+
}
|
128
|
+
this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
|
129
|
+
this.updateValue();
|
130
|
+
this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
|
131
|
+
};
|
132
|
+
this.onBlur = () => {
|
133
|
+
if (this.hasFocus) {
|
134
|
+
this.hasFocus = false;
|
135
|
+
this.ionBlur.emit();
|
136
|
+
this.emitStyle();
|
137
|
+
}
|
138
|
+
};
|
139
|
+
this.onFocus = () => {
|
140
|
+
if (!this.hasFocus) {
|
141
|
+
this.hasFocus = true;
|
142
|
+
this.ionFocus.emit();
|
143
|
+
this.emitStyle();
|
144
|
+
}
|
145
|
+
};
|
146
|
+
}
|
147
|
+
debounceChanged() {
|
148
|
+
this.ionChange = debounceEvent(this.ionChange, this.debounce);
|
149
|
+
}
|
150
|
+
minChanged() {
|
151
|
+
if (!this.noUpdate) {
|
152
|
+
this.updateRatio();
|
153
|
+
}
|
154
|
+
}
|
155
|
+
maxChanged() {
|
156
|
+
if (!this.noUpdate) {
|
157
|
+
this.updateRatio();
|
158
|
+
}
|
159
|
+
}
|
160
|
+
activeBarStartChanged() {
|
161
|
+
const { activeBarStart } = this;
|
162
|
+
if (activeBarStart !== undefined) {
|
163
|
+
if (activeBarStart > this.max) {
|
164
|
+
printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
|
165
|
+
this.activeBarStart = this.max;
|
166
|
+
}
|
167
|
+
else if (activeBarStart < this.min) {
|
168
|
+
printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
|
169
|
+
this.activeBarStart = this.min;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
173
|
+
disabledChanged() {
|
174
|
+
if (this.gesture) {
|
175
|
+
this.gesture.enable(!this.disabled);
|
176
|
+
}
|
177
|
+
this.emitStyle();
|
178
|
+
}
|
179
|
+
valueChanged(value) {
|
180
|
+
if (!this.noUpdate) {
|
181
|
+
this.updateRatio();
|
182
|
+
}
|
183
|
+
value = this.ensureValueInBounds(value);
|
184
|
+
this.ionChange.emit({ value });
|
185
|
+
}
|
186
|
+
componentWillLoad() {
|
187
|
+
/**
|
188
|
+
* If user has custom ID set then we should
|
189
|
+
* not assign the default incrementing ID.
|
190
|
+
*/
|
191
|
+
this.rangeId = this.el.hasAttribute('id') ? this.el.getAttribute('id') : `ion-r-${rangeIds++}`;
|
192
|
+
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
193
|
+
}
|
194
|
+
componentDidLoad() {
|
195
|
+
this.setupGesture();
|
196
|
+
this.didLoad = true;
|
197
|
+
}
|
198
|
+
connectedCallback() {
|
199
|
+
this.updateRatio();
|
200
|
+
this.debounceChanged();
|
201
|
+
this.disabledChanged();
|
202
|
+
this.activeBarStartChanged();
|
203
|
+
/**
|
204
|
+
* If we have not yet rendered
|
205
|
+
* ion-range, then rangeSlider is not defined.
|
206
|
+
* But if we are moving ion-range via appendChild,
|
207
|
+
* then rangeSlider will be defined.
|
208
|
+
*/
|
209
|
+
if (this.didLoad) {
|
210
|
+
this.setupGesture();
|
211
|
+
}
|
212
|
+
this.contentEl = findClosestIonContent(this.el);
|
213
|
+
}
|
214
|
+
disconnectedCallback() {
|
215
|
+
if (this.gesture) {
|
216
|
+
this.gesture.destroy();
|
217
|
+
this.gesture = undefined;
|
218
|
+
}
|
219
|
+
}
|
220
|
+
getValue() {
|
221
|
+
const value = this.value || 0;
|
222
|
+
if (this.dualKnobs) {
|
223
|
+
if (typeof value === 'object') {
|
224
|
+
return value;
|
225
|
+
}
|
226
|
+
return {
|
227
|
+
lower: 0,
|
228
|
+
upper: value,
|
229
|
+
};
|
230
|
+
}
|
231
|
+
else {
|
232
|
+
if (typeof value === 'object') {
|
233
|
+
return value.upper;
|
234
|
+
}
|
235
|
+
return value;
|
236
|
+
}
|
237
|
+
}
|
238
|
+
emitStyle() {
|
239
|
+
this.ionStyle.emit({
|
240
|
+
interactive: true,
|
241
|
+
'interactive-disabled': this.disabled,
|
242
|
+
});
|
243
|
+
}
|
244
|
+
onStart(detail) {
|
245
|
+
const { contentEl } = this;
|
246
|
+
if (contentEl) {
|
247
|
+
this.initialContentScrollY = disableContentScrollY(contentEl);
|
248
|
+
}
|
249
|
+
const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
|
250
|
+
const currentX = detail.currentX;
|
251
|
+
// figure out which knob they started closer to
|
252
|
+
let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
|
253
|
+
if (isRTL(this.el)) {
|
254
|
+
ratio = 1 - ratio;
|
255
|
+
}
|
256
|
+
this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
|
257
|
+
this.setFocus(this.pressedKnob);
|
258
|
+
// update the active knob's position
|
259
|
+
this.update(currentX);
|
260
|
+
this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
|
261
|
+
}
|
262
|
+
onMove(detail) {
|
263
|
+
this.update(detail.currentX);
|
264
|
+
}
|
265
|
+
onEnd(detail) {
|
266
|
+
const { contentEl, initialContentScrollY } = this;
|
267
|
+
if (contentEl) {
|
268
|
+
resetContentScrollY(contentEl, initialContentScrollY);
|
269
|
+
}
|
270
|
+
this.update(detail.currentX);
|
271
|
+
this.pressedKnob = undefined;
|
272
|
+
this.ionKnobMoveEnd.emit({ value: this.ensureValueInBounds(this.value) });
|
273
|
+
}
|
274
|
+
update(currentX) {
|
275
|
+
// figure out where the pointer is currently at
|
276
|
+
// update the knob being interacted with
|
277
|
+
const rect = this.rect;
|
278
|
+
let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
|
279
|
+
if (isRTL(this.el)) {
|
280
|
+
ratio = 1 - ratio;
|
281
|
+
}
|
282
|
+
if (this.snaps) {
|
283
|
+
// snaps the ratio to the current value
|
284
|
+
ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max);
|
285
|
+
}
|
286
|
+
// update which knob is pressed
|
287
|
+
if (this.pressedKnob === 'A') {
|
288
|
+
this.ratioA = ratio;
|
289
|
+
}
|
290
|
+
else {
|
291
|
+
this.ratioB = ratio;
|
292
|
+
}
|
293
|
+
// Update input value
|
294
|
+
this.updateValue();
|
295
|
+
}
|
296
|
+
get valA() {
|
297
|
+
return ratioToValue(this.ratioA, this.min, this.max, this.step);
|
298
|
+
}
|
299
|
+
get valB() {
|
300
|
+
return ratioToValue(this.ratioB, this.min, this.max, this.step);
|
301
|
+
}
|
302
|
+
get ratioLower() {
|
303
|
+
if (this.dualKnobs) {
|
304
|
+
return Math.min(this.ratioA, this.ratioB);
|
305
|
+
}
|
306
|
+
const { activeBarStart } = this;
|
307
|
+
if (activeBarStart == null) {
|
308
|
+
return 0;
|
309
|
+
}
|
310
|
+
return valueToRatio(activeBarStart, this.min, this.max);
|
311
|
+
}
|
312
|
+
get ratioUpper() {
|
313
|
+
if (this.dualKnobs) {
|
314
|
+
return Math.max(this.ratioA, this.ratioB);
|
315
|
+
}
|
316
|
+
return this.ratioA;
|
317
|
+
}
|
318
|
+
updateRatio() {
|
319
|
+
const value = this.getValue();
|
320
|
+
const { min, max } = this;
|
321
|
+
if (this.dualKnobs) {
|
322
|
+
this.ratioA = valueToRatio(value.lower, min, max);
|
323
|
+
this.ratioB = valueToRatio(value.upper, min, max);
|
324
|
+
}
|
325
|
+
else {
|
326
|
+
this.ratioA = valueToRatio(value, min, max);
|
327
|
+
}
|
328
|
+
}
|
329
|
+
updateValue() {
|
330
|
+
this.noUpdate = true;
|
331
|
+
const { valA, valB } = this;
|
332
|
+
this.value = !this.dualKnobs
|
333
|
+
? valA
|
334
|
+
: {
|
335
|
+
lower: Math.min(valA, valB),
|
336
|
+
upper: Math.max(valA, valB),
|
337
|
+
};
|
338
|
+
this.noUpdate = false;
|
339
|
+
}
|
340
|
+
setFocus(knob) {
|
341
|
+
if (this.el.shadowRoot) {
|
342
|
+
const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');
|
343
|
+
if (knobEl) {
|
344
|
+
knobEl.focus();
|
345
|
+
}
|
346
|
+
}
|
347
|
+
}
|
348
|
+
render() {
|
349
|
+
var _a;
|
350
|
+
const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper, inheritedAttributes, rangeId, pinFormatter, } = this;
|
351
|
+
/**
|
352
|
+
* Look for external label, ion-label, or aria-labelledby.
|
353
|
+
* If none, see if user placed an aria-label on the host
|
354
|
+
* and use that instead.
|
355
|
+
*/
|
356
|
+
let { labelText } = getAriaLabel(el, rangeId);
|
357
|
+
if (labelText === undefined || labelText === null) {
|
358
|
+
labelText = inheritedAttributes['aria-label'];
|
359
|
+
}
|
360
|
+
const mode = getIonMode(this);
|
361
|
+
let barStart = `${ratioLower * 100}%`;
|
362
|
+
let barEnd = `${100 - ratioUpper * 100}%`;
|
363
|
+
const rtl = isRTL(this.el);
|
364
|
+
const start = rtl ? 'right' : 'left';
|
365
|
+
const end = rtl ? 'left' : 'right';
|
366
|
+
const tickStyle = (tick) => {
|
367
|
+
return {
|
368
|
+
[start]: tick[start],
|
369
|
+
};
|
370
|
+
};
|
371
|
+
if (this.dualKnobs === false) {
|
372
|
+
/**
|
373
|
+
* When the value is less than the activeBarStart or the min value,
|
374
|
+
* the knob will display at the start of the active bar.
|
375
|
+
*/
|
376
|
+
if (this.valA < ((_a = this.activeBarStart) !== null && _a !== void 0 ? _a : this.min)) {
|
377
|
+
/**
|
378
|
+
* Sets the bar positions relative to the upper and lower limits.
|
379
|
+
* Converts the ratio values into percentages, used as offsets for left/right styles.
|
380
|
+
*
|
381
|
+
* The ratioUpper refers to the knob position on the bar.
|
382
|
+
* The ratioLower refers to the end position of the active bar (the value).
|
383
|
+
*/
|
384
|
+
barStart = `${ratioUpper * 100}%`;
|
385
|
+
barEnd = `${100 - ratioLower * 100}%`;
|
386
|
+
}
|
387
|
+
else {
|
388
|
+
/**
|
389
|
+
* Otherwise, the knob will display at the end of the active bar.
|
390
|
+
*
|
391
|
+
* The ratioLower refers to the start position of the active bar (the value).
|
392
|
+
* The ratioUpper refers to the knob position on the bar.
|
393
|
+
*/
|
394
|
+
barStart = `${ratioLower * 100}%`;
|
395
|
+
barEnd = `${100 - ratioUpper * 100}%`;
|
396
|
+
}
|
397
|
+
}
|
398
|
+
const barStyle = {
|
399
|
+
[start]: barStart,
|
400
|
+
[end]: barEnd,
|
401
|
+
};
|
402
|
+
const ticks = [];
|
403
|
+
if (this.snaps && this.ticks) {
|
404
|
+
for (let value = min; value <= max; value += step) {
|
405
|
+
const ratio = valueToRatio(value, min, max);
|
406
|
+
const ratioMin = Math.min(ratioLower, ratioUpper);
|
407
|
+
const ratioMax = Math.max(ratioLower, ratioUpper);
|
408
|
+
const tick = {
|
409
|
+
ratio,
|
410
|
+
/**
|
411
|
+
* Sets the tick mark as active when the tick is between the min bounds and the knob.
|
412
|
+
* When using activeBarStart, the tick mark will be active between the knob and activeBarStart.
|
413
|
+
*/
|
414
|
+
active: ratio >= ratioMin && ratio <= ratioMax,
|
415
|
+
};
|
416
|
+
tick[start] = `${ratio * 100}%`;
|
417
|
+
ticks.push(tick);
|
418
|
+
}
|
419
|
+
}
|
420
|
+
renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
|
421
|
+
return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
|
422
|
+
[mode]: true,
|
423
|
+
'in-item': hostContext('ion-item', el),
|
424
|
+
'range-disabled': disabled,
|
425
|
+
'range-pressed': pressedKnob !== undefined,
|
426
|
+
'range-has-pin': pin,
|
427
|
+
}) }, h("slot", { name: "start" }), h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl) }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
|
428
|
+
'range-tick': true,
|
429
|
+
'range-tick-active': tick.active,
|
430
|
+
}, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar", role: "presentation", part: "bar" }), h("div", { class: "range-bar range-bar-active", role: "presentation", style: barStyle, part: "bar-active" }), renderKnob(rtl, {
|
431
|
+
knob: 'A',
|
432
|
+
pressed: pressedKnob === 'A',
|
433
|
+
value: this.valA,
|
434
|
+
ratio: this.ratioA,
|
435
|
+
pin,
|
436
|
+
pinFormatter,
|
437
|
+
disabled,
|
438
|
+
handleKeyboard,
|
439
|
+
min,
|
440
|
+
max,
|
441
|
+
labelText,
|
442
|
+
}), this.dualKnobs &&
|
443
|
+
renderKnob(rtl, {
|
444
|
+
knob: 'B',
|
445
|
+
pressed: pressedKnob === 'B',
|
446
|
+
value: this.valB,
|
447
|
+
ratio: this.ratioB,
|
448
|
+
pin,
|
449
|
+
pinFormatter,
|
450
|
+
disabled,
|
451
|
+
handleKeyboard,
|
452
|
+
min,
|
453
|
+
max,
|
454
|
+
labelText,
|
455
|
+
})), h("slot", { name: "end" })));
|
456
|
+
}
|
457
|
+
get el() { return getElement(this); }
|
458
|
+
static get watchers() { return {
|
459
|
+
"debounce": ["debounceChanged"],
|
460
|
+
"min": ["minChanged"],
|
461
|
+
"max": ["maxChanged"],
|
462
|
+
"activeBarStart": ["activeBarStartChanged"],
|
463
|
+
"disabled": ["disabledChanged"],
|
464
|
+
"value": ["valueChanged"]
|
465
|
+
}; }
|
466
|
+
};
|
467
|
+
const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard, labelText, pinFormatter }) => {
|
468
|
+
const start = rtl ? 'right' : 'left';
|
469
|
+
const knobStyle = () => {
|
470
|
+
const style = {};
|
471
|
+
style[start] = `${ratio * 100}%`;
|
472
|
+
return style;
|
473
|
+
};
|
474
|
+
return (h("div", { onKeyDown: (ev) => {
|
475
|
+
const key = ev.key;
|
476
|
+
if (key === 'ArrowLeft' || key === 'ArrowDown') {
|
477
|
+
handleKeyboard(knob, false);
|
478
|
+
ev.preventDefault();
|
479
|
+
ev.stopPropagation();
|
480
|
+
}
|
481
|
+
else if (key === 'ArrowRight' || key === 'ArrowUp') {
|
482
|
+
handleKeyboard(knob, true);
|
483
|
+
ev.preventDefault();
|
484
|
+
ev.stopPropagation();
|
485
|
+
}
|
486
|
+
}, class: {
|
487
|
+
'range-knob-handle': true,
|
488
|
+
'range-knob-a': knob === 'A',
|
489
|
+
'range-knob-b': knob === 'B',
|
490
|
+
'range-knob-pressed': pressed,
|
491
|
+
'range-knob-min': value === min,
|
492
|
+
'range-knob-max': value === max,
|
493
|
+
}, style: knobStyle(), role: "slider", tabindex: disabled ? -1 : 0, "aria-label": labelText, "aria-valuemin": min, "aria-valuemax": max, "aria-disabled": disabled ? 'true' : null, "aria-valuenow": value }, pin && (h("div", { class: "range-pin", role: "presentation", part: "pin" }, pinFormatter(value))), h("div", { class: "range-knob", role: "presentation", part: "knob" })));
|
494
|
+
};
|
495
|
+
const ratioToValue = (ratio, min, max, step) => {
|
496
|
+
let value = (max - min) * ratio;
|
497
|
+
if (step > 0) {
|
498
|
+
value = Math.round(value / step) * step + min;
|
499
|
+
}
|
500
|
+
return clamp(min, value, max);
|
501
|
+
};
|
502
|
+
const valueToRatio = (value, min, max) => {
|
503
|
+
return clamp(0, (value - min) / (max - min), 1);
|
504
|
+
};
|
505
|
+
let rangeIds = 0;
|
506
|
+
Range.style = {
|
507
|
+
ios: rangeIosCss,
|
508
|
+
md: rangeMdCss
|
509
|
+
};
|
510
|
+
|
511
|
+
export { Range as ion_range };
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { r as registerInstance, h, H as Host,
|
2
|
-
import {
|
3
|
-
import { g as getIonMode, c as config, a as isPlatform } from './ionic-global-
|
4
|
-
import { s as sanitizeDOMString } from './index-
|
5
|
-
import { S as SPINNERS } from './spinner-configs-
|
1
|
+
import { r as registerInstance, h, H as Host, i as getElement } from './index-9db08224.js';
|
2
|
+
import { l as caretBackSharp, n as arrowDown } from './index-4ec6b9c2.js';
|
3
|
+
import { g as getIonMode, c as config, a as isPlatform } from './ionic-global-293e882b.js';
|
4
|
+
import { s as sanitizeDOMString } from './index-be6112f8.js';
|
5
|
+
import { S as SPINNERS } from './spinner-configs-a37e628a.js';
|
6
6
|
|
7
7
|
const RefresherContent = class {
|
8
8
|
constructor(hostRef) {
|
@@ -23,13 +23,7 @@ const RefresherContent = class {
|
|
23
23
|
const pullingIcon = this.pullingIcon;
|
24
24
|
const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
|
25
25
|
const mode = getIonMode(this);
|
26
|
-
return (h(Host, { class: mode }, h("div", { class: "refresher-pulling" }, this.pullingIcon && hasSpinner &&
|
27
|
-
h("div", { class: "refresher-pulling-icon" }, h("div", { class: "spinner-arrow-container" }, h("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' &&
|
28
|
-
h("div", { class: "arrow-container" }, h("ion-icon", { icon: caretBackSharp })))), this.pullingIcon && !hasSpinner &&
|
29
|
-
h("div", { class: "refresher-pulling-icon" }, h("ion-icon", { icon: this.pullingIcon, lazy: false })), this.pullingText &&
|
30
|
-
h("div", { class: "refresher-pulling-text", innerHTML: sanitizeDOMString(this.pullingText) })), h("div", { class: "refresher-refreshing" }, this.refreshingSpinner &&
|
31
|
-
h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner })), this.refreshingText &&
|
32
|
-
h("div", { class: "refresher-refreshing-text", innerHTML: sanitizeDOMString(this.refreshingText) }))));
|
26
|
+
return (h(Host, { class: mode }, h("div", { class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("div", { class: "spinner-arrow-container" }, h("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { class: "arrow-container" }, h("ion-icon", { icon: caretBackSharp })))))), this.pullingIcon && !hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("ion-icon", { icon: this.pullingIcon, lazy: false }))), this.pullingText && (h("div", { class: "refresher-pulling-text", innerHTML: sanitizeDOMString(this.pullingText) }))), h("div", { class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner }))), this.refreshingText && (h("div", { class: "refresher-refreshing-text", innerHTML: sanitizeDOMString(this.refreshingText) })))));
|
33
27
|
}
|
34
28
|
get el() { return getElement(this); }
|
35
29
|
};
|