🚧 Ongoing work on components and pattern info
This commit is contained in:
parent
a3ae718632
commit
ea41dc0106
168 changed files with 17518 additions and 14384 deletions
|
@ -31,6 +31,7 @@ components:
|
|||
"prop-types": "15.7.2"
|
||||
"@freesewing/patterns": "^{{version}}"
|
||||
"@freesewing/i18n": "^{{version}}"
|
||||
"@freesewing/utils": "^{{version}}"
|
||||
"react-intl": "^2.8.0"
|
||||
core:
|
||||
_:
|
||||
|
@ -80,9 +81,15 @@ patterns:
|
|||
"@freesewing/trayvon": "^{{version}}"
|
||||
"@freesewing/wahid": "^{{version}}"
|
||||
workbench:
|
||||
_:
|
||||
"@freesewing/components": "^{{version}}"
|
||||
"@freesewing/css-theme": "^{{version}}"
|
||||
"@freesewing/utils": "^{{version}}"
|
||||
"@freesewing/mui-theme": "^{{version}}"
|
||||
peer:
|
||||
"@freesewing/core": "^{{version}}"
|
||||
"@freesewing/i18n": "^{{version}}"
|
||||
"@freesewing/utils": "^{{version}}"
|
||||
"@freesewing/plugin-theme": "^{{version}}"
|
||||
"react-intl": "^2.8.0"
|
||||
"typeface-roboto-condensed": "^0.0.54"
|
||||
|
|
|
@ -2,12 +2,13 @@ noNamespace:
|
|||
- create-freesewing-pattern
|
||||
customRollup:
|
||||
- css-theme
|
||||
- create-freesewing-pattern
|
||||
- plugin-theme
|
||||
- workbench
|
||||
- components
|
||||
- core
|
||||
packageJson:
|
||||
create-freesewing-pattern:
|
||||
"reveal": true
|
||||
"bin":
|
||||
"create-freesewing-pattern": "index.js"
|
||||
css-theme:
|
||||
main: "dist/theme.css"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
_:
|
||||
clean: "rimraf ../../dist/{{name}}"
|
||||
nodebuild: "BABEL_ENV=production rollup -c -o ../../dist/{{name}}/index.js -f cjs"
|
||||
modulebuild: "BABEL_ENV=production rollup -c -o ../../dist/{{name}}/index.mjs -f es"
|
||||
clean: "rimraf dist"
|
||||
nodebuild: "BABEL_ENV=production rollup -c -o dist/index.js -f cjs"
|
||||
modulebuild: "BABEL_ENV=production rollup -c -o dist/index.mjs -f es"
|
||||
build: "npm run clean && npm run nodebuild && npm run modulebuild"
|
||||
test: "echo \"{{name}}: No tests configured. Perhaps you'd like to do this?\" && exit 0"
|
||||
pubtest: "npm publish --registry http://localhost:6662"
|
||||
|
@ -9,16 +9,15 @@ _types:
|
|||
patterns:
|
||||
plugins:
|
||||
create-freesewing-pattern:
|
||||
mkdist: "mkdir -p ../../dist/create-freesewing-pattern"
|
||||
copyfiles: "cp -R index.js package.json README.md lib template ../../dist/create-freesewing-pattern/"
|
||||
mkdist: "mkdir -p dist"
|
||||
copyfiles: "cp -R index.js package.json README.md lib template dist/"
|
||||
build: "npm run clean && npm run mkdist && npm run copyfiles"
|
||||
test: "ava -v && standard *.js lib/*.js"
|
||||
css-theme:
|
||||
build: "npx node-sass --output-style compressed src/theme.scss ../../dist/css-theme/theme.css"
|
||||
watch: "npx node-sass --watch --output-style compressed src/theme.scss ../../dist/css-theme/theme.css"
|
||||
build: "npx node-sass --output-style compressed src/theme.scss dist/theme.css"
|
||||
watch: "npx node-sass --watch --output-style compressed src/theme.scss dist/theme.css"
|
||||
components:
|
||||
test: "echo \"{{name}}: No tests configured. Perhaps you'd like to do this?\" && exit 0"
|
||||
build: "./scripts/build.sh"
|
||||
storybook: "start-storybook -p 6663"
|
||||
core:
|
||||
test: "BABEL_ENV=production nyc mocha tests/*.test.js"
|
||||
|
@ -27,4 +26,5 @@ core:
|
|||
workbench:
|
||||
test: "cross-env CI=1 react-scripts test --env=jsdom"
|
||||
test:watch: "react-scripts test --env=jsdom"
|
||||
start: "rollup -c -w"
|
||||
|
||||
|
|
|
@ -10,15 +10,15 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/{{name}}",
|
||||
"nodebuild": "rollup -c -o ../../dist/{{name}}/index.js -f cjs",
|
||||
"modulebuild": "rollup -c -o ../../dist/{{name}}/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild"
|
||||
},
|
||||
"peerDependencies": {},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": ["../../dist/packages/{{name}}/*", "README.md", "package.json"],
|
||||
"files": ["dist/*", "README.md", "package.json"],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
15
lerna.json
15
lerna.json
|
@ -1,23 +1,16 @@
|
|||
{
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"npmClient": "yarn",
|
||||
"command": {
|
||||
"publish": {
|
||||
"ignoreChanges": [
|
||||
"ignored-file",
|
||||
"*.md"
|
||||
],
|
||||
"ignoreChanges": ["ignored-file", "*.md"],
|
||||
"message": ":bookmark: Publish %s"
|
||||
},
|
||||
"bootstrap": {
|
||||
"ignore": "component-*",
|
||||
"npmClientArgs": [
|
||||
"--no-package-lock"
|
||||
]
|
||||
"npmClientArgs": ["--no-package-lock"]
|
||||
}
|
||||
},
|
||||
"packages": [
|
||||
"packages/*"
|
||||
],
|
||||
"packages": ["packages/*"],
|
||||
"useWorkspaces": true
|
||||
}
|
||||
|
|
|
@ -90,10 +90,10 @@
|
|||
"open-color": "1.6.3",
|
||||
"prettier": "1.14.0",
|
||||
"prop-types": "15.7.2",
|
||||
"react": "^16.4.1",
|
||||
"react": "^16.8.6",
|
||||
"react-dom": "^16.4.1",
|
||||
"react-intl": "2.8.0",
|
||||
"react-scripts": "^1.1.4",
|
||||
"react-scripts": "3.0.0",
|
||||
"rimraf": "2.6.3",
|
||||
"rmfr": "^2.0.0",
|
||||
"rollup": "1.10.1",
|
||||
|
|
|
@ -3,6 +3,24 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "aaron",
|
||||
version,
|
||||
design: "Joost De Cock",
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "pattern",
|
||||
difficulty: 3,
|
||||
tags: ["underwear", "top", "basics"],
|
||||
optionGroups: {
|
||||
fit: ["chestEase", "hipsEase", "stretchFactor"],
|
||||
style: [
|
||||
"armholeDrop",
|
||||
"backlineBend",
|
||||
"necklineBend",
|
||||
"necklineDrop",
|
||||
"shoulderStrapWidth",
|
||||
"shoulderStrapPlacement",
|
||||
"lengthBonus"
|
||||
]
|
||||
},
|
||||
measurements: [
|
||||
"bicepsCircumference",
|
||||
"centerBackNeckToWaist",
|
||||
|
@ -21,7 +39,7 @@ export default {
|
|||
front: "base",
|
||||
back: "front"
|
||||
},
|
||||
hide: [ "base" ],
|
||||
hide: ["base"],
|
||||
options: {
|
||||
// Constants
|
||||
collarFactor: 4.8,
|
||||
|
@ -35,15 +53,15 @@ export default {
|
|||
shoulderSlopeReduction: 0,
|
||||
|
||||
// Percentages
|
||||
armholeDrop: { pct: 10, min: 1, max: 75 },
|
||||
backlineBend: { pct: 50, min: 50, max: 100 },
|
||||
chestEase: { pct: 8, min: 0, max: 20 },
|
||||
hipsEase: { pct: 8, min: 0, max: 20 },
|
||||
lengthBonus: { pct: 10, min:-20, max: 60 },
|
||||
necklineBend: { pct: 100, min: 40, max: 100 },
|
||||
necklineDrop: { pct: 20, min: 10, max: 35 },
|
||||
stretchFactor: { pct: 5, min: 0, max: 15 },
|
||||
shoulderStrapWidth: { pct: 15, min: 10, max: 40 },
|
||||
shoulderStrapPlacement: { pct: 40, min: 20, max: 80 },
|
||||
armholeDrop: { pct: 10, min: 1, max: 75 },
|
||||
backlineBend: { pct: 50, min: 50, max: 100 },
|
||||
chestEase: { pct: 8, min: 0, max: 20 },
|
||||
hipsEase: { pct: 8, min: 0, max: 20 },
|
||||
lengthBonus: { pct: 10, min: -20, max: 60 },
|
||||
necklineBend: { pct: 100, min: 40, max: 100 },
|
||||
necklineDrop: { pct: 20, min: 10, max: 35 },
|
||||
stretchFactor: { pct: 5, min: 0, max: 15 },
|
||||
shoulderStrapWidth: { pct: 15, min: 10, max: 40 },
|
||||
shoulderStrapPlacement: { pct: 40, min: 20, max: 80 }
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/aaron",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a A-shirt or tank top",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,20 +23,20 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/aaron",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/aaron/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/aaron/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"aaron: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0",
|
||||
"@freesewing/brian": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4",
|
||||
"@freesewing/brian": "^0.32.4"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/aaron/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import Brian from "@freesewing/brian";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import config from "../config";
|
||||
|
@ -18,3 +18,4 @@ Aaron.prototype.draftFront = part => draftFront(part);
|
|||
Aaron.prototype.draftBack = part => draftBack(part);
|
||||
|
||||
export default Aaron;
|
||||
export { config };
|
||||
|
|
|
@ -1,2 +1,98 @@
|
|||
# benjamin
|
||||
Port of the Benjamin bowtie pattern to JavaScript
|
||||
> **Note**: This is part of version 2 of FreeSewing.
|
||||
> It is a work in progress, and not ready for prime-time yet
|
||||
>
|
||||
> For all questions, please come say hello in [our chatroom on Gitter](https://gitter.im/).
|
||||
|
||||
<p align="center"><a title="Go to freesewing.org" href="https://freesewing.org/"><img src="https://freesewing.org/img/logo/black.svg" align="center" width="150px" alt="Freesewing logo"/></a></p>
|
||||
<p align="center">FreeSewing is a free and open source library for made-to-measure sewing patterns</p>
|
||||
<p align='center'><a
|
||||
href="https://www.npmjs.com/package/@freesewing/benjamin"
|
||||
title="@freesewing/benjamin on NPM"
|
||||
><img src="https://img.shields.io/npm/v/freesewing.svg"
|
||||
alt="@freesewing/benjamin on NPM"/>
|
||||
</a><a
|
||||
href="https://opensource.org/licenses/MIT"
|
||||
title="License: MIT"
|
||||
><img src="https://img.shields.io/npm/l/freesewing.svg?label=License"
|
||||
alt="License: MIT"/>
|
||||
</a><a
|
||||
href="https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Abenjamin"
|
||||
title="Open issues tagged pkg:benjamin"
|
||||
><img src="https://img.shields.io/github/issues/freesewing/freesewing/pkg:benjamin.svg?label=Issues"
|
||||
alt="Open issues tagged pkg:benjamin"/>
|
||||
</a></p><p align='center'><a
|
||||
href="https://twitter.com/freesewing_org"
|
||||
title="Follow @freesewing_org on Twitter"
|
||||
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Follow%20us-blue.svg?logo=twitter&logoColor=white&logoWidth=15"
|
||||
alt="Follow @freesewing_org on Twitter"/>
|
||||
</a><a
|
||||
href="https://gitter.im/freesewing/freesewing"
|
||||
title="Chat with us on Gitter"
|
||||
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Chat%20with%20us-CA0547.svg?logo=gitter&logoColor=white&logoWidth=15"
|
||||
alt="Chat with us on Gitter"/>
|
||||
</a><a
|
||||
href="https://freesewing.org/patrons/join"
|
||||
title="Become a FreeSewing Patron"
|
||||
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Support%20us-blueviolet.svg?logo=cash-app&logoColor=white&logoWidth=15"
|
||||
alt="Become a FreeSewing Patron"/>
|
||||
</a><a
|
||||
href="https://instagram.com/freesewing_org"
|
||||
title="Follow @freesewing_org on Twitter"
|
||||
><img src="https://img.shields.io/badge/%F3%A0%80%A0-Follow%20us-E4405F.svg?logo=instagram&logoColor=white&logoWidth=15"
|
||||
alt="Follow @freesewing_org on Twitter"/>
|
||||
</a></p>
|
||||
|
||||
# @freesewing/benjamin
|
||||
|
||||
A FreeSewing pattern for a bow tie
|
||||
|
||||
|
||||
|
||||
## About FreeSewing 🤔
|
||||
|
||||
Where the world of makers and developers collide, that's where you'll find FreeSewing.
|
||||
|
||||
Our [core library](https://freesewing.dev/en/freesewing) is a *batteries-included* toolbox
|
||||
for parametric design of sewing patterns. It's a modular system (check our list
|
||||
of [plugins](https://freesewing.dev/en/plugins) and getting started is as simple as:
|
||||
|
||||
```bash
|
||||
npm init freesewing-pattern
|
||||
```
|
||||
|
||||
The [getting started] section on [freesewing.dev](https://freesewing.dev/) is a good
|
||||
entrypoint to our documentation, but you'll find a lot more there, including
|
||||
our [API documentation](https://freesewing.dev/en/freesewing/api),
|
||||
as well as [examples](https://freesewing.dev/en/freesewing/examples),
|
||||
and [best practices](https://freesewing.dev/en/do).
|
||||
|
||||
If you're a maker, checkout [freesewing.org](https://freesewing/) where you can generate
|
||||
our sewing patterns adapted to your measurements.
|
||||
|
||||
## Support FreeSewing: Become a patron 🥰
|
||||
|
||||
FreeSewing is an open source project run by a community,
|
||||
and financially supported by our patrons.
|
||||
|
||||
If you feel what we do is worthwhile, you too
|
||||
should [become a patron](https://freesewing.org/patrons/join).
|
||||
|
||||
## Links 👩💻
|
||||
|
||||
- 💻 Makers website: [freesewing.org](https://freesewing.org)
|
||||
- 💻 Developers website: [freesewing.dev](https://freesewing.org)
|
||||
- 💬 Chat: [gitter.im/freesewing](https://gitter.im/freesewing/freesewing)
|
||||
- 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org)
|
||||
- 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org)
|
||||
|
||||
## License: MIT 🤓
|
||||
|
||||
© [Joost De Cock](https://github.com/joostdecock).
|
||||
See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details.
|
||||
|
||||
## Where to get help 🤯
|
||||
|
||||
Our [chatroom on Gitter](https://gitter.im) is the best place to ask questions,
|
||||
share your feedback, or just hang out.
|
||||
|
||||
If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new).
|
||||
|
|
|
@ -1,78 +1,51 @@
|
|||
{
|
||||
"version": "0.2.0",
|
||||
"name": "@freesewing/benjamin",
|
||||
"description": "Freesewing pattern for benjamin",
|
||||
"author": "Wouter van Wageningen <wouter.vdub@yahoo.com> (https://github.com/woutervdub)",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a bow tie",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
"repository": "github:freesewing/freesewing",
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/freesewing/benjamin#readme",
|
||||
"repository": "github:freesewing/benjamin",
|
||||
"bugs": {
|
||||
"url": "https://github.com/freesewing/benjamin/issues"
|
||||
"url": "https://github.com/freesewing/freesewing/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"freesewing",
|
||||
"design",
|
||||
"diy",
|
||||
"fashion",
|
||||
"made to measure",
|
||||
"parametric design",
|
||||
"pattern",
|
||||
"sewing"
|
||||
"sewing",
|
||||
"sewing pattern"
|
||||
],
|
||||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"unpkg": "dist/browser.js",
|
||||
"scripts": {
|
||||
"precommit": "npm run pretty && lint-staged",
|
||||
"patch": "npm version patch -m ':bookmark: v%s' && npm run build",
|
||||
"minor": "npm version minor -m ':bookmark: v%s' && npm run build",
|
||||
"major": "npm version major -m ':bookmark: v%s' && npm run build",
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"clean": "rimraf dist",
|
||||
"pretty": "npx prettier --write 'src/*.js'",
|
||||
"lint": "eslint --fix 'src/*.js'",
|
||||
"watch": "nodemon -w src -w config --exec 'rollup -c rollup.config.js -o dist/browser.js -f iife -m true -n freesewing_patterns_florent --footer \"freesewing.patterns.benjamin=freesewing_patterns_template;\"'",
|
||||
"browserbuild": "rollup -c rollup.config.js -o dist/browser.js -f iife -m true -n freesewing_patterns_benjamin --footer \"freesewing.patterns.template = freesewing_patterns_benjamin;\"",
|
||||
"nodebuild": "rollup -c rollup.config.js -o dist/index.js -f cjs -m true",
|
||||
"modulebuild": "rollup -c rollup.config.js -o dist/index.mjs -f es -m true",
|
||||
"build": "npm run clean && npm run browserbuild && npm run nodebuild && npm run modulebuild"
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"benjamin: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{js,json}": [
|
||||
"prettier --write",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@freesewing/plugin-bundle": "0.8.0",
|
||||
"freesewing": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.4.0",
|
||||
"@freesewing/antman": "latest",
|
||||
"@freesewing/models": "latest",
|
||||
"@freesewing/plugin-debug": "latest",
|
||||
"@freesewing/plugin-designer": "latest",
|
||||
"@freesewing/plugin-i18n": "latest",
|
||||
"@freesewing/plugin-theme": "latest",
|
||||
"@freesewing/plugin-validate": "latest",
|
||||
"eslint": "5.15.3",
|
||||
"eslint-config-prettier": "4.1.0",
|
||||
"eslint-plugin-prettier": "latest",
|
||||
"husky": "latest",
|
||||
"lint-staged": "8.1.5",
|
||||
"prettier": "latest",
|
||||
"rimraf": "latest",
|
||||
"rollup": "1.7.2",
|
||||
"rollup-plugin-babel": "latest",
|
||||
"rollup-plugin-babel-minify": "8.0.0",
|
||||
"rollup-plugin-json": "4.0.0",
|
||||
"rollup-plugin-node-resolve": "latest"
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package-lock.json",
|
||||
"package.json"
|
||||
]
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0",
|
||||
"npm": ">=5"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,27 +1,48 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
//import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
//peerDepsExternal(),
|
||||
resolve({ browser: true }),
|
||||
json()
|
||||
//babel({
|
||||
// exclude: "node_modules/**",
|
||||
// plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
//})
|
||||
//minify({
|
||||
// comments: false,
|
||||
// sourceMap: true,
|
||||
// banner: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
|
||||
//})
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
}),
|
||||
minify({
|
||||
comments: false,
|
||||
sourceMap: true,
|
||||
banner: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
|
||||
})
|
||||
]
|
||||
};
|
||||
|
|
|
@ -3,6 +3,33 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "bent",
|
||||
version: version,
|
||||
design: "Joost De Cock",
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "block",
|
||||
difficulty: 3,
|
||||
tags: ["top"],
|
||||
optionGroups: {
|
||||
fit: [
|
||||
"chestEase",
|
||||
"collarEase",
|
||||
"bicepsEase",
|
||||
"cuffEase",
|
||||
"shoulderEase",
|
||||
"lengthBonus",
|
||||
"sleeveLengthBonus",
|
||||
"sleeveBend"
|
||||
],
|
||||
advanced: [
|
||||
"acrossBackFactor",
|
||||
"armholeDepthFactor",
|
||||
"backNeckCutout",
|
||||
"frontArmholeDeeper",
|
||||
"shoulderSlopeReduction",
|
||||
"sleevecapHeight",
|
||||
"sleevecapEase"
|
||||
]
|
||||
},
|
||||
measurements: [
|
||||
"bicepsCircumference",
|
||||
"centerBackNeckToWaist",
|
||||
|
@ -19,13 +46,13 @@ export default {
|
|||
back: "base",
|
||||
front: "back",
|
||||
topSleeve: "sleeve",
|
||||
underSleeve: "sleeve",
|
||||
underSleeve: "sleeve"
|
||||
},
|
||||
inject: {
|
||||
back: "base",
|
||||
front: "back",
|
||||
topSleeve: "sleeve",
|
||||
underSleeve: "sleeve",
|
||||
underSleeve: "sleeve"
|
||||
},
|
||||
hide: ["base", "sleeve"],
|
||||
options: {
|
||||
|
@ -35,21 +62,21 @@ export default {
|
|||
collarFactor: 4.8,
|
||||
|
||||
// Percentages
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
armholeDepthFactor: { pct: 65, min: 50, max: 70 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
bicepsEase: { pct: 20, min: 0, max: 50 },
|
||||
chestEase: { pct: 8, min: -4, max: 20 },
|
||||
collarEase: { pct: 3.5, min: 0, max: 10 },
|
||||
cuffEase: { pct: 20, min: 0, max: 200 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
lengthBonus: { pct: 0, min: -4, max: 60 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
shoulderSlopeReduction: { pct: 0, min: 0, max: 8 },
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
armholeDepthFactor: { pct: 65, min: 50, max: 70 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
bicepsEase: { pct: 20, min: 0, max: 50 },
|
||||
chestEase: { pct: 8, min: -4, max: 20 },
|
||||
collarEase: { pct: 3.5, min: 0, max: 10 },
|
||||
cuffEase: { pct: 20, min: 0, max: 200 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
lengthBonus: { pct: 0, min: -4, max: 60 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
shoulderSlopeReduction: { pct: 0, min: 0, max: 8 },
|
||||
|
||||
sleeveBend: { deg: 10, min: 0, max: 20 },
|
||||
sleevecapHeight: {pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 0, min:-40, max: 10 },
|
||||
sleevecapHeight: { pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 0, min: -40, max: 10 }
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/bent",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a menswear body block with a two-part sleeve",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,20 +23,20 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/bent",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/bent/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/bent/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"bent: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0",
|
||||
"@freesewing/brian": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4",
|
||||
"@freesewing/brian": "^0.32.4"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/bent/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import Brian from "@freesewing/brian";
|
||||
import config from "../config";
|
||||
|
@ -27,3 +27,4 @@ Bent.prototype.draftTopSleeve = draftTopSleeve;
|
|||
Bent.prototype.draftUnderSleeve = draftUnderSleeve;
|
||||
|
||||
export default Bent;
|
||||
export { config };
|
||||
|
|
|
@ -3,6 +3,54 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "brian",
|
||||
version: version,
|
||||
design: "Joost De Cock",
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "block",
|
||||
difficulty: 3,
|
||||
tags: ["top"],
|
||||
optionGroups: {
|
||||
fit: [
|
||||
"chestEase",
|
||||
"collarEase",
|
||||
"bicepsEase",
|
||||
"cuffEase",
|
||||
"shoulderEase",
|
||||
"lengthBonus",
|
||||
"sleeveLengthBonus"
|
||||
],
|
||||
advanced: [
|
||||
"acrossBackFactor",
|
||||
"armholeDepthFactor",
|
||||
"backNeckCutout",
|
||||
"frontArmholeDeeper",
|
||||
"shoulderSlopeReduction",
|
||||
"sleeveWidthGuarantee",
|
||||
{
|
||||
sleevecap: [
|
||||
"sleevecapEase",
|
||||
"sleevecapTopFactorX",
|
||||
"sleevecapTopFactorY",
|
||||
"sleevecapBackFactorX",
|
||||
"sleevecapBackFactorY",
|
||||
"sleevecapFrontFactorX",
|
||||
"sleevecapFrontFactorY",
|
||||
"sleevecapQ1Offset",
|
||||
"sleevecapQ2Offset",
|
||||
"sleevecapQ3Offset",
|
||||
"sleevecapQ4Offset",
|
||||
"sleevecapQ1Spread1",
|
||||
"sleevecapQ1Spread2",
|
||||
"sleevecapQ2Spread1",
|
||||
"sleevecapQ2Spread2",
|
||||
"sleevecapQ3Spread1",
|
||||
"sleevecapQ3Spread2",
|
||||
"sleevecapQ4Spread1",
|
||||
"sleevecapQ4Spread2"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
measurements: [
|
||||
"bicepsCircumference",
|
||||
"centerBackNeckToWaist",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/brian",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a basic body block for menswear",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/brian",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/brian/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/brian/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"brian: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/brian/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import config from "../config";
|
||||
// Parts
|
||||
|
@ -19,3 +19,4 @@ Brian.prototype.draftSleevecap = draftSleevecap;
|
|||
Brian.prototype.draftSleeve = draftSleeve;
|
||||
|
||||
export default Brian;
|
||||
export { config };
|
||||
|
|
|
@ -3,6 +3,16 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "bruce",
|
||||
version,
|
||||
design: "Joost De Cock",
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "pattern",
|
||||
difficulty: 3,
|
||||
tags: ["underwear", "bottom", "basics"],
|
||||
optionGroups: {
|
||||
fit: ["bulge", "stretch", "legStretch", "backRise"],
|
||||
style: ["rise", "legBonus"]
|
||||
},
|
||||
measurements: [
|
||||
"hipsCircumference",
|
||||
"upperLegCircumference",
|
||||
|
@ -11,7 +21,7 @@ export default {
|
|||
dependencies: {
|
||||
side: "back",
|
||||
front: "inset",
|
||||
inset: "back",
|
||||
inset: "back"
|
||||
},
|
||||
options: {
|
||||
// Constants
|
||||
|
@ -38,10 +48,10 @@ export default {
|
|||
bulge: { deg: 20, min: 0, max: 40 },
|
||||
|
||||
// Percentages
|
||||
legBonus: { pct: 0, min: -10, max: 20},
|
||||
rise: { pct: 10, min: 0, max: 25},
|
||||
stretch: { pct: 15, min: 5, max: 25},
|
||||
legStretch: { pct: 40, min: 25, max: 45},
|
||||
backRise: { pct: 5, min: 0, max: 10},
|
||||
legBonus: { pct: 0, min: -10, max: 20 },
|
||||
rise: { pct: 10, min: 0, max: 25 },
|
||||
stretch: { pct: 15, min: 5, max: 25 },
|
||||
legStretch: { pct: 40, min: 25, max: 45 },
|
||||
backRise: { pct: 5, min: 0, max: 10 }
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/bruce",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for boxer briefs",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/bruce",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/bruce/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/bruce/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"bruce: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/bruce/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import config from "../config";
|
||||
// Parts
|
||||
|
@ -17,3 +17,4 @@ Bruce.prototype.draftInset = part => draftInset(part);
|
|||
Bruce.prototype.draftFront = part => draftFront(part);
|
||||
|
||||
export default Bruce;
|
||||
export { config };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/carlita",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,23 +23,23 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/carlita",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/carlita/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/carlita/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"carlita: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0",
|
||||
"@freesewing/bent": "^0.33.0",
|
||||
"@freesewing/carlton": "^0.33.0",
|
||||
"@freesewing/plugin-bust": "^0.33.0",
|
||||
"@freesewing/plugin-buttons": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4",
|
||||
"@freesewing/bent": "^0.32.4",
|
||||
"@freesewing/carlton": "^0.32.4",
|
||||
"@freesewing/plugin-bust": "^0.32.4",
|
||||
"@freesewing/plugin-buttons": "^0.32.4"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/carlita/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -3,6 +3,53 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "carlton",
|
||||
version: version,
|
||||
design: ["Anneke Caramin", "Joost De Cock"],
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "pattern",
|
||||
difficulty: 5,
|
||||
tags: ["top", "coat", "cosplay"],
|
||||
optionGroups: {
|
||||
fit: [
|
||||
"acrossBackFactor",
|
||||
"armholeDepthFactor",
|
||||
"bicepsEase",
|
||||
"chestEase",
|
||||
"cuffEase",
|
||||
"shoulderEase",
|
||||
"sleeveBend",
|
||||
"sleeveLengthBonus",
|
||||
"waistEase",
|
||||
"seatEase"
|
||||
],
|
||||
advanced: [
|
||||
"backNeckCutout",
|
||||
"frontArmholeDeeper",
|
||||
"frontOverlap",
|
||||
"lapelReduction",
|
||||
"shoulderSlopeReduction",
|
||||
"sleevecapHeight",
|
||||
"sleevecapEase"
|
||||
],
|
||||
pockets: [
|
||||
"pocketPlacementHorizontal",
|
||||
"pocketPlacementVertical",
|
||||
"pocketWidth",
|
||||
"pocketHeight",
|
||||
"pocketRadius",
|
||||
"pocketFlapRadius",
|
||||
"chestPocketHeight",
|
||||
"chestPocketWidth",
|
||||
"chestPocketPlacement",
|
||||
"chestPocketAngle",
|
||||
"innerPocketPlacement",
|
||||
"innerPocketWidth",
|
||||
"innerPocketDepth",
|
||||
"innerPocketWeltHeight"
|
||||
],
|
||||
style: ["beltWidth", "buttonSpacingHorizontal", "cuffLength", "length"],
|
||||
collar: ["collarHeight", "collarSpread", "collarFlare"]
|
||||
},
|
||||
measurements: [
|
||||
"bicepsCircumference",
|
||||
"centerBackNeckToWaist",
|
||||
|
@ -41,7 +88,7 @@ export default {
|
|||
chestPocketBag: "front",
|
||||
innerPocketWelt: "front",
|
||||
innerPocketBag: "front",
|
||||
innerPocketTab: "front",
|
||||
innerPocketTab: "front"
|
||||
},
|
||||
inject: {
|
||||
bentBack: "bentBase",
|
||||
|
@ -53,7 +100,7 @@ export default {
|
|||
topSleeve: "bentTopSleeve",
|
||||
underSleeve: "bentUnderSleeve",
|
||||
collar: "collarStand",
|
||||
pocketLining: "pocket",
|
||||
pocketLining: "pocket"
|
||||
},
|
||||
hide: [
|
||||
"bentBase",
|
||||
|
@ -61,7 +108,7 @@ export default {
|
|||
"bentFront",
|
||||
"bentSleeve",
|
||||
"bentTopSleeve",
|
||||
"bentUnderSleeve",
|
||||
"bentUnderSleeve"
|
||||
],
|
||||
options: {
|
||||
// Constants
|
||||
|
@ -74,47 +121,47 @@ export default {
|
|||
collarEase: 0.145,
|
||||
|
||||
// Options inherited from Bent
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
armholeDepthFactor: { pct: 65, min: 50, max: 70 },
|
||||
bicepsEase: { pct: 20, min: 0, max: 50 },
|
||||
chestEase: { pct: 10, min: 5, max: 20 },
|
||||
cuffEase: { pct: 60, min: 30, max: 100 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
armholeDepthFactor: { pct: 65, min: 50, max: 70 },
|
||||
bicepsEase: { pct: 20, min: 0, max: 50 },
|
||||
chestEase: { pct: 10, min: 5, max: 20 },
|
||||
cuffEase: { pct: 60, min: 30, max: 100 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
sleeveBend: { deg: 10, min: 0, max: 20 },
|
||||
sleevecapHeight: {pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 7, min: 0, max: 20 },
|
||||
sleevecapHeight: { pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 7, min: 0, max: 20 },
|
||||
shoulderSlopeReduction: { pct: 2, min: 1, max: 5 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
|
||||
// Carlton options
|
||||
waistEase: { pct: 14, min: 8, max: 25 },
|
||||
seatEase: { pct: 14, min: 8, max: 25 },
|
||||
length: { pct: 69, min: 35, max: 100 },
|
||||
buttonSpacingHorizontal: {pct: 43.5, min: 15, max: 60 },
|
||||
frontOverlap: { pct: 1.5, min: 1, max: 2},
|
||||
buttonSpacingHorizontal: { pct: 43.5, min: 15, max: 60 },
|
||||
frontOverlap: { pct: 1.5, min: 1, max: 2 },
|
||||
lapelReduction: { pct: 5, min: 0, max: 10 },
|
||||
pocketPlacementHorizontal: {pct: 11, min: 5, max: 60 },
|
||||
pocketPlacementVertical: {pct: 6, min: 5, max: 60 },
|
||||
pocketWidth: {pct: 95, min: 70, max: 120},
|
||||
pocketHeight: {pct: 15, min: 0, max: 40},
|
||||
pocketRadius: {pct: 20, min: 0, max: 50},
|
||||
pocketFlapRadius: {pct: 15, min: 0, max: 50},
|
||||
chestPocketHeight: {pct: 60, min: 40, max: 80},
|
||||
chestPocketWidth: {pct: 25, min: 15, max: 50},
|
||||
chestPocketPlacement: {pct: 55, min: 30, max: 65},
|
||||
chestPocketAngle: {deg: 4, min: 0, max: 6},
|
||||
pocketPlacementHorizontal: { pct: 11, min: 5, max: 60 },
|
||||
pocketPlacementVertical: { pct: 6, min: 5, max: 60 },
|
||||
pocketWidth: { pct: 95, min: 70, max: 120 },
|
||||
pocketHeight: { pct: 15, min: 0, max: 40 },
|
||||
pocketRadius: { pct: 20, min: 0, max: 50 },
|
||||
pocketFlapRadius: { pct: 15, min: 0, max: 50 },
|
||||
chestPocketHeight: { pct: 60, min: 40, max: 80 },
|
||||
chestPocketWidth: { pct: 25, min: 15, max: 50 },
|
||||
chestPocketPlacement: { pct: 55, min: 30, max: 65 },
|
||||
chestPocketAngle: { deg: 4, min: 0, max: 6 },
|
||||
|
||||
innerPocketPlacement: {pct: 53, min: 42, max: 62 },
|
||||
innerPocketPlacement: { pct: 53, min: 42, max: 62 },
|
||||
innerPocketWidth: { pct: 50, min: 45, max: 65 },
|
||||
innerPocketDepth: { pct: 110, min: 75, max: 140 },
|
||||
innerPocketWeltHeight: { pct: 3.5, min: 2.5, max: 5 },
|
||||
|
||||
beltWidth: { pct: 15, min: 10, max: 20 },
|
||||
cuffLength: { pct: 15, min: 10, max: 20 },
|
||||
collarHeight: {pct: 9.6, min: 8, max: 11 },
|
||||
collarSpread: {deg: 4, min: 2, max: 6 },
|
||||
collarFlare: {pct: 20, min: 0, max: 40 },
|
||||
collarHeight: { pct: 9.6, min: 8, max: 11 },
|
||||
collarSpread: { deg: 4, min: 2, max: 6 },
|
||||
collarFlare: { pct: 20, min: 0, max: 40 }
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/carlton",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for Sherlock Holmes cosplay; Or just a nice long coat",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/carlton",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/carlton/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/carlton/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"carlton: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0",
|
||||
"@freesewing/bent": "^0.33.0",
|
||||
"@freesewing/plugin-buttons": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4",
|
||||
"@freesewing/bent": "^0.32.4",
|
||||
"@freesewing/plugin-buttons": "^0.32.4"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/carlton/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import buttons from "@freesewing/plugin-buttons";
|
||||
import Bent from "@freesewing/bent";
|
||||
|
@ -23,10 +23,7 @@ import draftInnerPocketBag from "./innerpocketbag";
|
|||
import draftInnerPocketTab from "./innerpockettab";
|
||||
|
||||
// Create new design
|
||||
const Carlton = new freesewing.Design(config, [
|
||||
plugins,
|
||||
buttons
|
||||
]);
|
||||
const Carlton = new freesewing.Design(config, [plugins, buttons]);
|
||||
|
||||
// Attach draft methods from Bent to prototype
|
||||
Carlton.prototype.draftBentBase = function(part) {
|
||||
|
@ -34,7 +31,7 @@ Carlton.prototype.draftBentBase = function(part) {
|
|||
};
|
||||
Carlton.prototype.draftBentFront = function(part) {
|
||||
return new Bent(this.settings).draftFront(part);
|
||||
}
|
||||
};
|
||||
Carlton.prototype.draftBentBack = function(part) {
|
||||
return new Bent(this.settings).draftBack(part);
|
||||
};
|
||||
|
@ -68,3 +65,4 @@ Carlton.prototype.draftInnerPocketBag = draftInnerPocketBag;
|
|||
Carlton.prototype.draftInnerPocketTab = draftInnerPocketTab;
|
||||
|
||||
export default Carlton;
|
||||
export { config };
|
||||
|
|
|
@ -3,6 +3,23 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "cathrin",
|
||||
version,
|
||||
design: ["Cathrin Åhlén", "Joost De Cock"],
|
||||
code: "Joost De Cock",
|
||||
department: "womenswear",
|
||||
type: "pattern",
|
||||
difficulty: 4,
|
||||
tags: ["underwear", "top"],
|
||||
optionGroups: {
|
||||
fit: ["waistReduction", "panels"],
|
||||
style: [
|
||||
"backOpening",
|
||||
"backRise",
|
||||
"backDrop",
|
||||
"frontRise",
|
||||
"frontDrop",
|
||||
"hipRise"
|
||||
]
|
||||
},
|
||||
measurements: [
|
||||
"underbust",
|
||||
"naturalWaist",
|
||||
|
@ -28,21 +45,21 @@ export default {
|
|||
panel6: "panels",
|
||||
panels: "base"
|
||||
},
|
||||
hide: [ "panels", "base" ],
|
||||
hide: ["panels", "base"],
|
||||
options: {
|
||||
// Lists
|
||||
panels: {
|
||||
list: [11, 13],
|
||||
dflt: 13
|
||||
list: [11, 13],
|
||||
dflt: 13
|
||||
},
|
||||
|
||||
// Percentages
|
||||
waistReduction: { pct: 10, min: 2, max: 20 },
|
||||
backOpening: { pct: 4, min: 3, max: 10 },
|
||||
backRise: { pct: 15, min: 1, max: 25 },
|
||||
backDrop: { pct: 2, min: 0, max: 5 },
|
||||
frontRise: { pct: 4, min: 0, max: 8 },
|
||||
frontDrop: { pct: 5, min: 0, max: 10 },
|
||||
hipRise: { pct: 5, min: 0, max: 15 },
|
||||
waistReduction: { pct: 10, min: 2, max: 20 },
|
||||
backOpening: { pct: 4, min: 3, max: 10 },
|
||||
backRise: { pct: 15, min: 1, max: 25 },
|
||||
backDrop: { pct: 2, min: 0, max: 5 },
|
||||
frontRise: { pct: 4, min: 0, max: 8 },
|
||||
frontDrop: { pct: 5, min: 0, max: 10 },
|
||||
hipRise: { pct: 5, min: 0, max: 15 }
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/cathrin",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a underbust corset / waist trainer",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/cathrin",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/cathrin/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/cathrin/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"cathrin: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/cathrin/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import config from "../config";
|
||||
//Parts
|
||||
|
@ -25,3 +25,4 @@ Cathrin.prototype.draftPanel5 = draftPanel5;
|
|||
Cathrin.prototype.draftPanel6 = draftPanel6;
|
||||
|
||||
export default Cathrin;
|
||||
export { config };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React from "react";
|
||||
import { configure } from "@storybook/react";
|
||||
import "../../../dist/css-theme/theme.css";
|
||||
import "../../css-theme/dist/theme.css";
|
||||
import { addParameters, addDecorator } from "@storybook/react";
|
||||
import { IntlProvider } from "react-intl";
|
||||
import { strings } from "@freesewing/i18n";
|
||||
|
|
10646
packages/components/package-lock.json
generated
10646
packages/components/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/components",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A collection of React components for FreeSewing web UIs",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -16,23 +16,24 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/components",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/components/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/components/index.mjs -f es",
|
||||
"build": "./scripts/build.sh",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"components: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662",
|
||||
"storybook": "start-storybook -p 6663"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.4.1",
|
||||
"@freesewing/i18n": "^0.32.4",
|
||||
"@freesewing/patterns": "^0.32.4",
|
||||
"@freesewing/utils": "^0.32.4",
|
||||
"prop-types": "15.7.2",
|
||||
"@freesewing/patterns": "^0.33.0",
|
||||
"@freesewing/i18n": "^0.33.0",
|
||||
"react": "^16.4.1",
|
||||
"react-intl": "^2.8.0"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/components/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
@ -42,5 +43,8 @@
|
|||
"engines": {
|
||||
"node": ">=8.0.0",
|
||||
"npm": ">=5"
|
||||
},
|
||||
"dependencies": {
|
||||
"@freesewing/patterns": "0.18.6"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,13 +7,13 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|||
CUR=`pwd`
|
||||
|
||||
cd $DIR/../src/
|
||||
rm -rf ../../../dist/components
|
||||
rm -rf dist
|
||||
for d in * ; do {
|
||||
cd ..
|
||||
mkdir -p ../../dist/components/$d
|
||||
mkdir -p dist/$d
|
||||
echo "Building $d"
|
||||
rollup -c ./rollup.config.js ./src/$d/index.js -m -o ../../dist/components/$d/index.js -f cjs
|
||||
rollup --silent -c ./rollup.config.js ./src/$d/index.js -m -o ../../dist/components/$d/index.mjs -f es
|
||||
rollup -c ./rollup.config.js ./src/$d/index.js -m -o dist/$d/index.js -f cjs
|
||||
rollup --silent -c ./rollup.config.js ./src/$d/index.js -m -o dist/$d/index.mjs -f es
|
||||
cd src
|
||||
}
|
||||
done
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
import React, { useState } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import Slider from "@material-ui/lab/Slider";
|
||||
import { withStyles } from "@material-ui/core/styles";
|
||||
import { withStyles } from "@material-ui/styles";
|
||||
|
||||
const PaddedSlider = withStyles({
|
||||
container: {
|
||||
padding: "25px 0",
|
||||
//overflowX: "hidden" // See: https://github.com/mui-org/material-ui/issues/14234
|
||||
padding: "25px 0"
|
||||
},
|
||||
track: { height: "4px" },
|
||||
thumb: { width: "16px", height: "16px" }
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, { useState } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import FormFieldSlider from "../../.form/FormFieldSlider";
|
||||
import { formatMm, roundMm, defaultSa, sliderStep } from "../../.utils";
|
||||
import { formatMm, roundMm, defaultSa, sliderStep } from "@freesewing/utils";
|
||||
import OptionPreamble from "../OptionPreamble";
|
||||
|
||||
const DraftSettingMargin = props => {
|
||||
|
|
|
@ -2,7 +2,7 @@ import React, { useState } from "react";
|
|||
import FormFieldChecks from "../../.form/FormFieldChecks";
|
||||
import FormFieldList from "../../.form/FormFieldList";
|
||||
import FormFieldSlider from "../../.form/FormFieldSlider";
|
||||
import { formatMm, roundMm, defaultSa, sliderStep } from "../../.utils";
|
||||
import { formatMm, roundMm, defaultSa, sliderStep } from "@freesewing/utils";
|
||||
import OptionPreamble from "../OptionPreamble";
|
||||
|
||||
const DraftSettingOnly = props => {
|
||||
|
|
|
@ -2,7 +2,7 @@ import React, { useState } from "react";
|
|||
import PropTypes from "prop-types";
|
||||
import FormFieldList from "../../.form/FormFieldList";
|
||||
import FormFieldSlider from "../../.form/FormFieldSlider";
|
||||
import { formatMm, roundMm, defaultSa, sliderStep } from "../../.utils";
|
||||
import { formatMm, roundMm, defaultSa, sliderStep } from "@freesewing/utils";
|
||||
import OptionPreamble from "../OptionPreamble";
|
||||
|
||||
const DraftSettingSa = props => {
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
import React, { useState } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import { gistDefaults } from "../../.utils";
|
||||
import { patternInfo, patternList } from "@freesewing/patterns";
|
||||
import { FormattedMessage } from "react-intl";
|
||||
import DraftSettingSa from "../DraftSettingSa";
|
||||
import DraftSettingMargin from "../DraftSettingMargin";
|
||||
|
@ -23,9 +21,6 @@ const DraftSettings = props => {
|
|||
setExpanded(shown);
|
||||
};
|
||||
|
||||
let pattern = patternInfo[props.pattern];
|
||||
let dflts = gistDefaults(pattern.config, props.gist);
|
||||
|
||||
let noyes = [
|
||||
<FormattedMessage id="app.no" />,
|
||||
<FormattedMessage id="app.yes" />
|
||||
|
@ -67,7 +62,7 @@ const DraftSettings = props => {
|
|||
childProps.dflt = "dflt";
|
||||
childProps.customDflt = [];
|
||||
childProps.parts = {};
|
||||
for (let part of pattern.parts)
|
||||
for (let part of props.info.parts)
|
||||
childProps.parts[part] = <FormattedMessage id={"parts." + part} />;
|
||||
}
|
||||
|
||||
|
@ -123,8 +118,8 @@ const DraftSettings = props => {
|
|||
};
|
||||
|
||||
DraftSettings.propTypes = {
|
||||
pattern: PropTypes.oneOf(patternList),
|
||||
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
|
||||
info: PropTypes.object.isRequired,
|
||||
gist: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
DraftSettings.defaultProps = {};
|
||||
|
|
|
@ -6,13 +6,12 @@ import Mm from "../PatternOptionMillimeter";
|
|||
import Bool from "../PatternOptionBool";
|
||||
import List from "../PatternOptionList";
|
||||
import Count from "../PatternOptionCount";
|
||||
import { optionType } from "../../.utils";
|
||||
import { optionType } from "@freesewing/utils";
|
||||
import { FormattedMessage } from "react-intl";
|
||||
import { injectIntl } from "react-intl";
|
||||
|
||||
const OptionGroup = props => {
|
||||
|
||||
const renderOption = (name, sub=false) => {
|
||||
const renderOption = (name, sub = false) => {
|
||||
let option = props.pattern.config.options[name];
|
||||
let type = optionType(option);
|
||||
let stringKey = `options.${props.pattern.config.name}.${name}.`;
|
||||
|
|
|
@ -18,7 +18,7 @@ const OptionPreamble = props => {
|
|||
margin: "0 0.5rem"
|
||||
},
|
||||
right: {
|
||||
margin: 0,
|
||||
margin: "0 5px 0 0 ",
|
||||
textAlign: "right"
|
||||
}
|
||||
};
|
||||
|
@ -36,16 +36,22 @@ const OptionPreamble = props => {
|
|||
<React.Fragment>
|
||||
<h4 onClick={props.toggleExpanded} style={styles.container}>
|
||||
<div style={styles.left}>
|
||||
<DownIcon className={"icon-col-exp "+ (props.expanded ? "expanded" : "collapsed")}/>
|
||||
<DownIcon
|
||||
className={
|
||||
"icon-col-exp " + (props.expanded ? "expanded" : "collapsed")
|
||||
}
|
||||
/>
|
||||
{props.title}
|
||||
</div>
|
||||
</div>
|
||||
<div style={styles.right}>
|
||||
<span className={props.value === props.dflt ? "dflt" : "custom"}>
|
||||
{props.displayValue}
|
||||
</span>
|
||||
</div>
|
||||
</h4>
|
||||
<div className={props.expanded ? "col-exp expanded" : "col-exp collapsed"}>
|
||||
<div
|
||||
className={props.expanded ? "col-exp expanded" : "col-exp collapsed"}
|
||||
>
|
||||
<div style={styles.container}>
|
||||
<div style={styles.left}>
|
||||
<p>{props.desc}</p>
|
||||
|
|
|
@ -6,7 +6,7 @@ import {
|
|||
roundMmUp,
|
||||
roundMmDown,
|
||||
formatMm
|
||||
} from "../../.utils";
|
||||
} from "@freesewing/utils";
|
||||
import FormFieldSlider from "../../.form/FormFieldSlider";
|
||||
import OptionPreamble from "../OptionPreamble";
|
||||
|
||||
|
@ -60,7 +60,7 @@ const PatternOptionMillimeter = props => {
|
|||
label={"po-mm-" + props.name}
|
||||
updateValue={update}
|
||||
/>
|
||||
)
|
||||
);
|
||||
|
||||
return (
|
||||
<li>
|
||||
|
|
|
@ -5,8 +5,7 @@ import Deg from "../PatternOptionDegree";
|
|||
import Mm from "../PatternOptionMillimeter";
|
||||
import Bool from "../PatternOptionBool";
|
||||
import OptionGroup from "../OptionGroup";
|
||||
import { optionType, defaultGist, gistDefaults } from "../../.utils";
|
||||
import { patternInfo, patternList } from "@freesewing/patterns";
|
||||
import { optionType, gistDefaults } from "@freesewing/utils";
|
||||
import { FormattedMessage } from "react-intl";
|
||||
import DownIcon from "@material-ui/icons/KeyboardArrowDown";
|
||||
|
||||
|
@ -21,9 +20,6 @@ const PatternOptions = props => {
|
|||
setExpanded(shown);
|
||||
};
|
||||
|
||||
let pattern = patternInfo[props.pattern];
|
||||
let dflts = gistDefaults(pattern.config, props.gist);
|
||||
|
||||
const renderGroup = group => {
|
||||
let open = true;
|
||||
if (expanded.indexOf(group) === -1) open = false;
|
||||
|
@ -35,9 +31,9 @@ const PatternOptions = props => {
|
|||
<OptionGroup
|
||||
key={group + "-group"}
|
||||
units={props.units}
|
||||
pattern={pattern}
|
||||
dflts={dflts}
|
||||
options={pattern.optionGroups[group]}
|
||||
info={props.info}
|
||||
dflts={gistDefaults(props.info.config, props.gist)}
|
||||
options={props.info.optionGroups[group]}
|
||||
updateValue={props.updateValue}
|
||||
triggerAction={props.triggerAction}
|
||||
/>
|
||||
|
@ -60,14 +56,14 @@ const PatternOptions = props => {
|
|||
|
||||
return (
|
||||
<ul className="nav l2">
|
||||
{Object.keys(pattern.optionGroups).map(group => renderGroup(group))}
|
||||
{Object.keys(props.info.optionGroups).map(group => renderGroup(group))}
|
||||
</ul>
|
||||
);
|
||||
};
|
||||
|
||||
PatternOptions.propTypes = {
|
||||
pattern: PropTypes.oneOf(patternList),
|
||||
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
|
||||
info: PropTypes.object.isRequired,
|
||||
gist: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
PatternOptions.defaultProps = {};
|
||||
|
|
|
@ -5,16 +5,12 @@ import Deg from "./PatternOptionDegree";
|
|||
import Mm from "./PatternOptionMillimeter";
|
||||
import Bool from "./PatternOptionBool";
|
||||
import OptionGroup from "./OptionGroup";
|
||||
import { optionType, gistDefaults } from "../.utils";
|
||||
import { patternInfo, patternList } from "@freesewing/patterns";
|
||||
import { optionType, gistDefaults } from "@freesewing/utils";
|
||||
import { FormattedMessage } from "react-intl";
|
||||
import PatternOptions from "./PatternOptions";
|
||||
import DraftSettings from "./DraftSettings";
|
||||
//import DraftActions from "DraftActions";
|
||||
import withGist from "../withGist";
|
||||
|
||||
const DraftConfigurator = props => {
|
||||
const [gist, setGist] = useState(props.gist.get);
|
||||
const [expanded, setExpanded] = useState([]);
|
||||
|
||||
const update = (type, name, value) => {
|
||||
|
@ -28,8 +24,7 @@ const DraftConfigurator = props => {
|
|||
else shown.splice(index, 1);
|
||||
setExpanded(shown);
|
||||
};
|
||||
let pattern = patternInfo[props.pattern];
|
||||
let dflts = gistDefaults(pattern.config, props.gist.get);
|
||||
let dflts = gistDefaults(props.info.config, props.gist);
|
||||
|
||||
return (
|
||||
<ul className="nav l1">
|
||||
|
@ -38,9 +33,11 @@ const DraftConfigurator = props => {
|
|||
<FormattedMessage id="app.patternOptions" />
|
||||
</h2>
|
||||
<PatternOptions
|
||||
pattern={props.pattern}
|
||||
units={props.units}
|
||||
updateValue={(name, value) => props.gist.set(value, 'settings', 'options', name)}
|
||||
info={props.info}
|
||||
gist={props.gist}
|
||||
updateValue={(name, value) =>
|
||||
props.updateGist(value, "settings", "options", name)
|
||||
}
|
||||
triggerAction={props.triggerAction}
|
||||
/>
|
||||
</li>
|
||||
|
@ -49,9 +46,11 @@ const DraftConfigurator = props => {
|
|||
<FormattedMessage id="app.draftSettings" />
|
||||
</h2>
|
||||
<DraftSettings
|
||||
pattern={props.pattern}
|
||||
units={props.units}
|
||||
updateValue={(name, value) => props.gist.set(value, 'settings', name)}
|
||||
info={props.info}
|
||||
gist={props.gist}
|
||||
updateValue={(name, value) =>
|
||||
props.updateGist(value, "settings", name)
|
||||
}
|
||||
triggerAction={props.triggerAction}
|
||||
/>
|
||||
</li>
|
||||
|
@ -59,11 +58,8 @@ const DraftConfigurator = props => {
|
|||
);
|
||||
};
|
||||
|
||||
DraftConfigurator.propTypes = {
|
||||
pattern: PropTypes.oneOf(patternList),
|
||||
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
|
||||
};
|
||||
DraftConfigurator.propTypes = {};
|
||||
|
||||
DraftConfigurator.defaultProps = {};
|
||||
|
||||
export default withGist(DraftConfigurator, {gist: {}, store: "yes"});
|
||||
export default DraftConfigurator;
|
||||
|
|
|
@ -5,21 +5,37 @@ import Emblem from "../Emblem";
|
|||
import { FormattedMessage } from "react-intl";
|
||||
|
||||
const Navbar = props => {
|
||||
|
||||
const renderNav = nav => {
|
||||
let title = nav.title || nav.text;
|
||||
let text = typeof nav.text === "string"
|
||||
? <FormattedMessage id={nav.text} />
|
||||
: nav.text
|
||||
if (nav.type === "component") return nav.component
|
||||
return <a href={nav.href} className="nav" title={nav.title}>{text}</a>
|
||||
}
|
||||
let text =
|
||||
typeof nav.text === "string" ? (
|
||||
<FormattedMessage id={nav.text} />
|
||||
) : (
|
||||
nav.text
|
||||
);
|
||||
if (nav.type === "component") return nav.component;
|
||||
else if (nav.type === "button")
|
||||
return (
|
||||
<button title={title} onClick={nav.onClick}>
|
||||
{text}
|
||||
</button>
|
||||
);
|
||||
return (
|
||||
<a href={nav.href} className="nav" title={title}>
|
||||
{text}
|
||||
</a>
|
||||
);
|
||||
};
|
||||
|
||||
return (
|
||||
<header className="navbar">
|
||||
<div>
|
||||
<div className="logo">{props.logo}</div>
|
||||
<div className="emblem">{props.emblem}</div>
|
||||
<div className="logo">
|
||||
<a href={props.home}>{props.logo}</a>
|
||||
</div>
|
||||
<div className="emblem">
|
||||
<a href={props.home}>{props.emblem}</a>
|
||||
</div>
|
||||
{props.navs.left.map(nav => renderNav(nav))}
|
||||
<div className="spread" />
|
||||
{props.navs.right.map(nav => renderNav(nav))}
|
||||
|
@ -32,11 +48,13 @@ Navbar.propTypes = {
|
|||
navs: PropTypes.object,
|
||||
logo: PropTypes.node,
|
||||
emblem: PropTypes.node,
|
||||
home: PropTypes.string
|
||||
};
|
||||
|
||||
Navbar.defaultProps = {
|
||||
navs: {left:[], right: []},
|
||||
logo: <Logo size={32} />,
|
||||
emblem: <Emblem t1="Free" t2="Sewing" size={20} c1="#74c0fc" c2="#e9ecef"/>
|
||||
home: "https://freesewing.org/",
|
||||
navs: { left: [], right: [] },
|
||||
logo: <Logo size={32} color="#e9ecef" />,
|
||||
emblem: <Emblem t1="Free" t2="Sewing" size={20} c1="#74c0fc" c2="#e9ecef" />
|
||||
};
|
||||
export default Navbar;
|
||||
|
|
49
packages/components/src/Workbench/LanguageChooser/index.js
Normal file
49
packages/components/src/Workbench/LanguageChooser/index.js
Normal file
|
@ -0,0 +1,49 @@
|
|||
import React from "react";
|
||||
import Button from "@material-ui/core/Button";
|
||||
import { i18n } from "@freesewing/i18n";
|
||||
|
||||
const LanguageChooser = props => {
|
||||
const styles = {
|
||||
container: {
|
||||
display: "flex",
|
||||
height: "calc(100vh - 64px)",
|
||||
width: "100%"
|
||||
},
|
||||
chooser: {
|
||||
width: "100%",
|
||||
textAlign: "center",
|
||||
alignSelf: "center"
|
||||
},
|
||||
button: {
|
||||
margin: "1rem"
|
||||
}
|
||||
};
|
||||
|
||||
const changeLanguage = lang => {
|
||||
props.setLanguage(lang);
|
||||
props.setDisplay("pattern");
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={styles.container}>
|
||||
<div style={styles.chooser}>
|
||||
{Object.keys(i18n).map(lang => {
|
||||
return (
|
||||
<Button
|
||||
style={styles.button}
|
||||
key={lang}
|
||||
color="primary"
|
||||
size="large"
|
||||
variant="contained"
|
||||
onClick={() => changeLanguage(lang)}
|
||||
>
|
||||
{i18n[lang][lang]}
|
||||
</Button>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default LanguageChooser;
|
34
packages/components/src/Workbench/Pattern/index.js
Normal file
34
packages/components/src/Workbench/Pattern/index.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
import React from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import { defaultGist } from "@freesewing/utils";
|
||||
import DraftConfigurator from "../../DraftConfigurator";
|
||||
|
||||
const Pattern = props => {
|
||||
//let pattern = new props.Pattern();
|
||||
|
||||
return (
|
||||
<div className="fs-sa">
|
||||
<section>hi mom</section>
|
||||
<aside>
|
||||
<div className="sticky">
|
||||
<DraftConfigurator
|
||||
gist={props.gist}
|
||||
info={props.info}
|
||||
updateGist={props.updateGist}
|
||||
raiseEvent={props.raiseEvent}
|
||||
/>
|
||||
</div>
|
||||
</aside>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
Pattern.propTypes = {
|
||||
gist: PropTypes.object.isRequired,
|
||||
updateGist: PropTypes.func.isRequired,
|
||||
info: PropTypes.object.isRequired,
|
||||
raiseEvent: PropTypes.func.isRequired,
|
||||
Pattern: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
export default Pattern;
|
36
packages/components/src/Workbench/bak.js
Normal file
36
packages/components/src/Workbench/bak.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
import React, { useState } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import { IntlProvider } from "react-intl";
|
||||
import Button from "@material-ui/core/Button";
|
||||
import MuiThemeProvider from "@material-ui/core/styles/MuiThemeProvider";
|
||||
import { createMuiTheme } from "@material-ui/core/styles";
|
||||
import { i18n, strings } from "@freesewing/i18n";
|
||||
import { Navbar, withGist } from "@freesewing/components";
|
||||
import { defaultGist, storage } from "@freesewing/utils";
|
||||
import { dark, light } from "@freesewing/mui-theme";
|
||||
|
||||
const Workbench = props => {
|
||||
return (
|
||||
<IntlProvider locale={language} messages={strings[language]}>
|
||||
<MuiThemeProvider theme={createMuiTheme(themes[theme])}>
|
||||
<React.Fragment>
|
||||
<Navbar />
|
||||
<Button variant="contained" color="primary">
|
||||
test
|
||||
</Button>
|
||||
</React.Fragment>
|
||||
</MuiThemeProvider>
|
||||
</IntlProvider>
|
||||
);
|
||||
};
|
||||
|
||||
Workbench.propTypes = {
|
||||
freesewing: PropTypes.object,
|
||||
language: PropType.string
|
||||
};
|
||||
|
||||
Workbench.defaultProps = {
|
||||
language: "en"
|
||||
};
|
||||
|
||||
export default Workbench;
|
139
packages/components/src/Workbench/index.js
Normal file
139
packages/components/src/Workbench/index.js
Normal file
|
@ -0,0 +1,139 @@
|
|||
import React, { useState } from "react";
|
||||
import PropTypes from "prop-types";
|
||||
import withGist from "../withGist";
|
||||
import { patternList } from "@freesewing/patterns";
|
||||
import { FormattedMessage, IntlProvider } from "react-intl";
|
||||
import Button from "@material-ui/core/Button";
|
||||
import { MuiThemeProvider, createMuiTheme } from "@material-ui/core/styles";
|
||||
import { i18n, strings } from "@freesewing/i18n";
|
||||
import Navbar from "../Navbar";
|
||||
import { defaultGist, storage } from "@freesewing/utils";
|
||||
import { dark, light } from "@freesewing/mui-theme";
|
||||
import Logo from "../Logo";
|
||||
import withLanguage from "../withLanguage";
|
||||
import LanguageIcon from "@material-ui/icons/Translate";
|
||||
import DarkModeIcon from "@material-ui/icons/Brightness3";
|
||||
import LanguageChooser from "./LanguageChooser";
|
||||
import Pattern from "./Pattern";
|
||||
|
||||
const Workbench = props => {
|
||||
const [display, setDisplay] = useState("pattern");
|
||||
const [pattern, setPattern] = useState(false);
|
||||
const [settings, setSettings] = useState(false);
|
||||
const [theme, setTheme] = useState("light");
|
||||
|
||||
const themes = { dark, light };
|
||||
|
||||
const showLanguageChooser = () => setDisplay("language");
|
||||
|
||||
const loadPattern = () => {
|
||||
let p = storage.get("pattern");
|
||||
if (Object.keys(props.freesewing.patterns).indexOf(p) === -1)
|
||||
p = props.pattern;
|
||||
setPattern(p);
|
||||
return p;
|
||||
};
|
||||
|
||||
const updatePattern = p => {
|
||||
setPattern(p);
|
||||
store.set("pattern", p);
|
||||
};
|
||||
|
||||
const toggleSettings = () => setSettings(!settings);
|
||||
|
||||
const toggleDarkMode = () => {
|
||||
if (theme === "light") setTheme("dark");
|
||||
else setTheme("light");
|
||||
};
|
||||
|
||||
const raiseEvent = (type, data) => {
|
||||
console.log("Event raised", type, data);
|
||||
};
|
||||
|
||||
const navs = {
|
||||
left: [
|
||||
{
|
||||
type: "link",
|
||||
href: "https://freesewing.dev/",
|
||||
text: "app.docs"
|
||||
},
|
||||
{
|
||||
type: "link",
|
||||
href: "https://gitter.im/freesewing/freesewing/",
|
||||
text: "app.askForHelp"
|
||||
}
|
||||
],
|
||||
right: [
|
||||
{
|
||||
type: "link",
|
||||
href: "https://github.com/freesewing/freesewing",
|
||||
text: "v" + props.freesewing.version
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
onClick: () => setDisplay("languages"),
|
||||
text: <LanguageIcon className="nav-icon" />,
|
||||
title: "Languages"
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
onClick: toggleDarkMode,
|
||||
text: <DarkModeIcon className="nav-icon moon" />,
|
||||
title: "Toggle dark mode"
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
let main = null;
|
||||
switch (display) {
|
||||
case "languages":
|
||||
main = (
|
||||
<LanguageChooser
|
||||
setLanguage={props.setLanguage}
|
||||
setDisplay={setDisplay}
|
||||
/>
|
||||
);
|
||||
break;
|
||||
default:
|
||||
main = (
|
||||
<Pattern
|
||||
freesewing={props.freesewing}
|
||||
Pattern={props.pattern}
|
||||
info={props.info}
|
||||
gist={props.gist}
|
||||
updateGist={props.updateGist}
|
||||
raiseEvent={raiseEvent}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
// Load defaults into gist
|
||||
console.log(props.info);
|
||||
//props.loadGistDefaults({options: props.info.config.options});
|
||||
|
||||
return (
|
||||
<MuiThemeProvider theme={createMuiTheme(themes[theme])}>
|
||||
<div
|
||||
className={
|
||||
theme === "light" ? "theme-wrapper light" : "theme-wrapper dark"
|
||||
}
|
||||
>
|
||||
<Navbar navs={navs} />
|
||||
{main}
|
||||
</div>
|
||||
</MuiThemeProvider>
|
||||
);
|
||||
};
|
||||
|
||||
Workbench.propTypes = {
|
||||
pattern: PropTypes.oneOf(patternList),
|
||||
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
|
||||
};
|
||||
|
||||
export default withLanguage(
|
||||
withGist(Workbench, {
|
||||
gist: defaultGist,
|
||||
store: true
|
||||
}),
|
||||
"nl"
|
||||
);
|
14
packages/components/src/Workbench/stories.js
Normal file
14
packages/components/src/Workbench/stories.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
import React from "react";
|
||||
import { storiesOf } from "@storybook/react";
|
||||
import Workbench from ".";
|
||||
import freesewing from "@freesewing/core";
|
||||
import aaron from "@freesewing/aaron";
|
||||
import { patternInfo } from "@freesewing/patterns";
|
||||
|
||||
const props = {
|
||||
freesewing,
|
||||
pattern: aaron,
|
||||
info: patternInfo.aaron
|
||||
};
|
||||
console.log(patternInfo, props);
|
||||
storiesOf("Workbench", module).add("Aaron", () => <Workbench {...props} />);
|
6
packages/components/src/index.js
Normal file
6
packages/components/src/index.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
export { default as draftConfigurator } from "./DraftConfigurator";
|
||||
export { default as Emblem } from "./Emblem";
|
||||
export { default as Logo } from "./Logo";
|
||||
export { default as Navbar } from "./Navbar";
|
||||
export { default as Ogol } from "./Ogol";
|
||||
export { default as withGist } from "./withGist";
|
|
@ -1,39 +1,53 @@
|
|||
import React from "react";
|
||||
import { storage, cloneObject } from "../.utils";
|
||||
import { gistDefaults } from "@freesewing/utils";
|
||||
import { storage, cloneObject } from "@freesewing/utils";
|
||||
|
||||
const withGist = (WrappedComponent, settings={gist:{}, store:false}) => {
|
||||
|
||||
return class extends React.Component {
|
||||
const withGist = (WrappedComponent, settings = { gist: {}, store: false }) => {
|
||||
return class extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.update = this.update.bind(this);
|
||||
this.state = settings.gist || {};
|
||||
this.state = { gist: settings.gist || {} };
|
||||
}
|
||||
|
||||
update(value, l1 = false, l2 = false, l3 = false) {
|
||||
console.log('update', value, l1, l2, l3, this.state);
|
||||
if (!l1) return;
|
||||
let gist = this.state;
|
||||
let gist = cloneObject(this.state.gist);
|
||||
|
||||
if(typeof gist === "undefined") gist = {};
|
||||
if(l1 && typeof gist[l1] === "undefined") gist[l1] = {};
|
||||
if(l2 && typeof gist[l1][l2] === "undefined") gist[l1][l2] = {};
|
||||
if(l3 && typeof gist[l1][l2][l3] === "undefined") gist[l1][l2][l3] = {};
|
||||
if (typeof gist === "undefined") gist = {};
|
||||
if (l1 && typeof gist[l1] === "undefined") gist[l1] = {};
|
||||
if (l2 && typeof gist[l1][l2] === "undefined") gist[l1][l2] = {};
|
||||
if (l3 && typeof gist[l1][l2][l3] === "undefined") gist[l1][l2][l3] = {};
|
||||
|
||||
if (l3) gist[l1][l2][l3] = value;
|
||||
else if (l2) gist[l1][l2] = value;
|
||||
else if (l1) gist[l1] = value;
|
||||
this.setState(gist, () => {
|
||||
if (settings.store) storage.set(settings.store, this.state);
|
||||
console.log(this.state);
|
||||
this.setState({ gist }, () => {
|
||||
if (settings.store) storage.set(settings.store, this.state.gist);
|
||||
});
|
||||
}
|
||||
|
||||
getGist() {
|
||||
return this.state.gist;
|
||||
}
|
||||
|
||||
loadDefaults(defaults) {
|
||||
for (let key of defaults) {
|
||||
console.log(key);
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
return <WrappedComponent gist={{get: this.state.gist, set: this.update}} {...this.props} />;
|
||||
return (
|
||||
<WrappedComponent
|
||||
gist={this.state.gist}
|
||||
updateGist={this.update}
|
||||
loadGistDefaults={this.loadDefaults}
|
||||
{...this.props}
|
||||
/>
|
||||
);
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
export default withGist;
|
||||
|
|
42
packages/components/src/withLanguage/index.js
Normal file
42
packages/components/src/withLanguage/index.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
import React from "react";
|
||||
import { IntlProvider, addLocaleData } from "react-intl";
|
||||
import en from "react-intl/locale-data/en";
|
||||
import de from "react-intl/locale-data/de";
|
||||
import es from "react-intl/locale-data/es";
|
||||
import fr from "react-intl/locale-data/fr";
|
||||
import nl from "react-intl/locale-data/nl";
|
||||
import { strings } from "@freesewing/i18n";
|
||||
import { storage } from "@freesewing/utils";
|
||||
|
||||
const withLanguage = (WrappedComponent, lang = "en", store = false) => {
|
||||
return class extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.setLanguage = this.setLanguage.bind(this);
|
||||
this.state = { language: lang };
|
||||
}
|
||||
|
||||
setLanguage(l) {
|
||||
this.setState({ language: l });
|
||||
}
|
||||
|
||||
render() {
|
||||
const localeData = { en, de, es, fr, nl };
|
||||
addLocaleData(localeData[this.state.language]);
|
||||
return (
|
||||
<IntlProvider
|
||||
locale={this.state.language}
|
||||
messages={strings[this.state.language]}
|
||||
>
|
||||
<WrappedComponent
|
||||
language={this.state.language}
|
||||
setLanguage={this.setLanguage}
|
||||
{...this.props}
|
||||
/>
|
||||
</IntlProvider>
|
||||
);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
export default withLanguage;
|
23
packages/core/package-lock.json
generated
Normal file
23
packages/core/package-lock.json
generated
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"name": "@freesewing/core",
|
||||
"version": "0.32.4",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"bezier-js": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.4.0.tgz",
|
||||
"integrity": "sha512-ttwqGL47RtYOoZy10oFJZ1VlEC6w1eJW1xMPBAvEx57cTWgmaJNr/c2ZLMr/O2RD50saR0OaLBIpgyZ7rkHLSw=="
|
||||
},
|
||||
"bin-pack": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.2.tgz",
|
||||
"integrity": "sha1-wqAU7b8L7XCjKSBi7UZXe5YSBnk="
|
||||
},
|
||||
"hooks": {
|
||||
"version": "0.3.2",
|
||||
"resolved": "https://registry.npmjs.org/hooks/-/hooks-0.3.2.tgz",
|
||||
"integrity": "sha1-ox8GDCAmzqbPHKPrF4Qw5xjhxKM="
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/core",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A library for creating made-to-measure sewing patterns",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -24,9 +24,9 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/core",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/core/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/core/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "BABEL_ENV=production nyc mocha tests/*.test.js",
|
||||
"pubtest": "npm publish --registry http://localhost:6662",
|
||||
|
@ -39,7 +39,7 @@
|
|||
"hooks": "^0.3.2"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/core/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,28 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
resolve(),
|
||||
json(),
|
||||
yaml(),
|
||||
commonjs(),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "create-freesewing-pattern",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "Initializer package for FreeSewing patterns: npm init FreeSewing-pattern",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -18,14 +18,14 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/create-freesewing-pattern",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/create-freesewing-pattern/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/create-freesewing-pattern/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run mkdist && npm run copyfiles",
|
||||
"test": "ava -v && standard *.js lib/*.js",
|
||||
"pubtest": "npm publish --registry http://localhost:6662",
|
||||
"mkdist": "mkdir -p ../../dist/create-freesewing-pattern",
|
||||
"copyfiles": "cp -R index.js package.json README.md lib template ../../dist/create-freesewing-pattern/"
|
||||
"mkdist": "mkdir -p dist",
|
||||
"copyfiles": "cp -R index.js package.json README.md lib template dist/"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": "^2.4.2",
|
||||
|
@ -46,7 +46,7 @@
|
|||
"which": "^1.3.1"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/create-freesewing-pattern/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
48
packages/create-freesewing-pattern/rollup.config.js
Normal file
48
packages/create-freesewing-pattern/rollup.config.js
Normal file
|
@ -0,0 +1,48 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
}),
|
||||
minify({
|
||||
comments: false,
|
||||
sourceMap: true,
|
||||
banner: `/**\n * ${name} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
|
||||
})
|
||||
]
|
||||
};
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/css-theme",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A CSS theme for FreeSewing web UIs",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -16,22 +16,22 @@
|
|||
"sass",
|
||||
"theme"
|
||||
],
|
||||
"main": "dist/index.js",
|
||||
"main": "dist/theme.css",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/css-theme",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/css-theme/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/css-theme/index.mjs -f es",
|
||||
"watch": "npx node-sass --watch --output-style compressed src/theme.scss ../../dist/css-theme/theme.css",
|
||||
"build": "npx node-sass --output-style compressed src/theme.scss ../../dist/css-theme/theme.css",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npx node-sass --output-style compressed src/theme.scss dist/theme.css",
|
||||
"test": "echo \"css-theme: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
"pubtest": "npm publish --registry http://localhost:6662",
|
||||
"watch": "npx node-sass --watch --output-style compressed src/theme.scss dist/theme.css"
|
||||
},
|
||||
"dependencies": {
|
||||
"open-color": "1.6.3"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/css-theme/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
15
packages/css-theme/src/_dark.scss
Normal file
15
packages/css-theme/src/_dark.scss
Normal file
|
@ -0,0 +1,15 @@
|
|||
.theme-wrapper {
|
||||
margin-top: 64px;
|
||||
min-height: calc(100vh - 64px);
|
||||
}
|
||||
|
||||
.theme-wrapper.light {
|
||||
background: $fc-bg-light;
|
||||
color: $fc-bg-dark;
|
||||
}
|
||||
|
||||
.theme-wrapper.dark {
|
||||
background: $fc-bg-dark;
|
||||
color: $fc-bg-light;
|
||||
}
|
||||
|
2
packages/css-theme/src/_layout.scss
Normal file
2
packages/css-theme/src/_layout.scss
Normal file
|
@ -0,0 +1,2 @@
|
|||
@import "layout/section-aside";
|
||||
|
3
packages/css-theme/src/_reset.scss
Normal file
3
packages/css-theme/src/_reset.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
body {
|
||||
margin: 0;
|
||||
}
|
|
@ -23,16 +23,16 @@ ul.nav h5 {
|
|||
ul.nav h3:hover,
|
||||
ul.nav h4:hover {
|
||||
cursor: pointer;
|
||||
background: $fc-hoverbg-light;
|
||||
background: $oc-gray-3;
|
||||
}
|
||||
ul.nav h2 { font-size: 1.2rem; }
|
||||
ul.nav h2 { font-size: 1.2rem; margin-left: 5px;}
|
||||
ul.nav h4 { font-size: 1rem; }
|
||||
ul.nav h5 { font-size: 1rem; padding-left: 1.5rem; font-weight: bold;}
|
||||
ul.nav h3 {
|
||||
font-size: 1.1rem;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
background: $fc-bg-light;
|
||||
background: $oc-gray-1;
|
||||
z-index: 3;
|
||||
}
|
||||
ul.nav span.custom {
|
||||
|
@ -75,5 +75,14 @@ button.mini-icon-btn {
|
|||
padding: 2px;
|
||||
}
|
||||
|
||||
body.dark {
|
||||
.theme-wrapper.dark {
|
||||
ul.nav h3,
|
||||
ul.nav h4 {
|
||||
background: $oc-gray-8;
|
||||
}
|
||||
ul.nav h3:hover,
|
||||
ul.nav h4:hover {
|
||||
cursor: pointer;
|
||||
background: $oc-gray-7;
|
||||
}
|
||||
}
|
||||
|
|
35
packages/css-theme/src/layout/_section-aside.scss
Normal file
35
packages/css-theme/src/layout/_section-aside.scss
Normal file
|
@ -0,0 +1,35 @@
|
|||
div.fs-sa {
|
||||
display: flex;
|
||||
|
||||
section{
|
||||
width: 100%;
|
||||
padding: 1rem;
|
||||
}
|
||||
aside {
|
||||
padding: 1rem 0;
|
||||
max-width: 400px;
|
||||
min-width: 200px;
|
||||
width: 30%;
|
||||
height: 100%;
|
||||
min-height: calc(120vh - 64px);
|
||||
background: $oc-gray-1;
|
||||
border-left: 1px solid $oc-gray-3;
|
||||
}
|
||||
aside div.sticky {
|
||||
position: sticky;
|
||||
top: calc(64px + 1rem);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.theme-wrapper.dark {
|
||||
div.fs-sa {
|
||||
section {
|
||||
background: $oc-gray-9;
|
||||
}
|
||||
aside {
|
||||
background: $oc-gray-8;
|
||||
border-color: $oc-gray-7;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,7 @@
|
|||
@import "reset";
|
||||
@import '../../../node_modules/open-color/open-color.scss';
|
||||
@import "variables";
|
||||
@import "mixins";
|
||||
@import "dark";
|
||||
@import "layout";
|
||||
@import "components";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/examples",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern holding examples for our documentation",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -18,21 +18,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/examples",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/examples/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/examples/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"examples: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/examples/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/florent",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a flat cap",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/florent",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/florent/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/florent/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"florent: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/florent/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -3,6 +3,69 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "huey",
|
||||
version: version,
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "pattern",
|
||||
difficulty: 3,
|
||||
tags: ["top", "basics"],
|
||||
optionGroups: {
|
||||
fit: [
|
||||
"bicepsEase",
|
||||
"chestEase",
|
||||
"cuffEase",
|
||||
"collarEase",
|
||||
"ribbingStretchFactor",
|
||||
"shoulderEase",
|
||||
"waistEase",
|
||||
"hipsEase",
|
||||
"ribbingStretch"
|
||||
],
|
||||
style: [
|
||||
"lengthBonus",
|
||||
"sleeveLengthBonus",
|
||||
"ribbing",
|
||||
"pocket",
|
||||
"ribbingWidth",
|
||||
"pocketHeight",
|
||||
"pocketWidth",
|
||||
"hoodHeight",
|
||||
"hoodCutback",
|
||||
"hoodClosure",
|
||||
"hoodDepth",
|
||||
"hoodAngle"
|
||||
],
|
||||
advanced: [
|
||||
"acrossBackFactor",
|
||||
"armholeDepthFactor",
|
||||
"backNeckCutout",
|
||||
"frontArmholeDeeper",
|
||||
"shoulderSlopeReduction",
|
||||
"sleeveWidthGuarantee",
|
||||
{
|
||||
sleevecap: [
|
||||
"sleevecapEase",
|
||||
"sleevecapTopFactorX",
|
||||
"sleevecapTopFactorY",
|
||||
"sleevecapBackFactorX",
|
||||
"sleevecapBackFactorY",
|
||||
"sleevecapFrontFactorX",
|
||||
"sleevecapFrontFactorY",
|
||||
"sleevecapQ1Offset",
|
||||
"sleevecapQ2Offset",
|
||||
"sleevecapQ3Offset",
|
||||
"sleevecapQ4Offset",
|
||||
"sleevecapQ1Spread1",
|
||||
"sleevecapQ1Spread2",
|
||||
"sleevecapQ2Spread1",
|
||||
"sleevecapQ2Spread2",
|
||||
"sleevecapQ3Spread1",
|
||||
"sleevecapQ3Spread2",
|
||||
"sleevecapQ4Spread1",
|
||||
"sleevecapQ4Spread2"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
measurements: [
|
||||
"bicepsCircumference",
|
||||
"centerBackNeckToWaist",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/huey",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a zip-up hoodie",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/huey",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/huey/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/huey/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"huey: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/huey/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import Brian from "@freesewing/brian";
|
||||
import config from "../config";
|
||||
|
@ -41,3 +41,4 @@ Huey.prototype.draftWaistband = draftWaistband;
|
|||
Huey.prototype.draftCuff = draftCuff;
|
||||
|
||||
export default Huey;
|
||||
export { config };
|
||||
|
|
|
@ -3,6 +3,16 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "hugo",
|
||||
version,
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "pattern",
|
||||
difficulty: 3,
|
||||
tags: ["top", "basics"],
|
||||
optionGroups: {
|
||||
fit: ["bicepsEase", "chestEase", "cuffEase", "ribbingStretchFactor"],
|
||||
style: ["lengthBonus", "sleeveLengthBonus", "ribbingWidth"],
|
||||
advanced: ["acrossBackFactor", "backNeckCutout"]
|
||||
},
|
||||
measurements: [
|
||||
"bicepsCircumference",
|
||||
"centerBackNeckToWaist",
|
||||
|
@ -14,9 +24,9 @@ export default {
|
|||
"hipsCircumference",
|
||||
"shoulderToWrist",
|
||||
"wristCircumference",
|
||||
"headCircumference",
|
||||
"headCircumference"
|
||||
],
|
||||
parts: [ "waistband", "cuff" ],
|
||||
parts: ["waistband", "cuff"],
|
||||
dependencies: {
|
||||
frontBase: "base",
|
||||
front: "frontBase",
|
||||
|
@ -27,7 +37,7 @@ export default {
|
|||
pocket: "front",
|
||||
pocketFacing: "pocket",
|
||||
hoodCenter: "hoodSide",
|
||||
hoodSide: [ "front", "back" ]
|
||||
hoodSide: ["front", "back"]
|
||||
},
|
||||
inject: {
|
||||
frontBase: "base",
|
||||
|
@ -39,7 +49,7 @@ export default {
|
|||
pocket: "front",
|
||||
pocketFacing: "pocket"
|
||||
},
|
||||
hide: [ "base", "frontBase", "backBase", "sleeveBase", "sleevecap" ],
|
||||
hide: ["base", "frontBase", "backBase", "sleeveBase", "sleevecap"],
|
||||
options: {
|
||||
// Constants
|
||||
brianFitSleeve: false,
|
||||
|
@ -69,14 +79,14 @@ export default {
|
|||
sleeveWidthGuarantee: 1,
|
||||
|
||||
// Percentages
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
bicepsEase: { pct: 15, min: 0, max: 50 },
|
||||
chestEase: { pct: 8, min: -4, max: 20 },
|
||||
cuffEase: { pct: 20, min: 0, max: 200 },
|
||||
lengthBonus: { pct: 10, min: 0, max: 20 },
|
||||
sleeveLengthBonus: { pct: 0, min:-40, max: 10 },
|
||||
ribbingStretchFactor: { pct: 5, min: 0, max: 10 },
|
||||
ribbingWidth: { pct: 10, min: 4, max: 20 },
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
bicepsEase: { pct: 15, min: 0, max: 50 },
|
||||
chestEase: { pct: 8, min: -4, max: 20 },
|
||||
cuffEase: { pct: 20, min: 0, max: 200 },
|
||||
lengthBonus: { pct: 10, min: 0, max: 20 },
|
||||
sleeveLengthBonus: { pct: 0, min: -40, max: 10 },
|
||||
ribbingStretchFactor: { pct: 5, min: 0, max: 10 },
|
||||
ribbingWidth: { pct: 10, min: 4, max: 20 }
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/hugo",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a hooded jumper with raglan sleeves",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/hugo",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/hugo/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/hugo/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"hugo: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/hugo/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import Brian from "@freesewing/brian";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import config from "../config";
|
||||
|
@ -43,3 +43,4 @@ Hugo.prototype.draftWaistband = draftWaistband;
|
|||
Hugo.prototype.draftCuff = draftCuff;
|
||||
|
||||
export default Hugo;
|
||||
export { config };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/i18n",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "Translations for the FreeSewing project",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -20,9 +20,9 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/i18n",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/i18n/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/i18n/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"i18n: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
|
@ -31,7 +31,7 @@
|
|||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/i18n/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -11,6 +11,7 @@ allDocumentation: Alle dokumentationen
|
|||
andThatIsAwesome: Und das ist großartig
|
||||
applyThisLayout: Wenden Sie dieses Layout an
|
||||
areYouSureYouWantToContinue: Sind Sie sicher, dass Sie fortfahren möchten?
|
||||
askForHelp: Bitten Sie um Hilfe
|
||||
automatic: Automatisch
|
||||
back: Zurück
|
||||
becauseThatWouldBeReallyHelpful: Weil das wirklich hilfreich wäre.
|
||||
|
@ -180,6 +181,7 @@ startOver: Von vorn anfangen
|
|||
startTranslatingNow: Beginne jetzt mit dem Übersetzen
|
||||
startTranslatingNowOrRead: '{startTranslatingNow}, oder lies zuerst die {documentationForTranslators}.'
|
||||
subscribe: Abonnieren
|
||||
support: Unterstützung
|
||||
supportFreesewing: Unterstützung freesewing
|
||||
tellMeMore: Erzähl mir mehr
|
||||
thanksForYourSupport: Danke für deine Unterstützung
|
||||
|
|
|
@ -11,6 +11,7 @@ allDocumentation: All documentation
|
|||
andThatIsAwesome: And that is awesome
|
||||
applyThisLayout: Apply this layout
|
||||
areYouSureYouWantToContinue: Are you sure you want to continue?
|
||||
askForHelp: Ask for help
|
||||
automatic: Automatic
|
||||
back: Back
|
||||
becauseThatWouldBeReallyHelpful: Because that would be really helpful.
|
||||
|
@ -180,6 +181,7 @@ startOver: Start over
|
|||
startTranslatingNowOrRead: '{startTranslatingNow}, or read the {documentationForTranslators} first.'
|
||||
startTranslatingNow: Start translating now
|
||||
subscribe: Subscribe
|
||||
support: Support
|
||||
supportFreesewing: Support freesewing
|
||||
tellMeMore: Tell me more
|
||||
thanksForYourSupport: Thanks for your support
|
||||
|
|
|
@ -11,6 +11,7 @@ allDocumentation: Toda la documentación
|
|||
andThatIsAwesome: Y eso es genial
|
||||
applyThisLayout: Aplicar este diseño
|
||||
areYouSureYouWantToContinue: Estás seguro de que quieres continuar?
|
||||
askForHelp: Pedir ayuda
|
||||
automatic: Automático
|
||||
back: atras
|
||||
becauseThatWouldBeReallyHelpful: Porque eso sería realmente útil.
|
||||
|
@ -180,6 +181,7 @@ startOver: Comenzar de nuevo
|
|||
startTranslatingNow: Empezar a traducir ahora
|
||||
startTranslatingNowOrRead: '{startTranslatingNow}, o lea primero la {documentationForTranslators}.'
|
||||
subscribe: Suscribir
|
||||
support: Apoyo
|
||||
supportFreesewing: Apoyo de freesewing
|
||||
tellMeMore: Dime más
|
||||
thanksForYourSupport: Gracias por su apoyo
|
||||
|
|
|
@ -11,6 +11,7 @@ allDocumentation: Toute la documentation
|
|||
andThatIsAwesome: Et c'est génial
|
||||
applyThisLayout: Appliquer cette mise en page
|
||||
areYouSureYouWantToContinue: Es-tu sur de vouloir continuer?
|
||||
askForHelp: Demander de l'aide
|
||||
automatic: Automatique
|
||||
back: Retour
|
||||
becauseThatWouldBeReallyHelpful: Parce que ce serait vraiment utile.
|
||||
|
@ -180,6 +181,7 @@ startOver: Recommencer
|
|||
startTranslatingNow: Commencez à traduire maintenant
|
||||
startTranslatingNowOrRead: "{startTranslatingNow}, ou lisez d'abord la {documentationForTranslators}."
|
||||
subscribe: Souscrire
|
||||
support: Soutien
|
||||
supportFreesewing: Soutenir freesewing
|
||||
tellMeMore: En savoir plus
|
||||
thanksForYourSupport: Merci pour votre soutien
|
||||
|
|
|
@ -11,6 +11,7 @@ allDocumentation: Alle documentatie
|
|||
andThatIsAwesome: En dat is geweldig
|
||||
applyThisLayout: Pas deze layout toe
|
||||
areYouSureYouWantToContinue: Weet je zeker dat je door wilt gaan?
|
||||
askForHelp: Vraag om hulp
|
||||
automatic: Automatisch
|
||||
back: Terug
|
||||
becauseThatWouldBeReallyHelpful: Want dat zou ons echt vooruit helpen.
|
||||
|
@ -180,6 +181,7 @@ startOver: Begin opnieuw
|
|||
startTranslatingNow: Begin meteen te vertalen
|
||||
startTranslatingNowOrRead: '{startTranslatingNow}, of lees eerst de {documentationForTranslators}.'
|
||||
subscribe: Abonneren
|
||||
support: Ondersteuning
|
||||
supportFreesewing: Ondersteun freesewing
|
||||
tellMeMore: Vertel me meer
|
||||
thanksForYourSupport: Bedankt voor je steun
|
||||
|
|
|
@ -3,6 +3,82 @@ import { version } from "../package.json";
|
|||
export default {
|
||||
name: "jaeger",
|
||||
version: version,
|
||||
design: "Joost De Cock",
|
||||
code: "Joost De Cock",
|
||||
department: "menswear",
|
||||
type: "pattern",
|
||||
difficulty: 5,
|
||||
tags: ["top", "jacket"],
|
||||
optionGroups: {
|
||||
fit: [
|
||||
"acrossBackFactor",
|
||||
"armholeDepthFactor",
|
||||
"bicepsEase",
|
||||
"centerBackDart",
|
||||
"chestEase",
|
||||
"collarEase",
|
||||
"cuffEase",
|
||||
"hipsEase",
|
||||
"lengthBonus",
|
||||
"shoulderEase",
|
||||
"waistEase"
|
||||
],
|
||||
sleeves: [
|
||||
"sleeveBend",
|
||||
"sleeveLengthBonus",
|
||||
"sleeveVentLength",
|
||||
"sleeveVentWidth"
|
||||
],
|
||||
advanced: [
|
||||
"backNeckCutout",
|
||||
"chestShaping",
|
||||
"frontArmholeDeeper",
|
||||
"frontDartPlacement",
|
||||
"frontOverlap",
|
||||
"sideFrontPlacement",
|
||||
"shoulderSlopeReduction",
|
||||
"sleevecapHeight",
|
||||
"sleevecapEase"
|
||||
],
|
||||
pockets: [
|
||||
"chestPocketDepth",
|
||||
"chestPocketWidth",
|
||||
"chestPocketPlacement",
|
||||
"chestPocketAngle",
|
||||
"chestPocketWeltSize",
|
||||
"frontPocketPlacement",
|
||||
"frontPocketWidth",
|
||||
"frontPocketDepth",
|
||||
"frontPocketRadius",
|
||||
"innerPocketPlacement",
|
||||
"innerPocketWidth",
|
||||
"innerPocketDepth",
|
||||
"innerPocketWeltHeight",
|
||||
"pocketFoldover"
|
||||
],
|
||||
style: [
|
||||
"centerFrontHemDrop",
|
||||
"backVent",
|
||||
"backVentLength",
|
||||
"buttonLength",
|
||||
"buttons",
|
||||
"frontCutawayAngle",
|
||||
"frontCutawayStart",
|
||||
"frontCutawayEnd",
|
||||
"hemRadius",
|
||||
"lapelStart",
|
||||
"lapelReduction"
|
||||
],
|
||||
collar: [
|
||||
"collarSpread",
|
||||
"collarHeight",
|
||||
"collarNotchDepth",
|
||||
"collarNotchAngle",
|
||||
"collarNotchReturn",
|
||||
"collarRoll",
|
||||
"rollLineCollarHeight"
|
||||
]
|
||||
},
|
||||
measurements: [
|
||||
"bicepsCircumference",
|
||||
"centerBackNeckToWaist",
|
||||
|
@ -37,7 +113,7 @@ export default {
|
|||
innerPocketWelt: "front",
|
||||
innerPocketBag: "front",
|
||||
topSleeve: "bentTopSleeve",
|
||||
underSleeve: "bentUnderSleeve",
|
||||
underSleeve: "bentUnderSleeve"
|
||||
},
|
||||
inject: {
|
||||
bentBack: "bentBase",
|
||||
|
@ -54,7 +130,7 @@ export default {
|
|||
underCollar: "collarStand",
|
||||
topSleeve: "bentTopSleeve",
|
||||
underSleeve: "bentUnderSleeve",
|
||||
pocketLining: "pocket",
|
||||
pocketLining: "pocket"
|
||||
},
|
||||
hide: [
|
||||
"bentBase",
|
||||
|
@ -89,33 +165,32 @@ export default {
|
|||
reduceHipsStandardFraction: 0.1,
|
||||
|
||||
// Options inherited from Bent
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
armholeDepthFactor: { pct: 65, min: 50, max: 70 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
bicepsEase: { pct: 20, min: 0, max: 50 },
|
||||
chestEase: { pct: 10, min: 5, max: 20 },
|
||||
collarEase: { pct: 3.5, min: 0, max: 10 },
|
||||
cuffEase: { pct: 60, min: 30, max: 100 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
lengthBonus: { pct: 19, min: 0, max: 25 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
acrossBackFactor: { pct: 97, min: 93, max: 100 },
|
||||
armholeDepthFactor: { pct: 65, min: 50, max: 70 },
|
||||
backNeckCutout: { pct: 5, min: 2, max: 8 },
|
||||
bicepsEase: { pct: 20, min: 0, max: 50 },
|
||||
chestEase: { pct: 10, min: 5, max: 20 },
|
||||
collarEase: { pct: 3.5, min: 0, max: 10 },
|
||||
cuffEase: { pct: 60, min: 30, max: 100 },
|
||||
frontArmholeDeeper: { pct: 0.5, min: 0, max: 1.5 },
|
||||
lengthBonus: { pct: 19, min: 0, max: 25 },
|
||||
shoulderEase: { pct: 0, min: -2, max: 6 },
|
||||
sleeveBend: { deg: 10, min: 0, max: 20 },
|
||||
sleevecapHeight: {pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 0, min:-40, max: 10 },
|
||||
sleevecapHeight: { pct: 45, min: 40, max: 60 },
|
||||
sleevecapEase: { pct: 1, min: 0, max: 10 },
|
||||
sleeveLengthBonus: { pct: 0, min: -40, max: 10 },
|
||||
|
||||
// Jaeger options
|
||||
frontOverlap: { pct: 1.5, min: 1, max: 2},
|
||||
frontOverlap: { pct: 1.5, min: 1, max: 2 },
|
||||
|
||||
sleeveVentLength: { pct: 35, min: 25, max: 55 },
|
||||
sleeveVentWidth: { pct: 18, min: 10, max: 26 },
|
||||
|
||||
innerPocketPlacement: {pct: 52, min: 42, max: 62 },
|
||||
innerPocketPlacement: { pct: 52, min: 42, max: 62 },
|
||||
innerPocketWidth: { pct: 50, min: 45, max: 65 },
|
||||
innerPocketDepth: { pct: 110, min: 75, max: 140 },
|
||||
innerPocketWeltHeight: { pct: 3.5, min: 2.5, max: 5 },
|
||||
|
||||
|
||||
pocketFoldover: { pct: 25, min: 15, max: 35 },
|
||||
|
||||
waistEase: { pct: 14, min: 8, max: 25 },
|
||||
|
@ -128,14 +203,14 @@ export default {
|
|||
backVent: { count: 1, min: 0, max: 2 },
|
||||
backVentLength: { pct: 35, min: 15, max: 100 },
|
||||
|
||||
frontCutawayAngle: {deg: 2.5, min: 1, max: 4},
|
||||
frontCutawayStart: {pct: 30, min: 10, max: 70 },
|
||||
frontCutawayEnd: {pct: 40, min: 10, max: 40 },
|
||||
hemRadius: {pct: 100, min: 35, max: 100 },
|
||||
frontCutawayAngle: { deg: 2.5, min: 1, max: 4 },
|
||||
frontCutawayStart: { pct: 30, min: 10, max: 70 },
|
||||
frontCutawayEnd: { pct: 40, min: 10, max: 40 },
|
||||
hemRadius: { pct: 100, min: 35, max: 100 },
|
||||
|
||||
chestPocketDepth: { pct: 110, min: 70, max: 150 },
|
||||
chestPocketWidth: { pct: 37, min: 30, max: 45 },
|
||||
chestPocketPlacement: {pct: 52, min: 40, max: 60 },
|
||||
chestPocketPlacement: { pct: 52, min: 40, max: 60 },
|
||||
chestPocketAngle: { deg: 2.5, min: 0, max: 7 },
|
||||
chestPocketWeltSize: { pct: 17.5, min: 10, max: 25 },
|
||||
|
||||
|
@ -151,7 +226,7 @@ export default {
|
|||
collarNotchDepth: { pct: 15, min: 15, max: 50 },
|
||||
collarNotchAngle: { deg: 45, min: 30, max: 60 },
|
||||
collarNotchReturn: { pct: 100, min: 50, max: 100 },
|
||||
collarRoll: {mm: 2.5, min: 0, max: 5 },
|
||||
collarRoll: { mm: 2.5, min: 0, max: 5 },
|
||||
|
||||
frontDartPlacement: { pct: 55, min: 45, max: 60 },
|
||||
sideFrontPlacement: { pct: 85, min: 80, max: 90 },
|
||||
|
@ -161,6 +236,6 @@ export default {
|
|||
shoulderSlopeReduction: { pct: 2, min: 0, max: 5 },
|
||||
|
||||
buttonLength: { pct: 30, min: 30, max: 60 },
|
||||
buttons: { count: 2, min: 1, max: 3 },
|
||||
buttons: { count: 2, min: 1, max: 3 }
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/jaeger",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A FreeSewing pattern for a sport coat style jacket",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,21 +23,21 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/jaeger",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/jaeger/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/jaeger/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"jaeger: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@freesewing/core": "^0.33.0",
|
||||
"@freesewing/plugin-bundle": "^0.33.0"
|
||||
"@freesewing/core": "^0.32.4",
|
||||
"@freesewing/plugin-bundle": "^0.32.4"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/jaeger/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import freesewing from "freesewing";
|
||||
import freesewing from "@freesewing/core";
|
||||
import plugins from "@freesewing/plugin-bundle";
|
||||
import buttons from "@freesewing/plugin-buttons";
|
||||
import Bent from "@freesewing/bent";
|
||||
|
@ -22,10 +22,7 @@ import draftTopSleeve from "./topsleeve";
|
|||
import draftUnderSleeve from "./undersleeve";
|
||||
|
||||
// Create new design
|
||||
const Jaeger = new freesewing.Design(config, [
|
||||
plugins,
|
||||
buttons
|
||||
]);
|
||||
const Jaeger = new freesewing.Design(config, [plugins, buttons]);
|
||||
|
||||
// Attach draft methods from Bent to prototype
|
||||
Jaeger.prototype.draftBentBase = function(part) {
|
||||
|
@ -33,7 +30,7 @@ Jaeger.prototype.draftBentBase = function(part) {
|
|||
};
|
||||
Jaeger.prototype.draftBentFront = function(part) {
|
||||
return new Bent(this.settings).draftFront(part);
|
||||
}
|
||||
};
|
||||
Jaeger.prototype.draftBentBack = function(part) {
|
||||
return new Bent(this.settings).draftBack(part);
|
||||
};
|
||||
|
@ -66,3 +63,4 @@ Jaeger.prototype.draftTopSleeve = draftTopSleeve;
|
|||
Jaeger.prototype.draftUnderSleeve = draftUnderSleeve;
|
||||
|
||||
export default Jaeger;
|
||||
export { config };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/models",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "Body measurements data for a range of default sizes",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -20,9 +20,9 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/models",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/models/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/models/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"models: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
|
@ -31,7 +31,7 @@
|
|||
"dependencies": {},
|
||||
"devDependencies": {},
|
||||
"files": [
|
||||
"../../dist/packages/models/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/mui-theme",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "A Material-UI theme for FreeSewing web UIs",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -18,9 +18,9 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/mui-theme",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/mui-theme/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/mui-theme/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"mui-theme: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
|
@ -31,7 +31,7 @@
|
|||
"react-dom": "^16.3.0"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/mui-theme/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
|
@ -1,21 +1,40 @@
|
|||
import babel from "rollup-plugin-babel";
|
||||
import resolve from "rollup-plugin-node-resolve";
|
||||
import commonjs from "rollup-plugin-commonjs";
|
||||
import json from "rollup-plugin-json";
|
||||
import minify from "rollup-plugin-babel-minify";
|
||||
import yaml from "rollup-plugin-yaml";
|
||||
import url from "rollup-plugin-url";
|
||||
import postcss from "rollup-plugin-postcss";
|
||||
import svgr from "@svgr/rollup";
|
||||
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
||||
import { name, version, description, author, license } from "./package.json";
|
||||
|
||||
export default {
|
||||
input: "src/index.js",
|
||||
output: {
|
||||
sourcemap: true
|
||||
},
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "cjs",
|
||||
sourcemap: true
|
||||
},
|
||||
{
|
||||
file: "dist/index.mjs",
|
||||
format: "es",
|
||||
sourcemap: true
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
peerDepsExternal(),
|
||||
resolve({ modulesOnly: true }),
|
||||
url(),
|
||||
commonjs(),
|
||||
json(),
|
||||
yaml(),
|
||||
svgr(),
|
||||
postcss({
|
||||
modules: true
|
||||
}),
|
||||
babel({
|
||||
exclude: "node_modules/**",
|
||||
plugins: ["@babel/plugin-proposal-object-rest-spread"]
|
||||
|
|
|
@ -23,14 +23,22 @@ const palettes = {
|
|||
dark: {
|
||||
primary: { main: lightBg },
|
||||
secondary: { main: darkBg },
|
||||
type: "dark"
|
||||
type: "dark",
|
||||
background: {
|
||||
paper: "#212529",
|
||||
default: "#343a40"
|
||||
}
|
||||
},
|
||||
light: {
|
||||
primary: { main: darkBg },
|
||||
secondary: { main: lightBg },
|
||||
type: "light"
|
||||
type: "light",
|
||||
background: {
|
||||
paper: "#FFF",
|
||||
default: "#f8f9fa"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export const dark = { ...theme, palette: palettes.dark, themeName: "Dark" };
|
||||
export const light = { ...theme, palette: palettes.dark, themeName: "Light" };
|
||||
export const light = { ...theme, palette: palettes.light, themeName: "Light" };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@freesewing/patterns",
|
||||
"version": "0.33.0",
|
||||
"version": "0.32.4",
|
||||
"description": "An umbrella package for all FreeSewing patterns",
|
||||
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
|
||||
"homepage": "https://freesewing.org/",
|
||||
|
@ -23,34 +23,34 @@
|
|||
"main": "dist/index.js",
|
||||
"module": "dist/index.mjs",
|
||||
"scripts": {
|
||||
"clean": "rimraf ../../dist/patterns",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o ../../dist/patterns/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o ../../dist/patterns/index.mjs -f es",
|
||||
"clean": "rimraf dist",
|
||||
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
|
||||
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
|
||||
"build": "npm run clean && npm run nodebuild && npm run modulebuild",
|
||||
"test": "echo \"patterns: No tests configured. Perhaps you'd like to do this?\" && exit 0",
|
||||
"pubtest": "npm publish --registry http://localhost:6662"
|
||||
},
|
||||
"dependencies": {
|
||||
"@freesewing/aaron": "^0.33.0",
|
||||
"@freesewing/bent": "^0.33.0",
|
||||
"@freesewing/brian": "^0.33.0",
|
||||
"@freesewing/bruce": "^0.33.0",
|
||||
"@freesewing/carlita": "^0.33.0",
|
||||
"@freesewing/carlton": "^0.33.0",
|
||||
"@freesewing/cathrin": "^0.33.0",
|
||||
"@freesewing/florent": "^0.33.0",
|
||||
"@freesewing/huey": "^0.33.0",
|
||||
"@freesewing/hugo": "^0.33.0",
|
||||
"@freesewing/aaron": "^0.32.4",
|
||||
"@freesewing/bent": "^0.32.4",
|
||||
"@freesewing/brian": "^0.32.4",
|
||||
"@freesewing/bruce": "^0.32.4",
|
||||
"@freesewing/carlita": "^0.32.4",
|
||||
"@freesewing/carlton": "^0.32.4",
|
||||
"@freesewing/cathrin": "^0.32.4",
|
||||
"@freesewing/florent": "^0.32.4",
|
||||
"@freesewing/huey": "^0.32.4",
|
||||
"@freesewing/hugo": "^0.32.4",
|
||||
"@freesewing/jaeger": "0.2.1",
|
||||
"@freesewing/shin": "^0.33.0",
|
||||
"@freesewing/simon": "^0.33.0",
|
||||
"@freesewing/sven": "^0.33.0",
|
||||
"@freesewing/tamiko": "^0.33.0",
|
||||
"@freesewing/trayvon": "^0.33.0",
|
||||
"@freesewing/wahid": "^0.33.0"
|
||||
"@freesewing/shin": "^0.32.4",
|
||||
"@freesewing/simon": "^0.32.4",
|
||||
"@freesewing/sven": "^0.32.4",
|
||||
"@freesewing/tamiko": "^0.32.4",
|
||||
"@freesewing/trayvon": "^0.32.4",
|
||||
"@freesewing/wahid": "^0.32.4"
|
||||
},
|
||||
"files": [
|
||||
"../../dist/packages/patterns/*",
|
||||
"dist/*",
|
||||
"README.md",
|
||||
"package.json"
|
||||
],
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue