1
0
Fork 0

Merge pull request #3 from freesewing/develop

catchup
This commit is contained in:
Wouter van Wageningen 2019-09-30 07:59:38 -07:00 committed by GitHub
commit 9fcdbe9398
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
426 changed files with 16269 additions and 9690 deletions

14
.gitignore vendored
View file

@ -9,7 +9,7 @@ packages/components/Emblem
packages/components/Example
packages/components/Footer
packages/components/Icon
packages/components/Linedrawing
packages/components/LineDrawing
packages/components/Logo
packages/components/Navbar
packages/components/Ogol
@ -31,6 +31,9 @@ packages/utils/defaultGist
packages/utils/defaultSa
packages/utils/formatImperial
packages/utils/formatMm
packages/utils/measurementAsMm
packages/utils/measurementDiffers
packages/utils/neckstimate
packages/utils/optionDefault
packages/utils/optionType
packages/utils/roundMm
@ -40,10 +43,11 @@ packages/utils/sliderStep
packages/utils/smallestImperialStep
packages/utils/storage
packages/utils/tiler
packages/utils/measurementAsMm
packages/utils/validateEmail
packages/utils/validateTld
packages/*/example/yarn.lock
# dependencies
node_modules
@ -67,3 +71,9 @@ yarn-debug.log*
yarn-error.log*
lerna-debug.log*
packages/core/.nyc_output
packages/i18n/sort.sh
packages/create-freesewing-pattern/index.js
packages/create-freesewing-pattern/lib/cli.js
.gitignore
scripts/taskrunner.sh
scripts/verdaccio.sh

212
CHANGELOG.md Normal file
View file

@ -0,0 +1,212 @@
# Change log for: FreeSewing (global)
## Unreleased
### components
#### Changed
- Added Penelope and Waralee linedrawings
#### Fixed
- Fixed display of nested option in SampleConfigurator
- Fixed conflicting key values in React components
### core
#### Changed
- The pattern super constructor now sets a `config` property that holds the pattern configuration. This means that unlike before, there is no need to instantiate a pattern to access its config. You can just import the pattern, and it's config property will contain the pattern config.
### i18n
#### Added
- Added translations for Penelope, Waralee, and Simone
### penelope
#### Added
- Added the Penelope Pencil Skirt pattern by @woutervdub
### simon
#### Changed
- [#123](https://github.com/freesewing/freesewing/issues/123): Added a box pleat option to Simon
- Added the `backDarts` option to control the inclusion of back darts
- Added the `backDartsShaping` option to control the amount of shaping by the back darts
- Changed the defaults to slightly reduce the ease and adapt the sleevecap
#### Fixed
- Fixed an issue where the store wasn't properly initialized causing hips and waist ease to be set incorrectly
- Added a missing paperless dimension for the waist
- Fixed an issue where the split yoke option was not taken into account correctly
### simone
#### Added
- Added the Simone shirt pattern
### utils
#### Added
- Added backend methods for administration
### waralee
#### Added
- Added the Waralee wrap Pants pattern by @woutervdub
## 2.0.4 (2019-09-27)
### carlton
#### Fixed
- [#108](https://github.com/freesewing/freesewing/issues/108): Fixed incorrect width of the Carlton tail
### components
#### Added
- Advanced options and settings are now hidden by default in DraftConfigurator
#### Fixed
- [#104](https://github.com/freesewing/freesewing/issues/104): Fixed incorrect embed setting on Workbench pattern export
## 2.0.3 (2019-09-15)
### bruce
#### Fixed
- [#106](https://github.com/freesewing/freesewing/issues/106): Fix incorrect hem allowance
### components
#### Changed
- Tweaked DraftConfigurator tags to match CSS rules after frontend upgrade to react-intl v3
### create-freesewing-pattern
#### Fixed
- Updated example package.json to use latest tag rather than beta
### utils
#### Fixed
- Fix measurementDiffers to pass breasts parameter to necstimate
## 2.0.2 (2019-09-06)
### benjamin
#### Fixed
- Added bandLength option to fit optiongroup (it was missing)
### components
#### Fixed
- [#104](https://github.com/freesewing/freesewing.org/issues/104): Changed `onDragEnd` to `onChangeCommitted` in slider element (change in material-ui API when slider came out of beta)
- Workbench now also lets you preload a `withBreasts` set of measurements
- DraftConfigurator now properly styles pattern options 3 levels deep
- [#105](https://github.com/freesewing/freesewing.org/issues/105): Moved state change in render loop to useEffect
### create-freesewing-pattern
#### Changed
- Updated dependencies
#### Fixed
- Added missing `file-saver` dependency
### css-theme
#### Fixed
- Updated styles for DraftConfigurator component for pattern options 3 levels deep
### i18n
#### Added
- [#90](https://github.com/freesewing/freesewing/issues/90): Added missing option translations for Benjamin, Florent, Sandy, Shin, and Theo
### jaeger
#### Fixed
- [#76](https://github.com/freesewing/freesewing.org/issues/76): Fixed a typo in Jaeger that was causing the side vent length to be wrong
### simon
#### Fixed
- [#100](https://github.com/freesewing/freesewing.org/issues/100): Updated simon with more sensible defaults for ease options
- [#102](https://github.com/freesewing/freesewing.org/issues/102): Fixed 'Snippets not defined' error when drafting a seperate button placket
- [#103](https://github.com/freesewing/freesewing.org/issues/103): Fixed 'hemSa not defined' when drafting paperless Simon without seam allowance
### utils
#### Fixed
- Removed lingering debug statement in formatImperial
## 2.0.1 (2019-09-01)
### models
#### Added
- Expanded the size ranges available.
- Added the `withBreasts` models which were missing in earlier releases.
#### Changed
- The models data is now based on the data from the `neckstimate` method in the utils package.
#### Fixed
- [#86](https://github.com/freesewing/freesewing/issues/86): The `seatCircumference` measurement was missing, thus making it unavailable on the website
### theo
#### Fixed
- [#78](https://github.com/freesewing/freesewing/issues/78): Removed inherited notches from fly shield and side piece.
### utils
#### Added
- The `measurementDiffers` method is new.
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,8 +1,3 @@
> **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="Visit freesewing.org" href="https://freesewing.org/">
<img src="https://freesewing.org/img/logo/black.svg" align="center" width="150px" alt="Freesewing logo"/>
@ -38,7 +33,7 @@
><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"
href="https://gitter.im/freesewing/chat"
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"/>
@ -56,7 +51,7 @@
## About freesewing
FreeSewing is JavaScript library for made-to-measure sewing patterns.
FreeSewing is on open source platform for made-to-measure sewing patterns.
## Links
@ -76,8 +71,6 @@ FreeSewing is JavaScript library for made-to-measure sewing patterns.
- Renders to SVG
- Run in the browser as well as on the server with Node.js
## Getting started
## Documentation
This repository is a rewrite of [freesewing/core](https://github.com/freesewing/core) in JavaScript.
It is an ongoing project, and not ready for prime-time yet. Watch this space.
Please go to [freesewing.dev](https://freesewing.dev) for our developer documentation.

127
config/changelog.yaml Normal file
View file

@ -0,0 +1,127 @@
Unreleased:
date:
Added:
i18n:
- Added translations for Penelope, Waralee, and Simone
simone:
- Added the Simone shirt pattern
penelope:
- Added the Penelope Pencil Skirt pattern by @woutervdub
utils:
- Added backend methods for administration
waralee:
- Added the Waralee wrap Pants pattern by @woutervdub
Changed:
core:
- The pattern super constructor now sets a `config` property that
holds the pattern configuration. This means that unlike before, there
is no need to instantiate a pattern to access its config. You can just
import the pattern, and it's config property will contain the pattern config.
components:
- Added Penelope and Waralee linedrawings
simon:
- "[#123](https://github.com/freesewing/freesewing/issues/123):
Added a box pleat option to Simon"
- Added the `backDarts` option to control the inclusion of back darts
- Added the `backDartsShaping` option to control the amount of shaping by the back darts
- Changed the defaults to slightly reduce the ease and adapt the sleevecap
Deprecated:
patterns:
- The [@freesewing/patterns](https://www.npmjs.com/package/@freesewing/patterns)
package has been deprecated. Please import our patterns individually.
Removed:
Fixed:
components:
- Fixed display of nested option in SampleConfigurator
- Fixed conflicting key values in React components
simon:
- Fixed an issue where the store wasn't properly initialized causing hips and waist ease
to be set incorrectly
- Added a missing paperless dimension for the waist
- Fixed an issue where the split yoke option was not taken into account correctly
Security:
2.0.4:
date: 2019-09-27
Added:
components:
- Advanced options and settings are now hidden by default in DraftConfigurator
Fixed:
carlton:
- "[#108](https://github.com/freesewing/freesewing/issues/108):
Fixed incorrect width of the Carlton tail"
components:
- "[#104](https://github.com/freesewing/freesewing/issues/104):
Fixed incorrect embed setting on Workbench pattern export"
2.0.3:
date: 2019-09-15
Changed:
components:
- Tweaked DraftConfigurator tags to match CSS rules after frontend upgrade to react-intl v3
Fixed:
bruce:
- "[#106](https://github.com/freesewing/freesewing/issues/106):
Fix incorrect hem allowance"
create-freesewing-pattern:
- Updated example package.json to use latest tag rather than beta
utils:
- Fix measurementDiffers to pass breasts parameter to necstimate
2.0.2:
date: 2019-09-06
Added:
i18n:
- "[#90](https://github.com/freesewing/freesewing/issues/90):
Added missing option translations for Benjamin, Florent, Sandy, Shin, and Theo"
Changed:
create-freesewing-pattern:
- Updated dependencies
Fixed:
benjamin:
- Added bandLength option to fit optiongroup (it was missing)
css-theme:
- Updated styles for DraftConfigurator component for pattern options 3 levels deep
components:
- "[#104](https://github.com/freesewing/freesewing.org/issues/104):
Changed `onDragEnd` to `onChangeCommitted` in slider element
(change in material-ui API when slider came out of beta)"
- Workbench now also lets you preload a `withBreasts` set of measurements
- DraftConfigurator now properly styles pattern options 3 levels deep
- "[#105](https://github.com/freesewing/freesewing.org/issues/105):
Moved state change in render loop to useEffect"
create-freesewing-pattern:
- Added missing `file-saver` dependency
jaeger:
- "[#76](https://github.com/freesewing/freesewing.org/issues/76):
Fixed a typo in Jaeger that was causing the side vent length to be wrong"
simon:
- "[#100](https://github.com/freesewing/freesewing.org/issues/100):
Updated simon with more sensible defaults for ease options"
- "[#102](https://github.com/freesewing/freesewing.org/issues/102):
Fixed 'Snippets not defined' error when drafting a seperate button placket"
- "[#103](https://github.com/freesewing/freesewing.org/issues/103):
Fixed 'hemSa not defined' when drafting paperless Simon without seam allowance"
utils:
- Removed lingering debug statement in formatImperial
2.0.1:
date: 2019-09-01
Added:
utils:
- The `measurementDiffers` method is new.
models:
- Expanded the size ranges available.
- Added the `withBreasts` models which were missing in earlier releases.
Changed:
models:
- The models data is now based on the data from the `neckstimate` method in the utils package.
Fixed:
theo:
- "[#78](https://github.com/freesewing/freesewing/issues/78):
Removed inherited notches from fly shield and side piece."
models:
- "[#86](https://github.com/freesewing/freesewing/issues/86):
The `seatCircumference` measurement was missing, thus making it unavailable on the website"

View file

@ -117,39 +117,14 @@ jaeger:
peer:
"@freesewing/bent": "^{{version}}"
"@freesewing/plugin-buttons": "^{{version}}"
models:
peer:
"@freesewing/utils": "^{{version}}"
mui-theme:
peer:
"@material-ui/core": "^4.0.1"
"react": "^16.8"
"react-dom": "^16.8"
pattern-info:
peer:
"@freesewing/core": "^{{version}}"
"@freesewing/plugin-bundle": "^{{version}}"
patterns:
_:
"@freesewing/aaron": "^{{version}}"
"@freesewing/benjamin": "^{{version}}"
"@freesewing/bent": "^{{version}}"
"@freesewing/brian": "^{{version}}"
"@freesewing/bruce": "^{{version}}"
"@freesewing/carlita": "^{{version}}"
"@freesewing/carlton": "^{{version}}"
"@freesewing/cathrin": "^{{version}}"
"@freesewing/florent": "^{{version}}"
"@freesewing/huey": "^{{version}}"
"@freesewing/hugo": "^{{version}}"
"@freesewing/jaeger": "^{{version}}"
"@freesewing/shin": "^{{version}}"
"@freesewing/simon": "^{{version}}"
"@freesewing/sven": "^{{version}}"
"@freesewing/tamiko": "^{{version}}"
"@freesewing/trayvon": "^{{version}}"
"@freesewing/wahid": "^{{version}}"
peer:
"@freesewing/core": "^{{version}}"
"@freesewing/plugin-bundle": "^{{version}}"
"@freesewing/plugin-buttons": "^{{version}}"
plugin-bundle:
_:
"@freesewing/plugin-cutonfold": "^{{version}}"
@ -165,6 +140,13 @@ simon:
"@freesewing/brian": "^{{version}}"
"@freesewing/plugin-buttons": "^{{version}}"
"@freesewing/plugin-flip": "^{{version}}"
simone:
peer:
"@freesewing/brian": "^{{version}}"
"@freesewing/simon": "^{{version}}"
"@freesewing/plugin-buttons": "^{{version}}"
"@freesewing/plugin-flip": "^{{version}}"
"@freesewing/plugin-bust": "^{{version}}"
utils:
peer:
"tlds": "^0.203.1"

View file

@ -18,8 +18,8 @@ i18n: "Translations for the FreeSewing project"
jaeger: "A FreeSewing pattern for a sport coat style jacket"
models: "Body measurements data for a range of default sizes"
mui-theme: "A Material-UI theme for FreeSewing web UIs"
patterns: "An umbrella package for all FreeSewing patterns"
pattern-info: "Information about available freesewing patterns"
penelope: "A FreeSewing pattern for a pencil skirt"
plugin-banner: "A FreeSewing plugin to repeat text on a path"
plugin-bundle: "An umbrella package of 8 essential FreeSewing build-time plugins"
plugin-bust: "A FreeSewing plugin that helps with bust-adjusting menswear patterns"
@ -44,6 +44,7 @@ rendertest: "A FreeSewing pattern to test (y)our render engine our CSS"
sandy: "A FreeSewing pattern for a circle skirt"
shin: "A FreeSewing pattern for swim trunks"
simon: "A FreeSewing pattern for a button down shirt"
simone: "A FreeSewing pattern for a button down shirt (Simone = Simon for people with breasts)"
sven: "A FreeSewing pattern for a straightforward sweater"
tamiko: "A FreeSewing pattern for a zero-waste top"
theo: "A FreeSewing pattern for classic trousers"
@ -51,3 +52,4 @@ trayvon: "A FreeSewing pattern for a tie"
tutorial: "A FreeSewing pattern for a baby bib that's used in our tutorial"
utils: "A collection of utilities shared across freesewing frontend projects"
wahid: "A FreeSewing pattern for a classic fitted waistcoat"
waralee: "A FreeSewing pattern for wrap pants"

View file

@ -70,6 +70,9 @@ packageJson:
- "defaultSa/*"
- "formatImperial/*"
- "formatMm/*"
- "measurementAsMm/*"
- "measurementDiffers/*"
- "neckstimate/*"
- "optionDefault/*"
- "optionType/*"
- "roundMm/*"
@ -79,7 +82,6 @@ packageJson:
- "smallestImperialStep/*"
- "storage/*"
- "tiler/*"
- "measurementAsMm/*"
- "validateEmail/*"
- "validateTld/*"

View file

@ -0,0 +1,11 @@
# Change log for: {{{fullname}}}
{{{changelog}}}
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -21,7 +21,7 @@
"files": ["dist/*", "README.md", "package.json"],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
{{{badges}}}
# {{{fullname}}}

View file

@ -1,5 +1,5 @@
{
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"npmClient": "yarn",
"command": {
"publish": {

View file

@ -63,26 +63,26 @@
"@storybook/addon-notes": "^5.0.10",
"@storybook/react": "^5.0.10",
"@svgr/rollup": "^4.3.2",
"ava": "^1.2.1",
"ava": "^2.3.0",
"babel-loader": "^8.0.5",
"chai": "^4.1.2",
"chai-string": "^1.4.0",
"chalk": "^2.4.2",
"codecov": "^3.1.0",
"cross-env": "^5.1.4",
"eslint": "^5.0.1",
"cross-env": "^6.0.0",
"eslint": "^6.3.0",
"eslint-config-prettier": "^6.1.0",
"eslint-config-standard": "^11.0.0",
"eslint-config-standard": "^14.1.0",
"eslint-config-standard-react": "^6.0.0",
"eslint-plugin-import": "^2.13.0",
"eslint-plugin-node": "^7.0.1",
"eslint-plugin-prettier": "^2.7.0",
"eslint-plugin-node": "^10.0.0",
"eslint-plugin-prettier": "^3.1.0",
"eslint-plugin-promise": "^4.0.0",
"eslint-plugin-react": "^7.10.0",
"eslint-plugin-standard": "^3.1.0",
"eslint-plugin-standard": "^4.0.1",
"fs-extra": "^8.1.0",
"gh-pages": "^1.2.0",
"husky": "^1.3.1",
"husky": "^3.0.5",
"js-yaml": "^3.13.1",
"jsonlint": "^1.6.3",
"lerna": "^3.13.3",
@ -98,13 +98,13 @@
"react-dom": "^16.4.1",
"react-intl": "^2.8.0",
"react-scripts": "^3.0.0",
"rimraf": "^2.6.3",
"rimraf": "^3.0.0",
"rmfr": "^2.0.0",
"rollup": "1.17.0",
"rollup-plugin-babel": "^4.3.2",
"rollup-plugin-babel-minify": "^8.0.0",
"rollup-plugin-commonjs": "10.0.1",
"rollup-plugin-filesize": "^4.0.1",
"rollup-plugin-filesize": "^6.2.0",
"rollup-plugin-json": "^4.0.0",
"rollup-plugin-node-resolve": "5.2.0",
"rollup-plugin-peer-deps-external": "^2.2.0",
@ -113,7 +113,7 @@
"rollup-plugin-terser": "^4.0.4",
"rollup-plugin-url": "^2.2.1",
"rollup-plugin-yaml": "^1.1.0",
"standard": "^12.0.1",
"standard": "^14.0.2",
"storybook-addon-material-ui": "^0.9.0-alpha.18",
"uglifycss": "^0.0.29",
"verdaccio": ">=3.12.0"
@ -137,7 +137,6 @@
"@freesewing/jaeger": "file:packages/jaeger",
"@freesewing/models": "file:packages/models",
"@freesewing/mui-theme": "file:packages/mui-theme",
"@freesewing/patterns": "file:packages/patterns",
"@freesewing/plugin-banner": "file:packages/plugin-banner",
"@freesewing/plugin-bundle": "file:packages/plugin-bundle",
"@freesewing/plugin-bust": "file:packages/plugin-bust",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/aaron
## Unreleased
**Note:** Version bump only for package aaron
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package aaron
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package aaron
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package aaron
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package aaron
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/aaron"
title="@freesewing/aaron on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1015,6 +1015,11 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-svgattr/-/plugin-svgattr-2.0.0-beta.12.tgz#b6fa094bc2189dd4492e52e3a70b63c2eacccbf6"
integrity sha512-5AD6yj1oGKTO/xW43CtT9h0Wt9wtg1uI6YB1JsAm4IvnpAlqeHTye/NrbQg22GV+6ERrgNEZ5F3lUh97By5Csw==
"@freesewing/plugin-theme@beta":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-theme/-/plugin-theme-2.0.0.tgz#2186cd5a995b4e64953f1a979f138f5b2c5ed76f"
integrity sha512-dKxJi8sz6/fs9Cx3qeOMECEwkqtsH0r4yKVxtZGCnq1jt54VlegwV7QaB1nxxGgmJuzjOKw6Fxj94ymkcZkkPg==
"@freesewing/plugin-title@^2.0.0-beta.12":
version "2.0.0-beta.12"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-title/-/plugin-title-2.0.0-beta.12.tgz#2d6190914fb01cf3b3e2a05d37d1ebfc0440ac8b"
@ -3875,14 +3880,16 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3:
estraverse "^4.1.1"
eslint-utils@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==
version "1.4.2"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
dependencies:
eslint-visitor-keys "^1.0.0"
eslint-visitor-keys@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
version "1.1.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
eslint@^5.16.0:
version "5.16.0"
@ -7257,7 +7264,7 @@ path-type@^3.0.0:
pify "^3.0.0"
"pattern@link:..":
version "2.0.0-beta.29"
version "2.0.0"
pbkdf2@^3.0.3:
version "3.0.17"

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/aaron",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -33,9 +33,9 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43",
"@freesewing/brian": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0",
"@freesewing/brian": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -46,14 +46,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -81,7 +81,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/benjamin
## Unreleased
**Note:** Version bump only for package benjamin
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package benjamin
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package benjamin
## 2.0.2 (2019-09-06)
### Fixed
- Added bandLength option to fit optiongroup (it was missing)
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package benjamin
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/benjamin"
title="@freesewing/benjamin on NPM"

View file

@ -1,27 +1,27 @@
import { version } from "../package.json";
import { version } from '../package.json'
export default {
name: "benjamin",
name: 'benjamin',
version: version,
design: "Wouter Van Wageningen",
code: "Wouter Van Wageningen",
department: "accessories",
type: "pattern",
design: 'Wouter Van Wageningen',
code: 'Wouter Van Wageningen',
department: 'accessories',
type: 'pattern',
difficulty: 3,
tags: ["top", "basics"],
tags: ['top', 'basics'],
optionGroups: {
fit: ["collarEase", "adjustmentRibbon"],
style: ["tipWidth", "knotWidth", "bowLength", "bowStyle", "endStyle"]
fit: ['collarEase', 'adjustmentRibbon', 'bandLength'],
style: ['tipWidth', 'knotWidth', 'bowLength', 'bowStyle', 'endStyle']
},
measurements: ["neckCircumference"],
measurements: ['neckCircumference'],
dependencies: {},
inject: {
bow1: "base",
bow2: "base",
bow3: "base"
bow1: 'base',
bow2: 'base',
bow3: 'base'
},
hide: ["base"],
parts: ["ribbon"],
hide: ['base'],
parts: ['ribbon'],
options: {
transitionLength: 0.7, // 70% of bandLength
bandLength: {
@ -55,13 +55,13 @@ export default {
max: 6
},
bowStyle: {
dflt: "butterfly",
list: ["diamond", "butterfly", "square", "widesquare"]
dflt: 'butterfly',
list: ['diamond', 'butterfly', 'square', 'widesquare']
},
endStyle: {
dflt: "straight",
list: ["straight", "pointed", "rounded"]
dflt: 'straight',
list: ['straight', 'pointed', 'rounded']
},
adjustmentRibbon: { bool: false }
}
};
}

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/benjamin",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"description": "A FreeSewing pattern for a bow tie",
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/",
@ -33,8 +33,8 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -45,14 +45,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -80,7 +80,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/bent
## Unreleased
**Note:** Version bump only for package bent
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package bent
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package bent
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package bent
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package bent
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/bent"
title="@freesewing/bent on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/bent",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -33,9 +33,9 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43",
"@freesewing/brian": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0",
"@freesewing/brian": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -46,14 +46,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -81,7 +81,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/brian
## Unreleased
**Note:** Version bump only for package brian
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package brian
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package brian
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package brian
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package brian
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/brian"
title="@freesewing/brian on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/brian",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -33,8 +33,8 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -45,14 +45,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -80,7 +80,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/bruce
## Unreleased
**Note:** Version bump only for package bruce
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package bruce
## 2.0.3 (2019-09-15)
### Fixed
- [#106](https://github.com/freesewing/freesewing/issues/106): Fix incorrect hem allowance
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package bruce
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package bruce
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/bruce"
title="@freesewing/bruce on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/bruce",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"description": "A FreeSewing pattern for boxer briefs",
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/",
@ -33,8 +33,8 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -45,14 +45,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -80,7 +80,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -31,18 +31,28 @@ export default function(part) {
)
// Path
paths.seam = new Path()
.move(points.topLeft)
.line(points.bottomLeft)
.line(points.bottomRight)
paths.saBase = new Path()
.move(points.bottomRight)
.line(points.tip)
.curve(points.tipCpBottom, points.tipCpTop, points.topLeft)
.line(points.bottomLeft)
paths.hemBase = new Path().move(points.bottomLeft).line(points.bottomRight)
paths.saBase.render = false
paths.hemBase.render = false
paths.seam = paths.saBase
.join(paths.hemBase)
.close()
.attr('class', 'fabric')
// Complete pattern?
if (complete) {
if (sa) paths.sa = paths.seam.offset(sa).attr('class', 'fabric sa')
if (sa) {
paths.sa = paths.saBase
.offset(sa)
.join(paths.hemBase.offset(sa * 2))
.close()
.attr('class', 'fabric sa')
}
points.title = points.topLeft.shiftFractionTowards(points.bottomRight, 0.5)
macro('title', {
at: points.title.shift(-90, 15),

View file

@ -44,12 +44,16 @@ export default function(part) {
points.topRight = points.topRight.shift(90, store.get('frontRise'))
// Path
paths.seam = new Path()
.move(points.topLeft)
paths.saBase = new Path()
.move(points.bottomLeft)
.line(points.topLeft)
.line(points.topRight)
.line(points.bottomRight)
.line(points.bottomLeft)
.line(points.topLeft)
paths.hemBase = new Path().move(points.bottomRight).line(points.bottomLeft)
paths.saBase.render = false
paths.hemBase.render = false
paths.seam = paths.saBase
.join(paths.hemBase)
.close()
.attr('class', 'fabric')
@ -65,7 +69,11 @@ export default function(part) {
title: 'side'
})
if (sa) {
paths.sa = paths.seam.offset(sa * -1).attr('class', 'fabric sa')
paths.sa = paths.saBase
.offset(sa * -1)
.join(paths.hemBase.offset(sa * -2))
.close()
.attr('class', 'fabric sa')
}
macro('grainline', {
from: new Point(points.bottomRight.x / 2, points.bottomRight.y),

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/carlita
## Unreleased
**Note:** Version bump only for package carlita
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package carlita
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package carlita
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package carlita
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package carlita
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/carlita"
title="@freesewing/carlita on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/carlita",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -33,12 +33,12 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43",
"@freesewing/bent": "^2.0.0-beta.43",
"@freesewing/carlton": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0",
"@freesewing/bent": "^2.1.0-alpha.0",
"@freesewing/carlton": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -49,14 +49,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -84,7 +84,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/carlton
## Unreleased
**Note:** Version bump only for package carlton
## 2.0.4 (2019-09-27)
### Fixed
- [#108](https://github.com/freesewing/freesewing/issues/108): Fixed incorrect width of the Carlton tail
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package carlton
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package carlton
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package carlton
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/carlton"
title="@freesewing/carlton on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/carlton",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -33,10 +33,10 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43",
"@freesewing/bent": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0",
"@freesewing/bent": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -47,14 +47,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -82,7 +82,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -19,13 +19,14 @@ export default function(part) {
points.fold2Top = points.cbTop.shift(0, store.get('cbToDart'))
points.fold3Top = points.cbTop.shift(0, store.get('cbToDart') * 2)
points.fold4Top = points.fold3Top.shift(0, store.get('cbToDart') / 2)
points.waistTop = points.fold4Top.shift(0, store.get('dartToSide'))
points.fold5Top = points.fold4Top.shift(0, store.get('cbToDart') / 2)
points.waistTop = points.fold5Top.shift(0, store.get('dartToSide'))
// 12cm will do as we're just drawing a rectangle.
// But check that lenght > 12cm because doll clothes.
let drawnLength = length < 120 ? length : 120
for (let i of ['cb', 'fold1', 'fold2', 'fold3', 'fold4', 'waist']) {
for (let i of ['cb', 'fold1', 'fold2', 'fold3', 'fold4', 'fold5', 'waist']) {
points[i + 'Bottom'] = points[i + 'Top'].shift(-90, drawnLength)
if (i === 'cb' || i === 'waist') {
points[i + 'MidTop'] = points[i + 'Top'].shift(-90, drawnLength * 0.4)
@ -61,6 +62,8 @@ export default function(part) {
.line(points.cbMidBottom)
.move(points.waistMidBottom)
.line(points.waistMidTop)
.move(points.fold5Top)
.line(points.fold5Bottom)
.attr('class', 'fabric dashed')
if (complete) {
@ -110,6 +113,11 @@ export default function(part) {
})
macro('hd', {
from: points.fold4Bottom,
to: points.fold5Bottom,
y: points.cbBottom.y + sa + 15
})
macro('hd', {
from: points.fold5Bottom,
to: points.waistBottom,
y: points.cbBottom.y + sa + 15
})

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/cathrin
## Unreleased
**Note:** Version bump only for package cathrin
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package cathrin
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package cathrin
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package cathrin
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package cathrin
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/cathrin"
title="@freesewing/cathrin on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/cathrin",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -33,8 +33,8 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -45,14 +45,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -80,7 +80,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,48 @@
# Change log for: @freesewing/components
## Unreleased
### Changed
- Added Penelope and Waralee linedrawings
### Fixed
- Fixed display of nested option in SampleConfigurator
- Fixed conflicting key values in React components
## 2.0.4 (2019-09-27)
### Added
- Advanced options and settings are now hidden by default in DraftConfigurator
### Fixed
- [#104](https://github.com/freesewing/freesewing/issues/104): Fixed incorrect embed setting on Workbench pattern export
## 2.0.3 (2019-09-15)
### Changed
- Tweaked DraftConfigurator tags to match CSS rules after frontend upgrade to react-intl v3
## 2.0.2 (2019-09-06)
### Fixed
- [#104](https://github.com/freesewing/freesewing.org/issues/104): Changed `onDragEnd` to `onChangeCommitted` in slider element (change in material-ui API when slider came out of beta)
- Workbench now also lets you preload a `withBreasts` set of measurements
- DraftConfigurator now properly styles pattern options 3 levels deep
- [#105](https://github.com/freesewing/freesewing.org/issues/105): Moved state change in render loop to useEffect
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package components
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/components"
title="@freesewing/components on NPM"

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/components",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -28,18 +28,18 @@
"peerDependencies": {
"react": "^16.8",
"prop-types": "15.7.2",
"@freesewing/pattern-info": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/plugin-theme": "^2.0.0-beta.43",
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/models": "^2.0.0-beta.43",
"@freesewing/examples": "^2.0.0-beta.43",
"@freesewing/rendertest": "^2.0.0-beta.43",
"@freesewing/tutorial": "^2.0.0-beta.43",
"@freesewing/pattern-info": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-theme": "^2.1.0-alpha.0",
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/models": "^2.1.0-alpha.0",
"@freesewing/examples": "^2.1.0-alpha.0",
"@freesewing/rendertest": "^2.1.0-alpha.0",
"@freesewing/tutorial": "^2.1.0-alpha.0",
"typeface-roboto-condensed": "latest",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"react-intl": "^2.8.0",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
@ -71,7 +71,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -1,48 +1,49 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
import Radio from "@material-ui/core/Radio";
import RadioGroup from "@material-ui/core/RadioGroup";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import React, { useState, useEffect } from 'react'
import PropTypes from 'prop-types'
import Radio from '@material-ui/core/Radio'
import RadioGroup from '@material-ui/core/RadioGroup'
import FormControlLabel from '@material-ui/core/FormControlLabel'
const Bool = props => {
const [value, setValue] = useState(props.dflt);
const [value, setValue] = useState(props.dflt)
useEffect(() => {
if (props.value !== value) setValue(props.value)
}, [props.value])
const toggle = () => {
props.updateValue(props.name, !value);
setValue(!value);
};
// Force state update when rerendering due to props change
if (props.value !== value) setValue(props.value);
props.updateValue(props.name, !value)
setValue(!value)
}
return (
<RadioGroup onChange={toggle} value={JSON.stringify(value)}>
<FormControlLabel
control={<Radio color="primary" />}
value="false"
checked={value === "false" || value === false ? true : false}
checked={value === 'false' || value === false ? true : false}
label={props.labels[0]}
className="po-list-item"
/>
<FormControlLabel
control={<Radio color="primary" />}
value="true"
checked={value === "true" || value === true ? true : false}
checked={value === 'true' || value === true ? true : false}
label={props.labels[1]}
className="po-list-item"
/>
</RadioGroup>
);
};
)
}
Bool.propTypes = {
dflt: PropTypes.bool,
labels: PropTypes.array,
updateValue: PropTypes.func.isRequired,
name: PropTypes.string.isRequired
};
}
Bool.defaultProps = {
dflt: false,
labels: ["false", "true"]
};
labels: ['false', 'true']
}
export default Bool;
export default Bool

View file

@ -1,17 +1,18 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
import Radio from "@material-ui/core/Radio";
import RadioGroup from "@material-ui/core/RadioGroup";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import React, { useState, useEffect } from 'react'
import PropTypes from 'prop-types'
import Radio from '@material-ui/core/Radio'
import RadioGroup from '@material-ui/core/RadioGroup'
import FormControlLabel from '@material-ui/core/FormControlLabel'
const FormFieldList = props => {
const [value, setValue] = useState(props.dflt);
const [value, setValue] = useState(props.dflt)
useEffect(() => {
if (props.value !== value) setValue(props.value)
}, [props.value])
const update = evt => {
props.updateValue(props.name, evt.target.value);
setValue(evt.target.value);
};
// Force state update when rerendering due to props change
if (props.value !== value) setValue(props.value);
props.updateValue(props.name, evt.target.value)
setValue(evt.target.value)
}
return (
<RadioGroup onChange={update} value={value}>
@ -26,8 +27,8 @@ const FormFieldList = props => {
/>
))}
</RadioGroup>
);
};
)
}
FormFieldList.propTypes = {
dflt: PropTypes.oneOfType([
@ -38,6 +39,6 @@ FormFieldList.propTypes = {
list: PropTypes.object,
updateValue: PropTypes.func.isRequired,
name: PropTypes.string.isRequired
};
}
export default FormFieldList;
export default FormFieldList

View file

@ -1,26 +1,26 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
import Slider from "@material-ui/core/Slider";
import { withStyles } from "@material-ui/core/styles";
import React, { useState, useEffect } from 'react'
import PropTypes from 'prop-types'
import Slider from '@material-ui/core/Slider'
import { withStyles } from '@material-ui/core/styles'
const PaddedSlider = withStyles({
container: {
padding: "25px 0"
padding: '25px 0'
},
track: { height: "4px" },
thumb: { width: "16px", height: "16px" }
})(Slider);
track: { height: '4px' },
thumb: { width: '16px', height: '16px' }
})(Slider)
const FormFieldSlider = props => {
const [value, setValue] = useState(props.value);
const [value, setValue] = useState(props.value)
useEffect(() => {
if (props.value !== value) setValue(props.value)
}, [props.value])
const update = (evt, newValue) => {
props.updateValue(props.name, newValue, evt);
setValue(newValue);
};
// Force state update when rerendering due to props change
if (props.value !== value) setValue(props.value);
props.updateValue(props.name, newValue, evt)
setValue(newValue)
}
return (
<PaddedSlider
@ -29,15 +29,15 @@ const FormFieldSlider = props => {
max={props.max}
step={props.step}
onChange={update}
onDragEnd={update}
onChangeCommitted={update}
classes={{
track: "slider-track",
thumb: "slider-thumb"
track: 'slider-track',
thumb: 'slider-thumb'
}}
aria-labelledby={props.label}
/>
);
};
)
}
FormFieldSlider.propTypes = {
min: PropTypes.number,
@ -46,13 +46,13 @@ FormFieldSlider.propTypes = {
updateValue: PropTypes.func.isRequired,
name: PropTypes.string.isRequired,
label: PropTypes.oneOfType([PropTypes.string, PropTypes.oneOf([false])])
};
}
FormFieldSlider.defaultProps = {
min: 0,
max: 100,
step: 0.1,
label: false
};
}
export default FormFieldSlider;
export default FormFieldSlider

View file

@ -1,9 +1,9 @@
import React from "react";
import logoPathString from "./logo-path";
import React from 'react'
import logoPathString from './logo-path'
const Snippets = props => {
const fill = { fill: "currentColor", stroke: "none" };
const stroke = { fill: "none", stroke: "currentColor" };
const fill = { fill: 'currentColor', stroke: 'none' }
const stroke = { fill: 'none', stroke: 'currentColor' }
return [
<g id="notch" className="snippet notch" key="notch">
<circle cy="0" cx="0" r="1.4" {...fill} />
@ -22,73 +22,32 @@ const Snippets = props => {
</g>,
<g id="buttonhole" className="snippet buttonhole" key="buttonhole">
<path d="M -1,-5 L 1,-5 L 1,5 L -1,5 z" {...stroke} />
<path
d="M -1,-5 L 1,-5 L 1,-4 L -1,-4 z M -1,5 L 1,5 L 1,4 L -1,4 z"
{...fill}
/>
<path d="M -1,-5 L 1,-5 L 1,-4 L -1,-4 z M -1,5 L 1,5 L 1,4 L -1,4 z" {...fill} />
</g>,
<radialGradient
id="snap-male-grad"
cx="50%"
cy="50%"
r="50%"
fx="50%"
fy="50%"
>
<stop
offset="30%"
style={{ stopColor: "rgb(235,235,235)", stopOpacity: 1 }}
/>
<stop
offset="80%"
style={{ stopColor: "rgb(100,100,100)", stopOpacity: 1 }}
/>
<radialGradient key="grad" id="snap-male-grad" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="30%" style={{ stopColor: 'rgb(235,235,235)', stopOpacity: 1 }} />
<stop offset="80%" style={{ stopColor: 'rgb(100,100,100)', stopOpacity: 1 }} />
</radialGradient>,
<g id="snap-male">
<circle
cx="0"
cy="0"
r="3.4"
style={{ stroke: "#666", fill: "#dddddd", strokeWidth: 0.3 }}
/>
<circle
cx="0"
cy="0"
r="1.8"
style={{ stroke: "none", fill: "url(#snap-male-grad)" }}
/>
<g id="snap-male" key="snapmale">
<circle cx="0" cy="0" r="3.4" style={{ stroke: '#666', fill: '#dddddd', strokeWidth: 0.3 }} />
<circle cx="0" cy="0" r="1.8" style={{ stroke: 'none', fill: 'url(#snap-male-grad)' }} />
<path
style={{ fill: "none", stroke: "#666", strokeWidth: 0.2 }}
style={{ fill: 'none', stroke: '#666', strokeWidth: 0.2 }}
d="M -2,0 L -3,0 M 2,0 L 3,0 M 0,2 L 0,3 M 0,-2 L 0,-3 M 1.5,1.5 L 2.1,2.1 M -1.5,1.5 L -2.1,2.1 M -1.5,-1.5 L -2.1,-2.1 M 1.5,-1.5 L 2.1,-2.1"
/>
</g>,
<g id="snap-female">
<circle
cx="0"
cy="0"
r="3.4"
style={{ stroke: "#666", fill: "#bbbbbb", strokeWidth: 0.3 }}
/>
<circle
cx="0"
cy="0"
r="2"
style={{ stroke: "#666", fill: "#dddddd", strokeWidth: 0.4 }}
/>
<g id="snap-female" key="snapfemale">
<circle cx="0" cy="0" r="3.4" style={{ stroke: '#666', fill: '#bbbbbb', strokeWidth: 0.3 }} />
<circle cx="0" cy="0" r="2" style={{ stroke: '#666', fill: '#dddddd', strokeWidth: 0.4 }} />
<path
style={{ fill: "none", stroke: "#666", strokeWidth: 0.5 }}
style={{ fill: 'none', stroke: '#666', strokeWidth: 0.5 }}
d="M -1.7,-1 L -1.7,1 M 1.7,-1 L 1.7,1"
/>
</g>,
<g
id="logo"
className="snippet logo"
transform="translate(-23 -36)"
key="logo"
>
<g id="logo" className="snippet logo" transform="translate(-23 -36)" key="logo">
<path d={logoPathString} {...fill} />
</g>
];
};
]
}
export default Snippets;
export default Snippets

View file

@ -1,55 +1,56 @@
import React from "react";
import React from 'react'
const DesignPath = props => {
let output = [];
let i = 0;
let from = null;
let output = []
let i = 0
let from = null
for (let op of props.path.ops) {
if (op.type === "curve") {
let key = props.part + props.name + i
if (op.type === 'curve') {
output.push(
<path
key={i}
key={key + 'cp1'}
d={`M ${from.x},${from.y} L ${op.cp1.x},${op.cp1.y}`}
className="design path cp"
/>
);
i++;
)
i++
output.push(
<path
key={i}
key={key + 'cp2'}
d={`M ${op.to.x},${op.to.y} L ${op.cp2.x},${op.cp2.y}`}
className="design path cp"
/>
);
i++;
)
i++
output.push(
<circle
key={i}
key={key + 'cpcirc1'}
cx={op.cp1.x}
cy={op.cp1.y}
r={3.5}
className="design path cp"
/>
);
i++;
)
i++
output.push(
<circle
key={i}
key={key + 'cpcirc2'}
cx={op.cp2.x}
cy={op.cp2.y}
r={3.5}
className="design path cp"
/>
);
from = op.to;
} else if (op.type !== "close") from = op.to;
)
from = op.to
} else if (op.type !== 'close') from = op.to
}
output.push(
<path
key={"dpath-" + props.name}
key={props.part + props.name + 'dpath'}
d={props.path.asPathstring()}
onClick={() =>
props.raiseEvent("path", {
props.raiseEvent('path', {
path: props.path,
name: props.name,
part: props.part
@ -57,8 +58,8 @@ const DesignPath = props => {
}
className="design hovertrap"
/>
);
return output;
};
)
return output
}
export default DesignPath;
export default DesignPath

View file

@ -0,0 +1,4 @@
import React from 'react'
import PatternOptionBool from '../PatternOptionBool'
export default props => <PatternOptionBool {...props} name="advanced" />

View file

@ -0,0 +1,22 @@
import React from 'react'
import { storiesOf } from '@storybook/react'
import Sa from '.'
const props = {
raiseEvent: (type, data) => console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => console.log(`Updated setting ${name}, value is now: ${value}`),
name: 'sa',
dflt: 'dflt',
title: 'Seam allowance',
desc:
"This is the seam allowance description. I'm wrapped in a p tag. This component only sets the CSS class on a non-default value. It's up to you to supply the CSS to style it.",
labels: {
none: 'No seam allowance',
dflt: 'Standard seam allowance',
custom: 'Custom seam allowance'
}
}
storiesOf('Low level/DraftSettingSa', module)
.add('Metric', () => <Sa {...props} units="metric" />)
.add('Imperial', () => <Sa {...props} units="imperial" />)

View file

@ -1,51 +1,50 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
import { FormattedMessage } from "react-intl";
import DraftSettingSa from "../DraftSettingSa";
import DraftSettingMargin from "../DraftSettingMargin";
import DraftSettingComplete from "../DraftSettingComplete";
import DraftSettingPaperless from "../DraftSettingPaperless";
import DraftSettingUnits from "../DraftSettingUnits";
import DraftSettingLanguage from "../DraftSettingLanguage";
import DraftSettingOnly from "../DraftSettingOnly";
import RightIcon from "@material-ui/icons/KeyboardArrowRight";
import React, { useState } from 'react'
import PropTypes from 'prop-types'
import { FormattedMessage } from 'react-intl'
import DraftSettingSa from '../DraftSettingSa'
import DraftSettingMargin from '../DraftSettingMargin'
import DraftSettingComplete from '../DraftSettingComplete'
import DraftSettingPaperless from '../DraftSettingPaperless'
import DraftSettingAdvanced from '../DraftSettingAdvanced'
import DraftSettingUnits from '../DraftSettingUnits'
import DraftSettingLanguage from '../DraftSettingLanguage'
import DraftSettingOnly from '../DraftSettingOnly'
import RightIcon from '@material-ui/icons/KeyboardArrowRight'
const DraftSettings = props => {
const [expanded, setExpanded] = useState([]);
const [expanded, setExpanded] = useState([])
const toggleGroup = group => {
let shown = expanded.slice(0);
let index = shown.indexOf(group);
if (index === -1) shown.push(group);
else shown.splice(index, 1);
setExpanded(shown);
};
let shown = expanded.slice(0)
let index = shown.indexOf(group)
if (index === -1) shown.push(group)
else shown.splice(index, 1)
setExpanded(shown)
}
const getDefault = setting => {
if (props.recipe && typeof props.recipe.settings[setting] !== "undefined")
return props.recipe.settings[setting];
if (props.recipe && typeof props.recipe.settings[setting] !== 'undefined')
return props.recipe.settings[setting]
switch (setting) {
case "sa":
return 10;
case "only":
return "dflt";
case "complete":
return true;
case "margin":
return 2;
case "units":
return props.units;
case 'sa':
return 10
case 'only':
return 'dflt'
case 'complete':
return true
case 'margin':
return 2
case 'units':
return props.units
default:
return false;
return false
}
};
}
let noyes = [
<FormattedMessage id="app.no" />,
<FormattedMessage id="app.yes" />
];
let noyes = [<FormattedMessage id="app.no" />, <FormattedMessage id="app.yes" />]
let hideshow = [<FormattedMessage id="app.hide" />, <FormattedMessage id="app.show" />]
let units = {
metric: <FormattedMessage id="app.metricUnits" />,
imperial: <FormattedMessage id="app.imperialUnits" />
};
}
const addProps = setting => {
const labels = {
sa: {
@ -58,8 +57,9 @@ const DraftSettings = props => {
custom: <FormattedMessage id="app.custom" />
},
paperless: noyes,
complete: noyes
};
advanced: hideshow,
complete: hideshow
}
let childProps = {
raiseEvent: props.raiseEvent,
updateValue: props.updateValue,
@ -69,80 +69,74 @@ const DraftSettings = props => {
labels: labels[setting],
noDocs: props.noDocs,
dflt: getDefault(setting)
};
childProps.title = (
<FormattedMessage id={"settings." + setting + ".title"} />
);
childProps.desc = (
<FormattedMessage id={"settings." + setting + ".description"} />
);
if (setting === "only") {
childProps.customDflt = [];
childProps.parts = {};
}
childProps.title = <FormattedMessage id={'settings.' + setting + '.title'} />
childProps.desc = <FormattedMessage id={'settings.' + setting + '.description'} />
if (setting === 'only') {
childProps.customDflt = []
childProps.parts = {}
if (props.config.draftOrder) {
for (let part of props.config.draftOrder)
childProps.parts[part] = <FormattedMessage id={"parts." + part} />;
childProps.parts[part] = <FormattedMessage id={'parts.' + part} />
}
}
if (
typeof props.gist !== "undefined" &&
typeof props.gist.settings !== "undefined" &&
typeof props.gist.settings[setting] !== "undefined"
typeof props.gist !== 'undefined' &&
typeof props.gist.settings !== 'undefined' &&
typeof props.gist.settings[setting] !== 'undefined'
)
childProps.value = props.gist.settings[setting];
else childProps.value = null;
childProps.value = props.gist.settings[setting]
else childProps.value = null
return childProps;
};
return childProps
}
let groups = {
preferences: [
<DraftSettingSa {...addProps("sa")} />,
<DraftSettingPaperless {...addProps("paperless")} />,
<DraftSettingComplete {...addProps("complete")} />
],
advanced: [
<DraftSettingOnly {...addProps("only")} />,
<DraftSettingMargin {...addProps("margin")} />,
<DraftSettingUnits {...addProps("units")} list={units} />,
<DraftSettingLanguage {...addProps("locale")} />
<DraftSettingLanguage {...addProps('locale')} />,
<DraftSettingUnits {...addProps('units')} list={units} />,
<DraftSettingComplete {...addProps('complete')} />,
<DraftSettingMargin {...addProps('margin')} />,
<DraftSettingOnly {...addProps('only')} />
]
};
}
return (
<ul className="config l2">
{Object.keys(groups).map(group => {
let open = true;
if (expanded.indexOf(group) === -1) open = false;
let children = null;
if (open) children = groups[group].map(component => component);
return (
<React.Fragment key={group}>
<li
className={open ? "expanded" : "collapsed"}
key={group + "-ghead"}
>
<span onClick={() => toggleGroup(group)}>
<RightIcon
className={
"icon-col-exp " + (open ? "expanded" : "collapsed")
}
/>
<FormattedMessage id={"optiongroups." + group} />
</span>
</li>
{children}
</React.Fragment>
);
})}
</ul>
);
};
<React.Fragment>
<ul className="config l2 nogroups">
<DraftSettingSa {...addProps('sa')} />
<DraftSettingPaperless {...addProps('paperless')} />
<DraftSettingAdvanced {...addProps('advanced')} />
</ul>
{props.gist.settings.advanced ? (
<ul className="config l2">
{Object.keys(groups).map(group => {
let open = true
if (expanded.indexOf(group) === -1) open = false
let children = null
if (open) children = groups[group].map(component => component)
return (
<React.Fragment key={group}>
<li className={open ? 'expanded' : 'collapsed'} key={group + '-ghead'}>
<span onClick={() => toggleGroup(group)}>
<RightIcon className={'icon-col-exp ' + (open ? 'expanded' : 'collapsed')} />
<FormattedMessage id={'optiongroups.' + group} />
</span>
</li>
{children}
</React.Fragment>
)
})}
</ul>
) : null}
</React.Fragment>
)
}
DraftSettings.propTypes = {
config: PropTypes.object.isRequired
};
}
DraftSettings.defaultProps = {};
DraftSettings.defaultProps = {}
export default DraftSettings;
export default DraftSettings

View file

@ -1,104 +1,104 @@
import React from "react";
import PropTypes from "prop-types";
import Pct from "../PatternOptionPercentage";
import Deg from "../PatternOptionDegree";
import Mm from "../PatternOptionMillimeter";
import Bool from "../PatternOptionBool";
import List from "../PatternOptionList";
import Count from "../PatternOptionCount";
import optionType from "@freesewing/utils/optionType";
import optionDefault from "@freesewing/utils/optionDefault";
import { FormattedMessage } from "react-intl";
import { injectIntl } from "react-intl";
import React from 'react'
import PropTypes from 'prop-types'
import Pct from '../PatternOptionPercentage'
import Deg from '../PatternOptionDegree'
import Mm from '../PatternOptionMillimeter'
import Bool from '../PatternOptionBool'
import List from '../PatternOptionList'
import Count from '../PatternOptionCount'
import optionType from '@freesewing/utils/optionType'
import optionDefault from '@freesewing/utils/optionDefault'
import { FormattedMessage } from 'react-intl'
import { injectIntl } from 'react-intl'
import RightIcon from '@material-ui/icons/KeyboardArrowRight'
const OptionGroup = props => {
const renderOption = (name, sub = false) => {
let option = props.config.options[name];
let type = optionType(option);
let stringKey = `options.${props.config.name}.${name}.`;
let option = props.config.options[name]
let type = optionType(option)
let stringKey = `options.${props.config.name}.${name}.`
let extraProps = {
name,
dflt: optionDefault(name, props.config.options[name], props.recipe),
units: props.units,
updateValue: props.updateValue,
raiseEvent: props.raiseEvent,
title: <FormattedMessage id={stringKey + "title"} />,
desc: <FormattedMessage id={stringKey + "description"} />,
title: <FormattedMessage id={stringKey + 'title'} />,
desc: <FormattedMessage id={stringKey + 'description'} />,
intl: props.intl,
pattern: props.config.name,
key: name,
noDocs: props.noDocs
};
if (
typeof props.gist !== "undefined" &&
typeof props.gist.settings !== "undefined" &&
typeof props.gist.settings.options !== "undefined" &&
typeof props.gist.settings.options[name] !== "undefined"
)
extraProps.value = props.gist.settings.options[name];
else extraProps.value = null;
let noyes = [
<FormattedMessage id="app.no" />,
<FormattedMessage id="app.yes" />
];
switch (type) {
case "pct":
return <Pct {...option} {...extraProps} />;
break;
case "deg":
return <Deg {...option} {...extraProps} />;
break;
case "mm":
return <Mm {...option} {...extraProps} units={props.units} />;
break;
case "bool":
return <Bool {...option} {...extraProps} labels={noyes} />;
break;
case "list":
return <List {...option} {...extraProps} />;
break;
case "count":
return <Count {...option} {...extraProps} />;
break;
default:
throw new Error("Unsupported option type: " + type);
}
};
if (
typeof props.gist !== 'undefined' &&
typeof props.gist.settings !== 'undefined' &&
typeof props.gist.settings.options !== 'undefined' &&
typeof props.gist.settings.options[name] !== 'undefined'
)
extraProps.value = props.gist.settings.options[name]
else extraProps.value = null
let noyes = [<FormattedMessage id="app.no" />, <FormattedMessage id="app.yes" />]
switch (type) {
case 'pct':
return <Pct {...option} {...extraProps} />
break
case 'deg':
return <Deg {...option} {...extraProps} />
break
case 'mm':
return <Mm {...option} {...extraProps} units={props.units} />
break
case 'bool':
return <Bool {...option} {...extraProps} labels={noyes} />
break
case 'list':
return <List {...option} {...extraProps} />
break
case 'count':
return <Count {...option} {...extraProps} />
break
default:
throw new Error('Unsupported option type: ' + type)
}
}
return (
<React.Fragment>
{props.options.map(name => {
//let key = name;
let output = [];
if (typeof name === "object") {
let output = []
if (typeof name === 'object') {
//key = Object.keys(name).pop();
// Subgroup
for (let subGroup of Object.keys(name)) {
let children = []
for (let option of name[subGroup]) children.push(renderOption(option, true))
output.push(
<span key={subGroup + "-title"} className="subheading">
<FormattedMessage id={"optiongroups." + subGroup} />
</span>
);
let children = [];
for (let option of name[subGroup])
children.push(renderOption(option, true));
output.push(<ul className="config l4">{children}</ul>);
<li>
<span key={subGroup + '-title'} className="subheading">
<RightIcon className="icon-col-exp expanded" />
<FormattedMessage id={'optiongroups.' + subGroup} />
</span>
<ul className="config l4">{children}</ul>
</li>
)
}
} else output.push(renderOption(name));
} else output.push(renderOption(name))
return output;
return output
})}
</React.Fragment>
);
};
)
}
OptionGroup.propTypes = {
config: PropTypes.object.isRequired,
options: PropTypes.array.isRequired,
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
};
units: PropTypes.oneOf(['metric', 'imperial']).isRequired
}
OptionGroup.defaultProps = {};
OptionGroup.defaultProps = {}
export default injectIntl(OptionGroup);
export default injectIntl(OptionGroup)

View file

@ -1,30 +1,30 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
import OptionGroup from "../OptionGroup";
import { FormattedMessage } from "react-intl";
import RightIcon from "@material-ui/icons/KeyboardArrowRight";
import React, { useState } from 'react'
import PropTypes from 'prop-types'
import OptionGroup from '../OptionGroup'
import { FormattedMessage } from 'react-intl'
import RightIcon from '@material-ui/icons/KeyboardArrowRight'
const PatternOptions = props => {
const [expanded, setExpanded] = useState([]);
const [expanded, setExpanded] = useState([])
const toggleGroup = group => {
let shown = expanded.slice(0);
let index = shown.indexOf(group);
if (index === -1) shown.push(group);
else shown.splice(index, 1);
setExpanded(shown);
};
let shown = expanded.slice(0)
let index = shown.indexOf(group)
if (index === -1) shown.push(group)
else shown.splice(index, 1)
setExpanded(shown)
}
const renderGroup = group => {
let open = true;
if (expanded.indexOf(group) === -1) open = false;
let output = [];
let children = null;
let open = true
if (expanded.indexOf(group) === -1) open = false
let output = []
let children = null
if (expanded.indexOf(group) !== -1)
children = (
<ul className="config l3">
<OptionGroup
noDocs={props.noDocs}
key={group + "-group"}
key={group + '-group'}
units={props.units}
config={props.config}
gist={props.gist}
@ -34,34 +34,35 @@ const PatternOptions = props => {
raiseEvent={props.raiseEvent}
/>
</ul>
);
)
output.push(
<li className={open ? "expanded" : "collapsed"} key={group + "-ghead"}>
<li className={open ? 'expanded' : 'collapsed'} key={group + '-ghead'}>
<span onClick={() => toggleGroup(group)}>
<RightIcon
className={"icon-col-exp " + (open ? "expanded" : "collapsed")}
/>
<FormattedMessage id={"optiongroups." + group} />
<RightIcon className={'icon-col-exp ' + (open ? 'expanded' : 'collapsed')} />
<FormattedMessage id={'optiongroups.' + group} />
</span>
{children}
</li>
);
)
return output;
};
return output
}
return (
<ul className="config l2">
{Object.keys(props.config.optionGroups).map(group => renderGroup(group))}
</ul>
);
};
const children = []
for (let group in props.config.optionGroups) {
if (props.gist.settings.advanced || group !== 'advanced') {
children.push(renderGroup(group))
}
}
return <ul className="config l2">{children}</ul>
}
PatternOptions.propTypes = {
config: PropTypes.object.isRequired,
raiseEvent: PropTypes.func
};
}
PatternOptions.defaultProps = {};
PatternOptions.defaultProps = {}
export default PatternOptions;
export default PatternOptions

View file

@ -1,52 +1,52 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
import { FormattedMessage } from "react-intl";
import PatternOptions from "./PatternOptions";
import DraftSettings from "./DraftSettings";
import React, { useState } from 'react'
import PropTypes from 'prop-types'
import { FormattedMessage } from 'react-intl'
import PatternOptions from './PatternOptions'
import DraftSettings from './DraftSettings'
const DraftConfigurator = props => {
const [expanded, setExpanded] = useState([]);
const [expanded, setExpanded] = useState([])
return (
<ul className="config l1">
<li>
<FormattedMessage id="app.patternOptions" />
<span>
<FormattedMessage id="app.patternOptions" />
</span>
<PatternOptions
noDocs={props.noDocs}
config={props.config}
gist={props.gist}
recipe={props.recipe}
updateValue={(name, value) =>
props.updateGist(value, "settings", "options", name)
}
updateValue={(name, value) => props.updateGist(value, 'settings', 'options', name)}
raiseEvent={props.raiseEvent}
units={props.units}
/>
</li>
<li>
<FormattedMessage id="app.draftSettings" />
<span>
<FormattedMessage id="app.settings" />
</span>
<DraftSettings
noDocs={props.noDocs}
config={props.config}
gist={props.gist}
recipe={props.recipe}
updateValue={(name, value) =>
props.updateGist(value, "settings", name)
}
updateValue={(name, value) => props.updateGist(value, 'settings', name)}
raiseEvent={props.raiseEvent}
units={props.units}
/>
</li>
</ul>
);
};
)
}
DraftConfigurator.propTypes = {
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
};
units: PropTypes.oneOf(['metric', 'imperial']).isRequired
}
DraftConfigurator.defaultProps = {
noDocs: false
};
}
export default DraftConfigurator;
export default DraftConfigurator

View file

@ -18,7 +18,7 @@ const Footer = props => {
left: {
blog: 'https://' + props.language + '.freesewing.org/blog',
aboutFreesewing: 'https://' + props.language + '.freesewing.org/docs/about',
faq: 'https://' + props.language + '.freesewing.org/docs/faq'
faq: 'https://' + props.language + '.freesewing.org/faq'
},
right: {
becomeAPatron: 'https://' + props.language + '.freesewing.org/patrons/join',

View file

@ -3,32 +3,29 @@ import PropTypes from 'prop-types'
import patterns from './patterns'
const LineDrawing = props => {
return (
<svg
style={props.style}
className={'fs linedrawing ' + props.className}
xmlns="http://www.w3.org/2000/svg"
width={props.size}
height={props.size}
viewBox="0 0 270 270"
>
{patterns[props.pattern].map(el => el)}
</svg>
)
const attr = {
style: props.style,
className: 'fs linedrawing ' + props.className,
xmlns: 'http://www.w3.org/2000/svg',
viewBox: '0 0 270 270'
}
if (props.size) {
attr.width = props.size
attr.height = props.size
}
return <svg {...attr}>{patterns[props.pattern].map(el => el)}</svg>
}
LineDrawing.propTypes = {
size: PropTypes.number,
viewBox: PropTypes.string,
pattern: PropTypes.string,
style: PropTypes.object
}
LineDrawing.defaultProps = {
size: 64,
size: false,
className: '',
pattern: 'aaron',
color: false,
style: {}
}

View file

@ -76,7 +76,7 @@ const svg = {
/>
],
carlita: [
<rect class="inside" width="36.455551" height="234.44821" x="46.884758" y="23.763041" />,
<rect className="inside" width="36.455551" height="234.44821" x="46.884758" y="23.763041" />,
<path
className="primary"
d="m 191.24517,25.745198 c 0,0.05771 5.3e-4,0.110241 0,0.167949 l -14.06322,0.377237 -18.26297,5.2002 c 2.14918,15.066533 1.41082,27.431452 -0.87592,38.353732 1.55852,17.188315 2.32116,35.218314 2.08153,54.038564 -0.25083,19.66574 -2.51608,39.79971 -3.22874,60.14051 -0.87138,24.86753 -0.1886,49.98843 -0.19482,74.1903 h 32.67655 5.69888 42.73279 c -0.006,-24.20187 0.6961,-49.32277 -0.17466,-74.1903 -0.71266,-20.3408 -2.99755,-40.47477 -3.24838,-60.14051 -0.23963,-18.82025 0.54212,-36.850249 2.10064,-54.038564 -2.28674,-10.92228 -3.04421,-23.287199 -0.89503,-38.353732 l -17.75809,-5.053438 -19.89801,-0.523999 c 0,-0.05637 5.3e-4,-0.111583 0,-0.167949 l -3.3259,0.08372 z m -142.955611,0.0036 -20.142441,5.751071 c 2.149189,15.066531 1.397392,27.422149 -0.889352,38.34443 1.55852,17.188312 2.32994,35.221411 2.090314,54.041661 -0.250833,19.66574 -2.522799,39.80127 -3.235462,60.14206 -0.871377,24.86753 -0.182395,49.98187 -0.188619,74.18307 H 64.294784 V 101.71782 C 58.908428,76.429557 48.445785,54.598209 48.289559,25.748815 Z m 36.384859,0 C 84.518192,54.598209 74.055549,76.429557 68.669193,101.71782 v 156.49329 h 38.370787 c -0.006,-24.2012 0.68276,-49.31554 -0.18862,-74.18307 -0.71266,-20.34079 -2.98515,-40.47632 -3.23598,-60.14206 -0.23963,-18.82025 0.53231,-36.853352 2.09083,-54.041664 -2.28674,-10.92228 -3.03854,-23.277899 -0.88935,-38.34443 z"
@ -233,6 +233,16 @@ const svg = {
d="M 55.660883,61.69981 41.816658,72.032238 C 50.94618,91.608351 56.060714,125.39448 66.132389,139.08288 62.710885,127.8475 62.418098,105.38728 59.952128,92.055499 58.122131,82.162347 55.957618,72.250301 55.660883,61.69981 Z m 24.451914,0 13.844225,10.332428 C 84.8275,91.608351 76.012816,125.30584 65.941141,138.99424 c 3.421505,-11.23538 7.414441,-33.60696 9.880411,-46.938741 1.829997,-9.893152 3.99451,-19.805198 4.291245,-30.355689 z M 196.18798,44.925968 c -5.61536,0 -9.48696,0.897064 -11.97937,2.200604 l -6.57602,6.014984 c 2.6739,0.873199 5.28444,1.303383 7.823,1.467069 0.008,5.48e-4 0.0164,-5.48e-4 0.0243,0 7.6775,-0.605919 15.33074,0.26376 23.00433,0 0.009,-5.48e-4 0.0164,5.48e-4 0.025,0 2.54091,-0.163295 5.14597,-0.592852 7.823,-1.467069 l -6.55177,-6.014984 c -2.49241,-1.30354 -6.36401,-2.200604 -11.97937,-2.200604 -0.26676,0 -0.539,0.01893 -0.80655,0.02441 -0.26755,-0.0055 -0.53979,-0.02441 -0.80655,-0.02441 z"
/>
],
penelope: [
<path
className="primary"
d="M 19.594116,33.914795 C 3.8686903,102.95337 23.42891,170.82044 25.345459,239.27399 h 92.359311 c 1.91655,-68.45355 21.47677,-136.32062 5.75135,-205.359195 z m 125.689084,0 c -15.72542,69.038575 3.8348,136.905645 5.75134,205.359195 h 92.35932 c 1.91655,-68.45355 21.47677,-136.32062 5.75134,-205.359195 z"
/>,
<path
className="secondary"
d="M 18.267517,41.643677 H 124.89807 Z m 125.804443,0 h 106.63055 z m 53.31116,144.533383 v 53.09693 z"
/>
],
sandy: [
<path
className="primary"
@ -280,6 +290,33 @@ const svg = {
d="M 3.1756236,193.95004 H 16.903804 Z m 112.3124864,0 h 13.73619 z m 19.36418,0 h 13.72823 z m 112.31274,0 h 13.73619 z M 158.17531,85.431303 h 79.59289 m -15.05256,24.574867 v 59.78632 m -49.51627,-59.78632 v 59.78632 m -106.261495,8.66723 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37486 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37486 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.2276 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37487 0.749713,0.74971 m -0.749713,0 0.749713,-0.74971 m 0.549941,0.37487 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.20888 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37512 0.749713,0.74997 m -0.749713,0 0.749713,-0.74997 m 0.549941,0.37512 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.20912 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37487 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37487 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.20888 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37486 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37486 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.22761 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37486 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37486 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.209127 a 0.7398389,0.7398389 0 0 1 -0.739839,0.739839 0.7398389,0.7398389 0 0 1 -0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,0.739839 z m -1.114694,-0.374858 0.749713,0.74997 m -0.749713,0 0.749713,-0.74997 m 0.549941,0.374858 a 0.92479867,0.92479867 0 0 1 -0.924799,0.924798 0.92479867,0.92479867 0 0 1 -0.924798,-0.924798 0.92479867,0.92479867 0 0 1 0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924799,0.924799 z m -0.18496,-15.389672 a 0.7398389,0.7398389 0 0 1 -0.739839,0.739839 0.7398389,0.7398389 0 0 1 -0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,-0.739838 0.7398389,0.7398389 0 0 1 0.739839,0.739838 z m -1.114694,-0.375112 0.749713,0.749971 m -0.749713,0 0.749713,-0.749971 m 0.549941,0.375112 a 0.92479867,0.92479867 0 0 1 -0.924799,0.924799 0.92479867,0.92479867 0 0 1 -0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924798,-0.924798 0.92479867,0.92479867 0 0 1 0.924799,0.924798 z m -0.18496,-15.389976 a 0.7398389,0.7398389 0 0 1 -0.739839,0.739839 0.7398389,0.7398389 0 0 1 -0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,0.739839 z m -1.114694,-0.374907 0.749713,0.749816 m -0.749713,0 0.749713,-0.749816 m 0.549941,0.374907 a 0.92479867,0.92479867 0 0 1 -0.924799,0.924799 0.92479867,0.92479867 0 0 1 -0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924799,0.924799 z M 65.448324,61.4141 h 1.687112"
/>
],
simone: [
<rect className="inside" y="51.853992" x="54.388508" height="14.533224" width="23.769028" />,
<path
className="primary"
d="m 184.56241,54.646523 -27.17558,4.140113 c 0.18743,1.818287 -0.19256,12.804107 -0.19256,20.22717 0,7.385706 -0.55587,13.723097 -2.99269,17.659607 -1.31226,1.949512 3.37191,6.539197 1.6848,6.539197 0,5.69089 2.06222,21.79998 2.06222,44.56226 0,16.17764 -3.00322,29.31816 -3.37807,33.32964 -0.74972,6.636 0,19.6253 0,19.6253 h 8.44069 33.17714 10.87187 25.68309 8.80965 c 0,0 0.75022,-12.93307 0,-19.56907 -0.56203,-4.01148 -3.56217,-20.13725 -3.56217,-36.31438 0,-22.76253 1.87736,-34.94512 1.87736,-40.68685 1.312,0.31272 2.80938,-5.536585 1.68481,-7.486097 -2.43709,-3.93651 -3.18526,-10.273901 -3.18526,-17.659607 0,-7.423063 -0.37486,-18.408883 0,-20.22717 l -27.36814,-4.140113 c -10.09186,-3.699246 -14.3832,-3.196604 -26.43716,0 z M 66.198037,63.363612 h 3.749082 c 0.562285,0 1.312255,-0.05625 1.874541,-0.168711 0.562285,0.112457 1.124827,0.168711 1.87454,0.168711 h 1.687113 V 200.72904 H 31.331734 c -1.311999,0 -8.435151,0 -8.435151,0 0,0 -0.749816,-12.99033 0,-19.62632 0.374882,-4.01148 3.374045,-17.15176 3.374045,-33.32914 0,-22.76228 -2.061969,-38.86648 -2.061969,-44.55738 1.687061,0 -2.999265,-4.592762 -1.687087,-6.542274 2.436877,-3.93651 2.99924,-10.27236 2.99924,-17.658066 0,-7.423063 0.374908,-18.407805 0.187454,-20.226117 l 27.180558,-4.142707 c 0,3.692828 2.624511,8.716576 13.309213,8.716576 z"
/>,
<path
className="primary"
d="m 211.76803,48.873751 c -1.21135,-2.371258 -28.04853,-2.056094 -27.62079,0 v 5.826613 c 10.80666,1.151375 19.67408,-0.05382 27.62079,0 z M 64.510925,62.182659 V 200.72904 h 36.553415 c 1.31226,0 8.81016,0 8.81016,0 0,0 0.74997,-12.9341 0,-19.57009 -0.56228,-4.01149 -3.56139,-20.13238 -3.56139,-36.30951 0,-22.76253 1.87454,-34.95051 1.87454,-40.69224 1.312,0.31298 2.81168,-5.533762 1.68711,-7.483274 -2.43708,-3.93651 -3.1868,-10.27236 -3.1868,-17.658066 0,-7.423063 -0.37485,-18.407805 0,-20.226117 L 79.319822,54.647036 c 0,3.599113 -4.686223,6.560867 -14.621212,6.823293 -0.375113,0 0.187429,0.71233 -0.187685,0.71233 z"
/>,
<path
className="primary"
d="m 78.757537,49.885739 c 0,-4.480129 -25.681028,-3.20545 -25.681028,0 v 5.417399 c 11.059559,-4.798808 18.557722,-2.755582 25.681028,0 z"
/>,
<path
className="primary"
d="m 52.326539,55.659278 1.124827,-6.110962 c 0,3.917767 2.436826,7.666823 11.996958,11.865784 l -4.498795,7.3294 c -4.499052,-4.498872 -8.060705,-9.503852 -8.62299,-13.084222 z m 27.36814,0 -0.937142,-5.661082 c 0,2.305677 -2.249397,7.216943 -11.622101,11.415904 l 3.93651,7.3294 c 4.498795,-4.498872 8.060448,-9.503852 8.622733,-13.084222 z"
/>,
<path
className="primary"
d="m 157.61326,58.539359 c -3.60219,0 -8.87496,7.204363 -11.74626,17.41577 -7.98748,28.566911 -13.88672,112.983381 -11.01541,117.838541 0,3.75884 0.10441,8.71851 0.15662,12.16411 h 13.62567 c 0,-3.49798 0,-8.24865 0,-12.00749 2.14043,-5.11602 2.7669,-27.56455 5.95144,-61.44596 0.36546,-9.03148 0.62647,-28.13891 2.50589,-35.541559 1.83593,-7.934383 1.06978,-31.996235 0.52205,-38.423412 z m 80.52312,0 c 3.60222,0 8.87486,7.204363 11.74611,17.41577 7.98753,28.566911 13.83453,110.425371 11.0154,117.838541 0,3.75884 -0.10424,8.71851 -0.15662,12.16411 h -13.62553 c 0,-3.49798 0,-8.24865 0,-12.00749 -1.87942,-9.55345 -2.03604,-27.35556 -5.2729,-61.44596 -0.36536,-9.03148 -1.30507,-28.13891 -3.18448,-35.541559 -1.85529,-8.955739 -0.40978,-32.373582 -0.52198,-38.423412 z m -212.199785,0 c -3.602195,0 -8.874966,7.204363 -11.746267,17.41577 C 6.202849,104.52204 0.30361466,188.93851 3.1749253,193.79367 c 0,3.75884 0.1044104,8.71851 0.1566157,12.16411 h 13.625667 c 0,-3.49798 0,-8.24865 0,-12.00749 2.140432,-5.11602 2.766905,-27.56455 5.951442,-61.44596 0.36546,-9.03148 0.626473,-28.13891 2.505892,-35.541559 5.01163,-8.640192 2.036012,-32.210956 0.522053,-38.423412 z m 80.523115,0 c 3.60222,0 8.87486,7.204363 11.74611,17.41577 7.98753,28.566911 13.83453,110.425371 11.0154,117.838541 0,3.75884 -0.10424,8.71851 -0.15662,12.16411 h -13.62553 c 0,-3.49798 0,-8.24865 0,-12.00749 -1.87942,-9.55345 -2.03604,-27.35556 -5.2729,-61.44596 -0.36536,-9.03148 -1.30506,-28.13891 -3.18448,-35.541559 -5.01179,-8.640192 -2.03604,-32.210956 -0.52198,-38.423412 z"
/>,
<path
className="secondary"
d="M 3.1756236,193.95004 H 16.903804 Z m 112.3124864,0 h 13.73619 z m 19.36418,0 h 13.72823 z m 112.31274,0 h 13.73619 z M 158.17531,85.431303 h 79.59289 m -15.05256,24.574867 v 59.78632 m -49.51627,-59.78632 v 59.78632 m -106.261495,8.66723 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37486 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37486 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.2276 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37487 0.749713,0.74971 m -0.749713,0 0.749713,-0.74971 m 0.549941,0.37487 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.20888 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37512 0.749713,0.74997 m -0.749713,0 0.749713,-0.74997 m 0.549941,0.37512 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.20912 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37487 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37487 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.20888 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37486 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37486 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.22761 a 0.7398389,0.7398389 0 0 1 -0.739839,0.73984 0.7398389,0.7398389 0 0 1 -0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,-0.73984 0.7398389,0.7398389 0 0 1 0.739839,0.73984 z m -1.114694,-0.37486 0.749713,0.74972 m -0.749713,0 0.749713,-0.74972 m 0.549941,0.37486 a 0.92479867,0.92479867 0 0 1 -0.924799,0.9248 0.92479867,0.92479867 0 0 1 -0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924798,-0.9248 0.92479867,0.92479867 0 0 1 0.924799,0.9248 z m -0.18496,-14.209127 a 0.7398389,0.7398389 0 0 1 -0.739839,0.739839 0.7398389,0.7398389 0 0 1 -0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,0.739839 z m -1.114694,-0.374858 0.749713,0.74997 m -0.749713,0 0.749713,-0.74997 m 0.549941,0.374858 a 0.92479867,0.92479867 0 0 1 -0.924799,0.924798 0.92479867,0.92479867 0 0 1 -0.924798,-0.924798 0.92479867,0.92479867 0 0 1 0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924799,0.924799 z m -0.18496,-15.389672 a 0.7398389,0.7398389 0 0 1 -0.739839,0.739839 0.7398389,0.7398389 0 0 1 -0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,-0.739838 0.7398389,0.7398389 0 0 1 0.739839,0.739838 z m -1.114694,-0.375112 0.749713,0.749971 m -0.749713,0 0.749713,-0.749971 m 0.549941,0.375112 a 0.92479867,0.92479867 0 0 1 -0.924799,0.924799 0.92479867,0.92479867 0 0 1 -0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924798,-0.924798 0.92479867,0.92479867 0 0 1 0.924799,0.924798 z m -0.18496,-15.389976 a 0.7398389,0.7398389 0 0 1 -0.739839,0.739839 0.7398389,0.7398389 0 0 1 -0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,-0.739839 0.7398389,0.7398389 0 0 1 0.739839,0.739839 z m -1.114694,-0.374907 0.749713,0.749816 m -0.749713,0 0.749713,-0.749816 m 0.549941,0.374907 a 0.92479867,0.92479867 0 0 1 -0.924799,0.924799 0.92479867,0.92479867 0 0 1 -0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924798,-0.924799 0.92479867,0.92479867 0 0 1 0.924799,0.924799 z M 65.448324,61.4141 h 1.687112 M 25,120 l 20,-5 M 88,115 l 20,5"
/>
],
sven: [
<path
className="inside"
@ -354,6 +391,16 @@ const svg = {
className="secondary"
d="m 70.206477,127.701 a 1.6550701,1.6550701 0 1 1 -3.31014,0 1.6550701,1.6550701 0 1 1 3.31014,0 z m 0,19.57588 a 1.6550701,1.6550701 0 1 1 -3.31014,0 1.6550701,1.6550701 0 1 1 3.31014,0 z m 0,19.57507 a 1.6550701,1.6550701 0 1 1 -3.31014,0 1.6550701,1.6550701 0 1 1 3.31014,0 z m 0,19.57588 a 1.6550701,1.6550701 0 1 1 -3.31014,0 1.6550701,1.6550701 0 1 1 3.31014,0 z m 0,19.5756 a 1.6550701,1.6550701 0 1 1 -3.31014,0 1.6550701,1.6550701 0 1 1 3.31014,0 z m 0,-97.87831 a 1.6550701,1.6550701 0 1 1 -3.31014,0 1.6550701,1.6550701 0 1 1 3.31014,0 z m 17.184553,84.38069 23.64837,-1.95367 v 5.72541 l -23.64837,1.95367 z m -42.086103,0.006 -23.648373,-1.95368 v 5.7254 l 23.648373,1.95368 z M 198.62382,45.153672 V 221.35978 m -94.91487,-1.69743 c -0.81538,-7.48435 -1.61817,-14.98053 -2.34688,-22.55033 m -0.56709,-6.08481 C 98.745824,168.24245 97.507276,144.6505 98.727355,118.5954 m -69.696613,99.57247 c 0.762472,-6.99869 1.513933,-14.00773 2.204104,-21.07765 m 0.541219,-5.70369 c 2.148744,-23.35952 3.489469,-47.52322 2.236271,-74.28561"
/>
],
waralee: [
<path
className="primary"
d="M 189.14319,15.92567 H 150.9759 c -15.35189,60.51048 -13.76807,99.45391 -6.55908,135.54192 -2.49913,10.63694 -6.79601,38.57398 -6.70034,88.25724 4.65671,1.82459 9.33068,4.58768 14.4113,4.42764 8.98081,-0.2829 11.26884,3.47105 15.68925,2.68764 8.30995,-1.47274 9.83846,-2.11839 17.4606,-2.07415 -9.01112,-45.00259 -14.65367,-86.41202 1.13933,-153.992732 l 15.86174,151.677832 46.60389,-0.6196 c 0.84887,-18.22662 3.45404,-59.88162 -18.50535,-139.08709 -3.19487,-22.161187 0.23804,-43.095486 -2.73762,-56.356616 -2.33301,-10.39719 -5.88524,-20.225178 -9.49919,-30.462087 z m -112.655763,0 h 38.167293 c 15.35189,60.51048 13.76807,99.45391 6.55908,135.54192 2.49913,10.63694 6.79602,38.57398 6.70035,88.25724 -4.65671,1.82459 -9.33068,4.58768 -14.4113,4.42764 -8.98082,-0.2829 -11.26885,3.47105 -15.689255,2.68764 -8.309954,-1.47274 -16.430258,-1.45921 -24.052402,-1.41497 9.011123,-45.00259 21.245473,-87.0712 5.452469,-154.651912 L 63.351925,242.45106 6.5966601,241.83146 C 5.747789,223.60484 5.3838279,203.04359 35.253381,102.74437 38.448249,80.583183 35.015339,59.648884 37.990998,46.387754 c 2.333019,-10.39719 5.885239,-20.225178 9.49919,-30.462087 z"
/>,
<path
className="secondary"
d="m 45.129091,21.275025 h 71.018369 z m 104.348149,0 h 71.01837 z m 72.86407,220.578005 c 5.67948,-63.11796 13.07418,-70.24444 6.75659,-155.475773 M 165.56946,247.27478 c -2.85661,-46.48346 -11.23986,-64.23609 -20.94544,-95.93536 m -30.59667,92.91326 c 1.66081,-16.35626 4.4237,-18.83776 5.47261,-42.77267 M 100.05784,247.277 c 3.45938,-22.94648 10.82316,-42.87161 10.2251,-71.71981 M 14.155773,241.4597 C 40.595414,180.38672 42.25708,137.20982 56.37527,61.346422 58.727379,48.707464 63.822954,35.733181 68.308726,21.378141 M 96.86783,21.266677 c 17.64375,77.898164 10.93326,127.658633 -0.0576,155.878653 M 124.89263,68.305836 C 132.64187,134.59842 96.61132,160.76652 79.213663,221.01295 M 81.22777,16.167802 63.693865,86.447469 l 7.23678,5.79663 12.205338,-75.64425 -14.581591,80.108734 9.865075,4.896537 6.120668,-85.041275 m -0.389222,-0.630634 c 1.941443,10.78744 6.304453,13.441807 2.265333,14.949029 -4.039132,1.507222 -2.651999,-8.70505 -3.805211,-12.212135 -5.034816,5.143371 -7.002302,13.409618 -10.017797,9.590766 -3.015512,-3.818852 0.831958,-2.408976 8.634532,-12.093069 z"
/>
]
}

View file

@ -1,47 +1,54 @@
import React from "react";
import PropTypes from "prop-types";
import { FormattedMessage } from "react-intl";
import { injectIntl } from "react-intl";
import React from 'react'
import PropTypes from 'prop-types'
import { FormattedMessage } from 'react-intl'
import { injectIntl } from 'react-intl'
const OptionGroup = props => {
return (
<React.Fragment>
{props.options.map(name => {
let output = [];
if (typeof name === "object") {
let output = []
if (typeof name === 'object') {
// Subgroup
for (let subGroup of Object.keys(name)) {
output.push(
<h5 key={subGroup + "-title"} className="subheading">
<FormattedMessage id={"optiongroups." + subGroup} />
<h5 key={subGroup + '-title'} className="subheading">
<FormattedMessage id={'optiongroups.' + subGroup} />
</h5>
);
let children = [];
for (let option of name[subGroup]) children.push(<p>{option}</p>);
output.push(<ul style={{ paddingLeft: "1rem" }}>{children}</ul>);
)
let children = []
for (let option of name[subGroup])
children.push(
<li>
<a href="#logo" onClick={() => props.sampleOption(option)}>
<FormattedMessage
id={'options.' + props.config.name + '.' + option + '.title'}
/>
</a>
</li>
)
output.push(<ul style={{ paddingLeft: '1rem' }}>{children}</ul>)
}
} else
output.push(
<li>
<a href="#logo" onClick={() => props.sampleOption(name)}>
<FormattedMessage
id={"options." + props.config.name + "." + name + ".title"}
/>
<FormattedMessage id={'options.' + props.config.name + '.' + name + '.title'} />
</a>
</li>
);
)
return output;
return output
})}
</React.Fragment>
);
};
)
}
OptionGroup.propTypes = {
config: PropTypes.object.isRequired,
options: PropTypes.array.isRequired
};
}
OptionGroup.defaultProps = {};
OptionGroup.defaultProps = {}
export default injectIntl(OptionGroup);
export default injectIntl(OptionGroup)

View file

@ -1,48 +1,48 @@
import React, { useState } from "react";
import { FormattedMessage } from "react-intl";
import PatternOptions from "./PatternOptions";
import { withoutBreasts } from "@freesewing/models";
import React, { useState } from 'react'
import { FormattedMessage } from 'react-intl'
import PatternOptions from './PatternOptions'
import { withBreasts, withoutBreasts } from '@freesewing/models'
const SampleConfigurator = props => {
const [expanded, setExpanded] = useState([]);
const [expanded, setExpanded] = useState([])
const sampleOption = option => {
props.updateGist(
{
type: "option",
type: 'option',
option
},
"settings",
"sample"
);
};
'settings',
'sample'
)
}
const sampleMeasurement = measurement => {
props.updateGist(
{
type: "measurement",
type: 'measurement',
measurement
},
"settings",
"sample"
);
};
'settings',
'sample'
)
}
const sampleModels = models => {
props.updateGist(
{
type: "models",
type: 'models',
models
},
"settings",
"sample"
);
};
'settings',
'sample'
)
}
let antMan = {
ant: {},
man: withoutBreasts.manSize42
};
for (let m in withoutBreasts.manSize42) antMan.ant[m] = antMan.man[m] / 10;
}
for (let m in withoutBreasts.manSize42) antMan.ant[m] = antMan.man[m] / 10
return (
<ul className="links">
@ -50,21 +50,17 @@ const SampleConfigurator = props => {
<h4>
<FormattedMessage id="app.patternOptions" />
</h4>
<PatternOptions
config={props.config}
gist={props.gist}
sampleOption={sampleOption}
/>
<PatternOptions config={props.config} gist={props.gist} sampleOption={sampleOption} />
</li>
<li className="nodot">
<h4>
<FormattedMessage id="app.measurements" />
</h4>
<ul style={{ paddingLeft: "1rem" }}>
<ul style={{ paddingLeft: '1rem' }}>
{props.config.measurements.map(m => (
<li key={m}>
<a href="#logo" onClick={() => sampleMeasurement(m)}>
<FormattedMessage id={"measurements." + m} />
<FormattedMessage id={'measurements.' + m} />
</a>
</li>
))}
@ -74,7 +70,12 @@ const SampleConfigurator = props => {
<h4>
<FormattedMessage id="app.models" />
</h4>
<ul style={{ paddingLeft: "1rem" }}>
<ul style={{ paddingLeft: '1rem' }}>
<li>
<a href="#logo" onClick={() => sampleModels(withBreasts)}>
<FormattedMessage id="app.withBreasts" />
</a>
</li>
<li>
<a href="#logo" onClick={() => sampleModels(withoutBreasts)}>
<FormattedMessage id="app.withoutBreasts" />
@ -88,7 +89,7 @@ const SampleConfigurator = props => {
</ul>
</li>
</ul>
);
};
)
}
export default SampleConfigurator;
export default SampleConfigurator

View file

@ -41,7 +41,10 @@ const DraftPattern = props => {
if (props.svgExport) {
svgToFile(
new props.Pattern(props.gist.settings)
new props.Pattern({
...props.gist.settings,
embed: false
})
.use(theme)
.draft()
.render()

View file

@ -3,7 +3,7 @@ import PropTypes from "prop-types";
import Button from "@material-ui/core/Button";
import { FormattedMessage, FormattedHTMLMessage } from "react-intl";
import FormFieldMeasurement from "../../.form/FormFieldMeasurement";
import { withoutBreasts } from "@freesewing/models";
import { withBreasts, withoutBreasts } from "@freesewing/models";
const Measurements = props => {
const styles = {
@ -111,7 +111,17 @@ const Measurements = props => {
<h4>
<FormattedMessage id="app.withBreasts" />
</h4>
<p>FIXME</p>
<ul>
{Object.keys(withBreasts).map(m => (
<li key={m}>
<Button onClick={() => props.preloadMeasurements(withBreasts[m])}>
<FormattedMessage id="cfp.size" />
&nbsp;
{m.slice(-2)}
</Button>
</li>
))}
</ul>
</div>
</div>
);

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/core
## Unreleased
### Changed
- The pattern super constructor now sets a `config` property that holds the pattern configuration. This means that unlike before, there is no need to instantiate a pattern to access its config. You can just import the pattern, and it's config property will contain the pattern config.
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package core
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package core
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package core
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package core
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/core"
title="@freesewing/core on NPM"

View file

@ -1,13 +1,13 @@
{
"name": "@freesewing/core",
"version": "2.0.0-beta.33",
"version": "2.1.0-alpha.0",
"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=="
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.4.4.tgz",
"integrity": "sha512-qYC9FBubdTK4VZe0m+lS7lEpf87w1fnm6g2m1FKsnlz+wfNnJy3gjQt4Y5nnI1NrjJrnQqnZt3S6Z5qjhloDNA=="
},
"bin-pack": {
"version": "1.0.2",

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/core",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -49,7 +49,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -14,5 +14,8 @@ export default function Design(config, plugins = false) {
pattern.prototype = Object.create(Pattern.prototype)
pattern.prototype.constructor = pattern
// Make config available without need to instantiate pattern
pattern.config = config
return pattern
}

View file

@ -0,0 +1,40 @@
# Change log for: create-freesewing-pattern
## Unreleased
**Note:** Version bump only for package create-freesewing-pattern
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package create-freesewing-pattern
## 2.0.3 (2019-09-15)
### Fixed
- Updated example package.json to use latest tag rather than beta
## 2.0.2 (2019-09-06)
### Changed
- Updated dependencies
### Fixed
- Added missing `file-saver` dependency
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package create-freesewing-pattern
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/create-freesewing-pattern"
title="create-freesewing-pattern on NPM"

0
packages/create-freesewing-pattern/index.js Executable file → Normal file
View file

0
packages/create-freesewing-pattern/lib/cli.js Executable file → Normal file
View file

View file

@ -1,6 +1,6 @@
{
"name": "create-freesewing-pattern",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"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/",
@ -31,7 +31,7 @@
"cp-file": "^6.0.0",
"execa": "^1.0.0",
"git-config-path": "^2.0.0",
"github-username": "^5.0.1",
"github-username": "^4.1.0",
"globby": "^9.0.0",
"handlebars": "^4.1.0",
"inquirer": "^6.2.2",
@ -41,8 +41,8 @@
"parse-git-config": "^3.0.0",
"validate-npm-package-name": "^3.0.0",
"which": "^1.3.1",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/pattern-info": "^2.0.0-beta.43"
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/pattern-info": "^2.1.0-alpha.0"
},
"devDependencies": {},
"files": [
@ -55,7 +55,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "{{#if yarn}}link:..{{else}}file:..{{/if}}",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -29,19 +29,19 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/core": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/components": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/patterns": "beta",
"@freesewing/plugin-bust": "beta",
"@freesewing/plugin-buttons": "beta",
"@freesewing/plugin-debug": "beta",
"@freesewing/plugin-designer": "beta",
"@freesewing/plugin-flip": "beta",
"@freesewing/utils": "beta",
"@freesewing/core": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/components": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/patterns": "latest",
"@freesewing/plugin-bust": "latest",
"@freesewing/plugin-buttons": "latest",
"@freesewing/plugin-debug": "latest",
"@freesewing/plugin-designer": "latest",
"@freesewing/plugin-flip": "latest",
"@freesewing/utils": "latest",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/css-theme
## Unreleased
**Note:** Version bump only for package css-theme
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package css-theme
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package css-theme
## 2.0.2 (2019-09-06)
### Fixed
- Updated styles for DraftConfigurator component for pattern options 3 levels deep
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package css-theme
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/css-theme"
title="@freesewing/css-theme on NPM"

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/css-theme",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"description": "A CSS theme for FreeSewing web UIs",
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/",
@ -39,7 +39,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -10,3 +10,4 @@
@import "components/spinner";
@import "components/box";
@import "components/linedrawing";
@import "components/modelgraph";

View file

@ -40,15 +40,18 @@ div.collapsed {
display: none;
}
ul.config.l2 > li > div,
ul.config.l3 > li > div {
ul.config.l3 > li > div,
ul.config.l4 > li > div {
padding: 0.25rem 1.5rem 0.25rem 1.5rem;
}
ul.config.l3 > li > div.expanded {
ul.config.l3 > li > div.expanded,
ul.config.l4 > li > div.expanded {
margin: 0 0 2rem 0;
padding: 0.75 0.5rem 1.5rem;
}
ul.config.l2 > li > div:hover,
ul.config.l3 > li > div:hover {
ul.config.l3 > li > div:hover,
ul.config.l4 > li > div:hover {
cursor: pointer;
background: $oc-gray-4;
}
@ -63,7 +66,15 @@ div.expanded div.MuiSlider-container {
overflow: initial;
}
ul.config p { @include body-font;}
ul.config.l4 li { padding-left: 0.75rem; }
/* level 4 */
ul.config.l3 li span.subheading {
padding-left: 2rem;
font-weight: bold;
}
ul.config.l4 > li > div { padding-left: 2.5rem; }
span.dflt,
span.custom {
padding: 2px 4px;

View file

@ -0,0 +1,134 @@
svg.fs-model-graph {
circle.size {
fill: none;
stroke-width: 2;
stroke-dasharray: 10 10;
}
circle.sizebg {
stroke: none;
}
rect {
stroke-width: 5;
}
circle.shape,
path.shape {
stroke: none;
stroke-width: 5;
}
circle.shape.center {
stroke: none!important;
}
path.own {
stroke-width: 3;
stroke-dasharray: 20 30;
fill: none;
}
path.estimate {
stroke: none;
}
path.highlight {
stroke-width: 15;
stroke-linecap: round;
stroke-dasharray: 20 30;
}
path.hide {
stroke: none;
}
path.vdefault {
fill: none;
stroke-width: 5;
stroke-dasharray: 20 30;
}
div.text {
@include title-font;
font-size: 80px;
}
path.hovertrap {
fill: none;
stroke: #fff0;
stroke-width: 50;
}
text.size {
@include title-font;
font-size: 50px;
text-anchor: middle;
}
}
.theme-wrapper.light svg.fs-model-graph {
circle.size {
stroke: $oc-gray-5;
}
circle.sizebg {
fill: #fff3;
}
rect {
stroke: $oc-blue-6;
fill: $oc-blue-5;
}
rect.estimate {
stroke: $oc-blue-6;
fill: #fff0;
}
rect.highlight {
fill: $oc-lime-7;
stroke: $oc-lime-8;
}
circle.shape,
path.shape {
stroke: $oc-blue-8;
fill: $oc-blue-7;
}
path.own {
stroke: #fffb;
}
path.highlight {
stroke: $oc-lime-7;
troke: none;
}
path.vdefault {
stroke: $oc-lime-7;
}
text.size {
fill: $oc-lime-7;
}
}
.theme-wrapper.dark svg.fs-model-graph {
circle.size {
stroke: $oc-gray-5;
}
circle.sizebg {
fill: #21252933;
}
rect {
stroke: $oc-yellow-6;
fill: $oc-yellow-5;
}
rect.estimate {
stroke: $oc-yellow-6;
fill: #fff0;
}
rect.highlight {
fill: $oc-orange-7;
stroke: $oc-orange-8;
}
circle.shape,
path.shape {
stroke: $oc-yellow-8;
fill: $oc-yellow-7;
}
path.own {
stroke: #fffb;
}
path.highlight {
stroke: $oc-orange-7;
troke: none;
}
path.vdefault {
stroke: $oc-orange-7;
}
text.size {
fill: $oc-orange-7;
}
}

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/examples
## Unreleased
**Note:** Version bump only for package examples
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package examples
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package examples
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package examples
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package examples
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/examples"
title="@freesewing/examples on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1022,6 +1022,11 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-svgattr/-/plugin-svgattr-2.0.0-beta.3.tgz#64a1d279957985f57976a673c5063924ec0a1851"
integrity sha512-UpZMTp2BSX6zDgTqSASy16coJk1mQXcvqLUqb9en/bTCGf6P0JU4hg+/9SktPrYlstkaLCexGwTvUvO95XkomQ==
"@freesewing/plugin-theme@beta":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-theme/-/plugin-theme-2.0.1.tgz#3b9266a57bf440c2621ab4bfa232a01b0a17e6ef"
integrity sha512-poC3tIzNlg6ZIKYx7Xh0FTJ6rCX76qzPnmJ4uwJXPKI7t91K7qTXD/GHPHRzoF0zhejWBsDSTJPqE6ZIcP6U9A==
"@freesewing/plugin-title@^2.0.0-beta.29":
version "2.0.0-beta.29"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-title/-/plugin-title-2.0.0-beta.29.tgz#9f0bbc68bb7aaa2cd007ce744485230aabf4b369"
@ -3871,14 +3876,16 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3:
estraverse "^4.1.1"
eslint-utils@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512"
integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==
version "1.4.2"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
dependencies:
eslint-visitor-keys "^1.0.0"
eslint-visitor-keys@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
version "1.1.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
eslint@^5.16.0:
version "5.16.0"
@ -7260,7 +7267,7 @@ path-type@^3.0.0:
pify "^3.0.0"
"pattern@link:..":
version "2.0.0-beta.29"
version "2.0.1"
pbkdf2@^3.0.3:
version "3.0.17"

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/examples",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"description": "A FreeSewing pattern holding examples for our documentation",
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/",
@ -28,8 +28,8 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -40,14 +40,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -75,7 +75,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/florent
## Unreleased
**Note:** Version bump only for package florent
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package florent
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package florent
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package florent
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package florent
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

View file

@ -1,14 +1,9 @@
> **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/freesewing/chat).
<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>
<br>
<a href="https://freesewing.org/">FreeSewing v2</a>
</p>
<p align="center">A JavaScript library for made-to-measure sewing patterns</p>
<p align="center">An open source platform for made-to-measure sewing patterns</p>
<p align='center'><a
href="https://www.npmjs.com/package/@freesewing/florent"
title="@freesewing/florent on NPM"

