diff --git a/packages/design-system/.github/workflows/deploy.yml b/packages/design-system/.github/workflows/deploy.yml index 0bd6d45ece..2ab9ccee75 100644 --- a/packages/design-system/.github/workflows/deploy.yml +++ b/packages/design-system/.github/workflows/deploy.yml @@ -3,13 +3,13 @@ name: Deploy Docs on: push: branches: - - main + - main jobs: build: runs-on: ubuntu-latest env: - NODE_OPTIONS: '--max_old_space_size=4096' + NODE_OPTIONS: "--max_old_space_size=4096" steps: - uses: actions/checkout@v2 - name: Build and deploy @@ -37,4 +37,4 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages force: true - directory: 'storybook-static' + directory: "storybook-static" diff --git a/packages/design-system/.storybook/font-awesome-icons.js b/packages/design-system/.storybook/font-awesome-icons.js index fd895b51a8..779577a395 100644 --- a/packages/design-system/.storybook/font-awesome-icons.js +++ b/packages/design-system/.storybook/font-awesome-icons.js @@ -1,88 +1,87 @@ - -import { library } from '@fortawesome/fontawesome-svg-core'; +import { library } from "@fortawesome/fontawesome-svg-core"; import { - faAngleDoubleLeft, - faAngleDown, - faAngleRight, - faAngleUp, - faArrowLeft, - faArrowRight, - faAt, - faBook, - faBug, - faCalendar, - faCheck, - faChevronDown, - faChevronUp, - faCode, - faCodeBranch, - faCog, - faCogs, - faClone, - faCloud, - faCloudDownloadAlt, - faCopy, - faCut, - faDotCircle, - faEdit, - faEnvelope, - faEye, - faExclamationTriangle, - faExpand, - faExternalLinkAlt, - faExchangeAlt, - faFile, - faFileArchive, - faFileCode, - faFileDownload, - faFileExport, - faFileImport, - faFilePdf, - faFolderOpen, - faGift, - faHdd, - faHome, - faHourglass, - faImage, - faInbox, - faInfo, - faInfoCircle, - faKey, - faMapSigns, - faNetworkWired, - faPause, - faPen, - faPlay, - faPlayCircle, - faPlus, - faPlusCircle, - faQuestion, - faQuestionCircle, - faRedo, - faRss, - faSave, - faSearch, - faSearchMinus, - faSearchPlus, - faServer, - faSignInAlt, - faSlidersH, - faSpinner, - faStop, - faSun, - faSync, - faSyncAlt, - faTable, - faTasks, - faTerminal, - faThLarge, - faTimes, - faTrash, - faUndo, - faUsers, - faClock, -} from '@fortawesome/free-solid-svg-icons'; -import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; + faAngleDoubleLeft, + faAngleDown, + faAngleRight, + faAngleUp, + faArrowLeft, + faArrowRight, + faAt, + faBook, + faBug, + faCalendar, + faCheck, + faChevronDown, + faChevronUp, + faCode, + faCodeBranch, + faCog, + faCogs, + faClone, + faCloud, + faCloudDownloadAlt, + faCopy, + faCut, + faDotCircle, + faEdit, + faEnvelope, + faEye, + faExclamationTriangle, + faExpand, + faExternalLinkAlt, + faExchangeAlt, + faFile, + faFileArchive, + faFileCode, + faFileDownload, + faFileExport, + faFileImport, + faFilePdf, + faFolderOpen, + faGift, + faHdd, + faHome, + faHourglass, + faImage, + faInbox, + faInfo, + faInfoCircle, + faKey, + faMapSigns, + faNetworkWired, + faPause, + faPen, + faPlay, + faPlayCircle, + faPlus, + faPlusCircle, + faQuestion, + faQuestionCircle, + faRedo, + faRss, + faSave, + faSearch, + faSearchMinus, + faSearchPlus, + faServer, + faSignInAlt, + faSlidersH, + faSpinner, + faStop, + faSun, + faSync, + faSyncAlt, + faTable, + faTasks, + faTerminal, + faThLarge, + faTimes, + faTrash, + faUndo, + faUsers, + faClock, +} from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome"; library.add(faAngleDoubleLeft); library.add(faAngleDown); diff --git a/packages/design-system/.storybook/fonts.scss b/packages/design-system/.storybook/fonts.scss index e6e5ab65d6..67902a3696 100644 --- a/packages/design-system/.storybook/fonts.scss +++ b/packages/design-system/.storybook/fonts.scss @@ -1 +1 @@ -@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap'); +@import url("https://fonts.googleapis.com/css?family=Open+Sans&display=swap"); diff --git a/packages/design-system/.storybook/main.js b/packages/design-system/.storybook/main.js index 3f8b0d5005..dc6b29a6f2 100644 --- a/packages/design-system/.storybook/main.js +++ b/packages/design-system/.storybook/main.js @@ -1,46 +1,38 @@ -const path = require('path'); +const path = require("path"); module.exports = { - "stories": [ - "../src/**/*.stories.mdx", - "../src/**/*.stories.@(js|jsx|ts|tsx)" - ], - "addons": [ - "@storybook/addon-links", - "@storybook/addon-essentials", - 'storybook-addon-designs', - 'storybook-addon-themes' - ], - webpackFinal: async (config, { - configType - }) => { - config.module.rules.push({ - test: /\.scss$/, - oneOf: [{ - resourceQuery: /module/, - use: [ - 'vue-style-loader', - { - loader: 'css-loader', - options: { - modules: true - } - }, - 'sass-loader', - ], - include: path.resolve(__dirname, '../'), - }, - { - use: [ - 'vue-style-loader', - 'css-loader', - 'sass-loader', - ], - include: path.resolve(__dirname, '../'), - } - ] - }); + stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"], + addons: [ + "@storybook/addon-links", + "@storybook/addon-essentials", + "storybook-addon-designs", + "storybook-addon-themes", + ], + webpackFinal: async (config, { configType }) => { + config.module.rules.push({ + test: /\.scss$/, + oneOf: [ + { + resourceQuery: /module/, + use: [ + "vue-style-loader", + { + loader: "css-loader", + options: { + modules: true, + }, + }, + "sass-loader", + ], + include: path.resolve(__dirname, "../"), + }, + { + use: ["vue-style-loader", "css-loader", "sass-loader"], + include: path.resolve(__dirname, "../"), + }, + ], + }); - return config; - }, -} \ No newline at end of file + return config; + }, +}; diff --git a/packages/design-system/.storybook/preview.js b/packages/design-system/.storybook/preview.js index e0931629d9..65b96d35bc 100644 --- a/packages/design-system/.storybook/preview.js +++ b/packages/design-system/.storybook/preview.js @@ -1,58 +1,60 @@ -import './font-awesome-icons'; -import './storybook.scss'; +import "./font-awesome-icons"; +import "./storybook.scss"; -import Vue from 'vue'; +import Vue from "vue"; // https://github.com/storybookjs/storybook/issues/6153 Vue.prototype.toJSON = function () { - return this; + return this; }; export const parameters = { - actions: { - argTypesRegex: "^on[A-Z].*" - }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/, - }, - }, - backgrounds: { - default: '--color-background-xlight', - values: [{ - name: '--color-background-dark', - value: 'var(--color-background-dark)', - }, - { - name: '--color-background-base', - value: 'var(--color-background-base)' - }, - { - name: '--color-background-light', - value: 'var(--color-background-light)' - }, - { - name: '--color-background-lighter', - value: 'var(--color-background-lighter)' - }, - { - name: '--color-background-xlight', - value: 'var(--color-background-xlight)' - } - ], - }, - themes: { - list: [{ - name: 'dark', - class: 'theme-dark', - color: '#000' - } - ], - }, - options: { - storySort: { - order: ['Docs', 'Styleguide', 'Atoms'] - } - } -} \ No newline at end of file + actions: { + argTypesRegex: "^on[A-Z].*", + }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + backgrounds: { + default: "--color-background-xlight", + values: [ + { + name: "--color-background-dark", + value: "var(--color-background-dark)", + }, + { + name: "--color-background-base", + value: "var(--color-background-base)", + }, + { + name: "--color-background-light", + value: "var(--color-background-light)", + }, + { + name: "--color-background-lighter", + value: "var(--color-background-lighter)", + }, + { + name: "--color-background-xlight", + value: "var(--color-background-xlight)", + }, + ], + }, + themes: { + list: [ + { + name: "dark", + class: "theme-dark", + color: "#000", + }, + ], + }, + options: { + storySort: { + order: ["Docs", "Styleguide", "Atoms"], + }, + }, +}; diff --git a/packages/design-system/.storybook/storybook.scss b/packages/design-system/.storybook/storybook.scss index 97b6afaa65..15f686f085 100644 --- a/packages/design-system/.storybook/storybook.scss +++ b/packages/design-system/.storybook/storybook.scss @@ -5,4 +5,4 @@ ); @use "~/theme/src/reset.scss"; -@use "~/theme/src/index.scss" +@use "~/theme/src/index.scss"; diff --git a/packages/design-system/README.md b/packages/design-system/README.md index f52c891ca0..e0ee3a1bae 100644 --- a/packages/design-system/README.md +++ b/packages/design-system/README.md @@ -5,36 +5,43 @@ A component system for [n8n](https://n8n.io) using Storybook to preview. You can [preview project here](https://n8n-io.github.io/n8n-design-system/index.html). ## Project setup + ``` npm install ``` ### Compiles and hot-reloads for development + ``` npm run storybook ``` ### Build static pages + ``` npm run build:storybook ``` ### Run your unit tests + ``` npm run test:unit ``` ### Lints and fixes files + ``` npm run lint ``` ### Build css files + ``` npm run build:theme ``` ### Monitor theme files and build any changes + ``` npm run watch:theme -``` \ No newline at end of file +``` diff --git a/packages/design-system/src/components/N8nButton/Button.stories.js b/packages/design-system/src/components/N8nButton/Button.stories.js index cc005d314d..f02ce6d400 100644 --- a/packages/design-system/src/components/N8nButton/Button.stories.js +++ b/packages/design-system/src/components/N8nButton/Button.stories.js @@ -120,4 +120,3 @@ Text.args = { label: "Button", icon: "plus-circle", }; - diff --git a/packages/design-system/src/components/N8nButton/Button.vue b/packages/design-system/src/components/N8nButton/Button.vue index 41564fd474..591f4910f0 100644 --- a/packages/design-system/src/components/N8nButton/Button.vue +++ b/packages/design-system/src/components/N8nButton/Button.vue @@ -109,15 +109,17 @@ export default { ...(props.fullWidth ? { width: "100%" } : {}), }; }, - getClass(props: {type: string, theme?: string}) { - return props.type === 'text' ? 'text' : `${props.type}-${props.theme || 'primary'}`; + getClass(props: { type: string; theme?: string }) { + return props.type === "text" + ? "text" + : `${props.type}-${props.theme || "primary"}`; }, };