@octane-xplat/ui 0.7.1 → 0.7.3

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 (63) hide show
  1. package/dist/native/CommandPalette.tsrx.js +7 -1
  2. package/dist/native/Grid.tsrx.js +31 -2
  3. package/dist/native/Hoverable.mobile.tsrx.js +39 -0
  4. package/dist/native/Pagination.tsrx.js +15 -12
  5. package/dist/native/Popover.tsrx.js +18 -7
  6. package/dist/native/Screen.tsrx.js +1 -1
  7. package/dist/native/Sheet.tsrx.js +1 -1
  8. package/dist/native/Slider.tsrx.js +23 -14
  9. package/dist/native/Text.tsrx.js +16 -0
  10. package/dist/native/Tooltip.mobile.tsrx.js +39 -0
  11. package/dist/native/WebView.tsrx.js +17 -2
  12. package/dist/native/_virtual/_@oxc-project_runtime@0.150.0/helpers/esm/decorate.js +9 -0
  13. package/dist/native/escape-props.js +2 -0
  14. package/dist/native/grid-auto-placement.js +83 -0
  15. package/dist/native/grid-placement.js +20 -0
  16. package/dist/native/index.shared.js +2 -2
  17. package/dist/native/octane-client-build.json +1 -1
  18. package/dist/native/shared.js +2 -2
  19. package/dist/native/sheet-service.js +1 -1
  20. package/dist/native/{tap-to-blur.mobile.js → tap-to-blur.ios.js} +20 -32
  21. package/dist/native/ui.js +2 -2
  22. package/dist/native/useMeasure.tsrx.js +17 -18
  23. package/dist/web/index.shared.js +92 -0
  24. package/dist/web/octane-client-build.json +1 -1
  25. package/dist/web/ui.js +1 -0
  26. package/package.json +1 -1
  27. package/src/CommandPalette.tsrx +7 -1
  28. package/src/Grid.tsrx +30 -1
  29. package/src/Pagination.tsrx +6 -4
  30. package/src/Popover.tsrx +20 -6
  31. package/src/Screen.tsrx +1 -1
  32. package/src/Sheet.tsrx +1 -1
  33. package/src/Slider.tsrx +13 -11
  34. package/src/Text.tsrx +34 -0
  35. package/src/WebView.tsrx +19 -10
  36. package/src/escape-props.ts +11 -1
  37. package/src/grid-auto-placement.ts +121 -0
  38. package/src/grid-placement.ts +29 -0
  39. package/src/index.shared.ts +84 -84
  40. package/src/index.web.ts +1 -261
  41. package/src/sheet-service.ts +1 -1
  42. package/src/tap-to-blur.ios.ts +90 -0
  43. package/src/tap-to-blur.mobile.ts +12 -94
  44. package/src/theme/tokens.css +24 -8
  45. package/src/useMeasure.tsrx +20 -21
  46. package/types/generated/.tsrx-typegen-manifest.json +10 -1
  47. package/types/generated/Grid.d.ts +0 -1
  48. package/types/generated/Hoverable.mobile.d.ts +8 -0
  49. package/types/generated/Tooltip.mobile.d.ts +7 -0
  50. package/types/generated/camera-permission.web.d.ts +2 -0
  51. package/types/generated/escape-props.d.ts +4 -0
  52. package/types/generated/escape-props.web.d.ts +5 -0
  53. package/types/generated/grid-auto-placement.d.ts +13 -0
  54. package/types/generated/grid-placement.d.ts +5 -0
  55. package/types/generated/index.web.d.ts +1 -111
  56. package/types/generated/tap-to-blur.ios.d.ts +13 -0
  57. package/types/generated/tap-to-blur.mobile.d.ts +1 -15
  58. package/types/generated/text-write.web.d.ts +4 -0
  59. package/types/generated/toast.d.ts +3 -0
  60. package/types/generated/toast.web.d.ts +3 -0
  61. package/dist/native/Hoverable.tsrx.js +0 -139
  62. package/dist/native/Tooltip.tsrx.js +0 -131
  63. package/types/generated/theme/colorScheme.web.d.ts +0 -5
