diff --git a/src/plugins/components/paragraph.ts b/src/plugins/components/paragraph/index.ts
similarity index 97%
rename from src/plugins/components/paragraph.ts
rename to src/plugins/components/paragraph/index.ts
index d8f08e3..34acafe 100644
--- a/src/plugins/components/paragraph.ts
+++ b/src/plugins/components/paragraph/index.ts
@@ -1,8 +1,8 @@
import plugin from 'tailwindcss/plugin'
import { defu } from 'defu'
-import { type PluginOption, defaultPluginOptions } from '../options'
+import { type PluginOption, defaultPluginOptions } from '../../options'
-const defaultParagraphConfig = {
+export const defaultParagraphConfig = {
textXS: 'xs',
textSM: 'sm',
textMD: 'base',
diff --git a/src/plugins/components/paragraph/paragraph.component.ts b/src/plugins/components/paragraph/paragraph.component.ts
new file mode 100644
index 0000000..3b16d5e
--- /dev/null
+++ b/src/plugins/components/paragraph/paragraph.component.ts
@@ -0,0 +1,29 @@
+import { html, unsafeStatic } from 'lit/static-html.js'
+import { spread } from '@open-wc/lit-helpers'
+
+import type { ParagraphAttrs } from './paragraph.types'
+import * as variants from './paragraph.variants'
+
+/**
+ * Primary UI component for user interaction
+ */
+export const Paragraph = ({
+ size = 'md',
+ weight = 'normal',
+ lead = 'normal',
+ as = 'p',
+ children,
+ ...attrs
+}: ParagraphAttrs) => {
+ return html`
+ <${unsafeStatic(as)} class=${[
+ 'nui-paragraph',
+ size && variants.size[size],
+ weight && variants.weight[weight],
+ lead && variants.lead[lead],
+ ]
+ .filter(Boolean)
+ .join(' ')}
+ ${spread(attrs)}>${children}${unsafeStatic(as)}>
+ `
+}
diff --git a/src/plugins/components/paragraph/paragraph.doc.mdx b/src/plugins/components/paragraph/paragraph.doc.mdx
new file mode 100644
index 0000000..5f4529c
--- /dev/null
+++ b/src/plugins/components/paragraph/paragraph.doc.mdx
@@ -0,0 +1,75 @@
+import { Meta, Primary, Controls, Story } from '@storybook/blocks'
+import * as ParagraphStories from './paragraph.stories'
+import { defaultParagraphConfig } from '.'
+
+
+
+# Paragraph
+
+Paragraphs are an important part of any website or application and are often referred as part of the "Typography". They help creating structure and consistency accross the page and your content.
+
+
+
+## Props
+
+
+
+## Variants
+
+
+
+### Sizes
+
+Use the Paragraph component to display some content or a subtitle. You can use various props to customize the size, weight, the line-height and the Html tag used to render the paragraph.
+
+