@swiftbrowser/react 0.4.0 → 0.5.0

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/README.md CHANGED
@@ -15,12 +15,22 @@ live inside a SwiftUI element (see [Mixing with ordinary React](#mixing-with-ord
15
15
  The package is experimental.
16
16
 
17
17
  ```sh
18
- npm install @swiftbrowser/react @swiftbrowser/web react react-dom
18
+ npm install @swiftbrowser/react @swiftbrowser/web react react-dom react-reconciler
19
19
  ```
20
20
 
21
+ `react-reconciler` is a peer dependency, so the app picks the release that
22
+ matches its React: 0.31 for React 19.0, 0.32 for 19.1, 0.33 for 19.2, 0.34
23
+ for 19.3 (`npm install react-reconciler@0.33` on React 19.2, say); the
24
+ package works with all four.
25
+
21
26
  It is built for a bundler (Vite, or any that compiles TypeScript in
22
27
  dependencies): the renderer it drives comes from `@swiftbrowser/web`'s
23
- TypeScript sources, as does the stylesheet the page imports.
28
+ TypeScript sources, as does the stylesheet the page imports. The stylesheet
29
+ is the renderer's alone (the device's tokens, the frame, the elements): it
30
+ leaves the page's own `body`, classes and box model as they are, and an
31
+ island is as wide and as tall as the page's CSS makes it. With Vite, list
32
+ `@swiftbrowser/web` in `optimizeDeps.exclude` so the renderer's bitmap
33
+ worker resolves from its sources.
24
34
 
25
35
  ## Getting started
26
36
 
@@ -232,6 +242,37 @@ Name a coordinate space with `coordinateSpace="page"` on the `ScrollView`
232
242
  (or any view), and a `GeometryReader` inside reads its frame there with
233
243
  `proxy.frame({ named: 'page' })`, updated as the page scrolls.
234
244
 
245
+ `scrollTransition` draws effects as a view leaves the visible area of its
246
+ scroll view and comes back. The closure gets the effect to build on and the
247
+ phase (`topLeading`, `identity` or `bottomTrailing`, with `value` -1, 0 or
248
+ 1). By default the effect follows the scrolling, drawn partway while the
249
+ view is partly out; `configuration: 'animated'` switches phases with an
250
+ animation instead. `containerRelativeFrame` sizes a view against the scroll
251
+ view's visible area, so a carousel of cards is:
252
+
253
+ ```tsx
254
+ <ScrollView axes="horizontal" contentMargins={['horizontal', 20]} scrollEdgeEffectStyle="hard">
255
+ <HStack spacing={12}>
256
+ {cards.map((card) => (
257
+ <CardView
258
+ key={card.id}
259
+ card={card}
260
+ containerRelativeFrame={{ axes: 'horizontal', count: 5, span: 2, spacing: 12 }}
261
+ scrollTransition={(effect, phase) => effect.scaleEffect(phase.isIdentity ? 1 : 0.85).opacity(phase.isIdentity ? 1 : 0.4)}
262
+ />
263
+ ))}
264
+ </HStack>
265
+ </ScrollView>
266
+ ```
267
+
268
+ `contentMargins` pads the content inside the scroll views below (it scrolls
269
+ under the margin). `scrollEdgeEffectStyle` (`hard`, `soft`, `automatic`, or
270
+ `["hard", "top"]` for one edge) and `scrollEdgeEffectHidden` set the iOS 26
271
+ edge effect where a list or scroll view runs under a bar. All three apply to
272
+ the scroll view they are written on and pass down to the ones inside, as
273
+ SwiftUI's environment does. `LazyHGrid` lays its cells into `rows` column by
274
+ column, for a horizontal `ScrollView`.
275
+
235
276
  ### Drawing and media
236
277
 
237
278
  `Shape` takes a `path` function of the rectangle it is laid out in and
@@ -256,7 +297,11 @@ view's frame), `help` (a tooltip), `pointerStyle` (`link`, `text`,
256
297
  Ctrl off Apple platforms) and `onKeyPress` (keys pressed while no text field
257
298
  has the focus). `symbolEffect` draws SF Symbols' effects (`bounce`, `pulse`,
258
299
  `variableColor`, `rotate`, `wiggle`, `breathe`, `scale`, `appear`), running
