fulldev-ui 0.5.0-beta.9 → 0.6.0-beta-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +3 -0
- package/.prettierrc.yaml +1 -0
- package/astro.config.ts +10 -34
- package/cloudcannon.config.yml +235 -0
- package/package.json +25 -29
- package/pnpm-lock.yaml +943 -2157
- package/public/favicon/android-chrome-192x192.png +0 -0
- package/public/favicon/android-chrome-512x512.png +0 -0
- package/public/favicon/apple-touch-icon.png +0 -0
- package/public/favicon/manifest.webmanifest +7 -3
- package/public/favicon/mstile-150x150.png +0 -0
- package/src/blocks/Banner.astro +14 -29
- package/src/blocks/Contact1.astro +92 -0
- package/src/blocks/Content1.astro +77 -0
- package/src/blocks/Content2.astro +91 -0
- package/src/blocks/Content3.astro +70 -0
- package/src/blocks/Content4.astro +72 -0
- package/src/blocks/Cta1.astro +58 -0
- package/src/blocks/Feature1.astro +61 -0
- package/src/blocks/Features1.astro +66 -0
- package/src/blocks/Footer.astro +100 -3
- package/src/blocks/Header.astro +192 -3
- package/src/blocks/Hero1.astro +60 -0
- package/src/blocks/Logos1.astro +55 -0
- package/src/blocks/Products1.astro +90 -0
- package/src/blocks/Reviews1.astro +75 -0
- package/src/blocks/_Hero.astro +245 -0
- package/src/components/Avatar.astro +28 -9
- package/src/components/Avatars.astro +36 -0
- package/src/components/Badge.astro +63 -24
- package/src/components/Badges.astro +16 -23
- package/src/components/Block.astro +30 -0
- package/src/components/Blocks.astro +26 -0
- package/src/components/Breadcrumb.astro +58 -0
- package/src/components/Button.astro +49 -119
- package/src/components/Buttons.astro +23 -13
- package/src/components/Card.astro +9 -137
- package/src/components/Cards.astro +33 -35
- package/src/components/Carousel.astro +106 -0
- package/src/components/Cart.astro +18 -14
- package/src/components/CartAdd.svelte +76 -0
- package/src/components/CartCheckout.svelte +58 -0
- package/src/components/CartForm.svelte +130 -0
- package/src/components/CartList.svelte +88 -0
- package/src/components/CartQuantity.svelte +81 -0
- package/src/components/CartSummary.astro +16 -105
- package/src/components/CartTotal.svelte +15 -0
- package/src/components/Channel.astro +44 -35
- package/src/components/Channels.astro +20 -6
- package/src/components/Checkbox.astro +52 -27
- package/src/components/Code.astro +52 -0
- package/src/components/Container.astro +25 -0
- package/src/components/Dialog.astro +3 -2
- package/src/components/Drawer.astro +55 -146
- package/src/components/DrawerOld.astro +143 -0
- package/src/components/Element.astro +18 -8
- package/src/components/Form.astro +16 -13
- package/src/components/Gallery.astro +174 -0
- package/src/components/Group.astro +25 -0
- package/src/components/Head.astro +62 -25
- package/src/components/Header.astro +10 -115
- package/src/components/Heading.astro +51 -44
- package/src/components/Icon.astro +29 -33
- package/src/components/Image.astro +18 -68
- package/src/components/Input.astro +65 -51
- package/src/components/Label.astro +20 -15
- package/src/components/Layout.astro +35 -0
- package/src/components/Link.astro +51 -32
- package/src/components/Links.astro +42 -0
- package/src/components/List.astro +41 -16
- package/src/components/LocaleSwitcher.astro +2 -2
- package/src/components/Logo.astro +56 -0
- package/src/components/Menu.astro +21 -17
- package/src/components/Navigation.astro +39 -0
- package/src/components/Panel.astro +25 -0
- package/src/components/Paragraph.astro +55 -0
- package/src/components/Price.astro +4 -4
- package/src/components/Prose.astro +86 -0
- package/src/components/Rating.astro +23 -62
- package/src/components/Search.astro +107 -43
- package/src/components/Section.astro +13 -242
- package/src/components/Select.astro +45 -55
- package/src/components/Sidebar.astro +53 -76
- package/src/components/Social.astro +11 -9
- package/src/components/Socials.astro +9 -5
- package/src/components/Stack.astro +25 -0
- package/src/components/Subheader.astro +59 -0
- package/src/components/Switch.astro +72 -29
- package/src/components/Table.astro +1 -1
- package/src/components/Tagline.astro +31 -13
- package/src/components/Textarea.astro +40 -50
- package/src/components/Themer.astro +76 -0
- package/src/components/Toc.astro +30 -37
- package/src/components/Writeup.astro +34 -65
- package/src/components/_Author.astro +90 -0
- package/src/components/_Header.astro +129 -0
- package/src/components/_Image.astro +79 -0
- package/src/components/_Prose copy.astro +172 -0
- package/src/components/_Sidebar copy.astro +87 -0
- package/src/components/docs/PropsTable.astro +38 -264
- package/src/components/experimental/Window.astro +5 -57
- package/src/content/config.ts +3 -10
- package/src/content/{presets → layouts}/base.yml +52 -73
- package/src/content/pages/blocks/_categories.mdx +0 -2
- package/src/content/pages/blocks/_footer.mdx +0 -2
- package/src/content/pages/blocks/_header.mdx +0 -4
- package/src/content/pages/blocks/_jobs.mdx +0 -2
- package/src/content/pages/blocks/_prices.mdx +0 -2
- package/src/content/pages/blocks/_product.mdx +0 -2
- package/src/content/pages/blocks/_products.mdx +0 -2
- package/src/content/pages/blocks/_stats.mdx +0 -2
- package/src/content/pages/blocks/banner.mdx +0 -2
- package/src/content/pages/blocks/colleagues.mdx +0 -3
- package/src/content/pages/blocks/contact.mdx +0 -2
- package/src/content/pages/blocks/content.mdx +0 -6
- package/src/content/pages/blocks/cta.mdx +0 -10
- package/src/content/pages/blocks/features.mdx +0 -5
- package/src/content/pages/blocks/hero.mdx +0 -5
- package/src/content/pages/blocks/intro.mdx +0 -5
- package/src/content/pages/blocks/posts.mdx +0 -2
- package/src/content/pages/blocks/reviews.mdx +0 -3
- package/src/content/pages/categories/category.md +7 -0
- package/src/content/pages/docs/_internationalization.mdx +55 -0
- package/src/content/pages/docs/_using-blocks.mdx +33 -0
- package/src/content/pages/docs/_using-presets.mdx +49 -0
- package/src/content/pages/docs/blocks.mdx +33 -0
- package/src/content/pages/docs/collections/images.mdx +102 -0
- package/src/content/pages/docs/collections/pages.mdx +119 -0
- package/src/content/pages/docs/collections/presets.mdx +60 -0
- package/src/content/pages/docs/collections.mdx +42 -0
- package/src/content/pages/{base/card.mdx → docs/components/_card.mdx} +2 -5
- package/src/content/pages/{base → docs/components}/_dialog.mdx +1 -2
- package/src/content/pages/{base → docs/components}/_drawer.mdx +1 -2
- package/src/content/pages/{base → docs/components}/_localeswitcher.mdx +1 -2
- package/src/content/pages/{base → docs/components}/_switch.mdx +3 -4
- package/src/content/pages/{typography → docs/components}/_tagline.mdx +3 -4
- package/src/content/pages/docs/components/_toggle.mdx +30 -0
- package/src/content/pages/docs/components/avatar.mdx +34 -0
- package/src/content/pages/{base → docs/components}/badge.mdx +28 -10
- package/src/content/pages/docs/components/badges.mdx +46 -0
- package/src/content/pages/docs/components/button.mdx +78 -0
- package/src/content/pages/docs/components/buttons.mdx +51 -0
- package/src/content/pages/docs/components/channel.mdx +91 -0
- package/src/content/pages/docs/components/channels.mdx +89 -0
- package/src/content/pages/docs/components/checkbox.mdx +34 -0
- package/src/content/pages/docs/components/code.mdx +45 -0
- package/src/content/pages/docs/components/heading.mdx +59 -0
- package/src/content/pages/docs/components/icon.mdx +48 -0
- package/src/content/pages/docs/components/image.mdx +25 -0
- package/src/content/pages/docs/components/input.mdx +40 -0
- package/src/content/pages/{typography → docs/components}/label.mdx +9 -6
- package/src/content/pages/{typography → docs/components}/link.mdx +24 -10
- package/src/content/pages/docs/components/links.mdx +99 -0
- package/src/content/pages/docs/components/list.mdx +44 -0
- package/src/content/pages/docs/components/logo.mdx +36 -0
- package/src/content/pages/docs/components/menu.mdx +89 -0
- package/src/content/pages/docs/components/prose.mdx +36 -0
- package/src/content/pages/docs/components/rating.mdx +76 -0
- package/src/content/pages/{base → docs/components}/section.mdx +2 -3
- package/src/content/pages/{base → docs/components}/select.mdx +1 -11
- package/src/content/pages/docs/components/social.mdx +94 -0
- package/src/content/pages/docs/components/socials.mdx +102 -0
- package/src/content/pages/docs/components/switch.mdx +34 -0
- package/src/content/pages/{base → docs/components}/table.mdx +1 -4
- package/src/content/pages/docs/components/tagline.mdx +46 -0
- package/src/content/pages/docs/components/text.mdx +48 -0
- package/src/content/pages/docs/components/textarea.mdx +34 -0
- package/src/content/pages/docs/components/themer.mdx +49 -0
- package/src/content/pages/docs/components.mdx +37 -0
- package/src/content/pages/docs/customization.mdx +151 -0
- package/src/content/pages/docs/frameworks.mdx +29 -0
- package/src/content/pages/docs/generating-pages.mdx +129 -0
- package/src/content/pages/docs/index.mdx +20 -0
- package/src/content/pages/docs/installation.mdx +50 -0
- package/src/content/pages/docs/layouts.mdx +33 -0
- package/src/content/pages/index.mdx +25 -33
- package/src/content/pages/posts/post.md +7 -0
- package/src/content/pages/products/product.md +20 -0
- package/src/content/pages/showcase/anti-slip-profiles.md +2 -2
- package/src/content/pages/showcase/fulldev-ui.md +1 -1
- package/src/content/pages/showcase/lavis-detailing.md +1 -1
- package/src/content/pages/showcase/leren-trainingsacteren.md +1 -1
- package/src/content/pages/showcase/miele-witgoedcenter-amsterdam.md +1 -1
- package/src/content/pages/showcase/sloepverhuur-bolsward.md +1 -1
- package/src/content/pages/showcase/stark-vulcanising-products.md +1 -1
- package/src/content/pages/showcase/the-gym-haren.md +1 -1
- package/src/content/pages/showcase/van-dillen-antieke-bouwmaterialen.md +1 -1
- package/src/content/pages/showcase.mdx +4 -3
- package/src/css/color.css +0 -10
- package/src/css/custom.css +10 -12
- package/src/css/size.css +2 -11
- package/src/css/theme.css +95 -0
- package/src/env.d.ts +1 -0
- package/src/images/favicon/android-chrome-192x192.png +0 -0
- package/src/images/favicon/android-chrome-512x512.png +0 -0
- package/src/images/favicon/apple-touch-icon.png +0 -0
- package/src/images/favicon/browserconfig.xml +9 -0
- package/src/images/favicon/favicon-16x16.png +0 -0
- package/src/images/favicon/favicon-32x32.png +0 -0
- package/src/images/favicon/favicon-48x48.png +0 -0
- package/src/images/favicon/favicon.ico +0 -0
- package/src/images/favicon/favicon.svg +16 -0
- package/src/images/favicon/manifest.webmanifest +30 -0
- package/src/images/favicon/mstile-150x150.png +0 -0
- package/src/images/favicon/safari-pinned-tab.svg +16 -0
- package/src/images/favicon/yandex-browser-50x50.png +0 -0
- package/src/images/favicon/yandex-browser-manifest.json +9 -0
- package/src/images/logo-1.svg +11 -0
- package/src/images/logo-2.svg +13 -0
- package/src/images/logo-basic.svg +10 -0
- package/src/images/logo-simple.svg +13 -0
- package/src/images/logo-thin.svg +15 -0
- package/src/images/logo.svg +14 -0
- package/src/images/logofat.svg +11 -0
- package/src/integration/index.ts +110 -140
- package/src/layouts/Category.astro +136 -0
- package/src/layouts/Doc.astro +56 -0
- package/src/layouts/Job.astro +60 -0
- package/src/layouts/Page.astro +29 -0
- package/src/layouts/Post.astro +52 -0
- package/src/layouts/Product.astro +114 -0
- package/src/pages/[...page].astro +29 -24
- package/src/pages/test.astro +37 -0
- package/src/schemas/components/avatar.ts +4 -1
- package/src/schemas/components/badge.ts +16 -11
- package/src/schemas/components/block.ts +60 -0
- package/src/schemas/components/button.ts +17 -14
- package/src/schemas/components/channel.ts +15 -9
- package/src/schemas/components/footer.ts +15 -21
- package/src/schemas/components/head.ts +17 -0
- package/src/schemas/components/header.ts +19 -7
- package/src/schemas/components/heading.ts +7 -1
- package/src/schemas/components/icon.ts +7 -1
- package/src/schemas/components/image.ts +38 -16
- package/src/schemas/components/link.ts +17 -0
- package/src/schemas/components/logo.ts +12 -2
- package/src/schemas/components/menu.ts +11 -11
- package/src/schemas/components/navigation.ts +10 -0
- package/src/schemas/components/paragraph.ts +9 -0
- package/src/schemas/components/price.ts +7 -1
- package/src/schemas/components/rating.ts +8 -13
- package/src/schemas/components/sidebar.ts +14 -11
- package/src/schemas/components/social.ts +16 -1
- package/src/schemas/components/tagline.ts +7 -1
- package/src/schemas/imageSchema.ts +33 -4
- package/src/schemas/page.ts +39 -0
- package/src/stores/cart.svelte.ts +79 -0
- package/src/stores/cart.ts +59 -6
- package/src/types/global-props.ts +0 -9
- package/src/types/{virtual-modules.d.ts → virtual.d.ts} +1 -1
- package/src/utils/cart.ts +1 -10
- package/src/utils/formatEntries.ts +8 -0
- package/src/utils/formatEntry.ts +29 -0
- package/src/utils/getDeepReferenceChildren.ts +14 -0
- package/src/utils/getHref.ts +6 -0
- package/src/utils/getReferenceChildren.ts +1 -1
- package/src/utils/setTheme.ts +18 -0
- package/src/utils/slugify.ts +6 -0
- package/svelte.config.js +5 -0
- package/tailwind.config.ts +71 -0
- package/tsconfig.json +1 -3
- package/src/blocks/Article.astro +0 -40
- package/src/blocks/Categories.astro +0 -12
- package/src/blocks/Colleagues.astro +0 -13
- package/src/blocks/Contact.astro +0 -116
- package/src/blocks/Content.astro +0 -12
- package/src/blocks/Cta.astro +0 -15
- package/src/blocks/Excerpt.astro +0 -14
- package/src/blocks/Features.astro +0 -11
- package/src/blocks/Hero.astro +0 -15
- package/src/blocks/Intro.astro +0 -23
- package/src/blocks/Jobs.astro +0 -12
- package/src/blocks/Posts.astro +0 -11
- package/src/blocks/Prices.astro +0 -24
- package/src/blocks/Product.astro +0 -110
- package/src/blocks/Products.astro +0 -11
- package/src/blocks/Reviews.astro +0 -13
- package/src/components/CartForm.astro +0 -121
- package/src/components/CartList.astro +0 -134
- package/src/components/Footer.astro +0 -193
- package/src/components/Text.astro +0 -43
- package/src/components/ThemeSelect.astro +0 -41
- package/src/components/experimental/Form.astro +0 -53
- package/src/components/experimental/Gallery.astro +0 -104
- package/src/components/experimental/Logo.astro +0 -38
- package/src/components/experimental/Prose.astro +0 -192
- package/src/components/sections.astro +0 -28
- package/src/content/pages/base/button.mdx +0 -60
- package/src/content/pages/base/checkbox.mdx +0 -42
- package/src/content/pages/base/icon.mdx +0 -55
- package/src/content/pages/base/image.mdx +0 -42
- package/src/content/pages/base/input.mdx +0 -56
- package/src/content/pages/base/rating.mdx +0 -55
- package/src/content/pages/base/textarea.mdx +0 -58
- package/src/content/pages/base/theme-select.mdx +0 -15
- package/src/content/pages/layouts/_layout.mdx +0 -14
- package/src/content/pages/layouts/docslayout.mdx +0 -14
- package/src/content/pages/overview/components.mdx +0 -75
- package/src/content/pages/overview/content-collections.mdx +0 -139
- package/src/content/pages/overview/frameworks.mdx +0 -198
- package/src/content/pages/overview/installation.mdx +0 -53
- package/src/content/pages/overview/introduction.mdx +0 -30
- package/src/content/pages/overview/theming.mdx +0 -69
- package/src/content/pages/schemas/page.mdx +0 -17
- package/src/content/pages/schemas/preset.mdx +0 -9
- package/src/content/pages/showcase/record.md +0 -3
- package/src/content/pages/typography/heading.mdx +0 -73
- package/src/content/pages/typography/list.mdx +0 -51
- package/src/content/pages/typography/text.mdx +0 -61
- package/src/content/presets/blocks.yml +0 -1
- package/src/content/presets/docs.yml +0 -6
- package/src/css/space.css +0 -77
- package/src/css/styles.css +0 -0
- package/src/images/avatar-1.yml +0 -1
- package/src/integration/generate-colors.ts +0 -639
- package/src/integration/tailwind-plugin.ts +0 -80
- package/src/integration/unocss-preset.ts +0 -84
- package/src/layouts/BlockLayout.astro +0 -19
- package/src/layouts/ContactLayout.astro +0 -21
- package/src/layouts/DocsLayout.astro +0 -73
- package/src/layouts/Layout.astro +0 -163
- package/src/layouts/OverviewLayout.astro +0 -42
- package/src/layouts/PostLayout.astro +0 -21
- package/src/layouts/ProductLayout.astro +0 -21
- package/src/loaders/imageLoader.ts +0 -26
- package/src/schemas/components/avatars.ts +0 -4
- package/src/schemas/components/buttons.ts +0 -4
- package/src/schemas/components/card.ts +0 -25
- package/src/schemas/components/cards.ts +0 -4
- package/src/schemas/components/channels.ts +0 -4
- package/src/schemas/components/images.ts +0 -4
- package/src/schemas/components/list.ts +0 -3
- package/src/schemas/components/section.ts +0 -15
- package/src/schemas/components/sections.ts +0 -3
- package/src/schemas/components/socials.ts +0 -4
- package/src/schemas/components/text.ts +0 -3
- package/src/schemas/components/toc.ts +0 -3
- package/src/schemas/components/writeup.ts +0 -20
- package/src/schemas/pageSchema.ts +0 -101
- package/src/schemas/presetSchema.ts +0 -3
- package/src/schemas/utils/navigation.ts +0 -8
- package/src/schemas/utils/parents.ts +0 -3
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Button
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Button
|
|
8
|
-
|
|
9
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
10
|
-
|
|
11
|
-
```astro live
|
|
12
|
-
---
|
|
13
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
<Button color="brand">Button</Button>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Props
|
|
20
|
-
|
|
21
|
-
<PropsTable />
|
|
22
|
-
|
|
23
|
-
## Examples
|
|
24
|
-
|
|
25
|
-
```astro live
|
|
26
|
-
---
|
|
27
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
<Button variant="primary">Button</Button>
|
|
31
|
-
<Button variant="secondary">Button</Button>
|
|
32
|
-
<Button variant="tertiary">Button</Button>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
```astro live
|
|
36
|
-
---
|
|
37
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
<Button icon="circle" text="Button" text="Buttontje" />
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
```astro live
|
|
44
|
-
---
|
|
45
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
<Button size="sm" text="Button" />
|
|
49
|
-
<Button size="md" text="Button" />
|
|
50
|
-
<Button size="lg" text="Button" />
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
```astro live
|
|
54
|
-
---
|
|
55
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
<Button color="base" text="Button" />
|
|
59
|
-
<Button color="brand" text="Button" />
|
|
60
|
-
```
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Checkbox
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Checkbox
|
|
8
|
-
|
|
9
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
10
|
-
|
|
11
|
-
## Props
|
|
12
|
-
|
|
13
|
-
<PropsTable />
|
|
14
|
-
|
|
15
|
-
## Examples
|
|
16
|
-
|
|
17
|
-
```astro live
|
|
18
|
-
---
|
|
19
|
-
import Checkbox from 'fulldev-ui/components/Checkbox.astro'
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
<Checkbox label="My Checkbox" color="base" />
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
```astro live
|
|
26
|
-
---
|
|
27
|
-
import Checkbox from 'fulldev-ui/components/Checkbox.astro'
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
<Checkbox label="Base" color="base" />
|
|
31
|
-
<Checkbox label="Brand" color="brand" />
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
```astro live
|
|
35
|
-
---
|
|
36
|
-
import Checkbox from 'fulldev-ui/components/Checkbox.astro'
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
<Checkbox label="Small" size="sm" />
|
|
40
|
-
<Checkbox label="Medium" size="md" />
|
|
41
|
-
<Checkbox label="Large" size="lg" />
|
|
42
|
-
```
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Icon
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Icon
|
|
8
|
-
|
|
9
|
-
We use [Tabler Icons](https://tablericons.com/) under the hood, you can use any of those icons by having the `name` prop match one of the icon names.
|
|
10
|
-
|
|
11
|
-
```astro live
|
|
12
|
-
---
|
|
13
|
-
import Icon from 'fulldev-ui/components/Icon.astro'
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
<Icon name="code" color="brand" size="lg" />
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
20
|
-
|
|
21
|
-
## Props
|
|
22
|
-
|
|
23
|
-
<PropsTable />
|
|
24
|
-
|
|
25
|
-
## Examples
|
|
26
|
-
|
|
27
|
-
```astro live
|
|
28
|
-
---
|
|
29
|
-
import Icon from 'fulldev-ui/components/Icon.astro'
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
<Icon name="circle" />
|
|
33
|
-
<Icon name="arrow-right" />
|
|
34
|
-
<Icon name="brand-x" />
|
|
35
|
-
<Icon name="brand-github" />
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
```astro live
|
|
39
|
-
---
|
|
40
|
-
import Icon from 'fulldev-ui/components/Icon.astro'
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
<Icon size="sm" name="circle" />
|
|
44
|
-
<Icon size="md" name="circle" />
|
|
45
|
-
<Icon size="lg" name="circle" />
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
```astro live
|
|
49
|
-
---
|
|
50
|
-
import Icon from 'fulldev-ui/components/Icon.astro'
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
<Icon color="base" name="circle" />
|
|
54
|
-
<Icon color="brand" name="circle" />
|
|
55
|
-
```
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Image
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Image
|
|
8
|
-
|
|
9
|
-
import Link from 'fulldev-ui/components/Link.astro'
|
|
10
|
-
|
|
11
|
-
To use content collections for alt texts, see <Link href="/overview/content-layer/#image-alt-collections">generateImageEntries</Link>.
|
|
12
|
-
|
|
13
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
14
|
-
|
|
15
|
-
```astro live
|
|
16
|
-
---
|
|
17
|
-
import Image from 'fulldev-ui/components/Image.astro'
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
<Image src="placeholder-landscape.webp" />
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Props
|
|
24
|
-
|
|
25
|
-
<PropsTable />
|
|
26
|
-
|
|
27
|
-
## Examples
|
|
28
|
-
|
|
29
|
-
```astro live
|
|
30
|
-
---
|
|
31
|
-
import Image from 'fulldev-ui/components/Image.astro'
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
{/* image in public/images/ */}
|
|
35
|
-
<Image src="/images/placeholder-landscape.webp" />
|
|
36
|
-
|
|
37
|
-
{/* optimized image in public/images/ using astro:assets */}
|
|
38
|
-
<Image src="/images/placeholder-landscape.webp" width={600} height={400} />
|
|
39
|
-
|
|
40
|
-
{/* automatically optimized image in src/images/ using astro:assets */}
|
|
41
|
-
<Image src="placeholder-landscape.webp" />
|
|
42
|
-
```
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Input
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Input
|
|
8
|
-
|
|
9
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
10
|
-
|
|
11
|
-
```astro live
|
|
12
|
-
---
|
|
13
|
-
import Input from 'fulldev-ui/components/Input.astro'
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
<Input
|
|
17
|
-
label="Email"
|
|
18
|
-
icon="mail"
|
|
19
|
-
name="input"
|
|
20
|
-
type="email"
|
|
21
|
-
placeholder="This is an input"
|
|
22
|
-
/>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Props
|
|
26
|
-
|
|
27
|
-
<PropsTable />
|
|
28
|
-
|
|
29
|
-
## Examples
|
|
30
|
-
|
|
31
|
-
```astro live
|
|
32
|
-
---
|
|
33
|
-
import Input from 'fulldev-ui/components/Input.astro'
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
<Input label="Name" icon="mail" name="name" type="email" />
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
```astro live
|
|
40
|
-
---
|
|
41
|
-
import Input from 'fulldev-ui/components/Input.astro'
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
<Input size="sm" name="name" />
|
|
45
|
-
<Input size="md" name="name" />
|
|
46
|
-
<Input size="lg" name="name" />
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
```astro live
|
|
50
|
-
---
|
|
51
|
-
import Input from 'fulldev-ui/components/Input.astro'
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
<Input color="base" name="name" />
|
|
55
|
-
<Input color="brand" name="name" />
|
|
56
|
-
```
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Rating
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Rating
|
|
8
|
-
|
|
9
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
10
|
-
|
|
11
|
-
```astro live
|
|
12
|
-
---
|
|
13
|
-
import Rating from 'fulldev-ui/components/Rating.astro'
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
<Rating avatar="avatar-1.jpeg" label="John Doe" value={4} color="brand" />
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Props
|
|
20
|
-
|
|
21
|
-
<PropsTable />
|
|
22
|
-
|
|
23
|
-
## Examples
|
|
24
|
-
|
|
25
|
-
```astro live
|
|
26
|
-
---
|
|
27
|
-
import Rating from 'fulldev-ui/components/Rating.astro'
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
<Rating
|
|
31
|
-
avatars={['avatar-1.jpeg', 'avatar-2.jpeg', 'avatar-3.jpeg', 'avatar-4.jpeg']}
|
|
32
|
-
label="5.0 out of 86 reviews"
|
|
33
|
-
value={5}
|
|
34
|
-
color="brand"
|
|
35
|
-
/>
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
```astro live
|
|
39
|
-
---
|
|
40
|
-
import Rating from 'fulldev-ui/components/Rating.astro'
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
<Rating value={3} color="base" />
|
|
44
|
-
<Rating value={5} color="brand" />
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
```astro live
|
|
48
|
-
---
|
|
49
|
-
import Rating from 'fulldev-ui/components/Rating.astro'
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
<Rating value={5} size="sm" />
|
|
53
|
-
<Rating value={5} size="md" />
|
|
54
|
-
<Rating value={5} size="lg" />
|
|
55
|
-
```
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Textarea
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Textarea
|
|
8
|
-
|
|
9
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
10
|
-
|
|
11
|
-
```astro live
|
|
12
|
-
---
|
|
13
|
-
import Textarea from 'fulldev-ui/components/Textarea.astro'
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
<Textarea name="message" placeholder="Write a message.." label="Textarea" />
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Props
|
|
20
|
-
|
|
21
|
-
<PropsTable />
|
|
22
|
-
|
|
23
|
-
## Examples
|
|
24
|
-
|
|
25
|
-
```astro live
|
|
26
|
-
---
|
|
27
|
-
import Textarea from 'fulldev-ui/components/Textarea.astro'
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
<Textarea size="sm" name="message" placeholder="name" />
|
|
31
|
-
<Textarea size="md" name="message" placeholder="name" />
|
|
32
|
-
<Textarea size="lg" name="message" placeholder="name" />
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
```astro live
|
|
36
|
-
---
|
|
37
|
-
import Textarea from 'fulldev-ui/components/Textarea.astro'
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
<Textarea label="Message" name="message" placeholder="name" />
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
```astro live
|
|
44
|
-
---
|
|
45
|
-
import Textarea from 'fulldev-ui/components/Textarea.astro'
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
<Textarea label="Message" name="message" placeholder="name" />
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
```astro live
|
|
52
|
-
---
|
|
53
|
-
import Textarea from 'fulldev-ui/components/Textarea.astro'
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
<Textarea color="base" name="message" placeholder="name" />
|
|
57
|
-
<Textarea color="brand" name="message" placeholder="name" />
|
|
58
|
-
```
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: Layout
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import Layout from 'fulldev-ui/layouts/Layout.astro?raw'
|
|
8
|
-
import { Code } from 'astro:components'
|
|
9
|
-
|
|
10
|
-
# Layout
|
|
11
|
-
|
|
12
|
-
The Layout component is used to wrap the content of a page. It provides a structured template for your website.
|
|
13
|
-
|
|
14
|
-
<Code code={Layout} lang="astro" />
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
|
|
4
|
-
title: DocsLayout
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
import Layout from 'fulldev-ui/layouts/DocsLayout.astro?raw'
|
|
8
|
-
import { Code } from 'astro:components'
|
|
9
|
-
|
|
10
|
-
# DocsLayout
|
|
11
|
-
|
|
12
|
-
The DocsLayout component is used to wrap the content of a page in a sidebar and a main content area and table of contents.
|
|
13
|
-
|
|
14
|
-
<Code code={Layout} lang="astro" />
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
title: Components
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Components
|
|
7
|
-
|
|
8
|
-
Fulldev UI offers a collection of components that are styled with regular CSS, have cascading styles, and are easy to customize.
|
|
9
|
-
|
|
10
|
-
## Usage
|
|
11
|
-
|
|
12
|
-
To use a component, you need to import it from the `fulldev-ui` package.
|
|
13
|
-
|
|
14
|
-
```astro
|
|
15
|
-
---
|
|
16
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
<Button text="Click me" />
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
```astro
|
|
23
|
-
---
|
|
24
|
-
import Hero from 'fulldev-ui/blocks/Hero.astro'
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
<Hero text="Props here" />
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
```astro
|
|
31
|
-
---
|
|
32
|
-
import Hero from 'fulldev-ui/blocks/Hero.astro'
|
|
33
|
-
import Layout from 'fulldev-ui/layouts/Layout.astro'
|
|
34
|
-
---
|
|
35
|
-
|
|
36
|
-
<Layout>
|
|
37
|
-
<Hero />
|
|
38
|
-
</Layout>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Slots
|
|
42
|
-
|
|
43
|
-
Even though we recommend using props to pass content into components, you can also use slots to inject content into a component.
|
|
44
|
-
|
|
45
|
-
```astro live
|
|
46
|
-
---
|
|
47
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
{/* Slots example */}
|
|
51
|
-
<Button>Click me</Button>
|
|
52
|
-
|
|
53
|
-
{/* Props example */}
|
|
54
|
-
<Button text="Click me" />
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Rendering
|
|
58
|
-
|
|
59
|
-
If no content passed to a component, it will NOT render anything. unless you pass an `if` prop.
|
|
60
|
-
|
|
61
|
-
```astro live
|
|
62
|
-
---
|
|
63
|
-
import Button from 'fulldev-ui/components/Button.astro'
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
{/* This will not render anything */}
|
|
67
|
-
<Button />
|
|
68
|
-
|
|
69
|
-
{/* This will render a button */}
|
|
70
|
-
<Button if={true} />
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Overriding Components
|
|
74
|
-
|
|
75
|
-
You can override components by creating a new component with the same name as one from the library in the **src/components** directory and adding your custom code. This also works for blocks and layouts.
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
presets: [docs]
|
|
3
|
-
title: Content Collections
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
import Link from 'fulldev-ui/components/Link.astro'
|
|
7
|
-
|
|
8
|
-
# Content Collections
|
|
9
|
-
|
|
10
|
-
We utilize <Link href="https://docs.astro.build/docs/guides/content-collections/">Astro's Content Layer</Link> to create entire websites using just content files and our components.
|
|
11
|
-
|
|
12
|
-
## Starter Template
|
|
13
|
-
|
|
14
|
-
This is the recommended way to get started with our content layer integration. We've created a <Link href="https://github.com/fulldotdev/starter/tree/main">starter template</Link> with examples of everything you need to get started.
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
pnpm create astro@latest -- --template fulldotdev/starter
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Manual Setup
|
|
21
|
-
|
|
22
|
-
To get started with the manual setup, you need to install the <Link href="/overview/installation/">integration</Link> and add `injectRoutes: true` to your `astro.config.ts` file, see <Link href="#type-safe-frontmatter">frontmatter</Link> below for more information on how this generates a site using content files.
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
import { defineConfig } from 'astro/config'
|
|
26
|
-
import fulldev from 'fulldev-ui/integration'
|
|
27
|
-
|
|
28
|
-
// https://astro.build/config
|
|
29
|
-
export default defineConfig({
|
|
30
|
-
integrations: [
|
|
31
|
-
fulldev({
|
|
32
|
-
// other options
|
|
33
|
-
injectRoutes: true,
|
|
34
|
-
}),
|
|
35
|
-
],
|
|
36
|
-
})
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Type-safe frontmatter
|
|
40
|
-
|
|
41
|
-
Each file has a few frontmatter objects that are important to know about. Seo has priority over title and description, however title and description is used in multiple places like a card.
|
|
42
|
-
|
|
43
|
-
```yml
|
|
44
|
-
---
|
|
45
|
-
preset: [docs] # Applies the configuration from src/content/presets/docs.yml
|
|
46
|
-
component: DocsLayout
|
|
47
|
-
|
|
48
|
-
seo:
|
|
49
|
-
title: Page Title
|
|
50
|
-
description: This is my page description
|
|
51
|
-
image: /image.jpg # Open Graph Image
|
|
52
|
-
|
|
53
|
-
# Information on the page, this is used in places like card, sidebar, etc.
|
|
54
|
-
title: Page Title
|
|
55
|
-
description: This is my page description
|
|
56
|
-
|
|
57
|
-
sections: # Here you generate the page by adding a component and passing props
|
|
58
|
-
- component: Hero
|
|
59
|
-
heading: Page Title
|
|
60
|
-
text: This is my page description
|
|
61
|
-
buttons:
|
|
62
|
-
- text: Button
|
|
63
|
-
color: brand
|
|
64
|
-
href: /
|
|
65
|
-
- text: Button
|
|
66
|
-
href: /
|
|
67
|
-
---
|
|
68
|
-
# This is the prose, you can use markdown here
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
For all objects avaliable in the Content Layer, see the <Link href="https://ui.full.dev/schemas/page/">schemas</Link>.
|
|
72
|
-
|
|
73
|
-
### Presets
|
|
74
|
-
|
|
75
|
-
Presets are configuration files that can be used to set the default values for a page. They are located in the **src/content/presets** directory and you can use them by adding the `preset` property to the frontmatter of a page or add a `basePreset` to the integration setup in the `astro.config.ts` file.
|
|
76
|
-
|
|
77
|
-
```ts
|
|
78
|
-
import { defineConfig } from 'astro/config'
|
|
79
|
-
import fulldev from 'fulldev-ui/integration'
|
|
80
|
-
|
|
81
|
-
// https://astro.build/config
|
|
82
|
-
export default defineConfig({
|
|
83
|
-
integrations: [
|
|
84
|
-
fulldev({
|
|
85
|
-
// other options
|
|
86
|
-
basePreset: 'base', // Applies the configuration from src/content/presets/base.yml to every page
|
|
87
|
-
}),
|
|
88
|
-
],
|
|
89
|
-
})
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## i18n
|
|
93
|
-
|
|
94
|
-
Getting started with i18n is easy, you can easily add additional languages by creating a new folder named after a language code in the **content/pages** directory and adding your content files in the new language.
|
|
95
|
-
|
|
96
|
-
These pages are just as static as the others however you can merge them with the default language by adding the `i18n` key to the frontmatter.
|
|
97
|
-
|
|
98
|
-
By merging pages you only need to specify the content that is different for the new language. Things like images do not need to be repeated in these new files. See example:
|
|
99
|
-
|
|
100
|
-
content/pages/index.md:
|
|
101
|
-
|
|
102
|
-
```md
|
|
103
|
-
---
|
|
104
|
-
sections:
|
|
105
|
-
- component: Hero
|
|
106
|
-
image: /image.webp
|
|
107
|
-
heading: Page Title
|
|
108
|
-
text: This is my page description
|
|
109
|
-
---
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
content/pages/nl/index.md:
|
|
113
|
-
|
|
114
|
-
```md
|
|
115
|
-
---
|
|
116
|
-
i18n: index
|
|
117
|
-
|
|
118
|
-
sections:
|
|
119
|
-
- component: Hero
|
|
120
|
-
heading: Page Title
|
|
121
|
-
text: This is my page description
|
|
122
|
-
---
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
These return the same results
|
|
126
|
-
|
|
127
|
-
### Example structure
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
.
|
|
131
|
-
├── src/
|
|
132
|
-
│ ├── content/
|
|
133
|
-
│ │ ├── pages/
|
|
134
|
-
│ │ │ ├── index.md
|
|
135
|
-
│ │ │ ├── nl/
|
|
136
|
-
│ │ │ │ └── index.md
|
|
137
|
-
│ │ │ └── de/
|
|
138
|
-
│ │ │ │ └── index.md
|
|
139
|
-
```
|