@ionic/vue 8.8.11-dev.11781186446.19d9a1cc → 8.8.11-dev.11781283724.13318488
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 +51 -87
- 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 +83 -9
- package/dist/vetur/tags.json +20 -2
- package/dist/web-types.json +233 -5
- 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',
|
|
@@ -1103,7 +1087,7 @@ const IonTextarea = /*@__PURE__*/ defineContainer('ion-textarea', defineCustomEl
|
|
|
1103
1087
|
'ionInput',
|
|
1104
1088
|
'ionBlur',
|
|
1105
1089
|
'ionFocus'
|
|
1106
|
-
], 'value', '
|
|
1090
|
+
], 'value', 'ion-input');
|
|
1107
1091
|
const IonThumbnail = /*@__PURE__*/ defineContainer('ion-thumbnail', defineCustomElement$19);
|
|
1108
1092
|
const IonTitle = /*@__PURE__*/ defineContainer('ion-title', defineCustomElement$1a, [
|
|
1109
1093
|
'color',
|
|
@@ -1132,7 +1116,7 @@ const IonToggle = /*@__PURE__*/ defineContainer('ion-toggle', defineCustomElemen
|
|
|
1132
1116
|
'ionChange',
|
|
1133
1117
|
'ionFocus',
|
|
1134
1118
|
'ionBlur'
|
|
1135
|
-
], 'checked', '
|
|
1119
|
+
], 'checked', 'ion-change');
|
|
1136
1120
|
const IonToolbar = /*@__PURE__*/ defineContainer('ion-toolbar', defineCustomElement$1c, [
|
|
1137
1121
|
'color'
|
|
1138
1122
|
]);
|
|
@@ -1300,7 +1284,7 @@ const IonBackButton = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {
|
|
|
1300
1284
|
defineCustomElement$1d();
|
|
1301
1285
|
// TODO(FW-2969): type
|
|
1302
1286
|
const ionRouter = inject("navManager");
|
|
1303
|
-
const onClick = (
|
|
1287
|
+
const onClick = () => {
|
|
1304
1288
|
/**
|
|
1305
1289
|
* When using ion-back-button outside of
|
|
1306
1290
|
* a routing context, ionRouter is undefined.
|
|
@@ -1308,17 +1292,6 @@ const IonBackButton = /*@__PURE__*/ defineComponent((_, { attrs, slots }) => {
|
|
|
1308
1292
|
if (ionRouter === undefined) {
|
|
1309
1293
|
return;
|
|
1310
1294
|
}
|
|
1311
|
-
/**
|
|
1312
|
-
* If ion-back-button is being used inside
|
|
1313
|
-
* of ion-nav (e.g. in a modal) then we should
|
|
1314
|
-
* not interact with the router. The core
|
|
1315
|
-
* ion-back-button component will handle the
|
|
1316
|
-
* nav.pop() in that case.
|
|
1317
|
-
*/
|
|
1318
|
-
const target = ev.target;
|
|
1319
|
-
if (target && target.closest("ion-nav") !== null) {
|
|
1320
|
-
return;
|
|
1321
|
-
}
|
|
1322
1295
|
const defaultHref = attrs["default-href"] || attrs["defaultHref"];
|
|
1323
1296
|
const routerAnimation = attrs["router-animation"] || attrs["routerAnimation"];
|
|
1324
1297
|
ionRouter.handleNavigateBack(defaultHref, routerAnimation);
|
|
@@ -1354,12 +1327,6 @@ const isViewVisible = (enteringEl) => {
|
|
|
1354
1327
|
const viewDepthKey = Symbol(0);
|
|
1355
1328
|
const IonRouterOutlet = /*@__PURE__*/ defineComponent({
|
|
1356
1329
|
name: "IonRouterOutlet",
|
|
1357
|
-
props: {
|
|
1358
|
-
swipeGesture: {
|
|
1359
|
-
type: Boolean,
|
|
1360
|
-
default: undefined,
|
|
1361
|
-
},
|
|
1362
|
-
},
|
|
1363
1330
|
setup() {
|
|
1364
1331
|
defineCustomElement$1e();
|
|
1365
1332
|
const injectedRoute = inject(routeLocationKey);
|
|
@@ -1437,6 +1404,11 @@ const IonRouterOutlet = /*@__PURE__*/ defineComponent({
|
|
|
1437
1404
|
*/
|
|
1438
1405
|
{ deep: true });
|
|
1439
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;
|
|
1440
1412
|
const stack = viewStacks.getViewStack(id);
|
|
1441
1413
|
if (!stack || stack.length <= 1)
|
|
1442
1414
|
return false;
|
|
@@ -1727,15 +1699,7 @@ See https://ionicframework.com/docs/vue/navigation#ionpage for more information.
|
|
|
1727
1699
|
},
|
|
1728
1700
|
render() {
|
|
1729
1701
|
const { components, registerIonPage, injectedRoute } = this;
|
|
1730
|
-
|
|
1731
|
-
* Forward props selectively to avoid setting undefined values
|
|
1732
|
-
* that would override the web component's config-based defaults.
|
|
1733
|
-
*/
|
|
1734
|
-
const routerOutletProps = { ref: "ionRouterOutlet" };
|
|
1735
|
-
if (this.$props.swipeGesture !== undefined) {
|
|
1736
|
-
routerOutletProps.swipeGesture = this.$props.swipeGesture;
|
|
1737
|
-
}
|
|
1738
|
-
return h("ion-router-outlet", routerOutletProps, components &&
|
|
1702
|
+
return h("ion-router-outlet", { ref: "ionRouterOutlet" }, components &&
|
|
1739
1703
|
components.map((c) => {
|
|
1740
1704
|
var _a, _b;
|
|
1741
1705
|
let props = {
|
|
@@ -1849,7 +1813,7 @@ const IonTabButton = /*@__PURE__*/ defineComponent({
|
|
|
1849
1813
|
if (ionRouter !== null) {
|
|
1850
1814
|
if (prevActiveTab === tab) {
|
|
1851
1815
|
if (originalHref !== currentHref) {
|
|
1852
|
-
ionRouter.resetTab(tab
|
|
1816
|
+
ionRouter.resetTab(tab);
|
|
1853
1817
|
}
|
|
1854
1818
|
}
|
|
1855
1819
|
else {
|
|
@@ -2139,36 +2103,31 @@ const IonTabBar = defineComponent({
|
|
|
2139
2103
|
};
|
|
2140
2104
|
}
|
|
2141
2105
|
});
|
|
2142
|
-
if (activeTab &&
|
|
2143
|
-
const prevHref = prevActiveTab
|
|
2144
|
-
? this.$data.tabState.tabs[prevActiveTab].currentHref
|
|
2145
|
-
: undefined;
|
|
2106
|
+
if (activeTab && prevActiveTab) {
|
|
2107
|
+
const prevHref = this.$data.tabState.tabs[prevActiveTab].currentHref;
|
|
2146
2108
|
/**
|
|
2147
2109
|
* If the tabs change or the url changes,
|
|
2148
2110
|
* update the currentHref for the active tab.
|
|
2149
|
-
* Ex: url changes from /tabs/tab1
|
|
2111
|
+
* Ex: url changes from /tabs/tab1 --> /tabs/tab1/child
|
|
2150
2112
|
* If we went to tab2 then back to tab1, we should
|
|
2151
2113
|
* land on /tabs/tab1/child instead of /tabs/tab1.
|
|
2152
|
-
*
|
|
2153
|
-
* Also runs on initial setup so a deep-loaded tab child
|
|
2154
|
-
* records its real pathname instead of `originalHref`.
|
|
2155
2114
|
*/
|
|
2156
|
-
if (activeTab !== prevActiveTab ||
|
|
2115
|
+
if (activeTab !== prevActiveTab ||
|
|
2116
|
+
prevHref !== (currentRoute === null || currentRoute === void 0 ? void 0 : currentRoute.pathname)) {
|
|
2157
2117
|
/**
|
|
2158
2118
|
* By default the search is `undefined` in Ionic Vue,
|
|
2159
2119
|
* but Vue Router can set the search to the empty string.
|
|
2160
2120
|
* We check for truthy here because empty string is falsy
|
|
2161
2121
|
* and currentRoute.search cannot ever be a boolean.
|
|
2162
2122
|
*/
|
|
2163
|
-
const search = currentRoute.search ? `?${currentRoute.search}` : "";
|
|
2164
|
-
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 });
|
|
2165
2125
|
}
|
|
2166
2126
|
/**
|
|
2167
2127
|
* If navigating back and the tabs change,
|
|
2168
2128
|
* set the previous tab back to its original href.
|
|
2169
2129
|
*/
|
|
2170
|
-
if (
|
|
2171
|
-
currentRoute.routerAction === "pop" &&
|
|
2130
|
+
if ((currentRoute === null || currentRoute === void 0 ? void 0 : currentRoute.routerAction) === "pop" &&
|
|
2172
2131
|
activeTab !== prevActiveTab) {
|
|
2173
2132
|
tabs[prevActiveTab] = Object.assign(Object.assign({}, tabs[prevActiveTab]), { currentHref: tabs[prevActiveTab].originalHref });
|
|
2174
2133
|
}
|
|
@@ -2589,8 +2548,9 @@ const IonActionSheet = /*@__PURE__*/ defineOverlayContainer('ion-action-sheet',
|
|
|
2589
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']);
|
|
2590
2549
|
const IonLoading = /*@__PURE__*/ defineOverlayContainer('ion-loading', defineCustomElement$1n, ['animated', 'backdropDismiss', 'cssClass', 'duration', 'enterAnimation', 'htmlAttributes', 'isOpen', 'keyboardClose', 'leaveAnimation', 'message', 'mode', 'showBackdrop', 'spinner', 'translucent', 'trigger']);
|
|
2591
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);
|
|
2592
|
-
const
|
|
2593
|
-
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']);
|
|
2594
2554
|
|
|
2595
2555
|
// TODO(FW-2969): types
|
|
2596
2556
|
/**
|
|
@@ -2608,11 +2568,15 @@ const createController = (defineCustomElement, oldController, useDelegate = fals
|
|
|
2608
2568
|
return oldController;
|
|
2609
2569
|
};
|
|
2610
2570
|
const modalController = /*@__PURE__*/ createController(defineCustomElement$1o, modalController$1, true);
|
|
2611
|
-
const popoverController = /*@__PURE__*/ createController(defineCustomElement$
|
|
2571
|
+
const popoverController = /*@__PURE__*/ createController(defineCustomElement$1q, popoverController$1, true);
|
|
2612
2572
|
const alertController = /*@__PURE__*/ createController(defineCustomElement$1m, alertController$1);
|
|
2613
2573
|
const actionSheetController = /*@__PURE__*/ createController(defineCustomElement$1l, actionSheetController$1);
|
|
2614
2574
|
const loadingController = /*@__PURE__*/ createController(defineCustomElement$1n, loadingController$1);
|
|
2615
|
-
|
|
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);
|
|
2616
2580
|
|
|
2617
|
-
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 };
|
|
2618
2582
|
//# sourceMappingURL=index.js.map
|