259
- while active or once per change of a value. `matchedGeometryEffect` with a
300
+ while active or once per change of a value. `visualEffect={(effect, proxy) =>
301
+ …}` draws effects (offset, scale, rotation, opacity, blur, color
302
+ adjustments) from the view's geometry without changing its layout; the
303
+ proxy's `frame('global')` and `bounds('scrollView')` stay current as the page
304
+ scrolls, so a parallax or a fade by position is one closure. `matchedGeometryEffect` with a
260
305
  namespace from `useNamespace()` moves a view into the frame of the one it
261
306
  replaces in an animated change. `contentTransition="numericText"` rolls a
262
307
  text's old value out and the new one in when it changes in an animated pass,
@@ -349,6 +394,8 @@ SwiftUI row shows the count, and the row grows with the text.
349
394
 
350
395
  A host is a React root of its own, so it needs the `react-dom` peer
351
396
  dependency, and React context does not cross into it by itself; see below.
397
+ It survives `StrictMode`'s simulated unmount and remount, as does
398
+ `SwiftUIView` (`island.html?strict` in the demos runs under it).
352
399
 
353
400
  ### Contexts across roots
354
401
 
@@ -392,11 +439,13 @@ read with a hook). Props, callbacks and external stores need no bridging.
392
439
  ## What is covered
393
440
 
394
441
  - **Layout**: stacks, `LazyVStack`, `LazyHStack`, `Spacer`, `Divider`,
395
- `ScrollView`, `ScrollViewReader`, `Group`, `ForEach` (with `onDelete` and
396
- `onMove`), `Grid`, `LazyVGrid`, `ViewThatFits`, `GeometryReader` (its size,
397
- its frame on screen or in a `coordinateSpace` named on an ancestor, and its
398
- safe-area insets), custom `Layout` (with `layoutValue`s, priorities, view
399
- spacing, explicit alignment guides and a cache), `safeAreaInset`.
442
+ `ScrollView` (with `contentMargins` and scroll edge effects),
443
+ `ScrollViewReader`, `Group`, `ForEach` (with `onDelete` and `onMove`),
444
+ `Grid`, `LazyVGrid`, `LazyHGrid`, `ViewThatFits`, `GeometryReader` (its
445
+ size, its frame on screen or in a `coordinateSpace` named on an ancestor,
446
+ the visible bounds of its scroll view, and its safe-area insets), custom
447
+ `Layout` (with `layoutValue`s, priorities, view spacing, explicit
448
+ alignment guides and a cache), `containerRelativeFrame`, `safeAreaInset`.
400
449
  - **Content**: `Text` (with `Text + Text` runs, inline images, italic,
401
450
  underline, strikethrough, tracking), `Image` (symbols, catalog images
402
451
  with the `assets` option, remote images and `AsyncImage`), `Label` and its
@@ -421,7 +470,8 @@ read with a hook). Props, callbacks and external stores need no bridging.
421
470
  `keyboardShortcut`, `onKeyPress`, `sensoryFeedback`.
422
471
  - **Animation and effects**: `withAnimation`, `animation`, transitions,
423
472
  `PhaseAnimator`, `KeyframeAnimator`, `matchedGeometryEffect`,
424
- `symbolEffect`, `contentTransition`, `redacted` placeholders, `textCase`.
473
+ `symbolEffect`, `contentTransition`, `visualEffect`, `scrollTransition`,
474
+ `redacted` placeholders, `textCase`.
425
475
  - **Mixing**: `Host` and `SwiftUIView`.
426
476
 
427
477
  ## Not yet
@@ -429,6 +479,11 @@ read with a hook). Props, callbacks and external stores need no bridging.
429
479
  - `contentTransition="numericText"` rolls the whole text rather than only
430
480
  the digits that changed, and `Canvas` symbols always draw above the
431
481
  canvas's other commands.
482
+ - `scrollTransition` takes no thresholds: the effect starts as soon as any
483
+ of the view is out of the visible area and is complete when all of it is.
484
+ `containerRelativeFrame` measures against the scroll view's whole visible
485
+ area, content margins included, and its `length` closure is read as a
486
+ linear function of the container's length.
432
487
  - The Swift-only bridges (SwiftData, URLSession, notifications, Core ML,
433
488
  StoreKit) have no React counterpart, by design: a web app uses the
434
489
  platform's own.
@@ -4,7 +4,7 @@
4
4
  * `geometry` event with the size, a `layout` event with the children's
5
5
  * measurements); the component answers by rendering again.
