@sparkle-learning/core 0.0.43 → 0.0.46

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.
Files changed (40) hide show
  1. package/dist/cjs/header-mobile-collapse_61.cjs.entry.js +10 -110
  2. package/dist/cjs/{icons-c61db785.js → icons-fda820af.js} +0 -0
  3. package/dist/cjs/sparkle-animation-player.cjs.entry.js +0 -1
  4. package/dist/cjs/sparkle-code.cjs.entry.js +1 -1
  5. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +1 -1
  6. package/dist/collection/components/sparkle-animation-player/sparkle-animation-player.js +0 -1
  7. package/dist/collection/components/sparkle-root/sparkle-root.css +3 -0
  8. package/dist/esm/header-mobile-collapse_61.entry.js +12 -112
  9. package/dist/esm/{icons-9b62a1ec.js → icons-1c794c74.js} +0 -0
  10. package/dist/esm/sparkle-animation-player.entry.js +0 -1
  11. package/dist/esm/sparkle-code.entry.js +1 -1
  12. package/dist/esm/sparkle-menu-collapsible.entry.js +1 -1
  13. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/button/button.css +49 -0
  14. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/card/card.css +208 -0
  15. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/cards.css +31 -0
  16. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/code/code.css +245 -0
  17. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/dropdown/dropdown.css +115 -0
  18. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header-mobile-collapse/header-mobile-collapse.css +255 -0
  19. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header.css +232 -0
  20. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/collapsible/collapsible.css +3 -0
  21. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu-toggle/menu-toggle.css +25 -0
  22. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu.css +71 -0
  23. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/nav/nav.css +194 -0
  24. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/notfound-page/notfound-page.css +4 -0
  25. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/overlay/overlay.css +67 -0
  26. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/page-footer/page-footer.css +18 -0
  27. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/pagination/pagination.css +93 -0
  28. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/select/select.css +52 -0
  29. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sidebar/sidebar.css +98 -0
  30. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sparkle-lower-content-nav/sparkle-lower-content-nav.css +8 -0
  31. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/table-of-contents/table-of-contents.css +37 -0
  32. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/tabs/tabs.css +64 -0
  33. package/dist/sparkle-core/{p-0fa3fd63.entry.js → p-11a6c175.entry.js} +1 -1
  34. package/dist/sparkle-core/p-41a9ece7.entry.js +1 -0
  35. package/dist/sparkle-core/{p-a102341e.entry.js → p-957715c5.entry.js} +1 -1
  36. package/dist/sparkle-core/{p-b401b101.entry.js → p-a465598d.entry.js} +26 -30
  37. package/dist/sparkle-core/{p-e8073714.js → p-cabe9139.js} +0 -0
  38. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  39. package/package.json +2 -2
  40. package/dist/sparkle-core/p-18cdd458.entry.js +0 -1
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-51e8292e.js');
6
- const icons = require('./icons-c61db785.js');
6
+ const icons = require('./icons-fda820af.js');
7
7
  const ionicGlobal = require('./ionic-global-2cde9d3a.js');
8
8
  const helpers = require('./helpers-c2496722.js');
9
9
  const theme = require('./theme-b0b295c1.js');
@@ -16601,111 +16601,7 @@ const SparklePageFooter = class {
16601
16601
  };
16602
16602
  SparklePageFooter.style = pageFooterCss;
16603
16603
 