View file

@ -4,26 +4,27 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@freesewing/components": "beta",
"@freesewing/core": "beta",
"@freesewing/css-theme": "beta",
"@freesewing/i18n": "beta",
"@freesewing/models": "beta",
"@freesewing/mui-theme": "beta",
"@freesewing/pattern-info": "beta",
"@freesewing/plugin-bundle": "beta",
"@freesewing/plugin-theme": "beta",
"@freesewing/plugin-i18n": "beta",
"@freesewing/plugin-svgattr": "beta",
"@freesewing/utils": "beta",
"@material-ui/core": "^4.0.1",
"@material-ui/icons": "^4.0.1",
"@material-ui/lab": "^v4.0.0-alpha.14",
"@freesewing/components": "latest",
"@freesewing/core": "latest",
"@freesewing/css-theme": "latest",
"@freesewing/i18n": "latest",
"@freesewing/models": "latest",
"@freesewing/mui-theme": "latest",
"@freesewing/pattern-info": "latest",
"@freesewing/plugin-bundle": "latest",
"@freesewing/plugin-theme": "latest",
"@freesewing/plugin-i18n": "latest",
"@freesewing/plugin-svgattr": "latest",
"@freesewing/utils": "latest",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"@material-ui/lab": "^v4.0.0-alpha.25",
"pattern": "link:..",
"prismjs": "1.16.0",
"react": "^16.8",
"react-dom": "^16.8",
"react-scripts": "^3.0.0",
"prismjs": "1.17.1",
"react": "^16.9",
"react-dom": "^16.9",
"react-scripts": "^3.1.1",
"file-saver": "^2.0.2",
"typeface-roboto-condensed": "latest"
},
"scripts": {
@ -42,6 +43,6 @@
"not op_mini all"
],
"devDependencies": {
"babel-plugin-prismjs": "1.0.2"
"babel-plugin-prismjs": "1.1.1"
}
}

