From 2d1ab7d1f7a07e90fc9f24f801232c5ced8fe59a Mon Sep 17 00:00:00 2001 From: Fernando Florenzano Hernandez Date: Fri, 5 May 2023 10:43:01 -0400 Subject: [PATCH 1/7] feat(create-mechanic): create-mechanic supports creating design functions with custom inputs --- .../function-blank/{ => function}/index.js | 0 .../adaptive-grid/dependencies.json | 5 + ...gramPangram-FreeForPersonalUse-MAY2021.pdf | Bin .../function/assets/FuturaStd-Bold.otf | Bin 0 -> 26900 bytes .../function}/assets/PPObjectSans-Heavy.otf | Bin .../assets/PPObjectSans-HeavySlanted.otf | Bin .../function}/assets/PPObjectSans-Regular.otf | Bin .../function}/assets/PPObjectSans-Slanted.otf | Bin .../function/components/Column.js | 23 + .../function/components/Image.js | 69 +++ .../adaptive-grid/function/hooks.js | 39 ++ .../adaptive-grid/function/index.js | 411 ++++++++++++++++++ .../adaptive-grid/function/styles.css | 82 ++++ .../adaptive-grid/function/utils.js | 36 ++ .../adaptive-grid/inputs/group/index.js | 87 ++++ .../inputs/group/style.module.css | 7 + ...gramPangram-FreeForPersonalUse-MAY2021.pdf | Bin .../function}/assets/PPObjectSans-Heavy.otf | Bin .../assets/PPObjectSans-HeavySlanted.otf | Bin .../function}/assets/PPObjectSans-Regular.otf | Bin .../function}/assets/PPObjectSans-Slanted.otf | Bin .../{ => function}/index.js | 0 .../{ => function}/styles.css | 0 .../function-examples/index.js | 5 + .../{ => function}/Circle.js | 0 ...gramPangram-FreeForPersonalUse-MAY2021.pdf | Bin .../function}/assets/PPObjectSans-Heavy.otf | Bin .../assets/PPObjectSans-HeavySlanted.otf | Bin .../function}/assets/PPObjectSans-Regular.otf | Bin .../function/assets/PPObjectSans-Slanted.otf | Bin 0 -> 59760 bytes .../{ => function}/index.js | 0 .../{ => function}/styles.css | 0 .../{ => function}/utils.js | 0 ...gramPangram-FreeForPersonalUse-MAY2021.pdf | Bin 0 -> 73168 bytes .../function/assets/PPObjectSans-Heavy.otf | Bin 0 -> 63900 bytes .../assets/PPObjectSans-HeavySlanted.otf | Bin 0 -> 66120 bytes .../function/assets/PPObjectSans-Regular.otf | Bin 0 -> 56348 bytes .../poster-generator/{ => function}/index.js | 0 .../poster-generator/{ => function}/utils.js | 0 .../canvas-image/{ => function}/index.js | 0 .../canvas-video/{ => function}/index.js | 0 .../d3-image/{ => function}/index.js | 0 .../p5-image/{ => function}/index.js | 0 .../p5-video/{ => function}/index.js | 0 .../react-image/{ => function}/index.js | 0 .../react-video/{ => function}/index.js | 0 .../svg-image/{ => function}/index.js | 0 .../svg-video/{ => function}/index.js | 0 .../svgjs-image/{ => function}/index.js | 0 packages/create-mechanic/new-function.js | 94 ++-- packages/create-mechanic/script-content.js | 26 +- 51 files changed, 855 insertions(+), 29 deletions(-) rename packages/create-mechanic/function-blank/{ => function}/index.js (100%) create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/dependencies.json rename packages/create-mechanic/function-examples/{business-card-generator => adaptive-grid/function}/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf (100%) create mode 100755 packages/create-mechanic/function-examples/adaptive-grid/function/assets/FuturaStd-Bold.otf rename packages/create-mechanic/function-examples/{business-card-generator => adaptive-grid/function}/assets/PPObjectSans-Heavy.otf (100%) rename packages/create-mechanic/function-examples/{business-card-generator => adaptive-grid/function}/assets/PPObjectSans-HeavySlanted.otf (100%) rename packages/create-mechanic/function-examples/{business-card-generator => adaptive-grid/function}/assets/PPObjectSans-Regular.otf (100%) rename packages/create-mechanic/function-examples/{business-card-generator => adaptive-grid/function}/assets/PPObjectSans-Slanted.otf (100%) create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/function/index.js create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/function/styles.css create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/function/utils.js create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js create mode 100644 packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css rename packages/create-mechanic/function-examples/{instagram-story-generator => business-card-generator/function}/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf (100%) rename packages/create-mechanic/function-examples/{instagram-story-generator => business-card-generator/function}/assets/PPObjectSans-Heavy.otf (100%) rename packages/create-mechanic/function-examples/{instagram-story-generator => business-card-generator/function}/assets/PPObjectSans-HeavySlanted.otf (100%) rename packages/create-mechanic/function-examples/{instagram-story-generator => business-card-generator/function}/assets/PPObjectSans-Regular.otf (100%) rename packages/create-mechanic/function-examples/{instagram-story-generator => business-card-generator/function}/assets/PPObjectSans-Slanted.otf (100%) rename packages/create-mechanic/function-examples/business-card-generator/{ => function}/index.js (100%) rename packages/create-mechanic/function-examples/business-card-generator/{ => function}/styles.css (100%) rename packages/create-mechanic/function-examples/instagram-story-generator/{ => function}/Circle.js (100%) rename packages/create-mechanic/function-examples/{poster-generator => instagram-story-generator/function}/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf (100%) rename packages/create-mechanic/function-examples/{poster-generator => instagram-story-generator/function}/assets/PPObjectSans-Heavy.otf (100%) rename packages/create-mechanic/function-examples/{poster-generator => instagram-story-generator/function}/assets/PPObjectSans-HeavySlanted.otf (100%) rename packages/create-mechanic/function-examples/{poster-generator => instagram-story-generator/function}/assets/PPObjectSans-Regular.otf (100%) create mode 100644 packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-Slanted.otf rename packages/create-mechanic/function-examples/instagram-story-generator/{ => function}/index.js (100%) rename packages/create-mechanic/function-examples/instagram-story-generator/{ => function}/styles.css (100%) rename packages/create-mechanic/function-examples/instagram-story-generator/{ => function}/utils.js (100%) create mode 100644 packages/create-mechanic/function-examples/poster-generator/function/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf create mode 100644 packages/create-mechanic/function-examples/poster-generator/function/assets/PPObjectSans-Heavy.otf create mode 100644 packages/create-mechanic/function-examples/poster-generator/function/assets/PPObjectSans-HeavySlanted.otf create mode 100644 packages/create-mechanic/function-examples/poster-generator/function/assets/PPObjectSans-Regular.otf rename packages/create-mechanic/function-examples/poster-generator/{ => function}/index.js (100%) rename packages/create-mechanic/function-examples/poster-generator/{ => function}/utils.js (100%) rename packages/create-mechanic/function-templates/canvas-image/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/canvas-video/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/d3-image/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/p5-image/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/p5-video/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/react-image/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/react-video/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/svg-image/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/svg-video/{ => function}/index.js (100%) rename packages/create-mechanic/function-templates/svgjs-image/{ => function}/index.js (100%) diff --git a/packages/create-mechanic/function-blank/index.js b/packages/create-mechanic/function-blank/function/index.js similarity index 100% rename from packages/create-mechanic/function-blank/index.js rename to packages/create-mechanic/function-blank/function/index.js diff --git a/packages/create-mechanic/function-examples/adaptive-grid/dependencies.json b/packages/create-mechanic/function-examples/adaptive-grid/dependencies.json new file mode 100644 index 00000000..81bb91dd --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/dependencies.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "@mechanic-design/engine-react": "^2.0.0-beta.10" + } +} diff --git a/packages/create-mechanic/function-examples/business-card-generator/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf b/packages/create-mechanic/function-examples/adaptive-grid/function/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf similarity index 100% rename from packages/create-mechanic/function-examples/business-card-generator/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf rename to packages/create-mechanic/function-examples/adaptive-grid/function/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/assets/FuturaStd-Bold.otf b/packages/create-mechanic/function-examples/adaptive-grid/function/assets/FuturaStd-Bold.otf new file mode 100755 index 0000000000000000000000000000000000000000..dc25384101f5c6c9d9d10bdf1214c5a9b171c102 GIT binary patch literal 26900 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 literal 0 HcmV?d00001 diff --git a/packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-Heavy.otf b/packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-Heavy.otf similarity index 100% rename from packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-Heavy.otf rename to packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-Heavy.otf diff --git a/packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-HeavySlanted.otf b/packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-HeavySlanted.otf similarity index 100% rename from packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-HeavySlanted.otf rename to packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-HeavySlanted.otf diff --git a/packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-Regular.otf b/packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-Regular.otf similarity index 100% rename from packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-Regular.otf rename to packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-Regular.otf diff --git a/packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-Slanted.otf b/packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-Slanted.otf similarity index 100% rename from packages/create-mechanic/function-examples/business-card-generator/assets/PPObjectSans-Slanted.otf rename to packages/create-mechanic/function-examples/adaptive-grid/function/assets/PPObjectSans-Slanted.otf diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js new file mode 100644 index 00000000..21a54253 --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js @@ -0,0 +1,23 @@ +import React from "react"; + +export const Column = ({ width, height, x, y, showGrid, children }) => { + return ( + <> + +
{children}
+
+ + {showGrid && ( + + )} + + ); +}; diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js new file mode 100644 index 00000000..24c13021 --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js @@ -0,0 +1,69 @@ +import React from "react"; + +const defaultUrl = + "https://images.unsplash.com/photo-1568214697537-ace27ffd6cf3?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1888&q=80"; + +export const Image = ({ + image, + href, + x, + width, + height, + gutterRatio, + filterOpacity, + gridColor, +}) => { + const imageHref = image ? (href ? href : "") : defaultUrl; + + return ( + <> + + {/* mask to crop the image into rectangle */} + + + + + + {/* the image that will be cropped */} + + + {/* filter applied over image */} + + + {/* lines surrounding image */} + + + + + + ); +}; diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js b/packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js new file mode 100644 index 00000000..ee6e8a9a --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js @@ -0,0 +1,39 @@ +import { useEffect, useState, useRef } from "react"; + +export const usePotentialRandomValue = ( + randomGenerator, + fixedFallback, + isRandom +) => { + const randomValue = randomGenerator(); + const value = useRef(isRandom ? randomValue : fixedFallback); + return value.current; +}; + +export const useImageHref = (image) => { + const [href, setHref] = useState(""); + + useEffect(() => { + let reader; + if (image) { + reader = new FileReader(); + + reader.readAsDataURL(image); + + reader.onload = function () { + setHref(reader.result); + }; + + reader.onerror = function () { + console.error(reader.error); + }; + } + return () => { + if (reader) { + reader.abort(); + } + }; + }, [image]); + + return href; +}; diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/index.js b/packages/create-mechanic/function-examples/adaptive-grid/function/index.js new file mode 100644 index 00000000..0419c91c --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/index.js @@ -0,0 +1,411 @@ +import React, { useEffect } from "react"; + +import { Image } from "./components/Image"; +import { Column } from "./components/Column"; +import { useImageHref, usePotentialRandomValue } from "./hooks"; +import { + getRandomInt, + getRandomSign, + getRandomColor, + brightnessByColor, +} from "./utils"; + +import "./styles.css"; + +export const handler = ({ inputs, mechanic }) => { + const { + width, + height, + randomRatio, + grid, + textSize, + randomColor, + textOne, + textTwo, + textThree, + textFour, + title, + image, + filterOpacity, + titleSizeAdjust, + } = inputs; + + const canvasRatio = width / height; + const columnOptions = canvasRatio >= 0.5 ? (canvasRatio >= 0.75 ? 3 : 2) : 1; + + // Colors + const textColor = usePotentialRandomValue( + getRandomColor, + randomColor.textColor, + randomColor.show + ); + const titleColor = usePotentialRandomValue( + getRandomColor, + randomColor.titleColor, + randomColor.show + ); + const backgroundColor = usePotentialRandomValue( + getRandomColor, + randomColor.backgroundColor, + randomColor.show + ); + + // Column ratios + const columnOneRatio = usePotentialRandomValue( + () => getRandomInt(2, 10), + randomRatio.columnOneRatio, + randomRatio.show + ); + const columnTwoRatio = usePotentialRandomValue( + () => getRandomInt(2, 10), + canvasRatio >= 0.5 ? randomRatio.columnTwoRatio : 0, + canvasRatio >= 0.5 && randomRatio.show + ); + const columnThreeRatio = usePotentialRandomValue( + () => getRandomInt(2, 10), + canvasRatio >= 0.75 ? randomRatio.columnThreeRatio : 0, + canvasRatio >= 0.75 && randomRatio.show + ); + const imageColumn = usePotentialRandomValue( + () => getRandomInt(1, columnOptions + 1), + randomRatio.imageColumn, + randomRatio.show + ); + + // Other spacing + const border = usePotentialRandomValue( + () => getRandomInt(15, 65), + randomRatio.border, + randomRatio.show + ); + const gutter = usePotentialRandomValue( + () => getRandomInt(15, 45), + randomRatio.gutter, + randomRatio.show + ); + + // Horizontal space + const borderRatio = (border * width) / 1080; + const gutterRatio = (gutter * width) / 1080; + const ratioSum = + (width - borderRatio * 2 - gutterRatio * (columnOptions - 1)) / + (columnOneRatio + columnTwoRatio + columnThreeRatio); + const oneWidth = ratioSum * columnOneRatio; + const twoWidth = ratioSum * columnTwoRatio; + const threeWidth = ratioSum * columnThreeRatio; + + const chooseW = [ + canvasRatio >= 0.5 + ? oneWidth + borderRatio + gutterRatio * 0.5 + : oneWidth + borderRatio * 2, + canvasRatio >= 0.75 + ? twoWidth + gutterRatio + : twoWidth + gutterRatio * 0.5 + borderRatio, + threeWidth + borderRatio + borderRatio * 0.5, + ]; + const chooseX = [ + 0, + borderRatio + gutterRatio * 0.5 + oneWidth, + borderRatio + gutterRatio * 1.5 + oneWidth + twoWidth, + ]; + const cropWidth = chooseW[imageColumn - 1]; + const cropX = chooseX[imageColumn - 1]; + + const fullHeight = height - borderRatio * 2; + const textSizeRatio = + ((textSize - (canvasRatio - 0.5) * 2) * width) / + 1080 / + Math.min(canvasRatio, 1); + const titleSize = + ((textSize - title.length * 0.8 + titleSizeAdjust) * 10 * width) / + 1080 / + Math.min(canvasRatio, 1); + const titleAngle = usePotentialRandomValue( + () => getRandomSign() * Math.random() * (60 / canvasRatio), + null, + true + ); + + const gridColor = brightnessByColor(backgroundColor) > 127 ? "#000" : "#fff"; + + const bigTextStyle = { + color: titleColor, + fontSize: textSizeRatio * 1.5, + fontFamily: "Object Sans", + whiteSpace: "pre-wrap", + overflowWrap: "anywhere", + hyphens: "auto", + }; + + const textStyle = { + color: textColor, + fontSize: textSizeRatio, + fontFamily: "Object Sans", + whiteSpace: "pre-wrap", + overflowWrap: "anywhere", + hyphens: "auto", + }; + + const href = useImageHref(image); + + useEffect(() => { + if (!image || href !== "") { + mechanic.done(); + } + }, [image, href]); + + return ( + + + + + + +
+

{textOne}

+ {canvasRatio < 0.5 && ( + <> +
+

{textFour}

+ + )} +
+ +
+

{textTwo}

+ {canvasRatio < 0.5 && ( + <> +
+

{textThree}

+ + )} +
+ + + + {canvasRatio < 0.75 && ( +
+

{textFour}

+
+ )} + +
+

{textThree}

+
+
+ + +
+

{textFour}

+
+
+ + {/* title */} + + {title.toUpperCase()} + + + ); +}; + +export const inputs = { + width: { + type: "number", + default: 1000, + }, + height: { + type: "number", + default: 1000, + }, + randomRatio: { + type: "groupToggle", + default: true, + label: "Random Ratio", + inputs: { + columnOneRatio: { + type: "number", + slider: true, + default: 2, + min: 1, + max: 10, + step: 1, + }, + columnTwoRatio: { + type: "number", + slider: true, + default: 2, + min: 1, + max: 10, + step: 1, + }, + columnThreeRatio: { + type: "number", + slider: true, + default: 1, + min: 1, + max: 10, + step: 1, + }, + border: { + type: "number", + slider: true, + default: 15, + min: 1, + max: 100, + step: 1, + }, + gutter: { + type: "number", + slider: true, + default: 15, + min: 1, + max: 100, + step: 1, + }, + imageColumn: { + type: "number", + slider: true, + default: 1, + min: 1, + max: 3, + step: 1, + }, + }, + }, + randomColor: { + type: "groupToggle", + default: false, + label: "Random Color", + inputs: { + backgroundColor: { + type: "color", + model: "hex", + default: "#000000", + }, + textColor: { + type: "color", + model: "hex", + default: "#ffffff", + }, + titleColor: { + type: "color", + model: "hex", + default: "#E94825", + }, + }, + }, + image: { + type: "image", + multiple: false, + }, + filterOpacity: { + type: "number", + default: 20, + min: 0, + max: 100, + step: 1, + slider: true, + }, + textSize: { + type: "number", + default: 20, + }, + titleSizeAdjust: { + type: "number", + slider: true, + default: 0, + min: -5, + max: 15, + step: 1, + }, + title: { + type: "text", + default: "Mechanic", + }, + textOne: { + type: "text", + default: "MUNUS SHIH", + }, + textTwo: { + type: "text", + default: "MECHANIC.DESIGN INFO@MECHANIC.DESIGN", + }, + textThree: { + type: "text", + default: "@MECHANIC 781 12TH ST, 8A, NEW YORK, NY 10003", + }, + textFour: { + type: "text", + default: "MUNUS@MECHANIC.DESIGN", + }, + grid: { + type: "boolean", + default: false, + }, +}; + +export const presets = { + "Instagram Story": { + width: 1080, + height: 1920, + }, + "Instagram Post": { + width: 1080, + height: 1080, + }, + Poster: { + width: 812, + height: 1148, + }, + Banner: { + width: 1640, + height: 624, + }, + Ticket: { + width: 394, + height: 1126, + }, +}; + +export const settings = { + engine: require("@mechanic-design/engine-react"), + showMultipleExports: true, +}; diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/styles.css b/packages/create-mechanic/function-examples/adaptive-grid/function/styles.css new file mode 100644 index 00000000..3c85337e --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/styles.css @@ -0,0 +1,82 @@ +/* Object Sans + * This beautiful font was designed by Alex Slobzheninov. + * --------------------------------------------------------------------------- + * Object Sans is a contemporary type family that puts together the best + * qualities of Swiss neo-grotesks and geometric fonts. It’s a multifunctional + * workhorse designed to work best in any printed and on-screen contexts. + * It is free to use for personal purposes. If you would like to use it + * for commercial purposes, you will need to purchase a license. + * for more information visit https://pangrampangram.com/products/object-sans + * or check ./assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf + * Alex Slobzheninov https://www.behance.net/slobzheninov + * --------------------------------------------------------------------------- + */ + +@font-face { + font-family: "Futura"; + src: url("./assets/FuturaStd-Bold.otf") format("opentype"); +} + +@font-face { + font-family: "Object Sans"; + src: url("./assets/PPObjectSans-Regular.otf") format("opentype"); +} + +@font-face { + font-family: "Object Sans Italic"; + src: url("./assets/PPObjectSans-Slanted.otf") format("opentype"); + font-style: italic; +} + +@font-face { + font-family: "Object Sans Heavy"; + src: url("./assets/PPObjectSans-Heavy.otf") format("opentype"); + font-weight: bold; +} + +@font-face { + font-family: "Object Sans Slanted"; + src: url("./assets/PPObjectSans-HeavySlanted.otf") format("opentype"); + font-weight: bold; + font-style: italic; +} + +*{ + padding: 0; + margin: 0; + box-sizing: border-box; +} + +.gutter{ + background:white; +} + +.darkGrid { + outline: #000 solid 1px; + outline-offset: -1px; +} +/* +.lightGrid { + outline: #fff solid 1px; + outline-offset: -1px; +} */ + +.column{ + height: 100%; + position: relative; + padding: 10px; +} + +.top { + position: absolute; + top: 0; + padding-top: 10px; + padding-right: 10px; +} + +.bottom { + position: absolute; + bottom: 0; + padding-bottom: 10px; + padding-right: 10px; +} \ No newline at end of file diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/utils.js b/packages/create-mechanic/function-examples/adaptive-grid/function/utils.js new file mode 100644 index 00000000..ac354dc7 --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/utils.js @@ -0,0 +1,36 @@ +export function getRandomColor() { + return ( + "#" + (0x1000000 + Math.random() * 0xffffff).toString(16).substring(1, 7) + ); +} + +export function getRandomInt(from, to) { + return Math.floor(from + Math.random() * (to - from)); +} + +export function getRandomSign() { + return 2 * Math.round(Math.random()) - 1; +} + +export function brightnessByColor(color) { + let r, g, b; + const isHEX = color.indexOf("#") === 0; + const isRGB = color.indexOf("rgb") === 0; + if (isHEX) { + const hasFullSpec = color.length === 7; + const m = color.substring(1).match(hasFullSpec ? /(\S{2})/g : /(\S{1})/g); + if (m) { + r = parseInt(m[0] + (hasFullSpec ? "" : m[0]), 16); + g = parseInt(m[1] + (hasFullSpec ? "" : m[1]), 16); + b = parseInt(m[2] + (hasFullSpec ? "" : m[2]), 16); + } + } else if (isRGB) { + const m = color.match(/(\d+){3}/g); + if (m) { + r = m[0]; + g = m[1]; + b = m[2]; + } + } + if (r) return (r * 299 + g * 587 + b * 114) / 1000; +} diff --git a/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js new file mode 100644 index 00000000..80cdfd46 --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js @@ -0,0 +1,87 @@ +import React from "react"; +import { + BooleanInput, + NumberInput, + OptionInput, + ColorInput, +} from "@mechanic-design/ui-components"; + +import * as css from "./style.module.css"; + +export const typeName = "groupToggle"; + +export const initValue = (input) => ({ + show: input.default, + ...Object.fromEntries( + Object.entries(input.inputs).map(([name, input]) => [name, input.default]) + ), +}); + +export const prepareValue = (value, input) => { + const v = + value === undefined || + value === null || + !Object.keys(input.inputs).every((k) => value.hasOwnProperty(k)) + ? initValue(input) + : value; + return v; +}; + +export const Input = (props) => { + const { name, values, inputDef, onChange } = props; + const { show, ...value } = values[name] ?? initValue(inputDef); + + return ( +
+ onChange(e, name, { ...value, show: v })} + /> + {!show && ( + <> + {Object.entries(inputDef.inputs).map(([inputName, input], index) => + input.type === "number" ? ( + + onChange(e, name, { show, ...value, [inputName]: v }) + } + /> + ) : input.type === "color" ? ( + + onChange(e, name, { show, ...value, [inputName]: v }) + } + > + ) : ( + + onChange(e, name, { show, ...value, [inputName]: v }) + } + /> + ) + )} + + )} +
+ ); +}; diff --git a/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css new file mode 100644 index 00000000..16570dde --- /dev/null +++ b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css @@ -0,0 +1,7 @@ +.root { + margin: 1em 0; +} + +.toggle { + margin: 1em 0; +} \ No newline at end of file diff --git a/packages/create-mechanic/function-examples/instagram-story-generator/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf b/packages/create-mechanic/function-examples/business-card-generator/function/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf similarity index 100% rename from packages/create-mechanic/function-examples/instagram-story-generator/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf rename to packages/create-mechanic/function-examples/business-card-generator/function/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf diff --git a/packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-Heavy.otf b/packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-Heavy.otf similarity index 100% rename from packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-Heavy.otf rename to packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-Heavy.otf diff --git a/packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-HeavySlanted.otf b/packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-HeavySlanted.otf similarity index 100% rename from packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-HeavySlanted.otf rename to packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-HeavySlanted.otf diff --git a/packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-Regular.otf b/packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-Regular.otf similarity index 100% rename from packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-Regular.otf rename to packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-Regular.otf diff --git a/packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-Slanted.otf b/packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-Slanted.otf similarity index 100% rename from packages/create-mechanic/function-examples/instagram-story-generator/assets/PPObjectSans-Slanted.otf rename to packages/create-mechanic/function-examples/business-card-generator/function/assets/PPObjectSans-Slanted.otf diff --git a/packages/create-mechanic/function-examples/business-card-generator/index.js b/packages/create-mechanic/function-examples/business-card-generator/function/index.js similarity index 100% rename from packages/create-mechanic/function-examples/business-card-generator/index.js rename to packages/create-mechanic/function-examples/business-card-generator/function/index.js diff --git a/packages/create-mechanic/function-examples/business-card-generator/styles.css b/packages/create-mechanic/function-examples/business-card-generator/function/styles.css similarity index 100% rename from packages/create-mechanic/function-examples/business-card-generator/styles.css rename to packages/create-mechanic/function-examples/business-card-generator/function/styles.css diff --git a/packages/create-mechanic/function-examples/index.js b/packages/create-mechanic/function-examples/index.js index c287427f..cf51188e 100644 --- a/packages/create-mechanic/function-examples/index.js +++ b/packages/create-mechanic/function-examples/index.js @@ -13,6 +13,11 @@ const options = [ name: "Poster Generator", type: "Canvas", dir: "poster-generator" + }, + { + name: "Adaptive Grid", + type: "Canvas", + dir: "adaptive-grid" } ]; diff --git a/packages/create-mechanic/function-examples/instagram-story-generator/Circle.js b/packages/create-mechanic/function-examples/instagram-story-generator/function/Circle.js similarity index 100% rename from packages/create-mechanic/function-examples/instagram-story-generator/Circle.js rename to packages/create-mechanic/function-examples/instagram-story-generator/function/Circle.js diff --git a/packages/create-mechanic/function-examples/poster-generator/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf b/packages/create-mechanic/function-examples/instagram-story-generator/function/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf similarity index 100% rename from packages/create-mechanic/function-examples/poster-generator/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf rename to packages/create-mechanic/function-examples/instagram-story-generator/function/assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf diff --git a/packages/create-mechanic/function-examples/poster-generator/assets/PPObjectSans-Heavy.otf b/packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-Heavy.otf similarity index 100% rename from packages/create-mechanic/function-examples/poster-generator/assets/PPObjectSans-Heavy.otf rename to packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-Heavy.otf diff --git a/packages/create-mechanic/function-examples/poster-generator/assets/PPObjectSans-HeavySlanted.otf b/packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-HeavySlanted.otf similarity index 100% rename from packages/create-mechanic/function-examples/poster-generator/assets/PPObjectSans-HeavySlanted.otf rename to packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-HeavySlanted.otf diff --git a/packages/create-mechanic/function-examples/poster-generator/assets/PPObjectSans-Regular.otf b/packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-Regular.otf similarity index 100% rename from packages/create-mechanic/function-examples/poster-generator/assets/PPObjectSans-Regular.otf rename to packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-Regular.otf diff --git a/packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-Slanted.otf b/packages/create-mechanic/function-examples/instagram-story-generator/function/assets/PPObjectSans-Slanted.otf new file mode 100644 index 0000000000000000000000000000000000000000..739f0d8ea0ca8f7822db045def355ae43b3af22f GIT binary patch literal 59760 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