16604
- /*!
16605
- * (C) Ionic http://ionicframework.com - MIT License
16606
- */
16607
- /**
16608
- * Waits for a component to be ready for
16609
- * both custom element and non-custom element builds.
16610
- * If non-custom element build, el.componentOnReady
16611
- * will be used.
16612
- * For custom element builds, we wait a frame
16613
- * so that the inner contents of the component
16614
- * have a chance to render.
16615
- *
16616
- * Use this utility rather than calling
16617
- * el.componentOnReady yourself.
16618
- */
16619
- const componentOnReady = (el, callback) => {
16620
- if (el.componentOnReady) {
16621
- el.componentOnReady().then((resolvedEl) => callback(resolvedEl));
16622
- }
16623
- else {
16624
- raf(() => callback(el));
16625
- }
16626
- };
16627
- /**
16628
- * Patched version of requestAnimationFrame that avoids ngzone
16629
- * Use only when you know ngzone should not run
16630
- */
16631
- const raf = (h) => {
16632
- if (typeof __zone_symbol__requestAnimationFrame === 'function') {
16633
- return __zone_symbol__requestAnimationFrame(h);
16634
- }
16635
- if (typeof requestAnimationFrame === 'function') {
16636
- return requestAnimationFrame(h);
16637
- }
16638
- return setTimeout(h);
16639
- };
16640
-
16641
- /*!
16642
- * (C) Ionic http://ionicframework.com - MIT License
16643
- */
16644
- const createController = (tagName) => {
16645
- return {
16646
- create(options) {
16647
- return createOverlay(tagName, options);
16648
- },
16649
- dismiss(data, role, id) {
16650
- return dismissOverlay(document, data, role, tagName, id);
16651
- },
16652
- async getTop() {
16653
- return getOverlay(document, tagName);
16654
- }
16655
- };
16656
- };
16657
- const toastController = /*@__PURE__*/ createController('ion-toast');
16658
- const createOverlay = (tagName, opts) => {
16659
- /* tslint:disable-next-line */
16660
- if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
16661
- return window.customElements.whenDefined(tagName).then(() => {
16662
- const element = document.createElement(tagName);
16663
- element.classList.add('overlay-hidden');
16664
- /**
16665
- * Convert the passed in overlay options into props
16666
- * that get passed down into the new overlay.
16667
- */
16668
- Object.assign(element, Object.assign(Object.assign({}, opts), { hasController: true }));
16669
- // append the overlay element to the document body
16670
- getAppRoot(document).appendChild(element);
16671
- return new Promise(resolve => componentOnReady(element, resolve));
16672
- });
16673
- }
16674
- return Promise.resolve();
16675
- };
16676
- const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
16677
- const dismissOverlay = (doc, data, role, overlayTag, id) => {
16678
- const overlay = getOverlay(doc, overlayTag, id);
16679
- if (!overlay) {
16680
- return Promise.reject('overlay does not exist');
16681
- }
16682
- return overlay.dismiss(data, role);
16683
- };
16684
- const getOverlays = (doc, selector) => {
16685
- if (selector === undefined) {
16686
- selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
16687
- }
16688
- return Array.from(doc.querySelectorAll(selector))
16689
- .filter(c => c.overlayIndex > 0);
16690
- };
16691
- /**
16692
- * Returns an overlay element
16693
- * @param doc The document to find the element within.
16694
- * @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
16695
- * @param id The unique identifier for the overlay instance.
16696
- * @returns The overlay element or `undefined` if no overlay element is found.
16697
- */
16698
- const getOverlay = (doc, overlayTag, id) => {
16699
- const overlays = getOverlays(doc, overlayTag).filter(o => !isOverlayHidden(o));
16700
- return (id === undefined)
16701
- ? overlays[overlays.length - 1]
16702
- : overlays.find(o => o.id === id);
16703
- };
16704
- const getAppRoot = (doc) => {
16705
- return doc.querySelector('ion-app') || doc.body;
16706
- };
16707
-
16708
- const paginationCss = "sparkle-pagination{border-color:var(--line-rule-color);border-style:solid;border-width:0 0 1px;display:flex;flex-wrap:wrap-reverse;padding:var(--page-padding, 2rem 0rem) 0}sparkle-pagination .next,sparkle-pagination .previous{max-width:100%;overflow:hidden}sparkle-pagination .next{margin-left:auto}sparkle-pagination a{border-radius:4px;display:flex;align-items:flex-start;flex-direction:column;padding:1em 1.5em;color:rgb(var(--accent-color-rgb))}sparkle-pagination .previous a{padding-left:0}sparkle-pagination .next a{padding-right:0;align-items:flex-end}@media (max-width: 700px){sparkle-pagination .previous a{padding-right:.5rem}sparkle-pagination .next a{padding-left:.5rem}}@media (hover: hover){sparkle-pagination a:hover,sparkle-pagination a:active{filter:brightness(0.8)}}sparkle-pagination .pagination__title{color:var(--text-color--lighter);font-size:12px;display:block}sparkle-pagination .pagination__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;color:var(--ion-color-sparkle)}sparkle-pagination span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sparkle-pagination svg{fill:currentColor;flex:none;height:1em;margin-bottom:-0.125em;width:1em}sparkle-pagination .next svg{margin-left:0.5em}sparkle-pagination .previous svg{margin-right:0.5em}";
16604
+ const paginationCss = "sparkle-pagination{border-color:var(--line-rule-color);border-style:solid;border-width:0 0 1px;display:flex;flex-wrap:wrap-reverse;padding:var(--page-padding, 2rem 0rem) 0}sparkle-pagination .next,sparkle-pagination .previous{max-width:100%;overflow:hidden}sparkle-pagination .next{margin-left:auto}sparkle-pagination a{border-radius:4px;display:flex;align-items:flex-start;flex-direction:column;padding:1em 1.5em;color:rgb(var(--accent-color-rgb))}sparkle-pagination .previous a{padding-left:0}sparkle-pagination .next a{padding-right:0;align-items:flex-end}@media (max-width: 700px){sparkle-pagination .previous a{padding-right:0.5rem}sparkle-pagination .next a{padding-left:0.5rem}}@media (hover: hover){sparkle-pagination a:hover,sparkle-pagination a:active{filter:brightness(0.8)}}sparkle-pagination .pagination__title{color:var(--text-color--lighter);font-size:12px;display:block}sparkle-pagination .pagination__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;color:var(--ion-color-sparkle)}sparkle-pagination span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sparkle-pagination svg{fill:currentColor;flex:none;height:1em;margin-bottom:-0.125em;width:1em}sparkle-pagination .next svg{margin-left:0.5em}sparkle-pagination .previous svg{margin-right:0.5em}.completed-toast{z-index:999999999999999999999999999 !important}";
16709
16605
 
