diff --git a/packages/design-system/src/components/N8nNodeIcon/NodeIcon.stories.ts b/packages/design-system/src/components/N8nNodeIcon/NodeIcon.stories.ts new file mode 100644 index 0000000000..5a6ab12ba2 --- /dev/null +++ b/packages/design-system/src/components/N8nNodeIcon/NodeIcon.stories.ts @@ -0,0 +1,40 @@ +/* tslint:disable:variable-name */ +import N8nNodeIcon from "./NodeIcon.vue"; +import { StoryFn } from '@storybook/vue'; + +export default { + title: 'Atoms/NodeIcon', + component: N8nNodeIcon, +}; + +const DefaultTemplate: StoryFn = (args, { argTypes }) => ({ + props: Object.keys(argTypes), + components: { + N8nNodeIcon, + }, + template: '', +}); + +export const FileIcon = DefaultTemplate.bind({}); +FileIcon.args = { + type: 'file', + src: 'https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/cartman.svg', + size: 200, +}; + +export const FontIcon = DefaultTemplate.bind({}); +FontIcon.args = { + type: 'icon', + name: 'cogs', + size: 200, +}; + +export const Hoverable = DefaultTemplate.bind({}); +Hoverable.args = { + type: 'icon', + name: 'heart', + color: 'red', + size: 200, + nodeTypeName: 'We ❤️ n8n', + showTooltip: true, +}; diff --git a/packages/design-system/src/components/N8nNodeIcon/NodeIcon.vue b/packages/design-system/src/components/N8nNodeIcon/NodeIcon.vue new file mode 100644 index 0000000000..dcee0d6338 --- /dev/null +++ b/packages/design-system/src/components/N8nNodeIcon/NodeIcon.vue @@ -0,0 +1,135 @@ + + + + + {{ nodeTypeName }} + + + + + + {{ nodeTypeName? nodeTypeName.charAt(0) : '?' }} + ? + + + + + + + + + diff --git a/packages/design-system/src/components/N8nNodeIcon/index.ts b/packages/design-system/src/components/N8nNodeIcon/index.ts new file mode 100644 index 0000000000..c251d7fed1 --- /dev/null +++ b/packages/design-system/src/components/N8nNodeIcon/index.ts @@ -0,0 +1,3 @@ +import N8nNodeIcon from './NodeIcon.vue'; + +export default N8nNodeIcon; diff --git a/packages/design-system/src/components/index.ts b/packages/design-system/src/components/index.ts index c6deea05fc..a0d2487308 100644 --- a/packages/design-system/src/components/index.ts +++ b/packages/design-system/src/components/index.ts @@ -57,6 +57,7 @@ import N8nLoading from './N8nLoading'; import N8nMarkdown from './N8nMarkdown'; import N8nMenu from './N8nMenu'; import N8nMenuItem from './N8nMenuItem'; +import N8nNodeIcon from './N8nNodeIcon'; import N8nNotice from './N8nNotice'; import N8nLink from './N8nLink'; import N8nOption from './N8nOption'; @@ -103,6 +104,7 @@ export { N8nMenu, N8nMenuItem, N8nNotice, + N8nNodeIcon, N8nOption, N8nPulse, N8nRadioButtons, diff --git a/packages/editor-ui/src/components/NodeIcon.vue b/packages/editor-ui/src/components/NodeIcon.vue index 6ff2e910a0..6d397432d3 100644 --- a/packages/editor-ui/src/components/NodeIcon.vue +++ b/packages/editor-ui/src/components/NodeIcon.vue @@ -1,34 +1,37 @@ - - - - - - - {{nodeType !== null ? nodeType.displayName.charAt(0) : '?' }} - - + $emit('click')" + > diff --git a/packages/editor-ui/src/components/NodeList.vue b/packages/editor-ui/src/components/NodeList.vue index bf9f04cea1..70deedc560 100644 --- a/packages/editor-ui/src/components/NodeList.vue +++ b/packages/editor-ui/src/components/NodeList.vue @@ -1,7 +1,11 @@ - + +{{ hiddenNodes }} @@ -10,14 +14,11 @@