6
6
  */
7
- import type { LayoutChildMeasurement } from '@swiftbrowser/web/src/protocol';
7
+ import type { GeometryEvent, LayoutChildMeasurement } from '@swiftbrowser/web/src/protocol';
8
8
  import { type ReactNode } from 'react';
9
9
  import { type ViewModifiers } from '../modifiers';
10
10
  import { type UnitPointValue } from '../values';
@@ -35,17 +35,47 @@ export interface GeometryProxy {
35
35
  frame(space?: 'local' | 'global' | {
36
36
  named: string;
37
37
  }): Rect;
38
+ /**
39
+ * `bounds(of: .scrollView)`: the visible part of the scroll view (or list)
40
+ * the reader is in, in the reader's own coordinates; null outside one.
41
+ */
42
+ bounds(of: 'scrollView'): Rect | null;
38
43
  /** How far the device's safe area (the status bar, the home indicator) reaches into the reader. */
39
44
  safeAreaInsets: SafeAreaInsets;
40
45
  }
41
46
  export interface GeometryReaderProps extends ViewModifiers {
42
47
  children: (proxy: GeometryProxy) => ReactNode;
43
48
  }
49
+ /** What the page last reported about a reader. */
50
+ export interface ReportedGeometry {
51
+ size: Size;
52
+ origin: {
53
+ x: number;
54
+ y: number;
55
+ } | null;
56
+ safeArea: SafeAreaInsets;
57
+ /** The enclosing scroll view's visible rectangle on screen, and its axis. */
58
+ scrollView: (Rect & {
59
+ axis: 'horizontal' | 'vertical';
60
+ }) | null;
61
+ }
62
+ export declare const NO_GEOMETRY: ReportedGeometry;
63
+ /** The reader's record after a `geometry` event. */
64
+ export declare function nextGeometry(event: GeometryEvent, reported: ReportedGeometry): ReportedGeometry;
65
+ /**
66
+ * The proxy over a reader's record. `onReadFrame` is called when the content
67
+ * reads anything that needs the reader's place on screen.
68
+ */
69
+ export declare function geometryProxy(reported: ReportedGeometry, spaces: Readonly<Record<string, {
70
+ x: number;
71
+ y: number;
72
+ } | null>>, onReadFrame: () => void): GeometryProxy;
44
73
  /**
45
74
  * `GeometryReader { proxy in }`: fills its proposal and reports its size.
46
75
  * The content renders with a zero size first and again with the real one in
47
76
  * the same event cycle, before the page paints. A content that reads the
48
- * global frame or the safe-area insets asks the page for them from then on.
77
+ * global frame, the scroll view's bounds or the safe-area insets asks the
78
+ * page for them from then on.
49
79
  */
50
80
  export declare function GeometryReader(props: GeometryReaderProps): ReactNode;
51
81
  /** A proposal axis: points, `Infinity`, or `null` (unspecified). */
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/components/geometry.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/components/geometry.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/components/host.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAuD,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9H,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,SAAS,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAiDhD"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/components/host.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAuD,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9H,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,SAAS,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CA8DhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/components/lists.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAiD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAU5F,gEAAgE;AAChE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,aAAa;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gCAAgC;IAChC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,sHAAsH;IACtH,SAAS,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1D,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAsChE;AAED,+DAA+D;AAC/D,wBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAEvG;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,iGAAiG;IACjG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAStD"}
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/components/lists.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAiD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtF,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAW5F,gEAAgE;AAChE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,aAAa;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gCAAgC;IAChC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAChC,sHAAsH;IACtH,SAAS,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1D,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CA4ChE;AAED,+DAA+D;AAC/D,wBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAEvG;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,iGAAiG;IACjG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAStD"}
@@ -1,7 +1,8 @@
1
1
  import type { FrameAlignment, GridItem as GridItemProps, GridRowAlignment, HStackAlignment, ScrollAxes, VStackAlignment } from '@swiftbrowser/web/src/protocol';
2
2
  import { type Key, type ReactElement, type ReactNode } from 'react';
3
3
  import type { EventHandlers } from '../host/instance';
