@swiftbrowser/react 0.26.3 → 0.26.5
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 +2 -1
- package/dist/components/lists.d.ts +12 -2
- package/dist/components/lists.d.ts.map +1 -1
- package/dist/host/remote.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/index.js.map +1 -1
- package/dist/modifiers.d.ts +2 -0
- package/dist/modifiers.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -189,7 +189,8 @@ ordered list. A layered style is an array: `foregroundStyle={['white',
|
|
|
189
189
|
`symbolRenderingMode="palette"` symbol draws its disc in. The environment
|
|
190
190
|
modifiers (`buttonStyle`, `controlSize`, `pickerStyle`, `toggleStyle`, `labelsHidden`,
|
|
191
191
|
`symbolRenderingMode`) are React contexts the views below read, and
|
|
192
|
-
`navigationTitle`, `
|
|
192
|
+
`navigationTitle`, `navigationSubtitle` (the Mac idiom's title bar draws it; iOS
|
|
193
|
+
ignores it), `toolbar`, `toolbarRole`, `toolbarVisibility` (the
|
|
193
194
|
navigation bar or the bottom bar hidden, as `.toolbar(.hidden, for:)`),
|
|
194
195
|
`statusBarHidden`, `searchable`, `sheet`, `alert`,
|
|
195
196
|
`presentationDetents` and `preferredColorScheme` attach to the enclosing
|
|
@@ -6,6 +6,16 @@ import { type ViewModifiers } from '../modifiers';
|
|
|
6
6
|
export type Selection<T> = T | null | Set<T>;
|
|
7
7
|
export interface ListProps<T = unknown> extends ViewModifiers {
|
|
8
8
|
listStyle?: ListStyle;
|
|
9
|
+
/** A `Form`: on a Mac the rows are laid out in the columns style (labels in a column before their controls). */
|
|
10
|
+
form?: boolean;
|
|
11
|
+
/** `.formStyle(_:)` on a `Form`: on a Mac `grouped` lays it out in grouped sections, `columns` (and the default) in the columns style. */
|
|
12
|
+
formStyle?: 'automatic' | 'grouped' | 'columns';
|
|
13
|
+
/**
|
|
14
|
+
* `.environment(\.defaultMinListRowHeight, _)`: the rows are at least this
|
|
15
|
+
* tall. Absent, the platform's default (44 on iOS, 24 on a Mac); a Mac app
|
|
16
|
+
* spaces a content list's rows like a sidebar's, 32 (`usePlatform`).
|
|
17
|
+
*/
|
|
18
|
+
minRowHeight?: number;
|
|
9
19
|
/** Edit mode (`EditButton`). */
|
|
10
20
|
editing?: BindingValue<boolean>;
|
|
11
21
|
/** `List(selection:)`: rows with a `tag` (or a `NavigationLink` value) become selectable; a `Set` selects several. */
|
|
@@ -14,8 +24,8 @@ export interface ListProps<T = unknown> extends ViewModifiers {
|
|
|
14
24
|
children?: ReactNode;
|
|
15
25
|
}
|
|
16
26
|
export declare function List<T = unknown>(props: ListProps<T>): ReactNode;
|
|
17
|
-
/** `Form { }`: an inset grouped list, as the shim draws it. */
|
|
18
|
-
export declare function Form(props: Omit<ListProps, 'listStyle' | 'selection' | 'onSelectionChange'>): ReactNode;
|
|
27
|
+
/** `Form { }`: an inset grouped list, as the shim draws it; on a Mac its rows are laid out in the columns style. */
|
|
28
|
+
export declare function Form(props: Omit<ListProps, 'listStyle' | 'selection' | 'onSelectionChange' | 'form'>): ReactNode;
|
|
19
29
|
export interface SectionProps extends ViewModifiers {
|
|
20
30
|
/** A string or a `<Text>` becomes the section's header text; any other view is a view header. */
|
|
21
31
|
header?: ReactNode;
|
|
@@ -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,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhG,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,GAAG,SAAS,CAAC;IACtE,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,
|
|
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,EAA2D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhG,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,gHAAgH;IAChH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0IAA0I;IAC1I,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAChD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,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,GAAG,SAAS,CAAC;IACtE,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAsDhE;AAED,oHAAoH;AACpH,wBAAgB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,GAAG,mBAAmB,GAAG,MAAM,CAAC,GAAG,SAAS,CAEhH;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,iGAAiG;IACjG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,2HAA2H;IAC3H,UAAU,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAyBtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/host/remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAa,EAAE,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC;IACnC,2EAA2E;IAC3E,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAAC;IACvD,sEAAsE;IACtE,aAAa,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,uEAAuE;IACvE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,UAAU,IAAI,MAAM,CAAC;IACrB,iHAAiH;IACjH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,gHAAgH;IAChH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,qGAAqG;IACrG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IACvC,kGAAkG;IAClG,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,qFAAqF;IACrF,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,gBAAgB,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"remote.d.ts","sourceRoot":"","sources":["../../src/host/remote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAa,EAAE,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC;IACnC,2EAA2E;IAC3E,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAAC;IACvD,sEAAsE;IACtE,aAAa,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IACjE,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/C,uEAAuE;IACvE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,UAAU,IAAI,MAAM,CAAC;IACrB,iHAAiH;IACjH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,gHAAgH;IAChH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,qGAAqG;IACrG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IACvC,kGAAkG;IAClG,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;IACpC,qFAAqF;IACrF,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAmJ7C"}
|
package/dist/index.js
CHANGED
|
@@ -605,7 +605,7 @@ function createRemoteRoot() {
|
|
|
605
605
|
eventHandler?.(event);
|
|
606
606
|
},
|
|
607
607
|
setEnvironment(environment) {
|
|
608
|
-
if (lastEnvironment && lastEnvironment.colorScheme === environment.colorScheme && lastEnvironment.dynamicTypeSize === environment.dynamicTypeSize && lastEnvironment.horizontalSizeClass === environment.horizontalSizeClass && lastEnvironment.scenePhase === environment.scenePhase)
|
|
608
|
+
if (lastEnvironment && lastEnvironment.colorScheme === environment.colorScheme && lastEnvironment.dynamicTypeSize === environment.dynamicTypeSize && lastEnvironment.horizontalSizeClass === environment.horizontalSizeClass && lastEnvironment.scenePhase === environment.scenePhase && lastEnvironment.platform === environment.platform)
|
|
609
609
|
return;
|
|
610
610
|
lastEnvironment = environment;
|
|
611
611
|
environmentHandler?.(environment);
|
|
@@ -667,7 +667,7 @@ function RegisterDestination({ destination }) {
|
|
|
667
667
|
navigation?.registerDestination(destination);
|
|
668
668
|
return null;
|
|
669
669
|
}
|
|
670
|
-
const SCREEN_PROPS = ["title", "displayMode", "toolbarRole", "navigationBarHidden", "bottomBarHidden", "statusBarHidden"];
|
|
670
|
+
const SCREEN_PROPS = ["title", "subtitle", "displayMode", "toolbarRole", "navigationBarHidden", "bottomBarHidden", "statusBarHidden"];
|
|
671
671
|
function screenPrefs(props, key) {
|
|
672
672
|
const picked = {};
|
|
673
673
|
for (const name of SCREEN_PROPS) if (name in props) picked[name] = props[name];
|
|
@@ -2530,6 +2530,7 @@ const MODIFIER_KEYS = /* @__PURE__ */ new Set([
|
|
|
2530
2530
|
"toggleStyle",
|
|
2531
2531
|
"labelsHidden",
|
|
2532
2532
|
"navigationTitle",
|
|
2533
|
+
"navigationSubtitle",
|
|
2533
2534
|
"navigationBarTitleDisplayMode",
|
|
2534
2535
|
"toolbarRole",
|
|
2535
2536
|
"toolbarVisibility",
|
|
@@ -2949,6 +2950,9 @@ function apply(key, value, node, sides) {
|
|
|
2949
2950
|
case "navigationTitle":
|
|
2950
2951
|
sides.push(sb(PREF_KIND, { title: value }, void 0, void 0, "navscreen"));
|
|
2951
2952
|
return node;
|
|
2953
|
+
case "navigationSubtitle":
|
|
2954
|
+
sides.push(sb(PREF_KIND, { subtitle: value }, void 0, void 0, "navscreen"));
|
|
2955
|
+
return node;
|
|
2952
2956
|
case "navigationBarTitleDisplayMode":
|
|
2953
2957
|
sides.push(sb(PREF_KIND, { displayMode: value }, void 0, void 0, "navscreen"));
|
|
2954
2958
|
return node;
|
|
@@ -5722,6 +5726,9 @@ function List(props) {
|
|
|
5722
5726
|
const { own, modifiers } = splitProps(props);
|
|
5723
5727
|
const [editing] = own.editing !== void 0 ? readBinding(own.editing) : [false];
|
|
5724
5728
|
const listProps = { style: own.listStyle ?? "insetGrouped" };
|
|
5729
|
+
if (own.form) listProps["form"] = true;
|
|
5730
|
+
if (own.form && own.formStyle && own.formStyle !== "automatic") listProps["formStyle"] = own.formStyle;
|
|
5731
|
+
if (own.minRowHeight !== void 0 && Number.isFinite(own.minRowHeight)) listProps["minRowHeight"] = Math.max(0, own.minRowHeight);
|
|
5725
5732
|
if (editing) listProps["editing"] = true;
|
|
5726
5733
|
let selection = null;
|
|
5727
5734
|
const split = useContext(SplitSelectionContext);
|
|
@@ -5765,7 +5772,7 @@ function List(props) {
|
|
|
5765
5772
|
);
|
|
5766
5773
|
}
|
|
5767
5774
|
function Form(props) {
|
|
5768
|
-
return /* @__PURE__ */ jsx(List, { ...props });
|
|
5775
|
+
return /* @__PURE__ */ jsx(List, { ...props, form: true });
|
|
5769
5776
|
}
|
|
5770
5777
|
function Section(props) {
|
|
5771
5778
|
const { own, modifiers } = splitProps(props);
|