summaryrefslogtreecommitdiff
path: root/examples/component/packages/my-component
diff options
context:
space:
mode:
Diffstat (limited to 'examples/component/packages/my-component')
-rw-r--r--examples/component/packages/my-component/Button.astro15
-rw-r--r--examples/component/packages/my-component/Heading.astro18
-rw-r--r--examples/component/packages/my-component/README.md37
-rw-r--r--examples/component/packages/my-component/index.js2
-rw-r--r--examples/component/packages/my-component/package.json22
5 files changed, 94 insertions, 0 deletions
diff --git a/examples/component/packages/my-component/Button.astro b/examples/component/packages/my-component/Button.astro
new file mode 100644
index 000000000..d853628a1
--- /dev/null
+++ b/examples/component/packages/my-component/Button.astro
@@ -0,0 +1,15 @@
+---
+export interface Props extends Record<any, any> {
+ type?: string
+}
+
+const {
+ type,
+ ...props
+} = {
+ ...Astro.props
+} as Props
+
+props.type = type || 'button'
+---
+<button {...props}><slot /></button> \ No newline at end of file
diff --git a/examples/component/packages/my-component/Heading.astro b/examples/component/packages/my-component/Heading.astro
new file mode 100644
index 000000000..f27e74b3d
--- /dev/null
+++ b/examples/component/packages/my-component/Heading.astro
@@ -0,0 +1,18 @@
+---
+export interface Props extends Record<any, any> {
+ level?: number | string
+ role?: string
+}
+
+const {
+ level,
+ role,
+ ...props
+} = {
+ ...Astro.props
+} as Props
+
+props.role = role || 'heading'
+props['aria-level'] = level || '1'
+---
+<h {...props}><slot /></h> \ No newline at end of file
diff --git a/examples/component/packages/my-component/README.md b/examples/component/packages/my-component/README.md
new file mode 100644
index 000000000..41a53a6f0
--- /dev/null
+++ b/examples/component/packages/my-component/README.md
@@ -0,0 +1,37 @@
+# Example `@example/my-component`
+
+This is an example package, exported as `@example/my-component`. It consists of two Astro components, **Button** and **Heading**.
+
+### Button
+
+The **Button** component generates a `<button>` with a default **type** of **button**.
+
+```astro
+---
+import * as Component from '@example/my-component'
+---
+<Component.Button>Plain Button</Component.Button>
+```
+
+```html
+<!-- generated html -->
+<button type="button">Plain Button</button>
+```
+
+### Heading
+
+The **Heading** component generates an `<h>` tag with a default **role** of **heading** and a **level** attribute that gets written to **aria-level**.
+
+```astro
+---
+import * as Component from '@example/my-component'
+---
+<Component.Heading>Heading</Component.Heading>
+<Component.Heading level="2">Subheading</Component.Heading>
+```
+
+```html
+<!-- generated html -->
+<h role="heading" aria-level="1">Plain Button</h>
+<h role="heading" aria-level="2">Subheading</h>
+```
diff --git a/examples/component/packages/my-component/index.js b/examples/component/packages/my-component/index.js
new file mode 100644
index 000000000..603a81a96
--- /dev/null
+++ b/examples/component/packages/my-component/index.js
@@ -0,0 +1,2 @@
+export { default as Button } from './Button.astro';
+export { default as Heading } from './Heading.astro';
diff --git a/examples/component/packages/my-component/package.json b/examples/component/packages/my-component/package.json
new file mode 100644
index 000000000..47212b558
--- /dev/null
+++ b/examples/component/packages/my-component/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "@example/my-component",
+ "version": "0.0.1",
+ "private": true,
+ "type": "module",
+ "exports": {
+ ".": "./index.js",
+ "./Button": "./Button.astro",
+ "./Heading": "./Heading.astro"
+ },
+ "files": [
+ "index.js",
+ "Button.astro",
+ "Heading.jsx"
+ ],
+ "keywords": [
+ "astro-component",
+ "button",
+ "heading",
+ "example"
+ ]
+}
;follow=1'>fix: post API routes in SSG should warn or error during dev mode (#4878)Gravatar Rishi Raj Jain 3-2/+17 2022-09-27docs: Fix links to Tailwind examples (#4883)Gravatar Deanmv 1-1/+1 2022-09-27Set SSR target webworker for Vercel edge (#4884)Gravatar Bjorn Lu 2-0/+6 2022-09-27[ci] update lockfile (#4885)Gravatar Fred K. Bot 1-86/+79 2022-09-26[ci] formatGravatar bholmesdev 3-23/+19 2022-09-26Fix: correctly transform `import.meta.env.*` in MDX (#4858)Gravatar Ben Holmes 12-233/+454 2022-09-26Change negative lookbehind to lookahead (#4866)Gravatar Rishi Raj Jain 1-1/+1 2022-09-26add double check on astro file return type to display more human readable err...Gravatar Steven Yung 6-2/+61 2022-09-26[ci] update lockfile (#4862)Gravatar Fred K. Bot 1-81/+81 2022-09-26fix: Script with innerHTML not working on Safari (#4861)Gravatar Rishi Raj Jain 3-3/+10 2022-09-26Prevent /undefined catch-all routes in dev (#4873)Gravatar Bjorn Lu 6-9/+66 2022-09-26fix: 🐛 BUG: class:list directive adding class attribute when undefined (#4...Gravatar Rishi Raj Jain 2-2/+9 2022-09-26docs: Standardize common integration READMEs (#4874)Gravatar Jake Strawn 7-6/+66 2022-09-26docs: Update references to support channel in Discord. (#4872)Gravatar Jake Strawn 12-12/+12 2022-09-26[ci] formatGravatar bluwy 1-1/+1 2022-09-26fix: "chunks" directory appears in build output, if custom modules are import...Gravatar Rishi Raj Jain 2-6/+34 2022-09-23[ci] formatGravatar matthewp 1-1/+1 2022-09-23Define toStringTag another way (#4855)Gravatar Matthew Phillips 2-4/+12 2022-09-23update SSR example to match recent change on Astro API Context (#4854)Gravatar Steven Yung 2-4/+6 2022-09-23[ci] update lockfile (#4852)Gravatar Fred K. Bot 1-373/+402