4
- import { type ViewModifiers } from '../modifiers';
4
+ import { type ModifierEntry, type ViewModifiers } from '../modifiers';
5
+ import { type ScrollSettings } from '../scrollEnvironment';
5
6
  export interface VStackProps extends ViewModifiers {
6
7
  alignment?: VStackAlignment;
7
8
  spacing?: number | null;
@@ -36,6 +37,13 @@ export interface ScrollViewProps extends ViewModifiers {
36
37
  children?: ReactNode;
37
38
  }
38
39
  export declare function ScrollView(props: ScrollViewProps): ReactNode;
40
+ /**
41
+ * The scroll modifiers written on a `ScrollView` or `List` itself: they apply
42
+ * to it, and pass on to the scroll views inside as from above.
43
+ */
44
+ export declare function takeScrollSettings(modifiers: ModifierEntry[]): ScrollSettings;
45
+ /** `children` under the settings a scroll view was given itself (when there are any). */
46
+ export declare function providingScrollSettings(settings: ScrollSettings, children: ReactNode): ReactNode;
39
47
  /**
40
48
  * `.refreshable` above a `List` or `ScrollView`: its props (`refreshable`,
41
49
  * `refreshing` while the action runs) and the `refresh` handler.
@@ -123,6 +131,19 @@ export interface LazyVGridProps extends ViewModifiers {
123
131
  children?: ReactNode;
124
132
  }
125
133
  export declare function LazyVGrid(props: LazyVGridProps): ReactNode;
134
+ export interface LazyHGridProps extends ViewModifiers {
135
+ rows: GridItemProps[];
136
+ /** How each cell sits in its slot: `top`, `center` (the default) or `bottom`. */
137
+ alignment?: 'top' | 'center' | 'bottom' | 'firstTextBaseline' | 'lastTextBaseline';
138
+ /** Between the columns (8 by default). */
139
+ spacing?: number | null;
140
+ children?: ReactNode;
141
+ }
142
+ /**
143
+ * `LazyHGrid(rows:)`: the rows share the height it is proposed and the cells
144
+ * fill them column by column, usually inside a horizontal `ScrollView`.
145
+ */
146
+ export declare function LazyHGrid(props: LazyHGridProps): ReactNode;
126
147
  export interface GridProps extends ViewModifiers {
127
148
  alignment?: FrameAlignment;
128
149
  horizontalSpacing?: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"stacks.d.ts","sourceRoot":"","sources":["../../src/components/stacks.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stacks.d.ts","sourceRoot":"","sources":["../../src/components/stacks.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/host/root.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACjH,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,8FAA8F;IAC9F,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,kFAAkF;IAClF,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CACzD;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CA4C5D;AAED,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACrF,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/host/root.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACjH,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,8FAA8F;IAC9F,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,kFAAkF;IAClF,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CACzD;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAgD5D;AAED,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACrF,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,7 +11,9 @@ export type { Binding, BindingValue } from './binding';
11
11
  export { readBinding } from './binding';
12
12
  export { useColorScheme, useDynamicTypeSize, useHorizontalSizeClass, useRedacted, type HorizontalSizeClass, useDismiss, useViewEnvironment, type ControlSize, type Environment, type ViewEnvironment, } from './environment';
13
13
  export { useNavigation } from './navigation-context';
14
- export type { ViewModifiers, BackgroundValue, SearchableModifier, ToolbarItemPlacementName, DragGestureModifier, DragValue, SwipeActionsModifier, AlignmentGuideName, DropDestinationModifier, InspectorModifier, } from './modifiers';
14
+ export type { ViewModifiers, BackgroundValue, SearchableModifier, ToolbarItemPlacementName, DragGestureModifier, DragValue, SwipeActionsModifier, AlignmentGuideName, DropDestinationModifier, InspectorModifier, ContainerAxes, ContainerRelativeFrameValue, } from './modifiers';
15
+ export { VisualEffect, type ScrollTransitionClosure, type ScrollTransitionPhase, type ScrollTransitionSpec, type VisualEffectClosure, } from './visualEffect';
16
+ export type { ContentMarginsValue, ScrollEdgeEffectHiddenValue, ScrollEdgeEffectStyle, ScrollEdgeEffectStyleValue, ScrollEdges } from './scrollEnvironment';
15
17
  export type { SheetModifier, AlertModifier, DetentValue } from './presentation';
16
18
  export * from './values';
17
19
  export { Path, type CGRect, type Point } from './path';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,KAAK,mBAAmB,EACxB,UAAU,EACV,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChF,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,KAAK,mBAAmB,EACxB,UAAU,EACV,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC5J,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChF,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC"}