1
0
Fork 0

🚧 Work on React components and releases

This commit is contained in:
Joost De Cock 2019-04-30 16:20:43 +02:00
parent 10fc688be1
commit 9d54e25020
93 changed files with 1253 additions and 1785 deletions

View file

@ -32,9 +32,9 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/brian": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/plugin-bundle": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/brian": "^2.0.0-alpha.2"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -48,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,9 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/brian": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/plugin-bundle": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/brian": "^2.0.0-alpha.2"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -48,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,12 +32,12 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/bent": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/carlton": "^2.0.0-alpha.0", "@freesewing/plugin-bundle": "^2.0.0-alpha.2",
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/bent": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0", "@freesewing/carlton": "^2.0.0-alpha.2",
"@freesewing/plugin-bust": "^2.0.0-alpha.0", "@freesewing/plugin-bust": "^2.0.0-alpha.2",
"@freesewing/plugin-buttons": "^2.0.0-alpha.0" "@freesewing/plugin-buttons": "^2.0.0-alpha.2"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -51,6 +51,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,10 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/bent": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/plugin-bundle": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0", "@freesewing/bent": "^2.0.0-alpha.2",
"@freesewing/plugin-buttons": "^2.0.0-alpha.0" "@freesewing/plugin-buttons": "^2.0.0-alpha.2"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -49,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

File diff suppressed because it is too large Load diff

View file

@ -22,15 +22,15 @@
"SKIPbuild": "npm run clean && npm run nodebuild && npm run modulebuild", "SKIPbuild": "npm run clean && npm run nodebuild && npm run modulebuild",
"test": "echo \"components: No tests configured. Perhaps you'd like to do this?\" && exit 0", "test": "echo \"components: No tests configured. Perhaps you'd like to do this?\" && exit 0",
"pubtest": "npm publish --registry http://localhost:6662", "pubtest": "npm publish --registry http://localhost:6662",
"SKIPpublish": "npm build && npm publish --access=public --tag=alpha", "publish": "npm build && npm publish --access=public --tag=alpha",
"storybook": "start-storybook -p 6663" "storybook": "start-storybook -p 6663"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/i18n": "^2.0.0-alpha.0",
"@freesewing/patterns": "^2.0.0-alpha.0",
"@freesewing/utils": "^2.0.0-alpha.0",
"prop-types": "15.7.2",
"react": "^16.4.1", "react": "^16.4.1",
"prop-types": "15.7.2",
"@freesewing/patterns": "^2.0.0-alpha.2",
"@freesewing/i18n": "^2.0.0-alpha.2",
"@freesewing/utils": "^2.0.0-alpha.2",
"react-intl": "^2.8.0" "react-intl": "^2.8.0"
}, },
"files": [ "files": [
@ -46,5 +46,13 @@
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, },
"gitHead": "aec02a355494839184b3ae4598322912386badf6" "dependencies": {
"@freesewing/i18n": "^2.0.0-alpha.2",
"@freesewing/utils": "^2.0.0-alpha.2",
"@material-ui/core": "^3.9.3",
"@material-ui/lab": "^3.0.0-alpha.30",
"@material-ui/styles": "^3.0.0-alpha.10",
"react": "^16.8.6",
"react-intl": "^2.8.0"
}
} }

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Complete from "."; import Complete from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated setting ${name}, value is now: ${value}`), console.log(`Updated setting ${name}, value is now: ${value}`),

View file

@ -45,7 +45,7 @@ const DraftSettingLanguage = props => {
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "draftSetting", type: "draftSetting",
value: props.name value: props.name
}) })
@ -57,7 +57,7 @@ const DraftSettingLanguage = props => {
}; };
DraftSettingLanguage.propTypes = { DraftSettingLanguage.propTypes = {
triggerAction: PropTypes.func.isRequired, raiseEvent: PropTypes.func.isRequired,
updateValue: PropTypes.func.isRequired, updateValue: PropTypes.func.isRequired,
name: PropTypes.string.isRequired, name: PropTypes.string.isRequired,
title: PropTypes.node.isRequired, title: PropTypes.node.isRequired,

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Lang from "."; import Lang from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated setting ${name}, value is now: ${value}`), console.log(`Updated setting ${name}, value is now: ${value}`),

View file

@ -51,11 +51,12 @@ const DraftSettingMargin = props => {
title={props.title} title={props.title}
id="po-slider-margin" id="po-slider-margin"
displayValue={formatMm(value, props.units)} displayValue={formatMm(value, props.units)}
displayFormat="html"
reset={reset} reset={reset}
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "draftSetting", type: "draftSetting",
value: "margin" value: "margin"
}) })
@ -67,7 +68,7 @@ const DraftSettingMargin = props => {
}; };
DraftSettingMargin.propTypes = { DraftSettingMargin.propTypes = {
triggerAction: PropTypes.func.isRequired, raiseEvent: PropTypes.func.isRequired,
updateValue: PropTypes.func.isRequired, updateValue: PropTypes.func.isRequired,
title: PropTypes.string.isRequired, title: PropTypes.string.isRequired,
desc: PropTypes.string.isRequired, desc: PropTypes.string.isRequired,

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Margin from "."; import Margin from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated setting ${name}, value is now: ${value}`), console.log(`Updated setting ${name}, value is now: ${value}`),

View file

@ -75,7 +75,7 @@ const DraftSettingOnly = props => {
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "draftSetting", type: "draftSetting",
value: "only" value: "only"
}) })

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Sa from "."; import Sa from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated setting ${name}, value is now: ${value}`), console.log(`Updated setting ${name}, value is now: ${value}`),

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Paperless from "."; import Paperless from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated setting ${name}, value is now: ${value}`), console.log(`Updated setting ${name}, value is now: ${value}`),

View file

@ -95,11 +95,12 @@ const DraftSettingSa = props => {
title={props.title} title={props.title}
id="po-list-sa" id="po-list-sa"
displayValue={formatMm(saValue, props.units)} displayValue={formatMm(saValue, props.units)}
displayFormat="html"
reset={reset} reset={reset}
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEventAction("showHelp", {
type: "draftSetting", type: "draftSetting",
value: "sa" value: "sa"
}) })
@ -111,7 +112,7 @@ const DraftSettingSa = props => {
}; };
DraftSettingSa.propTypes = { DraftSettingSa.propTypes = {
triggerAction: PropTypes.func.isRequired, raiseEvent: PropTypes.func.isRequired,
updateValue: PropTypes.func.isRequired, updateValue: PropTypes.func.isRequired,
title: PropTypes.string.isRequired, title: PropTypes.string.isRequired,
desc: PropTypes.string.isRequired, desc: PropTypes.string.isRequired,

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Sa from "."; import Sa from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated setting ${name}, value is now: ${value}`), console.log(`Updated setting ${name}, value is now: ${value}`),

View file

