voyager-ionic-core 7.5.0 → 7.5.1

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 (68) hide show
  1. package/components/ion-title.js +1 -1
  2. package/components/ios.transition.js +209 -41
  3. package/dist/cjs/{index-d93fb71d.js → index-eccba000.js} +2 -2
  4. package/dist/cjs/index.cjs.js +3 -3
  5. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  6. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  7. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  8. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  9. package/dist/cjs/ionic.cjs.js +1 -1
  10. package/dist/cjs/{ios.transition-a4d545dd.js → ios.transition-5af5991e.js} +210 -42
  11. package/dist/cjs/{md.transition-80bb961b.js → md.transition-1e740a6a.js} +1 -1
  12. package/dist/collection/collection-manifest.json +1 -1
  13. package/dist/collection/components/title/title.ios.css +9 -0
  14. package/dist/collection/utils/transition/ios.transition.js +209 -41
  15. package/dist/docs.json +2 -2
  16. package/dist/esm/{index-7d2b2808.js → index-a09eac70.js} +2 -2
  17. package/dist/esm/index.js +3 -3
  18. package/dist/esm/ion-app_8.entry.js +2 -2
  19. package/dist/esm/ion-modal.entry.js +1 -1
  20. package/dist/esm/ion-nav_2.entry.js +1 -1
  21. package/dist/esm/ion-popover.entry.js +1 -1
  22. package/dist/esm/ionic.js +1 -1
  23. package/dist/esm/{ios.transition-a86d7bbe.js → ios.transition-4d1322d6.js} +210 -42
  24. package/dist/esm/{md.transition-365ef6b6.js → md.transition-66b425d0.js} +1 -1
  25. package/dist/esm-es5/index-a09eac70.js +4 -0
  26. package/dist/esm-es5/index.js +1 -1
  27. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  28. package/dist/esm-es5/ion-modal.entry.js +1 -1
  29. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  30. package/dist/esm-es5/ion-popover.entry.js +1 -1
  31. package/dist/esm-es5/ios.transition-4d1322d6.js +4 -0
  32. package/dist/esm-es5/md.transition-66b425d0.js +4 -0
  33. package/dist/ionic/index.esm.js +1 -1
  34. package/dist/ionic/ionic.esm.js +1 -1
  35. package/dist/ionic/ionic.js +1 -1
  36. package/dist/ionic/p-091c8792.system.js +4 -0
  37. package/dist/ionic/p-2a8eeef7.system.js +4 -0
  38. package/dist/ionic/p-61b192a4.system.entry.js +4 -0
  39. package/dist/ionic/{p-15decbec.entry.js → p-7423746f.entry.js} +1 -1
  40. package/dist/ionic/{p-5c3e72a8.system.js → p-755b2917.system.js} +1 -1
  41. package/dist/ionic/{p-e42aaa8b.entry.js → p-8209372c.entry.js} +1 -1
  42. package/dist/ionic/{p-a7f8dc42.entry.js → p-9e106f58.entry.js} +1 -1
  43. package/dist/ionic/p-bb055450.system.entry.js +4 -0
  44. package/dist/ionic/{p-e38a5f77.js → p-c44fe9fd.js} +1 -1
  45. package/dist/ionic/p-c575a7b8.system.entry.js +4 -0
  46. package/dist/ionic/p-de68588d.js +4 -0
  47. package/dist/ionic/p-e028178a.system.js +4 -0
  48. package/dist/ionic/{p-ced41304.system.js → p-e0f0d55f.system.js} +1 -1
  49. package/dist/ionic/{p-f34f001c.entry.js → p-e25cb483.entry.js} +1 -1
  50. package/dist/ionic/p-eb7d0922.js +4 -0
  51. package/dist/ionic/p-eb8dc56f.system.entry.js +4 -0
  52. package/dist/types/components/menu/menu-interface.d.ts +15 -4
  53. package/dist/types/stencil-public-runtime.d.ts +19 -0
  54. package/dist/types/utils/menu-controller/index.d.ts +2 -21
  55. package/hydrate/index.js +220 -44
  56. package/package.json +5 -5
  57. package/dist/esm-es5/index-7d2b2808.js +0 -4
  58. package/dist/esm-es5/ios.transition-a86d7bbe.js +0 -4
  59. package/dist/esm-es5/md.transition-365ef6b6.js +0 -4
  60. package/dist/ionic/p-128a98e8.system.js +0 -4
  61. package/dist/ionic/p-16e44585.js +0 -4
  62. package/dist/ionic/p-2bbf3ac4.system.entry.js +0 -4
  63. package/dist/ionic/p-95817276.system.entry.js +0 -4
  64. package/dist/ionic/p-9b9dcc3e.system.entry.js +0 -4
  65. package/dist/ionic/p-b9047b05.system.js +0 -4
  66. package/dist/ionic/p-c05315f5.system.entry.js +0 -4
  67. package/dist/ionic/p-c994fff0.system.js +0 -4
  68. package/dist/ionic/p-e2bb634f.js +0 -4
package/hydrate/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  /*!
9
- Stencil Mock Doc v4.4.1 | MIT Licensed | https://stenciljs.com
9
+ Stencil Mock Doc v4.5.0 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  const CONTENT_REF_ID = 'r';
12
12
  const ORG_LOCATION_ID = 'o';
@@ -1626,6 +1626,14 @@ class MockNodeList {
1626
1626
  }
1627
1627
  }
1628
1628
  class MockElement extends MockNode {
1629
+ attachInternals() {
1630
+ return new Proxy({}, {
1631
+ get: function (_target, prop, _receiver) {
1632
+ console.error(`NOTE: Property ${String(prop)} was accessed on ElementInternals, but this property is not implemented.
1633
+ Testing components with ElementInternals is fully supported in e2e tests.`);
1634
+ },
1635
+ });
1636
+ }
1629
1637
  constructor(ownerDocument, nodeName) {
1630
1638
  super(ownerDocument, 1 /* NODE_TYPES.ELEMENT_NODE */, typeof nodeName === 'string' ? nodeName : null, null);
1631
1639
  this.namespaceURI = null;
@@ -4953,7 +4961,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
4953
4961
 
4954
4962
 
4955
4963
  const NAMESPACE = 'ionic';
4956
- const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: true, observeAttribute: true, patchPseudoShadowDom: false, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
4964
+ const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: true, observeAttribute: true, patchPseudoShadowDom: false, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
4957
4965
 
4958
4966
  // TODO(FW-2832): types
4959
4967
  class Config {
@@ -34664,7 +34672,7 @@ class Toolbar {
34664
34672
  }; }
34665
34673
  }
34666
34674
 
34667
- const titleIosCss = "/*!@:host*/.sc-ion-title-ios-h{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}/*!@:host(.ion-color)*/.ion-color.sc-ion-title-ios-h{color:var(--ion-color-base)}/*!@.toolbar-title*/.toolbar-title.sc-ion-title-ios{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}/*!@:host(.title-small) .toolbar-title*/.title-small.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios{white-space:normal}/*!@:host*/.sc-ion-title-ios-h{top:0;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:min(1.0625rem, 20.4px);font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}@supports (inset-inline-start: 0){/*!@:host*/.sc-ion-title-ios-h{inset-inline-start:0}}@supports not (inset-inline-start: 0){/*!@:host*/.sc-ion-title-ios-h{left:0}/*!@:host-context([dir=rtl])*/[dir=rtl].sc-ion-title-ios-h,[dir=rtl] .sc-ion-title-ios-h{left:unset;right:unset;right:0}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-title-ios selector(.sc-ion-title-ios:dir(rtl)){.sc-ion-title-ios-h:dir(rtl){left:unset;right:unset;right:0}}}/*!@:host(.title-small)*/.title-small.sc-ion-title-ios-h{-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:min(0.8125rem, 23.4px);font-weight:normal}/*!@:host(.title-large)*/.title-large.sc-ion-title-ios-h{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:2px;padding-bottom:4px;-webkit-transform-origin:left center;transform-origin:left center;position:static;-ms-flex-align:end;align-items:flex-end;min-width:100%;font-size:min(2.125rem, 61.2px);font-weight:700;text-align:start}/*!@:host(.title-large.title-rtl)*/.title-large.title-rtl.sc-ion-title-ios-h{-webkit-transform-origin:right center;transform-origin:right center}/*!@:host(.title-large.ion-cloned-element)*/.title-large.ion-cloned-element.sc-ion-title-ios-h{--color:var(--ion-text-color, #000);font-family:var(--ion-font-family)}/*!@:host(.title-large) .toolbar-title*/.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios{-webkit-transform-origin:inherit;transform-origin:inherit}/*!@:host-context([dir=rtl]):host(.title-large) .toolbar-title, :host-context([dir=rtl]).title-large .toolbar-title*/[dir=rtl].sc-ion-title-ios-h -no-combinator.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios,[dir=rtl] .sc-ion-title-ios-h -no-combinator.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios,[dir=rtl].title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios,[dir=rtl] .title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}@supports selector(:dir(rtl)){/*!@:host(.title-large) .toolbar-title:dir(rtl)*/.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios:dir(rtl){-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}}";
34675
+ const titleIosCss = "/*!@:host*/.sc-ion-title-ios-h{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}/*!@:host(.ion-color)*/.ion-color.sc-ion-title-ios-h{color:var(--ion-color-base)}/*!@.toolbar-title*/.toolbar-title.sc-ion-title-ios{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}/*!@:host(.title-small) .toolbar-title*/.title-small.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios{white-space:normal}/*!@:host*/.sc-ion-title-ios-h{top:0;-webkit-padding-start:90px;padding-inline-start:90px;-webkit-padding-end:90px;padding-inline-end:90px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);position:absolute;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);font-size:min(1.0625rem, 20.4px);font-weight:600;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none}@supports (inset-inline-start: 0){/*!@:host*/.sc-ion-title-ios-h{inset-inline-start:0}}@supports not (inset-inline-start: 0){/*!@:host*/.sc-ion-title-ios-h{left:0}/*!@:host-context([dir=rtl])*/[dir=rtl].sc-ion-title-ios-h,[dir=rtl] .sc-ion-title-ios-h{left:unset;right:unset;right:0}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-title-ios selector(.sc-ion-title-ios:dir(rtl)){.sc-ion-title-ios-h:dir(rtl){left:unset;right:unset;right:0}}}/*!@:host(.title-small)*/.title-small.sc-ion-title-ios-h{-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px;padding-top:6px;padding-bottom:16px;position:relative;font-size:min(0.8125rem, 23.4px);font-weight:normal}/*!@:host(.title-large)*/.title-large.sc-ion-title-ios-h{-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:2px;padding-bottom:4px;-webkit-transform-origin:left center;transform-origin:left center;position:static;-ms-flex-align:end;align-items:flex-end;min-width:100%;font-size:min(2.125rem, 61.2px);font-weight:700;text-align:start}/*!@:host(.title-large.title-rtl)*/.title-large.title-rtl.sc-ion-title-ios-h{-webkit-transform-origin:right center;transform-origin:right center}/*!@:host(.title-large.ion-cloned-element)*/.title-large.ion-cloned-element.sc-ion-title-ios-h{--color:var(--ion-text-color, #000);font-family:var(--ion-font-family)}/*!@:host(.title-large) .toolbar-title*/.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios{-webkit-transform-origin:inherit;transform-origin:inherit;width:auto}/*!@:host-context([dir=rtl]):host(.title-large) .toolbar-title, :host-context([dir=rtl]).title-large .toolbar-title*/[dir=rtl].sc-ion-title-ios-h -no-combinator.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios,[dir=rtl] .sc-ion-title-ios-h -no-combinator.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios,[dir=rtl].title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios,[dir=rtl] .title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios{-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}@supports selector(:dir(rtl)){/*!@:host(.title-large) .toolbar-title:dir(rtl)*/.title-large.sc-ion-title-ios-h .toolbar-title.sc-ion-title-ios:dir(rtl){-webkit-transform-origin:calc(100% - inherit);transform-origin:calc(100% - inherit)}}";
34668
34676
 
