Skip to content

Commit

Permalink
feat: Update Structure for Figma Variables (#30)
Browse files Browse the repository at this point in the history
Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>
  • Loading branch information
jaalah-akamai and jaalah authored Dec 29, 2023
1 parent 5bc6aed commit 325759a
Show file tree
Hide file tree
Showing 39 changed files with 16,730 additions and 4,035 deletions.
6 changes: 1 addition & 5 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,7 @@ module.exports = {
'@typescript-eslint',
'prettier',
],
extends: [
'plugin:@typescript-eslint/eslint-recommended',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended'
],
extends: ['plugin:@typescript-eslint/eslint-recommended', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', 'plugin:storybook/recommended'],
overrides: [],
parserOptions: {
ecmaVersion: 'latest',
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ on:
jobs:
build-design-language-system:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
Expand Down
22 changes: 22 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import type { StorybookConfig } from "@storybook/react-vite";

const config: StorybookConfig = {
stories: [
"../stories/**/*.mdx",
"../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)",
],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-onboarding",
"@storybook/addon-interactions",
],
framework: {
name: "@storybook/react-vite",
options: {},
},
docs: {
autodocs: "tag",
},
};
export default config;
15 changes: 15 additions & 0 deletions .storybook/preview.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import type { Preview } from "@storybook/react";

const preview: Preview = {
parameters: {
actions: { argTypesRegex: "^on[A-Z].*" },
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i,
},
},
},
};

export default preview;
Binary file added .yarn/install-state.gz
Binary file not shown.
893 changes: 893 additions & 0 deletions .yarn/releases/yarn-4.0.2.cjs

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
nodeLinker: node-modules