@@ -0,0 +1,121 @@
1
+ import type { GridChildPlacement } from './grid-placement'
2
+
3
+ export interface GridCell {
4
+ row: number
5
+ col: number
6
+ }
7
+
8
+ export interface GridAutoPlacement {
9
+ cells: GridCell[]
10
+ rowCount: number
11
+ columnCount: number
12
+ }
13
+
14
+ function gridIndex(value: unknown): number | null {
15
+ if (value == null || value === '') return null
16
+ const index = Number(value)
17
+ return Number.isInteger(index) && index >= 0 ? index : null
18
+ }
19
+
20
+ function gridSpan(value: unknown): number {
21
+ const span = Number(value)
22
+ return Number.isInteger(span) && span > 0 ? span : 1
23
+ }
24
+
25
+ function trackCount(spec?: string): number {
26
+ return spec?.split(',').filter((track) => track.trim().length > 0).length ?? 0
27
+ }
28
+
29
+ /** Match CSS Grid's row-flow placement for NativeScript GridLayout children. */
30
+ export function autoPlaceGridChildren(
31
+ items: readonly GridChildPlacement[],
32
+ rowTracks?: string,
33
+ columnTracks?: string,
34
+ ): GridAutoPlacement {
35
+ const placements = items.map((item) => ({
36
+ row: gridIndex(item.row),
37
+ col: gridIndex(item.col),
38
+ rowSpan: gridSpan(item.rowSpan),
39
+ colSpan: gridSpan(item.colSpan),
40
+ }))
41
+ const columnCount = Math.max(
42
+ 1,
43
+ trackCount(columnTracks),
44
+ ...placements
45
+ .filter((placement) => placement.col != null)
46
+ .map((placement) => placement.col! + placement.colSpan),
47
+ ...placements.map((placement) => placement.colSpan),
48
+ )
49
+ const occupied = new Set<string>()
50
+ const isFree = (row: number, col: number, rowSpan: number, colSpan: number) => {
51
+ for (let y = row; y < row + rowSpan; y++) {
52
+ for (let x = col; x < col + colSpan; x++) {
53
+ if (occupied.has(`${y},${x}`)) return false
54
+ }
55
+ }
56
+ return true
57
+ }
58
+ const occupy = (row: number, col: number, rowSpan: number, colSpan: number) => {
59
+ for (let y = row; y < row + rowSpan; y++) {
60
+ for (let x = col; x < col + colSpan; x++) occupied.add(`${y},${x}`)
61
+ }
62
+ }
63
+
64
+ // Definite placements reserve their cells before automatic items flow.
65
+ for (const placement of placements) {
66
+ if (placement.row != null && placement.col != null) {
67
+ occupy(placement.row, placement.col, placement.rowSpan, placement.colSpan)
68
+ }
69
+ }
70
+
71
+ for (const placement of placements) {
72
+ if (placement.row == null || placement.col != null) continue
73
+ let col = 0
74
+ while (!isFree(placement.row, col, placement.rowSpan, placement.colSpan)) col++
75
+ placement.col = col
76
+ occupy(placement.row, col, placement.rowSpan, placement.colSpan)
77
+ }
78
+
79
+ for (const placement of placements) {
80
+ if (placement.col == null || placement.row != null) continue
81
+ let row = 0
82
+ while (!isFree(row, placement.col, placement.rowSpan, placement.colSpan)) row++
83
+ placement.row = row
84
+ occupy(row, placement.col, placement.rowSpan, placement.colSpan)
85
+ }
86
+
87
+ let cursorRow = 0
88
+ let cursorCol = 0
89
+ for (const placement of placements) {
90
+ if (placement.row != null && placement.col != null) continue
91
+ while (true) {
92
+ if (cursorCol + placement.colSpan > columnCount) {
93
+ cursorRow++
94
+ cursorCol = 0
95
+ continue
96
+ }
97
+ if (isFree(cursorRow, cursorCol, placement.rowSpan, placement.colSpan)) break
98
+ cursorCol++
99
+ }
100
+ placement.row = cursorRow
101
+ placement.col = cursorCol
102
+ occupy(cursorRow, cursorCol, placement.rowSpan, placement.colSpan)
103
+ cursorCol += placement.colSpan
104
+ if (cursorCol >= columnCount) {
105
+ cursorRow++
106
+ cursorCol = 0
107
+ }
108
+ }
109
+
110
+ return {
111
+ cells: placements.map(({ row, col }) => ({ row: row!, col: col! })),
112
+ rowCount: Math.max(trackCount(rowTracks), ...placements.map((item) => item.row! + item.rowSpan)),
113
+ columnCount: Math.max(columnCount, ...placements.map((item) => item.col! + item.colSpan)),
114
+ }
115
+ }
116
+
117
+ export function ensureGridTracks(spec: string | undefined, requiredCount: number): string {
118
+ const tracks = spec?.split(',').map((track) => track.trim()).filter(Boolean) ?? []
119
+ while (tracks.length < requiredCount) tracks.push('auto')
120
+ return tracks.join(',')
121
+ }
@@ -0,0 +1,29 @@
1
+ import type { LayoutChildProps } from './props'
2
+
3
+ export type GridChildPlacement = Pick<LayoutChildProps, 'row' | 'col' | 'rowSpan' | 'colSpan'>
4
+
5
+ const placements = new WeakMap<object, GridChildPlacement>()
6
+
7
+ /** Keep the authored Grid placement next to its mounted NativeScript view. */
8
+ export function rememberGridChildPlacement(view: unknown, props: GridChildPlacement): void {
9
+ if ((typeof view !== 'object' || view === null) && typeof view !== 'function') {
10
+ return
11
+ }
12
+
13
+ const placement: GridChildPlacement = {}
14
+ for (const key of ['row', 'col', 'rowSpan', 'colSpan'] as const) {
15
+ if (props[key] !== undefined) {
16
+ placement[key] = props[key]
17
+ }
18
+ }
19
+
20
+ if (Object.keys(placement).length) {
21
+ placements.set(view as object, placement)
22
+ } else {
23
+ placements.delete(view as object)
24
+ }
25
+ }
26
+
27
+ export function gridChildPlacement(view: unknown): GridChildPlacement {
28
+ return typeof view === 'object' && view !== null ? placements.get(view) ?? {} : {}
29
+ }
@@ -1,28 +1,28 @@
1
1
  // Foundations and common controls
