diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..42061c0 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +README.md \ No newline at end of file diff --git a/README.md b/README.md index 8d975be..ad3acc0 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,313 @@ This component library implements [Primer CSS components](https://primer.style/css/components). -[Documentation](docs) +## Table of Contents -## Not supported +- [Alert](#alert) +- [Autocomplete](#autocomplete) +- [Avatar](#avatar) +- [AvatarStack](#avatarstack) +- [AvatarParentChild](#avatarparentchild) +- [Button](#button) +- [ButtonMarketing](#buttonmarketing) +- [BranchName](#branchname) +- [Breadcrumb](#breadcrumb) +- [Dropdown](#dropdown) +- [Label](#label) +- [Loader](#loader) +- [Pagination](#pagination) +- [Truncate](#truncate) +- [SelectMenu](#selectmenu) + +--- + +## Alert + +```svelte + + +Alert (default) +Alert (full) +Alert (dismissable) +Alert (full and dismissable) + +Alert (success) +Alert (warn) +Alert (error) +``` + +## Autocomplete + +```svelte + + + + GitHub Inc + Hubot + Monalisa Octocat + +``` + +## Avatar + +```svelte + + + + + +``` + +## AvatarStack + +```svelte + + + + + + +``` + +## AvatarParentChild + +```svelte + + + + + + +``` + +## Button + +```svelte + + + + + + + + +
+ + + + + +
+ + + + +
+ + + +``` + +## ButtonMarketing + +```svelte + + +Default +Primary +Outline + +Default large +Primary large +Outline large +
+ Transparent +
+``` + +## BranchName + +```svelte + + +patch-1 +my-feature +``` + +## Breadcrumb + +```svelte + + + +Home +Repositories +svelte-primer + +``` + +## Dropdown + +```svelte + + + + Header + Item 1 + + Item 2 + + +Open: {open} +``` + +### Dropdown (dark variant) + +```svelte + + Header + Item 1 + + Item 2 + +``` + +## Label + +```svelte + + + + + + + + + + + + + +``` + +## Loader + +```svelte + + + +``` + +## Pagination + +```svelte + + + + + + + + + + 1 + 2 + + 9 + 10 + + +``` + +## Truncate + +```svelte + + +
+ + branch-name-that-is-really-long + +
+``` + +## SelectMenu + +```svelte + + + + Item 1 + Item 2 + Item 3 + +``` + +--- + +## Unsupported components - [Popover directions](https://primer.style/css/components/popover) diff --git a/demo/src/routes/index.svelte b/demo/src/routes/index.svelte index c2ad7a5..2893c3c 100644 --- a/demo/src/routes/index.svelte +++ b/demo/src/routes/index.svelte @@ -1,7 +1,7 @@ @@ -72,32 +72,32 @@

- + diff --git a/package.json b/package.json index f76bc65..e61249e 100644 --- a/package.json +++ b/package.json @@ -10,20 +10,25 @@ "types": "./types/index.d.ts", "sideEffects": false, "scripts": { - "prepack": "prettier --write '*/**/*.svelte' && rollup -c" + "dev": "rollup -cw", + "predeploy": "rollup -c", + "deploy": "npx gh-pages -d dist", + "prepack": "BUNDLE=true rollup -c", + "format": "prettier --write '{src,types}/**/*.{svelte,ts}'" }, "dependencies": { "svelte-octicons": "^9.6.3" }, "devDependencies": { + "@primer/css": "14.4.0", + "@rollup/plugin-node-resolve": "^11.0.0", "@tsconfig/svelte": "^1.0.10", - "prettier": "^2.1.2", - "prettier-plugin-svelte": "^1.4.0", - "rollup": "^2.28.2", - "rollup-plugin-node-resolve": "^5.2.0", - "rollup-plugin-svelte": "^6.0.1", - "rollup-plugin-terser": "^7.0.2", - "svelte": "^3.28.0", + "prettier": "^2.2.1", + "prettier-plugin-svelte": "^1.4.2", + "rollup": "^2.34.2", + "rollup-plugin-svelte": "^7.0.0", + "svelte": "^3.31.0", + "svelte-readme": "^1.1.0", "typescript": "^4.1.2" }, "repository": { diff --git a/rollup.config.js b/rollup.config.js index 5a25e1d..541f239 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,18 +1,42 @@ -import resolve from "rollup-plugin-node-resolve"; +import resolve from "@rollup/plugin-node-resolve"; import svelte from "rollup-plugin-svelte"; -import { terser } from "rollup-plugin-terser"; -import { main, module, name } from "./package.json"; +import svelteReadme from "svelte-readme"; +import fs from "fs"; +import pkg from "./package.json"; -export default ["es", "umd"].map((format) => { - const UMD = format === "umd"; +const DEV = process.env.ROLLUP_WATCH; +const BUNDLE = process.env.BUNDLE === "true"; - return { - input: "src", - output: { - format, - file: UMD ? main : module, - name: UMD ? name : undefined, - }, - plugins: [svelte(), resolve(), UMD && terser()], - }; -}); +export default () => { + if (!BUNDLE) { + return svelteReadme({ + svelte: { dev: DEV, immutable: true }, + minify: !DEV, + prefixUrl: `${pkg.homepage}/tree/master/`, + style: ` + .markdown-body .code-fence ul, .markdown-body .code-fence ol { + padding-left: 0; + } + + ${fs.readFileSync( + "node_modules/@primer/css/dist/primer.css", + "utf-8" + )}`, + }); + } + + return ["es", "umd"].map((format) => { + const UMD = format === "umd"; + + return { + input: pkg.svelte, + output: { + format, + file: UMD ? pkg.main : pkg.module, + name: UMD ? pkg.name : undefined, + exports: "named", + }, + plugins: [svelte({ emitCss: false }), resolve()], + }; + }); +}; diff --git a/src/Avatar/Avatar.svelte b/src/Avatar/Avatar.svelte index a25cbfc..2d3c997 100644 --- a/src/Avatar/Avatar.svelte +++ b/src/Avatar/Avatar.svelte @@ -37,8 +37,9 @@ + class:avatar="{true}" + class:avatar-small="{small}" + class:avatar-child="{child}" + width="{width}" + height="{height}" +/> diff --git a/src/Button/ButtonMarketing.svelte b/src/Button/ButtonMarketing.svelte index fc6081c..cd37c19 100644 --- a/src/Button/ButtonMarketing.svelte +++ b/src/Button/ButtonMarketing.svelte @@ -1,6 +1,4 @@