@ -43,7 +43,7 @@ const DraftSettingUnits = props => {
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "draftSetting", type: "draftSetting",
value: "units" value: "units"
}) })

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Units from "."; import Units from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated setting ${name}, value is now: ${value}`), console.log(`Updated setting ${name}, value is now: ${value}`),
@ -18,4 +18,6 @@ const props = {
} }
}; };
storiesOf("Low level/DraftSettingUnits", module).add("Basic", () => <Units {...props} />); storiesOf("Low level/DraftSettingUnits", module).add("Basic", () => (
<Units {...props} />
));

View file

@ -12,7 +12,6 @@ import DownIcon from "@material-ui/icons/KeyboardArrowDown";
const DraftSettings = props => { const DraftSettings = props => {
const [expanded, setExpanded] = useState([]); const [expanded, setExpanded] = useState([]);
const toggleGroup = group => { const toggleGroup = group => {
let shown = expanded.slice(0); let shown = expanded.slice(0);
let index = shown.indexOf(group); let index = shown.indexOf(group);
@ -45,7 +44,7 @@ const DraftSettings = props => {
complete: noyes complete: noyes
}; };
let childProps = { let childProps = {
triggerAction: props.triggerAction, raiseEvent: props.raiseEvent,
updateValue: props.updateValue, updateValue: props.updateValue,
units: props.units, units: props.units,
key: setting, key: setting,
@ -62,7 +61,7 @@ const DraftSettings = props => {
childProps.dflt = "dflt"; childProps.dflt = "dflt";
childProps.customDflt = []; childProps.customDflt = [];
childProps.parts = {}; childProps.parts = {};
for (let part of props.info.parts) for (let part of props.config.parts) // HERE
childProps.parts[part] = <FormattedMessage id={"parts." + part} />; childProps.parts[part] = <FormattedMessage id={"parts." + part} />;
} }

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import DraftSettings from "."; import DraftSettings from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (type, data) => updateValue: (type, data) =>
console.log(`Update ${type} with new value`, data), console.log(`Update ${type} with new value`, data),

View file

@ -6,25 +6,25 @@ import Mm from "../PatternOptionMillimeter";
import Bool from "../PatternOptionBool"; import Bool from "../PatternOptionBool";
import List from "../PatternOptionList"; import List from "../PatternOptionList";
import Count from "../PatternOptionCount"; import Count from "../PatternOptionCount";
import { optionType } from "@freesewing/utils"; import { optionType, optionDefault } from "@freesewing/utils";
import { FormattedMessage } from "react-intl"; import { FormattedMessage } from "react-intl";
import { injectIntl } from "react-intl"; import { injectIntl } from "react-intl";
const OptionGroup = props => { const OptionGroup = props => {
const renderOption = (name, sub = false) => { const renderOption = (name, sub = false) => {
let option = props.pattern.config.options[name]; let option = props.config.options[name];
let type = optionType(option); let type = optionType(option);
let stringKey = `options.${props.pattern.config.name}.${name}.`; let stringKey = `options.${props.config.name}.${name}.`;
let extraProps = { let extraProps = {
name, name,
dflt: props.dflts.options[name], dflt: optionDefault(props.config.options[name]),
units: props.units, units: props.units,
updateValue: props.updateValue, updateValue: props.updateValue,
triggerAction: props.triggerAction, raiseEvent: props.raiseEvent,
title: <FormattedMessage id={stringKey + "title"} />, title: <FormattedMessage id={stringKey + "title"} />,
desc: <FormattedMessage id={stringKey + "description"} />, desc: <FormattedMessage id={stringKey + "description"} />,
intl: props.intl, intl: props.intl,
pattern: props.pattern.config.name, pattern: props.config.name,
key: name key: name
}; };
let noyes = [ let noyes = [
@ -83,8 +83,7 @@ const OptionGroup = props => {
}; };
OptionGroup.propTypes = { OptionGroup.propTypes = {
pattern: PropTypes.object.isRequired, config: PropTypes.object.isRequired,
dflts: PropTypes.object.isRequired,
options: PropTypes.array.isRequired, options: PropTypes.array.isRequired,
units: PropTypes.oneOf(["metric", "imperial"]).isRequired units: PropTypes.oneOf(["metric", "imperial"]).isRequired
}; };

View file

@ -16,7 +16,7 @@ const options = {
}; };
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (type, data) => updateValue: (type, data) =>
console.log(`Update ${type} with new value`, data), console.log(`Update ${type} with new value`, data),

View file

@ -32,6 +32,16 @@ const OptionPreamble = props => {
defaultMessage: " 🤔 " defaultMessage: " 🤔 "
}); });
let displayClass = props.value === props.dflt ? "dflt" : "custom";
let displayValue = <span className={displayClass}>{props.displayValue}</span>;
if (props.displayFormat === "html")
displayValue = (
<span
className={displayClass}
dangerouslySetInnerHTML={{ __html: props.displayValue }}
/>
);
return ( return (
<React.Fragment> <React.Fragment>
<h4 onClick={props.toggleExpanded} style={styles.container}> <h4 onClick={props.toggleExpanded} style={styles.container}>
@ -43,11 +53,7 @@ const OptionPreamble = props => {
/> />
{props.title} {props.title}
</div> </div>
<div style={styles.right}> <div style={styles.right}>{displayValue}</div>
<span className={props.value === props.dflt ? "dflt" : "custom"}>
{props.displayValue}
</span>
</div>
</h4> </h4>
<div <div
className={props.expanded ? "col-exp expanded" : "col-exp collapsed"} className={props.expanded ? "col-exp expanded" : "col-exp collapsed"}
@ -97,7 +103,12 @@ OptionPreamble.propTypes = {
desc: PropTypes.node.isRequired, desc: PropTypes.node.isRequired,
reset: PropTypes.func.isRequired, reset: PropTypes.func.isRequired,
showHelp: PropTypes.func.isRequired, showHelp: PropTypes.func.isRequired,
expanded: PropTypes.bool expanded: PropTypes.bool,
displayFormat: PropTypes.string
};
OptionPreamble.defaultProps = {
displayFormat: "node"
}; };
export default injectIntl(OptionPreamble); export default injectIntl(OptionPreamble);

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Preamble from "."; import Preamble from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
id: "example", id: "example",
value: 120, value: 120,

View file

@ -29,7 +29,7 @@ const PatternOptionBool = props => {
updateValue={update} updateValue={update}
labels={props.labels} labels={props.labels}
/> />
) );
return ( return (
<li> <li>
<OptionPreamble <OptionPreamble
@ -43,7 +43,7 @@ const PatternOptionBool = props => {
expanded={expanded} expanded={expanded}
reset={reset} reset={reset}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "draftSetting", type: "draftSetting",
value: props.name value: props.name
}) })
@ -55,7 +55,7 @@ const PatternOptionBool = props => {
}; };
PatternOptionBool.propTypes = { PatternOptionBool.propTypes = {
triggerAction: PropTypes.func.isRequired, raiseEvent: PropTypes.func.isRequired,
updateValue: PropTypes.func.isRequired, updateValue: PropTypes.func.isRequired,
name: PropTypes.string.isRequired, name: PropTypes.string.isRequired,
dflt: PropTypes.oneOfType([ dflt: PropTypes.oneOfType([

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Bool from "."; import Bool from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`), console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`),

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Count from "."; import Count from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated percentage option ${name}, value is now: ${value}`), console.log(`Updated percentage option ${name}, value is now: ${value}`),

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Pct from "."; import Pct from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated degree option ${name}, value is now: ${value}`), console.log(`Updated degree option ${name}, value is now: ${value}`),

View file

@ -50,7 +50,7 @@ const PatternOptionList = props => {
updateValue={update} updateValue={update}
list={list} list={list}
/> />
) );
return ( return (
<li> <li>
<OptionPreamble <OptionPreamble
@ -64,7 +64,7 @@ const PatternOptionList = props => {
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "patternOption", type: "patternOption",
value: props.name value: props.name
}) })

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import List from "."; import List from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`), console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`),
@ -20,4 +20,6 @@ const props = {
} }
}; };
storiesOf("Low level/PatternOptionList", module).add("Basic", () => <List {...props} />); storiesOf("Low level/PatternOptionList", module).add("Basic", () => (
<List {...props} />
));

View file

@ -71,11 +71,12 @@ const PatternOptionMillimeter = props => {
title={props.title} title={props.title}
id={"po-mm-" + props.name} id={"po-mm-" + props.name}
displayValue={formatMm(value, props.units)} displayValue={formatMm(value, props.units)}
displayFormat="html"
reset={reset} reset={reset}
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "patternOption", type: "patternOption",
value: props.name value: props.name
}) })

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Mm from "."; import Mm from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated millimeter option ${name}, value is now: ${value}`), console.log(`Updated millimeter option ${name}, value is now: ${value}`),

View file