34669
34677
  const titleMdCss = "/*!@:host*/.sc-ion-title-md-h{--color:initial;display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;-webkit-transform:translateZ(0);transform:translateZ(0);color:var(--color)}/*!@:host(.ion-color)*/.ion-color.sc-ion-title-md-h{color:var(--ion-color-base)}/*!@.toolbar-title*/.toolbar-title.sc-ion-title-md{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}/*!@:host(.title-small) .toolbar-title*/.title-small.sc-ion-title-md-h .toolbar-title.sc-ion-title-md{white-space:normal}/*!@:host*/.sc-ion-title-md-h{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:0;padding-bottom:0;font-size:1.25rem;font-weight:500;letter-spacing:0.0125em}/*!@:host(.title-small)*/.title-small.sc-ion-title-md-h{width:100%;height:100%;font-size:0.9375rem;font-weight:normal}";
34670
34678
 
@@ -34866,60 +34874,134 @@ const createLargeTitleTransition = (rootAnimation, rtl, backDirection, enteringE
34866
34874
  if (shouldAnimationForward) {
34867
34875
  const leavingLargeTitleBox = leavingLargeTitle.getBoundingClientRect();
34868
34876
  const enteringBackButtonBox = enteringBackButton.getBoundingClientRect();
34869
- animateLargeTitle(rootAnimation, rtl, backDirection, leavingLargeTitle, leavingLargeTitleBox, enteringBackButtonBox);
34870
- animateBackButton(rootAnimation, rtl, backDirection, enteringBackButton, leavingLargeTitleBox, enteringBackButtonBox);
34877
+ const enteringBackButtonTextEl = shadow(enteringBackButton).querySelector('.button-text');
34878
+ const enteringBackButtonTextBox = enteringBackButtonTextEl.getBoundingClientRect();
34879
+ const leavingLargeTitleTextEl = shadow(leavingLargeTitle).querySelector('.toolbar-title');
34880
+ const leavingLargeTitleTextBox = leavingLargeTitleTextEl.getBoundingClientRect();
34881
+ animateLargeTitle(rootAnimation, rtl, backDirection, leavingLargeTitle, leavingLargeTitleBox, leavingLargeTitleTextBox, enteringBackButtonTextEl, enteringBackButtonTextBox);
34882
+ animateBackButton(rootAnimation, rtl, backDirection, enteringBackButton, enteringBackButtonBox, enteringBackButtonTextEl, enteringBackButtonTextBox, leavingLargeTitle, leavingLargeTitleTextBox);
34871
34883
  }
34872
34884
  else if (shouldAnimationBackward) {
34873
34885
  const enteringLargeTitleBox = enteringLargeTitle.getBoundingClientRect();
34874
34886
  const leavingBackButtonBox = leavingBackButton.getBoundingClientRect();
34875
- animateLargeTitle(rootAnimation, rtl, backDirection, enteringLargeTitle, enteringLargeTitleBox, leavingBackButtonBox);
34876
- animateBackButton(rootAnimation, rtl, backDirection, leavingBackButton, enteringLargeTitleBox, leavingBackButtonBox);
34887
+ const leavingBackButtonTextEl = shadow(leavingBackButton).querySelector('.button-text');
34888
+ const leavingBackButtonTextBox = leavingBackButtonTextEl.getBoundingClientRect();
34889
+ const enteringLargeTitleTextEl = shadow(enteringLargeTitle).querySelector('.toolbar-title');
34890
+ const enteringLargeTitleTextBox = enteringLargeTitleTextEl.getBoundingClientRect();
34891
+ animateLargeTitle(rootAnimation, rtl, backDirection, enteringLargeTitle, enteringLargeTitleBox, enteringLargeTitleTextBox, leavingBackButtonTextEl, leavingBackButtonTextBox);
34892
+ animateBackButton(rootAnimation, rtl, backDirection, leavingBackButton, leavingBackButtonBox, leavingBackButtonTextEl, leavingBackButtonTextBox, enteringLargeTitle, enteringLargeTitleTextBox);
34877
34893
  }
34878
34894
  return {
34879
34895
  forward: shouldAnimationForward,
34880
34896
  backward: shouldAnimationBackward,
34881
34897
  };
34882
34898
  };
