@swiftbrowser/react 0.5.1 → 0.5.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.
- package/README.md +17 -1
- package/dist/components/controls.d.ts +14 -0
- package/dist/components/controls.d.ts.map +1 -1
- package/dist/index.js +93 -6
- package/dist/index.js.map +1 -1
- package/dist/island.d.ts +17 -1
- package/dist/island.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -103,6 +103,14 @@ a React root of its own: the page's React state reaches it through props as
|
|
|
103
103
|
usual, and its contexts through `contexts={[…]}` (see
|
|
104
104
|
[Contexts across roots](#contexts-across-roots)).
|
|
105
105
|
|
|
106
|
+
There is no status bar in a page, so `safeArea` stands in for one. A
|
|
107
|
+
`fill` island keeps 10 points at the top, the way SwiftUI keeps a window's
|
|
108
|
+
bars off its edge. Navigation bars sit below that inset and their
|
|
109
|
+
background reaches up into it, and lists start below it. A `content`
|
|
110
|
+
island has no insets. Pass a number for the top inset (`safeArea={0}` puts
|
|
111
|
+
the bars flush with the edge) or an object such as
|
|
112
|
+
`safeArea={{ top: 24, bottom: 34 }}`.
|
|
113
|
+
|
|
106
114
|
### Try the demos
|
|
107
115
|
|
|
108
116
|
```sh
|
|
@@ -208,7 +216,15 @@ collapse into the bar's More menu (an ellipsis at the trailing end), as on
|
|
|
208
216
|
an iPhone; with `toolbarRole="editor"` on the screen, a regular width shows
|
|
209
217
|
them in the bar before the trailing items, and only those that do not fit
|
|
210
218
|
go into More. `bottomBar` items float in glass capsules at the foot of the
|
|
211
|
-
screen,
|
|
219
|
+
screen: consecutive items share one, and a `ToolbarSpacer` ends it, as iOS
|
|
220
|
+
26's does. A `flexible` spacer (the default) pushes the groups apart; a
|
|
221
|
+
`fixed` one keeps them centered, 8 apart.
|
|
222
|
+
|
|
223
|
+
```tsx
|
|
224
|
+
<ToolbarItem placement="bottomBar">{undoButton}{redoButton}</ToolbarItem>
|
|
225
|
+
<ToolbarSpacer sizing="fixed" placement="bottomBar" />
|
|
226
|
+
<ToolbarItem placement="bottomBar">{toolButtons}</ToolbarItem>
|
|
227
|
+
```
|
|
212
228
|
|
|
213
229
|
```tsx
|
|
214
230
|
<List
|
|
@@ -84,6 +84,20 @@ export interface ToolbarItemProps {
|
|
|
84
84
|
/** `ToolbarItem(placement:) { }`, inside a `toolbar` modifier. */
|
|
85
85
|
export declare function ToolbarItem(props: ToolbarItemProps): ReactNode;
|
|
86
86
|
export declare const ToolbarItemGroup: typeof ToolbarItem;
|
|
87
|
+
export interface ToolbarSpacerProps {
|
|
88
|
+
/**
|
|
89
|
+
* `flexible` (the default) shares the room the groups leave, pushing them
|
|
90
|
+
* apart; `fixed` is a standard 8 gap and keeps the row centered.
|
|
91
|
+
*/
|
|
92
|
+
sizing?: 'flexible' | 'fixed';
|
|
93
|
+
placement?: ToolbarItemPlacementName;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* `ToolbarSpacer(_:placement:)` (iOS 26), inside a `toolbar` modifier: ends
|
|
97
|
+
* the glass group of the items before it, so a bottom bar's items float in
|
|
98
|
+
* separate capsules. Between navigation bar groups it only separates them.
|
|
99
|
+
*/
|
|
100
|
+
export declare function ToolbarSpacer(props: ToolbarSpacerProps): ReactNode;
|
|
87
101
|
export type DatePickerComponents = 'date' | 'hourAndMinute' | 'dateAndTime';
|
|
88
102
|
export interface DatePickerProps extends ViewModifiers {
|
|
89
103
|
label?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/components/controls.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/components/controls.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -483,7 +483,11 @@ function useContextBridge(contexts = [], options = {}) {
|
|
|
483
483
|
const values = all.map((context) => useContext(context));
|
|
484
484
|
return (children) => all.reduceRight((inner, context, index) => createElement(context.Provider, { value: values[index] }, inner), children);
|
|
485
485
|
}
|
|
486
|
-
const
|
|
486
|
+
const WINDOW_TOP_INSET = 10;
|
|
487
|
+
function insetsOf(safeArea, fit) {
|
|
488
|
+
const given = typeof safeArea === "number" ? { top: safeArea } : safeArea ?? { top: fit === "fill" ? WINDOW_TOP_INSET : 0 };
|
|
489
|
+
return { top: given.top ?? 0, leading: given.leading ?? 0, bottom: given.bottom ?? 0, trailing: given.trailing ?? 0 };
|
|
490
|
+
}
|
|
487
491
|
function SwiftUIView({
|
|
488
492
|
children,
|
|
489
493
|
fit = "fill",
|
|
@@ -491,6 +495,7 @@ function SwiftUIView({
|
|
|
491
495
|
dynamicTypeSize = "large",
|
|
492
496
|
contexts,
|
|
493
497
|
assets,
|
|
498
|
+
safeArea,
|
|
494
499
|
className,
|
|
495
500
|
style
|
|
496
501
|
}) {
|
|
@@ -506,7 +511,7 @@ function SwiftUIView({
|
|
|
506
511
|
const instance = mount(screen.current, latest.current, {
|
|
507
512
|
colorScheme,
|
|
508
513
|
dynamicTypeSize,
|
|
509
|
-
safeArea:
|
|
514
|
+
safeArea: insetsOf(safeArea, fit),
|
|
510
515
|
contentHeight: fit === "content",
|
|
511
516
|
...assets ? { assets } : {}
|
|
512
517
|
});
|
|
@@ -519,6 +524,11 @@ function SwiftUIView({
|
|
|
519
524
|
useLayoutEffect(() => {
|
|
520
525
|
mounted.current?.root.render(tree);
|
|
521
526
|
});
|
|
527
|
+
const insets2 = insetsOf(safeArea, fit);
|
|
528
|
+
const insetsKey = `${insets2.top},${insets2.leading},${insets2.bottom},${insets2.trailing}`;
|
|
529
|
+
useLayoutEffect(() => {
|
|
530
|
+
mounted.current?.renderer.setSafeArea(insets2);
|
|
531
|
+
}, [insetsKey]);
|
|
522
532
|
useLayoutEffect(() => {
|
|
523
533
|
if (device.current) applyTypeSizeVariables(device.current, dynamicTypeSize);
|
|
524
534
|
mounted.current?.setEnvironment({ colorScheme, dynamicTypeSize });
|
|
@@ -1759,18 +1769,91 @@ function Searchable({ text, onChange, prompt }) {
|
|
|
1759
1769
|
function applyModifiers(element, modifiers) {
|
|
1760
1770
|
const sides = [];
|
|
1761
1771
|
const node = wrap(element, modifiers, sides);
|
|
1762
|
-
if (sides.length === 0) return node;
|
|
1763
1772
|
return createElement(Fragment, null, node, ...sides);
|
|
1764
1773
|
}
|
|
1765
1774
|
function wrap(element, modifiers, sides) {
|
|
1766
1775
|
let node = element;
|
|
1767
1776
|
for (const [key, value] of modifiers) {
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
node =
|
|
1777
|
+
const inactive = value === void 0 || value === null && key !== "lineLimit" && key !== "badge";
|
|
1778
|
+
const next = inactive ? node : apply(key, value, node, sides);
|
|
1779
|
+
node = next === node ? neutral(key, node) : next;
|
|
1771
1780
|
}
|
|
1772
1781
|
return node;
|
|
1773
1782
|
}
|
|
1783
|
+
const STYLED_KEYS = /* @__PURE__ */ new Set([
|
|
1784
|
+
"padding",
|
|
1785
|
+
"font",
|
|
1786
|
+
"fontWeight",
|
|
1787
|
+
"bold",
|
|
1788
|
+
"foregroundStyle",
|
|
1789
|
+
"background",
|
|
1790
|
+
"frame",
|
|
1791
|
+
"cornerRadius",
|
|
1792
|
+
"clipShape",
|
|
1793
|
+
"clipped",
|
|
1794
|
+
"opacity",
|
|
1795
|
+
"disabled",
|
|
1796
|
+
"hidden",
|
|
1797
|
+
"layoutPriority",
|
|
1798
|
+
"lineLimit",
|
|
1799
|
+
"multilineTextAlignment",
|
|
1800
|
+
"fixedSize",
|
|
1801
|
+
"offset",
|
|
1802
|
+
"rotationEffect",
|
|
1803
|
+
"scaleEffect",
|
|
1804
|
+
"shadow",
|
|
1805
|
+
"tint",
|
|
1806
|
+
"badge",
|
|
1807
|
+
"listRowInsets",
|
|
1808
|
+
"imageScale",
|
|
1809
|
+
"transition",
|
|
1810
|
+
"gridColumnAlignment",
|
|
1811
|
+
"gridCellColumns",
|
|
1812
|
+
"aspectRatio",
|
|
1813
|
+
"scaledToFit",
|
|
1814
|
+
"scaledToFill",
|
|
1815
|
+
"blur",
|
|
1816
|
+
"brightness",
|
|
1817
|
+
"contrast",
|
|
1818
|
+
"saturation",
|
|
1819
|
+
"grayscale",
|
|
1820
|
+
"hueRotation",
|
|
1821
|
+
"colorInvert",
|
|
1822
|
+
"colorMultiply",
|
|
1823
|
+
"blendMode",
|
|
1824
|
+
"mask",
|
|
1825
|
+
"position",
|
|
1826
|
+
"zIndex",
|
|
1827
|
+
"allowsHitTesting",
|
|
1828
|
+
"ignoresSafeArea",
|
|
1829
|
+
"rotation3DEffect",
|
|
1830
|
+
"gridCellAnchor",
|
|
1831
|
+
"alignmentGuide",
|
|
1832
|
+
"help",
|
|
1833
|
+
"pointerStyle",
|
|
1834
|
+
"matchedGeometryEffect",
|
|
1835
|
+
"containerRelativeFrame",
|
|
1836
|
+
"contentTransition"
|
|
1837
|
+
]);
|
|
1838
|
+
const ENVIRONMENT_KEYS = /* @__PURE__ */ new Set([
|
|
1839
|
+
"buttonStyle",
|
|
1840
|
+
"controlSize",
|
|
1841
|
+
"pickerStyle",
|
|
1842
|
+
"labelsHidden",
|
|
1843
|
+
"refreshable",
|
|
1844
|
+
"submitLabel",
|
|
1845
|
+
"labelStyle",
|
|
1846
|
+
"redacted",
|
|
1847
|
+
"textCase"
|
|
1848
|
+
]);
|
|
1849
|
+
const SCROLL_KEYS = /* @__PURE__ */ new Set(["scrollEdgeEffectStyle", "scrollEdgeEffectHidden", "contentMargins"]);
|
|
1850
|
+
function neutral(key, node) {
|
|
1851
|
+
if (key === "overlay") return decorated("overlay", "center", node, null);
|
|
1852
|
+
if (STYLED_KEYS.has(key)) return styled({}, node);
|
|
1853
|
+
if (ENVIRONMENT_KEYS.has(key)) return withEnvironment({}, node);
|
|
1854
|
+
if (SCROLL_KEYS.has(key)) return withScrollSettings({}, node);
|
|
1855
|
+
return node;
|
|
1856
|
+
}
|
|
1774
1857
|
function apply(key, value, node, sides) {
|
|
1775
1858
|
switch (key) {
|
|
1776
1859
|
case "padding":
|
|
@@ -2792,6 +2875,9 @@ function ToolbarItem(props) {
|
|
|
2792
2875
|
return sb("toolbar", { placement: toolbarPlacement(props.placement) }, void 0, props.children);
|
|
2793
2876
|
}
|
|
2794
2877
|
const ToolbarItemGroup = ToolbarItem;
|
|
2878
|
+
function ToolbarSpacer(props) {
|
|
2879
|
+
return sb("toolbar", { placement: toolbarPlacement(props.placement), spacer: props.sizing ?? "flexible" });
|
|
2880
|
+
}
|
|
2795
2881
|
function DatePicker(props) {
|
|
2796
2882
|
const { own, modifiers } = splitProps(props);
|
|
2797
2883
|
const environment = useViewEnvironment();
|
|
@@ -4347,6 +4433,7 @@ export {
|
|
|
4347
4433
|
Toggle,
|
|
4348
4434
|
ToolbarItem,
|
|
4349
4435
|
ToolbarItemGroup,
|
|
4436
|
+
ToolbarSpacer,
|
|
4350
4437
|
UnevenRoundedRectangle,
|
|
4351
4438
|
VStack,
|
|
4352
4439
|
VideoPlayer,
|