@ -45,7 +45,8 @@ const PatternOptionPctDegCount = props => {
onChange={update} onChange={update}
label={"po-" + props.type + "-" + props.name} label={"po-" + props.type + "-" + props.name}
updateValue={update} updateValue={update}
/>) />
);
return ( return (
<li> <li>
@ -60,7 +61,7 @@ const PatternOptionPctDegCount = props => {
toggleExpanded={toggleExpanded} toggleExpanded={toggleExpanded}
expanded={expanded} expanded={expanded}
showHelp={() => showHelp={() =>
props.triggerAction("showHelp", { props.raiseEvent("showHelp", {
type: "patternOption", type: "patternOption",
value: props.name value: props.name
}) })

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import PctDegCount from "."; import PctDegCount from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`), console.log(`Updated pct/deg/count option ${name}, value is now: ${value}`),
@ -14,9 +14,10 @@ const props = {
"This is the description. I'm wrapped in a p tag. This component is the base for the percentage, degree, and count pattern options." "This is the description. I'm wrapped in a p tag. This component is the base for the percentage, degree, and count pattern options."
}; };
storiesOf("Low level/PatternOptionPctDegCount", module).add("Percentage", () => ( storiesOf("Low level/PatternOptionPctDegCount", module).add(
<PctDegCount {...props} type="pct" /> "Percentage",
)); () => <PctDegCount {...props} type="pct" />
);
storiesOf("Low level/PatternOptionPctDegCount", module).add("Degree", () => ( storiesOf("Low level/PatternOptionPctDegCount", module).add("Degree", () => (
<PctDegCount {...props} type="deg" /> <PctDegCount {...props} type="deg" />
)); ));

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import Pct from "."; import Pct from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (name, value) => updateValue: (name, value) =>
console.log(`Updated percentage option ${name}, value is now: ${value}`), console.log(`Updated percentage option ${name}, value is now: ${value}`),

View file

@ -5,13 +5,12 @@ import Deg from "../PatternOptionDegree";
import Mm from "../PatternOptionMillimeter"; import Mm from "../PatternOptionMillimeter";
import Bool from "../PatternOptionBool"; import Bool from "../PatternOptionBool";
import OptionGroup from "../OptionGroup"; import OptionGroup from "../OptionGroup";
import { optionType, gistDefaults } from "@freesewing/utils"; import { optionType } from "@freesewing/utils";
import { FormattedMessage } from "react-intl"; import { FormattedMessage } from "react-intl";
import DownIcon from "@material-ui/icons/KeyboardArrowDown"; import DownIcon from "@material-ui/icons/KeyboardArrowDown";
const PatternOptions = props => { const PatternOptions = props => {
const [expanded, setExpanded] = useState([]); const [expanded, setExpanded] = useState([]);
const toggleGroup = group => { const toggleGroup = group => {
let shown = expanded.slice(0); let shown = expanded.slice(0);
let index = shown.indexOf(group); let index = shown.indexOf(group);
@ -31,11 +30,10 @@ const PatternOptions = props => {
<OptionGroup <OptionGroup
key={group + "-group"} key={group + "-group"}
units={props.units} units={props.units}
info={props.info} config={props.config}
dflts={gistDefaults(props.info.config, props.gist)} options={props.config.optionGroups[group]}
options={props.info.optionGroups[group]}
updateValue={props.updateValue} updateValue={props.updateValue}
triggerAction={props.triggerAction} raiseEvent={props.raiseEvent}
/> />
</ul> </ul>
); );
@ -56,14 +54,15 @@ const PatternOptions = props => {
return ( return (
<ul className="nav l2"> <ul className="nav l2">
{Object.keys(props.info.optionGroups).map(group => renderGroup(group))} {Object.keys(props.config.optionGroups).map(group => renderGroup(group))}
</ul> </ul>
); );
}; };
PatternOptions.propTypes = { PatternOptions.propTypes = {
info: PropTypes.object.isRequired, config: PropTypes.object.isRequired,
gist: PropTypes.object.isRequired gist: PropTypes.object.isRequired,
raiseEvent: PropTypes.func
}; };
PatternOptions.defaultProps = {}; PatternOptions.defaultProps = {};

View file

@ -3,7 +3,7 @@ import { storiesOf } from "@storybook/react";
import PatternOptions from "."; import PatternOptions from ".";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (type, data) => updateValue: (type, data) =>
console.log(`Update ${type} with new value`, data), console.log(`Update ${type} with new value`, data),

View file

@ -5,7 +5,7 @@ import Deg from "./PatternOptionDegree";
import Mm from "./PatternOptionMillimeter"; import Mm from "./PatternOptionMillimeter";
import Bool from "./PatternOptionBool"; import Bool from "./PatternOptionBool";
import OptionGroup from "./OptionGroup"; import OptionGroup from "./OptionGroup";
import { optionType, gistDefaults } from "@freesewing/utils"; import { optionType } from "@freesewing/utils";
import { FormattedMessage } from "react-intl"; import { FormattedMessage } from "react-intl";
import PatternOptions from "./PatternOptions"; import PatternOptions from "./PatternOptions";
import DraftSettings from "./DraftSettings"; import DraftSettings from "./DraftSettings";
@ -13,10 +13,6 @@ import DraftSettings from "./DraftSettings";
const DraftConfigurator = props => { const DraftConfigurator = props => {
const [expanded, setExpanded] = useState([]); const [expanded, setExpanded] = useState([]);
const update = (type, name, value) => {
console.log("updating", type, name, value);
};
const toggleGroup = group => { const toggleGroup = group => {
let shown = expanded.slice(0); let shown = expanded.slice(0);
let index = shown.indexOf(group); let index = shown.indexOf(group);
@ -24,7 +20,6 @@ const DraftConfigurator = props => {
else shown.splice(index, 1); else shown.splice(index, 1);
setExpanded(shown); setExpanded(shown);
}; };
let dflts = gistDefaults(props.info.config, props.gist);
return ( return (
<ul className="nav l1"> <ul className="nav l1">
@ -33,12 +28,13 @@ const DraftConfigurator = props => {
<FormattedMessage id="app.patternOptions" /> <FormattedMessage id="app.patternOptions" />
</h2> </h2>
<PatternOptions <PatternOptions
info={props.info} config={props.config}
gist={props.gist} gist={props.gist}
updateValue={(name, value) => updateValue={(name, value) =>
props.updateGist(value, "settings", "options", name) props.updateGist(value, "settings", "options", name)
} }
triggerAction={props.triggerAction} raiseEvent={props.raiseEvent}
units={props.units}
/> />
</li> </li>
<li> <li>
@ -46,19 +42,22 @@ const DraftConfigurator = props => {
<FormattedMessage id="app.draftSettings" /> <FormattedMessage id="app.draftSettings" />
</h2> </h2>
<DraftSettings <DraftSettings
info={props.info} config={props.config}
gist={props.gist} gist={props.gist}
updateValue={(name, value) => updateValue={(name, value) =>
props.updateGist(value, "settings", name) props.updateGist(value, "settings", name)
} }
triggerAction={props.triggerAction} raiseEvent={props.raiseEvent}
units={props.units}
/> />
</li> </li>
</ul> </ul>
); );
}; };
DraftConfigurator.propTypes = {}; DraftConfigurator.propTypes = {
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
};
DraftConfigurator.defaultProps = {}; DraftConfigurator.defaultProps = {};

View file

@ -5,10 +5,10 @@ import GistConfigurator from ".";
//import { strings } from "@freesewing/i18n"; //import { strings } from "@freesewing/i18n";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (type, data) => updateValue: (type, data) =>
console.log(`Update ${type} with new value`, data), console.log(`Update ${type} with new value`, data)
}; };
storiesOf("DraftConfigurator", module) storiesOf("DraftConfigurator", module)

View file

@ -3,13 +3,13 @@ import { storiesOf } from "@storybook/react";
import Navbar from "."; import Navbar from ".";
import LanguageIcon from "@material-ui/icons/Translate"; import LanguageIcon from "@material-ui/icons/Translate";
import DarkModeIcon from "@material-ui/icons/Brightness3"; import DarkModeIcon from "@material-ui/icons/Brightness3";
import Avatar from '@material-ui/core/Avatar'; import Avatar from "@material-ui/core/Avatar";
const props = { const props = {
triggerAction: (type, data) => raiseEvent: (type, data) =>
console.log(`Action of type ${type} triggered, data passed is`, data), console.log(`Action of type ${type} triggered, data passed is`, data),
updateValue: (type, data) => updateValue: (type, data) =>
console.log(`Update ${type} with new value`, data), console.log(`Update ${type} with new value`, data)
}; };
const navs = { const navs = {
left: [ left: [
@ -27,29 +27,27 @@ const navs = {
type: "link", type: "link",
href: "https://freesewing.org/", href: "https://freesewing.org/",
text: "app.community" text: "app.community"
}, }
], ],
right: [ right: [
{ {
type: "link", type: "link",
href: "https://freesewing.org/", href: "https://freesewing.org/",
text: "app.account", text: "app.account"
}, },
{ {
type: "link", type: "link",
href: "https://freesewing.org/", href: "https://freesewing.org/",
text: <LanguageIcon className="nav-icon" />, text: <LanguageIcon className="nav-icon" />,
title: 'Languages' title: "Languages"
}, },
{ {
type: "link", type: "link",
href: "https://freesewing.org/", href: "https://freesewing.org/",
text: <DarkModeIcon className="nav-icon moon" />, text: <DarkModeIcon className="nav-icon moon" />,
title: 'Dark mode' title: "Dark mode"
},
],
} }
]
};
storiesOf("Navbar", module).add("Basic", () => <Navbar navs={navs} />);
storiesOf("Navbar", module)
.add("Basic", () => <Navbar navs={navs}/>)

View file

@ -8,14 +8,18 @@ const Pattern = props => {
return ( return (
<div className="fs-sa"> <div className="fs-sa">
<section>hi mom</section> <section>
<pre>{JSON.stringify(props.gist, null, 2)}</pre>
</section>
<aside> <aside>
<div className="sticky"> <div className="sticky">
<DraftConfigurator <DraftConfigurator
config={props.config}
gist={props.gist} gist={props.gist}
info={props.info}
updateGist={props.updateGist} updateGist={props.updateGist}
raiseEvent={props.raiseEvent} raiseEvent={props.raiseEvent}
freesewing={props.freesewing}
units={props.units}
/> />
</div> </div>
</aside> </aside>
@ -26,9 +30,10 @@ const Pattern = props => {
Pattern.propTypes = { Pattern.propTypes = {
gist: PropTypes.object.isRequired, gist: PropTypes.object.isRequired,
updateGist: PropTypes.func.isRequired, updateGist: PropTypes.func.isRequired,
info: PropTypes.object.isRequired, config: PropTypes.object.isRequired,
raiseEvent: PropTypes.func.isRequired, raiseEvent: PropTypes.func.isRequired,
Pattern: PropTypes.func.isRequired Pattern: PropTypes.func.isRequired,
units: PropTypes.oneOf(["metric", "imperial"]).isRequired
}; };
export default Pattern; export default Pattern;

View file

@ -1,36 +0,0 @@
import React, { useState } from "react";
import PropTypes from "prop-types";
import { IntlProvider } from "react-intl";
import Button from "@material-ui/core/Button";
import MuiThemeProvider from "@material-ui/core/styles/MuiThemeProvider";
import { createMuiTheme } from "@material-ui/core/styles";
import { i18n, strings } from "@freesewing/i18n";
import { Navbar, withGist } from "@freesewing/components";
import { defaultGist, storage } from "@freesewing/utils";
import { dark, light } from "@freesewing/mui-theme";
const Workbench = props => {
return (
<IntlProvider locale={language} messages={strings[language]}>
<MuiThemeProvider theme={createMuiTheme(themes[theme])}>
<React.Fragment>
<Navbar />
<Button variant="contained" color="primary">
test
</Button>
</React.Fragment>
</MuiThemeProvider>
</IntlProvider>
);
};
Workbench.propTypes = {
freesewing: PropTypes.object,
language: PropType.string
};
Workbench.defaultProps = {
language: "en"
};
export default Workbench;

View file

@ -1,13 +1,12 @@
import React, { useState } from "react"; import React, { useState, useEffect } from "react";
import PropTypes from "prop-types"; import PropTypes from "prop-types";
import withGist from "../withGist"; import withGist from "../withGist";
import { patternList } from "@freesewing/patterns";
import { FormattedMessage, IntlProvider } from "react-intl"; import { FormattedMessage, IntlProvider } from "react-intl";
import Button from "@material-ui/core/Button"; import Button from "@material-ui/core/Button";
import { MuiThemeProvider, createMuiTheme } from "@material-ui/core/styles"; import { MuiThemeProvider, createMuiTheme } from "@material-ui/core/styles";
import { i18n, strings } from "@freesewing/i18n"; import { i18n, strings } from "@freesewing/i18n";
import Navbar from "../Navbar"; import Navbar from "../Navbar";
import { defaultGist, storage } from "@freesewing/utils"; import { defaultGist, storage, partList } from "@freesewing/utils";
import { dark, light } from "@freesewing/mui-theme"; import { dark, light } from "@freesewing/mui-theme";
import Logo from "../Logo"; import Logo from "../Logo";
import withLanguage from "../withLanguage"; import withLanguage from "../withLanguage";
@ -21,22 +20,25 @@ const Workbench = props => {
const [pattern, setPattern] = useState(false); const [pattern, setPattern] = useState(false);
const [settings, setSettings] = useState(false); const [settings, setSettings] = useState(false);
const [theme, setTheme] = useState("light"); const [theme, setTheme] = useState("light");
useEffect(
() => {
if (props.from) props.importGist(props.from);
},
[props.from]
);
const showLanguageChooser = () => setDisplay("language"); const showLanguageChooser = () => setDisplay("language");
const toggleSettings = () => setSettings(!settings); const toggleSettings = () => setSettings(!settings);
const updatePattern = p => { const updatePattern = p => {
setPattern(p); setPattern(p);
store.set("pattern", p); store.set("pattern", p);
}; };
const toggleDarkMode = () => { const toggleDarkMode = () => {
if (theme === "light") setTheme("dark"); if (theme === "light") setTheme("dark");
else setTheme("light"); else setTheme("light");
}; };
const raiseEvent = (type, data) => { const raiseEvent = (type, data) => {
console.log("Event raised", type, data); console.log("FIXME: Event raised", type, data);
}; };
const navs = { const navs = {
@ -87,20 +89,18 @@ const Workbench = props => {
main = ( main = (
<Pattern <Pattern
freesewing={props.freesewing} freesewing={props.freesewing}
Pattern={props.pattern} pattern={props.pattern}
info={props.info} config={props.config}
gist={props.gist} gist={props.gist}
updateGist={props.updateGist} updateGist={props.updateGist}
raiseEvent={raiseEvent} raiseEvent={raiseEvent}
units={props.units}
/> />
); );
} }
// Load defaults into gist
console.log(props);
//props.loadGistDefaults({options: props.info.config.options});
const themes = { dark, light }; const themes = { dark, light };
return ( return (
<MuiThemeProvider theme={createMuiTheme(themes[theme])}> <MuiThemeProvider theme={createMuiTheme(themes[theme])}>
<div <div
@ -116,8 +116,14 @@ const Workbench = props => {
}; };
Workbench.propTypes = { Workbench.propTypes = {
pattern: PropTypes.oneOf(patternList), freesewing: PropTypes.object.isRequired,
units: PropTypes.oneOf(["metric", "imperial"]).isRequired pattern: PropTypes.func.isRequired,
config: PropTypes.object.isRequired,
from: PropTypes.object
};
Workbench.defaultProps = {
from: false
}; };
export default withLanguage( export default withLanguage(
@ -125,5 +131,5 @@ export default withLanguage(
gist: defaultGist, gist: defaultGist,
store: true store: true
}), }),
"nl" "en"
); );

View file

@ -2,13 +2,49 @@ import React from "react";
import { storiesOf } from "@storybook/react"; import { storiesOf } from "@storybook/react";
import Workbench from "."; import Workbench from ".";
import freesewing from "@freesewing/core"; import freesewing from "@freesewing/core";
import aaron, { config } from "@freesewing/aaron";
const config = {
name: "aaron",
version: "0.1",
design: "Joost De Cock",
code: "Joost De Cock",
department: "menswear",
type: "pattern",
difficulty: 1,
tags: ["story", "test"],
optionGroups: {
fit: ["armholeDrop", "backlineBend"]
},
measurements: ["bicepsCircumference", "centerBackNeckToWaist"],
parts: ["base"],
options: {
armholeDrop: { pct: 10, min: 1, max: 75 },
backlineBend: { mm: 50, min: 50, max: 100 }
}
};
const gist = {
settings: {
embed: true,
sa: 10,
complete: true,
paperless: false,
locale: "en",
units: "metric",
margin: 2,
options: {
armholeDrop: 50
}
}
};
const props = { const props = {
freesewing, freesewing,
pattern: aaron, pattern: () => "aaron",
config: config config,
from: gist
}; };
console.log("story", config, props); storiesOf("Workbench", module)
storiesOf("Workbench", module).add("Aaron", () => <Workbench {...props} />); .add("Metric", () => <Workbench {...props} units="metric" />)
.add("Imperial", () => <Workbench {...props} units="imperial" />);

View file

@ -1,48 +1,70 @@
import React from "react"; import React from "react";
import { gistDefaults } from "@freesewing/utils"; import { storage } from "@freesewing/utils";
import { storage, cloneObject } from "@freesewing/utils";
const withGist = (WrappedComponent, settings = { gist: {}, store: false }) => { const withGist = (WrappedComponent, settings = { gist: {}, store: false }) => {
return class extends React.Component { return class extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.update = this.update.bind(this); this.setGist = this.setGist.bind(this);
this.importGist = this.importGist.bind(this);
this.updateGist = this.updateGist.bind(this);
this.state = { gist: settings.gist || {} }; this.state = { gist: settings.gist || {} };
} }
update(value, l1 = false, l2 = false, l3 = false) { setGist(gist) {
if (!l1) return; this.setState({ gist });
let gist = cloneObject(this.state.gist); if (settings.store) storage.set(this.state.gist.name || "gist", gist);
}
if (typeof gist === "undefined") gist = {}; importGist(gist) {
if (l1 && typeof gist[l1] === "undefined") gist[l1] = {}; if (typeof this.state.gist.settings === "undefined")
if (l2 && typeof gist[l1][l2] === "undefined") gist[l1][l2] = {}; this.updateGist({}, "settings");
if (l3 && typeof gist[l1][l2][l3] === "undefined") gist[l1][l2][l3] = {}; if (typeof this.state.gist.settings.options === "undefined")
this.updateGist({}, "settings", "options");
if (typeof gist.settings !== "undefined") {
// Load settings
for (let key of Object.keys(gist.settings)) {
if (key !== "options")
this.updateGist(gist.settings[key], "settings", key);
}
if (typeof gist.settings.options !== "undefined") {
// Load options
for (let key of Object.keys(gist.settings.options)) {
this.updateGist(
gist.settings.options[key],
"settings",
"options",
key
);
}
}
}
// Load root level keys
for (let key of Object.keys(gist)) {
if (key !== "settings") this.updateGist(gist[key], key);
}
}
updateGist(value, l1 = false, l2 = false, l3 = false) {
if (!l1) return;
let gist = this.state.gist;
if (l2 && typeof gist[l1] === "undefined") gist[l1] = {};
if (l3 && typeof gist[l1][l2] === "undefined") gist[l1][l2] = {};
if (l3) gist[l1][l2][l3] = value; if (l3) gist[l1][l2][l3] = value;
else if (l2) gist[l1][l2] = value; else if (l2) gist[l1][l2] = value;
else if (l1) gist[l1] = value; else if (l1) gist[l1] = value;
this.setState({ gist }, () => { this.setState({ gist });
if (settings.store) storage.set(settings.store, this.state.gist); if (settings.store) storage.set(this.state.gist.name || "gist", gist);
});
}
getGist() {
return this.state.gist;
}
loadDefaults(defaults) {
for (let key of defaults) {
console.log(key);
}
} }
render() { render() {
return ( return (
<WrappedComponent <WrappedComponent
gist={this.state.gist} gist={this.state.gist}
updateGist={this.update} importGist={this.importGist}
loadGistDefaults={this.loadDefaults} updateGist={this.updateGist}
{...this.props} {...this.props}
/> />
); );

View file

@ -51,6 +51,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -62,6 +62,5 @@
"reveal": true, "reveal": true,
"bin": { "bin": {
"create-freesewing-pattern": "index.js" "create-freesewing-pattern": "index.js"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -43,6 +43,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -7,6 +7,7 @@ header.navbar {
margin: 0; margin: 0;
padding: 0 26px; padding: 0 26px;
background: $fc-bg-dark; background: $fc-bg-dark;
z-index: 5;
div.logo { div.logo {
height: 64px; height: 64px;

View file

@ -27,9 +27,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -42,6 +44,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -28,6 +28,9 @@
"pubtest": "npm publish --registry http://localhost:6662", "pubtest": "npm publish --registry http://localhost:6662",
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": {},
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -40,6 +43,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -28,6 +28,9 @@
"pubtest": "npm publish --registry http://localhost:6662", "pubtest": "npm publish --registry http://localhost:6662",
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": {},
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -40,6 +43,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -43,6 +43,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -62,6 +62,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -33,8 +33,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,8 +32,10 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0" "@freesewing/core": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -46,6 +48,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,11 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/brian": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/plugin-bundle": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0", "@freesewing/brian": "^2.0.0-alpha.2",
"@freesewing/plugin-buttons": "^2.0.0-alpha.0", "@freesewing/plugin-buttons": "^2.0.0-alpha.2",
"@freesewing/plugin-flip": "^2.0.0-alpha.0" "@freesewing/plugin-flip": "^2.0.0-alpha.2"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -50,6 +50,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -32,9 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0" "@freesewing/plugin-bundle": "^2.0.0-alpha.2"
}, },
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -47,6 +49,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -29,6 +29,9 @@
"pubtest": "npm publish --registry http://localhost:6662", "pubtest": "npm publish --registry http://localhost:6662",
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": {},
"dependencies": {},
"devDependencies": {},
"files": [ "files": [
"dist/*", "dist/*",
"README.md", "README.md",
@ -41,6 +44,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -6,8 +6,9 @@ const formatImperial = (
format = "html" format = "html"
) => { ) => {
if (format === "html") { if (format === "html") {
if (numo) return `<span>${neg}${inch}<sup>${numo}</sup>/<sub>${deno}</sub></span>`; if (numo)
else return `<span>{neg}{inch}</span>`; return `<span>${neg}${inch}<sup>${numo}</sup>/<sub>${deno}</sub></span>`;
else return `<span>${neg}${inch}</span>`;
} else { } else {
if (numo) return `${neg}${inch}`; if (numo) return `${neg}${inch}`;
else return `${neg}${inch} ${numo}/${deno}`; else return `${neg}${inch} ${numo}/${deno}`;

View file

@ -1,28 +0,0 @@
import defaultGist from "./defaultGist";
import optionDefault from "./optionDefault";
const gistDefaults = (options, gist = false) => {
if (!gist) gist = defaultGist;
for (let option of Object.keys(options)) {
if (
typeof gist.options !== "undefined" &&
typeof gist.options[option] !== undefined
)
options[option] = gist.options[option];
else options[option] = optionDefault(options[option]);
}
delete gist.options;
let settings = JSON.parse(JSON.stringify(defaultGist.settings));
delete settings.locale;
delete settings.units;
for (let setting of Object.keys(settings)) {
if (typeof gist.settings[setting] !== "undefined") {
settings[setting] = gist.settings[setting];
}
}
settings.options = options;
return settings;
};
export default gistDefaults;

View file

@ -1,14 +1,14 @@
export { default as smallestImperialStep } from "./smallestImperialStep"; export { default as cloneObject } from "./cloneObject";
export { default as defaultGist } from "./defaultGist";
export { default as defaultSa } from "./defaultSa";
export { default as formatImperial } from "./formatImperial";
export { default as formatMm } from "./formatMm";
export { default as optionDefault } from "./optionDefault";
export { default as optionType } from "./optionType";
export { default as partList } from "./partList";
export { default as roundMm } from "./roundMm"; export { default as roundMm } from "./roundMm";
export { default as roundMmDown } from "./roundMmDown"; export { default as roundMmDown } from "./roundMmDown";
export { default as roundMmUp } from "./roundMmUp"; export { default as roundMmUp } from "./roundMmUp";
export { default as formatImperial } from "./formatImperial";
export { default as formatMm } from "./formatMm";
export { default as defaultSa } from "./defaultSa";
export { default as sliderStep } from "./sliderStep"; export { default as sliderStep } from "./sliderStep";
export { default as optionType } from "./optionType"; export { default as smallestImperialStep } from "./smallestImperialStep";
export { default as defaultGist } from "./defaultGist";
export { default as gistDefaults } from "./gistDefaults";
export { default as optionDefault } from "./optionDefault";
export { default as storage } from "./storage"; export { default as storage } from "./storage";
export { default as cloneObject } from "./cloneObject";

View file

@ -0,0 +1,29 @@
const partList = config => {
let parts = {};
if (config.parts) {
for (let p of config.parts) parts[p] = p;
}
if (config.dependencies) {
for (let p of Object.keys(config.dependencies)) {
parts[p] = p;
if (typeof config.dependencies[p] === "string") {
parts[config.dependencies[p]] = config.dependencies[p];
} else {
for (let d of config.dependencies[p]) parts[d] = d;
}
}
}
if (config.inject) {
for (let p of Object.keys(config.inject)) {
parts[p] = p;
parts[config.inject[p]] = config.inject[p];
}
}
if (config.hide) {
for (let p of config.hide) delete parts[p];
}
return Object.keys(parts);
};
export default partList;

View file

@ -32,11 +32,11 @@
"publish": "npm build && npm publish --access=public --tag=alpha" "publish": "npm build && npm publish --access=public --tag=alpha"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/brian": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/plugin-bundle": "^2.0.0-alpha.2",
"@freesewing/plugin-bundle": "^2.0.0-alpha.0", "@freesewing/brian": "^2.0.0-alpha.2",
"@freesewing/plugin-buttons": "^2.0.0-alpha.0", "@freesewing/plugin-buttons": "^2.0.0-alpha.2",
"@freesewing/plugin-round": "^2.0.0-alpha.0" "@freesewing/plugin-round": "^2.0.0-alpha.2"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -50,6 +50,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

View file

@ -23,22 +23,22 @@
"SKIPbuild": "npm run clean && npm run nodebuild && npm run modulebuild", "SKIPbuild": "npm run clean && npm run nodebuild && npm run modulebuild",
"test": "cross-env CI=1 react-scripts test --env=jsdom", "test": "cross-env CI=1 react-scripts test --env=jsdom",
"pubtest": "npm publish --registry http://localhost:6662", "pubtest": "npm publish --registry http://localhost:6662",
"SKIPpublish": "npm build && npm publish --access=public --tag=alpha", "publish": "npm build && npm publish --access=public --tag=alpha",
"test:watch": "react-scripts test --env=jsdom", "test:watch": "react-scripts test --env=jsdom",
"start": "rollup -c -w" "start": "rollup -c -w"
}, },
"peerDependencies": { "peerDependencies": {
"@freesewing/core": "^2.0.0-alpha.0", "@freesewing/core": "^2.0.0-alpha.2",
"@freesewing/i18n": "^2.0.0-alpha.0", "@freesewing/i18n": "^2.0.0-alpha.2",
"@freesewing/plugin-theme": "^2.0.0-alpha.0", "@freesewing/utils": "^2.0.0-alpha.2",
"@freesewing/utils": "^2.0.0-alpha.0", "@freesewing/plugin-theme": "^2.0.0-alpha.2",
"react-intl": "^2.8.0" "react-intl": "^2.8.0"
}, },
"dependencies": { "dependencies": {
"@freesewing/components": "^2.0.0-alpha.2", "@freesewing/components": "^2.0.0-alpha.2",
"@freesewing/css-theme": "^2.0.0-alpha.2", "@freesewing/css-theme": "^2.0.0-alpha.2",
"@freesewing/mui-theme": "^2.0.0-alpha.2", "@freesewing/utils": "^2.0.0-alpha.2",
"@freesewing/utils": "^2.0.0-alpha.2" "@freesewing/mui-theme": "^2.0.0-alpha.2"
}, },
"files": [ "files": [
"dist/*", "dist/*",
@ -52,6 +52,5 @@
"engines": { "engines": {
"node": ">=8.0.0", "node": ">=8.0.0",
"npm": ">=5" "npm": ">=5"
}, }
"gitHead": "aec02a355494839184b3ae4598322912386badf6"
} }

418
yarn.lock
View file

@ -989,7 +989,7 @@
"@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0"
"@babel/plugin-syntax-jsx" "^7.2.0" "@babel/plugin-syntax-jsx" "^7.2.0"
"@babel/plugin-transform-react-jsx@7.3.0", "@babel/plugin-transform-react-jsx@^7.0.0": "@babel/plugin-transform-react-jsx@^7.0.0":
version "7.3.0" version "7.3.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290"
integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==
@ -1344,7 +1344,7 @@
dependencies: dependencies:
regenerator-runtime "^0.13.2" regenerator-runtime "^0.13.2"
"@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4": "@babel/runtime@^7.3.4":
version "7.4.4" version "7.4.4"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.4.tgz#dc2e34982eb236803aa27a07fea6857af1b9171d" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.4.tgz#dc2e34982eb236803aa27a07fea6857af1b9171d"
integrity sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg== integrity sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg==
@ -1524,7 +1524,7 @@
"@emotion/utils" "0.11.1" "@emotion/utils" "0.11.1"
babel-plugin-emotion "^10.0.9" babel-plugin-emotion "^10.0.9"
"@emotion/hash@0.7.1", "@emotion/hash@^0.7.1": "@emotion/hash@0.7.1":
version "0.7.1" version "0.7.1"
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.1.tgz#9833722341379fb7d67f06a4b00ab3c37913da53" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.1.tgz#9833722341379fb7d67f06a4b00ab3c37913da53"
integrity sha512-OYpa/Sg+2GDX+jibUfpZVn1YqSVRpYmTLF2eyAfrFTIJSbwyIrc+YscayoykvaOME/wV4BV0Sa0yqdMrgse6mA== integrity sha512-OYpa/Sg+2GDX+jibUfpZVn1YqSVRpYmTLF2eyAfrFTIJSbwyIrc+YscayoykvaOME/wV4BV0Sa0yqdMrgse6mA==
@ -1630,10 +1630,8 @@
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e"
integrity sha512-n/VQ4mbfr81aqkx/XmVicOLjviMuy02eenSdJY33SVA7S2J42EU0P1H0mOogfYedb3wXA0d/LVtBrgTSm04WEA== integrity sha512-n/VQ4mbfr81aqkx/XmVicOLjviMuy02eenSdJY33SVA7S2J42EU0P1H0mOogfYedb3wXA0d/LVtBrgTSm04WEA==
"@freesewing/aaron@latest": "@freesewing/aaron@file:packages/aaron":
version "0.14.0" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/aaron/-/aaron-0.14.0.tgz#523b20266ff63c06cf5a7408021bccfa9417e2e1"
integrity sha512-C8moTyZCwbG0YU0wx0yNAtjwV5NkIGA1Vw3rxiRoQTB+a7+f1S9cqol1QcRlEIEzf+W7piQSUL8VB9hgKPFvsA==
"@freesewing/bent@0.1.1": "@freesewing/bent@0.1.1":
version "0.1.1" version "0.1.1"
@ -1644,98 +1642,58 @@
"@freesewing/plugin-bundle" latest "@freesewing/plugin-bundle" latest
freesewing latest freesewing latest
"@freesewing/bent@0.1.2", "@freesewing/bent@latest": "@freesewing/bent@file:packages/bent":
version "0.1.2" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/bent/-/bent-0.1.2.tgz#90c02b479c501b7ace096a29f50b9943d234291b"
integrity sha512-ic39iC5KioQea7R55Axd9A2MNKtMqKRijE/58eOMp6TH+1UWKb8MAg1/2KX19vgKF98B/bi0Ot1WliqV1OZgPw==
dependencies:
"@freesewing/brian" latest
"@freesewing/plugin-bundle" "0.8.0"
freesewing latest
"@freesewing/brian@0.22.15": "@freesewing/brian@file:packages/brian":
version "0.22.15" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/brian/-/brian-0.22.15.tgz#a9ba6791e417be1c6c347156da9bd6fa9d50a324"
integrity sha512-4gO2y4VoH3IRL8yKQD2T/6xF1bvgOYbo0rrkaJbGC/hG6pHfzk9M15Zjx+hDtXgadzoj7MP10FasrMBswU+IXw==
dependencies:
"@freesewing/plugin-bundle" latest
freesewing latest
"@freesewing/brian@0.23.2":
version "0.23.2"
resolved "https://registry.yarnpkg.com/@freesewing/brian/-/brian-0.23.2.tgz#b39aec627dc11cd2caba7aa5dbdf85eb126ccc13"
integrity sha512-3YE/xC6fGZXvmMNZgxUXy81VNDpS5aHsWlAo9sC0CGchB7tiZAOv5g8bNyDE9yoqC63tOyElKabDiT1BPZzE+g==
dependencies:
"@freesewing/plugin-bundle" latest
freesewing latest
"@freesewing/brian@latest": "@freesewing/brian@latest":
version "0.25.0" version "0.25.0"
resolved "https://registry.yarnpkg.com/@freesewing/brian/-/brian-0.25.0.tgz#b0ea44b3762bc39404ef391212c5a4448e07ce8b" resolved "https://registry.yarnpkg.com/@freesewing/brian/-/brian-0.25.0.tgz#b0ea44b3762bc39404ef391212c5a4448e07ce8b"
integrity sha512-MhY+fEhQ01ImNtupKm4BwRuJ0Ihk0LlEDHupbjpVKekg8kDwnfCgoSDYpmzG2e16GqdZgYdGxPLdB4MFy67VRg== integrity sha512-MhY+fEhQ01ImNtupKm4BwRuJ0Ihk0LlEDHupbjpVKekg8kDwnfCgoSDYpmzG2e16GqdZgYdGxPLdB4MFy67VRg==
"@freesewing/bruce@latest": "@freesewing/bruce@file:packages/bruce":
version "0.6.6" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/bruce/-/bruce-0.6.6.tgz#83be9371dc8cf168e717916fe76701524eaf33df"
integrity sha512-KmGYKhZ9z2Qc4rmJecYy8Hejms44ok+Y5AklcItqKejKWItkbgJB+qtQm577T3DugPN9Efq1obYDi0KQuKKuBw==
dependencies:
"@freesewing/plugin-bundle" "0.8.0"
freesewing "0.30.6"
"@freesewing/carlton@0.2.0": "@freesewing/carlita@file:packages/carlita":
version "0.2.0" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/carlton/-/carlton-0.2.0.tgz#6ea6c8e77980f707ac003858f739f443da72d488"
integrity sha512-jflje/ZYeW4n8X4FK20PbThqI2D1sfs//VQvfBghxReTpFvDj9JCcilbe8aOyJ86z2EB7fm6/IDMNQDdtnp6rw==
dependencies:
"@freesewing/bent" "0.1.2"
"@freesewing/plugin-bundle" "0.8.0"
"@freesewing/plugin-buttons" latest
freesewing latest
"@freesewing/cathrin@latest": "@freesewing/carlton@file:packages/carlton":
version "0.5.6" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/cathrin/-/cathrin-0.5.6.tgz#72de56a1ff713cda0577323f51acf964f3a746ad"
integrity sha512-Z1Ww+eJ6aRIgCxmav+8hPQqKPa/LcO++eCLVMADRZrfVSMif3GTWqzyM3lQhvtILu8jexlSk6RJd0zGNDZHaAA== "@freesewing/cathrin@file:packages/cathrin":
dependencies: version "2.0.0-alpha.2"
"@freesewing/plugin-bundle" "0.8.0"
freesewing "0.30.6"
"@freesewing/components@file:packages/components": "@freesewing/components@file:packages/components":
version "0.32.4" version "2.0.0-alpha.2"
"@freesewing/core@file:packages/core":
version "2.0.0-alpha.2"
dependencies:
bezier-js "^2.2.13"
bin-pack "1.0.2"
hooks "^0.3.2"
"@freesewing/css-theme@file:packages/css-theme": "@freesewing/css-theme@file:packages/css-theme":
version "0.32.4" version "2.0.0-alpha.2"
dependencies: dependencies:
open-color "1.6.3" open-color "1.6.3"
"@freesewing/examples@latest": "@freesewing/examples@file:packages/examples":
version "0.7.8" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/examples/-/examples-0.7.8.tgz#0c36cf02406bca1b3574bd64f4a7e1fd17c1053c"
integrity sha512-hMpf6Wqcc9ppv44oWmXYa1wBkpjF6IQnZXVnupBGSVjqxwaMXd4AFxxAYdAO9ZyqxBe4hAfcZWa2BjnTbGQDQA==
dependencies:
"@freesewing/plugin-bundle" "0.8.0"
freesewing "0.30.6"
"@freesewing/huey@latest": "@freesewing/florent@file:packages/florent":
version "0.1.3" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/huey/-/huey-0.1.3.tgz#de477312d7a4ad4d8c670dc45b429fb712fbb5ad"
integrity sha512-CuzZ0QRkG/wtwIoi4fIIsjOS/oWOtfZ9IQtM+9aObKItFgYcmyYQkFbAOfrLanSxzlUnck283iAGUpv4mqIKKw==
dependencies:
"@freesewing/brian" latest
"@freesewing/plugin-bundle" "0.8.0"
freesewing latest
"@freesewing/hugo@latest": "@freesewing/huey@file:packages/huey":
version "0.5.6" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/hugo/-/hugo-0.5.6.tgz#ad3de780c7457a80a52fc4922693465f2ce870ee"
integrity sha512-sMXoqC1jUxKWZ5IVpRqmz/9lt0eMFOcbyMlQmRA7nHmh6PLf2gw4j6RtszLqYd69En6OUvh6T81lytRCRjcDRQ== "@freesewing/hugo@file:packages/hugo":
dependencies: version "2.0.0-alpha.2"
"@freesewing/brian" "0.23.2"
"@freesewing/plugin-bundle" "0.8.0"
freesewing "0.30.6"
"@freesewing/i18n@file:packages/i18n": "@freesewing/i18n@file:packages/i18n":
version "0.32.4" version "2.0.0-alpha.2"
"@freesewing/jaeger@0.2.1": "@freesewing/jaeger@0.2.1":
version "0.2.1" version "0.2.1"
@ -1747,32 +1705,38 @@
"@freesewing/plugin-buttons" "0.1.0" "@freesewing/plugin-buttons" "0.1.0"
freesewing latest freesewing latest
"@freesewing/patterns@0.18.6": "@freesewing/jaeger@file:packages/jaeger":
version "0.18.6" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/patterns/-/patterns-0.18.6.tgz#c90ed35d88c60b164218bf9a259705be0bf6c17d"
integrity sha512-zTu8c9SUbmtpX100h/z/ZeX3TuO0IM19OEZ9/una1zurqcIfKsQsjGGnlb0Z3jD4k9Ot997vZ/9KQvp+wpdbSQ==
dependencies:
"@freesewing/aaron" latest
"@freesewing/bent" latest
"@freesewing/brian" latest
"@freesewing/bruce" latest
"@freesewing/carlton" "0.2.0"
"@freesewing/cathrin" latest
"@freesewing/examples" latest
"@freesewing/huey" latest
"@freesewing/hugo" latest
"@freesewing/jaeger" "0.2.1"
"@freesewing/plugin-bundle" latest
"@freesewing/simon" latest
"@freesewing/sven" latest
"@freesewing/tamiko" latest
"@freesewing/trayvon" latest
"@freesewing/wahid" latest
"@freesewing/plugin-banner@latest": "@freesewing/models@file:packages/models":
version "0.3.0" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-banner/-/plugin-banner-0.3.0.tgz#6dcf4d497a11166d4e6cfd31098cc841f586b8cf"
integrity sha512-fdcAZGZv+qbgkloWipKlI7D+GojCDGDNB5YLVWOtsheZpC8GFjSVW6K1rhZy8/jQoVwySM8uVKILouJivObUOw== "@freesewing/mui-theme@file:packages/mui-theme":
version "2.0.0-alpha.2"
"@freesewing/patterns@file:packages/patterns":
version "2.0.0-alpha.2"
dependencies:
"@freesewing/aaron" "^2.0.0-alpha.2"
"@freesewing/bent" "^2.0.0-alpha.2"
"@freesewing/brian" "^2.0.0-alpha.2"
"@freesewing/bruce" "^2.0.0-alpha.2"
"@freesewing/carlita" "^2.0.0-alpha.2"
"@freesewing/carlton" "^2.0.0-alpha.2"
"@freesewing/cathrin" "^2.0.0-alpha.2"
"@freesewing/florent" "^2.0.0-alpha.2"
"@freesewing/huey" "^2.0.0-alpha.2"
"@freesewing/hugo" "^2.0.0-alpha.2"
"@freesewing/jaeger" "0.2.1"
"@freesewing/shin" "^2.0.0-alpha.2"
"@freesewing/simon" "^2.0.0-alpha.2"
"@freesewing/sven" "^2.0.0-alpha.2"
"@freesewing/tamiko" "^2.0.0-alpha.2"
"@freesewing/trayvon" "^2.0.0-alpha.2"
"@freesewing/wahid" "^2.0.0-alpha.2"
"@freesewing/plugin-banner@file:packages/plugin-banner":
version "2.0.0-alpha.2"
"@freesewing/plugin-bundle@0.8.0": "@freesewing/plugin-bundle@0.8.0":
version "0.8.0" version "0.8.0"
@ -1788,6 +1752,9 @@
"@freesewing/plugin-sprinkle" "0.1.0" "@freesewing/plugin-sprinkle" "0.1.0"
"@freesewing/plugin-title" "0.10.0" "@freesewing/plugin-title" "0.10.0"
"@freesewing/plugin-bundle@file:packages/plugin-bundle":
version "2.0.0-alpha.2"
"@freesewing/plugin-bundle@latest": "@freesewing/plugin-bundle@latest":
version "0.9.0" version "0.9.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-bundle/-/plugin-bundle-0.9.0.tgz#1f754f992b17cdc408973de6b2c4ad5f5f8f7f4b" resolved "https://registry.yarnpkg.com/@freesewing/plugin-bundle/-/plugin-bundle-0.9.0.tgz#1f754f992b17cdc408973de6b2c4ad5f5f8f7f4b"
@ -1802,15 +1769,16 @@
"@freesewing/plugin-sprinkle" "^0.2" "@freesewing/plugin-sprinkle" "^0.2"
"@freesewing/plugin-title" "^0.11" "@freesewing/plugin-title" "^0.11"
"@freesewing/plugin-bust@file:packages/plugin-bust":
version "2.0.0-alpha.2"
"@freesewing/plugin-buttons@0.1.0": "@freesewing/plugin-buttons@0.1.0":
version "0.1.0" version "0.1.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-buttons/-/plugin-buttons-0.1.0.tgz#5f9e94ed69a6530d40a1737a6f5e33a6fde9491f" resolved "https://registry.yarnpkg.com/@freesewing/plugin-buttons/-/plugin-buttons-0.1.0.tgz#5f9e94ed69a6530d40a1737a6f5e33a6fde9491f"
integrity sha512-X3C4duwnx0CT9Q6zUfPeErlz4A1nJMdTLJ/smhtkfjOK9G81hsKkyRO8JIGb7vHcz9McMD5yq3xbsBxVAvGyLw== integrity sha512-X3C4duwnx0CT9Q6zUfPeErlz4A1nJMdTLJ/smhtkfjOK9G81hsKkyRO8JIGb7vHcz9McMD5yq3xbsBxVAvGyLw==
"@freesewing/plugin-buttons@latest": "@freesewing/plugin-buttons@file:packages/plugin-buttons":
version "0.2.0" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-buttons/-/plugin-buttons-0.2.0.tgz#25a8cc0351f9d6b14607af2aefdb1f25ddc9c6db"
integrity sha512-NzaU3Wssf28dvZ4iXvpvomVLkak4SZsFlRGzll6ej6BoJifujdCXEMYWwrz5yNB1Ko0NXMw81xHmkLi95bJHRA==
"@freesewing/plugin-cutonfold@0.10.4": "@freesewing/plugin-cutonfold@0.10.4":
version "0.10.4" version "0.10.4"
@ -1822,6 +1790,15 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-cutonfold/-/plugin-cutonfold-0.11.0.tgz#c98749426825a5934851b1138205c2dd21a6cd74" resolved "https://registry.yarnpkg.com/@freesewing/plugin-cutonfold/-/plugin-cutonfold-0.11.0.tgz#c98749426825a5934851b1138205c2dd21a6cd74"
integrity sha512-AP2x3Cu0Mr+WKa1Uo+IjsY1MKa59VGTBa5Hnb/3LuX9ksPQRtK+1CwTUTetRTdNPYe/EVoq085rsYwvT8v1n6w== integrity sha512-AP2x3Cu0Mr+WKa1Uo+IjsY1MKa59VGTBa5Hnb/3LuX9ksPQRtK+1CwTUTetRTdNPYe/EVoq085rsYwvT8v1n6w==
"@freesewing/plugin-cutonfold@file:packages/plugin-cutonfold":
version "2.0.0-alpha.2"
"@freesewing/plugin-debug@file:packages/plugin-debug":
version "2.0.0-alpha.2"
"@freesewing/plugin-designer@file:packages/plugin-designer":
version "2.0.0-alpha.2"
"@freesewing/plugin-dimension@0.7.3": "@freesewing/plugin-dimension@0.7.3":
version "0.7.3" version "0.7.3"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-dimension/-/plugin-dimension-0.7.3.tgz#3fec30d62e9aef1495cb9e7ae35261c498f5918f" resolved "https://registry.yarnpkg.com/@freesewing/plugin-dimension/-/plugin-dimension-0.7.3.tgz#3fec30d62e9aef1495cb9e7ae35261c498f5918f"
@ -1832,10 +1809,11 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-dimension/-/plugin-dimension-0.8.0.tgz#e612522306878483abf02a7c15beeb3e2ee2856c" resolved "https://registry.yarnpkg.com/@freesewing/plugin-dimension/-/plugin-dimension-0.8.0.tgz#e612522306878483abf02a7c15beeb3e2ee2856c"
integrity sha512-MFqXanHo7+X4PHArhBwiOE/hliPv7JOEmSbupL/VGJVx4ptcTmlCiOnuTYmaY1ae6Vdi7upO4A4XzdmeE5G5XQ== integrity sha512-MFqXanHo7+X4PHArhBwiOE/hliPv7JOEmSbupL/VGJVx4ptcTmlCiOnuTYmaY1ae6Vdi7upO4A4XzdmeE5G5XQ==
"@freesewing/plugin-flip@latest": "@freesewing/plugin-dimension@file:packages/plugin-dimension":
version "0.2.0" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-flip/-/plugin-flip-0.2.0.tgz#04cc45804038d6abf3783bc069d0079d93598d5f"
integrity sha512-XEk3jnsLj3XK6auhwN3+oFZZ2CKIfOYisK1WK8QwBBCjkXyXLzqi7Ja8rAEgtBpQbuSHkbv6FEqAeGWFpjGdPw== "@freesewing/plugin-flip@file:packages/plugin-flip":
version "2.0.0-alpha.2"
"@freesewing/plugin-grainline@0.2.2": "@freesewing/plugin-grainline@0.2.2":
version "0.2.2" version "0.2.2"
@ -1847,6 +1825,12 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-grainline/-/plugin-grainline-0.3.0.tgz#ada222ad9d94ce79eb1cc6e26c7c6ac82df94f4e" resolved "https://registry.yarnpkg.com/@freesewing/plugin-grainline/-/plugin-grainline-0.3.0.tgz#ada222ad9d94ce79eb1cc6e26c7c6ac82df94f4e"
integrity sha512-uQONbhR3W2UF+C4R3qMJpxXbIb6YLDM3aeHqc2CY7RR71MyBrulfAqIt9bRli90qQJGdKuHHkVe/4FtPFvuukA== integrity sha512-uQONbhR3W2UF+C4R3qMJpxXbIb6YLDM3aeHqc2CY7RR71MyBrulfAqIt9bRli90qQJGdKuHHkVe/4FtPFvuukA==
"@freesewing/plugin-grainline@file:packages/plugin-grainline":
version "2.0.0-alpha.2"
"@freesewing/plugin-i18n@file:packages/plugin-i18n":
version "2.0.0-alpha.2"
"@freesewing/plugin-logo@0.5.2": "@freesewing/plugin-logo@0.5.2":
version "0.5.2" version "0.5.2"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-logo/-/plugin-logo-0.5.2.tgz#adc218c11840d4a2bfebb14b559b4528dc6f9d5c" resolved "https://registry.yarnpkg.com/@freesewing/plugin-logo/-/plugin-logo-0.5.2.tgz#adc218c11840d4a2bfebb14b559b4528dc6f9d5c"
@ -1857,16 +1841,22 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-logo/-/plugin-logo-0.6.0.tgz#4d359c36452a79e8f249413afebdd3f3c4c2464b" resolved "https://registry.yarnpkg.com/@freesewing/plugin-logo/-/plugin-logo-0.6.0.tgz#4d359c36452a79e8f249413afebdd3f3c4c2464b"
integrity sha512-bV4+71eblxaR6eeQvSfXQn1ThZYIX7rLAof1v9xwUV5BxLfX+MsfVqIIFi5gGRA8XPF/yf2P+9GWyWRCk6HV1Q== integrity sha512-bV4+71eblxaR6eeQvSfXQn1ThZYIX7rLAof1v9xwUV5BxLfX+MsfVqIIFi5gGRA8XPF/yf2P+9GWyWRCk6HV1Q==
"@freesewing/plugin-logo@file:packages/plugin-logo":
version "2.0.0-alpha.2"
"@freesewing/plugin-round@0.3.0": "@freesewing/plugin-round@0.3.0":
version "0.3.0" version "0.3.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-round/-/plugin-round-0.3.0.tgz#4483dd0cc22842054b2b020fd1ba91b8c347f2bf" resolved "https://registry.yarnpkg.com/@freesewing/plugin-round/-/plugin-round-0.3.0.tgz#4483dd0cc22842054b2b020fd1ba91b8c347f2bf"
integrity sha512-qlyQ/kC1MYZfDus4SI1gOkyXx3tyG2V0/zsjtYH9rW4SnwarzQMgUwRYN87DmPszrqGqIgVZmhTatW7dz3LhCg== integrity sha512-qlyQ/kC1MYZfDus4SI1gOkyXx3tyG2V0/zsjtYH9rW4SnwarzQMgUwRYN87DmPszrqGqIgVZmhTatW7dz3LhCg==
"@freesewing/plugin-round@^0.4", "@freesewing/plugin-round@latest": "@freesewing/plugin-round@^0.4":
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-round/-/plugin-round-0.4.0.tgz#84cbf52be76613b13c071c7c4d10bbc4e350ce94" resolved "https://registry.yarnpkg.com/@freesewing/plugin-round/-/plugin-round-0.4.0.tgz#84cbf52be76613b13c071c7c4d10bbc4e350ce94"
integrity sha512-DtsHTiE/tRt4vOhN9dvDRxCPK2REzEBw5QHUfQgLAOlDvGhNhRpQ7nQ9oQmuTUwC/WeIuO0QadNpU+97WNpUvw== integrity sha512-DtsHTiE/tRt4vOhN9dvDRxCPK2REzEBw5QHUfQgLAOlDvGhNhRpQ7nQ9oQmuTUwC/WeIuO0QadNpU+97WNpUvw==
"@freesewing/plugin-round@file:packages/plugin-round":
version "2.0.0-alpha.2"
"@freesewing/plugin-scalebox@0.3.1": "@freesewing/plugin-scalebox@0.3.1":
version "0.3.1" version "0.3.1"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-scalebox/-/plugin-scalebox-0.3.1.tgz#d6beed1f961bc849bcafad59c3c87a7c4d884997" resolved "https://registry.yarnpkg.com/@freesewing/plugin-scalebox/-/plugin-scalebox-0.3.1.tgz#d6beed1f961bc849bcafad59c3c87a7c4d884997"
@ -1877,6 +1867,9 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-scalebox/-/plugin-scalebox-0.4.0.tgz#fe0cc58ff60c93ad8a28d71695fee8f491e06777" resolved "https://registry.yarnpkg.com/@freesewing/plugin-scalebox/-/plugin-scalebox-0.4.0.tgz#fe0cc58ff60c93ad8a28d71695fee8f491e06777"
integrity sha512-U4PaZQQy9kRmGL56rgpUpTBSC+jod3UQYSipOfI0nRF4RahvpncfH7rnbXI+7Hp75jLTyVUdtQxirBcYzQ+oMw== integrity sha512-U4PaZQQy9kRmGL56rgpUpTBSC+jod3UQYSipOfI0nRF4RahvpncfH7rnbXI+7Hp75jLTyVUdtQxirBcYzQ+oMw==
"@freesewing/plugin-scalebox@file:packages/plugin-scalebox":
version "2.0.0-alpha.2"
"@freesewing/plugin-sprinkle@0.1.0": "@freesewing/plugin-sprinkle@0.1.0":
version "0.1.0" version "0.1.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-sprinkle/-/plugin-sprinkle-0.1.0.tgz#347070e8fd8b552343fb80dc5002e61cda312545" resolved "https://registry.yarnpkg.com/@freesewing/plugin-sprinkle/-/plugin-sprinkle-0.1.0.tgz#347070e8fd8b552343fb80dc5002e61cda312545"
@ -1887,6 +1880,15 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-sprinkle/-/plugin-sprinkle-0.2.0.tgz#76ac948f70dfda72f79963f1f726b90b8991dbf8" resolved "https://registry.yarnpkg.com/@freesewing/plugin-sprinkle/-/plugin-sprinkle-0.2.0.tgz#76ac948f70dfda72f79963f1f726b90b8991dbf8"
integrity sha512-nBX7/YwPWUZpBlXO/V0sh1bB2+Rh2kD+AovnofTo/DTMoqgjLRCtzyiuhxO6F2grDUjAkkrUjt7h1UN2UK13jg== integrity sha512-nBX7/YwPWUZpBlXO/V0sh1bB2+Rh2kD+AovnofTo/DTMoqgjLRCtzyiuhxO6F2grDUjAkkrUjt7h1UN2UK13jg==
"@freesewing/plugin-sprinkle@file:packages/plugin-sprinkle":
version "2.0.0-alpha.2"
"@freesewing/plugin-svgattr@file:packages/plugin-svgattr":
version "2.0.0-alpha.2"
"@freesewing/plugin-theme@file:packages/plugin-theme":
version "2.0.0-alpha.2"
"@freesewing/plugin-title@0.10.0": "@freesewing/plugin-title@0.10.0":
version "0.10.0" version "0.10.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-title/-/plugin-title-0.10.0.tgz#51cb71b28b5a689fd6db74cd4469aa0f80d85a86" resolved "https://registry.yarnpkg.com/@freesewing/plugin-title/-/plugin-title-0.10.0.tgz#51cb71b28b5a689fd6db74cd4469aa0f80d85a86"
@ -1897,56 +1899,37 @@
resolved "https://registry.yarnpkg.com/@freesewing/plugin-title/-/plugin-title-0.11.0.tgz#6fd7d44e8ef8a4e2acc0b62e39731bb7534ee35c" resolved "https://registry.yarnpkg.com/@freesewing/plugin-title/-/plugin-title-0.11.0.tgz#6fd7d44e8ef8a4e2acc0b62e39731bb7534ee35c"
integrity sha512-6TuNGtzq/klmhef7pfmRCHnFDrVRfEzwkacCrlb9bOX5y+ql5mnIrlBRt/Sw3RD6RHAcnn+CArjoYng4HWHONA== integrity sha512-6TuNGtzq/klmhef7pfmRCHnFDrVRfEzwkacCrlb9bOX5y+ql5mnIrlBRt/Sw3RD6RHAcnn+CArjoYng4HWHONA==
"@freesewing/simon@latest": "@freesewing/plugin-title@file:packages/plugin-title":
version "0.4.6" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/simon/-/simon-0.4.6.tgz#a10c0f1c2a5d023fe6762319985325a8eae9cf67"
integrity sha512-L0UfzsVAs3EiRVZF2zFd6BmZioaRMwTjmezqPOW7UQDD2BMVCSTdLCkaVt56xJN7BoSp+y30t+NL3AfRMM+djQ==
dependencies:
"@freesewing/brian" "0.22.15"
"@freesewing/plugin-banner" latest
"@freesewing/plugin-bundle" "0.8.0"
"@freesewing/plugin-buttons" latest
"@freesewing/plugin-flip" latest
freesewing "0.30.6"
"@freesewing/sven@latest": "@freesewing/plugin-validate@file:packages/plugin-validate":
version "0.2.6" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/sven/-/sven-0.2.6.tgz#2bb7db7dbbe85371aadfd4544a4ba9fa6bc51ec8"
integrity sha512-x/dlbSAnfXE5mxY2lG2aORZNw4Aoq7VGXKi8Ap6hvFVrohFxIg0A1ttvmxVIVIyadAPbvF/wFBfu+6VCIOQsUQ==
dependencies:
"@freesewing/brian" "0.23.2"
"@freesewing/plugin-bundle" "0.8.0"
freesewing "0.30.6"
"@freesewing/tamiko@latest": "@freesewing/shin@file:packages/shin":
version "0.2.5" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/tamiko/-/tamiko-0.2.5.tgz#b4709fd1ba34c5c1a3a2d7c42ba7a5dd68259458"
integrity sha512-gyojHmVdOxFl0nsCV9W5VERgQXuT8qsPmiTSSoHGrOAIc3X46gawJOXpWxtdz4k6rS/U1juYRfKY9WLU3NvgCA==
dependencies:
"@freesewing/plugin-bundle" "0.8.0"
freesewing "0.30.6"
"@freesewing/trayvon@latest": "@freesewing/simon@file:packages/simon":
version "0.1.5" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/trayvon/-/trayvon-0.1.5.tgz#63d3f0e056c6ecc731e7dd4828be6a3caff013ec"
integrity sha512-W9SrnWSDWdU0vcvSgODfh4ehnvh0Q9MQwfJTsHf3nbBDkPo9SkJ9NT+o4saHYIWju3IBGa7Cu4D29gWP3GVRiw==
dependencies:
"@freesewing/plugin-bundle" "0.8.0"
freesewing "0.30.6"
"@freesewing/utils@file:packages/utils": "@freesewing/sven@file:packages/sven":
version "0.32.4" version "2.0.0-alpha.2"
"@freesewing/wahid@latest": "@freesewing/tamiko@file:packages/tamiko":
version "0.1.3" version "2.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@freesewing/wahid/-/wahid-0.1.3.tgz#07f8e2a5b8fa3b21ea0191fccd5e4d1e7d2dc737"
integrity sha512-uq5jqM/TzAeVkuWYSlYXaZ5lhDLbVb/YoDxIMbNhi4nnqvNl/Ofi4Qcd2vX6L9c9YKqMPG0iknuuln8mwKcfCw== "@freesewing/trayvon@file:packages/trayvon":
version "2.0.0-alpha.2"
"@freesewing/wahid@file:packages/wahid":
version "2.0.0-alpha.2"
"@freesewing/workbench@file:packages/workbench":
version "2.0.0-alpha.2"
dependencies: dependencies:
"@freesewing/brian" "0.23.2" "@freesewing/components" "^2.0.0-alpha.2"
"@freesewing/plugin-bundle" "0.8.0" "@freesewing/css-theme" "^2.0.0-alpha.2"
"@freesewing/plugin-buttons" latest "@freesewing/mui-theme" "^2.0.0-alpha.2"
"@freesewing/plugin-round" latest "@freesewing/utils" "^2.0.0-alpha.2"
freesewing "0.30.6"
"@icons/material@^0.2.4": "@icons/material@^0.2.4":
version "0.2.4" version "0.2.4"
@ -2770,28 +2753,6 @@
keycode "^2.1.9" keycode "^2.1.9"
prop-types "^15.6.0" prop-types "^15.6.0"
"@material-ui/styles@3.0.0-alpha.10":
version "3.0.0-alpha.10"
resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-3.0.0-alpha.10.tgz#4c28a6d6dacb1fb71aff4642f92b63232a3f298d"
integrity sha512-qJ5eiupBPRCNlMCDZ2G5h8auBtBtm8uT/oCUAJ/FqhO5oC7POLmmvDN1Cq1cgAmqQnaL6uN5mAM1Gc90GpKr9A==
dependencies:
"@babel/runtime" "^7.2.0"
"@emotion/hash" "^0.7.1"
"@material-ui/utils" "^3.0.0-alpha.2"
classnames "^2.2.5"
deepmerge "^3.0.0"
hoist-non-react-statics "^3.2.1"
jss "^10.0.0-alpha.7"
jss-plugin-camel-case "^10.0.0-alpha.7"
jss-plugin-default-unit "^10.0.0-alpha.7"
jss-plugin-global "^10.0.0-alpha.7"
jss-plugin-nested "^10.0.0-alpha.7"
jss-plugin-props-sort "^10.0.0-alpha.7"
jss-plugin-rule-value-function "^10.0.0-alpha.7"
jss-plugin-vendor-prefixer "^10.0.0-alpha.7"
prop-types "^15.6.0"
warning "^4.0.1"
"@material-ui/system@^3.0.0-alpha.0": "@material-ui/system@^3.0.0-alpha.0":
version "3.0.0-alpha.2" version "3.0.0-alpha.2"
resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-3.0.0-alpha.2.tgz#096e80c8bb0f70aea435b9e38ea7749ee77b4e46" resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-3.0.0-alpha.2.tgz#096e80c8bb0f70aea435b9e38ea7749ee77b4e46"
@ -6308,6 +6269,26 @@ create-error-class@^3.0.0:
dependencies: dependencies:
capture-stack-trace "^1.0.0" capture-stack-trace "^1.0.0"
"create-freesewing-pattern@file:packages/create-freesewing-pattern":
version "2.0.0-alpha.2"
dependencies:
chalk "^2.4.2"
commander "^2.19.0"
conf "^2.2.0"
cp-file "^6.0.0"
execa "^1.0.0"
git-config-path "^2.0.0"
github-username "^4.1.0"
globby "^9.0.0"
handlebars "^4.1.0"
inquirer "^6.2.2"
make-dir "^2.0.0"
ora "^3.1.0"
p-each-series "^1.0.0"
parse-git-config "^3.0.0"
validate-npm-package-name "^3.0.0"
which "^1.3.1"
create-hash@^1.1.0, create-hash@^1.1.2: create-hash@^1.1.0, create-hash@^1.1.2:
version "1.2.0" version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
@ -6544,14 +6525,6 @@ css-vendor@^0.3.8:
dependencies: dependencies:
is-in-browser "^1.0.2" is-in-browser "^1.0.2"
css-vendor@^1.1.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-1.2.1.tgz#21b914913d3a68bab2708090dab2e61db7c9eaec"
integrity sha512-ZpwiWxn5jWNJ7NF3DAb/Dc/+c2lRu+fnovej/adCv3VJsULJSjdXEpUwRcq4fnpAAh98Hi7b0GDnlyoNFcdv1g==
dependencies:
"@babel/runtime" "^7.3.1"
is-in-browser "^1.0.2"
css-what@2.1, css-what@^2.1.2: css-what@2.1, css-what@^2.1.2:
version "2.1.3" version "2.1.3"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
@ -8510,14 +8483,6 @@ fragment-cache@^0.2.1:
dependencies: dependencies:
map-cache "^0.2.2" map-cache "^0.2.2"
freesewing@0.30.6:
version "0.30.6"
resolved "https://registry.yarnpkg.com/freesewing/-/freesewing-0.30.6.tgz#5029957bd864df3d902812d413eef5052e809aee"
integrity sha512-iacKTnjNCzMyMcIfutMm7UHO51ewgtpZ5TTkL7gho0nZyAvjdwreNw5yrEej73nhr7zobGQqOijw+z3JdPNQ8w==
dependencies:
bezier-js "2.3.2"
bin-pack "1.0.2"
freesewing@latest: freesewing@latest:
version "0.31.0" version "0.31.0"
resolved "https://registry.yarnpkg.com/freesewing/-/freesewing-0.31.0.tgz#4d4720fa2ec9faf12efc64ff183e74dfbb1bc4fb" resolved "https://registry.yarnpkg.com/freesewing/-/freesewing-0.31.0.tgz#4d4720fa2ec9faf12efc64ff183e74dfbb1bc4fb"
@ -11290,58 +11255,6 @@ jss-nested@^6.0.1:
dependencies: dependencies:
warning "^3.0.0" warning "^3.0.0"
jss-plugin-camel-case@^10.0.0-alpha.7:
version "10.0.0-alpha.7"
resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.0.0-alpha.7.tgz#7dcbd9acb6682f3102cb2d3356b4fd9642d93f17"
integrity sha512-Bwrav1ZB0XywdJW6TaEuFhKe1ZpZvUlESh3jsFOvebA9aFTYNCkmHMEqjA5+u9VMxksl3u77nnZHtukpxkzrBA==
dependencies:
"@babel/runtime" "^7.0.0"
hyphenate-style-name "^1.0.2"
jss-plugin-default-unit@^10.0.0-alpha.7:
version "10.0.0-alpha.7"
resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.0.0-alpha.7.tgz#f6dd0a03d545e7bf243c062bae3a832ac8c5ff6d"
integrity sha512-auuJUbQaWMxoHOVFPrfZNZpZm9ab8PZeDyvey8nMt2lbokkmZ53UyAnM/1kNsg5BdAXTItcLDxDB3I4gwNU84g==
dependencies:
"@babel/runtime" "^7.0.0"
jss-plugin-global@^10.0.0-alpha.7:
version "10.0.0-alpha.7"
resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.0.0-alpha.7.tgz#38ca390802b62da490afbaafc581552a81977729"
integrity sha512-OWeoW4szLDgRUKviST+xfilqa8O5uXJCW+O3YonheCRTRJg6rRzlE/b5pfYPoU9UtwvY9n7JvwBX5r3c1lMsEQ==
dependencies:
"@babel/runtime" "^7.0.0"
jss-plugin-nested@^10.0.0-alpha.7:
version "10.0.0-alpha.7"
resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.0.0-alpha.7.tgz#03a89c8f7c1d570a3d5f16dae3e61f7f2edb0316"
integrity sha512-wsRzuIZXAc6WMjc61mREW9cUrDxgSI7dK/fx5c7a06IDUfSn+83NJ30J/RB4oBnbQW9SijV/muujz7IJqpn9Gw==
dependencies:
"@babel/runtime" "^7.0.0"
tiny-warning "^1.0.2"
jss-plugin-props-sort@^10.0.0-alpha.7:
version "10.0.0-alpha.7"
resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.0.0-alpha.7.tgz#46f1809fcae0acc048d0047aa54a4b9b6973597d"
integrity sha512-KXOCaHUk1+KXqE0z3q66/w1fDoy+VsZvI77gLxOqTsTrvIKFLX0jarwXogW3CDlaPQQFTZ6JykJJXtPRTBlstA==
dependencies:
"@babel/runtime" "^7.0.0"
jss-plugin-rule-value-function@^10.0.0-alpha.7:
version "10.0.0-alpha.7"
resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.0.0-alpha.7.tgz#63df1078ac361dda67996e25291d90f7226ae59a"
integrity sha512-ett83hvIM69/LknmrWndrrdiDlfLfP+rneU5qP7gTOWJ7g1P9GuEL1Tc4CWdZUWBX+T58tgIBP0V1pzWCkP0QA==
dependencies:
"@babel/runtime" "^7.0.0"
jss-plugin-vendor-prefixer@^10.0.0-alpha.7:
version "10.0.0-alpha.7"
resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.0.0-alpha.7.tgz#caa34eb0bc39f0c98f425e174fc220d1f1a8760a"
integrity sha512-YbIVgqq+dLimOBOEYggho1Iuc0roz4PJSZYyaok9n8JnXVIqPnxYJbr8+bMbvzJ5CL3eeJij/e7L2IPCceRKrA==
dependencies:
"@babel/runtime" "^7.0.0"
css-vendor "^1.1.0"
jss-props-sort@^6.0.0: jss-props-sort@^6.0.0:
version "6.0.0" version "6.0.0"
resolved "https://registry.yarnpkg.com/jss-props-sort/-/jss-props-sort-6.0.0.tgz#9105101a3b5071fab61e2d85ea74cc22e9b16323" resolved "https://registry.yarnpkg.com/jss-props-sort/-/jss-props-sort-6.0.0.tgz#9105101a3b5071fab61e2d85ea74cc22e9b16323"
@ -11354,15 +11267,6 @@ jss-vendor-prefixer@^7.0.0:
dependencies: dependencies:
css-vendor "^0.3.8" css-vendor "^0.3.8"
jss@^10.0.0-alpha.7:
version "10.0.0-alpha.16"
resolved "https://registry.yarnpkg.com/jss/-/jss-10.0.0-alpha.16.tgz#0555e8b667e08dbd2cc94f6125be5a8b8b022833"
integrity sha512-HmKNNnr82TR5jkWjBcbrx/uim2ief588pWp7zsf4GQpL125zRkEaWYL1SXv5bR6bBvAoTtvJsTAOxDIlLxUNZg==
dependencies:
"@babel/runtime" "^7.3.1"
is-in-browser "^1.1.3"
tiny-warning "^1.0.2"
jss@^9.8.7: jss@^9.8.7:
version "9.8.7" version "9.8.7"
resolved "https://registry.yarnpkg.com/jss/-/jss-9.8.7.tgz#ed9763fc0f2f0260fc8260dac657af61e622ce05" resolved "https://registry.yarnpkg.com/jss/-/jss-9.8.7.tgz#ed9763fc0f2f0260fc8260dac657af61e622ce05"
@ -17564,7 +17468,7 @@ tiny-invariant@^1.0.2:
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.4.tgz#346b5415fd93cb696b0c4e8a96697ff590f92463" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.4.tgz#346b5415fd93cb696b0c4e8a96697ff590f92463"
integrity sha512-lMhRd/djQJ3MoaHEBrw8e2/uM4rs9YMNk0iOr8rHQ0QdbM7D4l0gFl3szKdeixrlyfm9Zqi4dxHCM2qVG8ND5g== integrity sha512-lMhRd/djQJ3MoaHEBrw8e2/uM4rs9YMNk0iOr8rHQ0QdbM7D4l0gFl3szKdeixrlyfm9Zqi4dxHCM2qVG8ND5g==
tiny-warning@^1.0.0, tiny-warning@^1.0.2: tiny-warning@^1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.2.tgz#1dfae771ee1a04396bdfde27a3adcebc6b648b28" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.2.tgz#1dfae771ee1a04396bdfde27a3adcebc6b648b28"
integrity sha512-rru86D9CpQRLvsFG5XFdy0KdLAvjdQDyZCsRcuu60WtzFylDM3eAWSxEVz5kzL2Gp544XiUvPbVKtOA/txLi9Q== integrity sha512-rru86D9CpQRLvsFG5XFdy0KdLAvjdQDyZCsRcuu60WtzFylDM3eAWSxEVz5kzL2Gp544XiUvPbVKtOA/txLi9Q==