From ce1ead9a60ffd8d783422d79d471593f63048e44 Mon Sep 17 00:00:00 2001 From: atanasster Date: Wed, 6 Jan 2021 08:00:41 -0800 Subject: [PATCH] feat: addon-images --- examples/gatsby/.config/buildtime.js | 1 + examples/nextjs/.config/buildtime.js | 1 + .../controls-editors-starter.stories.tsx | 2 + .../src/stories/media/image_screenshot.jpg | Bin 0 -> 91903 bytes plugins/addon-images/.config/buildtime.js | 5 + plugins/addon-images/LICENSE.md | 21 +++ plugins/addon-images/README.md | 148 ++++++++++++++++++ plugins/addon-images/package.json | 59 +++++++ plugins/addon-images/rollup.config.js | 5 + .../src/ImagesBlock/ImagesBlock.tsx | 38 +++++ plugins/addon-images/src/ImagesBlock/index.ts | 1 + plugins/addon-images/src/index.ts | 1 + .../src/stories/ImagesBlock.stories.tsx | 60 +++++++ .../src/stories/example_image.jpg | Bin 0 -> 12536 bytes plugins/addon-images/src/typoings.d.ts | 1 + .../tests/__snapshots__/stories.test.js.snap | 128 +++++++++++++++ plugins/addon-images/tsconfig.json | 15 ++ plugins/addon-notes/README.md | 40 ++--- .../addon-notes/src/NotesBlock/NotesBlock.tsx | 2 +- .../src/stories/NotesBlock.stories.tsx | 2 +- plugins/addon-notes/src/typoings.d.ts | 1 + .../src/FigmaEmbedBlock/FigmaEmbedBlock.tsx | 2 - ui/blocks/src/test/image_example.jpg | Bin 0 -> 12962 bytes ui/blocks/src/test/storyStore.tsx | 5 +- ui/blocks/src/typings.d.ts | 1 + ui/pages/package.json | 1 + ui/pages/src/pages/DesignPage.tsx | 5 +- 27 files changed, 518 insertions(+), 27 deletions(-) create mode 100644 examples/stories/src/stories/media/image_screenshot.jpg create mode 100644 plugins/addon-images/.config/buildtime.js create mode 100644 plugins/addon-images/LICENSE.md create mode 100644 plugins/addon-images/README.md create mode 100644 plugins/addon-images/package.json create mode 100644 plugins/addon-images/rollup.config.js create mode 100644 plugins/addon-images/src/ImagesBlock/ImagesBlock.tsx create mode 100644 plugins/addon-images/src/ImagesBlock/index.ts create mode 100644 plugins/addon-images/src/index.ts create mode 100644 plugins/addon-images/src/stories/ImagesBlock.stories.tsx create mode 100644 plugins/addon-images/src/stories/example_image.jpg create mode 100644 plugins/addon-images/src/typoings.d.ts create mode 100644 plugins/addon-images/tests/__snapshots__/stories.test.js.snap create mode 100644 plugins/addon-images/tsconfig.json create mode 100644 plugins/addon-notes/src/typoings.d.ts create mode 100644 ui/blocks/src/test/image_example.jpg diff --git a/examples/gatsby/.config/buildtime.js b/examples/gatsby/.config/buildtime.js index 1a751609d..50ccc1e57 100644 --- a/examples/gatsby/.config/buildtime.js +++ b/examples/gatsby/.config/buildtime.js @@ -30,6 +30,7 @@ module.exports = { '../../../plugins/viewport-plugin/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', '../../../plugins/figma-embed/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', '../../../plugins/addon-notes/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', + '../../../plugins/addon-images/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', //'../../stories/src/blogs/introduction-to-controls.mdx', //'../../stories/src/stories/controls-editors-starter.stories.tsx', //'../../stories/src/blogs/gatsby-nextjs-storybook.mdx', diff --git a/examples/nextjs/.config/buildtime.js b/examples/nextjs/.config/buildtime.js index f35396d2e..6b2d05f80 100644 --- a/examples/nextjs/.config/buildtime.js +++ b/examples/nextjs/.config/buildtime.js @@ -29,6 +29,7 @@ module.exports = { '../../../plugins/viewport-plugin/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', '../../../plugins/figma-embed/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', '../../../plugins/addon-notes/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', + '../../../plugins/addon-images/src/stories/**/*.stories.@(js|jsx|tsx|mdx)', // '../../stories/src/blogs/introduction-to-controls.mdx', ], siteUrl: diff --git a/examples/stories/src/stories/controls-editors-starter.stories.tsx b/examples/stories/src/stories/controls-editors-starter.stories.tsx index caedb061b..649e0a39a 100644 --- a/examples/stories/src/stories/controls-editors-starter.stories.tsx +++ b/examples/stories/src/stories/controls-editors-starter.stories.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { Document, Example, ControlTypes } from '@component-controls/core'; import { VariantButton, VariantButtonProps } from '../components/VariantButton'; import design_notes from '../sections/design-notes.md'; +import image_screenshot from './media/image_screenshot.jpg'; export default { title: 'ESM/Starter', @@ -16,6 +17,7 @@ export default { title: 'Design brief', items: [design_notes], }, + images: [image_screenshot], }, description: `This example demonstrates documentiing a hypotethical Button component that supports variants, icons, text, and padding`, } as Document; diff --git a/examples/stories/src/stories/media/image_screenshot.jpg b/examples/stories/src/stories/media/image_screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec8b1dfc9638aeadbb5baa9d9f54b92ebff5183e GIT binary patch literal 91903 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 literal 0 HcmV?d00001 diff --git a/plugins/addon-images/.config/buildtime.js b/plugins/addon-images/.config/buildtime.js new file mode 100644 index 000000000..9e2516647 --- /dev/null +++ b/plugins/addon-images/.config/buildtime.js @@ -0,0 +1,5 @@ +module.exports = { + stories: [ + '../src/**/*.stories.tsx', + ], +}; \ No newline at end of file diff --git a/plugins/addon-images/LICENSE.md b/plugins/addon-images/LICENSE.md new file mode 100644 index 000000000..a64cf9401 --- /dev/null +++ b/plugins/addon-images/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Atanas Stoyanov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/plugins/addon-images/README.md b/plugins/addon-images/README.md new file mode 100644 index 000000000..99059e910 --- /dev/null +++ b/plugins/addon-images/README.md @@ -0,0 +1,148 @@ +# Table of contents + +- [In action](#in-action) +- [Overview](#overview) +- [Getting Started](#getting-started) + - [Install](#install) + - [Add to a document](#add-to-a-document) + - [Add to a story](#add-to-a-story) + - [Insert into an MDX document](#insert-into-an-mdx-document) + - [Configure props globally](#configure-props-globally) +- [API](#api) + - [ImagesBlock](#insimagesblockins) + - [overview](#insoverviewins) + - [customItems](#inscustomitemsins) + - [customConfigProps](#inscustomconfigpropsins) + +# In action + +[Example site](https://component-controls.com/api/esm-starter--overview/design) + +# Overview + +This addon contains a `ImagesBlock` that you can integrate into any page, as well as a standalone `ImagesPage` + +# Getting Started + +## Install + +```sh +yarn add@component-controls/addon-images --dev +``` + +## Add to a document + +The images will be assigned to all the stories in the current document + +in `mystory.stories.tsx` + +``` +import { Document } from '@component-controls/core'; +import main_screen from './media/main-screen.jpg'; + +export default { + title: 'MyStory', + plugins: { + images: { + title: 'Screen design', + items: [main_screen], + }, + }, +} as Document; + +``` + +## Add to a story + +The images will be assigned only to the specific story. This allows multiple stories in the document to have different images associated with them. + +in `mystory.stories.tsx` + + import React from 'react'; + import { Document, Example } from '@component-controls/core'; + import main_screen from './media/main-screen.jpg'; + + export default { + title: 'MyStory', + } as Document; + + export const story: Example = () => ; + + story.design = { + plugins: { + images: [main_screen], + }, + }; + +## Insert into an MDX document + +in `mystory.mdx` + + --- + title: MyStory + --- + import { ImagesBlock } from '@component-controls/addon-images'; + import login_screen from './media/login-screen.jpg'; + import logout_screen from './media/logout-screen.jpg'; + + + +## Configure props globally + +You can globally change the default options of the NotesBlock component + +in `.config/runtime.tsx` + + import { RunOnlyConfiguration } from "@component-controls/core"; + + const config: RunOnlyConfiguration = { + ... + components: { + images: { + title: 'Screenshots' + } + }, + }; + + export default config; + +# API + + + + + +## ImagesBlock + +_ImagesBlock [source code](https://github.com/ccontrols/component-controls/tree/master/plugins/addon-images/src/ImagesBlock/ImagesBlock.tsx)_ + +### properties + +| Name | Type | Description | +| ------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | +| `items` | _(string \| { \[key: string]: any; src: string; })\[]_ | | +| `title` | _string_ | optional section title for the block. | +| `description` | _string_ | optional markdown description. | +| `id` | _string_ | optional id to be used for the block if no id is provided, one will be calculated automatically from the title. | +| `collapsible` | _boolean_ | if false, will nothave a collapsible frame. | +| `data-testid` | _string_ | testing id | +| `plain` | _boolean_ | inner container variant or plain | +| `sx` | _ThemeUIStyleObject_ | | +| `ref` | _((instance: HTMLDivElement) => void) \| RefObject<HTMLDivElement>_ | | +| `name` | _string_ | | + +## overview + +_overview [source code](https://github.com/ccontrols/component-controls/tree/master/plugins/addon-images/src/stories/ImagesBlock.stories.tsx)_ + +## customItems + +_customItems [source code](https://github.com/ccontrols/component-controls/tree/master/plugins/addon-images/src/stories/ImagesBlock.stories.tsx)_ + +## customConfigProps + +_customConfigProps [source code](https://github.com/ccontrols/component-controls/tree/master/plugins/addon-images/src/stories/ImagesBlock.stories.tsx)_ + + diff --git a/plugins/addon-images/package.json b/plugins/addon-images/package.json new file mode 100644 index 000000000..396724ce7 --- /dev/null +++ b/plugins/addon-images/package.json @@ -0,0 +1,59 @@ +{ + "name": "@component-controls/addon-images", + "version": "2.5.3", + "description": "Embed images in your documentation sites", + "keywords": [ + "figma", + "figma embed" + ], + "main": "dist/index.js", + "module": "dist/index.esm.js", + "typings": "dist/index.d.ts", + "files": [ + "dist/", + "package.json", + "README.md" + ], + "scripts": { + "build": "yarn cross-env NODE_ENV=production rollup -c", + "dev": "yarn cross-env NODE_ENV=development rollup -cw", + "docs": "ts-md", + "fix": "yarn lint --fix", + "lint": "yarn eslint . --ext mdx,ts,tsx", + "prepare": "yarn build", + "test": "cc-jest -c ./.config" + }, + "homepage": "https://github.com/ccontrols/component-controls", + "bugs": { + "url": "https://github.com/ccontrols/component-controls/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/ccontrols/component-controls.git", + "directory": "plugins/addon-images" + }, + "license": "MIT", + "dependencies": { + "@component-controls/blocks": "^2.5.3", + "@component-controls/components": "^2.5.3", + "@component-controls/store": "^2.5.3" + }, + "devDependencies": { + "@component-controls/jest-snapshots": "^2.5.3", + "@types/react": "^16.9.34", + "react": "^17.0.1", + "theme-ui": "^0.6.0-alpha.3", + "typescript": "^4.0.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17", + "theme-ui": ">= 0.4.0-rc.1" + }, + "publishConfig": { + "access": "public" + }, + "authors": [ + "Atanas Stoyanov" + ], + "gitHead": "e30d62f101e104711a16261fce04785d58cac1eb" +} diff --git a/plugins/addon-images/rollup.config.js b/plugins/addon-images/rollup.config.js new file mode 100644 index 000000000..ba1c61c86 --- /dev/null +++ b/plugins/addon-images/rollup.config.js @@ -0,0 +1,5 @@ +import { config } from '../../rollup-config'; + +export default config({ + input: ['./src/index.ts'], +}); diff --git a/plugins/addon-images/src/ImagesBlock/ImagesBlock.tsx b/plugins/addon-images/src/ImagesBlock/ImagesBlock.tsx new file mode 100644 index 000000000..7d0f23d5b --- /dev/null +++ b/plugins/addon-images/src/ImagesBlock/ImagesBlock.tsx @@ -0,0 +1,38 @@ +/** @jsx jsx */ +import { FC } from 'react'; +import { jsx } from 'theme-ui'; +import { + StoryBlockContainer, + StoryBlockContainerProps, + useCustomProps, +} from '@component-controls/blocks'; +import { useStory, StoryInputProps } from '@component-controls/store'; +import { TitledImage } from '@component-controls/components'; + +export interface ImagesBlockkOwnProps { + items?: (string | { src: string; [key: string]: any })[]; +} +export type ImagesBlockProps = ImagesBlockkOwnProps & + StoryBlockContainerProps & + StoryInputProps; + +export const ImagesBlock: FC = fullProps => { + const custom = useCustomProps('images', fullProps); + const { id, name, items, ...rest } = custom; + const story = useStory({ id, name }); + const { images } = story?.plugins || {}; + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { items: _, ...configRest } = images || {}; + const configItems = images?.items || images; + const props = { ...rest, ...configRest }; + const noteItems: ImagesBlockkOwnProps['items'] = items || configItems; + return noteItems?.length ? ( + + {noteItems.map((item, index) => { + const { src, ...rest } = + typeof item === 'string' ? { src: item } : item; + return ; + })} + + ) : null; +}; diff --git a/plugins/addon-images/src/ImagesBlock/index.ts b/plugins/addon-images/src/ImagesBlock/index.ts new file mode 100644 index 000000000..c02fd67cf --- /dev/null +++ b/plugins/addon-images/src/ImagesBlock/index.ts @@ -0,0 +1 @@ +export * from './ImagesBlock'; diff --git a/plugins/addon-images/src/index.ts b/plugins/addon-images/src/index.ts new file mode 100644 index 000000000..c02fd67cf --- /dev/null +++ b/plugins/addon-images/src/index.ts @@ -0,0 +1 @@ +export * from './ImagesBlock'; diff --git a/plugins/addon-images/src/stories/ImagesBlock.stories.tsx b/plugins/addon-images/src/stories/ImagesBlock.stories.tsx new file mode 100644 index 000000000..21352ab9d --- /dev/null +++ b/plugins/addon-images/src/stories/ImagesBlock.stories.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import { Document, Example } from '@component-controls/core'; +import { BlockContextProvider, store } from '@component-controls/blocks'; +import { ImagesBlock } from '../index'; +import img from './example_image.jpg'; + +export default { + title: 'Plugins/ImagesBlock', + component: ImagesBlock, +} as Document; + +export const overview: Example = () => { + return ( + + + + ); +}; + +export const customItems: Example = () => { + return ( + + + + ); +}; + +export const customConfigProps: Example = () => { + return ( + + + + ); +}; diff --git a/plugins/addon-images/src/stories/example_image.jpg b/plugins/addon-images/src/stories/example_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d9b3f3c6d2bbdb008e66cbe6a93658bc63847bcf GIT binary patch literal 12536 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 Ne_H*Ytq4-z{{gGzCvpG) literal 0 HcmV?d00001 diff --git a/plugins/addon-images/src/typoings.d.ts b/plugins/addon-images/src/typoings.d.ts new file mode 100644 index 000000000..20c9243ae --- /dev/null +++ b/plugins/addon-images/src/typoings.d.ts @@ -0,0 +1 @@ +declare module '*.jpg'; diff --git a/plugins/addon-images/tests/__snapshots__/stories.test.js.snap b/plugins/addon-images/tests/__snapshots__/stories.test.js.snap new file mode 100644 index 000000000..d132d5a8c --- /dev/null +++ b/plugins/addon-images/tests/__snapshots__/stories.test.js.snap @@ -0,0 +1,128 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Plugins/ImagesBlock Custom Config Props 1`] = ` + +

+
+
+ + + +

+ Custom title here +

+
+
+ +
+ +`; + +exports[`Plugins/ImagesBlock Custom Items 1`] = ` + +
+
+
+

+

+
+
+
+
+ + + Image + +
+
+
+
+
+`; + +exports[`Plugins/ImagesBlock Overview 1`] = ` + +
+
+
+

+

+
+
+
+ +
+
+
+
+`; diff --git a/plugins/addon-images/tsconfig.json b/plugins/addon-images/tsconfig.json new file mode 100644 index 000000000..13309c708 --- /dev/null +++ b/plugins/addon-images/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "module": "esnext", + "declaration": true, + "resolveJsonModule": true, + "sourceMap": false, + "outDir": "./dist", + "rootDir": "./src", + "baseUrl": "./", + "typeRoots": ["../../node_modules/@types", "node_modules/@types"] + }, + "include": ["src/**/*"], + "exclude": ["node_modules/**"] +} \ No newline at end of file diff --git a/plugins/addon-notes/README.md b/plugins/addon-notes/README.md index 1f6483200..94515e807 100644 --- a/plugins/addon-notes/README.md +++ b/plugins/addon-notes/README.md @@ -28,7 +28,7 @@ This addon contains a `NotesBlock` that you can integrate into any page, as well ## Install ```sh -yarn add@component-controls/addon-notesn --dev +yarn add@component-controls/addon-notes --dev ``` ## Add to a document @@ -39,6 +39,7 @@ in `mystory.stories.tsx` ``` import { Document } from '@component-controls/core'; +import design_notes from '../sections/design-notes.md'; export default { title: 'MyStory', @@ -59,24 +60,23 @@ The notes will be assigned only to the specific story. This allows multiple stor in `mystory.stories.tsx` ``` - import React from 'react'; - import { Document, Example, ControlTypes } from '@component-controls/core'; - import { Button, ButtonProps } from './Button'; - - export default { - title: 'MyStory', - } as Document; - - export const story: Example = () => ; - - story.design = { - plugins: { - notes: [ - # Introduction - some **markdown** - ], - }, -` }; +import React from 'react'; +import { Document, Example } from '@component-controls/core'; + +export default { + title: 'MyStory', +} as Document; + +export const story: Example = () => ; + +story.design = { + plugins: { + notes: [ + # Introduction + some **markdown** + ], + }, +}; ``` ## Insert into an MDX document @@ -101,7 +101,7 @@ some **markdown** ## Configure props globally -You can globally change the iframe options for the NotesBlock component +You can globally change the default options of the NotesBlock component in `.config/runtime.tsx` diff --git a/plugins/addon-notes/src/NotesBlock/NotesBlock.tsx b/plugins/addon-notes/src/NotesBlock/NotesBlock.tsx index 125aacfbc..dc318e833 100644 --- a/plugins/addon-notes/src/NotesBlock/NotesBlock.tsx +++ b/plugins/addon-notes/src/NotesBlock/NotesBlock.tsx @@ -10,7 +10,7 @@ import { useStory, StoryInputProps } from '@component-controls/store'; import { Markdown } from '@component-controls/components'; export interface NotesBlockOwnProps { - items?: (string | { url: string; [key: string]: any })[]; + items?: (string | { text: string; [key: string]: any })[]; } export type NotesBlockProps = NotesBlockOwnProps & StoryBlockContainerProps & diff --git a/plugins/addon-notes/src/stories/NotesBlock.stories.tsx b/plugins/addon-notes/src/stories/NotesBlock.stories.tsx index 77f94cfe3..cacb2b915 100644 --- a/plugins/addon-notes/src/stories/NotesBlock.stories.tsx +++ b/plugins/addon-notes/src/stories/NotesBlock.stories.tsx @@ -48,7 +48,7 @@ export const customConfigProps: Example = () => { config: { ...store.config, components: { - notes: { collapsable: false, title: 'Custom title here' }, + notes: { collapsible: false, title: 'Custom title here' }, }, }, }} diff --git a/plugins/addon-notes/src/typoings.d.ts b/plugins/addon-notes/src/typoings.d.ts new file mode 100644 index 000000000..5c1c18f6c --- /dev/null +++ b/plugins/addon-notes/src/typoings.d.ts @@ -0,0 +1 @@ +declare module '*.md'; diff --git a/plugins/figma-embed/src/FigmaEmbedBlock/FigmaEmbedBlock.tsx b/plugins/figma-embed/src/FigmaEmbedBlock/FigmaEmbedBlock.tsx index d695c4189..62b10482b 100644 --- a/plugins/figma-embed/src/FigmaEmbedBlock/FigmaEmbedBlock.tsx +++ b/plugins/figma-embed/src/FigmaEmbedBlock/FigmaEmbedBlock.tsx @@ -27,7 +27,6 @@ export const FigmaEmbedBlock: FC = fullProps => { width = '100%', style, allow, - allowTransparency, loading, referrerPolicy, sandbox, @@ -60,7 +59,6 @@ export const FigmaEmbedBlock: FC = fullProps => { }} style={style} allow={allow} - allowTransparency={allowTransparency} loading={loading} referrerPolicy={referrerPolicy} sandbox={sandbox} diff --git a/ui/blocks/src/test/image_example.jpg b/ui/blocks/src/test/image_example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c9ca8051fd4fb9b915f386bb5b5987acb60906fa GIT binary patch literal 12962 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 { + ); }; @@ -21,5 +23,6 @@ export default { title: 'Design', component: DesignPage, isVisible: ({ story }) => - story.plugins && (story.plugins.figma || story.plugins.notes), + story.plugins && + (story.plugins.figma || story.plugins.notes || story.plugins.images), } as TabConfiguration;