View file

@ -1,6 +1,6 @@
{
"name": "@freesewing/florent",
"version": "2.0.0-beta.43",
"version": "2.1.0-alpha.0",
"description": "A FreeSewing pattern for a flat cap",
"author": "Joost De Cock <joost@decock.org> (https://github.com/joostdecock)",
"homepage": "https://freesewing.org/",
@ -33,8 +33,8 @@
"netlify": "echo \"Not configured yet\""
},
"peerDependencies": {
"@freesewing/core": "^2.0.0-beta.43",
"@freesewing/plugin-bundle": "^2.0.0-beta.43"
"@freesewing/core": "^2.1.0-alpha.0",
"@freesewing/plugin-bundle": "^2.1.0-alpha.0"
},
"dependencies": {},
"devDependencies": {
@ -45,14 +45,14 @@
"eslint": "^5.16.0",
"babel-jest": "24.7.1",
"jest": "24.7.1",
"@freesewing/components": "^2.0.0-beta.43",
"@freesewing/css-theme": "^2.0.0-beta.43",
"@freesewing/i18n": "^2.0.0-beta.43",
"@freesewing/mui-theme": "^2.0.0-beta.43",
"@freesewing/plugin-bust": "^2.0.0-beta.43",
"@freesewing/plugin-buttons": "^2.0.0-beta.43",
"@freesewing/plugin-flip": "^2.0.0-beta.43",
"@freesewing/utils": "^2.0.0-beta.43",
"@freesewing/components": "^2.1.0-alpha.0",
"@freesewing/css-theme": "^2.1.0-alpha.0",
"@freesewing/i18n": "^2.1.0-alpha.0",
"@freesewing/mui-theme": "^2.1.0-alpha.0",
"@freesewing/plugin-bust": "^2.1.0-alpha.0",
"@freesewing/plugin-buttons": "^2.1.0-alpha.0",
"@freesewing/plugin-flip": "^2.1.0-alpha.0",
"@freesewing/utils": "^2.1.0-alpha.0",
"@svgr/rollup": "^2.4.1",
"cross-env": "^5.1.4",
"gh-pages": "^1.2.0",
@ -80,7 +80,7 @@
],
"publishConfig": {
"access": "public",
"tag": "beta"
"tag": "next"
},
"engines": {
"node": ">=8.0.0",

View file

@ -0,0 +1,36 @@
# Change log for: @freesewing/huey
## Unreleased
**Note:** Version bump only for package huey
## 2.0.4 (2019-09-27)
**Note:** Version bump only for package huey
## 2.0.3 (2019-09-15)
**Note:** Version bump only for package huey
## 2.0.2 (2019-09-06)
**Note:** Version bump only for package huey
## 2.0.1 (2019-09-01)
**Note:** Version bump only for package huey
## 2.0.0 (2019-08-25)
This is the **initial release**, and the start of this change log.
Prior to version 2, FreeSewing was not a JavaScript project.
As such, that history is out of scope for this change log.

Some files were not shown because too many files have changed in this diff Show more