diff --git a/packages/_docs/components/Tables.tsx b/packages/_docs/components/Tables.tsx index be12084..4877d13 100644 --- a/packages/_docs/components/Tables.tsx +++ b/packages/_docs/components/Tables.tsx @@ -10,7 +10,7 @@ import { Table, TableCell, TableRow } from '../elements/Tables'; export const PropTable = ({ group, }: { - group: keyof (typeof animus)['groupRegistry']; + group: keyof typeof animus['groupRegistry']; }) => { return ( diff --git a/packages/_docs/pages/_document.tsx b/packages/_docs/pages/_document.tsx index 32d5b0d..dd7df0c 100644 --- a/packages/_docs/pages/_document.tsx +++ b/packages/_docs/pages/_document.tsx @@ -19,9 +19,8 @@ class MyDocument extends Document { ctx.renderPage = () => originalRenderPage({ - enhanceApp: (App) => (props) => ( - - ), + enhanceApp: (App) => (props) => + , }); const initialProps = await Document.getInitialProps(ctx); diff --git a/packages/_integration/__tests__/variance.test.ts b/packages/_integration/__tests__/variance.test.ts index 01852d7..55f0f48 100644 --- a/packages/_integration/__tests__/variance.test.ts +++ b/packages/_integration/__tests__/variance.test.ts @@ -25,7 +25,7 @@ describe('style props', () => { describe('parsers', () => { it('has the correct config', () => { const propNamesRestricted: Assert< - (typeof space)['propNames'], + typeof space['propNames'], ('margin' | 'padding')[] > = true; diff --git a/packages/core/src/Animus.ts b/packages/core/src/Animus.ts index f18623f..10f1375 100644 --- a/packages/core/src/Animus.ts +++ b/packages/core/src/Animus.ts @@ -26,7 +26,7 @@ export class AnimusWithAll< Variants extends Record, States extends CSSPropMap>, ActiveGroups extends Record, - CustomProps extends Record, + CustomProps extends Record > { propRegistry = {} as PropRegistry; groupRegistry = {} as GroupRegistry; @@ -141,7 +141,7 @@ class AnimusWithSystem< BaseStyles extends CSSProps>, Variants extends Record, States extends CSSPropMap>, - ActiveGroups extends Record, + ActiveGroups extends Record > extends AnimusWithAll< PropRegistry, GroupRegistry, @@ -184,7 +184,7 @@ class AnimusWithStates< BaseParser extends Parser, BaseStyles extends CSSProps>, Variants extends Record, - States extends CSSPropMap>, + States extends CSSPropMap> > extends AnimusWithSystem< PropRegistry, GroupRegistry, @@ -225,7 +225,7 @@ class AnimusWithVariants< GroupRegistry extends Record, BaseParser extends Parser, BaseStyles extends CSSProps>, - Variants extends Record, + Variants extends Record > extends AnimusWithStates< PropRegistry, GroupRegistry, @@ -261,7 +261,7 @@ class AnimusWithVariants< Keys extends keyof Props, Base extends AbstractProps, Props extends Record, - PropKey extends Readonly = 'variant', + PropKey extends Readonly = 'variant' >(options: { prop?: PropKey; defaultVariant?: keyof Props; @@ -285,7 +285,7 @@ class AnimusWithBase< PropRegistry extends Record, GroupRegistry extends Record, BaseParser extends Parser, - BaseStyles extends CSSProps>, + BaseStyles extends CSSProps> > extends AnimusWithVariants< PropRegistry, GroupRegistry, @@ -305,7 +305,7 @@ class AnimusWithBase< Keys extends keyof Props, Base extends AbstractProps, Props extends Record, - PropKey extends Readonly = 'variant', + PropKey extends Readonly = 'variant' >(options: { prop?: PropKey; defaultVariant?: keyof Props; @@ -328,7 +328,7 @@ class AnimusWithBase< export class Animus< PropRegistry extends Record, GroupRegistry extends Record, - BaseParser extends Parser, + BaseParser extends Parser > extends AnimusWithBase { constructor(props: PropRegistry, groups: GroupRegistry) { super(props, groups, createParser(props) as BaseParser, {}); diff --git a/packages/core/src/AnimusConfig.ts b/packages/core/src/AnimusConfig.ts index 985bdda..9258c48 100644 --- a/packages/core/src/AnimusConfig.ts +++ b/packages/core/src/AnimusConfig.ts @@ -3,7 +3,7 @@ import { Prop } from './types/config'; export class AnimusConfig< C extends Record = {}, - G extends Record = {}, + G extends Record = {} > { #props = {} as C; #groups = {} as G; @@ -16,7 +16,7 @@ export class AnimusConfig< addGroup< Name extends string, Conf extends Record, - PropNames extends keyof Conf, + PropNames extends keyof Conf >(name: Name, config: Conf) { const newGroup = { [name]: Object.keys(config), diff --git a/packages/core/src/AnimusExtended.ts b/packages/core/src/AnimusExtended.ts index fd2c986..0c591e0 100644 --- a/packages/core/src/AnimusExtended.ts +++ b/packages/core/src/AnimusExtended.ts @@ -25,7 +25,7 @@ export class AnimusExtended< Variants extends Record, States extends CSSPropMap>, ActiveGroups extends Record, - CustomProps extends Record, + CustomProps extends Record > { propRegistry = {} as PropRegistry; groupRegistry = {} as GroupRegistry; @@ -88,7 +88,7 @@ export class AnimusExtended< Keys extends keyof Props, Base extends AbstractProps, Props extends Record, - PropKey extends Readonly = 'variant', + PropKey extends Readonly = 'variant' >(options: { prop?: PropKey; defaultVariant?: keyof Props; diff --git a/packages/core/src/legacy/config.ts b/packages/core/src/legacy/config.ts index c4ddccd..b3f1c08 100644 --- a/packages/core/src/legacy/config.ts +++ b/packages/core/src/legacy/config.ts @@ -39,7 +39,7 @@ export interface AbstractParser { export type PropertyValues< Property extends keyof PropertyTypes, - All extends boolean = false, + All extends boolean = false > = Exclude< PropertyTypes[Property], All extends true ? never : object | any[] @@ -49,10 +49,10 @@ export type ScaleValue = Config['scale'] extends keyof Theme ? keyof Theme[Config['scale']] | PropertyValues : Config['scale'] extends MapScale - ? keyof Config['scale'] | PropertyValues - : Config['scale'] extends ArrayScale - ? Config['scale'][number] | PropertyValues - : PropertyValues; + ? keyof Config['scale'] | PropertyValues + : Config['scale'] extends ArrayScale + ? Config['scale'][number] | PropertyValues + : PropertyValues; /** * Value or something @@ -80,7 +80,7 @@ export type TransformerMap> = { [P in Key]: PropTransformer, Config[P]>; }; export interface Parser< - Config extends Record, + Config extends Record > { (props: ParserProps, orderProps?: boolean): CSSObject; propNames: (keyof Config)[]; @@ -98,7 +98,7 @@ export interface Variant

{ Keys extends keyof Props, Base extends AbstractProps, Props extends Record, - PropKey extends Readonly = 'variant', + PropKey extends Readonly = 'variant' >(options: { prop?: PropKey; defaultVariant?: keyof Props; @@ -114,13 +114,13 @@ export interface States

{ } export interface CSS

{ - ( - config: CSSProps> - ): (props: ThemeProps) => CSSObject; + (config: CSSProps>): ( + props: ThemeProps + ) => CSSObject; } export type ParserProps< - Config extends Record, + Config extends Record > = ThemeProps<{ [P in keyof Config]?: Parameters[2][Config[P]['prop']]; }>; diff --git a/packages/core/src/legacy/createCss.ts b/packages/core/src/legacy/createCss.ts index 0e7cdbd..0f95af7 100644 --- a/packages/core/src/legacy/createCss.ts +++ b/packages/core/src/legacy/createCss.ts @@ -7,7 +7,7 @@ import { create } from './create'; export function createCss< Config extends Record, - P extends Parser>, + P extends Parser> >(config: Config): CSS

{ const parser = create(config); const filteredProps = parser.propNames as string[]; diff --git a/packages/core/src/legacy/createParser.ts b/packages/core/src/legacy/createParser.ts index bdbd40c..37e74e0 100644 --- a/packages/core/src/legacy/createParser.ts +++ b/packages/core/src/legacy/createParser.ts @@ -54,7 +54,7 @@ const renderPropValue = ( }; export function createParser< - Config extends Record, + Config extends Record >(config: Config): Parser { const propNames = orderPropNames(config); const ctx: RenderContext = { diff --git a/packages/core/src/legacy/createStates.ts b/packages/core/src/legacy/createStates.ts index 715b32d..227bd63 100644 --- a/packages/core/src/legacy/createStates.ts +++ b/packages/core/src/legacy/createStates.ts @@ -7,7 +7,7 @@ import { createCss } from './createCss'; export function createStates< Config extends Record, - P extends Parser>, + P extends Parser> >(config: Config): States

{ const css: CSS

= createCss(config); diff --git a/packages/core/src/legacy/createVariant.ts b/packages/core/src/legacy/createVariant.ts index cb74cb9..02d167b 100644 --- a/packages/core/src/legacy/createVariant.ts +++ b/packages/core/src/legacy/createVariant.ts @@ -7,7 +7,7 @@ import { createCss } from './createCss'; export function createVariant< Config extends Record, - P extends Parser>, + P extends Parser> >(config: Config): Variant

{ const css: CSS

= createCss(config); diff --git a/packages/core/src/legacy/responsive.ts b/packages/core/src/legacy/responsive.ts index 393c798..f0c0648 100644 --- a/packages/core/src/legacy/responsive.ts +++ b/packages/core/src/legacy/responsive.ts @@ -34,7 +34,7 @@ export const isMediaMap = ( intersection(Object.keys(val), BREAKPOINT_KEYS).length > 0; interface ResponsiveParser< - Bp extends MediaQueryMap | (string | number)[], + Bp extends MediaQueryMap | (string | number)[] > { ( value: Bp, diff --git a/packages/core/src/properties/styledOptions.ts b/packages/core/src/properties/styledOptions.ts index 56d3e08..90a9bd9 100644 --- a/packages/core/src/properties/styledOptions.ts +++ b/packages/core/src/properties/styledOptions.ts @@ -7,7 +7,7 @@ import isPropValid from '@emotion/is-prop-valid'; export type ForwardableProps< El extends keyof JSX.IntrinsicElements, - Reserved, + Reserved > = Exclude< El extends keyof JSX.IntrinsicElements ? keyof JSX.IntrinsicElements[El] @@ -30,7 +30,7 @@ export const createStyledOptions = >( const bindShouldForward = < El extends keyof JSX.IntrinsicElements = 'div', Forward extends string = never, - Filter extends string = never, + Filter extends string = never >(opts?: { element?: El; forward?: readonly Forward[]; diff --git a/packages/core/src/styles/responsive.ts b/packages/core/src/styles/responsive.ts index 08f8692..e4cc0c9 100644 --- a/packages/core/src/styles/responsive.ts +++ b/packages/core/src/styles/responsive.ts @@ -35,7 +35,7 @@ export const isMediaMap = ( intersection(Object.keys(val), BREAKPOINT_KEYS).length > 0; interface ResponsiveParser< - Bp extends MediaQueryMap | (string | number)[], + Bp extends MediaQueryMap | (string | number)[] > { ( value: Bp, diff --git a/packages/core/src/types/config.ts b/packages/core/src/types/config.ts index 49c69b7..adc18a1 100644 --- a/packages/core/src/types/config.ts +++ b/packages/core/src/types/config.ts @@ -32,7 +32,7 @@ type IsEmpty = [] extends T ? true : false | {} extends T ? true : false; export type PropertyValues< Property extends Prop, - IncludeGlobals = false, + IncludeGlobals = false > = Exclude< PropertyTypes< IncludeGlobals extends true ? DefaultCSSPropertyValue : never @@ -44,8 +44,8 @@ type CompatValue = CompatTheme[Key] extends MapScale ? keyof CompatTheme[Key] : CompatTheme[Key] extends ArrayScale - ? CompatTheme[Key][number] - : never; + ? CompatTheme[Key][number] + : never; export type ScaleValue = Config['scale'] extends keyof Theme @@ -53,16 +53,14 @@ export type ScaleValue = | keyof Theme[Config['scale']] | PropertyValues> : Config['scale'] extends MapScale - ? keyof Config['scale'] | PropertyValues> - : Config['scale'] extends ArrayScale - ? - | Config['scale'][number] - | PropertyValues> - : Config['scale'] extends keyof CompatTheme - ? - | CompatValue - | PropertyValues> - : PropertyValues; + ? keyof Config['scale'] | PropertyValues> + : Config['scale'] extends ArrayScale + ? Config['scale'][number] | PropertyValues> + : Config['scale'] extends keyof CompatTheme + ? + | CompatValue + | PropertyValues> + : PropertyValues; export type Scale = ResponsiveProp< ScaleValue | ((theme: Theme) => ScaleValue) @@ -80,7 +78,7 @@ export interface Parser> { export type SystemProps< P extends AbstractParser, - SafeProps = Omit, 'theme'>, + SafeProps = Omit, 'theme'> > = { [K in keyof SafeProps]: SafeProps[K]; }; @@ -99,6 +97,6 @@ export type CSSProps = { [K in keyof Props]?: K extends keyof System ? System[K] : K extends keyof PropertyTypes - ? PropertyTypes[K] - : Omit & Omit; + ? PropertyTypes[K] + : Omit & Omit; }; diff --git a/packages/theming/src/core/ThemeBuilder.ts b/packages/theming/src/core/ThemeBuilder.ts index 6a9c30f..76f5412 100644 --- a/packages/theming/src/core/ThemeBuilder.ts +++ b/packages/theming/src/core/ThemeBuilder.ts @@ -45,7 +45,7 @@ export class ThemeWithRawColors< Bps extends Breakpoints, Scales, Tokens, - Vars, + Vars > extends ThemeWithAll { constructor(breakpoints: Bps, scales: Scales, tokens: Tokens, vars: Vars) { super(breakpoints, scales, tokens, vars); diff --git a/packages/theming/src/utils/createTheme.ts b/packages/theming/src/utils/createTheme.ts index 4c7d3a5..72cae57 100644 --- a/packages/theming/src/utils/createTheme.ts +++ b/packages/theming/src/utils/createTheme.ts @@ -49,7 +49,7 @@ export class ThemeBuilder { */ addColors< Colors extends Record, - NextColors extends LiteralPaths, + NextColors extends LiteralPaths >( colors: Colors ): ThemeBuilder< @@ -87,7 +87,7 @@ export class ThemeBuilder { Config extends Record, ColorAliases extends { [K in keyof Config]: LiteralPaths; - }, + } >( initialMode: InitialMode, modeConfig: Config @@ -148,7 +148,7 @@ export class ThemeBuilder { string | number, string | number | Record >, - NewScale extends LiteralPaths, '-'>, + NewScale extends LiteralPaths, '-'> >( key: Key, createScale: Fn @@ -167,7 +167,7 @@ export class ThemeBuilder { */ updateScale< Key extends keyof T, - Fn extends (tokens: T[Key]) => Record, + Fn extends (tokens: T[Key]) => Record >( key: Key, updateFn: Fn diff --git a/packages/theming/src/utils/flattenScale.ts b/packages/theming/src/utils/flattenScale.ts index fde5c89..9e58b5c 100644 --- a/packages/theming/src/utils/flattenScale.ts +++ b/packages/theming/src/utils/flattenScale.ts @@ -21,7 +21,7 @@ export type Path = FindPath | keyof T; export type PathValue< T, P extends Path, - D extends string = '.', + D extends string = '.' > = P extends `${infer K}${D}${infer Rest}` ? K extends keyof T ? Rest extends Path @@ -29,23 +29,22 @@ export type PathValue< : never : never : P extends keyof T - ? T[P] - : never; + ? T[P] + : never; /** Check if path has a primitive end value and return only the union of end paths */ export type PathToLiteral< T, K extends Path, D extends string = '.', - Base extends string = '', -> = - PathValue extends string | number - ? K extends string | number - ? K extends `${infer BasePath}${D}${Base}` - ? BasePath - : K - : never - : never; + Base extends string = '' +> = PathValue extends string | number + ? K extends string | number + ? K extends `${infer BasePath}${D}${Base}` + ? BasePath + : K + : never + : never; /** * Reduce all paths to a single map of paths with primitive values removing all extra non stateful paths @@ -55,7 +54,7 @@ export type PathToLiteral< export type LiteralPaths< T extends Record, D extends string = '.', - Base extends string = '', + Base extends string = '' > = { [K in Path as PathToLiteral]: PathValue< T, @@ -66,23 +65,20 @@ export type LiteralPaths< export function flattenScale< T extends Record, - P extends string, + P extends string >(object: T, path?: P): LiteralPaths { - return Object.keys(object).reduce( - (carry, key) => { - const nextKey = path ? `${path}${key === '_' ? '' : `-${key}`}` : key; - const current = object[key]; - if (isObject(current)) { - return { - ...carry, - ...flattenScale(current as Record, nextKey), - }; - } + return Object.keys(object).reduce((carry, key) => { + const nextKey = path ? `${path}${key === '_' ? '' : `-${key}`}` : key; + const current = object[key]; + if (isObject(current)) { return { ...carry, - [nextKey]: object[key], + ...flattenScale(current as Record, nextKey), }; - }, - {} as LiteralPaths - ); + } + return { + ...carry, + [nextKey]: object[key], + }; + }, {} as LiteralPaths); } diff --git a/packages/theming/src/utils/serializeTokens.ts b/packages/theming/src/utils/serializeTokens.ts index 39bdf38..d37b769 100644 --- a/packages/theming/src/utils/serializeTokens.ts +++ b/packages/theming/src/utils/serializeTokens.ts @@ -7,7 +7,7 @@ import { isObject, merge } from 'lodash'; */ export type KeyAsVariable< T extends Record, - Prefix extends string, + Prefix extends string > = { [V in keyof T]: `var(--${Prefix}-${SanitizeKey>})`; }; @@ -55,7 +55,7 @@ interface SerializedTokensInputRecursive { export const serializeTokens = < T extends SerializedTokensInput, - Prefix extends string, + Prefix extends string >( tokens: T, prefix: Prefix, diff --git a/packages/theming/src/utils/types.ts b/packages/theming/src/utils/types.ts index df5ebcb..7bd6bd7 100644 --- a/packages/theming/src/utils/types.ts +++ b/packages/theming/src/utils/types.ts @@ -12,7 +12,7 @@ import { AbstractTheme, CSSObject } from '@animus-ui/core'; export type MergeTheme< Base extends AbstractTheme, Next, - Unmergable = Record<'breakpoints', Base['breakpoints']>, + Unmergable = Record<'breakpoints', Base['breakpoints']> > = Unmergable & Merge; /** This merges at 2 levels of depth */ @@ -22,8 +22,8 @@ export type Merge = { ? AssignValueIfUnmergable : B[K] : K extends keyof A - ? A[K] - : never; + ? A[K] + : never; }; /** Extract mergable objects */ @@ -33,16 +33,19 @@ export type Mergable = Exclude< >; /** Return B if either A or B is unmergable */ -export type AssignValueIfUnmergable = - Mergable extends never ? B : Mergable extends never ? B : Assign; +export type AssignValueIfUnmergable = Mergable extends never + ? B + : Mergable extends never + ? B + : Assign; /** Prefer all values from B */ export type Assign = { [K in keyof A | keyof B]: K extends keyof B ? B[K] : K extends keyof A - ? A[K] - : never; + ? A[K] + : never; }; /** These are keys that are consistent for all theme builds - they are loosely typed as they are not meant to be accessed directly */ diff --git a/packages/ui/src/ComponentProvider/bindComponentProvider.tsx b/packages/ui/src/ComponentProvider/bindComponentProvider.tsx index dacdd9c..9db507b 100644 --- a/packages/ui/src/ComponentProvider/bindComponentProvider.tsx +++ b/packages/ui/src/ComponentProvider/bindComponentProvider.tsx @@ -10,7 +10,7 @@ import { ComponentOverrides, ComponentRegistry } from './types'; export const bindComponentProvider = < ComponentKey extends keyof Registry, - Registry extends ComponentRegistry, + Registry extends ComponentRegistry >( components: Registry ) => { diff --git a/packages/ui/src/components/ColorMode.tsx b/packages/ui/src/components/ColorMode.tsx index 9389fbb..0f8ffe0 100644 --- a/packages/ui/src/components/ColorMode.tsx +++ b/packages/ui/src/components/ColorMode.tsx @@ -35,7 +35,7 @@ export function useColorModes(): [ ColorModes, ColorModeShape, ColorModeConfig, - (color: Colors) => string, + (color: Colors) => string ] { const { mode, modes, _getColorValue: getColorValue } = useTheme() || {}; return [mode, modes?.[mode], modes, getColorValue];