@nativescript/core 9.0.0-alpha.13-next-11-06-2025-19143252183 → 9.0.0-alpha.13-next-11-07-2025-19157037524

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.
@@ -0,0 +1,373 @@
1
+ import { SplitViewBase, displayModeProperty, splitBehaviorProperty, preferredPrimaryColumnWidthFractionProperty, preferredSupplementaryColumnWidthFractionProperty, preferredInspectorColumnWidthFractionProperty } from './split-view-common';
2
+ import { View } from '../core/view';
3
+ import { layout } from '../../utils';
4
+ import { SDK_VERSION } from '../../utils/constants';
5
+ var UISplitViewControllerDelegateImpl = /** @class */ (function (_super) {
6
+ __extends(UISplitViewControllerDelegateImpl, _super);
7
+ function UISplitViewControllerDelegateImpl() {
8
+ return _super !== null && _super.apply(this, arguments) || this;
9
+ }
10
+ UISplitViewControllerDelegateImpl.initWithOwner = function (owner) {
11
+ var d = UISplitViewControllerDelegateImpl.new();
12
+ d._owner = owner;
13
+ return d;
14
+ };
15
+ UISplitViewControllerDelegateImpl.prototype.splitViewControllerCollapseSecondaryViewControllerOntoPrimaryViewController = function (splitViewController, secondaryViewController, primaryViewController) {
16
+ var owner = this._owner.deref();
17
+ if (owner) {
18
+ // Notify the owner about the collapse action
19
+ owner.onSecondaryViewCollapsed(secondaryViewController, primaryViewController);
20
+ }
21
+ return true;
22
+ };
23
+ UISplitViewControllerDelegateImpl.prototype.splitViewControllerDidCollapse = function (svc) {
24
+ // Can be used to notify owner if needed
25
+ };
26
+ UISplitViewControllerDelegateImpl.prototype.splitViewControllerDidExpand = function (svc) {
27
+ // Can be used to notify owner if needed
28
+ };
29
+ UISplitViewControllerDelegateImpl.prototype.splitViewControllerDidHideColumn = function (svc, column) {
30
+ // Can be used to notify owner if needed
31
+ };
32
+ UISplitViewControllerDelegateImpl.prototype.splitViewControllerDidShowColumn = function (svc, column) {
33
+ // Can be used to notify owner if needed
34
+ };
35
+ UISplitViewControllerDelegateImpl.prototype.splitViewControllerDisplayModeForExpandingToProposedDisplayMode = function (svc, proposedDisplayMode) {
36
+ return UISplitViewControllerDisplayMode.TwoBesideSecondary;
37
+ };
38
+ UISplitViewControllerDelegateImpl.prototype.splitViewControllerTopColumnForCollapsingToProposedTopColumn = function (svc, proposedTopColumn) {
39
+ return UISplitViewControllerColumn.Secondary;
40
+ };
41
+ UISplitViewControllerDelegateImpl.prototype.toggleInspector = function () {
42
+ var owner = this._owner.deref();
43
+ if (owner) {
44
+ if (owner.inspectorShowing) {
45
+ owner.hideInspector();
46
+ }
47
+ else {
48
+ owner.showInspector();
49
+ }
50
+ }
51
+ };
52
+ UISplitViewControllerDelegateImpl.ObjCProtocols = [UISplitViewControllerDelegate];
53
+ UISplitViewControllerDelegateImpl.ObjCExposedMethods = {
54
+ toggleInspector: { returns: interop.types.void, params: [] },
55
+ };
56
+ return UISplitViewControllerDelegateImpl;
57
+ }(NSObject));
58
+ export class SplitView extends SplitViewBase {
59
+ static getInstance() {
60
+ return SplitView.instance;
61
+ }
62
+ constructor() {
63
+ super();
64
+ // Keep role -> controller
65
+ this._controllers = new Map();
66
+ this._children = new Map();
67
+ this.inspectorShowing = false;
68
+ this.viewController = UISplitViewController.alloc().initWithStyle(this._getSplitStyle());
69
+ }
70
+ createNativeView() {
71
+ SplitView.instance = this;
72
+ this._delegate = UISplitViewControllerDelegateImpl.initWithOwner(new WeakRef(this));
73
+ this.viewController.delegate = this._delegate;
74
+ this.viewController.presentsWithGesture = true;
75
+ // Apply initial preferences
76
+ this._applyPreferences();
77
+ return this.viewController.view;
78
+ }
79
+ disposeNativeView() {
80
+ super.disposeNativeView();
81
+ this._controllers.clear();
82
+ this._children.clear();
83
+ this.viewController = null;
84
+ this._delegate = null;
85
+ }
86
+ _getSplitStyle() {
87
+ switch (SplitView.SplitStyle) {
88
+ case 'triple':
89
+ return 2 /* UISplitViewControllerStyle.TripleColumn */;
90
+ default:
91
+ // default to double always
92
+ return 1 /* UISplitViewControllerStyle.DoubleColumn */;
93
+ }
94
+ }
95
+ // Controller-backed container: intercept native tree operations
96
+ _addViewToNativeVisualTree(child, atIndex) {
97
+ const role = this._resolveRoleForChild(child, atIndex);
98
+ const controller = this._ensureControllerForChild(child);
99
+ this._children.set(role, child);
100
+ this._controllers.set(role, controller);
101
+ this._syncControllers();
102
+ return true;
103
+ }
104
+ _removeViewFromNativeVisualTree(child) {
105
+ const role = this._findRoleByChild(child);
106
+ if (role) {
107
+ this._children.delete(role);
108
+ this._controllers.delete(role);
109
+ this._syncControllers();
110
+ }
111
+ super._removeViewFromNativeVisualTree(child);
112
+ }
113
+ onMeasure(widthMeasureSpec, heightMeasureSpec) {
114
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
115
+ const width = layout.getMeasureSpecSize(widthMeasureSpec);
116
+ const widthMode = layout.getMeasureSpecMode(widthMeasureSpec);
117
+ const height = layout.getMeasureSpecSize(heightMeasureSpec);
118
+ const heightMode = layout.getMeasureSpecMode(heightMeasureSpec);
119
+ const horizontal = this.effectivePaddingLeft + this.effectivePaddingRight + this.effectiveBorderLeftWidth + this.effectiveBorderRightWidth;
120
+ const vertical = this.effectivePaddingTop + this.effectivePaddingBottom + this.effectiveBorderTopWidth + this.effectiveBorderBottomWidth;
121
+ const measuredWidth = Math.max(widthMode === layout.UNSPECIFIED ? 0 : width, this.effectiveMinWidth) + (widthMode === layout.UNSPECIFIED ? horizontal : 0);
122
+ const measuredHeight = Math.max(heightMode === layout.UNSPECIFIED ? 0 : height, this.effectiveMinHeight) + (heightMode === layout.UNSPECIFIED ? vertical : 0);
123
+ const widthAndState = View.resolveSizeAndState(measuredWidth, width, widthMode, 0);
124
+ const heightAndState = View.resolveSizeAndState(measuredHeight, height, heightMode, 0);
125
+ this.setMeasuredDimension(widthAndState, heightAndState);
126
+ }
127
+ onRoleChanged(view, oldValue, newValue) {
128
+ // Move child mapping to new role and resync
129
+ const oldRole = this._findRoleByChild(view);
130
+ if (oldRole) {
131
+ const controller = this._controllers.get(oldRole);
132
+ this._controllers.delete(oldRole);
133
+ this._children.delete(oldRole);
134
+ if (controller) {
135
+ this._controllers.set(newValue, controller);
136
+ }
137
+ this._children.set(newValue, view);
138
+ this._syncControllers();
139
+ }
140
+ }
141
+ onSecondaryViewCollapsed(secondaryViewController, primaryViewController) {
142
+ // Default implementation: do nothing.
143
+ // Subclasses may override to customize behavior when secondary is collapsed onto primary.
144
+ }
145
+ showPrimary() {
146
+ if (!this.viewController)
147
+ return;
148
+ this.viewController.showColumn(0 /* UISplitViewControllerColumn.Primary */);
149
+ }
150
+ hidePrimary() {
151
+ if (!this.viewController)
152
+ return;
153
+ this.viewController.hideColumn(0 /* UISplitViewControllerColumn.Primary */);
154
+ }
155
+ showSecondary() {
156
+ if (!this.viewController)
157
+ return;
158
+ this.viewController.showColumn(2 /* UISplitViewControllerColumn.Secondary */);
159
+ }
160
+ hideSecondary() {
161
+ if (!this.viewController)
162
+ return;
163
+ this.viewController.hideColumn(2 /* UISplitViewControllerColumn.Secondary */);
164
+ }
165
+ showSupplementary() {
166
+ if (!this.viewController)
167
+ return;
168
+ this.viewController.showColumn(1 /* UISplitViewControllerColumn.Supplementary */);
169
+ }
170
+ showInspector() {
171
+ if (!this.viewController)
172
+ return;
173
+ // Guard for older OS versions by feature-detecting inspector-related API
174
+ if (this.viewController.preferredInspectorColumnWidthFraction !== undefined) {
175
+ this.viewController.showColumn(4 /* UISplitViewControllerColumn.Inspector */);
176
+ this.notifyInspectorChange(true);
177
+ }
178
+ }
179
+ hideInspector() {
180
+ if (!this.viewController)
181
+ return;
182
+ if (this.viewController.preferredInspectorColumnWidthFraction !== undefined) {
183
+ this.viewController.hideColumn(4 /* UISplitViewControllerColumn.Inspector */);
184
+ this.notifyInspectorChange(false);
185
+ }
186
+ }
187
+ notifyInspectorChange(showing) {
188
+ this.inspectorShowing = showing;
189
+ this.notify({
190
+ eventName: 'inspectorChange',
191
+ object: this,
192
+ data: { showing },
193
+ });
194
+ }
195
+ _resolveRoleForChild(child, atIndex) {
196
+ const explicit = SplitViewBase.getRole(child);
197
+ if (explicit) {
198
+ return explicit;
199
+ }
200
+ // Fallback by index if no explicit role set
201
+ return this._roleByIndex(atIndex);
202
+ }
203
+ _findRoleByChild(child) {
204
+ for (const [role, c] of this._children.entries()) {
205
+ if (c === child) {
206
+ return role;
207
+ }
208
+ }
209
+ return null;
210
+ }
211
+ _ensureControllerForChild(child) {
212
+ // If child is controller-backed (Page/Frame/etc.), reuse its controller
213
+ const vc = (child.ios instanceof UIViewController ? child.ios : child.viewController);
214
+ if (vc) {
215
+ return vc;
216
+ }
217
+ // Fallback: basic wrapper (not expected in current usage where children are Frames/Pages)
218
+ const wrapper = UIViewController.new();
219
+ if (!wrapper.view) {
220
+ wrapper.view = UIView.new();
221
+ }
222
+ if (child.nativeViewProtected) {
223
+ wrapper.view.addSubview(child.nativeViewProtected);
224
+ }
225
+ return wrapper;
226
+ }
227
+ _attachInspectorButton() {
228
+ const inspector = this._controllers.get('inspector');
229
+ if (!(inspector instanceof UINavigationController)) {
230
+ return;
231
+ }
232
+ const targetVC = inspector.topViewController;
233
+ if (!targetVC) {
234
+ // Subscribe to Frame event to know when the top VC is shown, then attach the button.
235
+ // Can only attach buttons once VC is available
236
+ const frameChild = this._children.get('inspector');
237
+ if (frameChild && frameChild.on && !frameChild._inspectorVCShownHandler) {
238
+ frameChild._inspectorVCShownHandler = () => {
239
+ setTimeout(() => this._attachInspectorButton());
240
+ };
241
+ frameChild.on('viewControllerShown', frameChild._inspectorVCShownHandler.bind(this));
242
+ }
243
+ return;
244
+ }
245
+ // Avoid duplicates
246
+ if (targetVC.navigationItem.rightBarButtonItem) {
247
+ return;
248
+ }
249
+ // TODO: can provide properties to customize this
250
+ const cfg = UIImageSymbolConfiguration.configurationWithPointSizeWeightScale(18, 4 /* UIImageSymbolWeight.Regular */, 2 /* UIImageSymbolScale.Medium */);
251
+ const image = UIImage.systemImageNamedWithConfiguration('sidebar.trailing', cfg);
252
+ const item = UIBarButtonItem.alloc().initWithImageStyleTargetAction(image, 0 /* UIBarButtonItemStyle.Plain */, this._delegate, 'toggleInspector');
253
+ targetVC.navigationItem.rightBarButtonItem = item;
254
+ }
255
+ _syncControllers() {
256
+ if (!this.viewController) {
257
+ return;
258
+ }
259
+ // Prefer modern API if present; otherwise fall back to setting viewControllers array
260
+ const primary = this._controllers.get('primary');
261
+ const secondary = this._controllers.get('secondary');
262
+ const supplementary = this._controllers.get('supplementary');
263
+ const inspector = this._controllers.get('inspector');
264
+ if (primary) {
265
+ this.viewController.setViewControllerForColumn(primary, 0 /* UISplitViewControllerColumn.Primary */);
266
+ }
267
+ if (secondary) {
268
+ this.viewController.setViewControllerForColumn(secondary, 2 /* UISplitViewControllerColumn.Secondary */);
269
+ }
270
+ if (supplementary) {
271
+ this.viewController.setViewControllerForColumn(supplementary, 1 /* UISplitViewControllerColumn.Supplementary */);
272
+ }
273
+ if (inspector) {
274
+ if (this.viewController.preferredInspectorColumnWidthFraction !== undefined) {
275
+ this.viewController.setViewControllerForColumn(inspector, 4 /* UISplitViewControllerColumn.Inspector */);
276
+ }
277
+ }
278
+ this._applyPreferences();
279
+ }
280
+ _applyPreferences() {
281
+ if (!this.viewController) {
282
+ return;
283
+ }
284
+ // displayMode
285
+ let preferredDisplayMode = 0 /* UISplitViewControllerDisplayMode.Automatic */;
286
+ switch (this.displayMode) {
287
+ case 'secondaryOnly':
288
+ preferredDisplayMode = 1 /* UISplitViewControllerDisplayMode.SecondaryOnly */;
289
+ break;
290
+ case 'oneBesideSecondary':
291
+ preferredDisplayMode = 2 /* UISplitViewControllerDisplayMode.OneBesideSecondary */;
292
+ break;
293
+ case 'oneOverSecondary':
294
+ preferredDisplayMode = 3 /* UISplitViewControllerDisplayMode.OneOverSecondary */;
295
+ break;
296
+ case 'twoBesideSecondary':
297
+ preferredDisplayMode = 4 /* UISplitViewControllerDisplayMode.TwoBesideSecondary */;
298
+ break;
299
+ case 'twoOverSecondary':
300
+ preferredDisplayMode = 5 /* UISplitViewControllerDisplayMode.TwoOverSecondary */;
301
+ break;
302
+ case 'twoDisplaceSecondary':
303
+ preferredDisplayMode = 6 /* UISplitViewControllerDisplayMode.TwoDisplaceSecondary */;
304
+ break;
305
+ }
306
+ this.viewController.preferredDisplayMode = preferredDisplayMode;
307
+ // splitBehavior (iOS 14+)
308
+ const sb = this.splitBehavior;
309
+ let preferredSplitBehavior = 0 /* UISplitViewControllerSplitBehavior.Automatic */;
310
+ switch (sb) {
311
+ case 'tile':
312
+ preferredSplitBehavior = 1 /* UISplitViewControllerSplitBehavior.Tile */;
313
+ break;
314
+ case 'overlay':
315
+ preferredSplitBehavior = 2 /* UISplitViewControllerSplitBehavior.Overlay */ ?? 0 /* UISplitViewControllerSplitBehavior.Automatic */;
316
+ break;
317
+ case 'displace':
318
+ preferredSplitBehavior = 3 /* UISplitViewControllerSplitBehavior.Displace */ ?? 0 /* UISplitViewControllerSplitBehavior.Automatic */;
319
+ break;
320
+ }
321
+ this.viewController.preferredSplitBehavior = preferredSplitBehavior;
322
+ const primary = this._controllers.get('primary');
323
+ const secondary = this._controllers.get('secondary');
324
+ const supplementary = this._controllers.get('supplementary');
325
+ const inspector = this._controllers.get('inspector');
326
+ if (secondary instanceof UINavigationController && secondary.navigationItem) {
327
+ // TODO: can add properties to customize this
328
+ secondary.navigationItem.leftBarButtonItem = this.viewController.displayModeButtonItem;
329
+ secondary.navigationItem.leftItemsSupplementBackButton = true;
330
+ }
331
+ if (supplementary) {
332
+ this.showSupplementary();
333
+ }
334
+ if (inspector) {
335
+ this.showInspector();
336
+ // Ensure the inspector column gets its toggle button as soon as the first page is shown
337
+ this._attachInspectorButton();
338
+ }
339
+ // Width fractions
340
+ if (typeof this.preferredPrimaryColumnWidthFraction === 'number' && !isNaN(this.preferredPrimaryColumnWidthFraction)) {
341
+ this.viewController.preferredPrimaryColumnWidthFraction = this.preferredPrimaryColumnWidthFraction;
342
+ }
343
+ if (SplitView.SplitStyle === 'triple') {
344
+ // supplementary applies in triple style
345
+ if (typeof this.preferredSupplementaryColumnWidthFraction === 'number' && !isNaN(this.preferredSupplementaryColumnWidthFraction)) {
346
+ this.viewController.preferredSupplementaryColumnWidthFraction = this.preferredSupplementaryColumnWidthFraction;
347
+ }
348
+ }
349
+ if (SDK_VERSION >= 26) {
350
+ // Inspector width fraction
351
+ const inspectorWidth = this.preferredInspectorColumnWidthFraction;
352
+ if (typeof inspectorWidth === 'number' && !isNaN(inspectorWidth)) {
353
+ this.viewController.preferredInspectorColumnWidthFraction = inspectorWidth;
354
+ }
355
+ }
356
+ }
357
+ [displayModeProperty.setNative](value) {
358
+ this._applyPreferences();
359
+ }
360
+ [splitBehaviorProperty.setNative](value) {
361
+ this._applyPreferences();
362
+ }
363
+ [preferredPrimaryColumnWidthFractionProperty.setNative](value) {
364
+ this._applyPreferences();
365
+ }
366
+ [preferredSupplementaryColumnWidthFractionProperty.setNative](value) {
367
+ this._applyPreferences();
368
+ }
369
+ [preferredInspectorColumnWidthFractionProperty.setNative](value) {
370
+ this._applyPreferences();
371
+ }
372
+ }
373
+ //# sourceMappingURL=index.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../../../packages/core/ui/split-view/index.ios.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { LayoutBase } from '../layouts/layout-base';
2
+ import { View } from '../core/view';
3
+ import { Property } from '../core/properties';
4
+ export type SplitRole = 'primary' | 'secondary' | 'supplementary' | 'inspector';
5
+ export type SplitStyle = 'automatic' | 'double' | 'triple';
6
+ export type SplitDisplayMode = 'automatic' | 'secondaryOnly' | 'oneBesideSecondary' | 'oneOverSecondary' | 'twoBesideSecondary' | 'twoOverSecondary' | 'twoDisplaceSecondary';
7
+ export type SplitBehavior = 'automatic' | 'tile' | 'overlay' | 'displace';
8
+ export declare class SplitViewBase extends LayoutBase {
9
+ /**
10
+ * The display style for the split view controller.
11
+ * Must be set before bootstrapping the app.
12
+ */
13
+ static SplitStyle: SplitStyle;
14
+ static getInstance(): SplitViewBase | null;
15
+ /** Child role (primary, secondary, supplementary, inspector) */
16
+ splitRole: SplitRole;
17
+ /** Preferred display mode */
18
+ displayMode: SplitDisplayMode;
19
+ /** Preferred split behavior (iOS 14+) */
20
+ splitBehavior: SplitBehavior;
21
+ /** Primary column width fraction (0..1) */
22
+ preferredPrimaryColumnWidthFraction: number;
23
+ /** Supplementary column width fraction (0..1, iOS 14+ triple) */
24
+ preferredSupplementaryColumnWidthFraction: number;
25
+ /** Inspector column width fraction (0..1, iOS 17+/18+ when Inspector column available) */
26
+ preferredInspectorColumnWidthFraction: number;
27
+ /**
28
+ * Get child role (primary, secondary, supplementary, inspector)
29
+ */
30
+ static getRole(element: SplitViewBase): SplitRole;
31
+ /**
32
+ * Set child role (primary, secondary, supplementary, inspector)
33
+ */
34
+ static setRole(element: SplitViewBase, value: SplitRole): void;
35
+ onRoleChanged(view: View, oldValue: SplitRole, newValue: SplitRole): void;
36
+ showPrimary(): void;
37
+ hidePrimary(): void;
38
+ showSecondary(): void;
39
+ hideSecondary(): void;
40
+ showSupplementary(): void;
41
+ hideSupplementary(): void;
42
+ showInspector(): void;
43
+ hideInspector(): void;
44
+ protected _roleByIndex(index: number): SplitRole;
45
+ }
46
+ export declare const splitRoleProperty: Property<View, SplitRole>;
47
+ export declare const displayModeProperty: Property<SplitViewBase, SplitDisplayMode>;
48
+ export declare const splitBehaviorProperty: Property<SplitViewBase, SplitBehavior>;
49
+ export declare const preferredPrimaryColumnWidthFractionProperty: Property<SplitViewBase, number>;
50
+ export declare const preferredSupplementaryColumnWidthFractionProperty: Property<SplitViewBase, number>;
51
+ export declare const preferredInspectorColumnWidthFractionProperty: Property<SplitViewBase, number>;
@@ -0,0 +1,111 @@
1
+ import { LayoutBase } from '../layouts/layout-base';
2
+ import { View, CSSType } from '../core/view';
3
+ import { Property, makeParser, makeValidator } from '../core/properties';
4
+ const splitRoleConverter = makeParser(makeValidator('primary', 'secondary', 'supplementary', 'inspector'));
5
+ const splitDisplayModeConverter = makeParser(makeValidator('automatic', 'secondaryOnly', 'oneBesideSecondary', 'oneOverSecondary', 'twoBesideSecondary', 'twoOverSecondary', 'twoDisplaceSecondary'));
6
+ const splitBehaviorConverter = makeParser(makeValidator('automatic', 'tile', 'overlay', 'displace'));
7
+ // Default child roles (helps authoring without setting splitRole on children)
8
+ const ROLE_ORDER = ['primary', 'secondary', 'supplementary', 'inspector'];
9
+ let SplitViewBase = class SplitViewBase extends LayoutBase {
10
+ static getInstance() {
11
+ // Platform-specific implementations may override
12
+ return null;
13
+ }
14
+ /**
15
+ * Get child role (primary, secondary, supplementary, inspector)
16
+ */
17
+ static getRole(element) {
18
+ return element.splitRole;
19
+ }
20
+ /**
21
+ * Set child role (primary, secondary, supplementary, inspector)
22
+ */
23
+ static setRole(element, value) {
24
+ element.splitRole = value;
25
+ }
26
+ // Called when a child's role changes; platform impls may override
27
+ onRoleChanged(view, oldValue, newValue) {
28
+ this.requestLayout();
29
+ }
30
+ showPrimary() {
31
+ // Platform-specific implementations may override
32
+ }
33
+ hidePrimary() {
34
+ // Platform-specific implementations may override
35
+ }
36
+ showSecondary() {
37
+ // Platform-specific implementations may override
38
+ }
39
+ hideSecondary() {
40
+ // Platform-specific implementations may override
41
+ }
42
+ showSupplementary() {
43
+ // Platform-specific implementations may override
44
+ }
45
+ hideSupplementary() {
46
+ // Platform-specific implementations may override
47
+ }
48
+ showInspector() {
49
+ // Platform-specific implementations may override
50
+ }
51
+ hideInspector() {
52
+ // Platform-specific implementations may override
53
+ }
54
+ // Utility to infer a role by index when none specified
55
+ _roleByIndex(index) {
56
+ return ROLE_ORDER[Math.max(0, Math.min(index, ROLE_ORDER.length - 1))];
57
+ }
58
+ };
59
+ SplitViewBase = __decorate([
60
+ CSSType('SplitView')
61
+ ], SplitViewBase);
62
+ export { SplitViewBase };
63
+ SplitViewBase.prototype.recycleNativeView = 'auto';
64
+ export const splitRoleProperty = new Property({
65
+ name: 'splitRole',
66
+ defaultValue: 'primary',
67
+ valueChanged: (target, oldValue, newValue) => {
68
+ const parent = target.parent;
69
+ if (parent instanceof SplitViewBase) {
70
+ parent.onRoleChanged(target, oldValue, newValue);
71
+ }
72
+ },
73
+ valueConverter: splitRoleConverter,
74
+ });
75
+ splitRoleProperty.register(View);
76
+ export const displayModeProperty = new Property({
77
+ name: 'displayMode',
78
+ defaultValue: 'automatic',
79
+ affectsLayout: __APPLE__,
80
+ valueConverter: splitDisplayModeConverter,
81
+ });
82
+ displayModeProperty.register(SplitViewBase);
83
+ export const splitBehaviorProperty = new Property({
84
+ name: 'splitBehavior',
85
+ defaultValue: 'automatic',
86
+ affectsLayout: __APPLE__,
87
+ valueConverter: splitBehaviorConverter,
88
+ });
89
+ splitBehaviorProperty.register(SplitViewBase);
90
+ export const preferredPrimaryColumnWidthFractionProperty = new Property({
91
+ name: 'preferredPrimaryColumnWidthFraction',
92
+ defaultValue: 0,
93
+ affectsLayout: __APPLE__,
94
+ valueConverter: (v) => Math.max(0, Math.min(1, parseFloat(v))),
95
+ });
96
+ preferredPrimaryColumnWidthFractionProperty.register(SplitViewBase);
97
+ export const preferredSupplementaryColumnWidthFractionProperty = new Property({
98
+ name: 'preferredSupplementaryColumnWidthFraction',
99
+ defaultValue: 0,
100
+ affectsLayout: __APPLE__,
101
+ valueConverter: (v) => Math.max(0, Math.min(1, parseFloat(v))),
102
+ });
103
+ preferredSupplementaryColumnWidthFractionProperty.register(SplitViewBase);
104
+ export const preferredInspectorColumnWidthFractionProperty = new Property({
105
+ name: 'preferredInspectorColumnWidthFraction',
106
+ defaultValue: 0,
107
+ affectsLayout: __APPLE__,
108
+ valueConverter: (v) => Math.max(0, Math.min(1, parseFloat(v))),
109
+ });
110
+ preferredInspectorColumnWidthFractionProperty.register(SplitViewBase);
111
+ //# sourceMappingURL=split-view-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-view-common.js","sourceRoot":"","sources":["../../../../../packages/core/ui/split-view/split-view-common.ts"],"names":[],"mappings":"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"}
@@ -44,11 +44,13 @@ export declare class TabView extends TabViewBase {
44
44
  [iosIconRenderingModeProperty.setNative]: (value: "automatic" | "alwaysOriginal" | "alwaysTemplate") => void;
45
45
  viewController: UITabBarControllerImpl;
46
46
  items: TabViewItem[];
47
- _ios: UITabBarControllerImpl;
48
47
  private _delegate;
49
48
  private _moreNavigationControllerDelegate;
50
49
  private _iconsCache;
50
+ private _ios;
51
+ private _actionBarHiddenByTabView;
51
52
  constructor();
53
+ createNativeView(): UIView;
52
54
  initNativeView(): void;
53
55
  disposeNativeView(): void;
54
56
  onLoaded(): void;
@@ -58,8 +60,7 @@ export declare class TabView extends TabViewBase {
58
60
  _setNativeViewFrame(nativeView: UIView, frame: CGRect): void;
59
61
  onSelectedIndexChanged(oldIndex: number, newIndex: number): void;
60
62
  onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
61
- _onViewControllerShown(viewController: UIViewController): void;
62
- private _actionBarHiddenByTabView;
63
+ _onViewControllerShown(tabBarController: UITabBarController, viewController: UIViewController): void;
63
64
  _handleTwoNavigationBars(backToMoreWillBeVisible: boolean): void;
64
65
  private getViewController;
65
66
  private setViewControllers;