@ankhorage/studio 3.2.1 → 3.3.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
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/studio
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v3.2.1](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v3.3.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Studio authoring package for Ankhorage apps
9
9
 
package/apm/update.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "protocolVersion": 1,
3
3
  "schemaVersion": 1,
4
- "owner": { "name": "@ankhorage/studio", "version": "3.2.1" },
4
+ "owner": { "name": "@ankhorage/studio", "version": "3.3.0" },
5
5
  "history": {
6
6
  "supported": [{ "sourceRange": ">=2.5.7 <3.0.0", "mode": "no-migration" }],
7
7
  "unsupported": [],
@@ -1 +1 @@
1
- {"version":3,"file":"AuthoringEditor.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/inbound/AuthoringEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAEV,iBAAiB,EACjB,aAAa,EAEd,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5D;AAED,qGAAqG;AACrG,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,oBAAoB,qBAuC1E"}
1
+ {"version":3,"file":"AuthoringEditor.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/inbound/AuthoringEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAEV,iBAAiB,EACjB,aAAa,EAEd,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC5D;AAED,qGAAqG;AACrG,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,oBAAoB,qBAsB1E"}
@@ -1,9 +1,17 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Field, Select, Switch, Text, TextInput } from '@ankhorage/zora';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Field, Select, Switch, Text, TextInput } from '@ankhorage/zora';
3
3
  import React from 'react';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  /*** Render one neutral authoring model with ZORA controls without owning product-specific schema. */
6
6
  export function AuthoringEditor({ model, onMutation }) {
7
+ const { inheritance } = model;
8
+ if (!inheritance || !model.optional || model.readOnly) {
9
+ return _jsx(AuthoringControl, { model: model, onMutation: onMutation });
10
+ }
11
+ return (_jsxs(View, { style: styles.fields, children: [_jsx(AuthoringControl, { model: model, onMutation: onMutation }), _jsxs(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: [inheritance.overridden ? 'Override' : 'Inherited', inheritance.value === undefined ? '' : ` (default: ${String(inheritance.value)})`] }), _jsx(Button, { variant: "outline", disabled: !inheritance.overridden, onPress: () => onMutation({ kind: 'unset', path: model.path }), children: `Use inherited ${model.label}` })] }));
12
+ }
13
+ /*** Choose the ZORA control for one neutral structural node. */
14
+ function AuthoringControl({ model, onMutation }) {
7
15
  if (model.kind === 'object') {
8
16
  return (_jsx(View, { style: styles.fields, children: model.fields.map((field) => (_jsx(AuthoringEditor, { model: field, onMutation: onMutation }, field.path.join('.')))) }));
9
17
  }
@@ -26,19 +34,21 @@ function ChoiceEditor(props) {
26
34
  }
27
35
  const { values } = model;
28
36
  const options = values.map((value) => ({ label: value, value }));
29
- const current = typeof model.value === 'string' ? model.value : undefined;
37
+ const effective = model.value === undefined ? model.inheritance?.value : model.value;
38
+ const current = typeof effective === 'string' ? effective : undefined;
30
39
  return (_jsx(Field, { label: model.label, description: model.description, required: !model.optional, children: _jsx(Select, { options: options, value: current, onValueChange: (value) => props.onMutation({ kind: 'set', path: model.path, value }) }) }));
31
40
  }
32
41
  /*** Render one scalar authoring node and translate ZORA changes to neutral mutations. */