34883
- const animateBackButton = (rootAnimation, rtl, backDirection, backButtonEl, largeTitleBox, backButtonBox) => {
34899
+ const animateBackButton = (rootAnimation, rtl, backDirection, backButtonEl, backButtonBox, backButtonTextEl, backButtonTextBox, largeTitleEl, largeTitleTextBox) => {
34900
+ var _a, _b;
34884
34901
  const BACK_BUTTON_START_OFFSET = rtl ? `calc(100% - ${backButtonBox.right + 4}px)` : `${backButtonBox.left - 4}px`;
34885
- const START_TEXT_TRANSLATE = rtl ? '7px' : '-7px';
34886
- const END_TEXT_TRANSLATE = rtl ? '-4px' : '4px';
34887
- const ICON_TRANSLATE = rtl ? '-4px' : '4px';
34888
34902
  const TEXT_ORIGIN_X = rtl ? 'right' : 'left';
34889
34903
  const ICON_ORIGIN_X = rtl ? 'left' : 'right';
34904
+ const CONTAINER_ORIGIN_X = rtl ? 'right' : 'left';
34905
+ /**
34906
+ * When the title and back button texts match
34907
+ * then they should overlap during the page transition.
34908
+ * If the texts do not match up then the back button text scale adjusts
34909
+ * to not perfectly match the large title text otherwise the
34910
+ * proportions will be incorrect.
34911
+ * When the texts match we scale both the width and height to account for
34912
+ * font weight differences between the title and back button.
34913
+ */
34914
+ const doTitleAndButtonTextsMatch = ((_a = backButtonTextEl.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === ((_b = largeTitleEl.textContent) === null || _b === void 0 ? void 0 : _b.trim());
34915
+ const WIDTH_SCALE = largeTitleTextBox.width / backButtonTextBox.width;
34916
+ /**
34917
+ * We subtract an offset to account for slight sizing/padding
34918
+ * differences between the title and the back button.
34919
+ */
34920
+ const HEIGHT_SCALE = (largeTitleTextBox.height - LARGE_TITLE_SIZE_OFFSET) / backButtonTextBox.height;
34921
+ const TEXT_START_SCALE = doTitleAndButtonTextsMatch
34922
+ ? `scale(${WIDTH_SCALE}, ${HEIGHT_SCALE})`
34923
+ : `scale(${HEIGHT_SCALE})`;
34924
+ const TEXT_END_SCALE = 'scale(1)';
34925
+ const backButtonIconEl = shadow(backButtonEl).querySelector('ion-icon');
34926
+ const backButtonIconBox = backButtonIconEl.getBoundingClientRect();
34927
+ /**
34928
+ * We need to offset the container by the icon dimensions
34929
+ * so that the back button text aligns with the large title
34930
+ * text. Otherwise, the back button icon will align with the
34931
+ * large title text but the back button text will not.
34932
+ */
34933
+ const CONTAINER_START_TRANSLATE_X = rtl
34934
+ ? `${backButtonIconBox.width / 2 - (backButtonIconBox.right - backButtonBox.right)}px`
34935
+ : `${backButtonBox.left - backButtonIconBox.width / 2}px`;
34936
+ const CONTAINER_END_TRANSLATE_X = rtl ? `-${window.innerWidth - backButtonBox.right}px` : `${backButtonBox.left}px`;
34937
+ /**
34938
+ * Back button container should be
34939
+ * aligned to the top of the title container
34940
+ * so the texts overlap as the back button
34941
+ * text begins to fade in.
34942
+ */
34943
+ const CONTAINER_START_TRANSLATE_Y = `${largeTitleTextBox.top}px`;
34944
+ /**
34945
+ * The cloned back button should align exactly with the
34946
+ * real back button on the entering page otherwise there will
34947
+ * be a layout shift.
34948
+ */
34949
+ const CONTAINER_END_TRANSLATE_Y = `${backButtonBox.top}px`;
34950
+ /**
34951
+ * In the forward direction, the cloned back button
34952
+ * container should translate from over the large title
34953
+ * to over the back button. In the backward direction,
34954
+ * it should translate from over the back button to over
34955
+ * the large title.
34956
+ */
34957
+ const FORWARD_CONTAINER_KEYFRAMES = [
34958
+ { offset: 0, transform: `translate3d(${CONTAINER_START_TRANSLATE_X}, ${CONTAINER_START_TRANSLATE_Y}, 0)` },
34959
+ { offset: 1, transform: `translate3d(${CONTAINER_END_TRANSLATE_X}, ${CONTAINER_END_TRANSLATE_Y}, 0)` },
34960
+ ];
34961
+ const BACKWARD_CONTAINER_KEYFRAMES = [
34962
+ { offset: 0, transform: `translate3d(${CONTAINER_END_TRANSLATE_X}, ${CONTAINER_END_TRANSLATE_Y}, 0)` },
34963
+ { offset: 1, transform: `translate3d(${CONTAINER_START_TRANSLATE_X}, ${CONTAINER_START_TRANSLATE_Y}, 0)` },
34964
+ ];
34965
+ const CONTAINER_KEYFRAMES = backDirection ? BACKWARD_CONTAINER_KEYFRAMES : FORWARD_CONTAINER_KEYFRAMES;
34966
+ /**
34967
+ * In the forward direction, the text in the cloned back button
34968
+ * should start to be (roughly) the size of the large title
34969
+ * and then scale down to be the size of the actual back button.
34970
+ * The text should also translate, but that translate is handled
34971
+ * by the container keyframes.
34972
+ */
34890
34973
  const FORWARD_TEXT_KEYFRAMES = [
34891
- {
34892
- offset: 0,
34893
- opacity: 0,
34894
- transform: `translate3d(${START_TEXT_TRANSLATE}, ${largeTitleBox.top - 40}px, 0) scale(2.1)`,
34895
- },
34896
- { offset: 1, opacity: 1, transform: `translate3d(${END_TEXT_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },
34974
+ { offset: 0, opacity: 0, transform: TEXT_START_SCALE },
34975
+ { offset: 1, opacity: 1, transform: TEXT_END_SCALE },
34897
34976
  ];
34898
34977
  const BACKWARD_TEXT_KEYFRAMES = [
34899
- { offset: 0, opacity: 1, transform: `translate3d(${END_TEXT_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },
34900
- { offset: 0.6, opacity: 0 },
34901
- {
34902
- offset: 1,
34903
- opacity: 0,
34904
- transform: `translate3d(${START_TEXT_TRANSLATE}, ${largeTitleBox.top - 40}px, 0) scale(2.1)`,
34905
- },
34978
+ { offset: 0, opacity: 1, transform: TEXT_END_SCALE },
34979
+ { offset: 1, opacity: 0, transform: TEXT_START_SCALE },
34906
34980
  ];
34907
34981
  const TEXT_KEYFRAMES = backDirection ? BACKWARD_TEXT_KEYFRAMES : FORWARD_TEXT_KEYFRAMES;
34982
+ /**
34983
+ * The icon should scale in/out in the second
34984
+ * half of the animation. The icon should also
34985
+ * translate, but that translate is handled by the
34986
+ * container keyframes.
34987
+ */
34908
34988
  const FORWARD_ICON_KEYFRAMES = [
34909
- { offset: 0, opacity: 0, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 41}px, 0) scale(0.6)` },
34910
- { offset: 1, opacity: 1, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },
34989
+ { offset: 0, opacity: 0, transform: 'scale(0.6)' },
34990
+ { offset: 0.6, opacity: 0, transform: 'scale(0.6)' },
34991
+ { offset: 1, opacity: 1, transform: 'scale(1)' },
34911
34992
  ];
34912
34993
  const BACKWARD_ICON_KEYFRAMES = [
34913
- { offset: 0, opacity: 1, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 46}px, 0) scale(1)` },
34914
- { offset: 0.2, opacity: 0, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 41}px, 0) scale(0.6)` },
34915
- { offset: 1, opacity: 0, transform: `translate3d(${ICON_TRANSLATE}, ${backButtonBox.top - 41}px, 0) scale(0.6)` },
34994
+ { offset: 0, opacity: 1, transform: 'scale(1)' },
34995
+ { offset: 0.2, opacity: 0, transform: 'scale(0.6)' },
34996
+ { offset: 1, opacity: 0, transform: 'scale(0.6)' },
34916
34997
  ];
34917
34998
  const ICON_KEYFRAMES = backDirection ? BACKWARD_ICON_KEYFRAMES : FORWARD_ICON_KEYFRAMES;
34918
34999
  const enteringBackButtonTextAnimation = createAnimation();
34919
35000
  const enteringBackButtonIconAnimation = createAnimation();
35001
+ const enteringBackButtonAnimation = createAnimation();
34920
35002
  const clonedBackButtonEl = getClonedElement('ion-back-button');
34921
- const backButtonTextEl = shadow(clonedBackButtonEl).querySelector('.button-text');
34922
- const backButtonIconEl = shadow(clonedBackButtonEl).querySelector('ion-icon');
35003
+ const clonedBackButtonTextEl = shadow(clonedBackButtonEl).querySelector('.button-text');
35004
+ const clonedBackButtonIconEl = shadow(clonedBackButtonEl).querySelector('ion-icon');
34923
35005
  clonedBackButtonEl.text = backButtonEl.text;
34924
35006
  clonedBackButtonEl.mode = backButtonEl.mode;
34925
35007
  clonedBackButtonEl.icon = backButtonEl.icon;
@@ -34927,11 +35009,19 @@ const animateBackButton = (rootAnimation, rtl, backDirection, backButtonEl, larg
34927
35009
  clonedBackButtonEl.disabled = backButtonEl.disabled;
34928
35010
  clonedBackButtonEl.style.setProperty('display', 'block');
34929
35011
  clonedBackButtonEl.style.setProperty('position', 'fixed');
34930
- enteringBackButtonIconAnimation.addElement(backButtonIconEl);
34931
- enteringBackButtonTextAnimation.addElement(backButtonTextEl);
35012
+ enteringBackButtonIconAnimation.addElement(clonedBackButtonIconEl);
35013
+ enteringBackButtonTextAnimation.addElement(clonedBackButtonTextEl);
35014
+ enteringBackButtonAnimation.addElement(clonedBackButtonEl);
35015
+ enteringBackButtonAnimation
35016
+ .beforeStyles({
35017
+ position: 'absolute',
35018
+ top: '0px',
35019
+ [CONTAINER_ORIGIN_X]: '0px',
35020
+ })
35021
+ .keyframes(CONTAINER_KEYFRAMES);
34932
35022
  enteringBackButtonTextAnimation
34933
35023
  .beforeStyles({
34934
- 'transform-origin': `${TEXT_ORIGIN_X} center`,
35024
+ 'transform-origin': `${TEXT_ORIGIN_X} top`,
34935
35025
  })
34936
35026
  .beforeAddWrite(() => {
34937
35027
  backButtonEl.style.setProperty('display', 'none');
@@ -34948,21 +35038,91 @@ const animateBackButton = (rootAnimation, rtl, backDirection, backButtonEl, larg
34948
35038
  'transform-origin': `${ICON_ORIGIN_X} center`,
34949
35039
  })
34950
35040
  .keyframes(ICON_KEYFRAMES);
34951
- rootAnimation.addAnimation([enteringBackButtonTextAnimation, enteringBackButtonIconAnimation]);
35041
+ rootAnimation.addAnimation([
35042
+ enteringBackButtonTextAnimation,
35043
+ enteringBackButtonIconAnimation,
35044
+ enteringBackButtonAnimation,
35045
+ ]);
34952
35046
  };
34953
- const animateLargeTitle = (rootAnimation, rtl, backDirection, largeTitleEl, largeTitleBox, backButtonBox) => {
34954
- const TITLE_START_OFFSET = rtl ? `calc(100% - ${largeTitleBox.right}px)` : `${largeTitleBox.left}px`;
34955
- const START_TRANSLATE = rtl ? '-18px' : '18px';
35047
+ const animateLargeTitle = (rootAnimation, rtl, backDirection, largeTitleEl, largeTitleBox, largeTitleTextBox, backButtonTextEl, backButtonTextBox) => {
35048
+ var _a, _b;
35049
+ /**
35050
+ * The horizontal transform origin for the large title
35051
+ */
34956
35052
  const ORIGIN_X = rtl ? 'right' : 'left';
35053
+ const TITLE_START_OFFSET = rtl ? `calc(100% - ${largeTitleBox.right}px)` : `${largeTitleBox.left}px`;
35054
+ /**
35055
+ * The cloned large should align exactly with the
35056
+ * real large title on the leaving page otherwise there will
35057
+ * be a layout shift.
35058
+ */
35059
+ const START_TRANSLATE_X = '0px';
35060
+ const START_TRANSLATE_Y = `${largeTitleBox.top}px`;
35061
+ /**
35062
+ * How much to offset the large title translation by.
35063
+ * This accounts for differences in sizing between the large
35064
+ * title and the back button due to padding and font weight.
35065
+ */
35066
+ const LARGE_TITLE_TRANSLATION_OFFSET = 8;
35067
+ /**
35068
+ * The scaled title should (roughly) overlap the back button.
35069
+ * This ensures that the back button and title overlap during
35070
+ * the animation. Note that since both elements either fade in
35071
+ * or fade out over the course of the animation, neither element
35072
+ * will be fully visible on top of the other. As a result, the overlap
35073
+ * does not need to be perfect, so approximate values are acceptable here.
35074
+ */
35075
+ const END_TRANSLATE_X = rtl
35076
+ ? `-${window.innerWidth - backButtonTextBox.right - LARGE_TITLE_TRANSLATION_OFFSET}px`
35077
+ : `${backButtonTextBox.x - LARGE_TITLE_TRANSLATION_OFFSET}px`;
35078
+ /**
35079
+ * The top of the scaled large title
35080
+ * should match with the top of the
35081
+ * back button text element.
35082
+ * We subtract 2px to account for the top padding
35083
+ * on the large title element.
35084
+ */
35085
+ const LARGE_TITLE_TOP_PADDING = 2;
35086
+ const END_TRANSLATE_Y = `${backButtonTextBox.y - LARGE_TITLE_TOP_PADDING}px`;
35087
+ /**
35088
+ * In the forward direction, the large title should start at its
35089
+ * normal size and then scale down to be (roughly) the size of the
35090
+ * back button on the other view. In the backward direction, the
35091
+ * large title should start at (roughly) the size of the back button
35092
+ * and then scale up to its original size.
35093
+ *
35094
+ * Note that since both elements either fade in
35095
+ * or fade out over the course of the animation, neither element
35096
+ * will be fully visible on top of the other. As a result, the overlap
35097
+ * does not need to be perfect, so approximate values are acceptable here.
35098
+ */
35099
+ /**
35100
+ * When the title and back button texts match
35101
+ * then they should overlap during the page transition.
35102
+ * If the texts do not match up then the large title text scale adjusts
35103
+ * to not perfectly match the back button text otherwise the
35104
+ * proportions will be incorrect.
35105
+ * When the texts match we scale both the width and height to account for
35106
+ * font weight differences between the title and back button.
35107
+ */
35108
+ const doTitleAndButtonTextsMatch = ((_a = backButtonTextEl.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === ((_b = largeTitleEl.textContent) === null || _b === void 0 ? void 0 : _b.trim());
35109
+ const WIDTH_SCALE = backButtonTextBox.width / largeTitleTextBox.width;
35110
+ const HEIGHT_SCALE = backButtonTextBox.height / (largeTitleTextBox.height - LARGE_TITLE_SIZE_OFFSET);
35111
+ const START_SCALE = 'scale(1)';
35112
+ const END_SCALE = doTitleAndButtonTextsMatch ? `scale(${WIDTH_SCALE}, ${HEIGHT_SCALE})` : `scale(${HEIGHT_SCALE})`;
34957
35113
  const BACKWARDS_KEYFRAMES = [
34958
- { offset: 0, opacity: 0, transform: `translate3d(${START_TRANSLATE}, ${backButtonBox.top - 4}px, 0) scale(0.49)` },
35114
+ { offset: 0, opacity: 0, transform: `translate3d(${END_TRANSLATE_X}, ${END_TRANSLATE_Y}, 0) ${END_SCALE}` },
34959
35115
  { offset: 0.1, opacity: 0 },
34960
- { offset: 1, opacity: 1, transform: `translate3d(0, ${largeTitleBox.top + 2}px, 0) scale(1)` },
35116
+ { offset: 1, opacity: 1, transform: `translate3d(${START_TRANSLATE_X}, ${START_TRANSLATE_Y}, 0) ${START_SCALE}` },
34961
35117
  ];
34962
35118
  const FORWARDS_KEYFRAMES = [
34963
- { offset: 0, opacity: 0.99, transform: `translate3d(0, ${largeTitleBox.top + 2}px, 0) scale(1)` },
35119
+ {
35120
+ offset: 0,
35121
+ opacity: 0.99,
35122
+ transform: `translate3d(${START_TRANSLATE_X}, ${START_TRANSLATE_Y}, 0) ${START_SCALE}`,
35123
+ },
34964
35124
  { offset: 0.6, opacity: 0 },
34965
- { offset: 1, opacity: 0, transform: `translate3d(${START_TRANSLATE}, ${backButtonBox.top - 4}px, 0) scale(0.5)` },
35125
+ { offset: 1, opacity: 0, transform: `translate3d(${END_TRANSLATE_X}, ${END_TRANSLATE_Y}, 0) ${END_SCALE}` },
34966
35126
  ];
34967
35127
  const KEYFRAMES = backDirection ? BACKWARDS_KEYFRAMES : FORWARDS_KEYFRAMES;
34968
35128
  const clonedTitleEl = getClonedElement('ion-title');
@@ -34973,8 +35133,14 @@ const animateLargeTitle = (rootAnimation, rtl, backDirection, largeTitleEl, larg
34973
35133
  clonedLargeTitleAnimation.addElement(clonedTitleEl);
34974
35134
  clonedLargeTitleAnimation
34975
35135
  .beforeStyles({
34976
- 'transform-origin': `${ORIGIN_X} center`,
34977
- height: '46px',
35136
+ 'transform-origin': `${ORIGIN_X} top`,
35137
+ /**
35138
+ * Since font size changes will cause
35139
+ * the dimension of the large title to change
35140
+ * we need to set the cloned title height
35141
+ * equal to that of the original large title height.
35142
+ */
35143
+ height: `${largeTitleBox.height}px`,
34978
35144
  display: '',
34979
35145
  position: 'relative',
34980
35146
  [ORIGIN_X]: TITLE_START_OFFSET,
@@ -35287,6 +35453,16 @@ const iosTransitionAnimation = (navEl, opts) => {
35287
35453
  throw err;
35288
35454
  }
35289
35455
  };
35456
+ /**
35457
+ * The scale of the back button during the animation
35458
+ * is computed based on the scale of the large title
35459
+ * and vice versa. However, we need to account for slight
35460
+ * variations in the size of the large title due to
35461
+ * padding and font weight. This value should be used to subtract
35462
+ * a small amount from the large title height when computing scales
35463
+ * to get more accurate scale results.
35464
+ */
35465
+ const LARGE_TITLE_SIZE_OFFSET = 10;
35290
35466
 
35291
35467
  var ios_transition = /*#__PURE__*/Object.freeze({
35292
35468
  __proto__: null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "voyager-ionic-core",
3
- "version": "7.5.0",
3
+ "version": "7.5.1",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -31,20 +31,20 @@
31
31
  "loader/"
32
32
  ],
33
33
  "dependencies": {
34
- "@stencil/core": "^4.4.1",
34
+ "@stencil/core": "^4.5.0",
35
35
  "ionicons": "^7.2.1",
36
36
  "tslib": "^2.1.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@axe-core/playwright": "^4.7.3",
40
- "@capacitor/core": "^5.4.2",
39
+ "@axe-core/playwright": "^4.8.1",
40
+ "@capacitor/core": "^5.5.0",
41
41
  "@capacitor/haptics": "^5.0.6",
42
42
  "@capacitor/keyboard": "^5.0.6",
43
43
  "@capacitor/status-bar": "^5.0.6",
44
44
  "@ionic/eslint-config": "^0.3.0",
45
45
  "@ionic/prettier-config": "^2.0.0",
46
46
  "@jest/core": "^27.5.1",
47
- "@playwright/test": "^1.38.1",
47
+ "@playwright/test": "^1.39.0",
48
48
  "@rollup/plugin-node-resolve": "^8.4.0",
49
49
  "@rollup/plugin-virtual": "^2.0.3",
50
50
  "@stencil/angular-output-target": "^0.8.2",
@@ -1,4 +0,0 @@
1
- import{__awaiter,__generator}from"tslib";
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */import{w as writeTask,B as Build}from"./index-b49b173c.js";import{r as raf}from"./helpers-3379ba19.js";var LIFECYCLE_WILL_ENTER="ionViewWillEnter";var LIFECYCLE_DID_ENTER="ionViewDidEnter";var LIFECYCLE_WILL_LEAVE="ionViewWillLeave";var LIFECYCLE_DID_LEAVE="ionViewDidLeave";var LIFECYCLE_WILL_UNLOAD="ionViewWillUnload";var iosTransitionAnimation=function(){return import("./ios.transition-a86d7bbe.js")};var mdTransitionAnimation=function(){return import("./md.transition-365ef6b6.js")};var transition=function(e){return new Promise((function(n,i){writeTask((function(){beforeTransition(e);runTransition(e).then((function(i){if(i.animation){i.animation.destroy()}afterTransition(e);n(i)}),(function(n){afterTransition(e);i(n)}))}))}))};var beforeTransition=function(e){var n=e.enteringEl;var i=e.leavingEl;setZIndex(n,i,e.direction);if(e.showGoBack){n.classList.add("can-go-back")}else{n.classList.remove("can-go-back")}setPageHidden(n,false);n.style.setProperty("pointer-events","none");if(i){setPageHidden(i,false);i.style.setProperty("pointer-events","none")}};var runTransition=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,i;return __generator(this,(function(r){switch(r.label){case 0:return[4,getAnimationBuilder(e)];case 1:n=r.sent();i=n&&Build.isBrowser?animation(n,e):noAnimation(e);return[2,i]}}))}))};var afterTransition=function(e){var n=e.enteringEl;var i=e.leavingEl;n.classList.remove("ion-page-invisible");n.style.removeProperty("pointer-events");if(i!==undefined){i.classList.remove("ion-page-invisible");i.style.removeProperty("pointer-events")}};var getAnimationBuilder=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,i;return __generator(this,(function(r){switch(r.label){case 0:if(!e.leavingEl||!e.animated||e.duration===0){return[2,undefined]}if(e.animationBuilder){return[2,e.animationBuilder]}if(!(e.mode==="ios"))return[3,2];return[4,iosTransitionAnimation()];case 1:i=r.sent().iosTransitionAnimation;return[3,4];case 2:return[4,mdTransitionAnimation()];case 3:i=r.sent().mdTransitionAnimation;r.label=4;case 4:n=i;return[2,n]}}))}))};var animation=function(e,n){return __awaiter(void 0,void 0,void 0,(function(){var i,r;return __generator(this,(function(t){switch(t.label){case 0:return[4,waitForReady(n,true)];case 1:t.sent();i=e(n.baseEl,n);fireWillEvents(n.enteringEl,n.leavingEl);return[4,playTransition(i,n)];case 2:r=t.sent();if(n.progressCallback){n.progressCallback(undefined)}if(r){fireDidEvents(n.enteringEl,n.leavingEl)}return[2,{hasCompleted:r,animation:i}]}}))}))};var noAnimation=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,i;return __generator(this,(function(r){switch(r.label){case 0:n=e.enteringEl;i=e.leavingEl;return[4,waitForReady(e,false)];case 1:r.sent();fireWillEvents(n,i);fireDidEvents(n,i);return[2,{hasCompleted:true}]}}))}))};var waitForReady=function(e,n){return __awaiter(void 0,void 0,void 0,(function(){var i;return __generator(this,(function(r){switch(r.label){case 0:i=e.deepWait!==undefined?e.deepWait:n;if(!i)return[3,2];return[4,Promise.all([deepReady(e.enteringEl),deepReady(e.leavingEl)])];case 1:r.sent();r.label=2;case 2:return[4,notifyViewReady(e.viewIsReady,e.enteringEl)];case 3:r.sent();return[2]}}))}))};var notifyViewReady=function(e,n){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(i){switch(i.label){case 0:if(!e)return[3,2];return[4,e(n)];case 1:i.sent();i.label=2;case 2:return[2]}}))}))};var playTransition=function(e,n){var i=n.progressCallback;var r=new Promise((function(n){e.onFinish((function(e){return n(e===1)}))}));if(i){e.progressStart(true);i(e)}else{e.play()}return r};var fireWillEvents=function(e,n){lifecycle(n,LIFECYCLE_WILL_LEAVE);lifecycle(e,LIFECYCLE_WILL_ENTER)};var fireDidEvents=function(e,n){lifecycle(e,LIFECYCLE_DID_ENTER);lifecycle(n,LIFECYCLE_DID_LEAVE)};var lifecycle=function(e,n){if(e){var i=new CustomEvent(n,{bubbles:false,cancelable:false});e.dispatchEvent(i)}};var waitForMount=function(){return new Promise((function(e){return raf((function(){return raf((function(){return e()}))}))}))};var deepReady=function(e){return __awaiter(void 0,void 0,void 0,(function(){var n,i,r;return __generator(this,(function(t){switch(t.label){case 0:n=e;if(!n)return[3,6];if(!(n.componentOnReady!=null))return[3,2];return[4,n.componentOnReady()];case 1:i=t.sent();if(i!=null){return[2]}return[3,4];case 2:if(!(n.__registerHost!=null))return[3,4];r=new Promise((function(e){return raf(e)}));return[4,r];case 3:t.sent();return[2];case 4:return[4,Promise.all(Array.from(n.children).map(deepReady))];case 5:t.sent();t.label=6;case 6:return[2]}}))}))};var setPageHidden=function(e,n){if(n){e.setAttribute("aria-hidden","true");e.classList.add("ion-page-hidden")}else{e.hidden=false;e.removeAttribute("aria-hidden");e.classList.remove("ion-page-hidden")}};var setZIndex=function(e,n,i){if(e!==undefined){e.style.zIndex=i==="back"?"99":"101"}if(n!==undefined){n.style.zIndex="100"}};var getIonPageElement=function(e){if(e.classList.contains("ion-page")){return e}var n=e.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs");if(n){return n}return e};export{LIFECYCLE_WILL_ENTER as L,LIFECYCLE_DID_ENTER as a,LIFECYCLE_WILL_LEAVE as b,LIFECYCLE_DID_LEAVE as c,LIFECYCLE_WILL_UNLOAD as d,deepReady as e,getIonPageElement as g,lifecycle as l,setPageHidden as s,transition as t,waitForMount as w};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{c as createAnimation}from"./animation-92066c62.js";import{g as getIonPageElement}from"./index-7d2b2808.js";import"./index-7a14ecec.js";import"./helpers-3379ba19.js";import"./index-b49b173c.js";var DURATION=540;var getClonedElement=function(t){return document.querySelector("".concat(t,".ion-cloned-element"))};var shadow=function(t){return t.shadowRoot||t};var getLargeTitle=function(t){var e=t.tagName==="ION-TABS"?t:t.querySelector("ion-tabs");var a="ion-content ion-header:not(.header-collapse-condense-inactive) ion-title.title-large";if(e!=null){var o=e.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");return o!=null?o.querySelector(a):null}return t.querySelector(a)};var getBackButton=function(t,e){var a=t.tagName==="ION-TABS"?t:t.querySelector("ion-tabs");var o=[];if(a!=null){var r=a.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");if(r!=null){o=r.querySelectorAll("ion-buttons")}}else{o=t.querySelectorAll("ion-buttons")}for(var n=0,i=o;n<i.length;n++){var l=i[n];var c=l.closest("ion-header");var s=c&&!c.classList.contains("header-collapse-condense-inactive");var f=l.querySelector("ion-back-button");var d=l.classList.contains("buttons-collapse");var m=l.slot==="start"||l.slot==="";if(f!==null&&m&&(d&&s&&e||!d)){return f}}return null};var createLargeTitleTransition=function(t,e,a,o,r){var n=getBackButton(o,a);var i=getLargeTitle(r);var l=getLargeTitle(o);var c=getBackButton(r,a);var s=n!==null&&i!==null&&!a;var f=l!==null&&c!==null&&a;if(s){var d=i.getBoundingClientRect();var m=n.getBoundingClientRect();animateLargeTitle(t,e,a,i,d,m);animateBackButton(t,e,a,n,d,m)}else if(f){var v=l.getBoundingClientRect();var p=c.getBoundingClientRect();animateLargeTitle(t,e,a,l,v,p);animateBackButton(t,e,a,c,v,p)}return{forward:s,backward:f}};var animateBackButton=function(t,e,a,o,r,n){var i=e?"calc(100% - ".concat(n.right+4,"px)"):"".concat(n.left-4,"px");var l=e?"7px":"-7px";var c=e?"-4px":"4px";var s=e?"-4px":"4px";var f=e?"right":"left";var d=e?"left":"right";var m=[{offset:0,opacity:0,transform:"translate3d(".concat(l,", ").concat(r.top-40,"px, 0) scale(2.1)")},{offset:1,opacity:1,transform:"translate3d(".concat(c,", ").concat(n.top-46,"px, 0) scale(1)")}];var v=[{offset:0,opacity:1,transform:"translate3d(".concat(c,", ").concat(n.top-46,"px, 0) scale(1)")},{offset:.6,opacity:0},{offset:1,opacity:0,transform:"translate3d(".concat(l,", ").concat(r.top-40,"px, 0) scale(2.1)")}];var p=a?v:m;var u=[{offset:0,opacity:0,transform:"translate3d(".concat(s,", ").concat(n.top-41,"px, 0) scale(0.6)")},{offset:1,opacity:1,transform:"translate3d(".concat(s,", ").concat(n.top-46,"px, 0) scale(1)")}];var y=[{offset:0,opacity:1,transform:"translate3d(".concat(s,", ").concat(n.top-46,"px, 0) scale(1)")},{offset:.2,opacity:0,transform:"translate3d(".concat(s,", ").concat(n.top-41,"px, 0) scale(0.6)")},{offset:1,opacity:0,transform:"translate3d(".concat(s,", ").concat(n.top-41,"px, 0) scale(0.6)")}];var b=a?y:u;var g=createAnimation();var A=createAnimation();var S=getClonedElement("ion-back-button");var T=shadow(S).querySelector(".button-text");var h=shadow(S).querySelector("ion-icon");S.text=o.text;S.mode=o.mode;S.icon=o.icon;S.color=o.color;S.disabled=o.disabled;S.style.setProperty("display","block");S.style.setProperty("position","fixed");A.addElement(h);g.addElement(T);g.beforeStyles({"transform-origin":"".concat(f," center")}).beforeAddWrite((function(){o.style.setProperty("display","none");S.style.setProperty(f,i)})).afterAddWrite((function(){o.style.setProperty("display","");S.style.setProperty("display","none");S.style.removeProperty(f)})).keyframes(p);A.beforeStyles({"transform-origin":"".concat(d," center")}).keyframes(b);t.addAnimation([g,A])};var animateLargeTitle=function(t,e,a,o,r,n){var i;var l=e?"calc(100% - ".concat(r.right,"px)"):"".concat(r.left,"px");var c=e?"-18px":"18px";var s=e?"right":"left";var f=[{offset:0,opacity:0,transform:"translate3d(".concat(c,", ").concat(n.top-4,"px, 0) scale(0.49)")},{offset:.1,opacity:0},{offset:1,opacity:1,transform:"translate3d(0, ".concat(r.top+2,"px, 0) scale(1)")}];var d=[{offset:0,opacity:.99,transform:"translate3d(0, ".concat(r.top+2,"px, 0) scale(1)")},{offset:.6,opacity:0},{offset:1,opacity:0,transform:"translate3d(".concat(c,", ").concat(n.top-4,"px, 0) scale(0.5)")}];var m=a?f:d;var v=getClonedElement("ion-title");var p=createAnimation();v.innerText=o.innerText;v.size=o.size;v.color=o.color;p.addElement(v);p.beforeStyles((i={"transform-origin":"".concat(s," center"),height:"46px",display:"",position:"relative"},i[s]=l,i)).beforeAddWrite((function(){o.style.setProperty("opacity","0")})).afterAddWrite((function(){o.style.setProperty("opacity","");v.style.setProperty("display","none")})).keyframes(m);t.addAnimation(p)};var iosTransitionAnimation=function(t,e){var a;try{var o="cubic-bezier(0.32,0.72,0,1)";var r="opacity";var n="transform";var i="0%";var l=.8;var c=t.ownerDocument.dir==="rtl";var s=c?"-99.5%":"99.5%";var f=c?"33%":"-33%";var d=e.enteringEl;var m=e.leavingEl;var v=e.direction==="back";var p=d.querySelector(":scope > ion-content");var u=d.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *");var y=d.querySelectorAll(":scope > ion-header > ion-toolbar");var b=createAnimation();var g=createAnimation();b.addElement(d).duration(((a=e.duration)!==null&&a!==void 0?a:0)||DURATION).easing(e.easing||o).fill("both").beforeRemoveClass("ion-page-invisible");if(m&&t!==null&&t!==undefined){var A=createAnimation();A.addElement(t);b.addAnimation(A)}if(!p&&y.length===0&&u.length===0){g.addElement(d.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs"))}else{g.addElement(p);g.addElement(u)}b.addAnimation(g);if(v){g.beforeClearStyles([r]).fromTo("transform","translateX(".concat(f,")"),"translateX(".concat(i,")")).fromTo(r,l,1)}else{g.beforeClearStyles([r]).fromTo("transform","translateX(".concat(s,")"),"translateX(".concat(i,")"))}if(p){var S=shadow(p).querySelector(".transition-effect");if(S){var T=S.querySelector(".transition-cover");var h=S.querySelector(".transition-shadow");var x=createAnimation();var E=createAnimation();var q=createAnimation();x.addElement(S).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""});E.addElement(T).beforeClearStyles([r]).fromTo(r,0,.1);q.addElement(h).beforeClearStyles([r]).fromTo(r,.03,.7);x.addAnimation([E,q]);g.addAnimation([x])}}var X=d.querySelector("ion-header.header-collapse-condense");var C=createLargeTitleTransition(b,c,v,d,m),k=C.forward,w=C.backward;y.forEach((function(t){var e=createAnimation();e.addElement(t);b.addAnimation(e);var a=createAnimation();a.addElement(t.querySelector("ion-title"));var o=createAnimation();var n=Array.from(t.querySelectorAll("ion-buttons,[menuToggle]"));var l=t.closest("ion-header");var d=l===null||l===void 0?void 0:l.classList.contains("header-collapse-condense-inactive");var m;if(v){m=n.filter((function(t){var e=t.classList.contains("buttons-collapse");return e&&!d||!e}))}else{m=n.filter((function(t){return!t.classList.contains("buttons-collapse")}))}o.addElement(m);var p=createAnimation();p.addElement(t.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])"));var u=createAnimation();u.addElement(shadow(t).querySelector(".toolbar-background"));var y=createAnimation();var g=t.querySelector("ion-back-button");if(g){y.addElement(g)}e.addAnimation([a,o,p,u,y]);o.fromTo(r,.01,1);p.fromTo(r,.01,1);if(v){if(!d){a.fromTo("transform","translateX(".concat(f,")"),"translateX(".concat(i,")")).fromTo(r,.01,1)}p.fromTo("transform","translateX(".concat(f,")"),"translateX(".concat(i,")"));y.fromTo(r,.01,1)}else{if(!X){a.fromTo("transform","translateX(".concat(s,")"),"translateX(".concat(i,")")).fromTo(r,.01,1)}p.fromTo("transform","translateX(".concat(s,")"),"translateX(".concat(i,")"));u.beforeClearStyles([r,"transform"]);var A=l===null||l===void 0?void 0:l.translucent;if(!A){u.fromTo(r,.01,"var(--opacity)")}else{u.fromTo("transform",c?"translateX(-100%)":"translateX(100%)","translateX(0px)")}if(!k){y.fromTo(r,.01,1)}if(g&&!k){var S=createAnimation();S.addElement(shadow(g).querySelector(".button-text")).fromTo("transform",c?"translateX(-100px)":"translateX(100px)","translateX(0px)");e.addAnimation(S)}}}));if(m){var B=createAnimation();var L=m.querySelector(":scope > ion-content");var P=m.querySelectorAll(":scope > ion-header > ion-toolbar");var R=m.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *");if(!L&&P.length===0&&R.length===0){B.addElement(m.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs"))}else{B.addElement(L);B.addElement(R)}b.addAnimation(B);if(v){B.beforeClearStyles([r]).fromTo("transform","translateX(".concat(i,")"),c?"translateX(-100%)":"translateX(100%)");var I=getIonPageElement(m);b.afterAddWrite((function(){if(b.getDirection()==="normal"){I.style.setProperty("display","none")}}))}else{B.fromTo("transform","translateX(".concat(i,")"),"translateX(".concat(f,")")).fromTo(r,1,l)}if(L){var N=shadow(L).querySelector(".transition-effect");if(N){var j=N.querySelector(".transition-cover");var W=N.querySelector(".transition-shadow");var D=createAnimation();var O=createAnimation();var z=createAnimation();D.addElement(N).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""});O.addElement(j).beforeClearStyles([r]).fromTo(r,.1,0);z.addElement(W).beforeClearStyles([r]).fromTo(r,.7,.03);D.addAnimation([O,z]);B.addAnimation([D])}}P.forEach((function(t){var e=createAnimation();e.addElement(t);var a=createAnimation();a.addElement(t.querySelector("ion-title"));var o=createAnimation();var l=t.querySelectorAll("ion-buttons,[menuToggle]");var s=t.closest("ion-header");var d=s===null||s===void 0?void 0:s.classList.contains("header-collapse-condense-inactive");var m=Array.from(l).filter((function(t){var e=t.classList.contains("buttons-collapse");return e&&!d||!e}));o.addElement(m);var p=createAnimation();var u=t.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])");if(u.length>0){p.addElement(u)}var y=createAnimation();y.addElement(shadow(t).querySelector(".toolbar-background"));var g=createAnimation();var A=t.querySelector("ion-back-button");if(A){g.addElement(A)}e.addAnimation([a,o,p,g,y]);b.addAnimation(e);g.fromTo(r,.99,0);o.fromTo(r,.99,0);p.fromTo(r,.99,0);if(v){if(!d){a.fromTo("transform","translateX(".concat(i,")"),c?"translateX(-100%)":"translateX(100%)").fromTo(r,.99,0)}p.fromTo("transform","translateX(".concat(i,")"),c?"translateX(-100%)":"translateX(100%)");y.beforeClearStyles([r,"transform"]);var S=s===null||s===void 0?void 0:s.translucent;if(!S){y.fromTo(r,"var(--opacity)",0)}else{y.fromTo("transform","translateX(0px)",c?"translateX(-100%)":"translateX(100%)")}if(A&&!w){var T=createAnimation();T.addElement(shadow(A).querySelector(".button-text")).fromTo("transform","translateX(".concat(i,")"),"translateX(".concat((c?-124:124)+"px",")"));e.addAnimation(T)}}else{if(!d){a.fromTo("transform","translateX(".concat(i,")"),"translateX(".concat(f,")")).fromTo(r,.99,0).afterClearStyles([n,r])}p.fromTo("transform","translateX(".concat(i,")"),"translateX(".concat(f,")")).afterClearStyles([n,r]);g.afterClearStyles([r]);a.afterClearStyles([r]);o.afterClearStyles([r])}}))}return b}catch(t){throw t}};export{iosTransitionAnimation,shadow};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{c as createAnimation}from"./animation-92066c62.js";import{g as getIonPageElement}from"./index-7d2b2808.js";import"./index-7a14ecec.js";import"./helpers-3379ba19.js";import"./index-b49b173c.js";var mdTransitionAnimation=function(n,e){var a,i,t;var o="40px";var r="0px";var m=e.direction==="back";var l=e.enteringEl;var c=e.leavingEl;var s=getIonPageElement(l);var d=s.querySelector("ion-toolbar");var v=createAnimation();v.addElement(s).fill("both").beforeRemoveClass("ion-page-invisible");if(m){v.duration(((a=e.duration)!==null&&a!==void 0?a:0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)")}else{v.duration(((i=e.duration)!==null&&i!==void 0?i:0)||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform","translateY(".concat(o,")"),"translateY(".concat(r,")")).fromTo("opacity",.01,1)}if(d){var f=createAnimation();f.addElement(d);v.addAnimation(f)}if(c&&m){v.duration(((t=e.duration)!==null&&t!==void 0?t:0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)");var u=createAnimation();u.addElement(getIonPageElement(c)).onFinish((function(n){if(n===1&&u.elements.length>0){u.elements[0].style.setProperty("display","none")}})).fromTo("transform","translateY(".concat(r,")"),"translateY(".concat(o,")")).fromTo("opacity",1,0);v.addAnimation(u)}return v};export{mdTransitionAnimation};
@@ -1,4 +0,0 @@
1
- var __awaiter=this&&this.__awaiter||function(e,n,r,t){function i(e){return e instanceof r?e:new r((function(n){n(e)}))}return new(r||(r=Promise))((function(r,a){function o(e){try{u(t.next(e))}catch(e){a(e)}}function s(e){try{u(t["throw"](e))}catch(e){a(e)}}function u(e){e.done?r(e.value):i(e.value).then(o,s)}u((t=t.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},t,i,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(n){return u([e,n])}}function u(s){if(t)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(r=0)),r)try{if(t=1,i&&(a=s[0]&2?i["return"]:s[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;if(i=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;i=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(a=r.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){r.label=s[1];break}if(s[0]===6&&r.label<a[1]){r.label=a[1];a=s;break}if(a&&r.label<a[2]){r.label=a[2];r.ops.push(s);break}if(a[2])r.ops.pop();r.trys.pop();continue}s=n.call(e,r)}catch(e){s=[6,e];i=0}finally{t=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */System.register(["./p-629aa3fd.system.js","./p-815c2fba.system.js"],(function(e,n){"use strict";var r,t,i;return{setters:[function(e){r=e.w;t=e.B},function(e){i=e.r}],execute:function(){var a=this;var o=e("L","ionViewWillEnter");var s=e("a","ionViewDidEnter");var u=e("b","ionViewWillLeave");var c=e("c","ionViewDidLeave");var l=e("d","ionViewWillUnload");var f=function(){return n.import("./p-b9047b05.system.js")};var v=function(){return n.import("./p-c994fff0.system.js")};var d=e("t",(function(e){return new Promise((function(n,t){r((function(){p(e);h(e).then((function(r){if(r.animation){r.animation.destroy()}b(e);n(r)}),(function(n){b(e);t(n)}))}))}))}));var p=function(e){var n=e.enteringEl;var r=e.leavingEl;B(n,r,e.direction);if(e.showGoBack){n.classList.add("can-go-back")}else{n.classList.remove("can-go-back")}A(n,false);n.style.setProperty("pointer-events","none");if(r){A(r,false);r.style.setProperty("pointer-events","none")}};var h=function(e){return __awaiter(a,void 0,void 0,(function(){var n,r;return __generator(this,(function(i){switch(i.label){case 0:return[4,w(e)];case 1:n=i.sent();r=n&&t.isBrowser?g(n,e):m(e);return[2,r]}}))}))};var b=function(e){var n=e.enteringEl;var r=e.leavingEl;n.classList.remove("ion-page-invisible");n.style.removeProperty("pointer-events");if(r!==undefined){r.classList.remove("ion-page-invisible");r.style.removeProperty("pointer-events")}};var w=function(e){return __awaiter(a,void 0,void 0,(function(){var n,r;return __generator(this,(function(t){switch(t.label){case 0:if(!e.leavingEl||!e.animated||e.duration===0){return[2,undefined]}if(e.animationBuilder){return[2,e.animationBuilder]}if(!(e.mode==="ios"))return[3,2];return[4,f()];case 1:r=t.sent().iosTransitionAnimation;return[3,4];case 2:return[4,v()];case 3:r=t.sent().mdTransitionAnimation;t.label=4;case 4:n=r;return[2,n]}}))}))};var g=function(e,n){return __awaiter(a,void 0,void 0,(function(){var r,t;return __generator(this,(function(i){switch(i.label){case 0:return[4,_(n,true)];case 1:i.sent();r=e(n.baseEl,n);k(n.enteringEl,n.leavingEl);return[4,E(r,n)];case 2:t=i.sent();if(n.progressCallback){n.progressCallback(undefined)}if(t){P(n.enteringEl,n.leavingEl)}return[2,{hasCompleted:t,animation:r}]}}))}))};var m=function(e){return __awaiter(a,void 0,void 0,(function(){var n,r;return __generator(this,(function(t){switch(t.label){case 0:n=e.enteringEl;r=e.leavingEl;return[4,_(e,false)];case 1:t.sent();k(n,r);P(n,r);return[2,{hasCompleted:true}]}}))}))};var _=function(e,n){return __awaiter(a,void 0,void 0,(function(){var r;return __generator(this,(function(t){switch(t.label){case 0:r=e.deepWait!==undefined?e.deepWait:n;if(!r)return[3,2];return[4,Promise.all([C(e.enteringEl),C(e.leavingEl)])];case 1:t.sent();t.label=2;case 2:return[4,y(e.viewIsReady,e.enteringEl)];case 3:t.sent();return[2]}}))}))};var y=function(e,n){return __awaiter(a,void 0,void 0,(function(){return __generator(this,(function(r){switch(r.label){case 0:if(!e)return[3,2];return[4,e(n)];case 1:r.sent();r.label=2;case 2:return[2]}}))}))};var E=function(e,n){var r=n.progressCallback;var t=new Promise((function(n){e.onFinish((function(e){return n(e===1)}))}));if(r){e.progressStart(true);r(e)}else{e.play()}return t};var k=function(e,n){L(n,u);L(e,o)};var P=function(e,n){L(e,s);L(n,c)};var L=e("l",(function(e,n){if(e){var r=new CustomEvent(n,{bubbles:false,cancelable:false});e.dispatchEvent(r)}}));var x=e("w",(function(){return new Promise((function(e){return i((function(){return i((function(){return e()}))}))}))}));var C=e("e",(function(e){return __awaiter(a,void 0,void 0,(function(){var n,r,t;return __generator(this,(function(a){switch(a.label){case 0:n=e;if(!n)return[3,6];if(!(n.componentOnReady!=null))return[3,2];return[4,n.componentOnReady()];case 1:r=a.sent();if(r!=null){return[2]}return[3,4];case 2:if(!(n.__registerHost!=null))return[3,4];t=new Promise((function(e){return i(e)}));return[4,t];case 3:a.sent();return[2];case 4:return[4,Promise.all(Array.from(n.children).map(C))];case 5:a.sent();a.label=6;case 6:return[2]}}))}))}));var A=e("s",(function(e,n){if(n){e.setAttribute("aria-hidden","true");e.classList.add("ion-page-hidden")}else{e.hidden=false;e.removeAttribute("aria-hidden");e.classList.remove("ion-page-hidden")}}));var B=function(e,n,r){if(e!==undefined){e.style.zIndex=r==="back"?"99":"101"}if(n!==undefined){n.style.zIndex="100"}};var S=e("g",(function(e){if(e.classList.contains("ion-page")){return e}var n=e.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs");if(n){return n}return e}))}}}));
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{c as t}from"./p-446230d7.js";import{g as o}from"./p-e2bb634f.js";import"./p-b347cfd1.js";import"./p-63eb0acd.js";import"./p-06ac429a.js";const n=t=>document.querySelector(`${t}.ion-cloned-element`),a=t=>t.shadowRoot||t,e=t=>{const o="ION-TABS"===t.tagName?t:t.querySelector("ion-tabs"),n="ion-content ion-header:not(.header-collapse-condense-inactive) ion-title.title-large";if(null!=o){const t=o.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");return null!=t?t.querySelector(n):null}return t.querySelector(n)},s=(t,o)=>{const n="ION-TABS"===t.tagName?t:t.querySelector("ion-tabs");let a=[];if(null!=n){const t=n.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");null!=t&&(a=t.querySelectorAll("ion-buttons"))}else a=t.querySelectorAll("ion-buttons");for(const t of a){const n=t.closest("ion-header"),a=n&&!n.classList.contains("header-collapse-condense-inactive"),e=t.querySelector("ion-back-button"),s=t.classList.contains("buttons-collapse");if(null!==e&&("start"===t.slot||""===t.slot)&&(s&&a&&o||!s))return e}return null},r=(o,e,s,r,i,l)=>{const c=e?`calc(100% - ${l.right+4}px)`:l.left-4+"px",p=e?"7px":"-7px",f=e?"-4px":"4px",d=e?"-4px":"4px",$=e?"right":"left",b=e?"left":"right",u=s?[{offset:0,opacity:1,transform:`translate3d(${f}, ${l.top-46}px, 0) scale(1)`},{offset:.6,opacity:0},{offset:1,opacity:0,transform:`translate3d(${p}, ${i.top-40}px, 0) scale(2.1)`}]:[{offset:0,opacity:0,transform:`translate3d(${p}, ${i.top-40}px, 0) scale(2.1)`},{offset:1,opacity:1,transform:`translate3d(${f}, ${l.top-46}px, 0) scale(1)`}],m=s?[{offset:0,opacity:1,transform:`translate3d(${d}, ${l.top-46}px, 0) scale(1)`},{offset:.2,opacity:0,transform:`translate3d(${d}, ${l.top-41}px, 0) scale(0.6)`},{offset:1,opacity:0,transform:`translate3d(${d}, ${l.top-41}px, 0) scale(0.6)`}]:[{offset:0,opacity:0,transform:`translate3d(${d}, ${l.top-41}px, 0) scale(0.6)`},{offset:1,opacity:1,transform:`translate3d(${d}, ${l.top-46}px, 0) scale(1)`}],y=t(),X=t(),x=n("ion-back-button"),h=a(x).querySelector(".button-text"),g=a(x).querySelector("ion-icon");x.text=r.text,x.mode=r.mode,x.icon=r.icon,x.color=r.color,x.disabled=r.disabled,x.style.setProperty("display","block"),x.style.setProperty("position","fixed"),X.addElement(g),y.addElement(h),y.beforeStyles({"transform-origin":`${$} center`}).beforeAddWrite((()=>{r.style.setProperty("display","none"),x.style.setProperty($,c)})).afterAddWrite((()=>{r.style.setProperty("display",""),x.style.setProperty("display","none"),x.style.removeProperty($)})).keyframes(u),X.beforeStyles({"transform-origin":`${b} center`}).keyframes(m),o.addAnimation([y,X])},i=(o,a,e,s,r,i)=>{const l=a?`calc(100% - ${r.right}px)`:`${r.left}px`,c=a?"-18px":"18px",p=a?"right":"left",f=e?[{offset:0,opacity:0,transform:`translate3d(${c}, ${i.top-4}px, 0) scale(0.49)`},{offset:.1,opacity:0},{offset:1,opacity:1,transform:`translate3d(0, ${r.top+2}px, 0) scale(1)`}]:[{offset:0,opacity:.99,transform:`translate3d(0, ${r.top+2}px, 0) scale(1)`},{offset:.6,opacity:0},{offset:1,opacity:0,transform:`translate3d(${c}, ${i.top-4}px, 0) scale(0.5)`}],d=n("ion-title"),$=t();d.innerText=s.innerText,d.size=s.size,d.color=s.color,$.addElement(d),$.beforeStyles({"transform-origin":`${p} center`,height:"46px",display:"",position:"relative",[p]:l}).beforeAddWrite((()=>{s.style.setProperty("opacity","0")})).afterAddWrite((()=>{s.style.setProperty("opacity",""),d.style.setProperty("display","none")})).keyframes(f),o.addAnimation($)},l=(n,l)=>{var c;try{const p="cubic-bezier(0.32,0.72,0,1)",f="opacity",d="transform",$="0%",b=.8,u="rtl"===n.ownerDocument.dir,m=u?"-99.5%":"99.5%",y=u?"33%":"-33%",X=l.enteringEl,x=l.leavingEl,h="back"===l.direction,g=X.querySelector(":scope > ion-content"),v=X.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *"),k=X.querySelectorAll(":scope > ion-header > ion-toolbar"),w=t(),T=t();if(w.addElement(X).duration((null!==(c=l.duration)&&void 0!==c?c:0)||540).easing(l.easing||p).fill("both").beforeRemoveClass("ion-page-invisible"),x&&null!=n){const o=t();o.addElement(n),w.addAnimation(o)}if(g||0!==k.length||0!==v.length?(T.addElement(g),T.addElement(v)):T.addElement(X.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")),w.addAnimation(T),h?T.beforeClearStyles([f]).fromTo("transform",`translateX(${y})`,`translateX(${$})`).fromTo(f,b,1):T.beforeClearStyles([f]).fromTo("transform",`translateX(${m})`,`translateX(${$})`),g){const o=a(g).querySelector(".transition-effect");if(o){const n=o.querySelector(".transition-cover"),a=o.querySelector(".transition-shadow"),e=t(),s=t(),r=t();e.addElement(o).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""}),s.addElement(n).beforeClearStyles([f]).fromTo(f,0,.1),r.addElement(a).beforeClearStyles([f]).fromTo(f,.03,.7),e.addAnimation([s,r]),T.addAnimation([e])}}const j=X.querySelector("ion-header.header-collapse-condense"),{forward:A,backward:B}=((t,o,n,a,l)=>{const c=s(a,n),p=e(l),f=e(a),d=s(l,n),$=null!==c&&null!==p&&!n,b=null!==f&&null!==d&&n;if($){const a=p.getBoundingClientRect(),e=c.getBoundingClientRect();i(t,o,n,p,a,e),r(t,o,n,c,a,e)}else if(b){const a=f.getBoundingClientRect(),e=d.getBoundingClientRect();i(t,o,n,f,a,e),r(t,o,n,d,a,e)}return{forward:$,backward:b}})(w,u,h,X,x);if(k.forEach((o=>{const n=t();n.addElement(o),w.addAnimation(n);const e=t();e.addElement(o.querySelector("ion-title"));const s=t(),r=Array.from(o.querySelectorAll("ion-buttons,[menuToggle]")),i=o.closest("ion-header"),l=null==i?void 0:i.classList.contains("header-collapse-condense-inactive");let c;c=r.filter(h?t=>{const o=t.classList.contains("buttons-collapse");return o&&!l||!o}:t=>!t.classList.contains("buttons-collapse")),s.addElement(c);const p=t();p.addElement(o.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])"));const d=t();d.addElement(a(o).querySelector(".toolbar-background"));const b=t(),X=o.querySelector("ion-back-button");if(X&&b.addElement(X),n.addAnimation([e,s,p,d,b]),s.fromTo(f,.01,1),p.fromTo(f,.01,1),h)l||e.fromTo("transform",`translateX(${y})`,`translateX(${$})`).fromTo(f,.01,1),p.fromTo("transform",`translateX(${y})`,`translateX(${$})`),b.fromTo(f,.01,1);else if(j||e.fromTo("transform",`translateX(${m})`,`translateX(${$})`).fromTo(f,.01,1),p.fromTo("transform",`translateX(${m})`,`translateX(${$})`),d.beforeClearStyles([f,"transform"]),(null==i?void 0:i.translucent)?d.fromTo("transform",u?"translateX(-100%)":"translateX(100%)","translateX(0px)"):d.fromTo(f,.01,"var(--opacity)"),A||b.fromTo(f,.01,1),X&&!A){const o=t();o.addElement(a(X).querySelector(".button-text")).fromTo("transform",u?"translateX(-100px)":"translateX(100px)","translateX(0px)"),n.addAnimation(o)}})),x){const n=t(),e=x.querySelector(":scope > ion-content"),s=x.querySelectorAll(":scope > ion-header > ion-toolbar"),r=x.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *");if(e||0!==s.length||0!==r.length?(n.addElement(e),n.addElement(r)):n.addElement(x.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs")),w.addAnimation(n),h){n.beforeClearStyles([f]).fromTo("transform",`translateX(${$})`,u?"translateX(-100%)":"translateX(100%)");const t=o(x);w.afterAddWrite((()=>{"normal"===w.getDirection()&&t.style.setProperty("display","none")}))}else n.fromTo("transform",`translateX(${$})`,`translateX(${y})`).fromTo(f,1,b);if(e){const o=a(e).querySelector(".transition-effect");if(o){const a=o.querySelector(".transition-cover"),e=o.querySelector(".transition-shadow"),s=t(),r=t(),i=t();s.addElement(o).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""}),r.addElement(a).beforeClearStyles([f]).fromTo(f,.1,0),i.addElement(e).beforeClearStyles([f]).fromTo(f,.7,.03),s.addAnimation([r,i]),n.addAnimation([s])}}s.forEach((o=>{const n=t();n.addElement(o);const e=t();e.addElement(o.querySelector("ion-title"));const s=t(),r=o.querySelectorAll("ion-buttons,[menuToggle]"),i=o.closest("ion-header"),l=null==i?void 0:i.classList.contains("header-collapse-condense-inactive"),c=Array.from(r).filter((t=>{const o=t.classList.contains("buttons-collapse");return o&&!l||!o}));s.addElement(c);const p=t(),b=o.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])");b.length>0&&p.addElement(b);const m=t();m.addElement(a(o).querySelector(".toolbar-background"));const X=t(),x=o.querySelector("ion-back-button");if(x&&X.addElement(x),n.addAnimation([e,s,p,X,m]),w.addAnimation(n),X.fromTo(f,.99,0),s.fromTo(f,.99,0),p.fromTo(f,.99,0),h){if(l||e.fromTo("transform",`translateX(${$})`,u?"translateX(-100%)":"translateX(100%)").fromTo(f,.99,0),p.fromTo("transform",`translateX(${$})`,u?"translateX(-100%)":"translateX(100%)"),m.beforeClearStyles([f,"transform"]),(null==i?void 0:i.translucent)?m.fromTo("transform","translateX(0px)",u?"translateX(-100%)":"translateX(100%)"):m.fromTo(f,"var(--opacity)",0),x&&!B){const o=t();o.addElement(a(x).querySelector(".button-text")).fromTo("transform",`translateX(${$})`,`translateX(${(u?-124:124)+"px"})`),n.addAnimation(o)}}else l||e.fromTo("transform",`translateX(${$})`,`translateX(${y})`).fromTo(f,.99,0).afterClearStyles([d,f]),p.fromTo("transform",`translateX(${$})`,`translateX(${y})`).afterClearStyles([d,f]),X.afterClearStyles([f]),e.afterClearStyles([f]),s.afterClearStyles([f])}))}return w}catch(t){throw t}};export{l as iosTransitionAnimation,a as shadow}