yarnPath: .yarn/releases/yarn-4.0.2.cjs
29 changes: 18 additions & 11 deletions config/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,14 @@ export function getStyleDictionaryConfig(
options: StyleDictionaryOptions
): StyleDictionaryPackage.Config {
const { theme, platform } = options;
const buildPath = theme.name ? `dist/${theme.name}/` : 'dist/'
let buildPath;

if (theme.name === 'light' || theme.name === '') {
buildPath = 'dist/';
} else {
buildPath = `dist/${theme.name}/`;
}

return {
// If we want to show collisions, we can change `include` to `source`.
include: Object.entries(theme.selectedTokenSets)
Expand All @@ -41,22 +48,22 @@ export function getStyleDictionaryConfig(
files: [
{
destination: 'tokens.es6.js',
format: 'javascript/es6',
filter: {}
filter: {},
format: 'javascript/es6'
},
{
destination: 'theme.es6.js',
format: 'javascript/nested',
filter: {}
destination: 'tokens.d.ts',
format: 'typescript/es6-declarations'
},
{
destination: 'theme.d.ts',
format: 'typescript/theme-types',
filter: {}
destination: 'nested.es6.js',
filter: {},
format: 'javascript/nested'
},
{
format: 'typescript/es6-declarations',
destination: 'tokens.d.ts'
destination: 'nested.d.ts',
filter: {},
format: 'typescript/theme-types'
}
]
},
Expand Down
69 changes: 47 additions & 22 deletions config/dark/index.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,52 @@
import * as Tokens from '../../dist/dark/tokens.es6.js';
import * as TokensTheme from '../../dist/dark/theme.es6.js';
import * as TokensTheme from '../../dist/dark/nested.es6.js';
import type {
ColorTypes,
ElevationTypes,
FontTypes,
ContentTypes,
BorderTypes,
BackgroundTypes,
InteractionTypes,
ActionTypes,
ButtonTypes,
} from '../../dist/dark/theme.js';
AliasTypes,
ComponentTypes,
GlobalTypes
} from '../../dist/dark/nested.d.ts';

const Colors: ColorTypes = TokensTheme.default.Color;
const Elevation: ElevationTypes = TokensTheme.default.Elevation;
const Fonts: FontTypes = TokensTheme.default.Font;
const Content: ContentTypes = TokensTheme.default.Content;
const Border: BorderTypes = TokensTheme.default.Border;
const Background: BackgroundTypes = TokensTheme.default.Background;
const Interaction: InteractionTypes = TokensTheme.default.Interaction;
const Actions: ActionTypes = TokensTheme.default.Action;
const Button: ButtonTypes = TokensTheme.default.Button;
const {
Color,
Elevation,
Font,
Spacing
} = TokensTheme.default.Global;

export { Tokens, Colors, Elevation, Fonts, Content, Border, Background, Interaction, Actions, Button };
export type { ColorTypes, ElevationTypes, FontTypes, ContentTypes, BorderTypes, BackgroundTypes, InteractionTypes, ActionTypes, ButtonTypes };
const {
Action,
Background,
Border,
Content,
Interaction,
} = TokensTheme.default.Alias;

const {
Appbar,
Button,
Container,
Table,
} = TokensTheme.default.Component;

export {
Action,
Appbar,
Background,
Border,
Button,
Color,
Container,
Content,
Elevation,
Font,
Interaction,
Spacing,
Table,
Tokens
};

export type {
AliasTypes,
ComponentTypes,
GlobalTypes
};
52 changes: 52 additions & 0 deletions config/densedDark/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import * as Tokens from '../../dist/densedDark/tokens.es6.js';
import * as TokensTheme from '../../dist/densedDark/nested.es6.js';
import type {
AliasTypes,
ComponentTypes,
GlobalTypes
} from '../../dist/densedDark/nested.d.ts';

const {
Color,
Elevation,
Font,
Spacing
} = TokensTheme.default.Global;

const {
Action,
Background,
Border,
Content,
Interaction,
} = TokensTheme.default.Alias;

const {
Appbar,
Button,
Container,
Table,
} = TokensTheme.default.Component;

export {
Action,
Appbar,
Background,
Border,
Button,
Color,
Container,
Content,
Elevation,
Font,
Interaction,
Spacing,
Table,
Tokens
};

export type {
AliasTypes,
ComponentTypes,
GlobalTypes
};
52 changes: 52 additions & 0 deletions config/densedLight/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import * as Tokens from '../../dist/densedLight/tokens.es6.js';
import * as TokensTheme from '../../dist/densedLight/nested.es6.js';
import type {
AliasTypes,
ComponentTypes,
GlobalTypes
} from '../../dist/densedLight/nested.d.ts';

const {
Color,
Elevation,
Font,
Spacing
} = TokensTheme.default.Global;

const {
Action,
Background,
Border,
Content,
Interaction,
} = TokensTheme.default.Alias;

const {
Appbar,
Button,
Container,
Table,
} = TokensTheme.default.Component;

export {
Action,
Appbar,
Background,
Border,
Button,
Color,
Container,
Content,
Elevation,
Font,
Interaction,
Spacing,
Table,
Tokens
};

export type {
AliasTypes,
ComponentTypes,
GlobalTypes
};
27 changes: 0 additions & 27 deletions config/highContrast/index.ts

This file was deleted.

69 changes: 47 additions & 22 deletions config/index.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,52 @@
import * as Tokens from '../dist/tokens.es6.js';
import * as TokensTheme from '../dist/theme.es6.js';
import * as TokensTheme from '../dist/nested.es6.js';
import type {
ColorTypes,
ElevationTypes,
FontTypes,
ContentTypes,
BorderTypes,
BackgroundTypes,
InteractionTypes,
ActionTypes,
ButtonTypes,
} from '../dist/theme.js';
AliasTypes,
ComponentTypes,
GlobalTypes
} from '../dist/nested.d.ts';

const Colors: ColorTypes = TokensTheme.default.Color;
const Elevation: ElevationTypes = TokensTheme.default.Elevation;
const Fonts: FontTypes = TokensTheme.default.Font;
const Content: ContentTypes = TokensTheme.default.Content;
const Border: BorderTypes = TokensTheme.default.Border;
const Background: BackgroundTypes = TokensTheme.default.Background;
const Interaction: InteractionTypes = TokensTheme.default.Interaction;
const Actions: ActionTypes = TokensTheme.default.Action;
const Button: ButtonTypes = TokensTheme.default.Button;
const {
Color,
Elevation,
Font,
Spacing
} = TokensTheme.default.Global;

export { Tokens, Colors, Elevation, Fonts, Content, Border, Background, Interaction, Actions, Button };
export type { ColorTypes, ElevationTypes, FontTypes, ContentTypes, BorderTypes, BackgroundTypes, InteractionTypes, ActionTypes, ButtonTypes };
const {
Action,
Background,
Border,
Content,
Interaction,
} = TokensTheme.default.Alias;

const {
Appbar,
Button,
Container,
Table,
} = TokensTheme.default.Component;

export {
Action,
Appbar,
Background,
Border,
Button,
Color,
Container,
Content,
Elevation,
Font,
Interaction,
Spacing,
Table,
Tokens
};

export type {
AliasTypes,
ComponentTypes,
GlobalTypes
};
Loading

0 comments on commit 325759a

Please sign in to comment.