diff --git a/packages/core/ui/index.ts b/packages/core/ui/index.ts index ff1315e83a..a98aa04599 100644 --- a/packages/core/ui/index.ts +++ b/packages/core/ui/index.ts @@ -72,6 +72,7 @@ export type { SelectedIndexChangedEventData } from './segmented-bar'; export { Slider } from './slider'; export type { AccessibilityDecrementEventData, AccessibilityIncrementEventData } from './slider'; export { SplitView } from './split-view'; +export type { SplitStyle, SplitRole, SplitDisplayMode, SplitBehavior } from './split-view'; export { addTaggedAdditionalCSS, removeTaggedAdditionalCSS, resolveFileNameFromUrl } from './styling/style-scope'; export { Background } from './styling/background'; diff --git a/packages/core/ui/split-view/index.android.ts b/packages/core/ui/split-view/index.android.ts index 74165742e0..54aa95a266 100644 --- a/packages/core/ui/split-view/index.android.ts +++ b/packages/core/ui/split-view/index.android.ts @@ -1,7 +1,5 @@ import { SplitViewBase } from './split-view-common'; -export { SplitBehavior, SplitRole, SplitStyle, SplitDisplayMode } from './split-view-common'; - export class SplitView extends SplitViewBase { // Android does not have a native SplitViewController equivalent. } diff --git a/packages/core/ui/split-view/index.d.ts b/packages/core/ui/split-view/index.d.ts index 25382fbcfa..83c8fd043a 100644 --- a/packages/core/ui/split-view/index.d.ts +++ b/packages/core/ui/split-view/index.d.ts @@ -1,6 +1,11 @@ import { SplitViewBase } from './split-view-common'; -export type { SplitBehavior, SplitRole, SplitStyle, SplitDisplayMode } from './split-view-common'; +// Note: Using 'inspector' splitRole does not (yet) require a distinct style; it's an optional trailing column. +export type SplitStyle = 'automatic' | 'double' | 'triple'; + +export type SplitRole = 'primary' | 'secondary' | 'supplementary' | 'inspector'; +export type SplitDisplayMode = 'automatic' | 'secondaryOnly' | 'oneBesideSecondary' | 'oneOverSecondary' | 'twoBesideSecondary' | 'twoOverSecondary' | 'twoDisplaceSecondary'; +export type SplitBehavior = 'automatic' | 'tile' | 'overlay' | 'displace'; /** * iOS UISplitViewController-backed container. diff --git a/packages/core/ui/split-view/index.ios.ts b/packages/core/ui/split-view/index.ios.ts index fc46ffd639..65b0baa405 100644 --- a/packages/core/ui/split-view/index.ios.ts +++ b/packages/core/ui/split-view/index.ios.ts @@ -1,7 +1,8 @@ -import { SplitViewBase, SplitRole, displayModeProperty, splitBehaviorProperty, preferredPrimaryColumnWidthFractionProperty, preferredSupplementaryColumnWidthFractionProperty, preferredInspectorColumnWidthFractionProperty } from './split-view-common'; +import { SplitViewBase, displayModeProperty, splitBehaviorProperty, preferredPrimaryColumnWidthFractionProperty, preferredSupplementaryColumnWidthFractionProperty, preferredInspectorColumnWidthFractionProperty } from './split-view-common'; import { View } from '../core/view'; import { layout } from '../../utils'; import { SDK_VERSION } from '../../utils/constants'; +import type { SplitRole } from '.'; @NativeClass class UISplitViewControllerDelegateImpl extends NSObject implements UISplitViewControllerDelegate { diff --git a/packages/core/ui/split-view/split-view-common.ts b/packages/core/ui/split-view/split-view-common.ts index 6abef4f7c9..98e9d5ed27 100644 --- a/packages/core/ui/split-view/split-view-common.ts +++ b/packages/core/ui/split-view/split-view-common.ts @@ -1,17 +1,10 @@ import { LayoutBase } from '../layouts/layout-base'; import { View, CSSType } from '../core/view'; import { Property, makeParser, makeValidator } from '../core/properties'; +import type { SplitBehavior, SplitDisplayMode, SplitRole, SplitStyle } from '.'; -export type SplitRole = 'primary' | 'secondary' | 'supplementary' | 'inspector'; const splitRoleConverter = makeParser(makeValidator('primary', 'secondary', 'supplementary', 'inspector')); - -// Note: Using 'inspector' splitRole does not (yet) require a distinct style; it's an optional trailing column. -export type SplitStyle = 'automatic' | 'double' | 'triple'; - -export type SplitDisplayMode = 'automatic' | 'secondaryOnly' | 'oneBesideSecondary' | 'oneOverSecondary' | 'twoBesideSecondary' | 'twoOverSecondary' | 'twoDisplaceSecondary'; const splitDisplayModeConverter = makeParser(makeValidator('automatic', 'secondaryOnly', 'oneBesideSecondary', 'oneOverSecondary', 'twoBesideSecondary', 'twoOverSecondary', 'twoDisplaceSecondary')); - -export type SplitBehavior = 'automatic' | 'tile' | 'overlay' | 'displace'; const splitBehaviorConverter = makeParser(makeValidator('automatic', 'tile', 'overlay', 'displace')); // Default child roles (helps authoring without setting splitRole on children)