@ionic/vue 8.8.14-dev.11784216165.1ecbf364 → 8.8.14-dev.11784238294.131cd99d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +52 -91
- package/dist/index.js.map +1 -1
- package/dist/types/components/IonPage.d.ts +5 -5
- package/dist/types/components/IonRouterOutlet.d.ts +4 -16
- package/dist/types/components/IonTabBar.d.ts +1 -1
- package/dist/types/components/IonTabButton.d.ts +6 -6
- package/dist/types/components/IonTabs.d.ts +4 -4
- package/dist/types/components/Overlays.d.ts +1 -0
- package/dist/types/controllers.d.ts +9 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/vetur/attributes.json +86 -42
- package/dist/vetur/tags.json +20 -6
- package/dist/web-types.json +238 -59
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -77,7 +77,7 @@ import { defineCustomElement as defineCustomElement$19 } from '@ionic/core/compo
|
|
|
77
77
|
import { defineCustomElement as defineCustomElement$1a } from '@ionic/core/components/ion-title.js';
|
|
78
78
|
import { defineCustomElement as defineCustomElement$1b } from '@ionic/core/components/ion-toggle.js';
|
|
79
79
|
import { defineCustomElement as defineCustomElement$1c } from '@ionic/core/components/ion-toolbar.js';
|
|
80
|
-
import { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, initialize, modalController as modalController$1, popoverController as popoverController$1, alertController as alertController$1, actionSheetController as actionSheetController$1, loadingController as loadingController$1, toastController as toastController$1 } from '@ionic/core/components';
|
|
80
|
+
import { LIFECYCLE_WILL_ENTER, LIFECYCLE_DID_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_LEAVE, initialize, modalController as modalController$1, popoverController as popoverController$1, alertController as alertController$1, actionSheetController as actionSheetController$1, loadingController as loadingController$1, pickerController as pickerController$1, toastController as toastController$1 } from '@ionic/core/components';
|
|
81
81
|
export { IonicSafeString, IonicSlides, createAnimation, createGesture, getIonPageElement, getPlatforms, getTimeGivenProgression, iosTransitionAnimation, isPlatform, mdTransitionAnimation, menuController, openURL } from '@ionic/core/components';
|
|
82
82
|
import { defineCustomElement as defineCustomElement$1d } from '@ionic/core/components/ion-back-button.js';
|
|
83
83
|
import { defineCustomElement as defineCustomElement$1e } from '@ionic/core/components/ion-router-outlet.js';
|
|
@@ -91,8 +91,9 @@ import { defineCustomElement as defineCustomElement$1l } from '@ionic/core/compo
|
|
|
91
91
|
import { defineCustomElement as defineCustomElement$1m } from '@ionic/core/components/ion-alert.js';
|
|
92
92
|
import { defineCustomElement as defineCustomElement$1n } from '@ionic/core/components/ion-loading.js';
|
|
93
93
|
import { defineCustomElement as defineCustomElement$1o } from '@ionic/core/components/ion-modal.js';
|
|
94
|
-
import { defineCustomElement as defineCustomElement$1p } from '@ionic/core/components/ion-
|
|
95
|
-
import { defineCustomElement as defineCustomElement$1q } from '@ionic/core/components/ion-
|
|
94
|
+
import { defineCustomElement as defineCustomElement$1p } from '@ionic/core/components/ion-picker-legacy.js';
|
|
95
|
+
import { defineCustomElement as defineCustomElement$1q } from '@ionic/core/components/ion-popover.js';
|
|
96
|
+
import { defineCustomElement as defineCustomElement$1r } from '@ionic/core/components/ion-toast.js';
|
|
96
97
|
|
|
97
98
|
const UPDATE_VALUE_EVENT = 'update:modelValue';
|
|
98
99
|
const MODEL_VALUE = 'modelValue';
|
|
@@ -114,19 +115,8 @@ const DEFAULT_EMPTY_PROP$1 = { default: EMPTY_PROP$1 };
|
|
|
114
115
|
const getComponentClasses = (classes) => {
|
|
115
116
|
return classes?.split(' ') || [];
|
|
116
117
|
};
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
const element = ref.value;
|
|
120
|
-
// makes sure vue classes are on the actual element
|
|
121
|
-
componentClasses.forEach((c) => {
|
|
122
|
-
if (!!c && !element.classList.contains(c)) {
|
|
123
|
-
element.classList.add(c);
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
return [...Array.from(ref.value?.classList || []), ...defaultClasses].filter((c, i, self) => {
|
|
128
|
-
return !componentClasses.has(c) && self.indexOf(c) === i;
|
|
129
|
-
});
|
|
118
|
+
const getElementClasses = (ref, componentClasses, defaultClasses = []) => {
|
|
119
|
+
return [...Array.from(ref.value?.classList || []), ...defaultClasses].filter((c, i, self) => !componentClasses.has(c) && self.indexOf(c) === i);
|
|
130
120
|
};
|
|
131
121
|
/**
|
|
132
122
|
* Create a callback to define a Vue component wrapper around a Web Component.
|
|
@@ -142,9 +132,8 @@ const syncElementClasses = (ref, componentClasses, defaultClasses = []) => {
|
|
|
142
132
|
* to customElements.define. Only set if `includeImportCustomElements: true` in your config.
|
|
143
133
|
* @prop modelProp - The prop that v-model binds to (i.e. value)
|
|
144
134
|
* @prop modelUpdateEvent - The event that is fired from your Web Component when the value changes (i.e. ionChange)
|
|
145
|
-
* @prop modelUpdateEventAttribute - Property to read value from when the value changes.
|
|
146
135
|
*/
|
|
147
|
-
const defineContainer = (name, defineCustomElement, componentProps = [], emitProps = [], modelProp, modelUpdateEvent
|
|
136
|
+
const defineContainer = (name, defineCustomElement, componentProps = [], emitProps = [], modelProp, modelUpdateEvent) => {
|
|
148
137
|
/**
|
|
149
138
|
* Create a Vue component wrapper around a Web Component.
|
|
150
139
|
* Note: The `props` here are not all properties on a component.
|
|
@@ -189,7 +178,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
|
|
|
189
178
|
*/
|
|
190
179
|
const vModelDirective = {
|
|
191
180
|
created: (el) => {
|
|
192
|
-
const eventsNames = Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent];
|
|
181
|
+
const eventsNames = (Array.isArray(modelUpdateEvent) ? modelUpdateEvent : [modelUpdateEvent]).map((ev) => ev.replace(/-([a-z])/g, (g) => g[1].toUpperCase()));
|
|
193
182
|
eventsNames.forEach((eventName) => {
|
|
194
183
|
el.addEventListener(eventName, (e) => {
|
|
195
184
|
/**
|
|
@@ -200,11 +189,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
|
|
|
200
189
|
* when ionChange bubbles up from Component B.
|
|
201
190
|
*/
|
|
202
191
|
if (e.target.tagName === el.tagName && modelProp) {
|
|
203
|
-
|
|
204
|
-
return path.split('.').reduce((value, key) => (value !== undefined ? value[key] : undefined), object);
|
|
205
|
-
};
|
|
206
|
-
const path = (modelUpdateEventAttribute ?? `target.${modelProp}`);
|
|
207
|
-
const modelPropValue = resolvePath(e, path);
|
|
192
|
+
modelPropValue = (e?.target)[modelProp];
|
|
208
193
|
emit(UPDATE_VALUE_EVENT, modelPropValue);
|
|
209
194
|
}
|
|
210
195
|
});
|
|
@@ -258,7 +243,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
|
|
|
258
243
|
};
|
|
259
244
|
const propsToAdd = {
|
|
260
245
|
ref: containerRef,
|
|
261
|
-
class:
|
|
246
|
+
class: getElementClasses(containerRef, classes),
|
|
262
247
|
onClick: handleClick,
|
|
263
248
|
};
|
|
264
249
|
/**
|
|
@@ -306,8 +291,7 @@ const defineContainer = (name, defineCustomElement, componentProps = [], emitPro
|
|
|
306
291
|
* vModelDirective is only needed on components that support v-model.
|
|
307
292
|
* As a result, we conditionally call withDirectives with v-model components.
|
|
308
293
|
*/
|
|
309
|
-
const
|
|
310
|
-
const node = h(tagName, propsToAdd, slots.default && slots.default());
|
|
294
|
+
const node = h(name, propsToAdd, slots.default && slots.default());
|
|
311
295
|
return modelProp === undefined ? node : withDirectives(node, [[vModelDirective]]);
|
|
312
296
|
};
|
|
313
297
|
}, {
|
|
@@ -339,7 +323,7 @@ const IonAccordionGroup = /*@__PURE__*/ defineContainer('ion-accordion-group', d
|
|
|
339
323
|
], [
|
|
340
324
|
'ionChange',
|
|
341
325
|
'ionValueChange'
|
|
342
|
-
], 'value', '
|
|
326
|
+
], 'value', 'ion-change');
|
|
343
327
|
const IonAvatar = /*@__PURE__*/ defineContainer('ion-avatar', defineCustomElement$2);
|
|
344
328
|
const IonBackdrop = /*@__PURE__*/ defineContainer('ion-backdrop', defineCustomElement$3, [
|
|
345
329
|
'visible',
|
|
@@ -452,7 +436,7 @@ const IonCheckbox = /*@__PURE__*/ defineContainer('ion-checkbox', defineCustomEl
|
|
|
452
436
|
'ionChange',
|
|
453
437
|
'ionFocus',
|
|
454
438
|
'ionBlur'
|
|
455
|
-
], 'checked', '
|
|
439
|
+
], 'checked', 'ion-change');
|
|
456
440
|
const IonChip = /*@__PURE__*/ defineContainer('ion-chip', defineCustomElement$f, [
|
|
457
441
|
'color',
|
|
458
442
|
'outline',
|
|
@@ -547,7 +531,7 @@ const IonDatetime = /*@__PURE__*/ defineContainer('ion-datetime', defineCustomEl
|
|
|
547
531
|
'ionBlur',
|
|
548
532
|
'ionStyle',
|
|
549
533
|
'ionRender'
|
|
550
|
-
], 'value', '
|
|
534
|
+
], 'value', 'ion-change');
|
|
551
535
|
const IonDatetimeButton = /*@__PURE__*/ defineContainer('ion-datetime-button', defineCustomElement$j, [
|
|
552
536
|
'color',
|
|
553
537
|
'disabled',
|
|
@@ -662,7 +646,7 @@ const IonInput = /*@__PURE__*/ defineContainer('ion-input', defineCustomElement$
|
|
|
662
646
|
'ionChange',
|
|
663
647
|
'ionBlur',
|
|
664
648
|
'ionFocus'
|
|
665
|
-
], 'value', '
|
|
649
|
+
], 'value', 'ion-input');
|
|
666
650
|
const IonInputOtp = /*@__PURE__*/ defineContainer('ion-input-otp', defineCustomElement$u, [
|
|
667
651
|
'autocapitalize',
|
|
668
652
|
'color',
|
|
@@ -688,7 +672,7 @@ const IonInputOtp = /*@__PURE__*/ defineContainer('ion-input-otp', defineCustomE
|
|
|
688
672
|
'ionComplete',
|
|
689
673
|
'ionBlur',
|
|
690
674
|
'ionFocus'
|
|
691
|
-
], 'value', '
|
|
675
|
+
], 'value', 'ion-input');
|
|
692
676
|
const IonInputPasswordToggle = /*@__PURE__*/ defineContainer('ion-input-password-toggle', defineCustomElement$v, [
|
|
693
677
|
'color',
|
|
694
678
|
'showIcon',
|
|
@@ -833,7 +817,7 @@ const IonRadio = /*@__PURE__*/ defineContainer('ion-radio', defineCustomElement$
|
|
|
833
817
|
], [
|
|
834
818
|
'ionFocus',
|
|
835
819
|
'ionBlur'
|
|
836
|
-
], 'value', '
|
|
820
|
+
], 'value', 'ion-change');
|
|
837
821
|
const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineCustomElement$P, [
|
|
838
822
|
'allowEmptySelection',
|
|
839
823
|
'compareWith',
|
|
@@ -846,7 +830,7 @@ const IonRadioGroup = /*@__PURE__*/ defineContainer('ion-radio-group', defineCus
|
|
|
846
830
|
], [
|
|
847
831
|
'ionChange',
|
|
848
832
|
'ionValueChange'
|
|
849
|
-
], 'value', '
|
|
833
|
+
], 'value', 'ion-change');
|
|
850
834
|
const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineCustomElement$Q, [
|
|
851
835
|
'color',
|
|
852
836
|
'debounce',
|
|
@@ -877,7 +861,7 @@ const IonRange = /*@__PURE__*/ defineContainer('ion-range', defineCustomElement$
|
|
|
877
861
|
'ionBlur',
|
|
878
862
|
'ionKnobMoveStart',
|
|
879
863
|
'ionKnobMoveEnd'
|
|
880
|
-
], 'value', '
|
|
864
|
+
], 'value', 'ion-input');
|
|
881
865
|
const IonRefresher = /*@__PURE__*/ defineContainer('ion-refresher', defineCustomElement$R, [
|
|
882
866
|
'pullMin',
|
|
883
867
|
'pullMax',
|
|
@@ -958,7 +942,7 @@ const IonSearchbar = /*@__PURE__*/ defineContainer('ion-searchbar', defineCustom
|
|
|
958
942
|
'ionBlur',
|
|
959
943
|
'ionFocus',
|
|
960
944
|
'ionStyle'
|
|
961
|
-
], 'value', '
|
|
945
|
+
], 'value', 'ion-input');
|
|
962
946
|
const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineCustomElement$Y, [
|
|
963
947
|
'color',
|
|
964
948
|
'disabled',
|
|
@@ -973,14 +957,14 @@ const IonSegment = /*@__PURE__*/ defineContainer('ion-segment', defineCustomElem
|
|
|
973
957
|
'ionChange',
|
|
974
958
|
'ionSelect',
|
|
975
959
|
'ionStyle'
|
|
976
|
-
], 'value', '
|
|
960
|
+
], 'value', 'ion-change');
|
|
977
961
|
const IonSegmentButton = /*@__PURE__*/ defineContainer('ion-segment-button', defineCustomElement$Z, [
|
|
978
962
|
'contentId',
|
|
979
963
|
'disabled',
|
|
980
964
|
'layout',
|
|
981
965
|
'type',
|
|
982
966
|
'value'
|
|
983
|
-
], [], 'value', '
|
|
967
|
+
], [], 'value', 'ion-change');
|
|
984
968
|
const IonSegmentContent = /*@__PURE__*/ defineContainer('ion-segment-content', defineCustomElement$_);
|
|
985
969
|
const IonSegmentView = /*@__PURE__*/ defineContainer('ion-segment-view', defineCustomElement$$, [
|
|
986
970
|
'disabled',
|
|
@@ -1025,7 +1009,7 @@ const IonSelect = /*@__PURE__*/ defineContainer('ion-select', defineCustomElemen
|
|
|
1025
1009
|
'ionFocus',
|
|
1026
1010
|
'ionBlur',
|
|
1027
1011
|
'ionStyle'
|
|
1028
|
-
], 'value', '
|
|
1012
|
+
], 'value', 'ion-change');
|
|
1029
1013
|
const IonSelectModal = /*@__PURE__*/ defineContainer('ion-select-modal', defineCustomElement$11, [
|
|
1030
1014
|
'header',
|
|
1031
1015
|
'cancelText',
|
|
@@ -1034,10 +1018,7 @@ const IonSelectModal = /*@__PURE__*/ defineContainer('ion-select-modal', defineC
|
|
|
1034
1018
|
]);
|
|
1035
1019
|
const IonSelectOption = /*@__PURE__*/ defineContainer('ion-select-option', defineCustomElement$12, [
|
|
1036
1020
|
'disabled',
|
|
1037
|
-
'value'
|
|
1038
|
-
'description',
|
|
1039
|
-
'labelPlacement',
|
|
1040
|
-
'justify'
|
|
1021
|
+
'value'
|
|
1041
1022
|
]);
|
|
1042
1023
|
const IonSkeletonText = /*@__PURE__*/ defineContainer('ion-skeleton-text', defineCustomElement$13, [
|
|
1043
1024
|
'animated',
|
|
@@ -1106,7 +1087,7 @@ const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineCustomEl
|
|
|
1106
1087
|
'ionInput',
|
|
1107
1088
|
'ionBlur',
|
|
1108
1089
|
'ionFocus'
|
|
1109
|
-
], 'value', '
|
|
1090
|
+
], 'value', 'ion-input');
|
|
1110
1091
|
const IonThumbnail = /*@__PURE__*/ defineContainer('ion-thumbnail', defineCustomElement$19);
|
|
1111
1092
|
const IonTitle = /*@__PURE__*/ defineContainer('ion-title', defineCustomElement$1a, [
|
|
1112
1093
|
'color',
|
|
@@ -1135,7 +1116,7 @@ const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineCustomElemen
|
|
|
1135
1116
|
'ionChange',
|
|
1136
1117
|
'ionFocus',
|
|
1137
1118
|
'ionBlur'
|
|
1138
|
-
], 'checked', '
|
|
1119
|
+
], 'checked', 'ion-change');
|
|
1139
1120
|
const IonToolbar = /*@__PURE__*/ defineContainer('ion-toolbar', defineCustomElement$1c, [
|
|
1140
1121
|
'color'
|
|
1141
1122
|
]);
|
|
@@ -1303,7 +1284,7 @@ const IonBackButton = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {
|
|
|
1303
1284
|
defineCustomElement$1d();
|
|
1304
1285
|
// TODO(FW-2969): type
|
|
1305
1286
|
const ionRouter = inject("navManager");
|
|
1306
|
-
const onClick = (
|
|
1287
|
+
const onClick = () => {
|
|
1307
1288
|
/**
|
|
1308
1289
|
* When using ion-back-button outside of
|
|
1309
1290
|
* a routing context, ionRouter is undefined.
|
|
@@ -1311,17 +1292,6 @@ const IonBackButton = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {
|
|
|
1311
1292
|
if (ionRouter === undefined) {
|
|
1312
1293
|
return;
|
|
1313
1294
|
}
|
|
1314
|
-
/**
|
|
1315
|
-
* If ion-back-button is being used inside
|
|
1316
|
-
* of ion-nav (e.g. in a modal) then we should
|
|
1317
|
-
* not interact with the router. The core
|
|
1318
|
-
* ion-back-button component will handle the
|
|
1319
|
-
* nav.pop() in that case.
|
|
1320
|
-
*/
|
|
1321
|
-
const target = ev.target;
|
|
1322
|
-
if (target && target.closest("ion-nav") !== null) {
|
|
1323
|
-
return;
|
|
1324
|
-
}
|
|
1325
1295
|
const defaultHref = attrs["default-href"] || attrs["defaultHref"];
|
|
1326
1296
|
const routerAnimation = attrs["router-animation"] || attrs["routerAnimation"];
|
|
1327
1297
|
ionRouter.handleNavigateBack(defaultHref, routerAnimation);
|
|
@@ -1357,12 +1327,6 @@ const isViewVisible = (enteringEl) => {
|
|
|
1357
1327
|
const viewDepthKey = Symbol(0);
|
|
1358
1328
|
const IonRouterOutlet = /*@__PURE__*/ defineComponent({
|
|
1359
1329
|
name: "IonRouterOutlet",
|
|
1360
|
-
props: {
|
|
1361
|
-
swipeGesture: {
|
|
1362
|
-
type: Boolean,
|
|
1363
|
-
default: undefined,
|
|
1364
|
-
},
|
|
1365
|
-
},
|
|
1366
1330
|
setup() {
|
|
1367
1331
|
defineCustomElement$1e();
|
|
1368
1332
|
const injectedRoute = inject(routeLocationKey);
|
|
@@ -1440,6 +1404,11 @@ const IonRouterOutlet = /*@__PURE__*/ defineComponent({
|
|
|
1440
1404
|
*/
|
|
1441
1405
|
{ deep: true });
|
|
1442
1406
|
const canStart = () => {
|
|
1407
|
+
const config = getConfig();
|
|
1408
|
+
const swipeEnabled = config &&
|
|
1409
|
+
config.get("swipeBackEnabled", ionRouterOutlet.value.mode === "ios");
|
|
1410
|
+
if (!swipeEnabled)
|
|
1411
|
+
return false;
|
|
1443
1412
|
const stack = viewStacks.getViewStack(id);
|
|
1444
1413
|
if (!stack || stack.length <= 1)
|
|
1445
1414
|
return false;
|
|
@@ -1730,15 +1699,7 @@ See https://ionicframework.com/docs/vue/navigation#ionpage for more information.
|
|
|
1730
1699
|
},
|
|
1731
1700
|
render() {
|
|
1732
1701
|
const { components, registerIonPage, injectedRoute } = this;
|
|
1733
|
-
|
|
1734
|
-
* Forward props selectively to avoid setting undefined values
|
|
1735
|
-
* that would override the web component's config-based defaults.
|
|
1736
|
-
*/
|
|
1737
|
-
const routerOutletProps = { ref: "ionRouterOutlet" };
|
|
1738
|
-
if (this.$props.swipeGesture !== undefined) {
|
|
1739
|
-
routerOutletProps.swipeGesture = this.$props.swipeGesture;
|
|
1740
|
-
}
|
|
1741
|
-
return h("ion-router-outlet", routerOutletProps, components &&
|
|
1702
|
+
return h("ion-router-outlet", { ref: "ionRouterOutlet" }, components &&
|
|
1742
1703
|
components.map((c) => {
|
|
1743
1704
|
var _a, _b;
|
|
1744
1705
|
let props = {
|
|
@@ -1852,7 +1813,7 @@ const IonTabButton = /*@__PURE__*/ defineComponent({
|
|
|
1852
1813
|
if (ionRouter !== null) {
|
|
1853
1814
|
if (prevActiveTab === tab) {
|
|
1854
1815
|
if (originalHref !== currentHref) {
|
|
1855
|
-
ionRouter.resetTab(tab
|
|
1816
|
+
ionRouter.resetTab(tab);
|
|
1856
1817
|
}
|
|
1857
1818
|
}
|
|
1858
1819
|
else {
|
|
@@ -2142,36 +2103,31 @@ const IonTabBar = defineComponent({
|
|
|
2142
2103
|
};
|
|
2143
2104
|
}
|
|
2144
2105
|
});
|
|
2145
|
-
if (activeTab &&
|
|
2146
|
-
const prevHref = prevActiveTab
|
|
2147
|
-
? this.$data.tabState.tabs[prevActiveTab].currentHref
|
|
2148
|
-
: undefined;
|
|
2106
|
+
if (activeTab && prevActiveTab) {
|
|
2107
|
+
const prevHref = this.$data.tabState.tabs[prevActiveTab].currentHref;
|
|
2149
2108
|
/**
|
|
2150
2109
|
* If the tabs change or the url changes,
|
|
2151
2110
|
* update the currentHref for the active tab.
|
|
2152
|
-
* Ex: url changes from /tabs/tab1
|
|
2111
|
+
* Ex: url changes from /tabs/tab1 --> /tabs/tab1/child
|
|
2153
2112
|
* If we went to tab2 then back to tab1, we should
|
|
2154
2113
|
* land on /tabs/tab1/child instead of /tabs/tab1.
|
|
2155
|
-
*
|
|
2156
|
-
* Also runs on initial setup so a deep-loaded tab child
|
|
2157
|
-
* records its real pathname instead of `originalHref`.
|
|
2158
2114
|
*/
|
|
2159
|
-
if (activeTab !== prevActiveTab ||
|
|
2115
|
+
if (activeTab !== prevActiveTab ||
|
|
2116
|
+
prevHref !== (currentRoute === null || currentRoute === void 0 ? void 0 : currentRoute.pathname)) {
|
|
2160
2117
|
/**
|
|
2161
2118
|
* By default the search is `undefined` in Ionic Vue,
|
|
2162
2119
|
* but Vue Router can set the search to the empty string.
|
|
2163
2120
|
* We check for truthy here because empty string is falsy
|
|
2164
2121
|
* and currentRoute.search cannot ever be a boolean.
|
|
2165
2122
|
*/
|
|
2166
|
-
const search = currentRoute.search ? `?${currentRoute.search}` : "";
|
|
2167
|
-
tabs[activeTab] = Object.assign(Object.assign({}, tabs[activeTab]), { currentHref: currentRoute.pathname + search });
|
|
2123
|
+
const search = (currentRoute === null || currentRoute === void 0 ? void 0 : currentRoute.search) ? `?${currentRoute.search}` : "";
|
|
2124
|
+
tabs[activeTab] = Object.assign(Object.assign({}, tabs[activeTab]), { currentHref: (currentRoute === null || currentRoute === void 0 ? void 0 : currentRoute.pathname) + search });
|
|
2168
2125
|
}
|
|
2169
2126
|
/**
|
|
2170
2127
|
* If navigating back and the tabs change,
|
|
2171
2128
|
* set the previous tab back to its original href.
|
|
2172
2129
|
*/
|
|
2173
|
-
if (
|
|
2174
|
-
currentRoute.routerAction === "pop" &&
|
|
2130
|
+
if ((currentRoute === null || currentRoute === void 0 ? void 0 : currentRoute.routerAction) === "pop" &&
|
|
2175
2131
|
activeTab !== prevActiveTab) {
|
|
2176
2132
|
tabs[prevActiveTab] = Object.assign(Object.assign({}, tabs[prevActiveTab]), { currentHref: tabs[prevActiveTab].originalHref });
|
|
2177
2133
|
}
|
|
@@ -2592,8 +2548,9 @@ const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet',
|
|
|
2592
2548
|
const IonAlert = /*@__PURE__*/ defineOverlayContainer('ion-alert', defineCustomElement$1m, ['animated', 'backdropDismiss', 'buttons', 'cssClass', 'enterAnimation', 'header', 'htmlAttributes', 'inputs', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'subHeader', 'translucent', 'trigger']);
|
|
2593
2549
|
const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineCustomElement$1n, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger']);
|
|
2594
2550
|
const IonModal = /*@__PURE__*/ defineOverlayContainer('ion-modal', defineCustomElement$1o, ['animated', 'backdropBreakpoint', 'backdropDismiss', 'breakpoints', 'canDismiss', 'enterAnimation', 'expandToScroll', 'focusTrap', 'handle', 'handleBehavior', 'htmlAttributes', 'initialBreakpoint', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'presentingElement', 'showBackdrop', 'trigger'], true);
|
|
2595
|
-
const
|
|
2596
|
-
const
|
|
2551
|
+
const IonPickerLegacy = /*@__PURE__*/ defineOverlayContainer('ion-picker-legacy', defineCustomElement$1p, ['animated', 'backdropDismiss', 'buttons', 'columns', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'mode', 'showBackdrop', 'trigger']);
|
|
2552
|
+
const IonPopover = /*@__PURE__*/ defineOverlayContainer('ion-popover', defineCustomElement$1q, ['alignment', 'animated', 'arrow', 'backdropDismiss', 'component', 'componentProps', 'dismissOnSelect', 'enterAnimation', 'event', 'focusTrap', 'htmlAttributes', 'isOpen', 'keepContentsMounted', 'keyboardClose', 'leaveAnimation', 'mode', 'reference', 'showBackdrop', 'side', 'size', 'translucent', 'trigger', 'triggerAction']);
|
|
2553
|
+
const IonToast = /*@__PURE__*/ defineOverlayContainer('ion-toast', defineCustomElement$1r, ['animated', 'buttons', 'color', 'cssClass', 'duration', 'enterAnimation', 'header', 'htmlAttributes', 'icon', 'isOpen', 'keyboardClose', 'layout', 'leaveAnimation', 'message', 'mode', 'position', 'positionAnchor', 'swipeGesture', 'translucent', 'trigger']);
|
|
2597
2554
|
|
|
2598
2555
|
// TODO(FW-2969): types
|
|
2599
2556
|
/**
|
|
@@ -2611,11 +2568,15 @@ const createController = (defineCustomElement, oldController, useDelegate = fals
|
|
|
2611
2568
|
return oldController;
|
|
2612
2569
|
};
|
|
2613
2570
|
const modalController = /*@__PURE__*/ createController(defineCustomElement$1o, modalController$1, true);
|
|
2614
|
-
const popoverController = /*@__PURE__*/ createController(defineCustomElement$
|
|
2571
|
+
const popoverController = /*@__PURE__*/ createController(defineCustomElement$1q, popoverController$1, true);
|
|
2615
2572
|
const alertController = /*@__PURE__*/ createController(defineCustomElement$1m, alertController$1);
|
|
2616
2573
|
const actionSheetController = /*@__PURE__*/ createController(defineCustomElement$1l, actionSheetController$1);
|
|
2617
2574
|
const loadingController = /*@__PURE__*/ createController(defineCustomElement$1n, loadingController$1);
|
|
2618
|
-
|
|
2575
|
+
/**
|
|
2576
|
+
* @deprecated Use the inline ion-picker component instead.
|
|
2577
|
+
*/
|
|
2578
|
+
const pickerController = /*@__PURE__*/ createController(defineCustomElement$1p, pickerController$1);
|
|
2579
|
+
const toastController = /*@__PURE__*/ createController(defineCustomElement$1r, toastController$1);
|
|
2619
2580
|
|
|
2620
|
-
export { IonAccordion, IonAccordionGroup, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonInputOtp, IonInputPasswordToggle, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPage, IonPicker, IonPickerColumn, IonPickerColumnOption, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSegmentContent, IonSegmentView, IonSelect, IonSelectModal, IonSelectOption, IonSkeletonText, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, IonicVue, actionSheetController, alertController, loadingController, modalController, onIonViewDidEnter, onIonViewDidLeave, onIonViewWillEnter, onIonViewWillLeave, popoverController, toastController, useBackButton, useIonRouter, useKeyboard };
|
|
2581
|
+
export { IonAccordion, IonAccordionGroup, IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonBreadcrumb, IonBreadcrumbs, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonDatetimeButton, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonInputOtp, IonInputPasswordToggle, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPage, IonPicker, IonPickerColumn, IonPickerColumnOption, IonPickerLegacy, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSegmentContent, IonSegmentView, IonSelect, IonSelectModal, IonSelectOption, IonSkeletonText, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, IonicVue, actionSheetController, alertController, loadingController, modalController, onIonViewDidEnter, onIonViewDidLeave, onIonViewWillEnter, onIonViewWillLeave, pickerController, popoverController, toastController, useBackButton, useIonRouter, useKeyboard };
|
|
2621
2582
|
//# sourceMappingURL=index.js.map
|