diff --git a/package-lock.json b/package-lock.json index d4e331d..37533f9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@directededges/anova", - "version": "0.10.0", + "version": "0.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@directededges/anova", - "version": "0.10.0", + "version": "0.11.0", "license": "CC BY 4.0", "devDependencies": { "typescript": "^5.3.3" diff --git a/package.json b/package.json index e7d54b8..ac08539 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@directededges/anova", - "version": "0.10.0", + "version": "0.11.0", "description": "Anova UI Component Schema - TypeScript types and JSON schema definitions for component specifications", "license": "CC BY 4.0", "author": "Nathan Curtis ", diff --git a/schema/component.schema.json b/schema/component.schema.json index 6101ba7..3c454ac 100644 --- a/schema/component.schema.json +++ b/schema/component.schema.json @@ -1,5 +1,5 @@ { - "version": "0.6.0", + "version": "0.11.0", "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/DirectedEdges/anova/main/anova.schema.json", "title": "Anova Plugin Output Schema", diff --git a/schema/components.schema.json b/schema/components.schema.json index bd5367e..82fb98b 100644 --- a/schema/components.schema.json +++ b/schema/components.schema.json @@ -3,7 +3,7 @@ "$id": "https://raw.githubusercontent.com/DirectedEdges/anova/main/components.schema.json", "title": "Anova Components Set Schema", "description": "A set of named components, each conforming to the Anova component schema.", - "version": "0.6.0", + "version": "0.11.0", "type": "object", "properties": { "components": { diff --git a/schema/root.schema.json b/schema/root.schema.json index 85f0d96..e96525f 100644 --- a/schema/root.schema.json +++ b/schema/root.schema.json @@ -3,7 +3,7 @@ "$id": "https://raw.githubusercontent.com/DirectedEdges/anova/main/root.schema.json", "title": "Anova Schema Package", "description": "Root schema for the Anova component and components set definitions.", - "version": "0.6.0", + "version": "0.11.0", "oneOf": [ { "$ref": "component.schema.json" }, { "$ref": "components.schema.json" } diff --git a/schema/styles.schema.json b/schema/styles.schema.json index 4b444f1..702977d 100644 --- a/schema/styles.schema.json +++ b/schema/styles.schema.json @@ -1,5 +1,5 @@ { - "version": "0.6.0", + "version": "0.11.0", "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/DirectedEdges/anova/main/styles.schema.json", "title": "Anova Styles Schema", @@ -14,7 +14,8 @@ "visible": { "$ref": "#/definitions/BooleanBindableStyleValue", "description": "Visibility. Can be bound to component prop." }, "opacity": { "$ref": "#/definitions/NumberStyleValue", "description": "Opacity 0-1" }, "locked": { "$ref": "#/definitions/BooleanStyleValue", "description": "Lock state" }, - "fills": { "$ref": "#/definitions/ColorStyleValue", "description": "Fill colors" }, + "backgroundColor": { "$ref": "#/definitions/ColorStyleValue", "description": "Background fill color. Present on all non-text element types. Represented in Figma as fills." }, + "textColor": { "$ref": "#/definitions/ColorStyleValue", "description": "Text fill color. Present on TEXT element type only. Represented in Figma as fills." }, "effectStyleId": { "$ref": "#/definitions/StyleIdValue", "description": "Effect style reference" }, "clipContent": { "$ref": "#/definitions/BooleanStyleValue", "description": "Clip content" }, "cornerRadius": { "$ref": "#/definitions/CornerStyleValue", "description": "Uniform corner radius" }, @@ -68,7 +69,8 @@ "topLeftRadius": { "$ref": "#/definitions/CornerStyleValue", "description": "Top-left corner radius" }, "topRightRadius": { "$ref": "#/definitions/CornerStyleValue", "description": "Top-right corner radius" }, "bottomLeftRadius": { "$ref": "#/definitions/CornerStyleValue", "description": "Bottom-left corner radius" }, - "bottomRightRadius": { "$ref": "#/definitions/CornerStyleValue", "description": "Bottom-right corner radius" } + "bottomRightRadius": { "$ref": "#/definitions/CornerStyleValue", "description": "Bottom-right corner radius" }, + "cornerSmoothing": { "$ref": "#/definitions/NumberStyleValue", "description": "Degree of corner smoothing (0 = standard circular corners, 1 = fully smooth iOS-style squircle). Applies to FRAME, COMPONENT, RECTANGLE, POLYGON, STAR, VECTOR, and ELLIPSE element types." } }, "additionalProperties": false }, diff --git a/types/Styles.ts b/types/Styles.ts index b1b04c8..8797e10 100644 --- a/types/Styles.ts +++ b/types/Styles.ts @@ -5,7 +5,7 @@ export type Styles = Partial<{ visible: Style; opacity: Style; locked: Style; - fills: Style; + backgroundColor: Style; effectStyleId: Style; clipContent: Style; cornerRadius: Style; @@ -43,6 +43,7 @@ export type Styles = Partial<{ textStyleId: Style; textAlignHorizontal: Style; textAlignVertical: Style; + textColor: Style; primaryAxisAlignItems: Style; primaryAxisSizingMode: Style; counterAxisAlignItems: Style; @@ -60,6 +61,7 @@ export type Styles = Partial<{ topRightRadius: Style; bottomLeftRadius: Style; bottomRightRadius: Style; + cornerSmoothing: Style; }>; /** @@ -96,7 +98,7 @@ export type StyleKey = | 'visible' | 'opacity' | 'locked' - | 'fills' + | 'backgroundColor' | 'effectStyleId' | 'clipContent' | 'cornerRadius' @@ -134,6 +136,7 @@ export type StyleKey = | 'textStyleId' | 'textAlignHorizontal' | 'textAlignVertical' + | 'textColor' | 'primaryAxisAlignItems' | 'primaryAxisSizingMode' | 'counterAxisAlignItems' @@ -147,6 +150,7 @@ export type StyleKey = | 'paddingTop' | 'paddingBottom' | 'counterAxisSpacing' + | 'cornerSmoothing' | 'topLeftRadius' | 'topRightRadius' | 'bottomLeftRadius'