From 9893ccf27b4b99d59d3a2fe7f288faa73ec872ee Mon Sep 17 00:00:00 2001 From: Fernando Daciuk Date: Sat, 22 May 2021 18:04:29 -0300 Subject: [PATCH 1/5] WIP - Tab --- src/components/Tab/Tab.bs.js | 48 ++++++++++++++++++++++++++++ src/components/Tab/Tab.res | 26 +++++++++++++++ src/components/Tab/Tab_Stories.bs.js | 22 +++++++++++++ src/components/Tab/Tab_Stories.res | 16 ++++++++++ src/components/Tab/Tab_Styles.bs.js | 17 ++++++++++ src/components/Tab/Tab_Styles.res | 10 ++++++ 6 files changed, 139 insertions(+) create mode 100644 src/components/Tab/Tab.bs.js create mode 100644 src/components/Tab/Tab.res create mode 100644 src/components/Tab/Tab_Stories.bs.js create mode 100644 src/components/Tab/Tab_Stories.res create mode 100644 src/components/Tab/Tab_Styles.bs.js create mode 100644 src/components/Tab/Tab_Styles.res diff --git a/src/components/Tab/Tab.bs.js b/src/components/Tab/Tab.bs.js new file mode 100644 index 0000000..e7309d7 --- /dev/null +++ b/src/components/Tab/Tab.bs.js @@ -0,0 +1,48 @@ +// Generated by ReScript, PLEASE EDIT WITH CARE + +import * as React from "react"; +import * as Render from "../../lib/Render.bs.js"; +import * as Tab_Styles from "./Tab_Styles.bs.js"; +import * as Typography from "../Typography/Typography.bs.js"; + +function Tab(Props) { + var children = Props.children; + return React.createElement("div", { + className: Tab_Styles.tab + }, children); +} + +function Tab$Pane(Props) { + var children = Props.children; + return React.createElement("div", { + className: Tab_Styles.pane + }, React.createElement(Typography.make, { + children: Render.s("Title") + }), children); +} + +var Pane = { + make: Tab$Pane +}; + +function Tab$Content(Props) { + var children = Props.children; + return React.createElement("div", undefined, children); +} + +var Content = { + make: Tab$Content +}; + +var Styles; + +var make = Tab; + +export { + Styles , + make , + Pane , + Content , + +} +/* react Not a pure module */ diff --git a/src/components/Tab/Tab.res b/src/components/Tab/Tab.res new file mode 100644 index 0000000..e508f1d --- /dev/null +++ b/src/components/Tab/Tab.res @@ -0,0 +1,26 @@ +open Render + +module Styles = Tab_Styles + +@react.component +let make = (~children) => +
+ children +
+ +module Pane = { + @react.component + let make = (~children) => +
+ {"Title"->s} + children +
+} + +module Content = { + @react.component + let make = (~children, ~pane) => +
+ children +
+} diff --git a/src/components/Tab/Tab_Stories.bs.js b/src/components/Tab/Tab_Stories.bs.js new file mode 100644 index 0000000..5199186 --- /dev/null +++ b/src/components/Tab/Tab_Stories.bs.js @@ -0,0 +1,22 @@ +// Generated by ReScript, PLEASE EDIT WITH CARE + +import * as Tab from "./Tab.bs.js"; +import * as React from "react"; +import * as Render from "../../lib/Render.bs.js"; +import * as Helpers from "../../lib/Helpers.bs.js"; +import * as React$1 from "@storybook/react"; + +React$1.storiesOf("Tab", Helpers.storybookModule).add("Basic usage", (function (param) { + return React.createElement(Tab.make, { + children: null + }, React.createElement(Tab.Pane.make, { + children: Render.s("Tab content for your feed") + }), React.createElement(Tab.Pane.make, { + children: Render.s("Tab content for global feed") + })); + })); + +export { + +} +/* Not a pure module */ diff --git a/src/components/Tab/Tab_Stories.res b/src/components/Tab/Tab_Stories.res new file mode 100644 index 0000000..ec9f796 --- /dev/null +++ b/src/components/Tab/Tab_Stories.res @@ -0,0 +1,16 @@ +open Storybook +open Render + +storiesOf("Tab", Helpers.storybookModule) +->add("Basic usage", () => { + + + {"Tab content for your feed"->s} + + + + {"Tab content for global feed"->s} + + +}) +->ignore diff --git a/src/components/Tab/Tab_Styles.bs.js b/src/components/Tab/Tab_Styles.bs.js new file mode 100644 index 0000000..16ead9f --- /dev/null +++ b/src/components/Tab/Tab_Styles.bs.js @@ -0,0 +1,17 @@ +// Generated by ReScript, PLEASE EDIT WITH CARE + +import * as CssJs from "bs-css-emotion/src/CssJs.bs.js"; + +var tab = CssJs.style([ + CssJs.border(CssJs.px(1), CssJs.solid, CssJs.red), + CssJs.display("flex") + ]); + +var pane = CssJs.style([CssJs.border(CssJs.px(1), CssJs.solid, CssJs.green)]); + +export { + tab , + pane , + +} +/* tab Not a pure module */ diff --git a/src/components/Tab/Tab_Styles.res b/src/components/Tab/Tab_Styles.res new file mode 100644 index 0000000..7cef317 --- /dev/null +++ b/src/components/Tab/Tab_Styles.res @@ -0,0 +1,10 @@ +open CssJs + +let tab = style(.[ + border(1->px, solid, red), + display(#flex), +]) + +let pane = style(.[ + border(1->px, solid, green), +]) From c5d6693dba8e249e9418de297febd37274b64dff Mon Sep 17 00:00:00 2001 From: deadkff01 Date: Mon, 24 May 2021 22:48:23 -0300 Subject: [PATCH 2/5] chore: improving DX --- .env | 1 + package.json | 4 +++- src/index.res | 2 +- yarn.lock | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 51 insertions(+), 4 deletions(-) diff --git a/.env b/.env index 6f809cc..290198a 100644 --- a/.env +++ b/.env @@ -1 +1,2 @@ SKIP_PREFLIGHT_CHECK=true +FAST_REFRESH=false \ No newline at end of file diff --git a/package.json b/package.json index b1e40a2..06bc504 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "res:build": "bsb -make-world -clean", "res:clean": "bsb -clean", "start": "react-scripts start", + "start:dev": "run-p start res:watch", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", @@ -67,6 +68,7 @@ "@storybook/addon-links": "^6.2.9", "@storybook/node-logger": "^6.2.9", "@storybook/preset-create-react-app": "^3.1.7", - "@storybook/react": "^6.2.9" + "@storybook/react": "^6.2.9", + "npm-run-all": "^4.1.5" } } diff --git a/src/index.res b/src/index.res index f1caefa..f1bd5fe 100644 --- a/src/index.res +++ b/src/index.res @@ -1,4 +1,4 @@ -let _ = switch ReactDOM.querySelector("#root") { +switch ReactDOM.querySelector("#root") { | None => Js.log("Componente root não encontrado") | Some(element) => ReactDOM.render(, element) } diff --git a/yarn.lock b/yarn.lock index 05d6845..adb57c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5358,7 +5358,7 @@ cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -cross-spawn@^6.0.0: +cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -9290,6 +9290,16 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -9609,6 +9619,11 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -10044,6 +10059,21 @@ normalize-url@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -10603,6 +10633,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -11987,6 +12022,15 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -12786,7 +12830,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.2: +shell-quote@1.7.2, shell-quote@^1.6.1: version "1.7.2" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== From 2f9baf63452ea4db3211f8b2ed5768cc54aee692 Mon Sep 17 00:00:00 2001 From: deadkff01 Date: Tue, 15 Jun 2021 20:26:40 -0300 Subject: [PATCH 3/5] merge: update --- .env | 2 +- .storybook/preview-head.html | 10 ++- package.json | 8 +-- src/components/Card/Card.res | 5 +- src/components/Card/Card_Stories.bs.js | 2 +- src/components/Card/Card_Stories.res | 9 +-- src/components/Input/Input.bs.js | 2 +- src/components/Link/Link.bs.js | 2 +- src/components/Tab/Tab.bs.js | 48 ------------- src/components/Tab/Tab.res | 26 ------- src/components/Tab/Tab_Stories.bs.js | 22 ------ src/components/Tab/Tab_Stories.res | 16 ----- src/components/Tab/Tab_Styles.bs.js | 17 ----- src/components/Tab/Tab_Styles.res | 10 --- src/components/Tabs/Tab_Stories.bs.js | 14 ++++ src/components/Tabs/Tab_Stories.res | 7 ++ src/components/Tabs/Tabs.bs.js | 72 +++++++++++++++++++ src/components/Tabs/Tabs.res | 35 +++++++++ src/components/Tabs/Tabs_Stories.bs.js | 62 ++++++++++++++++ src/components/Tabs/Tabs_Stories.res | 37 ++++++++++ src/components/Tabs/Tabs_Styles.bs.js | 37 ++++++++++ src/components/Tabs/Tabs_Styles.res | 30 ++++++++ src/components/Typography/Typography.bs.js | 4 +- src/components/Typography/Typography.res | 14 ++-- .../Typography/Typography_Stories.bs.js | 4 +- .../Typography/Typography_Stories.res | 4 +- src/index.res | 6 +- src/lib/Render.bs.js | 9 +++ src/lib/Render.res | 5 ++ src/lib/Theme.bs.js | 25 +++++-- src/lib/Theme.res | 9 ++- yarn.lock | 10 +-- 32 files changed, 377 insertions(+), 186 deletions(-) delete mode 100644 src/components/Tab/Tab.bs.js delete mode 100644 src/components/Tab/Tab.res delete mode 100644 src/components/Tab/Tab_Stories.bs.js delete mode 100644 src/components/Tab/Tab_Stories.res delete mode 100644 src/components/Tab/Tab_Styles.bs.js delete mode 100644 src/components/Tab/Tab_Styles.res create mode 100644 src/components/Tabs/Tab_Stories.bs.js create mode 100644 src/components/Tabs/Tab_Stories.res create mode 100644 src/components/Tabs/Tabs.bs.js create mode 100644 src/components/Tabs/Tabs.res create mode 100644 src/components/Tabs/Tabs_Stories.bs.js create mode 100644 src/components/Tabs/Tabs_Stories.res create mode 100644 src/components/Tabs/Tabs_Styles.bs.js create mode 100644 src/components/Tabs/Tabs_Styles.res diff --git a/.env b/.env index 290198a..46af40f 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ SKIP_PREFLIGHT_CHECK=true -FAST_REFRESH=false \ No newline at end of file +FAST_REFRESH=false diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html index d57495f..b0a6503 100644 --- a/.storybook/preview-head.html +++ b/.storybook/preview-head.html @@ -1,6 +1,12 @@ - - + +