diff --git a/packages/theme/scripts/schema-generator.mjs b/packages/theme/scripts/schema-generator.mjs index 96fca5871..4dc71ec9e 100644 --- a/packages/theme/scripts/schema-generator.mjs +++ b/packages/theme/scripts/schema-generator.mjs @@ -34,8 +34,6 @@ const generator = tsj.createGenerator({ const schema = generator.createSchema("ThemeDefinition"); removeProperty("ThemeDefinition", "codeBlockCSS"); -removeProperty("Colors", "shade"); -removeProperty("PartialOrFullColors", "shade"); addProperty( "ThemeDefinition", "$schema", @@ -46,14 +44,21 @@ addProperty( }, true ); +makePropertyOptional("Colors", "shade"); +makePropertyOptional("PartialOrFullColors", "shade"); +makePropertyOptional("Colors", "textSelection"); +makePropertyOptional("PartialOrFullColors", "textSelection"); await writeFile(`v1.schema.json`, JSON.stringify(schema, undefined, 2)); function removeProperty(definition, propertyName) { delete schema.definitions[definition].properties[propertyName]; - const required = schema.definitions[definition].required; + makePropertyOptional(definition, propertyName); +} +function makePropertyOptional(definition, propertyName) { + const required = schema.definitions[definition].required; if (required && required.includes(propertyName)) { - required.splice(required.indexOf("shade"), 1); + required.splice(required.indexOf(propertyName), 1); } } diff --git a/packages/theme/src/theme-engine/types.ts b/packages/theme/src/theme-engine/types.ts index e0885a083..2bb7e2636 100644 --- a/packages/theme/src/theme-engine/types.ts +++ b/packages/theme/src/theme-engine/types.ts @@ -226,7 +226,18 @@ export type Colors = { */ backdrop: string; + /** + * Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99) + * @pattern ^#(?:(?:[\da-fA-F]{3}){1,2}|(?:[\da-fA-F]{4}){1,2})$ + * @deprecated true + */ shade: string; + /** + * Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99) + * @pattern ^#(?:(?:[\da-fA-F]{3}){1,2}|(?:[\da-fA-F]{4}){1,2})$ + * @deprecated true + */ + textSelection: string; }; export type VariantsWithStaticColors = diff --git a/packages/theme/v1.schema.json b/packages/theme/v1.schema.json index e836ffba4..ba3230f22 100644 --- a/packages/theme/v1.schema.json +++ b/packages/theme/v1.schema.json @@ -255,6 +255,18 @@ "type": "string", "description": "Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99)", "pattern": "^#(?:(?:[\\da-fA-F]{3}){1,2}|(?:[\\da-fA-F]{4}){1,2})$" + }, + "shade": { + "type": "string", + "description": "Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99)", + "pattern": "^#(?:(?:[\\da-fA-F]{3}){1,2}|(?:[\\da-fA-F]{4}){1,2})$", + "deprecated": true + }, + "textSelection": { + "type": "string", + "description": "Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99)", + "pattern": "^#(?:(?:[\\da-fA-F]{3}){1,2}|(?:[\\da-fA-F]{4}){1,2})$", + "deprecated": true } }, "required": [ @@ -353,6 +365,18 @@ "type": "string", "description": "Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99)", "pattern": "^#(?:(?:[\\da-fA-F]{3}){1,2}|(?:[\\da-fA-F]{4}){1,2})$" + }, + "shade": { + "type": "string", + "description": "Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99)", + "pattern": "^#(?:(?:[\\da-fA-F]{3}){1,2}|(?:[\\da-fA-F]{4}){1,2})$", + "deprecated": true + }, + "textSelection": { + "type": "string", + "description": "Hex RGB & ARGB values both are supported. (e.g. #dbdbdb99)", + "pattern": "^#(?:(?:[\\da-fA-F]{3}){1,2}|(?:[\\da-fA-F]{4}){1,2})$", + "deprecated": true } }, "additionalProperties": false