From ad52721a384cd1a4e352c5ac1a0acbf13b037152 Mon Sep 17 00:00:00 2001 From: Luccas Mateus de Medeiros Gomes Date: Thu, 4 May 2023 11:14:39 -0300 Subject: [PATCH] [components][m] - move catalog to @portaljs/components --- .../components/DataRichDocument.tsx | 2 +- .../components/DebouncedInput.tsx | 32 --- examples/learn-example/package-lock.json | 10 - examples/learn-example/package.json | 1 - packages/components/package-lock.json | 48 +++- packages/components/package.json | 7 +- .../components/src}/components/Catalog.tsx | 8 +- packages/components/src/index.ts | 3 +- .../components/stories/Catalog.stories.ts | 226 ++++++++++++++++++ 9 files changed, 284 insertions(+), 53 deletions(-) delete mode 100644 examples/learn-example/components/DebouncedInput.tsx rename {examples/learn-example => packages/components/src}/components/Catalog.tsx (94%) create mode 100644 packages/components/stories/Catalog.stories.ts diff --git a/examples/learn-example/components/DataRichDocument.tsx b/examples/learn-example/components/DataRichDocument.tsx index 9d5ff8bf..344dd9fe 100644 --- a/examples/learn-example/components/DataRichDocument.tsx +++ b/examples/learn-example/components/DataRichDocument.tsx @@ -8,7 +8,7 @@ import { Mermaid } from '@flowershow/core'; // here. const components = { Table: dynamic(() => import('@portaljs/components').then(mod => mod.Table)), - Catalog: dynamic(() => import('./Catalog')), + Catalog: dynamic(() => import('@portaljs/components').then(mod => mod.Catalog)), mermaid: Mermaid, Vega: dynamic(() => import('@portaljs/components').then(mod => mod.Vega)), VegaLite: dynamic(() => import('@portaljs/components').then(mod => mod.VegaLite)), diff --git a/examples/learn-example/components/DebouncedInput.tsx b/examples/learn-example/components/DebouncedInput.tsx deleted file mode 100644 index 214ebb6e..00000000 --- a/examples/learn-example/components/DebouncedInput.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { useEffect, useState } from "react"; - -const DebouncedInput = ({ - value: initialValue, - onChange, - debounce = 500, - ...props -}) => { - const [value, setValue] = useState(initialValue); - - useEffect(() => { - setValue(initialValue); - }, [initialValue]); - - useEffect(() => { - const timeout = setTimeout(() => { - onChange(value); - }, debounce); - - return () => clearTimeout(timeout); - }, [value]); - - return ( - setValue(e.target.value)} - /> - ); -}; - -export default DebouncedInput; diff --git a/examples/learn-example/package-lock.json b/examples/learn-example/package-lock.json index 74af9cc0..829ff6c4 100644 --- a/examples/learn-example/package-lock.json +++ b/examples/learn-example/package-lock.json @@ -15,7 +15,6 @@ "@flowershow/remark-wiki-link": "^1.1.2", "@heroicons/react": "^2.0.17", "@opentelemetry/api": "^1.4.0", - "@portaljs/components": "^0.0.3", "@tanstack/react-table": "^8.8.5", "@types/node": "18.16.0", "@types/react": "18.2.0", @@ -1978,15 +1977,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/@portaljs/components": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@portaljs/components/-/components-0.0.3.tgz", - "integrity": "sha512-SRinOO800oA58akBlni5ahs3PxE+AyqFqgtYN/3ZqYt3CT1JhXOfeXxb+Kbz2QHr/GsAZcUr3DMneB4EzvBx7g==", - "peerDependencies": { - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", diff --git a/examples/learn-example/package.json b/examples/learn-example/package.json index f8555f56..e5458aef 100644 --- a/examples/learn-example/package.json +++ b/examples/learn-example/package.json @@ -19,7 +19,6 @@ "@flowershow/remark-wiki-link": "^1.1.2", "@heroicons/react": "^2.0.17", "@opentelemetry/api": "^1.4.0", - "@portaljs/components": "^0.0.3", "@tanstack/react-table": "^8.8.5", "@types/node": "18.16.0", "@types/react": "18.2.0", diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 79c5284c..b6c21b19 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,19 +1,22 @@ { "name": "@portaljs/components", - "version": "0.0.1", + "version": "0.0.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@portaljs/components", - "version": "0.0.1", + "version": "0.0.3", "dependencies": { "@heroicons/react": "^2.0.17", "@tanstack/react-table": "^8.8.5", + "@types/flexsearch": "^0.7.3", + "flexsearch": "0.7.21", "next-mdx-remote": "^4.4.1", "papaparse": "^5.4.1", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-hook-form": "^7.43.9", "react-vega": "^7.6.0", "vega": "5.20.2", "vega-lite": "5.1.0" @@ -4466,6 +4469,11 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/flexsearch": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@types/flexsearch/-/flexsearch-0.7.3.tgz", + "integrity": "sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==" + }, "node_modules/@types/glob": { "version": "8.1.0", "dev": true, @@ -8008,6 +8016,11 @@ "dev": true, "license": "ISC" }, + "node_modules/flexsearch": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.21.tgz", + "integrity": "sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==" + }, "node_modules/flow-parser": { "version": "0.205.0", "dev": true, @@ -11993,6 +12006,21 @@ "dev": true, "license": "MIT" }, + "node_modules/react-hook-form": { + "version": "7.43.9", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.9.tgz", + "integrity": "sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==", + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" + } + }, "node_modules/react-inspector": { "version": "6.0.1", "dev": true, @@ -18010,6 +18038,11 @@ "version": "3.2.1", "dev": true }, + "@types/flexsearch": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@types/flexsearch/-/flexsearch-0.7.3.tgz", + "integrity": "sha512-HXwADeHEP4exXkCIwy2n1+i0f1ilP1ETQOH5KDOugjkTFZPntWo0Gr8stZOaebkxsdx+k0X/K6obU/+it07ocg==" + }, "@types/glob": { "version": "8.1.0", "dev": true, @@ -20245,6 +20278,11 @@ "version": "3.2.7", "dev": true }, + "flexsearch": { + "version": "0.7.21", + "resolved": "https://registry.npmjs.org/flexsearch/-/flexsearch-0.7.21.tgz", + "integrity": "sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==" + }, "flow-parser": { "version": "0.205.0", "dev": true @@ -22587,6 +22625,12 @@ } } }, + "react-hook-form": { + "version": "7.43.9", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.9.tgz", + "integrity": "sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==", + "requires": {} + }, "react-inspector": { "version": "6.0.1", "dev": true, diff --git a/packages/components/package.json b/packages/components/package.json index 6c44339f..43211f2c 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -25,14 +25,17 @@ }, "dependencies": { "@heroicons/react": "^2.0.17", + "@tanstack/react-table": "^8.8.5", + "@types/flexsearch": "^0.7.3", + "flexsearch": "0.7.21", "next-mdx-remote": "^4.4.1", "papaparse": "^5.4.1", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-hook-form": "^7.43.9", "react-vega": "^7.6.0", "vega": "5.20.2", - "vega-lite": "5.1.0", - "@tanstack/react-table": "^8.8.5" + "vega-lite": "5.1.0" }, "devDependencies": { "@storybook/addon-essentials": "^7.0.7", diff --git a/examples/learn-example/components/Catalog.tsx b/packages/components/src/components/Catalog.tsx similarity index 94% rename from examples/learn-example/components/Catalog.tsx rename to packages/components/src/components/Catalog.tsx index 99c7b419..83899ec2 100644 --- a/examples/learn-example/components/Catalog.tsx +++ b/packages/components/src/components/Catalog.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import DebouncedInput from './DebouncedInput'; import { useForm } from 'react-hook-form'; -export default function Catalog({ +export function Catalog({ datasets, facets, }: { @@ -102,10 +102,10 @@ export default function Catalog({ )} ))} -