2
- export { View } from './View.tsrx'
3
- export { View as Column } from './View.tsrx'
4
- export { Row } from './Row.tsrx'
5
- export { Grid } from './Grid.tsrx'
6
- export { Stack } from './Stack.tsrx'
7
- export { Absolute } from './Absolute.tsrx'
2
+ export { View } from './View'
3
+ export { View as Column } from './View'
4
+ export { Row } from './Row'
5
+ export { Grid } from './Grid'
6
+ export { Stack } from './Stack'
7
+ export { Absolute } from './Absolute'
8
8
  export type { PanEvent, SwipeEvent, SetTranslate } from './props'
9
9
  export { setTranslate } from './translate'
10
- export { Spacer } from './Spacer.tsrx'
11
- export { Text } from './Text.tsrx'
12
- export { RichText, RichTextSpan } from './RichText.tsrx'
13
- export { Pressable } from './Pressable.tsrx'
14
- export { Button } from './Button.tsrx'
15
- export { Collapsible } from './Collapsible.tsrx'
16
- export { Accordion } from './Accordion.tsrx'
17
- export { Checkbox } from './Checkbox.tsrx'
18
- export { RadioGroup } from './RadioGroup.tsrx'
19
- export { DropdownMenu } from './DropdownMenu.tsrx'
20
- export { ContextMenu } from './ContextMenu.tsrx'
21
- export { Badge } from './Badge.tsrx'
22
- export { Separator } from './Separator.tsrx'
23
- export { Skeleton } from './Skeleton.tsrx'
24
- export { Avatar } from './Avatar.tsrx'
25
- export { AvatarGroup } from './AvatarGroup.tsrx'
10
+ export { Spacer } from './Spacer'
11
+ export { Text } from './Text'
12
+ export { RichText, RichTextSpan } from './RichText'
13
+ export { Pressable } from './Pressable'
14
+ export { Button } from './Button'
15
+ export { Collapsible } from './Collapsible'
16
+ export { Accordion } from './Accordion'
17
+ export { Checkbox } from './Checkbox'
18
+ export { RadioGroup } from './RadioGroup'
19
+ export { DropdownMenu } from './DropdownMenu'
20
+ export { ContextMenu } from './ContextMenu'
21
+ export { Badge } from './Badge'
22
+ export { Separator } from './Separator'
23
+ export { Skeleton } from './Skeleton'
24
+ export { Avatar } from './Avatar'
25
+ export { AvatarGroup } from './AvatarGroup'
26
26
  export type {
27
27
  AccordionItemSpec,
28
28
  AccordionProps,
@@ -43,16 +43,16 @@ export type {
43
43
  } from './props'
44
44
 
45
45
  // Forms and data entry
46
- export { FormField } from './FormField.tsrx'
47
- export { FieldGroup } from './FieldGroup.tsrx'
48
- export { ListItem } from './ListItem.tsrx'
49
- export { InputNumber } from './InputNumber.tsrx'
50
- export { PinInput } from './PinInput.tsrx'
51
- export { Select } from './Select.tsrx'
52
- export { SelectMenu, Combobox, InputMenu } from './aliases.tsrx'
53
- export { InputTags } from './InputTags.tsrx'
54
- export { InputRating } from './InputRating.tsrx'
55
- export { CheckboxGroup } from './CheckboxGroup.tsrx'
46
+ export { FormField } from './FormField'
47
+ export { FieldGroup } from './FieldGroup'
48
+ export { ListItem } from './ListItem'
49
+ export { InputNumber } from './InputNumber'
50
+ export { PinInput } from './PinInput'
51
+ export { Select } from './Select'
52
+ export { SelectMenu, Combobox, InputMenu } from './aliases'
53
+ export { InputTags } from './InputTags'
54
+ export { InputRating } from './InputRating'
55
+ export { CheckboxGroup } from './CheckboxGroup'
56
56
  export type {
57
57
  CheckboxGroupProps,
58
58
  FieldGroupProps,
@@ -69,11 +69,11 @@ export type {
69
69
  } from './props'
70
70
 
71
71
  // Navigation and command surfaces
72
- export { Breadcrumb } from './Breadcrumb.tsrx'
73
- export { Pagination } from './Pagination.tsrx'
74
- export { Stepper } from './Stepper.tsrx'
75
- export { NavigationMenu } from './NavigationMenu.tsrx'
76
- export { CommandPalette } from './CommandPalette.tsrx'
72
+ export { Breadcrumb } from './Breadcrumb'
73
+ export { Pagination } from './Pagination'
74
+ export { Stepper } from './Stepper'
75
+ export { NavigationMenu } from './NavigationMenu'
76
+ export { CommandPalette } from './CommandPalette'
77
77
  export type {
78
78
  BreadcrumbItem,
79
79
  BreadcrumbProps,
@@ -86,17 +86,17 @@ export type {
86
86
  } from './props'
87
87
 
88
88
  // Content and display
89
- export { Table } from './Table.tsrx'
90
- export { Timeline } from './Timeline.tsrx'
91
- export { Tree } from './Tree.tsrx'
92
- export { Alert } from './Alert.tsrx'
93
- export { Card } from './Card.tsrx'
94
- export { Chip } from './Chip.tsrx'
95
- export { Kbd } from './Kbd.tsrx'
96
- export { Empty } from './Empty.tsrx'
97
- export { Banner } from './Banner.tsrx'
98
- export { User } from './User.tsrx'
99
- export { ProgressGroup } from './ProgressGroup.tsrx'
89
+ export { Table } from './Table'
90
+ export { Timeline } from './Timeline'
91
+ export { Tree } from './Tree'
92
+ export { Alert } from './Alert'
93
+ export { Card } from './Card'
94
+ export { Chip } from './Chip'
95
+ export { Kbd } from './Kbd'
96
+ export { Empty } from './Empty'
97
+ export { Banner } from './Banner'
98
+ export { User } from './User'
99
+ export { ProgressGroup } from './ProgressGroup'
100
100
  export type {
101
101
  AlertProps,
102
102
  BannerProps,
@@ -115,24 +115,24 @@ export type {
115
115
  } from './props'
116
116
 
117
117
  // Links, input, scrolling, media, and overlays
118
- export { Link } from './Link.tsrx'
119
- export { NavLink } from './NavLink.tsrx'
120
- export { TextInput } from './TextInput.tsrx'
121
- export { TextArea } from './TextArea.tsrx'
122
- export { SearchInput } from './SearchInput.tsrx'
123
- export { SegmentedControl } from './SegmentedControl.tsrx'
124
- export { ScrollBox } from './ScrollBox.tsrx'
125
- export { ScrollView } from './ScrollView.tsrx'
126
- export { VirtualList } from './VirtualList.tsrx'
118
+ export { Link } from './Link'
119
+ export { NavLink } from './NavLink'
120
+ export { TextInput } from './TextInput'
121
+ export { TextArea } from './TextArea'
122
+ export { SearchInput } from './SearchInput'
123
+ export { SegmentedControl } from './SegmentedControl'
124
+ export { ScrollBox } from './ScrollBox'
125
+ export { ScrollView } from './ScrollView'
126
+ export { VirtualList } from './VirtualList'
127
127
  export type { VirtualListProps } from './props'
128
- export { Image } from './Image.tsrx'
129
- export { WebView } from './WebView.tsrx'
128
+ export { Image } from './Image'
129
+ export { WebView } from './WebView'
130
130
  export type { WebViewContentSize, WebViewHandle, WebViewLoadEvent, WebViewProps } from './props'
131
- export { Overlay } from './Overlay.tsrx'
132
- export { Popover } from './Popover.tsrx'
133
- export { Hoverable } from './Hoverable.tsrx'
134
- export { Tooltip } from './Tooltip.tsrx'
135
- export { showToast } from './toast-anchor.tsrx'
131
+ export { Overlay } from './Overlay'
132
+ export { Popover } from './Popover'
133
+ export { Hoverable } from './Hoverable'
134
+ export { Tooltip } from './Tooltip'
135
+ export { showToast } from './toast-anchor'
136
136
  export type {
137
137
  HoverableProps,
138
138
  OverlayProps,
@@ -146,8 +146,8 @@ export type {
146
146
  } from './props'
147
147
 
148
148
  // Animation, theme, styling, and host services
149
- export { useAnimation } from './anim.tsrx'
150
- export type { AnimatedValue } from './anim.tsrx'
149
+ export { useAnimation } from './anim'
150
+ export type { AnimatedValue } from './anim'
151
151
  export {
152
152
  useThemeScheme,
153
153
  getThemeScheme,
@@ -160,25 +160,25 @@ export {
160
160
 
161
161
  export { useColorScheme, getColorScheme } from './theme/colorScheme'
162
162
  export type { ColorScheme } from './theme/colorScheme'
163
- export { styled } from './styled.tsrx'
163
+ export { styled } from './styled'
164
164
  export { openWindow } from './windows'
165
165
 
166
166
  // Screens, visual controls, and icons
167
- export { Screen } from './Screen.tsrx'
168
- export { Tabs } from './Tabs.tsrx'
169
- export type { TabSpec } from './Tabs.tsrx'
170
- export { Switch } from './Switch.tsrx'
171
- export { SafeArea } from './SafeArea.tsrx'
172
- export { Drawer } from './Drawer.tsrx'
173
- export { useSafeAreaInsets } from './safeAreaInsets.tsrx'
174
- export type { SafeAreaInsets } from './safeAreaInsets.tsrx'
175
- export { useMeasure } from './useMeasure.tsrx'
167
+ export { Screen } from './Screen'
168
+ export { Tabs } from './Tabs'
169
+ export type { TabSpec } from './Tabs'
170
+ export { Switch } from './Switch'
171
+ export { SafeArea } from './SafeArea'
172
+ export { Drawer } from './Drawer'
173
+ export { useSafeAreaInsets } from './safeAreaInsets'
174
+ export type { SafeAreaInsets } from './safeAreaInsets'
175
+ export { useMeasure } from './useMeasure'
176
176
  export type { MeasureBounds, MeasureResult, UseMeasureOptions } from './props'
177
- export { ActivityIndicator } from './ActivityIndicator.tsrx'
178
- export { Meter } from './Meter.tsrx'
179
- export { Slider } from './Slider.tsrx'
180
- export { Icon } from './Icon.tsrx'
181
- export { Heading } from './Heading.tsrx'
177
+ export { ActivityIndicator } from './ActivityIndicator'
178
+ export { Meter } from './Meter'
179
+ export { Slider } from './Slider'
180
+ export { Icon } from './Icon'
181
+ export { Heading } from './Heading'
182
182
  export { registerIcon, registerIcons } from './icons'
183
183
  export type { IconGlyph } from './icons'
184
184
  export type {
@@ -216,7 +216,7 @@ export {
216
216
  layoutsForRoute,
217
217
  } from './route'
218
218
 
219
- export { useBackInterceptor } from './use-back.tsrx'
219
+ export { useBackInterceptor } from './use-back'
220
220
 
221
221
  export { deriveRouteManifest, defineRoutes, mergeRouteManifests } from './route-table'
222
222
  export type {
@@ -240,8 +240,8 @@ export type {
240
240
  // Stores, sheets, and shared prop types
241
241
  export { createStore } from './store'
242
242
  export type { Store, ReadableStore } from './store'
243
- export { useStore } from './use-store.tsrx'
244
- export { Sheet } from './Sheet.tsrx'
243
+ export { useStore } from './use-store'
244
+ export { Sheet } from './Sheet'
245
245
  export { openSheet, closeSheet } from './sheet-service'
246
246
  export type { SheetProps, SheetOpenOptions, OpenSheet } from './props'
247
247
  export type {
package/src/index.web.ts CHANGED
@@ -1,261 +1 @@
1
- export { View } from './View.web.tsrx'
2
- export { View as Column } from './View.web.tsrx'
3
- export { Row } from './Row.web.tsrx'
4
- export { Grid } from './Grid.web.tsrx'
5
- export { Stack } from './Stack.web.tsrx'
6
- export { Absolute } from './Absolute.web.tsrx'
7
- export type { PanEvent, SwipeEvent, SetTranslate } from './props'
8
- export { setTranslate } from './translate.web'
9
- export { Spacer } from './Spacer.web.tsrx'
10
- export { Text } from './Text.web.tsrx'
11
- export { RichText, RichTextSpan } from './RichText.web.tsrx'
12
- export { Pressable } from './Pressable.web.tsrx'
13
- export { Button } from './Button.web.tsrx'
14
- export { Collapsible } from './Collapsible.web.tsrx'
15
- export { Accordion } from './Accordion.web.tsrx'
16
- export { Checkbox } from './Checkbox.web.tsrx'
17
- export { RadioGroup } from './RadioGroup.web.tsrx'
18
- export { DropdownMenu } from './DropdownMenu.web.tsrx'
19
- export { ContextMenu } from './ContextMenu.web.tsrx'
20
- export { Badge } from './Badge.web.tsrx'
21
- export { Separator } from './Separator.web.tsrx'
22
- export { Skeleton } from './Skeleton.web.tsrx'
23
- export { Avatar } from './Avatar.web.tsrx'
24
- export { AvatarGroup } from './AvatarGroup.web.tsrx'
25
- export type {
26
- AccordionItemSpec,
27
- AccordionProps,
28
- AvatarGroupProps,
29
- AvatarProps,
30
- BadgeProps,
31
- ButtonProps,
32
- CheckboxProps,
33
- CollapsibleProps,
34
- ContextMenuProps,
35
- DropdownMenuProps,
36
- MenuItem,
37
- RadioGroupProps,
38
- RadioOption,
39
- SegmentedControlProps,
40
- SeparatorProps,
41
- SkeletonProps,
42
- } from './props'
43
-
44
- export { FormField } from './FormField.web.tsrx'
45
- export { FieldGroup } from './FieldGroup.web.tsrx'
46
- export { ListItem } from './ListItem.web.tsrx'
47
- export { InputNumber } from './InputNumber.web.tsrx'
48
- export { PinInput } from './PinInput.web.tsrx'
49
- export { Select } from './Select.web.tsrx'
50
- export { SelectMenu, Combobox, InputMenu } from './aliases.web.tsrx'
51
- export { InputTags } from './InputTags.web.tsrx'
52
- export { InputRating } from './InputRating.web.tsrx'
53
- export { CheckboxGroup } from './CheckboxGroup.web.tsrx'
54
- export type {
55
- CheckboxGroupProps,
56
- FieldGroupProps,
57
- ListItemComponent,
58
- ListItemProps,
59
- ListItemSlotProps,
60
- FormFieldProps,
61
- InputNumberProps,
62
- InputRatingProps,
63
- InputTagsProps,
64
- PinInputProps,
65
- SelectOption,
66
- SelectProps,
67
- } from './props'
68
-
69
- export { Breadcrumb } from './Breadcrumb.web.tsrx'
70
- export { Pagination } from './Pagination.web.tsrx'
71
- export { Stepper } from './Stepper.web.tsrx'
72
- export { NavigationMenu } from './NavigationMenu.web.tsrx'
73
- export { CommandPalette } from './CommandPalette.web.tsrx'
74
- export type {
75
- BreadcrumbItem,
76
- BreadcrumbProps,
77
- CommandPaletteProps,
78
- NavigationMenuItem,
79
- NavigationMenuProps,
80
- PaginationProps,
81
- StepperProps,
82
- StepperStep,
83
- } from './props'
84
-
85
- export { Table } from './Table.web.tsrx'
86
- export { Timeline } from './Timeline.web.tsrx'
87
- export { Tree } from './Tree.web.tsrx'
88
- export { Alert } from './Alert.web.tsrx'
89
- export { Card } from './Card.web.tsrx'
90
- export { Chip } from './Chip.web.tsrx'
91
- export { Kbd } from './Kbd.web.tsrx'
92
- export { Empty } from './Empty.web.tsrx'
93
- export { Banner } from './Banner.web.tsrx'
94
- export { User } from './User.web.tsrx'
95
- export { ProgressGroup } from './ProgressGroup.web.tsrx'
96
- export type {
97
- AlertProps,
98
- BannerProps,
99
- CardProps,
100
- ChipProps,
101
- EmptyProps,
102
- KbdProps,
103
- ProgressGroupProps,
104
- TableColumn,
105
- TableProps,
106
- TimelineItem,
107
- TimelineProps,
108
- TreeNode,
109
- TreeProps,
110
- UserProps,
111
- } from './props'
112
-
113
- export { Link } from './Link.web.tsrx'
114
- export { NavLink } from './NavLink.web.tsrx'
115
- export { TextInput } from './TextInput.web.tsrx'
116
- export { TextArea } from './TextArea.web.tsrx'
117
- export { SearchInput } from './SearchInput.web.tsrx'
118
- export { SegmentedControl } from './SegmentedControl.web.tsrx'
119
- export { ScrollBox } from './ScrollBox.web.tsrx'
120
- export { ScrollView } from './ScrollView.web.tsrx'
121
- export { VirtualList } from './VirtualList.web.tsrx'
122
- export type { VirtualListProps } from './props'
123
- export { Image } from './Image.web.tsrx'
124
- export { WebView } from './WebView.web.tsrx'
125
- export type { WebViewContentSize, WebViewHandle, WebViewLoadEvent, WebViewProps } from './props'
126
- export { Overlay } from './Overlay.web.tsrx'
127
- export { Popover } from './Popover.web.tsrx'
128
- export { Hoverable } from './Hoverable.web.tsrx'
129
- export { Tooltip } from './Tooltip.web.tsrx'
130
- export { showToast } from './toast-anchor.web.tsrx'
131
- export type {
132
- HoverableProps,
133
- OverlayProps,
134
- PopoverAnchorRef,
135
- PopoverProps,
136
- PopoverPlacement,
137
- ToastContent,
138
- ToastOptions,
139
- ToastPosition,
140
- TooltipProps,
141
- } from './props'
142
-
143
- export { useAnimation } from './anim.web.tsrx'
144
- export type { AnimatedValue } from './anim.web.tsrx'
145
- export {
146
- useThemeScheme,
147
- getThemeScheme,
148
- setThemePreference,
149
- getThemePreference,
150
- themeSchemeClasses,
151
- onThemeSchemeChange,
152
- applyThemeClasses,
153
- } from './theme/theme-scheme'
154
-
155
- export { useColorScheme, getColorScheme } from './theme/colorScheme.web'
156
- export type { ColorScheme } from './theme/colorScheme.web'
157
- export { styled } from './styled.web.tsrx'
158
- export { openWindow } from './windows.web'
159
- export { Screen } from './Screen.web.tsrx'
160
- export { Tabs } from './Tabs.web.tsrx'
161
- export type { TabSpec } from './Tabs.web.tsrx'
162
- export { Switch } from './Switch.web.tsrx'
163
- export { SafeArea } from './SafeArea.web.tsrx'
164
- export { Drawer } from './Drawer.web.tsrx'
165
- export { useSafeAreaInsets } from './safeAreaInsets.web.tsrx'
166
- export type { SafeAreaInsets } from './safeAreaInsets.web.tsrx'
167
- export { useMeasure } from './useMeasure.web.tsrx'
168
- export type { MeasureBounds, MeasureResult, UseMeasureOptions } from './props'
169
- export { ActivityIndicator } from './ActivityIndicator.web.tsrx'
170
- export { Meter } from './Meter.web.tsrx'
171
- export { Slider } from './Slider.web.tsrx'
172
- export { Icon } from './Icon.web.tsrx'
173
- export { Heading } from './Heading.web.tsrx'
174
- export { registerIcon, registerIcons } from './icons'
175
- export type { IconGlyph } from './icons'
176
- export type {
177
- ActivityIndicatorProps,
178
- HeadingProps,
179
- IconProps,
180
- MeterProps,
181
- RefreshProps,
182
- SearchInputProps,
183
- SliderProps,
184
- } from './props'
185
-
186
- export { isNative } from './platform.web'
187
- export { registerStack, getStack, stackEntries } from './stacks.web'
188
- export {
189
- pushRoute,
190
- popRoute,
191
- routeStacks,
192
- pushDeepLink,
193
- routeFor,
194
- currentRoute,
195
- currentModalRoute,
196
- canGoBack,
197
- useCanGoBack,
198
- useRoute,
199
- useModalRoute,
200
- redirect,
201
- addBackInterceptor,
202
- registerScreens,
203
- registerRoutes,
204
- addRoutes,
205
- screenFor,
206
- hrefFor,
207
- layoutsFor as layoutsForRoute,
208
- } from './route.web'
209
-
210
- export { useBackInterceptor } from './use-back.web.tsrx'
211
-
212
- export { deriveRouteManifest, defineRoutes, mergeRouteManifests } from './route-table'
213
- export type {
214
- BeforeLoad,
215
- BeforeLoadArgs,
216
- LinkProps,
217
- NavLinkProps,
218
- Route,
219
- RouteContext,
220
- RouteHead,
221
- RouteHeadExport,
222
- RouteMeta,
223
- RouteManifest,
224
- RouteSpec,
225
- RouteSpecSet,
226
- ScreenTable,
227
- ModalOpenResult,
228
- OpenWindowOptions,
229
- } from './props'
230
-
231
- export { createStore } from './store'
232
- export type { Store, ReadableStore } from './store'
233
- export { useStore } from './use-store.web.tsrx'
234
- export { Sheet } from './Sheet.web.tsrx'
235
- export { openSheet, closeSheet } from './sheet-service.web'
236
- export type { SheetProps, SheetOpenOptions, OpenSheet } from './props'
237
-
238
- // These props are shared type-only exports added after the explicit web barrel.
239
- export type {
240
- AbsoluteProps,
241
- DrawerProps,
242
- GridProps,
243
- ImageProps,
244
- LayoutChildProps,
245
- PressableProps,
246
- RichTextProps,
247
- RichTextSpanProps,
248
- RowProps,
249
- SafeAreaProps,
250
- ScreenProps,
251
- ScrollBoxProps,
252
- ScrollViewProps,
253
- SpacerProps,
254
- StackProps,
255
- SwitchProps,
256
- TabsProps,
257
- TextAreaProps,
258
- TextInputProps,
259
- TextProps,
260
- ViewProps,
261
- } from './props'
1
+ export * from './index.shared'
@@ -6,7 +6,7 @@ import { topRootLayout } from './root-layout.mobile'
6
6
  import { applyThemeClasses } from './theme/theme-scheme'
7
7
  import { attachSheetDetents } from './sheet-detents'
8
8
  import { bindBottomInsetToKeyboard } from './keyboard-inset.mobile'
9
- import { attachTapToBlur } from './tap-to-blur.mobile'
9
+ import { attachTapToBlur } from './tap-to-blur'
10
10
 
11
11
  interface ActiveSheet {
12
12
  host: GridLayout