33
42
  function ScalarEditor(props) {
34
43
  const { model } = props;
35
44
  if (model.scalarType === 'boolean') {
36
- return (_jsx(Field, { label: model.label, description: model.description, required: !model.optional, children: _jsx(Switch, { checked: model.value === true, onCheckedChange: (checked) => props.onMutation({ kind: 'set', path: model.path, value: checked }) }) }));
45
+ return (_jsx(Field, { label: model.label, description: model.description, required: !model.optional, children: _jsx(Switch, { checked: (model.value === undefined ? model.inheritance?.value : model.value) === true, onCheckedChange: (checked) => props.onMutation({ kind: 'set', path: model.path, value: checked }) }) }));
37
46
  }
38
47
  if (model.scalarType === 'null') {
39
48
  return (_jsx(Field, { label: model.label, description: model.description, required: !model.optional, children: _jsx(Text, { children: "null" }) }));
40
49
  }
41
- const value = typeof model.value === 'number' || typeof model.value === 'string' ? String(model.value) : '';
50
+ const effective = model.value === undefined ? model.inheritance?.value : model.value;
51
+ const value = typeof effective === 'number' || typeof effective === 'string' ? String(effective) : '';
42
52
  const numeric = model.scalarType === 'integer' || model.scalarType === 'number';
43
53
  return (_jsx(Field, { label: model.label, description: model.description, required: !model.optional, children: _jsx(TextInput, { value: value, keyboardType: numeric ? 'numeric' : undefined, multiline: model.multiline, numberOfLines: model.multiline ? 4 : undefined, onChangeText: (text) => handleScalarTextChange(model, text, props.onMutation) }) }));
44
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AuthoringEditor.js","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/inbound/AuthoringEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthoringEditor.js","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/inbound/AuthoringEditor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ZoraThemeRecipeMeta, ZoraThemeTokenFamily } from '@ankhorage/zora/metadata';
2
+ import type { AuthoringPresentationPolicy, AuthoringStructure } from '../../../../types/authoring-engine';
3
+ /*** Adapt released ZORA recipe metadata and runtime token choices into neutral structure and inheritance policy. */
4
+ export declare function resolveZoraThemeRecipeAuthoring(meta: ZoraThemeRecipeMeta, resolveTokens: (family: ZoraThemeTokenFamily) => readonly string[]): {
5
+ readonly structure: AuthoringStructure;
6
+ readonly policy: AuthoringPresentationPolicy;
7
+ };
8
+ //# sourceMappingURL=resolveZoraThemeRecipeAuthoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveZoraThemeRecipeAuthoring.d.ts","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/outbound/resolveZoraThemeRecipeAuthoring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,OAAO,KAAK,EACV,2BAA2B,EAC3B,kBAAkB,EACnB,MAAM,oCAAoC,CAAC;AAE5C,oHAAoH;AACpH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,mBAAmB,EACzB,aAAa,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,SAAS,MAAM,EAAE,GACjE;IAAE,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAA;CAAE,CA+B1F"}
@@ -0,0 +1,31 @@
1
+ /*** Adapt released ZORA recipe metadata and runtime token choices into neutral structure and inheritance policy. */
2
+ export function resolveZoraThemeRecipeAuthoring(meta, resolveTokens) {
3
+ return {
4
+ structure: {
5
+ kind: 'object',
6
+ fields: Object.entries(meta.fields).map(([name, field]) => ({
7
+ name,
8
+ optional: true,
9
+ structure: field.type === 'boolean'
10
+ ? { kind: 'scalar', scalarType: 'boolean' }
11
+ : {
12
+ kind: 'choice',
13
+ values: field.type === 'choice' ? field.options : resolveTokens(field.tokenFamily),
14
+ },
15
+ })),
16
+ },
17
+ policy: {
18
+ label: meta.name,
19
+ description: meta.description,
20
+ fields: Object.fromEntries(Object.entries(meta.fields).map(([name, field]) => [
21
+ name,
22
+ {
23
+ label: field.label,
24
+ description: field.description,
25
+ inheritance: { value: field.default },
26
+ },
27
+ ])),
28
+ },
29
+ };
30
+ }
31
+ //# sourceMappingURL=resolveZoraThemeRecipeAuthoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveZoraThemeRecipeAuthoring.js","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/adapters/outbound/resolveZoraThemeRecipeAuthoring.ts"],"names":[],"mappings":"AAOA,oHAAoH;AACpH,MAAM,UAAU,+BAA+B,CAC7C,IAAyB,EACzB,aAAkE;IAElE,OAAO;QACL,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1D,IAAI;gBACJ,QAAQ,EAAE,IAAI;gBACd,SAAS,EACP,KAAK,CAAC,IAAI,KAAK,SAAS;oBACtB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;oBAC3C,CAAC,CAAC;wBACE,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;qBACnF;aACR,CAAC,CAAC;SACJ;QACD,MAAM,EAAE;YACN,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjD,IAAI;gBACJ;oBACE,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;iBACtC;aACF,CAAC,CACH;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -20,6 +20,9 @@ function deriveNode(args) {
20
20
  ...(args.policy?.description ? { description: args.policy.description } : {}),