?IxY?elNOi@}eJxNPgBAnM6>B=wJ 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

x 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 bS1uZehN6*ZDw>JrZ1>bsv=(i2=>h%^Zyy_w literal 0 HcmV?d00001 diff --git a/packages/create-mechanic/function-examples/poster-generator/function/assets/PPObjectSans-HeavySlanted.otf b/packages/create-mechanic/function-examples/poster-generator/function/assets/PPObjectSans-HeavySlanted.otf new file mode 100644 index 0000000000000000000000000000000000000000..247c2760c408420a79bc83e51aaa8887a67462df GIT binary patch literal 66120 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 A)&Kwi literal 0 HcmV?d00001 diff --git a/packages/create-mechanic/function-examples/poster-generator/function/assets/PPObjectSans-Regular.otf b/packages/create-mechanic/function-examples/poster-generator/function/assets/PPObjectSans-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..3e8b681c60853e5595551a32a7e3f83c25451a9d GIT binary patch literal 56348 zcmcG%2V4|M^Dx{qyED7Y>Z**33eGN=5F=R-0~kP5Oqeq&DuSRy(gwvMn!EO$JGV!rQ7Y1) z4$XsuoxcoB+mDd_4TMrFwg?XmK?pGj<(7w3AJU>_aFz5bmk|1+5Q^Af^CvFayL^TDo(`%%Xl}8ht_<4d4$z zKIZAarCKZyf*LSW0d^nMoHe3SnpVgGre|c!qtdJ%IV*GeHXfbd|HZs!4KiyE zqUzsMpd+0hrRV>cQd+NpcK(3hQkWm5JJ92QH&xaR==9%Grqb6U^y+IatZQHN3blgw z7x111X&$5(AkBvKETr#k?KG(5>)+76BeZYJUI9Eg)Pg;Rx--w=9r%K-7v&9DvsSkB z+j~(%bRr3yd6I{()+4Cpxx=JhS5{P#b!*Oo`#+F+n7@Fws~J6jrH zOIxtpQA5f{|DP%FH1JwY%G>`)KcSuq|NS3I>3*Sn{NGY#ADMu^>3;gRbS~^M%KQJB zE8z={uOo}b_LEelv&~i7d z%Pv%!=>>bbC%i9(d}$~%fXrD8a^x4750wwmP#y*A$imtmfM+eppGLNE{h|JM$k&8) zAGF&8={Xn&9;HnH)J=vm4E>6c7k2^P+XAoV0x#`=^{4xE29!~GlmmTs15IezDv*Wr z`2alB4jI_)(DoX@`2uYk!V>_vErR!Y@YIFz&cL$_@_z7aR31-e1kfQD9`v;z(-g|= z;K{H(K9J6Xhtdk@NK=5JvZ^5t{0r#2 z57Ld$*B5zd^^iY@s(hE9(I9WlD2%xTG+YdL!1^f9A*5xsK$js<4v!)ae2_t-h4;bm zQ29LqQk(2&UV*%(Jp31wQ@Q;c)VZTtu(!iB$&l{?^5O)fmEjo(yj2O(8bFsyz#nB$ zTgLJ0LsSH^>H(@r&kIchzysQ`$-p}Yp=~c)YTM)5AuulsGH9J(UKOGKo6On+^yvNd z1N$vqg{mre0qxjf(5@5A7i5H{C90sDQTBiS*X zv!@_&Rx|{O8Ss7FX0(#FfL|kOX3MikM^zA|T!SpAn=P+J4k+1{=U`T|Y>E+VVW?_kFg!4h>@;*z$T*2lkl?$L^=R@YA>kr)R3Wx&NTp^*pv(h@jIX*HWGCnzSP`wTvoZAl=7CA7{IXogZp;P3Lq?m|! z&w3v2?g4a>13Gk2t7&arTlGKtINM6QM#d*Z#l}4#4~ahDSt4 z#w8Ap92E%-eCql7`1t$&8|e-hjxV z5wQa!>%~SU)=&6}7^pdlLnF{=6py0N5Hu7e0>jos1Cbk~p2!^zCqKvyfELau2*sdC zGzvwaSTqQ7@lX~HWpPkH2Kq)qc@#Wxz_9gf?PDPQ0Xso?i$n=Z?_~HL1T8zjpEGI? zP=-OtKm~_zWt0Te2}*{bBp4+E;CMo755USD1)wgd4Q!HjkfZ&7?)|NA-T&zQKaJ!3 zA8orT7$(4c;$TLU7C%NF3T26aC#^|_IuEFGx7GUtKEnamXy{K{4Tf|SJSqeqXypr= z)d%@Q`u`X2pXWv?PU%l68KwM2KrRtz6QQgL9XlRIcZSgi!|(svn*Fb|PC@jq9;{j< ztUbkPAmr*n8VUH+2i*RhGa_Kkl7L3EU%WDdM8K6|8V`SQ05btZ6G@#-SGP);#8H2{7%_tr1LI=?i zbR9iFZ%_$Sj;X{rF;$t`j2F{@X~MK(Ix=0DK1>7?$&6%1G2@x9tP^{Iy~jS#meQ8d znzZg(A8mVWZ*4#AJo9hnmF5r5<((a!&CXSvYdE_*H*{X-obG(g#lfYD%Y2umRqU(u zuM+wB3_)MN0zMQYXJD6xFyUT6gs~_MZ3XRaFJN>6-9!)3JM@*YXB?TzOiiX9!S?&$HR=eJ!IkYRhUJv>sYtZAWci?ObyzVD#Qubgt-J z+1Xja$p0sd=DI9WFdAgTi23>naJmlq)ERh=D;TOjBYxz+_Jz9MU;BUUOLLGP{BAdTxSeH#|qtX*k>Np!<-2#2}_3gDf82m48eO z1Gjo8NreY`!by&pKbh6=yN*80VOmT7F?&J7LiADIu0j5Wn*aHiIsNk+(lB^qe9#WKb=*Z+=qd2q2h<8~CT&n#*qZH8chm#*huzW>__H_a13WrV z5iP?&tSkcE=1;T?EkR4savSnE zvw%6z9A@@2N12_>Zdk$N%t_`fbDFsb>zI!UP$ArwiqLD=FHW$J+cO;)k$KMKGtZc( zie!Mr{JIas_rLsOK;=XX!=ZY6OjE7kSGI4 za~I{n1l}PGB8W0sSzsCo7^bcwghGKWdVvTU!VG5;m|vL5%p7JRvy558YyvVI0#cm@ z;@n_vG545cfovPLE8B-1#-^~pu#-Wxoy#s_ zSFmf@&Fn7r5POon%-&?P*gWCIjlLSxvaUX$kLO48sr*!a4!@9J&adUS@Voef z{0aU%f0e((=kQPX7yMfu^IvqFu9QyHIqF<=HFfoMzPiS`7P>aNuDSubSlt-i6x|=X z6}rv3eY#V+tGau-=el>g61|+9uY(0Ba$Q4Y{bB%L|Zm7DrS%^J18m=)YPa1wM~3f><}dvG$1}QIWl5+ z#K8Et*dR5ry{Rpg`k%5vaYN!_Bcmh!k*M_pqv8i94Id2pvI@GTf=NWAk~AL_ml!c{ zU}S9KK;?bl_xI)lBVg=-%5QVE?GH!;e`E&%iV=w|Y`?V6Af-=B6>Csy=^R=r2uFU0 z9;v*y{QlljMLgsO+#x@*k!s}-rB8_3QyC*t`3?CFB`G$_-NVy!$bS@gg(?&eRZ)pj zU%s~qZLQ2MYFL!5UL7semb8u!B!Ra?dlO^O{75uY?XCL$@Z{m(CPN@oR< zk8dYstat@T{Eu;c8iXrF3F_~_$U#vtF%jXml=k)X@JskXc3=ruxz0ZT_C`lo77Zo#g0$ps0T0_}ANv)>YEF1X&>RNPD21)sWLyEG$ zl5DlgOShkDmFC^PZLySZnI1~R(LWlFRtkFjDCnv5?D?HV#(bNdM@#>fW4;%|JUu-; ze22tGMkK;E9+?yo6BC(`pk!j>5|xzF!o8VK%cS@?+T6WaiYInM9!e`k z1W`z8jkl7xd#G>9YI}Pq3+(OTs}{CUljdp?q$d7qqU;B64?p#-rJ4jQiKmK!r#gbC z3ffa0$Wz7AQ$^2Hh2p7>=c$h1slxPB2l7-wd#bp2st9_jD0!;md8wei+!ZP-D0r!3 zd#S^CsVI1Y!dW`0Ci+Hel-Pyj3XPDok&61aEa%RSbB0 ztJCsU=i{x;)mt6NTOHk79o<_U*4s9aZFIG}m)g%uh2n05sbc1?*7>M~KI)slil@7Z zi;u0Jn)s_&yQ}E>*qW$s?kY+?YT~Y<EZ7m5g#9yGAJ%3R>>rdP!h#(r6B3uQfaJ| z#zYQQG57pFA%H-a3KF`Skoda0D>kVg#Dfa2EoEV4<}TF7y^6g%}}T zND;;flZ1J~a$&u&S=c7*687N)?1|lRJRU(ju?IyN!)RQB}YpdlhU{x z4uZeZxGZiAf29@*B#4wER67Y=6?bEXA6u4%2zk@LLK7#K~qaNaylvd-dK3{MFNbQ%>uZ$YA^nQr2mt-q~vGFpq>CGXpvFk@bP!xR#+ z>B!+dd)_axVCQ9AU!8Buw$;plrx$kqfStEnyq9xThwqb!7tt*e0)-7@r6G+35;p_a zBVKr@ld(l|tDcRVsx`^Qb{4FkaX^yU@>@0KsJWx zaBYLN2A+;T=8%tggj_ktI;y0L!Gz1-JNp+dP1v<{7F*neM5$MFle(*fhCC_ts0FTW zHUwRNH^Cx@^RpJsT)fcHK-%G3UIO5yB^>;EV@R==0WZ?wd2%@C#*^;E3e@P0tz2y$ z&$otiWRVWYCQKilIV4%0eNMWTxA+Dwe`9%`h>*A=6(5NZ#C@rIC2@P|Y9W}1qQ+yY(uo!5uvI$>AL zVIB6gKtoRgH!0$37GF*ZG+}hV0pTu5TP2GT-(8(7cfA{wnUZ2p;o_BfI4w`Sa7@Cd zbUv&t~LioeuL+UQg+81>XW)kD!Lc0#_ z7H65ri_5O*#Ki$irHhjN%YsB~z*=k&k@y)W4id0a$re+NPAse?@y2Mu`4<7OtHK%9 zt=qmWeyyQ+ORR*)IQU40`xm#JIbc~B!V|7V3!?F8bLid(vtJBnAg@SLW^vUNtjB`= zbzG_jP+feB%MTXnmRvK5h4;^1d2W$!`&n=6dJiAgCuQWEd85oNbmH4z*KC`z#mOkY zHl?Rc6_Vyj!;+GsW6~1SEe0|lZ{rs6xWc>_4{<3+>`>z&sbeM=vn3qEzq!=S-vXF< zNe2AaOf1R+upYQiXaAx=&dwJP;&u*Vw)}X34o|c`hRp^gljJAd0_&6f;x42rPsUp_ zw@c&~Ig=yRW=pUqg5KugirAY}-$=@@wirxx1w)9LQ+SGH18mp=Jyc{ zetFv@|4BMSmSB$$m{8rP{Ly!wj1j5&XliAq?C6vSIa~G?2Hq8 z?>Id?5fN-j)Dh=#9H}|BVY_;co|)}otFX_`JltS50B?+x@UISrjr}A;N_W8^o0^y& zUkr0!Vj(yA{6EiSJai(nNDoslkZ&Qbp*=R8I(A_1yG3T>z;l*8+UTUILR#9^Eo*?U z5))%AhFu_zaaGQ+HAylQuQWZ$IC0C;kRJ>;k^Tm}PWR@-^{kbfr>3qqXY1yVOPHJF z1Q^6hh9eT5d{{E9+qhuyYRh4r;YM_lV91m$nT9>u$dMa%?pnWo*Uk+iBL|NdF&H?L z!{c+TX9Do}5>96*-fcRuNlF|Q=VUOA5Db{(4AFwPJ?k+rleqt`5BGoo<;-2ZnaQ#Bqly@kJc!$2u5+K@Hz#*|RUu7)*Jg+xPgnqcTA z;?}g0{H(JLM7LWZ%hT^<=^rs#dSW&tMvn*s+9%D-mjA@8p@(oCS25&kV51o*Zy7Kw zY-a%@T*dx)o@{vNmnUvB;7!=1!_&zoP(OH>H|7i_U3Bp92CIJcIB0G-o-bz=7znZ$ z(}oR^42c5sa*A|aFgjpk&W+C>0&Wtc#SoTqQ+B%v=ZHQ|GH8wghMP+4 zcRT;gj8FTK(>k9{VF3o**gBgt=E<`SCV-K?1zD~kS8$zT!1J>Msj2Xj`UbvP)p6zGgCIQtJh6?8} zw@Wf)`f#~C;de{GCd}`W#xPB)#~Y62$))lP{o{uZG8?KjA-t1;wEbk;zaz#hTeoZP zo=jk<+XAyh{#|2mz?$4U@81O6C0Yw%aD9VAf@FxkCIG4_Og5n4?Es7L9&^mg0*#?_ z#$#osr*y>OQ9T3BnwgW4iJ45CnA75xfi&R!Lm!X~-t$!ZM`i;_vsU0H$rb#TO6N&r zG9Elkf^*EkliKsJhOpSx$p|OJN)Upnf?+`7BLU|82t!tI;|(_@!Zdn+j;Vo0pRz} zG*ITGhnazLvt6G5gMb_Zo*tir=jP%+a}1UP!?@Lp)BarNWGGJHYVg)2B?)j0G8W_W zme0kHa&-s8{Fzw5tFggQV|6lvWA17UzpmIdWt)?+f5PyAX2a>(r|szpTxfWiFN^sG z{5mDG#dX~57OtDwEECoOU(D0Icfj2YHx3`Uar1DmU_-u$3_5YYffsWP_9yZUh?xeV zV&MD-8+$cW9o0at;H!2+wNPzT2h|0;dwp=Md4RFs3weW&)fY7Y@3lWTMgmYXW;!@V zT7X+67=;1W5C=7C4xIJi#EFqgnHa2{MLXTeEwfw=`C zBY!Ygn9IyH<|;ajvY6}O_BsyUha)H(d=a_m7&zBvqxsAo<}P!S$z*PWPa&Jh0@vF; zGzTpJ-$E{v!#rT_GkM@^c*Hz`;G2`^0rQl3$rOU4B_I3`1jIdEj1M^9Of z)xZ@|&+1qKT>$sdLe>s^E9Hv>ZxV2)C0enFQR0`Z{ z%fU;t3Q5SqmS#&q5RwsGUTNS=9>bOaml}s6*s^E!lk2hd;i~M#db6Ia2kXu@V141@+>rHS8?#N=Mr;7v zlx@xifuE-(+k$Pzwr7LczHC3XKii58VME#0Y#4Ze+OqA~4s1uZ6C2KUX1lQ6z$es` z?ZI|ud$GO2J2ZfeU-lTEtST>a%&rV=}Wha4eX$t!rT? z=YjWWF}svq!W2+jfflxKE!evLK*ANU4f2o`TwYO3G!w^+fvq(Uw$CPJ3y>k2y~IA% zR0JzQ8%>y|rzTeOn`S+P$Ft^j%{o;~e7=K@k&vLuU-LSW}?{7cZ{;d5=(NkZwoz_+^ zQ@Lto-^zU|PpG`U^5M$&D;G(Fq^D-R*~{F|ywH5uTwp0pJa`{@Ne3hD2np6p_5>;hcl~Yv;tCp@> zzv|?wcd9e1CxtEW{zP(8m! zsT#%_WoxXc@ygZYI?VOB>&Kb_H5b*~ZR2?TJLfF zvh}OiZ(4tH{ip8T-N(BB?ta3((4&-xk4JBhSsq6{9(cNV`g@M{yzJG-YlU|O@A*Eg z&r+Y4z9GI#d`lX{HF)lKz~9dQkpJt3V#Bb8$qjcjJkjua!&eRe4yY0k7|<_Zdcd-P ztpSf3m2cFzQHMr@8YMLPz0rY2w;O$K%r|yu+^}({#-kcfZhWrs`zBnI_D%XU>DOde zQ|G3wo33fPt?BWmC!3ybdbMd`)0a(gAQ$Ky_-Ekqz-vK5kaJM$pm{;tgHAQ8*=%vM zXU#}+r{+_dKW_f1MPQ5eEjqTC+~ReMl9o+dhPNEva$U=_EpN1Z(ehQWF}P-M!{GGb z?ZFR1oI{$1B!nyvxft@Ym4B-xt#VuCwZfq_LPJ8^gocIg4gK1>M(e=V{aR0Hoz{A1 z>yK?3w3*fBPMeQy9osf&o7DDTm_u0Oupwb{!}heR)oyaTqwOBHZ`Xcu`z7uFY`?30 z7Q`yC9kd<7J1px^+_6$e-;QaW{5lQlG_%uzPPyS_!<&Z3g)g&yFk;ipYx0e&%*#yK zIa5OHTbRro`!v~GmgSh#1~u0Gz&?FF`ana0hd23kd7AO z#2Z5-suIeN9dc^Hl`aM@$M&n>pkr9)XKnV9FfO`Jr_rsQjLQXkSco$DVlH40Hzo%ioI$k_V7Jw0C z@js0qbYr-Tx^ZI1?E|SYymo#fpu*Jt5y~VT80Y5-roZt>HMB!d$Sx| z-x{nVf!IjO;znlU%bC}U%cU@ziYsd5h7S1mZ9+YsB$ku|drVSsIj$a$e}}7@ak9i5 z`8!b~OAf9=h;XtWps))VsI)_U>Bt^oz98O^KR8gUm9^1AzO~R!u-}=7cjSSkCw6Qb zK^)~GhzDy(o#6suyN+(bms5fzv1dC;+~Ou##Pmg()r9jc1Uy(ZwoxPAe*771Dz2EP zraG|G!M&BZHVlcPHa&dKj~A1{sP|U7w?G%R^U9Dsr%9P6@vwSv`E~=hi2DiG$d@3q zac&QRIi9D%*8pbe580pBSo{}pEmHo~sJgClr^QIdgFUj%Ropyt zLW(^$<^gj>ILK{q`KzS-3*FJpTMw*SF?GsvvzUDw7UGY@__?u80i8Q~SgJP+&9%1C z87~PBC9w$KC3DV8VlFkU-UrL-OE9b!{bWpR-h!~-jfr4weNkJOu{sJC=BNZlu|?D* z_WVw^K+fdhGnqoG@R+Vc%oFipFtGAQ@;Ohsh7C50qc~U+3-?-Ican^arK+p5Bs}M+ z1OO&1^b;n^os=H0gyIBRctbEYkXlRIVUhMoAO%z0C12@`^o__x_$t_QNln7{5`d~4 zrE2cA?H7RN)w!ietElC^)yZUGiX}Tnr@|V)?N@5?_&D-d1-cEP(kIr)4#S&)g z38bqEKyDHs)cps5lmMaQzW^wFA;I8qh4%xi-N{W-!l)5WVo}dgXInb;h=?07+HxRX z5I=&!Ak&GQDcM~e1ka7jldq`4=ZJuxhl6FWM{;Md<{e$$>8_Kwofu%;SU`L`6-OA+ z*570j_$Icb%4X=ZA+<*`*k5~s{dM$XkWi^dm%$KF><378O@(Q0NTu`Kh}4OK;e^3$ zz>u%Or8Ia-PpP3abZGoAVO{)o3z18J2Lev% zfr=zeRdKpp2uJB5j1Fk<-$g>ipw3hDx|CEj!F%rct><=t@mw6A>LR=mRL>Ta|5xW$ zXW_jv&hfm*be!9CGCNk|2QbpNap)M9XlZmwWtc_3)i8@4tLZFuoK$B~bX8$Ld13MX zo`O%wev16PtG3hSsN6I`cx(Lv^t16IEUDeq?+dz39+ejOc(%cT@3&>t{#~1NEodwSvNY_jml&(9?3#SS+q{e2#R#T zT^CD_z=(eL61V8BkRg%IUmU9ox25niDxbhs>oP+6XxsSv)s2sIvA83a)@HsjJ}z@MG(H1A}f!{pMsf+r+?0$zG1g7eC^P4tJ(Wcmb&*2j-CH z%izpCBNQpr-~9%J4^ETU_6CX64e}R*V<0XW5SLjcn@o3Y zpql28X8`Ii3hFA@^9Dsw1 z_brrsd9iSxAZ7<;aK2-NqY5VAzDR?UUd+ZT2S^Q}L7-0zGzomn!HvYXWZM4#Jx5r7 zuVZpra~q=#SCpR|>NCgyTp4ujE@SlK_0&nh+;M)# zhLo6*DJjE8BrRVz#nN>=7cu|f@Y7DYQor5pE#l(T-`8Qc1=#d99apLZPI>@K{q)AU zIl`7ZU14l_XeQFDlS~6AN>a30+!Gj=mb_)UIdYt2tzy0N zL+_0a{7LcM6Zk{(-EeZ0gkxvs;N6+HZ4QH7D1I93QryKvmJ>}N)>v7bq66HVN;nhV zjb~<(nYb->(!qUK#nO1Lh42XEYPoj;;1`f{M35gBdzr-Tm;K&KZAc`Dh;}%Vv>HWK zLq*~Ku8zkx&XYese=A+oiQCBER_hN39YY;-)MN2f+9IhA7Q8K9!u^0y%AIy^-vsZccpcr-s8v3Q<2A(nS!9Gwq zPBnQr9GN~PtUBuu>CR<{QJDPzSAL*GC=^gH?IrNi`tyV1lT>#ko>Q`thAhZ5WTCH= zwNjv<4nxGpP4RUqz6FX)_SrM{EO2ywN-dP2?20h2gnuJrxT`Wp@{ z>$hWMbB?tJZ``PyNmnFX4!Zv>KfsGjKLrSRmgY1Q89G=yNk4K>yC^qmb)v@ z9o&35czea~K}F(cYxo{7;gNK1ilCTPU@_8uoJYL)IYT(|#miJffcqEq$cCSRTi7dv zr@)F8Aayh6pq&!-DtUNbQf_55;N>L^czFc@FJcawD2Oj1=H-!e=(HMA&4V zqyuKHh5-v!!+-@Rl?a=HxpcG(>VYr@ED6zcus@}eGv7v_Ymd%OSUW#REIfL)jMI$n!Gh2F`?OvKGF_BENrY?c@qW9y`Yky5ceN0iP^nU zhC^MBG^S)X9hY7_=&-m=v~X(g#=R>oebc$5)P%8c!^!TM1Xq?q^~#c+XhRA#TgAY4 zl_j)= zTKyw@W}>d{kMNmM5I%Fz7Cz$vu}!$C4b|%uPq1IAAx?lT6%ly8LlZ&#M268-!2L*) z>E5}21Ux0%0-k-Jy~v^tcCh;4XZc{vX{TOQ<)sc(1rx`SJ0P~N!$lXL1q{pn zXMj)NKNbx!gVjeT9-XlJI1TV2Ml#|$4jLzX##NbzdDtJO-avk4x+CE{hdUCfV|@mA zbtNNA4^E$dY>~75tao+2hDY}?r_2~RXVg4>TOAF=+U#UpzhC<6ArK6+swowpAk86s zX!cYo>9Pk$nszQ@2#jbJ@v;Q=$;Hhl|)%FV0Qy2%-WI87~oE}8f5Ia_&=9iQ^ zP)`}Ci8}SCPz~l7=qqnf^@5iLpMk-b%aZ(+j!!j$q_knGMsOu=O>$QW_q48|Fm+QhA70g`Tts0GiOYokyf>j4I zP6njyFJVnBuz?)|(~rlY6@*X|2*N)iFqb_EugL;zNi904*Vx92F3DMdLF*;ums z8y-}!sBn;&DVw5&lS+sSl`az%>2ghxE}5!yxkf;|*ns1jK>7vLE{{DxFzcyp9={>Y zHwqA=1~UDxYZ5?yfi=(b#FyB|p_L%!-G~(Mrnb@!NfsbVsw$6J8YR`c6fY#bj=eq;nzPjWk6^mQx!|Zfg}VJ-m+RgXLH;%3vP2;%4y{)3%0ER9^uiD4PgG zS8_%fCJUo?!V=ZsvV_XLFSrlrEIR}UbW2Z?(uN(8#P`Hd!njMX1@K9np)rl4iL*%@ zbrm~t;=%EI_Dw$Mgkx}hh~|yMmD^$7?Uc}KK{qE7P3kKilIqup0i(7SKhltcLvyMr z=%RpqckTRje7cz+>n&5v@VN`(EO@EBlDpP*Z-W|+5X)=_vCIw3#=R+*qm$)fm&byJ zephzM6w`4wwT60w?hg^U7BR-m< zYVHuHHrjP-rv92{Az@aY>$W30Pu3HH~ee6D$yq%Ax9#5$21x zNgQ{LPW0&b-TNjVa)K+OyE@S@%-1?4^jy%LPSjnU=yhWFY@26km}el&vjLswR>+GZB3 z&g>g0fDZTiSb6~+u&1f}uIP);1ZB!*aeGUvn<-zA5w|aL!&QN@-tDX4b9$&8ru9p% zE1Zyhm0F+W5pa^$FJavk4h5YH_(;{cK(@#&{!{02rmPA|@3Fj7RNp$CCq7hEtv8@) zJp@II(K;*Rou_eQvQzP9)8{zJm9N`dz*8J%N}MZSv$qgea$041EGY)?^u>b9OM#S9 znHh9Tx=ZkCP%Pg`)Xo87MA0ju({I$!0lTCKPx%G3$m)_DIySd;4xXHaN9VN8h4rkO z4_Bs!V@+c6o@4VCZnMaJa;)I>!gsRB9dH0zbFAUK7`te2#N56r$GVX?>N$x6g}4@u zHc!o^w`hpK!cD-oi<<%i>#^Uy!;>ejH(PhTl_rkpF}XJc4v+081!cYi9pmp!piRSl z9s=&cR$sS-ENodP1J;p+T(ezj;DHp@z=+ zOK)bp0N+QL`%+6u88X!bo}E0b1OFK2@8`j($lUiM;7`jYx<-D4F@x)lT2SErTjsf# zCpWOMZzYhgGbHhNQ%TGN=iGM>fD#;e55l^|J94R!f~)npDH61_=isOUlmA|b&IWkO zbsE5B$=-08%Yn;WmU^8g6;!YX0BqJj!GaX0P%q&i#h7tRF=kx4FT5*Bq$6B`5z=9V zEil46kg0PNZKw{Y$ol8vYfy*)*#`ji%?bhkZrwORB2o0jQ@s|~G3!c!KLP0ru$}>| zI{@oe00df!h0odw_m%KO`*Y6&^5wGmAT}-PK_z}XUvjD$@JLP2+d?Jd0tq5UnJf2j z+I@{25FjKp7VcA9id>MRbjEcvj-0xb4?+6H0`6q`7K&|#?uSx;giO~cs*8Omm_?jA zF_@!v4ltM;Nd0{+2OY7`ABDMCbTo$L2%B#9OkSHT$K14sA-kVid0)JiDo?V1ouh%UK*c+leSBYoccs*pHk10waY?b8 zB7DOxAGcDjgqiBreVHL${Ne@6kq;1Gep?RM#VTq=xD#yT=8Xk#^#Tjx8DKrbFMt7m zvYfpD{)+)kUv(p4)2Eq=PjEXZTe-NPxT4K+^DUy)EEa*`X7e;N#GFs!;;h#chtnFx z;S@i0tW(c8)!}5iN=&#xYu#w@HZ>O-2=qB7;LLcbSIMa=!c}R7gkSngxRV!npT_l& zjtMdtD5zF>=v%$qB|yNet$sJXa_t2j1rG;1#yg3cF+g-(mJWaMqTpc8O2jXiXk$i5 zID>YJ?IG<}?oPCy+3c)6IXrMJQU*qx03W*S7CwLi4!FU({pZr@XOxN4tLwGA;h^+@ zH!7ZbqncB1)Moni&FCHyy%35y#pVCO2!tI>0|^%J zgJZ@-4TEdpXSfzpdrA7vOIs|M-<9@vDh{>~A zYhUjk7a_R$lplfMW>aoGY`S`O>*?+0g>Cs(kZG$Y$IO^w{_pYFfa zC0i)mS3qz)L!~!dCQmhy$T;ik=HNvIC`Z>xCk4D-F>RRYO9v&Kiq#zy+Ye9@I!d z)|6ZY*!}4Cgh&oJQyVFE#%y(i7G9RXJOU7IQzIjUs)L=PXPmHr4tf;K%$S3ak3zYs ziWt5Cn1TK8qZ<5iT>=`aKI9f43Yx&l+EjpEluAdj;|E;o40hDuH^7ujsI?Dz=~@fd zrB_goW2pmm%U}pMu)bEi<n2khra)P=rjqu*B~#)z^5fV zM4zkvgza#&-xp*(oWV_n`tXMv$LB;P7gxx!Kl^OLGd$)gEcX6*)8o8dmv4eX{iq3t z%kZQQmJXcVd41izO1}K4jw8Dbiy)(MWW}BbMjScpm~rUfmFvfQwK78}4>!Z>0TG-C z@7uKM49kqrZJl@Z(~El>4sO+ju#Uv8$QM^OFU~P}gr2yQd2r9I4Hi6@z<)NRN2d{O zos76NgpFn7%K;!*5XA1Z29u`;9tn|6kdoH$S4#Q(aRe>}7Vg&c^T+aj5Z%)Z2R(oU z;t}%bw~u~sT`)nMNF)R~WMO-HB1F+Ilg@&XrJ0U|LlnNVPP~B|;IiC8YZh<(4X*gt za_loePpkJ7U#Cu*eM%G$$%PNA!f^;!RB+;Io+B<_y?|J#s#U`oBExDy@Y4IaH?j(x z9$pD+(6W2qj-5a&BS**%uBXm872@*G-oagR?DrJlKe43^b%~vYS-E{K0)t<YtV7Kzy5f zj$FFHUM^GMo)4@S?SS2%=6K0b#G)f7trNJ8_$_gVkJu*4#ij+;(qtlUTn(69$-%)n z%;|ib|4f5#0~R$fdW|b%bG0|b*HWEdiGw+OAjit^gGoMz!$4`c5mMi)WgBJe85Z}m z(uVk4d^H;{Nul?E_u#v@1z_r7&0B22m8!iaRg*?cod8$2L3k5kW{|PuEZ3z)VrU0P zB4TYdT;Du9*Hm>z(6s``=XbAuoMHY8CRe|CsOt=i(Gz01R>>nZINkwoEVgi`tRn+t zt&XfH;W*>TgdDsn2mcBS^rmG2K2#9=m-rq(OfbQI*FM3<{C1f>t1Js4?&WgY$;)>g zvDWn-eEVi`ZA`R5C)->~GEdZr?|oC+1-d%|BXM5X9n=81mDZ=-@f$ZT9((*SqepOX zSoa1NI2UBCTZ?l!Ik(Qees!l~KtS`3wJgTMV23 zW>=o&-@f){7I5ju@tBoArr3k>RHFd6vM!D>t;T0z4eFCH-727>_-H*Dy-Xk<;rkW& z6K3phV@-8xUwnki%VkUhCHPt=F)?}_jfA*y(E7=Q!*nSCp*x=py#a`E@GmgN@f`c( zg;}6EKg1lU#P}L+ZOU1*s>4hXHwe~VeShmQ*ZsgK}OcU2-Z(!pH@ zpH2=_KAjv@QpSXxU%$gHvn=)ax^p^)csd2NKXrGOWmd+4okzFp#iA<*cOAi;V*|cn z;?VF&bIU%R!@XfFqI>0zE1Hc~XP^{w9Ax*W@yi6Oc|kIBf(r854)d4Ip2yiNvhXxfP-WJa=?b^70*RHtrk%LBzjEvkca<|1;2XDw^j?48l zas=LB%Cy!CgitnGc1*qo|Ak+r>>8B82cWdDc#)>~A}uUg1clBmZ!$CGX&QN2OVds3 zw3a%fwPhMuhVH<9OD=DkKSNLm!JMQNt>Xamw3>@!sWTL&D)yf)h^r4_Jty`bun>r9 zmKUbr=_$6>#ikB$q1*)Ej@@}=1Ng@b&}1Fp*GR_5v*DJix4}9E;0^+~Yz5pw0Qa7l zO_Rq?1$W0f0lXb+wrm`;dgMHivfo=6$+#Z_su{VRa6vd;oRq?xxU0cONh?#;ze3^A2y?`(A&l_DJF_oer%oHvhJ-qj(95Lt%Q_I4 zc7k@mtur;Rp~K6Um*F%Db;O}Q_k%+952IG^<(@Is}nc7mL#~n3p*k z*&q5`Br}TB@r(>||BEYFSex0Z@!}lNaMJ~HKMc<(NhdSf;rrlwSn@zPe)W%B&_JHj zz8!S^<2LQL;BmTBLw9tYV_u*;`TO?mryTJ}-TsZ6_M6XV)Z#<>^a-($Uv!c2BO}f5 zY3^G;5Q2rf){PuwA;0N@5B0eYSS@`3U#aEHzXHw(1^{0>bm)c!|EAl$Zv8GZTtVbK z5RPvn0x*@KZv+;WO6&4$cI96+(qtgg04zw zQwYA#o{1e+o(w}qF$$HWcxH*tE#3j%&06Z$Mp%(Y& z{GcuI=O*b0P5c14dO09>?`mXMoNgjpL0kfvx57804|L=c@!&jk_!Gpdky6@B@(EtkfH(s6_Bpdn;?RybP4}7M(Wf)~&J2mgO;0JX2%7b>CS&>Kx&BtN7v8tw`A3B3_@H>DWPOccZk;@kv{@ zBpsJ&w}?mDjhyxwBlMZ0t$Lquo+mw>=W)RtE7xkJ<7@KNswFfEAo8Tw;(45&KIbT% zq+1U8ZvB<;Cf$BQs!;`RIVf1;ZrvL@Z6iK8sW*X6HQC32M*MAv3tNZr8I~?9wvN~l zX}_{>=kkPaUG+e4(^fmgk7}i+9h=5>Ot|Fan`=I7ik>_FM@RMWqwLxlUBf(Fw@qRF zH}4*KIP%EuMXNTuZdBZ!Snj;}yG@IC{v2^&#LoVkoL4hn-dVb``P&}t7QYbLyxqwD zJzQlkcIt4Yin(8}ksVq`v|7|*RWE0`Dmyxw`TPfA!c;dEQj@@xG)R3-r)!fXlek!6 za@kTv9^SA{ihenz4zFtn{feC76)xHPJ}&pnv4TS`-s1Wqgr)Uu>wR_7 z=t-kTM~s;~W=g!%u18}YOciz3aVJcyG>fDKQGQD|_IojJ6{Gd>wi#IB9q;B}oxtjd zFVECE$48~vFX+3&-6T(lC4IQPUvJvsaMH*Du;Jek6^vyO#6Tdg^&AEIo+e^A>mq z^B!rUhnu&z@Y26$@Iq5uJaS6$G*LcMv=?{7_%b}X^K-|VwOV&9>at}_<|UdPJ$*#4 zJbVd;*E=CzTcsBcw+~3=V~&b3r}>y8;!W5&(JRMH5uH2?vgo0rD`uTwKVqDxvRSISKjXNQBWlm z$w^UmcgkM9_Wsj**p8ns9Mw1e9MBOg1Z=33+Sk1C5&5dr*P9! zSLeCrn!{sTqqeOzE?^nhb7wNS<6xTUT=bIf;#7RU5UBqsg>fC-f$oWMV?1lu|E zM!sifrycyo-PiVn?D&~CKg6dU;!!`_&&1=^-SFxXzE_t3@8f@U3`TKXl3}_?bOG!0 zn-%7Ux|ye`my`CNIp5?^1($fs^O1T;ZyCmms{6LQ2EoIb__jUzwswl5s!cB`nxD9u z)aIz}a9=+jvLlU0(JCZfAswOg!J>KC=6$o4{NOre89AW!2OT2u-eQ=u?a%u{+)@tz z19(NO_v!1xdm{$E(6Z0a6iV`J@fMtOASqo3+)PO?^*B@}T`!!Sc<3g_;)7cw7K$G%dso$~V@N zHN`TY$<7b?n6MTvuS`tX^!=SVF7BLf?q;dpq-hDKP5+RWzN;62u6orI9CkOVA0y?4 z(qWi9DRamZ)Pk4tjIrqEaJ>_H@K{eL^AVND>YZR)r_(Wghp?!ks;84&3DOC3#hx9i z?ITekHS0yp@?^BjsC|Y{&8T;=6{!#&=etD(upt+d9~|tx^Q8qY`_Cum?bvxR;(<_> zlw9nrwy4hhV-Z`ntx0m)4=3;J(aM#fa%Ez*6!Bc72(H?&WXtvK6W?>$GaHTW(!OOx z%o3KMW=Hz?#0aqC%Ld}>$qT7>hSzd`?)3jdf0&J=4PK)pY4v= zwBv_gr#n|pG#~uv+PJugE*)Nvo8Yu@EY!s3uW)l41~GTU;IOQ_-1hM9sjRzK4tW%d zC{+1*p-yrM%cKj>^TF#sMA-}tAbkq2b4=9HL+X1%M4iUGj%Nyl z17NuI(4)NdQ9ci0ry#5w9J?OMyBrl=cx&TtUVSl7bZN%Bh}QDY6Kb*b&2sHz+w_3} zypUcr3{7Y{86qkrrkgWV@gjsEu!;4e*lV`!;sZ`@JPEF3Pk`PB@{JuouSs0(>buSS z+B>hj(whSl4BLf!k_9nxeIsVdk+XZ_X@L_HY59}Yp#t*O>tJTQd6x)V~C%Ho4C zpJwyA*-7R$sy*p_5oqp&a4qQ-5cekVQ}!ji03_eN4DG}v>yRj(E_H0@ZhJ3YQ%;;M zkrSJ}q?Wc#e5l`q+9w(L!r-GNv?osQ-hFzK3%0%1U2)joCM#c9G?5HxMgim;18`FK zG?BiR&2x8?BSci=0l>n{BCzrEHf;Q?$YJBhCay^x zwqYz`O8|sV-NO9K2gZyT2HQzK+bdYH@cuXE;=Q}IYyUC6xU_zerjHW1j#n??TQGgp z>oJ{@C34-542XGogbU!IbF7$dp>g#}%-SUIR|9w{h{2%@WD~DsErzlHEh_0g4n@{D zYvmV?1fGr}TZq}aC73?$Wr(e99+&>$9t5-r`08G~wA8EeXszBFX{HCI*~PI8M#6?Hd$jZjh3yZ5$Mq0phs^bM%5}NV zkmEAGuXqr^opT(}ODL|EmwE|2aF9bzKH0>9tXWsA37GgoU6j6I^-Xr6P_i~$#pmf% za+|D!BJI7pK0ZmeB-QcQQtBjVfv-sA?Niv*%lr?>y7Pwfsy8!u1dlA2E-Jau=-TVi zDW1_V3&S6T@fIL3N88t`*|dXDU80d{!&>Y+7ohh!!&)vygc&Pudt)tjZ(57p^S1T+ zF|5UI+^LL9^i*wQAzQr)t)JFdCadR9^}L0J&>wtn4f!Hn|LoGT4EyanDGul?XJNHV z27eDygs3dDr@h+IQ|tqw^lj3rTcIZ6J(bo*hyAo^?cTZ9xAIE``AW|Zo*KEAU)OZ# zAsB*W?#H55rgy+gi-z-U945|0=4GAVJ}F!knVxjm4@$4_umdlk@=QG)ol5#846{p4 z=6Uqjxkj4dm%dHsFQO9JFK?)j$TrQ#ZTmq#yhgC zy6qta^z0o?>&LU#;Foa7#nO`?y1p2W+46(K)4C1I>NY%NjeZy6ky69kVkKlOY_nZ< z@S%yRdfT+xykf}4OML95N|*RJFn3$@UT=kESa|nom}M!%VdBv_R+x$>dWI;Y z+O7cG-gWDxhOrGT`}RD%oN}26T}(%S=J&?VhZYm#y51 zX1qO(*G&%LRW4P$!XMH=qFXpG`P&^Rgol*)U6gcTmCa=Fc3mF!FbLEASIE-WOX_bY zT2`ypuvH0{cnN59%}8eQaH0mDOWZ!rnl&~27pup;&~f6iXXC7w7dm)F-0d}b=k zs(mFuccL8(!jOU#?goMJBr^mJMYISKWrn!U#+#v*eLs`ui^NP#aEvIsz~w1lTgTe= z(jQ>Bu80be!XAB=EAP6hjR6C#SKY)V;Dc0iWd#0D#>bp$-XHoA7)*; z^P=eLNAeLO27P@G@e(Fm3W=T{xP$`jDKzAV9WG;XLAmV^y%%r?kl>|A%+!@A0$ITe zy!n0TB9`DK?_()`bMZnEWVECUI!hsm7p1uYJ&W4ie#|)*uOY%|@pzuAHF)^P&N-_1 zT&xE5xC6y{j)|5qvGS5C_H#X~c&i;5=?8cG=HdgyQq}e^SKZGU;^xB5qfT!bj+yzI z=lP+N9W(4%{5Zb3#NE5R6faQ;GSm_-`-A6SdaHduSg_;`X8n}FOGWa$d)H^W8mMpf z8(rIJ&k{pg74<-Q_HGO>;c^F-YW(ZH2PckSzm-%!Cc4S<_}u1`kMl|=c*Jp%6--QT znt@r9%S0Op!1!@hx4p_P)#uivc;G9 zAahw2E0e|pH(`OY;&3;QbMrD#k*k-wpEsMD)+EDzhkpgVa_iZ{*M5F|bDOzT1lM-V z{dVoHh>JB3K)usetzn5N&Qx_z!uO|s+19^n@7D%)blUG%tOt62XaA4ybn5W(>y2u+ z-Fg(9wJ=?YEU5<;6>x-?)86%GIHpj-0f~%YF0gHD17h_S* zwO)PSddX=&)u!J!n`n`aJML(^>$n#on1kPCwV&Q4SMSTxH5Tvl0Wd4qd-5^vaWlPi z#&IiOVCF474VF8^)nl;dQET#DzMcmmhW;{DNg<3*nt2MDPeBf#7sBLoA%x7ULJ_st z0IO)B7lUwcp5rqV=|DGs1BM2+lA(cte5)7;Gn?WKv6a8^oi(R%fQ7QQ`5vRf_t2|7 z{ix2X(+b5$h8~`>EKvj@I`54F+87ReY3}wwSlhzWz+&^MOypP(&tt^v!+76*4&HY- z+n&L@XYg)VH(5=*AIAGyc=b;)Sr5Aq5g4-OMQ>XDQz!3RQ}nfn8Xt?iuv=IrLX?M+ zjLK_#?1VSp0O8Y&D(AQoasNDQMb2<$zzX2U7pg}`L{+XT0>(RSjU4MIyY&WApte3^ zwi^|u>wgeIeiuDLHN8PiPXn=DZxD~wu)6-rWh<1}d5K^7YLZF(kil1y5H3w05sum3 zDK$kmOV`1z`!$P<>+w^%%bvo^*A(R~B7bTft|T2_wFUae!yzIVCtt~KSp%|Wg|Bwt z4TFsry`wk4s*UfA9Nn_Y?0B-S`?90^vXdQ{a^=ZtciB2N-2u5UkI3M2(*n5uxkI?1 zXwat~&*y2NX7H~uExOVwV07ntI!rU8(nqA9M2###K!sO8GWt(gG4h(#W2dkR!YZn* znJ?^|^Z>rYND?7sYA%FuskU=geGr7|320U2pl)NB4hcZblok16;)F8Nl^Sn8xj1QC za^&TcElR;~>CDD_rdoP*gBL1B#x~n_e7LLjShG;Ryjz#&g>FXcVeU7F@&0aJO&S8u z&?mw&i9U81h~w`_zdEm46p5D*h0Bx`Mc#K|f$Kmt56`p=-v1oBg6KK7%JagJ?!f34 z$vtm-E}*D4cC~L!35Lg!*x9=B3$& zhS2gqjT7uw8bJ{Uc0N58!_*=zYchSAu?%yTSl09jG{dgck&Bu{cpFC?%-uZdixaK} z==ISRH|Eihu$Elrsx}8@_il7`VUL9BdoTp9r9W`#<7rMkoR%m$S#%LFxc}&byZ_Yh& z=*p8#VS_C&!30M+m+ec*FxKNQp-1QEQ=lJ&VS!bzjD|BUK~_4r zjedkzt5;2|B(gFAs+bt>(SRb$816NI=Fy{(1w|ySCt60c4k~(HHUw&R1J_p=;*|vCEzngJBc2ljuE^b#xThs|3Gqa|3 zob1NVz_`slH@lO;byQxf@C2(^3|rryS|3_f+eAD(?5@X)5yP@I!+vACw10Erk^P&d z?fSQejc;%b;cgLr$8n78&@`@8@1iHuVmtHRiC2bwP05GI~ikL9ApZ%2=cOCi^ zQs}x5tr-c{Ru=o>m>0WN8#-j#jA2fDkH)wkzxccHt0HX^MZptkkLTe5PZ0%;REoMl zn5>WI0k+a96Az3`AlH_Ql-)Ni#a`@M^c1mUJK5L`N-S~NZy#8_`Q)*P%XN+llPFlJv?%NpdoUv)9KS(1$tkMp zKZRxPK9CNhTL*u9{lz-5twgP!w1A+BxEfZr#gWUdyOzC+R?IrMH0b)#MinZxe6g|% zs_|@>)Qg8yFpL*Fa~u<7v1-Ff?YfkWe7?(fiAR!V{5s2Zbv9>TaZAL_TKmz`BWpRE_UnC(oKicBDl3|Iur&Al&d5Hr#REqQ~MKB zGxoNNZP2wtQ!tn!xE>Eu-Mc!~tlX+)*{aQUoFN9&cDFKjfWbtsHEt^(G@MTZ|2q!+ z@3;&;PV&Fw=2`U)H9Z}&`QO*U|GrK9?~}|IReG9XsCy9KNW()R;e0p>2#LRo^0}^x znb@kKuqx(}U9uO+p3`A)YhRFg-r9Og62!)NTAI(Rq6Ea(qZ>iIEazPO;aG|D%B~dvz6=zg?=mhqBD^JQBD5 zx_kZpHBh~_FH+j9{N>eSIZ{_B`S=@`t?djh4Aw;kqM@b#V?Pj3$?|EPx}GWg(ME%xo;f$o)pXx<%Y-x}R0g*uDlr|;c85hpYk zp5|#-CkBmUX$u}*JFU&IEG;#b7wiPt=p{al|_yL;zd!oZV`w8HI^7rly|{8l?nA)TkLHU zr|{@7QEX-rux}M%CjUOw{W@vONx23o>0bty2K?1-xRJF#iQ!9=9F2C2coN4F!*6P>U0lgsU9V% zM{WhfKdjojTjb+ zYqpj3Dy`y`>7=1kh5iHdD!g2n7(L;WX?!hT+c8nB6>BC=na)SojhiOc@pTh(#L){- zgq|s3)A+i&r>Be26DNtad`-uWe63jf$wV<~dU9O^*CTSK|H}O^1X??F8Xr9&E?KOb zI8m%ij+?+oO`D2nYy9Djw8Q!NuxX!65TlY$Pvq;wx@mRm@=?>LPDHNOCU!L2-dV0s zUBa6#pT0yD)0bGBOKN!Y1W(SRxvd$Rdq$o-8K39LoApVkemCq#yRnH+S=hiH1v|*t zD3=9cQ{3KcJT~7fyV+<1Fr=>z~D?VYuLW0AvW*nYJLSfIj%8pGH)^O zH1EScjz`UIbBg()3aOS_5F7XuSIejsUH(DC9lO{DP}2WX=>?U>0;?^>1*k4dEfH6Whu7o`PPz%4SSL-mo5JZ zvIZ3hat6g$)3II8;-GJX)&yVh#n!K^-&)sMw_5jE z4_kk=W?C;=Z&|sfXu(=u&8`*HoLY=lQLC*r)S7B7v^H92UU{;ER|RdrMgyX9c?SeS z!W4%Ud|buyWRtOckJj#;cht||=doW18Ih7UsW8dGLq8*U&l_R;ow28`pS4E6r5w%Pt?K(7@ETZO> z7EzVoT2@)P3g%xwO@~#=~s;Im-^=nVmHz`#F=0Xi?p|!1=&+cHtsuL+Ya@rltW7r*3 z$nKy87I`{f|6K1k(~j-bABNu_cL zs8j2_16zrd#}eN_xbmX9c3&@tuJ)d%9KIbrF1lK%Ksr5jFxMQU*D)7SHDbo2yIHk8 zgH!s!N)o?#ioc&4at4ecFFy71fJ^qp@p?2yj`?p~1s?dC}lf6Loe(7E%y!_y_ml5G)*&hr-c zb)n0v2HrV-)VjnmKStUbjHqiJhawT z5!$RBc2RL^VI{1vyLs%u)yQinT4U|0t(t=jU`)Y&8|lz%qiGRN(soZerfq0iL=>2c z4KB{$*-mkWEX9gTnB_^MSsu*zY!(O1WBGxK2qOk;a_l3kk7T_w9(8e>&oeAPK64?S z{mOTu;@4KPx|C_P@OQ)*2)7{=hQ9MuYcL-o*9 z@}o5e{SF-<&2zD#195YX%OA7)HCWncFsFv_u~6>Eat%5CV!wUyPxdQ@x3Ox6z)UVD zZ5?*)0_RW)Z5hs&Khno>K^>=rRL5C8)o}ra?Rb0j&H<^9Q_LmWtG4@yUYShhX?J0k zc0*QP7?%p?efSY-b#ICz<~ypGs|WLG{4BI^Ah-VxINF(iM=CiJ#aZ#0Cm5=!*yra& zB`bFL7~BUHU0FYF-so8qtCt*W@l^I4Gxx@RR(|t`+Au3=#}8Wiu2Cg^wfl|O(xt=u zZ=xLEd=uMhKoNWHyl))XrzMqtG8rD6ZQaTnoOAJM`ebaB1>t8fXuu#n7<+5*Z#;cR z4}`S$r5^9Jh#Wj{#%Cj3T29jq@nrEpJJ<*&^tAcYCOC$Esp)-0*)TpHTDW!iI6hW9 z&tt)9e?zm?fIPl3_sgVkq%6%mLBNjh=73gQw~FL>eaG zDvIr%e0)1*lQ2BQ{6D7uwNow4XN?_1v{e0asun9-6YOGY@eT`i^TFmYpNxFZp<#s} z3=?bEam%d@dGifTzZj;O$Euod+2;r{^{IVit*)Y2U@A@S)??T}vnOLo-W6=avPMpS z1Cdu*%c)ZQ0-Wz}{(8aEMc5idztsi1J*D)t;vF5_nrPSxpYkcc1}r8e$eaq0hVr9J zBXhFNR)c($6lQEO#z##~tDVkMuY=-QK-nscc3^k2;n?}59JbJTAv>WAXi{pmYLbu- zT9g{L&+3Uc^(0Mf6*@;VG+yKWZR|d#MX$czl7~lP>mI#OI4^OVCeZR1zl*sR#Fz{T z3M#-83w$l2la4ud+L`6h$mHW@r^eOJ2_YKnfogJTak8!4}9( zRSUtQKM|qt0uLUcVe0rbo<|e;M175i@Or3CkQRrzqFTbgp0zT1=d2FzTg^9Bh=dmK z*FogaTwW4`%;U7PouKi076yD1Nb{8|bf<+av))-U4SRC6>Qvk*2B?~}f2FnCc4CrK z>oWwi8d_F|;o1plgArD#w`q&9w;2|~(B5XY0bdT)bEk-qpo4` zRvJ8^&51@09ihR{1DS@ABRMBDyp?V4eMT20t#blPBL@GC3I zu;LW#D>VcrqAi-*S8Otu9W(OfMv+>;?C^8Pf8@_Cbgk3;t6L%A)6{)@u(^Tyq8Mz} zAZii|v&=xvuv%9{s5U(HRZy+N=D-Z~0n3v?Ei6lhX|#m=dn_UE zgC*n|A2%5J%!*0XAZdIDBj*gwz9Syn3*FN~wr6M%s4cvNANCni6l?`!942fogbhjI zr@}F8Cldr{g<}Yl2hfJ?XPDfchGBD>g1E-!F@Qzj7`7^k0W1N>XR33C%l>??wC7@B0mhF|$J|hPYP@)I)9y$N5NJ) zD4PaN+eTrt9>b4H%D6INqn`4LrGA&jQA*8*ZQDmF4O-Oi5~Z|k)uv^X(y?uuR#8f? z_VwZ4uYKDVQOZzXya1H4kwPF!+qg1g6CdMBMd=$?7Hkq^Tm@mXAmb|dQ9i7+c~Jk? z1`kxmOE^u!*%B_6aD{|xB-|unf`t1dJSw64t=@zCD;W}Ak??m3Jp`F5VLk~XBrGan zc?oMu*Z`$OB}HZWzy1$EiUG1d{_n5MsMmtP=c?FN$s{*gs;T_WK9koLw$kJdn3(5m zXud*9;n^}r%r)Bgzs~rN0>;PK5sKFe4s;GPk~B>jtf*C{~=e~OvB9v0yJg9UmY;t7@_dm%5v zeUSGM(g;9mW}HSk3zcBRS%f&5cyb+a&Kpm?3lJv*aTem;3l&rJ0LppsiN$w;G7yFz zL47{)@E-AQ@ox1_^!~>yykC3QdG~nT2*2ftffeu8r}*!AivPqX`kRW}koo(d_(Wht z0N(c>3g?|E;UbhbD{@kneF4y+y4V!0H7L>R*bHkhDA8zaS~X3Xt9*$~%@VM!*Fo&g zeNhxd%UUx53f-Za$1A-wBjw8Kx(?k3};8Ua7Lr&cYe;VPxf}e#-j1^QGvk0XXi&SD+VO%?K?Zmcr^uAj% zg}gUeJe0}p%8dpCI3dvAI(fs=E*OTEW% zeM|}P{^~u7C+YI}IqyEN8{uyNSCjDMmiHnYC*1k(50nwG5%uUh49tX|7pLdZ-9vjm5$OGSf%XmUL@?T~D zEU|F__F$*Z&8bKbSyZFnN>``M{Qtq2R?7 ziQ(LPB0HS_N>bx5yl0W_D%9RC?_%!&??~jvpqNL{E|%j=_Ad6vF#bW;fwBMWpfY+= z9w-%wOJ47NKUVrvejEd3E6MR*e+eLm@xaMR$SdLG0?-gjQ(+=BRcw| zOoTHbwEQmIJ@l1*3h2Xj(1&ENLCIxaAH7sw7*8JgRRYIiraSLJ@001n`D|Q7kLlyX zy!*Z1%UHko^583Jd7@3YMF4z$e*HAB=RK0ZU1|*(^s=Tob)|26|@pxRm4*?9JpH?v69i&yr>ng?5CcX^5f|~{SGCR0)8e1R0Dk; z(!P##DP`i_Zo>BguI>X*AMqzoPYc@`55m*ubA%`-uML>P8(Y@4$Ck(Ca5e*MhX340 ztkMQvC2>~H{V3P{P=r9KJUVDo=6`cIpB%}12`wBY@RX-NJ;i_Tll)PZnG)OY(^GK5 zpcYT(EBq<^t+MwA_WeJ(x5e9b<_hQ!|J1gGIFb`G0s>$BH1YJ4(*njkBdsUD{pr5I z!lz;$acqBm_-hU&Z_up&Veatuia1L`B4HfizW;y!M;nS8hwE=767tM2l_4uJ4r)h# zb@(`trv$5n?W>K$pTDOBl-`sUXx9Jnk+aqRt5<=-5ohx6kH1r{GIiq2{{Hd5Y(rj2 zYySSb{}l4sIQFOD&-AGN%%}hQ;bSzyls}PhFX{~p!t%%#Fch1v7yZ|X|D%ZDs*}M> zNlNpNBL2g`;PnrB6LDsu$G+~}3p%+CV}&iC&kw=Zf9PET-=DmYDE-5Pa|Oq@Bw-Zc z<9m#U#CiG0-o!5&920V~8*lf3hunuU_z$E#XL0Y7c;rg<@!MP!<+0j)JS6UruH@&u z#K+15Uk(|jcOQ7#aM0phsrf_UpEwHNA>}c9{CCDbqDMo2V3ZU0Juhe zOJyYvBkk=d*A%?xA>1{*@u9E$U&N?j0dbM2>tDdZoxz#(`k;MmHWMCogDpCuK{gsf;9@2%rZjO({e0agm`USE4bx{{Y7C z1LwRS?ZGDzFrN6iPDza(LQ;zK5i`>myZWHy{ZKlO>Pv>%>s^hK($RW$K_YS;rIVSP zFUUC-HQx94pcmrH<`)^Cshz}gQ=-q+bf${?qMKuwf{kMld$FjbT7^(bS zYT!L3WzUcvBPSbt5-?Nn8p(yc7C4!%CFb_czDFL;`+J9M-+y=YGFG@pcpkG+ejx72%>gUy5QV|bDeEg>J;Kw%|XVct3LVagZaS{Un1*DRKx zDTtuDQQem#Ws`Qg{pro}jPML^#V{$Yjx&$FsU

=G*>qJ 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 V1MAFQW?fiU)}8fay=3VD{69KtMWX-! literal 0 HcmV?d00001 diff --git a/packages/create-mechanic/function-examples/poster-generator/index.js b/packages/create-mechanic/function-examples/poster-generator/function/index.js similarity index 100% rename from packages/create-mechanic/function-examples/poster-generator/index.js rename to packages/create-mechanic/function-examples/poster-generator/function/index.js diff --git a/packages/create-mechanic/function-examples/poster-generator/utils.js b/packages/create-mechanic/function-examples/poster-generator/function/utils.js similarity index 100% rename from packages/create-mechanic/function-examples/poster-generator/utils.js rename to packages/create-mechanic/function-examples/poster-generator/function/utils.js diff --git a/packages/create-mechanic/function-templates/canvas-image/index.js b/packages/create-mechanic/function-templates/canvas-image/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/canvas-image/index.js rename to packages/create-mechanic/function-templates/canvas-image/function/index.js diff --git a/packages/create-mechanic/function-templates/canvas-video/index.js b/packages/create-mechanic/function-templates/canvas-video/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/canvas-video/index.js rename to packages/create-mechanic/function-templates/canvas-video/function/index.js diff --git a/packages/create-mechanic/function-templates/d3-image/index.js b/packages/create-mechanic/function-templates/d3-image/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/d3-image/index.js rename to packages/create-mechanic/function-templates/d3-image/function/index.js diff --git a/packages/create-mechanic/function-templates/p5-image/index.js b/packages/create-mechanic/function-templates/p5-image/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/p5-image/index.js rename to packages/create-mechanic/function-templates/p5-image/function/index.js diff --git a/packages/create-mechanic/function-templates/p5-video/index.js b/packages/create-mechanic/function-templates/p5-video/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/p5-video/index.js rename to packages/create-mechanic/function-templates/p5-video/function/index.js diff --git a/packages/create-mechanic/function-templates/react-image/index.js b/packages/create-mechanic/function-templates/react-image/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/react-image/index.js rename to packages/create-mechanic/function-templates/react-image/function/index.js diff --git a/packages/create-mechanic/function-templates/react-video/index.js b/packages/create-mechanic/function-templates/react-video/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/react-video/index.js rename to packages/create-mechanic/function-templates/react-video/function/index.js diff --git a/packages/create-mechanic/function-templates/svg-image/index.js b/packages/create-mechanic/function-templates/svg-image/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/svg-image/index.js rename to packages/create-mechanic/function-templates/svg-image/function/index.js diff --git a/packages/create-mechanic/function-templates/svg-video/index.js b/packages/create-mechanic/function-templates/svg-video/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/svg-video/index.js rename to packages/create-mechanic/function-templates/svg-video/function/index.js diff --git a/packages/create-mechanic/function-templates/svgjs-image/index.js b/packages/create-mechanic/function-templates/svgjs-image/function/index.js similarity index 100% rename from packages/create-mechanic/function-templates/svgjs-image/index.js rename to packages/create-mechanic/function-templates/svgjs-image/function/index.js diff --git a/packages/create-mechanic/new-function.js b/packages/create-mechanic/new-function.js index 3247a199..7c4cba68 100644 --- a/packages/create-mechanic/new-function.js +++ b/packages/create-mechanic/new-function.js @@ -13,29 +13,42 @@ const log = console.log; // https://gist.github.com/lovasoa/8691344#gistcomment-3299018 const walk = (dir, fileCallback, directoryCallback) => { const files = fs.readdirSync(dir); + let wasSuccessful = true; files.forEach(file => { const filepath = path.join(dir, file); const stats = fs.statSync(filepath); if (stats.isDirectory()) { - directoryCallback(file, filepath, stats); - walk(filepath, fileCallback, directoryCallback); + const success = directoryCallback(file, filepath, stats); + if (wasSuccessful && !success) wasSuccessful = success; + if (success) { + wasSuccessful = walk(filepath, fileCallback, directoryCallback); + } } else if (stats.isFile()) { - fileCallback(file, filepath, stats); + const success = fileCallback(file, filepath, stats); + if (wasSuccessful && !success) wasSuccessful = success; } }); + return wasSuccessful; }; -const copyDirAndContents = (baseFunctionDir, newFunctionDir) => { +const copyDirAndContents = (originDir, targetDir) => { const copyFile = (_, filepath) => { - if (path.join(baseFunctionDir, "dependencies.json") === filepath) return; - const relativePath = path.relative(baseFunctionDir, filepath); - fs.copyFileSync(filepath, path.join(newFunctionDir, relativePath)); + const relativePath = path.relative(originDir, filepath); + const target = path.join(targetDir, relativePath); + if (!fs.pathExistsSync(target)) { + fs.copyFileSync(filepath, target); + return true; + } else return false; }; - const copyDir = (_, filepath) => { - const relativePath = path.relative(baseFunctionDir, filepath); - fs.mkdirSync(path.join(newFunctionDir, relativePath)); + const copyDir = (_, dirPath) => { + const relativePath = path.relative(originDir, dirPath); + const target = path.join(targetDir, relativePath); + if (!fs.pathExistsSync(target)) { + fs.mkdirSync(target); + return true; + } else return false; }; - walk(baseFunctionDir, copyFile, copyDir); + return walk(originDir, copyFile, copyDir); }; const baseExists = (typeOfBaseUsed, base) => { @@ -110,40 +123,49 @@ const generateFunctionTemplate = async ( spinner.start(content.generateFunctionStart); // Create design function folder - const directory = path.resolve(projectName); + const projectDir = path.resolve(projectName); + const projectPackagePath = path.join(projectDir, "package.json"); const newFunctionDir = path.join( - directory, + projectDir, config.functionsPath || "functions", functionName ); await fs.mkdir(newFunctionDir); // Path of template directory to copy - const baseFunctionDir = path.join( - __dirname, + const functionTypeDirectory = typeOfBaseUsed === "Template" ? "function-templates" : typeOfBaseUsed === "Example" ? "function-examples" - : "function-blank", + : "function-blank"; + + const functionDir = typeOfBaseUsed === "Template" ? functionTemplateOptions[base].dir : typeOfBaseUsed === "Example" ? functionExampleOptions[base].dir - : "" + : ""; + const baseFunctionDir = path.join( + __dirname, + functionTypeDirectory, + functionDir + ); + const functionSrcDir = path.join(baseFunctionDir, "function"); + const functionDependenciesPath = path.join( + baseFunctionDir, + "dependencies.json" ); + const inputsSrcDic = path.join(baseFunctionDir, "inputs"); // Add dependencies and copy basic files await Promise.all([ (async () => { const packageObj = JSON.parse( - await fs.readFile(path.join(directory, "package.json"), "utf8") + await fs.readFile(projectPackagePath, "utf8") ); const baseDependencies = JSON.parse( - await fs.readFile( - path.join(baseFunctionDir, "dependencies.json"), - "utf8" - ) + await fs.readFile(functionDependenciesPath, "utf8") ); // Add dependencies for (const depType in baseDependencies) { @@ -156,16 +178,38 @@ const generateFunctionTemplate = async ( } // Write the resulting package await fs.writeFile( - path.join(directory, "package.json"), + projectPackagePath, JSON.stringify(packageObj, null, 2) ); })() ]); + + // Add any custom inputs + const templateHasInputs = await fs.pathExists(inputsSrcDic); + const generatedCustomInputs = { tried: false, success: false }; + if (templateHasInputs) { + const projectInputDir = path.join(projectDir, "inputs"); + const projectInputDirExists = await fs.pathExists(projectInputDir); + if (!projectInputDirExists) { + await fs.mkdir(projectInputDir); + } + + const copiedEverything = copyDirAndContents(inputsSrcDic, projectInputDir); + generatedCustomInputs.tried = true; + generatedCustomInputs.success = copiedEverything; + } + // Copy all files in base dir - copyDirAndContents(baseFunctionDir, newFunctionDir); + copyDirAndContents(functionSrcDir, newFunctionDir); spinner.succeed(content.generateFunctionSuccess(functionName)); - log(content.functionCreationDetails(functionName)); + log( + content.functionCreationDetails( + { functionName, functionTypeDirectory, functionDir }, + generatedCustomInputs + ) + ); + return newFunctionDir; }; diff --git a/packages/create-mechanic/script-content.js b/packages/create-mechanic/script-content.js index 7b0fa2d0..0eddbcae 100644 --- a/packages/create-mechanic/script-content.js +++ b/packages/create-mechanic/script-content.js @@ -1,9 +1,11 @@ const { logo: { mechanic, mechanicInverse }, - colors: { success, bgRed, bgBlue } + colors: { success, bgRed, bgBlue, fail } } = require("@mechanic-design/utils"); const mechanicPackage = "@mechanic-design/core"; +const sourceCodeUrl = "https://github.com/designsystemsinternational/mechanic"; +const sourceCodeMainBranchUrl = `${sourceCodeUrl}/tree/main`; module.exports = { welcome: `${mechanic} @@ -81,7 +83,10 @@ ${bgBlue( generateFunctionStart: "Adding design function to project...", generateFunctionSuccess: functionName => `Design function "${functionName}" added to project!`, - functionCreationDetails: functionName => + functionCreationDetails: ( + { functionName, functionDir, functionTypeDirectory }, + customInputGeneration + ) => `This just: > Created a folder inside functions/, called ${success( functionName @@ -89,8 +94,21 @@ ${bgBlue( "index.js" )} file where the design function is defined. > Added some other dependencies into your project to make your design function work. - -`, +${ + customInputGeneration.tried + ? customInputGeneration.success + ? "> Added a custom input used in the function. You can find it in the " + + success("inputs/") + + " folder \n" + : "> " + + fail("Tried") + + " adding a needed custom input, but it wasn't possible. " + + "Check " + + `${sourceCodeMainBranchUrl}/packages/create-mechanic/${functionTypeDirectory}${ + functionDir !== "" ? "/" + functionDir : "" + }/inputs for the input's source code.\n` + : "" +}`, confirmInstallQuestion: "Do you wish to install dependencies for your project right away?", From 145ba1eb7936797d1ff97e91638615a4572400c5 Mon Sep 17 00:00:00 2001 From: Fernando Florenzano Hernandez Date: Fri, 5 May 2023 10:43:40 -0400 Subject: [PATCH 2/7] feat(create-mechanic): create-mechanic also adds gitignore to new project --- packages/create-mechanic/new-project.js | 2 +- .../create-mechanic/project-template/_gitignore | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/create-mechanic/new-project.js b/packages/create-mechanic/new-project.js index b2176e46..173462b1 100644 --- a/packages/create-mechanic/new-project.js +++ b/packages/create-mechanic/new-project.js @@ -63,7 +63,7 @@ const generateProjectTemplate = async (projectName, typeOfBaseUsed) => { // Copying content promises await Promise.all([ // Copy array of files that get duplicated without change - ...["mechanic.config.js", "README.md"].map(filename => + ...["mechanic.config.js", "README.md", "_gitignore"].map(filename => fs.copyFile( path.join(projectTemplateDir, filename), path.join(directory, filename.replace(/^_/, ".")) diff --git a/packages/create-mechanic/project-template/_gitignore b/packages/create-mechanic/project-template/_gitignore index e69de29b..5c787228 100644 --- a/packages/create-mechanic/project-template/_gitignore +++ b/packages/create-mechanic/project-template/_gitignore @@ -0,0 +1,15 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules + +# production +/dist + +# misc +.DS_Store + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* From 14a0f2cc654d8ef49e1f44f07a9cb2290e9ccb66 Mon Sep 17 00:00:00 2001 From: Fernando Florenzano Hernandez Date: Fri, 5 May 2023 12:09:01 -0400 Subject: [PATCH 3/7] feat(create-mechanic): create-mechanic will try to initializing a git repository in the newly created project --- packages/create-mechanic/index.js | 4 ++ packages/create-mechanic/new-project.js | 56 ++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/packages/create-mechanic/index.js b/packages/create-mechanic/index.js index 5edf0686..d5e32cdf 100644 --- a/packages/create-mechanic/index.js +++ b/packages/create-mechanic/index.js @@ -12,6 +12,7 @@ const { installationMethodQuestion, generateProjectTemplate, installDependencies, + tryGitInit, checkLockFile } = require("./new-project"); const { @@ -149,6 +150,9 @@ const command = async argv => { // Install dependencies in new project directory const install = await askToInstall(projectName); + // Try initializing git repository + await tryGitInit(projectName); + // Done! log(content.doneAndNextStepsMessage(projectName, install)); log(content.bye); diff --git a/packages/create-mechanic/new-project.js b/packages/create-mechanic/new-project.js index 173462b1..f4b49058 100644 --- a/packages/create-mechanic/new-project.js +++ b/packages/create-mechanic/new-project.js @@ -126,6 +126,59 @@ const installDependencies = async (projectName, installingMethod) => { } }; +async function isInGitRepository(cwd) { + try { + await execa("git", ["rev-parse", "--is-inside-work-tree"], { cwd }); + return true; + } catch (_) {} + return false; +} + +async function isInMercurialRepository(cwd) { + try { + await execa("hg", ["--cwd", ".", "root"], { cwd }); + return true; + } catch (_) {} + return false; +} + +// Adaptation of https://github.com/vercel/next.js/blob/canary/packages/create-next-app/helpers/git.ts +const tryGitInit = async projectName => { + // Project directory + const cwd = path.resolve(projectName); + let didInit = false; + try { + await execa("git", ["--version"], { cwd }); + if ( + (await isInGitRepository(cwd)) || + (await isInMercurialRepository(cwd)) + ) { + return false; + } + + await execa("git", ["init"], { cwd }); + didInit = true; + + await execa("git", ["checkout", "-b", "main"], { cwd }); + + await execa("git", ["add", "-A"], { cwd }); + await execa( + "git", + ["commit", "-m", "Initial commit from Create Mechanic"], + { cwd } + ); + + return true; + } catch (e) { + if (didInit) { + try { + fs.rmSync(path.join(cwd, ".git")); + } catch (_) {} + } + return false; + } +}; + module.exports = { getProjectQuestion, confirmDFQuestion, @@ -133,5 +186,6 @@ module.exports = { installationMethodQuestion, generateProjectTemplate, checkLockFile, - installDependencies + installDependencies, + tryGitInit }; From 8bd4c19518abe1a3ae38bf0adf0020c59c77685a Mon Sep 17 00:00:00 2001 From: Fernando Florenzano Hernandez Date: Fri, 5 May 2023 12:33:53 -0400 Subject: [PATCH 4/7] feat(create-mechanic): create-mechanic lists dependencies to install --- packages/create-mechanic/new-project.js | 11 +++++++++++ packages/create-mechanic/script-content.js | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/packages/create-mechanic/new-project.js b/packages/create-mechanic/new-project.js index f4b49058..5e1991cb 100644 --- a/packages/create-mechanic/new-project.js +++ b/packages/create-mechanic/new-project.js @@ -110,6 +110,17 @@ const installDependencies = async (projectName, installingMethod) => { // Project directory const cwd = path.resolve(projectName); + // List out dependencies being installed + const packageJsonPath = path.join(cwd, "package.json"); + const packageObj = JSON.parse(await fs.readFile(packageJsonPath, "utf8")); + log(content.installingDependenciesMessage); + for (const depType of ["devDependencies", "dependencies"]) { + for (const dep in packageObj[depType]) { + log(content.dependencyItem(dep)); + } + } + log(); + try { spinner.start(content.installTry(installingMethod)); // Install diff --git a/packages/create-mechanic/script-content.js b/packages/create-mechanic/script-content.js index 0eddbcae..2e8b4de6 100644 --- a/packages/create-mechanic/script-content.js +++ b/packages/create-mechanic/script-content.js @@ -114,6 +114,11 @@ ${ "Do you wish to install dependencies for your project right away?", installationMethodQuestion: "Do you wish to install dependencies using npm or yarn?", + installingDependenciesMessage: "\nDependencies to install:", + dependencyItem: dep => + !dep.includes("@mechanic-design") + ? `- ${dep}` + : `- ${bgRed("@mechanic-design")}/${bgBlue(dep.split("/")[1])}`, installTry: method => `Trying with ${method}.`, installSucceed: method => `Installed dependencies with ${method}.`, installFailed: method => From 8a77762b141171baf5f5c7e28751efe5ad3b2230 Mon Sep 17 00:00:00 2001 From: Fernando Florenzano Hernandez Date: Fri, 5 May 2023 12:41:31 -0400 Subject: [PATCH 5/7] fix(create-mechanic): adds some break lines to make cli more readable --- packages/create-mechanic/index.js | 1 + packages/create-mechanic/new-function.js | 1 + packages/create-mechanic/new-project.js | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/create-mechanic/index.js b/packages/create-mechanic/index.js index d5e32cdf..f0a191d1 100644 --- a/packages/create-mechanic/index.js +++ b/packages/create-mechanic/index.js @@ -107,6 +107,7 @@ const command = async argv => { const { confirmContinue } = await inquirer.prompt(confirmDFQuestion); await sleep(); if (confirmContinue) { + log(); log(content.designFunctionBasesDescription); } else { skipFunctions = true; diff --git a/packages/create-mechanic/new-function.js b/packages/create-mechanic/new-function.js index 7c4cba68..5cc581a5 100644 --- a/packages/create-mechanic/new-function.js +++ b/packages/create-mechanic/new-function.js @@ -203,6 +203,7 @@ const generateFunctionTemplate = async ( copyDirAndContents(functionSrcDir, newFunctionDir); spinner.succeed(content.generateFunctionSuccess(functionName)); + log(); log( content.functionCreationDetails( { functionName, functionTypeDirectory, functionDir }, diff --git a/packages/create-mechanic/new-project.js b/packages/create-mechanic/new-project.js index 5e1991cb..35f1cbd7 100644 --- a/packages/create-mechanic/new-project.js +++ b/packages/create-mechanic/new-project.js @@ -88,6 +88,7 @@ const generateProjectTemplate = async (projectName, typeOfBaseUsed) => { ]); spinner.succeed(content.generateProjectSuccess(typeOfBaseUsed, projectName)); + log(); log(content.projectContents(path.dirname(directory))); }; From 77174d348629de67dae4f93f02a53382631d1958 Mon Sep 17 00:00:00 2001 From: Fernando Florenzano Hernandez Date: Fri, 5 May 2023 13:00:11 -0400 Subject: [PATCH 6/7] docs(create-mechanic): updates changelog --- packages/create-mechanic/CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/create-mechanic/CHANGELOG.md b/packages/create-mechanic/CHANGELOG.md index d9ca7602..40e588f0 100644 --- a/packages/create-mechanic/CHANGELOG.md +++ b/packages/create-mechanic/CHANGELOG.md @@ -7,9 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Ability to copy template or examples that use custom inputs. +- New Adaptive Grid design function (by @munusshih) added to examples +- Adds base .gitignore to new projects +- Tries to initialize a git repository for new projects +- Right before trying to install dependencies of new project, it will list out which dependencies are being installed + ### Fixed - Missing line break was added finalizing creating a DF. +- Adds some line breaks across the CLI logs for reading room. ## 2.0.0-beta.10 - 2023-02-10 From 3c99e16aa994ca29794a149bf3623ac830c75338 Mon Sep 17 00:00:00 2001 From: Fernando Florenzano Hernandez Date: Fri, 23 Jun 2023 18:25:31 -0400 Subject: [PATCH 7/7] fix(create-mechanic): removes unused files and declarations, and formats files --- .../function/assets/FuturaStd-Bold.otf | Bin 26900 -> 0 bytes .../function/components/Column.js | 2 +- .../function/components/Image.js | 2 +- .../adaptive-grid/function/hooks.js | 2 +- .../adaptive-grid/function/index.js | 78 ++++++++--------- .../adaptive-grid/function/styles.css | 79 +++++++----------- .../adaptive-grid/inputs/group/index.js | 10 +-- .../inputs/group/style.module.css | 4 +- 8 files changed, 79 insertions(+), 98 deletions(-) delete mode 100755 packages/create-mechanic/function-examples/adaptive-grid/function/assets/FuturaStd-Bold.otf diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/assets/FuturaStd-Bold.otf b/packages/create-mechanic/function-examples/adaptive-grid/function/assets/FuturaStd-Bold.otf deleted file mode 100755 index dc25384101f5c6c9d9d10bdf1214c5a9b171c102..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26900 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 diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js index 21a54253..93ea7bb2 100644 --- a/packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Column.js @@ -4,7 +4,7 @@ export const Column = ({ width, height, x, y, showGrid, children }) => { return ( <> -

+
{children}
{showGrid && ( diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js index 24c13021..b6b2b256 100644 --- a/packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/components/Image.js @@ -11,7 +11,7 @@ export const Image = ({ height, gutterRatio, filterOpacity, - gridColor, + gridColor }) => { const imageHref = image ? (href ? href : "") : defaultUrl; diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js b/packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js index ee6e8a9a..cc39c1db 100644 --- a/packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/hooks.js @@ -10,7 +10,7 @@ export const usePotentialRandomValue = ( return value.current; }; -export const useImageHref = (image) => { +export const useImageHref = image => { const [href, setHref] = useState(""); useEffect(() => { diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/index.js b/packages/create-mechanic/function-examples/adaptive-grid/function/index.js index 0419c91c..e3b2fd62 100644 --- a/packages/create-mechanic/function-examples/adaptive-grid/function/index.js +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/index.js @@ -7,7 +7,7 @@ import { getRandomInt, getRandomSign, getRandomColor, - brightnessByColor, + brightnessByColor } from "./utils"; import "./styles.css"; @@ -27,7 +27,7 @@ export const handler = ({ inputs, mechanic }) => { title, image, filterOpacity, - titleSizeAdjust, + titleSizeAdjust } = inputs; const canvasRatio = width / height; @@ -101,12 +101,12 @@ export const handler = ({ inputs, mechanic }) => { canvasRatio >= 0.75 ? twoWidth + gutterRatio : twoWidth + gutterRatio * 0.5 + borderRatio, - threeWidth + borderRatio + borderRatio * 0.5, + threeWidth + borderRatio + borderRatio * 0.5 ]; const chooseX = [ 0, borderRatio + gutterRatio * 0.5 + oneWidth, - borderRatio + gutterRatio * 1.5 + oneWidth + twoWidth, + borderRatio + gutterRatio * 1.5 + oneWidth + twoWidth ]; const cropWidth = chooseW[imageColumn - 1]; const cropX = chooseX[imageColumn - 1]; @@ -134,7 +134,7 @@ export const handler = ({ inputs, mechanic }) => { fontFamily: "Object Sans", whiteSpace: "pre-wrap", overflowWrap: "anywhere", - hyphens: "auto", + hyphens: "auto" }; const textStyle = { @@ -143,7 +143,7 @@ export const handler = ({ inputs, mechanic }) => { fontFamily: "Object Sans", whiteSpace: "pre-wrap", overflowWrap: "anywhere", - hyphens: "auto", + hyphens: "auto" }; const href = useImageHref(image); @@ -249,11 +249,11 @@ export const handler = ({ inputs, mechanic }) => { export const inputs = { width: { type: "number", - default: 1000, + default: 1000 }, height: { type: "number", - default: 1000, + default: 1000 }, randomRatio: { type: "groupToggle", @@ -266,7 +266,7 @@ export const inputs = { default: 2, min: 1, max: 10, - step: 1, + step: 1 }, columnTwoRatio: { type: "number", @@ -274,7 +274,7 @@ export const inputs = { default: 2, min: 1, max: 10, - step: 1, + step: 1 }, columnThreeRatio: { type: "number", @@ -282,7 +282,7 @@ export const inputs = { default: 1, min: 1, max: 10, - step: 1, + step: 1 }, border: { type: "number", @@ -290,7 +290,7 @@ export const inputs = { default: 15, min: 1, max: 100, - step: 1, + step: 1 }, gutter: { type: "number", @@ -298,7 +298,7 @@ export const inputs = { default: 15, min: 1, max: 100, - step: 1, + step: 1 }, imageColumn: { type: "number", @@ -306,9 +306,9 @@ export const inputs = { default: 1, min: 1, max: 3, - step: 1, - }, - }, + step: 1 + } + } }, randomColor: { type: "groupToggle", @@ -318,23 +318,23 @@ export const inputs = { backgroundColor: { type: "color", model: "hex", - default: "#000000", + default: "#000000" }, textColor: { type: "color", model: "hex", - default: "#ffffff", + default: "#ffffff" }, titleColor: { type: "color", model: "hex", - default: "#E94825", - }, - }, + default: "#E94825" + } + } }, image: { type: "image", - multiple: false, + multiple: false }, filterOpacity: { type: "number", @@ -342,11 +342,11 @@ export const inputs = { min: 0, max: 100, step: 1, - slider: true, + slider: true }, textSize: { type: "number", - default: 20, + default: 20 }, titleSizeAdjust: { type: "number", @@ -354,58 +354,58 @@ export const inputs = { default: 0, min: -5, max: 15, - step: 1, + step: 1 }, title: { type: "text", - default: "Mechanic", + default: "Mechanic" }, textOne: { type: "text", - default: "MUNUS SHIH", + default: "MUNUS SHIH" }, textTwo: { type: "text", - default: "MECHANIC.DESIGN INFO@MECHANIC.DESIGN", + default: "MECHANIC.DESIGN INFO@MECHANIC.DESIGN" }, textThree: { type: "text", - default: "@MECHANIC 781 12TH ST, 8A, NEW YORK, NY 10003", + default: "@MECHANIC 781 12TH ST, 8A, NEW YORK, NY 10003" }, textFour: { type: "text", - default: "MUNUS@MECHANIC.DESIGN", + default: "MUNUS@MECHANIC.DESIGN" }, grid: { type: "boolean", - default: false, - }, + default: false + } }; export const presets = { "Instagram Story": { width: 1080, - height: 1920, + height: 1920 }, "Instagram Post": { width: 1080, - height: 1080, + height: 1080 }, Poster: { width: 812, - height: 1148, + height: 1148 }, Banner: { width: 1640, - height: 624, + height: 624 }, Ticket: { width: 394, - height: 1126, - }, + height: 1126 + } }; export const settings = { engine: require("@mechanic-design/engine-react"), - showMultipleExports: true, + showMultipleExports: true }; diff --git a/packages/create-mechanic/function-examples/adaptive-grid/function/styles.css b/packages/create-mechanic/function-examples/adaptive-grid/function/styles.css index 3c85337e..1d1b1791 100644 --- a/packages/create-mechanic/function-examples/adaptive-grid/function/styles.css +++ b/packages/create-mechanic/function-examples/adaptive-grid/function/styles.css @@ -10,73 +10,54 @@ * or check ./assets/EULA-PangramPangram-FreeForPersonalUse-MAY2021.pdf * Alex Slobzheninov https://www.behance.net/slobzheninov * --------------------------------------------------------------------------- - */ +*/ @font-face { - font-family: "Futura"; - src: url("./assets/FuturaStd-Bold.otf") format("opentype"); + font-family: "Object Sans"; + src: url("./assets/PPObjectSans-Regular.otf") format("opentype"); } @font-face { - font-family: "Object Sans"; - src: url("./assets/PPObjectSans-Regular.otf") format("opentype"); + font-family: "Object Sans Italic"; + src: url("./assets/PPObjectSans-Slanted.otf") format("opentype"); + font-style: italic; } @font-face { - font-family: "Object Sans Italic"; - src: url("./assets/PPObjectSans-Slanted.otf") format("opentype"); - font-style: italic; + font-family: "Object Sans Heavy"; + src: url("./assets/PPObjectSans-Heavy.otf") format("opentype"); + font-weight: bold; } @font-face { - font-family: "Object Sans Heavy"; - src: url("./assets/PPObjectSans-Heavy.otf") format("opentype"); - font-weight: bold; + font-family: "Object Sans Slanted"; + src: url("./assets/PPObjectSans-HeavySlanted.otf") format("opentype"); + font-weight: bold; + font-style: italic; } -@font-face { - font-family: "Object Sans Slanted"; - src: url("./assets/PPObjectSans-HeavySlanted.otf") format("opentype"); - font-weight: bold; - font-style: italic; -} - -*{ - padding: 0; - margin: 0; - box-sizing: border-box; -} - -.gutter{ - background:white; -} - -.darkGrid { - outline: #000 solid 1px; - outline-offset: -1px; +* { + padding: 0; + margin: 0; + box-sizing: border-box; } -/* -.lightGrid { - outline: #fff solid 1px; - outline-offset: -1px; -} */ -.column{ - height: 100%; - position: relative; - padding: 10px; +.column { + height: 100%; + position: relative; + padding: 10px; } .top { - position: absolute; - top: 0; - padding-top: 10px; - padding-right: 10px; + position: absolute; + top: 0; + padding-top: 10px; + padding-right: 10px; } .bottom { - position: absolute; - bottom: 0; - padding-bottom: 10px; - padding-right: 10px; -} \ No newline at end of file + position: absolute; + bottom: 0; + padding-bottom: 10px; + padding-right: 10px; +} diff --git a/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js index 80cdfd46..ee84687c 100644 --- a/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js +++ b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/index.js @@ -3,31 +3,31 @@ import { BooleanInput, NumberInput, OptionInput, - ColorInput, + ColorInput } from "@mechanic-design/ui-components"; import * as css from "./style.module.css"; export const typeName = "groupToggle"; -export const initValue = (input) => ({ +export const initValue = input => ({ show: input.default, ...Object.fromEntries( Object.entries(input.inputs).map(([name, input]) => [name, input.default]) - ), + ) }); export const prepareValue = (value, input) => { const v = value === undefined || value === null || - !Object.keys(input.inputs).every((k) => value.hasOwnProperty(k)) + !Object.keys(input.inputs).every(k => value.hasOwnProperty(k)) ? initValue(input) : value; return v; }; -export const Input = (props) => { +export const Input = props => { const { name, values, inputDef, onChange } = props; const { show, ...value } = values[name] ?? initValue(inputDef); diff --git a/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css index 16570dde..4bb9fdfa 100644 --- a/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css +++ b/packages/create-mechanic/function-examples/adaptive-grid/inputs/group/style.module.css @@ -1,7 +1,7 @@ .root { - margin: 1em 0; + margin: 1em 0; } .toggle { - margin: 1em 0; + margin: 1em 0; } \ No newline at end of file