16710
16606
  const SparklePagination = class {
16711
16607
  constructor(hostRef) {
@@ -16713,16 +16609,20 @@ const SparklePagination = class {
16713
16609
  this.page = { title: null, path: null, body: null, pageInfo: null };
16714
16610
  }
16715
16611
  async presentToast() {
16716
- const toast = await toastController.create({
16612
+ console.log('showToast');
16613
+ const toast = await overlays.toastController.create({
16717
16614
  message: 'Lesson Completed.',
16718
16615
  duration: 3000,
16616
+ cssClass: "completed-toast"
16719
16617
  });
16720
16618
  toast.present();
16721
16619
  }
16722
16620
  async presentToastLastSession() {
16723
- const toast = await toastController.create({
16621
+ console.log('showToast');
16622
+ const toast = await overlays.toastController.create({
16724
16623
  message: 'Session Completed',
16725
16624
  duration: 3000,
16625
+ cssClass: "completed-toast"
16726
16626
  });
16727
16627
  toast.present();
16728
16628
  }
@@ -16742,7 +16642,7 @@ const SparklePagination = class {
16742
16642
  links.push(index.h("stencil-route-link", { onClick: () => this.presentToastLastSession(), url: nextUrl, key: "next", class: "next", anchorTitle: nextText }, index.h("div", { class: "pagination__title" }, "Next"), index.h("div", { class: "pagination__text" }, index.h("span", null, nextText), index.h(icons.ForwardArrow, null))));
16743
16643
  }
16744
16644
  else {
16745
- links.push(index.h("stencil-route-link", { url: nextUrl, key: "next", class: "next", anchorTitle: nextText }, index.h("div", { class: "pagination__title" }, "Next"), index.h("div", { class: "pagination__text" }, index.h("span", null, nextText), index.h(icons.ForwardArrow, null))));
16645
+ links.push(index.h("stencil-route-link", { onClick: () => this.presentToastLastSession(), url: nextUrl, key: "next", class: "next", anchorTitle: nextText }, index.h("div", { class: "pagination__title" }, "Next"), index.h("div", { class: "pagination__text" }, index.h("span", null, nextText), index.h(icons.ForwardArrow, null))));
16746
16646
  }
16747
16647
  }
16748
16648
  return links;
@@ -16825,7 +16725,7 @@ const SparkleResetPassword = class {
16825
16725
  };
16826
16726
  SparkleResetPassword.style = sparkleResetPasswordCss;
16827
16727
 
16828
- const sparkleRootCss = ":root{--page-padding:2rem 0}sparkle-root{overflow-y:auto}.Layout{display:flex;overflow-x:hidden}.Layout>stencil-route,.Layout>stencil-route-switch{width:100%}.Layout.is-menu-toggled{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-margin-left:0}@media (max-width: 768px){.Layout{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-padding:1.5rem;--page-margin-left:0}.Layout.is-menu-toggled{--menu-transform:none;--page-transform:translateX(var(--menu-width))}.Layout.is-menu-toggled sparkle-page>*{opacity:0.2;pointer-events:none}body.scroll-lock{overflow-y:hidden}}#messagesList{display:grid;font-size:12px;font-weight:bold;grid-template-columns:1fr minmax(0, var(--page-width, 720px)) 1fr;line-height:2;margin-left:var(--page-margin-left);margin-top:var(--header-height);overflow-x:hidden;transform:var(--page-transform, none);margin-top:56px;padding:4px;background:#e50739;color:#fff}";
16728
+ const sparkleRootCss = ":root{--page-padding:2rem 0}sparkle-root{overflow-y:auto}.Layout{display:flex;overflow-x:hidden}.Layout>stencil-route,.Layout>stencil-route-switch{width:100%}.Layout.is-menu-toggled{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-margin-left:0}@media (max-width: 768px){.Layout{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-padding:1.5rem;--page-margin-left:0}.Layout.is-menu-toggled{--menu-transform:none;--page-transform:translateX(var(--menu-width))}.Layout.is-menu-toggled sparkle-page>*{opacity:0.2;pointer-events:none}body.scroll-lock{overflow-y:hidden}}#messagesList{display:grid;font-size:12px;font-weight:bold;grid-template-columns:1fr minmax(0, var(--page-width, 720px)) 1fr;line-height:2;margin-left:var(--page-margin-left);margin-top:var(--header-height);overflow-x:hidden;transform:var(--page-transform, none);margin-top:56px;padding:4px;background:#e50739;color:#fff}ion-toast{z-index:600000001}";
16829
16729
 
16830
16730
  const SparkleRoot = class {
16831
16731
  constructor(hostRef) {
@@ -384,7 +384,6 @@ const SparkleAnimationPlayer = class {
384
384
  this.captionText = this.captionData[Math.floor(this.timeline.position / this.library.properties.fps)];
385
385
  }
386
386
  if (this.timeline.position % 10 == 0) {
387
- console.log(this.timeline.duration - 10, this.timeline.position);
388
387
  if (this.timeline.position > (this.timeline.duration - 10)) {
389
388
  this.animationCompleted();
390
389
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-51e8292e.js');
6
- const icons = require('./icons-c61db785.js');
6
+ const icons = require('./icons-fda820af.js');
7
7
 
8
8
  const codeCss = "code[class*=\"language-\"],pre[class*=\"language-\"]{color:#4d4d4c;background:none;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=\"language-\"],:not(pre)>code[class*=\"language-\"]{background:hsl(30, 20%, 25%)}pre[class*=\"language-\"]{padding:1em;margin:.5em 0;overflow:auto;border:.3em solid hsl(30, 20%, 40%);border-radius:.5em;box-shadow:1px 1px .5em black inset}:not(pre)>code[class*=\"language-\"]{padding:.15em .2em .05em;border-radius:.3em;border:.13em solid hsl(30, 20%, 40%);box-shadow:1px 1px .3em -.1em black inset;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8c9296}.token.punctuation{opacity:.7}.namespace{opacity:.7}.token.tag{color:#91c5ff}.token.tag .token.tag{color:#2b90ff}.token.property,.token.attr-name,.token.boolean,.token.number,.token.constant,.token.symbol{color:#8454ff}.token.selector,.token.char,.token.function,.token.builtin,.token.inserted{color:#ff6810}.token.operator,.token.string,.token.entity,.token.url,.token.attr-value,.language-css .token.string,.style .token.string,.token.variable{color:#42b983}.token.atrule{color:#ffbb01}.token.regex,.token.keyword,.token.important{color:#f55073}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.token.deleted{color:red}sparkle-code[language=\"shell\"]>pre{background-color:var(--text-color--dark);border-radius:7px}sparkle-code[language=\"shell\"]:before{display:none}sparkle-code[language=\"shell\"] code{color:rgba(255, 255, 255, 0.7);font-size:13px}sparkle-code[language=\"shell\"] .token{color:inherit}sparkle-code[language=\"shell\"] .token.prompt{color:#fb96f9;user-select:none}sparkle-code[language=\"shell\"] .token.comment{color:rgba(255, 255, 255, 0.45)}sparkle-code{display:block;position:relative}sparkle-code:before{color:#bdc5d1;content:attr(language);font-family:var(--code-font-family);font-size:10px;letter-spacing:0.05em;line-height:1;padding:0.75em;position:absolute;right:0;text-transform:uppercase;top:0}sparkle-code[language=\"shell\"] pre{white-space:pre-wrap}.code-text__copy{position:absolute;right:0;top:-1.6rem;height:20px}.code-text__copy-link,.code-text__copy-confirmation{padding:4px 5px;font-size:12px;line-height:12px;font-weight:600;position:absolute;right:0;top:0}.code-text__copy-link{transition:0.2s transform ,\r\n 0.2s opacity,\r\n 0.2s color;color:#70A4FF;background-color:#E0EEFF;border-radius:4px;display:inline-block;cursor:pointer;opacity:1;transform:translate3d(0,0,0);z-index:5}.code-text__copy-link:hover{color:var(--blue)}.code-text__copy-confirmation{transition:0.2s transform ,\r\n 0.2s opacity;color:#0ec254;opacity:0;transform:translate3d(0,5px,0);z-index:1;display:flex;align-items:center;height:20px;padding:0}.code-text__copy-confirmation svg{fill:#0ec254;margin-right:-4px}.show-confirmation .code-text__copy-link{opacity:0;transform:translate3d(0,-5px,0);pointer-events:none}.show-confirmation .code-text__copy-confirmation{opacity:1;transform:translate3d(0,0,0)}";
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-51e8292e.js');
6
- const icons = require('./icons-c61db785.js');
6
+ const icons = require('./icons-fda820af.js');
7
7
 
8
8
  const collapsibleCss = "collapsible{}";
9
9
 
@@ -282,7 +282,6 @@ export class SparkleAnimationPlayer {
282
282
  this.captionText = this.captionData[Math.floor(this.timeline.position / this.library.properties.fps)];
283
283
  }
284
284
  if (this.timeline.position % 10 == 0) {
285
- console.log(this.timeline.duration - 10, this.timeline.position);
286
285
  if (this.timeline.position > (this.timeline.duration - 10)) {
287
286
  this.animationCompleted();
288
287
  }
@@ -56,3 +56,6 @@ sparkle-root{
56
56
  background: #e50739;
57
57
  color: #fff;
58
58
  }
59
+ ion-toast{
60
+ z-index: 600000001;
61
+ }
@@ -1,7 +1,7 @@
1
1
  import { c as getAssetPath, r as registerInstance, h as h$1, e as getElement, H as Host, i as createEvent, f as forceUpdate, j as readTask, w as writeTask, F as Fragment, k as getContext } from './index-c04b9ed5.js';
2
- import { M as MoreDots, O as Outbound, D as DownArrow, a as Menu, B as BackArrow, F as ForwardArrow } from './icons-9b62a1ec.js';
2
+ import { M as MoreDots, O as Outbound, D as DownArrow, a as Menu, B as BackArrow, F as ForwardArrow } from './icons-1c794c74.js';
3
3
  import { g as getIonMode$1, c as config } from './ionic-global-4903e23e.js';
4
- import { h as hasShadowDom, i as inheritAriaAttributes, b as getAriaLabel, d as renderHiddenInput, e as debounceEvent, j as inheritAttributes$1, k as findItemLabel, l as raf$1, a as addEventListener, r as removeEventListener, m as clamp } from './helpers-bf0e23d6.js';
4
+ import { h as hasShadowDom, i as inheritAriaAttributes, b as getAriaLabel, d as renderHiddenInput, e as debounceEvent, j as inheritAttributes$1, k as findItemLabel, l as raf, a as addEventListener, r as removeEventListener, m as clamp } from './helpers-bf0e23d6.js';
5
5
  import { o as openURL, c as createColorClasses$1, h as hostContext } from './theme-7ef00c83.js';
6
6
  import { c as chevronForward } from './index-4044fde9.js';
7
7
  import { p as printIonError, a as printIonWarning } from './index-dad75b83.js';
@@ -17,7 +17,7 @@ import { E as EnvironmentConfigService } from './environment-config.service-2b5d
17
17
  import { s as sample, S as SparkleGlobal$1, d as date, M as MyHealthTemplate, a as MyHealthTemplateJSON, b as MyMoodTemplate, c as MyMoodTemplateJSON } from './util-6ef753e9.js';
18
18
  import { F as FacilitatorService, f as facilitatorStore } from './facilitator.service-b0292f7f.js';
19
19
  import { m as menuController } from './index-cded2d87.js';
20
- import { m as modalController, a as alertController } from './overlays-3b4dca92.js';
20
+ import { m as modalController, a as alertController, t as toastController } from './overlays-3b4dca92.js';
21
21
  import { H as HttpService } from './httpService-7b75b095.js';
22
22
  import { A as AppDataService, g as goalStore, F as FeedService, f as feedStore } from './feed.service-8fbe4ce3.js';
23
23
  import './localstorage.service-4bf408c8.js';
@@ -1255,7 +1255,7 @@ const Item = class {
1255
1255
  }
1256
1256
  }
1257
1257
  componentDidLoad() {
1258
- raf$1(() => {
1258
+ raf(() => {
1259
1259
  this.setMultipleInputs();
1260
1260
  this.focusable = this.isFocusable();
1261
1261
  });
@@ -1322,7 +1322,7 @@ const Item = class {
1322
1322
  input.fireFocusEvents = false;
1323
1323
  input.setBlur();
1324
1324
  input.setFocus();
1325
- raf$1(() => {
1325
+ raf(() => {
1326
1326
  input.fireFocusEvents = true;
1327
1327
  });
1328
1328
  }
@@ -16597,111 +16597,7 @@ const SparklePageFooter = class {
16597
16597
  };
16598
16598
  SparklePageFooter.style = pageFooterCss;
16599
16599
 
16600
- /*!
16601
- * (C) Ionic http://ionicframework.com - MIT License
16602
- */
16603
- /**
16604
- * Waits for a component to be ready for
16605
- * both custom element and non-custom element builds.
16606
- * If non-custom element build, el.componentOnReady
16607
- * will be used.
16608
- * For custom element builds, we wait a frame
16609
- * so that the inner contents of the component
16610
- * have a chance to render.
16611
- *
16612
- * Use this utility rather than calling
16613
- * el.componentOnReady yourself.
16614
- */
16615
- const componentOnReady = (el, callback) => {
16616
- if (el.componentOnReady) {
16617
- el.componentOnReady().then((resolvedEl) => callback(resolvedEl));
16618
- }
16619
- else {
16620
- raf(() => callback(el));
16621
- }
16622
- };
16623
- /**
16624
- * Patched version of requestAnimationFrame that avoids ngzone
16625
- * Use only when you know ngzone should not run
16626
- */
16627
- const raf = (h) => {
16628
- if (typeof __zone_symbol__requestAnimationFrame === 'function') {
16629
- return __zone_symbol__requestAnimationFrame(h);
16630
- }
16631
- if (typeof requestAnimationFrame === 'function') {
16632
- return requestAnimationFrame(h);
16633
- }
16634
- return setTimeout(h);
16635
- };
16636
-
16637
- /*!
16638
- * (C) Ionic http://ionicframework.com - MIT License
16639
- */
16640
- const createController = (tagName) => {
16641
- return {
16642
- create(options) {
16643
- return createOverlay(tagName, options);
16644
- },
16645
- dismiss(data, role, id) {
16646
- return dismissOverlay(document, data, role, tagName, id);
16647
- },
16648
- async getTop() {
16649
- return getOverlay(document, tagName);
16650
- }
16651
- };
16652
- };
16653
- const toastController = /*@__PURE__*/ createController('ion-toast');
16654
- const createOverlay = (tagName, opts) => {
16655
- /* tslint:disable-next-line */
16656
- if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
16657
- return window.customElements.whenDefined(tagName).then(() => {
16658
- const element = document.createElement(tagName);
16659
- element.classList.add('overlay-hidden');
16660
- /**
16661
- * Convert the passed in overlay options into props
16662
- * that get passed down into the new overlay.
16663
- */
16664
- Object.assign(element, Object.assign(Object.assign({}, opts), { hasController: true }));
16665
- // append the overlay element to the document body
16666
- getAppRoot(document).appendChild(element);
16667
- return new Promise(resolve => componentOnReady(element, resolve));
16668
- });
16669
- }
16670
- return Promise.resolve();
16671
- };
16672
- const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
16673
- const dismissOverlay = (doc, data, role, overlayTag, id) => {
16674
- const overlay = getOverlay(doc, overlayTag, id);
16675
- if (!overlay) {
16676
- return Promise.reject('overlay does not exist');
16677
- }
16678
- return overlay.dismiss(data, role);
16679
- };
16680
- const getOverlays = (doc, selector) => {
16681
- if (selector === undefined) {
16682
- selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
16683
- }
16684
- return Array.from(doc.querySelectorAll(selector))
16685
- .filter(c => c.overlayIndex > 0);
16686
- };
16687
- /**
16688
- * Returns an overlay element
16689
- * @param doc The document to find the element within.
16690
- * @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
16691
- * @param id The unique identifier for the overlay instance.
16692
- * @returns The overlay element or `undefined` if no overlay element is found.
16693
- */
16694
- const getOverlay = (doc, overlayTag, id) => {
16695
- const overlays = getOverlays(doc, overlayTag).filter(o => !isOverlayHidden(o));
16696
- return (id === undefined)
16697
- ? overlays[overlays.length - 1]
16698
- : overlays.find(o => o.id === id);
16699
- };
16700
- const getAppRoot = (doc) => {
16701
- return doc.querySelector('ion-app') || doc.body;
16702
- };
16703
-
16704
- const paginationCss = "sparkle-pagination{border-color:var(--line-rule-color);border-style:solid;border-width:0 0 1px;display:flex;flex-wrap:wrap-reverse;padding:var(--page-padding, 2rem 0rem) 0}sparkle-pagination .next,sparkle-pagination .previous{max-width:100%;overflow:hidden}sparkle-pagination .next{margin-left:auto}sparkle-pagination a{border-radius:4px;display:flex;align-items:flex-start;flex-direction:column;padding:1em 1.5em;color:rgb(var(--accent-color-rgb))}sparkle-pagination .previous a{padding-left:0}sparkle-pagination .next a{padding-right:0;align-items:flex-end}@media (max-width: 700px){sparkle-pagination .previous a{padding-right:.5rem}sparkle-pagination .next a{padding-left:.5rem}}@media (hover: hover){sparkle-pagination a:hover,sparkle-pagination a:active{filter:brightness(0.8)}}sparkle-pagination .pagination__title{color:var(--text-color--lighter);font-size:12px;display:block}sparkle-pagination .pagination__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;color:var(--ion-color-sparkle)}sparkle-pagination span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sparkle-pagination svg{fill:currentColor;flex:none;height:1em;margin-bottom:-0.125em;width:1em}sparkle-pagination .next svg{margin-left:0.5em}sparkle-pagination .previous svg{margin-right:0.5em}";
16600
+ const paginationCss = "sparkle-pagination{border-color:var(--line-rule-color);border-style:solid;border-width:0 0 1px;display:flex;flex-wrap:wrap-reverse;padding:var(--page-padding, 2rem 0rem) 0}sparkle-pagination .next,sparkle-pagination .previous{max-width:100%;overflow:hidden}sparkle-pagination .next{margin-left:auto}sparkle-pagination a{border-radius:4px;display:flex;align-items:flex-start;flex-direction:column;padding:1em 1.5em;color:rgb(var(--accent-color-rgb))}sparkle-pagination .previous a{padding-left:0}sparkle-pagination .next a{padding-right:0;align-items:flex-end}@media (max-width: 700px){sparkle-pagination .previous a{padding-right:0.5rem}sparkle-pagination .next a{padding-left:0.5rem}}@media (hover: hover){sparkle-pagination a:hover,sparkle-pagination a:active{filter:brightness(0.8)}}sparkle-pagination .pagination__title{color:var(--text-color--lighter);font-size:12px;display:block}sparkle-pagination .pagination__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;color:var(--ion-color-sparkle)}sparkle-pagination span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}sparkle-pagination svg{fill:currentColor;flex:none;height:1em;margin-bottom:-0.125em;width:1em}sparkle-pagination .next svg{margin-left:0.5em}sparkle-pagination .previous svg{margin-right:0.5em}.completed-toast{z-index:999999999999999999999999999 !important}";
16705
16601
 
16706
16602
  const SparklePagination = class {
16707
16603
  constructor(hostRef) {
@@ -16709,16 +16605,20 @@ const SparklePagination = class {
16709
16605
  this.page = { title: null, path: null, body: null, pageInfo: null };
16710
16606
  }
16711
16607
  async presentToast() {
16608
+ console.log('showToast');
16712
16609
  const toast = await toastController.create({
16713
16610
  message: 'Lesson Completed.',
16714
16611
  duration: 3000,
16612
+ cssClass: "completed-toast"
16715
16613
  });
16716
16614
  toast.present();
16717
16615
  }
16718
16616
  async presentToastLastSession() {
16617
+ console.log('showToast');
16719
16618
  const toast = await toastController.create({
16720
16619
  message: 'Session Completed',
16721
16620
  duration: 3000,
16621
+ cssClass: "completed-toast"
16722
16622
  });
16723
16623
  toast.present();
16724
16624
  }
@@ -16738,7 +16638,7 @@ const SparklePagination = class {
16738
16638
  links.push(h$1("stencil-route-link", { onClick: () => this.presentToastLastSession(), url: nextUrl, key: "next", class: "next", anchorTitle: nextText }, h$1("div", { class: "pagination__title" }, "Next"), h$1("div", { class: "pagination__text" }, h$1("span", null, nextText), h$1(ForwardArrow, null))));
16739
16639
  }
16740
16640
  else {
16741
- links.push(h$1("stencil-route-link", { url: nextUrl, key: "next", class: "next", anchorTitle: nextText }, h$1("div", { class: "pagination__title" }, "Next"), h$1("div", { class: "pagination__text" }, h$1("span", null, nextText), h$1(ForwardArrow, null))));
16641
+ links.push(h$1("stencil-route-link", { onClick: () => this.presentToastLastSession(), url: nextUrl, key: "next", class: "next", anchorTitle: nextText }, h$1("div", { class: "pagination__title" }, "Next"), h$1("div", { class: "pagination__text" }, h$1("span", null, nextText), h$1(ForwardArrow, null))));
16742
16642
  }
16743
16643
  }
16744
16644
  return links;
@@ -16821,7 +16721,7 @@ const SparkleResetPassword = class {
16821
16721
  };
16822
16722
  SparkleResetPassword.style = sparkleResetPasswordCss;
16823
16723
 
16824
- const sparkleRootCss = ":root{--page-padding:2rem 0}sparkle-root{overflow-y:auto}.Layout{display:flex;overflow-x:hidden}.Layout>stencil-route,.Layout>stencil-route-switch{width:100%}.Layout.is-menu-toggled{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-margin-left:0}@media (max-width: 768px){.Layout{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-padding:1.5rem;--page-margin-left:0}.Layout.is-menu-toggled{--menu-transform:none;--page-transform:translateX(var(--menu-width))}.Layout.is-menu-toggled sparkle-page>*{opacity:0.2;pointer-events:none}body.scroll-lock{overflow-y:hidden}}#messagesList{display:grid;font-size:12px;font-weight:bold;grid-template-columns:1fr minmax(0, var(--page-width, 720px)) 1fr;line-height:2;margin-left:var(--page-margin-left);margin-top:var(--header-height);overflow-x:hidden;transform:var(--page-transform, none);margin-top:56px;padding:4px;background:#e50739;color:#fff}";
16724
+ const sparkleRootCss = ":root{--page-padding:2rem 0}sparkle-root{overflow-y:auto}.Layout{display:flex;overflow-x:hidden}.Layout>stencil-route,.Layout>stencil-route-switch{width:100%}.Layout.is-menu-toggled{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-margin-left:0}@media (max-width: 768px){.Layout{--menu-transform:translateX(calc(-1 * var(--menu-width)));--page-padding:1.5rem;--page-margin-left:0}.Layout.is-menu-toggled{--menu-transform:none;--page-transform:translateX(var(--menu-width))}.Layout.is-menu-toggled sparkle-page>*{opacity:0.2;pointer-events:none}body.scroll-lock{overflow-y:hidden}}#messagesList{display:grid;font-size:12px;font-weight:bold;grid-template-columns:1fr minmax(0, var(--page-width, 720px)) 1fr;line-height:2;margin-left:var(--page-margin-left);margin-top:var(--header-height);overflow-x:hidden;transform:var(--page-transform, none);margin-top:56px;padding:4px;background:#e50739;color:#fff}ion-toast{z-index:600000001}";
16825
16725
 
16826
16726
  const SparkleRoot = class {
16827
16727
  constructor(hostRef) {
@@ -380,7 +380,6 @@ const SparkleAnimationPlayer = class {
380
380
  this.captionText = this.captionData[Math.floor(this.timeline.position / this.library.properties.fps)];
381
381
  }
382
382
  if (this.timeline.position % 10 == 0) {
383
- console.log(this.timeline.duration - 10, this.timeline.position);
384
383
  if (this.timeline.position > (this.timeline.duration - 10)) {
385
384
  this.animationCompleted();
386
385
  }
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, e as getElement } from './index-c04b9ed5.js';
2
- import { C as CheckmarkSoft } from './icons-9b62a1ec.js';
2
+ import { C as CheckmarkSoft } from './icons-1c794c74.js';
3
3
 
4
4
  const codeCss = "code[class*=\"language-\"],pre[class*=\"language-\"]{color:#4d4d4c;background:none;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=\"language-\"],:not(pre)>code[class*=\"language-\"]{background:hsl(30, 20%, 25%)}pre[class*=\"language-\"]{padding:1em;margin:.5em 0;overflow:auto;border:.3em solid hsl(30, 20%, 40%);border-radius:.5em;box-shadow:1px 1px .5em black inset}:not(pre)>code[class*=\"language-\"]{padding:.15em .2em .05em;border-radius:.3em;border:.13em solid hsl(30, 20%, 40%);box-shadow:1px 1px .3em -.1em black inset;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8c9296}.token.punctuation{opacity:.7}.namespace{opacity:.7}.token.tag{color:#91c5ff}.token.tag .token.tag{color:#2b90ff}.token.property,.token.attr-name,.token.boolean,.token.number,.token.constant,.token.symbol{color:#8454ff}.token.selector,.token.char,.token.function,.token.builtin,.token.inserted{color:#ff6810}.token.operator,.token.string,.token.entity,.token.url,.token.attr-value,.language-css .token.string,.style .token.string,.token.variable{color:#42b983}.token.atrule{color:#ffbb01}.token.regex,.token.keyword,.token.important{color:#f55073}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.token.deleted{color:red}sparkle-code[language=\"shell\"]>pre{background-color:var(--text-color--dark);border-radius:7px}sparkle-code[language=\"shell\"]:before{display:none}sparkle-code[language=\"shell\"] code{color:rgba(255, 255, 255, 0.7);font-size:13px}sparkle-code[language=\"shell\"] .token{color:inherit}sparkle-code[language=\"shell\"] .token.prompt{color:#fb96f9;user-select:none}sparkle-code[language=\"shell\"] .token.comment{color:rgba(255, 255, 255, 0.45)}sparkle-code{display:block;position:relative}sparkle-code:before{color:#bdc5d1;content:attr(language);font-family:var(--code-font-family);font-size:10px;letter-spacing:0.05em;line-height:1;padding:0.75em;position:absolute;right:0;text-transform:uppercase;top:0}sparkle-code[language=\"shell\"] pre{white-space:pre-wrap}.code-text__copy{position:absolute;right:0;top:-1.6rem;height:20px}.code-text__copy-link,.code-text__copy-confirmation{padding:4px 5px;font-size:12px;line-height:12px;font-weight:600;position:absolute;right:0;top:0}.code-text__copy-link{transition:0.2s transform ,\r\n 0.2s opacity,\r\n 0.2s color;color:#70A4FF;background-color:#E0EEFF;border-radius:4px;display:inline-block;cursor:pointer;opacity:1;transform:translate3d(0,0,0);z-index:5}.code-text__copy-link:hover{color:var(--blue)}.code-text__copy-confirmation{transition:0.2s transform ,\r\n 0.2s opacity;color:#0ec254;opacity:0;transform:translate3d(0,5px,0);z-index:1;display:flex;align-items:center;height:20px;padding:0}.code-text__copy-confirmation svg{fill:#0ec254;margin-right:-4px}.show-confirmation .code-text__copy-link{opacity:0;transform:translate3d(0,-5px,0);pointer-events:none}.show-confirmation .code-text__copy-confirmation{opacity:1;transform:translate3d(0,0,0)}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, e as getElement, H as Host } from './index-c04b9ed5.js';
2
- import { D as DownArrow } from './icons-9b62a1ec.js';
2
+ import { D as DownArrow } from './icons-1c794c74.js';
3
3
 
4
4
  const collapsibleCss = "collapsible{}";
5
5
 
@@ -0,0 +1,49 @@
1
+ sparkle-button {
2
+ background-color: rgba(var(--ion-color-sparkle-rgb), var(--bg-alpha, 0.06));
3
+ border-radius: 6px;
4
+ color: var(--accent-color);
5
+ display: inline-block;
6
+ font-weight: 600;
7
+ white-space: nowrap;box-shadow: 0 1px 3px rgba(0,0,0,.1);
8
+ }
9
+
10
+ sparkle-button a,
11
+ sparkle-button button {
12
+ color: inherit;
13
+ display: inline-block;
14
+ font-size: inherit;
15
+ font-weight: inherit;
16
+ padding: 0.75em 1.5em;
17
+ }
18
+
19
+ sparkle-button button {
20
+ appearance: none;
21
+ background: none;
22
+ border: none;
23
+ line-height: inherit;
24
+ }
25
+
26
+ sparkle-button svg {
27
+ fill: currentColor;
28
+ height: 1em;
29
+ margin-bottom: -0.125em;
30
+ width: 1em;
31
+ }
32
+
33
+ sparkle-button[round] {
34
+ border-radius: 2em;
35
+ }
36
+ sparkle-button[primary] {
37
+ background-color: rgba(var(--ion-color-sparkle-rgb));
38
+ color:var(--ion-color-sparkle-contrast);
39
+ }
40
+
41
+ @media (hover: hover) {
42
+ sparkle-button:hover {
43
+ --bg-alpha: 0.08;
44
+ }
45
+
46
+ sparkle-button:active {
47
+ --bg-alpha: 0.1;
48
+ }
49
+ }