21
21
  optional: args.optional,
22
22
  readOnly,
23
+ ...(args.policy?.inheritance
24
+ ? { inheritance: { ...args.policy.inheritance, overridden: args.value !== undefined } }
25
+ : {}),
23
26
  };
24
27
  switch (args.structure.kind) {
25
28
  case 'scalar': {
@@ -1 +1 @@
1
- {"version":3,"file":"deriveAuthoringModel.js","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/application/use-cases/deriveAuthoringModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deriveAuthoringModel.js","sourceRoot":"","sources":["../../../../../src/features/authoring-engine/application/use-cases/deriveAuthoringModel.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,9 @@ export interface AuthoringPresentationPolicy {
10
10
  readonly description?: string;
11
11
  readonly readOnly?: boolean;
12
12
  readonly multiline?: boolean;
13
+ readonly inheritance?: {
14
+ readonly value?: AuthoringPrimitive;
15
+ };
13
16
  readonly fields?: Readonly<Record<string, AuthoringPresentationPolicy>>;
14
17
  }
15
18
  interface AuthoringStructureField {
@@ -37,6 +40,10 @@ interface AuthoringNodeBase {
37
40
  readonly description?: string;
38
41
  readonly optional: boolean;
39
42
  readonly readOnly: boolean;
43
+ readonly inheritance?: {
44
+ readonly value?: AuthoringPrimitive;
45
+ readonly overridden: boolean;
46
+ };
40
47
  }
41
48
  export interface AuthoringScalarNode extends AuthoringNodeBase {
42
49
  readonly kind: 'scalar';
@@ -1 +1 @@
1
- {"version":3,"file":"authoring-engine.d.ts","sourceRoot":"","sources":["../../src/types/authoring-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authoring-engine.d.ts","sourceRoot":"","sources":["../../src/types/authoring-engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeRecipeAdminPage.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ThemeRecipeAdminPage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,KAAK,wBAAwB,EAA0B,MAAM,6BAA6B,CAAC;AAIpG,0HAA0H;AAC1H,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,qBA6DA"}
1
+ {"version":3,"file":"ThemeRecipeAdminPage.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ThemeRecipeAdminPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,KAAK,wBAAwB,EAA0B,MAAM,6BAA6B,CAAC;AAIpG,0HAA0H;AAC1H,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,qBAsDA"}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Card, Text, useZoraTheme, ZORA_THEME_RECIPE_META } from '@ankhorage/zora';
3
3
  import React from 'react';
4
- import { View } from 'react-native';
4
+ import { AuthoringEditor } from '../../../features/authoring-engine/adapters/inbound/AuthoringEditor';
5
+ import { resolveZoraThemeRecipeAuthoring } from '../../../features/authoring-engine/adapters/outbound/resolveZoraThemeRecipeAuthoring';
6
+ import { deriveAuthoringModel } from '../../../features/authoring-engine/application/use-cases/deriveAuthoringModel';
5
7
  import { AdminHeader, AdminScroll } from '../adminPagePrimitives';
6
- import { ThemeRecipeFieldEditor } from './ThemeRecipeFieldEditor';
7
8
  import { updateThemeRecipeField } from './themeRecipeAuthoringModel';
8
9
  import { resolveThemeRecipeTokenOptions } from './themeRecipeTokenOptions';
9
10
  import { useActiveThemeAdmin } from './useActiveThemeAdmin';
@@ -25,8 +26,16 @@ export function ThemeRecipeAdminPage(props) {
25
26
  ? selection.theme.recipes?.components
26
27
  : selection.theme.recipes?.patterns;
27
28
  const overrides = bucket?.[recipeName];
29
+ const authoring = resolveZoraThemeRecipeAuthoring(meta, (family) => resolveThemeRecipeTokenOptions(runtimeTheme, family));
30
+ const model = deriveAuthoringModel({ ...authoring, value: overrides });
28
31
  /*** Apply one recipe field override or restore inheritance by removing it from the authored theme. */
29
- const updateField = (fieldName, value) => {
32
+ const updateField = (mutation) => {
33
+ const [fieldName] = mutation.path;
34
+ const value = mutation.kind === 'unset' ? undefined : mutation.value;
35
+ if (!fieldName || mutation.path.length !== 1)
36
+ return;
37
+ if (value !== undefined && typeof value !== 'string' && typeof value !== 'boolean')
38
+ return;
30
39
  updateTheme({
31
40
  recipes: updateThemeRecipeField({
32
41
  recipes: selection.theme.recipes,
@@ -37,9 +46,7 @@ export function ThemeRecipeAdminPage(props) {
37
46
  }),
38
47
  });
39
48
  };
40
- return (_jsxs(AdminScroll, { children: [_jsx(AdminHeader, { title: meta.name, description: meta.description ?? `Edit inherited ${meta.kind} Theme defaults.` }), _jsx(Card, { title: `${meta.kind === 'component' ? 'Component' : 'Pattern'} recipe`, children: _jsx(View, { style: { gap: 16 }, children: Object.entries(meta.fields).map(([fieldName, fieldMeta]) => (_jsx(ThemeRecipeFieldEditor, { fieldName: fieldName, meta: fieldMeta, override: overrides?.[fieldName], tokenOptions: fieldMeta.type === 'token'
41
- ? resolveThemeRecipeTokenOptions(runtimeTheme, fieldMeta.tokenFamily)
42
- : [], onChange: (value) => updateField(fieldName, value) }, fieldName))) }) }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Inherited fields are omitted from the manifest and continue to follow ZORA owner defaults." })] }));
49
+ return (_jsxs(AdminScroll, { children: [_jsx(AdminHeader, { title: meta.name, description: meta.description ?? `Edit inherited ${meta.kind} Theme defaults.` }), _jsx(Card, { title: `${meta.kind === 'component' ? 'Component' : 'Pattern'} recipe`, children: _jsx(AuthoringEditor, { model: model, onMutation: updateField }) }), _jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: "Inherited fields are omitted from the manifest and continue to follow ZORA owner defaults." })] }));
43
50
  }
44
51
  /*** Render the theme-recipe fallback for missing active themes or invalid recipe metadata. */
45
52
  function Unavailable(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeRecipeAdminPage.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ThemeRecipeAdminPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThemeRecipeAdminPage.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ThemeRecipeAdminPage.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/studio",
3
- "version": "3.2.1",
3
+ "version": "3.3.0",
4
4
  "description": "Studio authoring package for Ankhorage apps",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/ankhorage/studio#readme",
@@ -237,7 +237,7 @@
237
237
  "@ankhorage/supabase-vault": "^0.3.9",
238
238
  "@ankhorage/templates": "^12.0.0",
239
239
  "@ankhorage/utility": "^1.4.0",
240
- "@ankhorage/zora": "^20.4.1",
240
+ "@ankhorage/zora": "^20.5.0",
241
241
  "@ankhorage/zora-chess": "^0.2.2",
242
242
  "@ankhorage/zora-tabletop": "^0.1.27",
243
243
  "@fastify/cors": "^11.3.0",
@@ -245,7 +245,7 @@
245
245
  "expo-file-system": "~57.0.7",
246
246
  "expo-image-picker": "~57.0.18",
247
247
  "fastify": "^5.12.5",
248
- "@ankhorage/zora-game": "^0.8.25"
248
+ "@ankhorage/zora-game": "^0.8.26"
249
249
  },
250
250
  "peerDependencies": {
251
251
  "@react-native-vector-icons/fontawesome": "^13.1.3",
@@ -1,12 +0,0 @@
1
- import type { ThemeRecipeOverrideValue } from '@ankhorage/contracts';
2
- import type { ZoraThemeRecipeFieldMeta } from '@ankhorage/zora';
3
- import React from 'react';
4
- /*** Render inherited and explicit override choices for one metadata-described ZORA theme recipe field. */
5
- export declare function ThemeRecipeFieldEditor(props: {
6
- readonly fieldName: string;
7
- readonly meta: ZoraThemeRecipeFieldMeta;
8
- readonly override: ThemeRecipeOverrideValue | undefined;
9
- readonly tokenOptions: readonly string[];
10
- readonly onChange: (value: ThemeRecipeOverrideValue | undefined) => void;
11
- }): React.JSX.Element;
12
- //# sourceMappingURL=ThemeRecipeFieldEditor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeRecipeFieldEditor.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ThemeRecipeFieldEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,0GAA0G;AAC1G,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,GAAG,SAAS,KAAK,IAAI,CAAC;CAC1E,qBA0BA"}
@@ -1,45 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Text, useZoraTheme } from '@ankhorage/zora';
3
- import React from 'react';
4
- import { Pressable, StyleSheet, View } from 'react-native';
5
- import { Field } from '../adminPagePrimitives';
6
- /*** Render inherited and explicit override choices for one metadata-described ZORA theme recipe field. */
7
- export function ThemeRecipeFieldEditor(props) {
8
- const options = resolveFieldOptions(props.meta, props.tokenOptions);
9
- return (_jsxs(Field, { label: props.meta.label, children: [props.meta.description ? (_jsx(Text, { color: "neutral", emphasis: "muted", variant: "caption", children: props.meta.description })) : null, _jsxs(View, { style: styles.choices, children: [_jsx(Choice, { label: formatInheritedLabel(props.meta), selected: props.override === undefined, onPress: () => props.onChange(undefined) }), options.map((option) => (_jsx(Choice, { label: option.label, selected: props.override === option.value, onPress: () => props.onChange(option.value) }, String(option.value))))] })] }));
10
- }
11
- /*** Resolve boolean, explicit-choice, or token metadata into selectable theme recipe override options. */
12
- function resolveFieldOptions(meta, tokenOptions) {
13
- if (meta.type === 'boolean') {
14
- return [
15
- { label: 'On', value: true },
16
- { label: 'Off', value: false },
17
- ];
18
- }
19
- const options = meta.type === 'choice' ? meta.options : tokenOptions;
20
- return options.map((value) => ({ label: value, value }));
21
- }
22
- /*** Format the inherited recipe field option and include its owner default when one exists. */
23
- function formatInheritedLabel(meta) {
24
- if (meta.default === undefined)
25
- return 'Inherited';
26
- return `Inherited (${String(meta.default)})`;
27
- }
28
- /*** Render one selectable theme recipe override option. */
29
- function Choice(props) {
30
- const { theme } = useZoraTheme();
31
- return (_jsx(Pressable, { accessibilityRole: "button", accessibilityState: { selected: props.selected }, onPress: props.onPress, style: [
32
- styles.choice,
33
- { borderColor: props.selected ? theme.colors.primary : theme.colors.border },
34
- ], children: _jsx(Text, { color: props.selected ? 'primary' : 'neutral', variant: "bodySmall", children: props.label }) }));
35
- }
36
- const styles = StyleSheet.create({
37
- choices: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 },
38
- choice: {
39
- borderWidth: 1,
40
- borderRadius: 999,
41
- paddingHorizontal: 10,
42
- paddingVertical: 7,
43
- },
44
- });
45
- //# sourceMappingURL=ThemeRecipeFieldEditor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThemeRecipeFieldEditor.js","sourceRoot":"","sources":["../../../../src/ui/admin/pages/ThemeRecipeFieldEditor.tsx"],"names":[],"mappings":"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"}