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
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: images
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# images
|
|
7
|
+
|
|
8
|
+
Adds type-safety and optimization for local images
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- Type-safe image references
|
|
13
|
+
- Integrates with Astro's `<Image />` component
|
|
14
|
+
- Integrates even better with fulldev-ui's `<Image />` component
|
|
15
|
+
- Get images using the `getEntry()` helper function
|
|
16
|
+
- Define alt texts globally, so you don't have to repeat yourself
|
|
17
|
+
|
|
18
|
+
## Adding images
|
|
19
|
+
|
|
20
|
+
Image files added to the `src/images` directory will automatically be added to the images collection.
|
|
21
|
+
|
|
22
|
+
## Global alt texts
|
|
23
|
+
|
|
24
|
+
Alt texts can be defined globally in the same folder as where the images live. You create a `[IMAGE NAME].yml` in the same folder as the images.
|
|
25
|
+
|
|
26
|
+
This way you can define alt texts once and they will be used everyhwere you use the image. An example of such a `yaml` file would be:
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
alt: 'A placeholder landscape image'
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Using images
|
|
33
|
+
|
|
34
|
+
### Automatic (recommended)
|
|
35
|
+
|
|
36
|
+
Use fulldev-ui's included `<Image />` component to get the following benefits out of the box:
|
|
37
|
+
|
|
38
|
+
- You only have to pass the image id
|
|
39
|
+
- Automatic type-safety and warnings
|
|
40
|
+
- Automatically uses global alt text
|
|
41
|
+
- Automatically optimizes image file
|
|
42
|
+
|
|
43
|
+
This is also the easiest way to use images:
|
|
44
|
+
|
|
45
|
+
```astro
|
|
46
|
+
---
|
|
47
|
+
import Image from 'fulldev-ui/components/Image.astro'
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
<Image id="my-image.png" />
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Manual
|
|
54
|
+
|
|
55
|
+
If you want more control over the image, you can use the `getEntry()` helper function to get an image.
|
|
56
|
+
|
|
57
|
+
```astro
|
|
58
|
+
---
|
|
59
|
+
import { getEntry } from 'fulldev-ui/utils'
|
|
60
|
+
|
|
61
|
+
const image = getEntry('my-image.png')
|
|
62
|
+
---
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
It will return an image in the following format:
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
{
|
|
69
|
+
id: 'my-image.png',
|
|
70
|
+
src: '/src/images/my-image.png',
|
|
71
|
+
alt: 'Alt text provided via steps above',
|
|
72
|
+
width: 1930,
|
|
73
|
+
height: 1080,
|
|
74
|
+
format: 'png'
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
You can pass these values directly into Astro's `<Image />` component to render the image.
|
|
79
|
+
|
|
80
|
+
```astro
|
|
81
|
+
---
|
|
82
|
+
import { getEntry } from 'fulldev-ui/utils'
|
|
83
|
+
|
|
84
|
+
const image = getEntry('my-image.png')
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
<Image {...image} />
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
But to get an optimized version, you should use an imported image instead:
|
|
91
|
+
|
|
92
|
+
```astro
|
|
93
|
+
---
|
|
94
|
+
import { getEntry } from 'fulldev-ui/utils'
|
|
95
|
+
|
|
96
|
+
const image = getEntry('my-image.png')
|
|
97
|
+
const images = import.meta.glob<{ default: ImageMetadata }>('/src/images/*')
|
|
98
|
+
const image = images[image.src]
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
<Image src={image()} alt={image.alt} />
|
|
102
|
+
```
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: pages
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# pages
|
|
7
|
+
|
|
8
|
+
Used for generating pages and/or cards.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- Pages are automatically generated from `.md` and `.mdx` files in `src/content/pages`
|
|
13
|
+
- References to other pages, and other collections
|
|
14
|
+
- Setting a preset, which automatically gets merged with the current page
|
|
15
|
+
- Type-safe frontmatter validation with helpful error messages
|
|
16
|
+
|
|
17
|
+
## Frontmatter reference
|
|
18
|
+
|
|
19
|
+
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
20
|
+
|
|
21
|
+
<PropsTable schema="pageSchema" />
|
|
22
|
+
|
|
23
|
+
### `presets`
|
|
24
|
+
|
|
25
|
+
Type: Filepath of an entry in `src/content/presets`
|
|
26
|
+
|
|
27
|
+
### `component`
|
|
28
|
+
|
|
29
|
+
Type: Filename of a component in `src/layouts`
|
|
30
|
+
|
|
31
|
+
### `theme`
|
|
32
|
+
|
|
33
|
+
Type: `'light' | 'dark' | 'system' | undefined`
|
|
34
|
+
|
|
35
|
+
### `lang`
|
|
36
|
+
|
|
37
|
+
Type: `string` | undefined
|
|
38
|
+
|
|
39
|
+
### `title`
|
|
40
|
+
|
|
41
|
+
Type: `string` | undefined
|
|
42
|
+
|
|
43
|
+
### `description`
|
|
44
|
+
|
|
45
|
+
Type: `string` | undefined
|
|
46
|
+
|
|
47
|
+
### `image`
|
|
48
|
+
|
|
49
|
+
### `images`
|
|
50
|
+
|
|
51
|
+
### `seo`
|
|
52
|
+
|
|
53
|
+
## Example
|
|
54
|
+
|
|
55
|
+
```md
|
|
56
|
+
---
|
|
57
|
+
presets: [post]
|
|
58
|
+
component: PostLayout
|
|
59
|
+
|
|
60
|
+
seo:
|
|
61
|
+
title: About us - Fulldev
|
|
62
|
+
description: Learn more about Fulldev
|
|
63
|
+
|
|
64
|
+
title: About us
|
|
65
|
+
|
|
66
|
+
sections:
|
|
67
|
+
- component: Hero
|
|
68
|
+
tagline: We are a team of passionate developers
|
|
69
|
+
heading: About us
|
|
70
|
+
description: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
71
|
+
buttons:
|
|
72
|
+
- text: Get in touch
|
|
73
|
+
href: /contact
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
# Write your markdown here!
|
|
77
|
+
|
|
78
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Disabling page generation
|
|
82
|
+
|
|
83
|
+
### If no content is passed
|
|
84
|
+
|
|
85
|
+
No page will be generated if no content is passed, meaning the page does not have body content or any of the following frontmatter keys:
|
|
86
|
+
|
|
87
|
+
- `component`
|
|
88
|
+
- `section`
|
|
89
|
+
- `sections`
|
|
90
|
+
|
|
91
|
+
### On a global level
|
|
92
|
+
|
|
93
|
+
You can disable all automatic page generation by setting the `injectRoutes` option in your `astro.config.ts` file.
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
// astro.config.ts
|
|
97
|
+
import { defineConfig } from 'astro/config'
|
|
98
|
+
import fulldev from 'fulldev-ui/integration'
|
|
99
|
+
|
|
100
|
+
export default defineConfig({
|
|
101
|
+
integrations: [
|
|
102
|
+
fulldev({
|
|
103
|
+
injectRoutes: false,
|
|
104
|
+
}),
|
|
105
|
+
],
|
|
106
|
+
})
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### On a per-page level
|
|
110
|
+
|
|
111
|
+
You can disable page generation per page by setting the `inject` key to `false`.
|
|
112
|
+
|
|
113
|
+
This makes sense for content you might only want to show as a card on another page, like reviews or the showcases on this website.
|
|
114
|
+
|
|
115
|
+
```md
|
|
116
|
+
---
|
|
117
|
+
inject: false
|
|
118
|
+
---
|
|
119
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: presets
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# presets
|
|
7
|
+
|
|
8
|
+
Default values that can be referenced by pages
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
|
|
12
|
+
- Uses same schema as pages
|
|
13
|
+
- Can be referenced by pages, to automatically merge values
|
|
14
|
+
- Global preset can be set which will be automatically merged with all pages
|
|
15
|
+
|
|
16
|
+
## Frontmatter reference
|
|
17
|
+
|
|
18
|
+
Presets accept the exact same properties as the [pages collection](/docs/collections/pages/), except for the `presets` key, since this could potentially create a circular reference.
|
|
19
|
+
|
|
20
|
+
## Configuring a base preset
|
|
21
|
+
|
|
22
|
+
To configure a base preset, you can set the `basePreset` option in your `astro.config.ts` file. It accepts the filepath of a preset in `src/content/presets`.
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
// astro.config.ts
|
|
26
|
+
import { defineConfig } from 'astro/config'
|
|
27
|
+
import fulldev from 'fulldev-ui/integration'
|
|
28
|
+
|
|
29
|
+
export default defineConfig({
|
|
30
|
+
integrations: [
|
|
31
|
+
fulldev({
|
|
32
|
+
basePreset: 'base',
|
|
33
|
+
}),
|
|
34
|
+
],
|
|
35
|
+
})
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Example
|
|
39
|
+
|
|
40
|
+
```yml
|
|
41
|
+
seo:
|
|
42
|
+
title: Default site title
|
|
43
|
+
description: Default site description
|
|
44
|
+
image: default-og-image.png
|
|
45
|
+
|
|
46
|
+
header:
|
|
47
|
+
logo: logo.svg
|
|
48
|
+
links:
|
|
49
|
+
- docs
|
|
50
|
+
- about
|
|
51
|
+
- showcase
|
|
52
|
+
- text: Custom link text
|
|
53
|
+
href: /custom-link-href
|
|
54
|
+
|
|
55
|
+
footer:
|
|
56
|
+
logo: logo.svg
|
|
57
|
+
socials:
|
|
58
|
+
- https://github.com/fulldotdev/ui
|
|
59
|
+
- https://discord.gg/vXZqMbadm8
|
|
60
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: Collections
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Collections
|
|
7
|
+
|
|
8
|
+
A general overview of how Astro's [content collections](https://docs.astro.build/en/guides/content-collections/) are used.
|
|
9
|
+
|
|
10
|
+
## Types of content collections
|
|
11
|
+
|
|
12
|
+
1. `pages`: Used for generating pages and/or cards.
|
|
13
|
+
2. `presets`: Default values that can be referenced by pages
|
|
14
|
+
3. `images`: Adds type-safety and optimization for local images
|
|
15
|
+
|
|
16
|
+
## Setup collections
|
|
17
|
+
|
|
18
|
+
Create a content collections config file at `src/content/config.ts`, and add the following content:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
// src/content/config.ts
|
|
22
|
+
import { defineCollection } from 'astro:content'
|
|
23
|
+
import imageLoader from 'fulldev-ui/loaders/imageLoader.ts'
|
|
24
|
+
import imageSchema from 'fulldev-ui/schemas/imageSchema.ts'
|
|
25
|
+
import pageSchema from 'fulldev-ui/schemas/pageSchema.ts'
|
|
26
|
+
import presetSchema from 'fulldev-ui/schemas/presetSchema.ts'
|
|
27
|
+
|
|
28
|
+
export const collections = {
|
|
29
|
+
pages: defineCollection({
|
|
30
|
+
type: 'content',
|
|
31
|
+
schema: pageSchema,
|
|
32
|
+
}),
|
|
33
|
+
presets: defineCollection({
|
|
34
|
+
type: 'data',
|
|
35
|
+
schema: presetSchema,
|
|
36
|
+
}),
|
|
37
|
+
images: defineCollection({
|
|
38
|
+
loader: imageLoader,
|
|
39
|
+
schema: imageSchema,
|
|
40
|
+
}),
|
|
41
|
+
}
|
|
42
|
+
```
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
_layout: doc
|
|
4
3
|
title: Card
|
|
5
4
|
---
|
|
6
5
|
|
|
@@ -15,7 +14,7 @@ import Card from 'fulldev-ui/components/Card.astro'
|
|
|
15
14
|
|
|
16
15
|
<Card
|
|
17
16
|
heading="Lorem ipsum dolor"
|
|
18
|
-
|
|
17
|
+
paragraph="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
|
|
19
18
|
/>
|
|
20
19
|
```
|
|
21
20
|
|
|
@@ -74,13 +73,11 @@ import Card from 'fulldev-ui/components/Card.astro'
|
|
|
74
73
|
---
|
|
75
74
|
|
|
76
75
|
<Card
|
|
77
|
-
color="base"
|
|
78
76
|
heading="Lorem ipsum dolor"
|
|
79
77
|
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
|
|
80
78
|
/>
|
|
81
79
|
|
|
82
80
|
<Card
|
|
83
|
-
color="brand"
|
|
84
81
|
heading="Lorem ipsum dolor"
|
|
85
82
|
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
|
|
86
83
|
/>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
_layout: doc
|
|
4
3
|
title: Switch
|
|
5
4
|
---
|
|
6
5
|
|
|
@@ -27,6 +26,6 @@ import Switch from 'fulldev-ui/components/Switch.astro'
|
|
|
27
26
|
import Switch from 'fulldev-ui/components/Switch.astro'
|
|
28
27
|
---
|
|
29
28
|
|
|
30
|
-
<Switch
|
|
31
|
-
<Switch
|
|
29
|
+
<Switch trueLabel="On" falseLabel="Off" />
|
|
30
|
+
<Switch trueLabel="On" falseLabel="Off" />
|
|
32
31
|
```
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
_layout: doc
|
|
4
3
|
title: Tagline
|
|
5
4
|
---
|
|
6
5
|
|
|
@@ -19,8 +18,8 @@ import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
|
19
18
|
import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
20
19
|
---
|
|
21
20
|
|
|
22
|
-
<Tagline
|
|
23
|
-
<Tagline
|
|
21
|
+
<Tagline>The quick brown fox jumps</Tagline>
|
|
22
|
+
<Tagline>The quick brown fox jumps</Tagline>
|
|
24
23
|
```
|
|
25
24
|
|
|
26
25
|
Set to `true` by default on Headings, which you can override by setting it to `false`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: Toggle
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Toggle
|
|
7
|
+
|
|
8
|
+
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
9
|
+
|
|
10
|
+
```astro live
|
|
11
|
+
---
|
|
12
|
+
import Toggle from 'fulldev-ui/components/Toggle.astro'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<Toggle text="Click me" icon="click" />
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Props
|
|
19
|
+
|
|
20
|
+
<PropsTable />
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
```astro live
|
|
25
|
+
---
|
|
26
|
+
import Toggle from 'fulldev-ui/components/Toggle.astro'
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
<Toggle icon={'code'} text="Auto save" toggled={true} />
|
|
30
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: Avatar
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Avatar
|
|
7
|
+
|
|
8
|
+
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
9
|
+
|
|
10
|
+
```astro live
|
|
11
|
+
---
|
|
12
|
+
import Avatar from 'fulldev-ui/components/Avatar.astro'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<Avatar id="avatar-1.jpeg" />
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Props
|
|
19
|
+
|
|
20
|
+
<PropsTable />
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
### `size`
|
|
25
|
+
|
|
26
|
+
```astro live
|
|
27
|
+
---
|
|
28
|
+
import Avatar from 'fulldev-ui/components/Avatar.astro'
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
<Avatar id="avatar-1.jpeg" size="sm" />
|
|
32
|
+
<Avatar id="avatar-1.jpeg" size="md" />
|
|
33
|
+
<Avatar id="avatar-1.jpeg" size="lg" />
|
|
34
|
+
```
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
_layout: doc
|
|
4
3
|
title: Badge
|
|
5
4
|
---
|
|
6
5
|
|
|
@@ -22,38 +21,57 @@ import Badge from 'fulldev-ui/components/Badge.astro'
|
|
|
22
21
|
|
|
23
22
|
## Examples
|
|
24
23
|
|
|
24
|
+
### `variant`
|
|
25
|
+
|
|
25
26
|
```astro live
|
|
26
27
|
---
|
|
27
28
|
import Badge from 'fulldev-ui/components/Badge.astro'
|
|
28
29
|
---
|
|
29
30
|
|
|
30
|
-
<Badge
|
|
31
|
-
<Badge
|
|
32
|
-
<Badge
|
|
31
|
+
<Badge variant="primary">Primary</Badge>
|
|
32
|
+
<Badge variant="secondary">Secondary</Badge>
|
|
33
|
+
<Badge variant="outline">Outline</Badge>
|
|
33
34
|
```
|
|
34
35
|
|
|
36
|
+
### `size`
|
|
37
|
+
|
|
35
38
|
```astro live
|
|
36
39
|
---
|
|
37
40
|
import Badge from 'fulldev-ui/components/Badge.astro'
|
|
38
41
|
---
|
|
39
42
|
|
|
40
|
-
<Badge
|
|
41
|
-
<Badge
|
|
43
|
+
<Badge size="sm">Small</Badge>
|
|
44
|
+
<Badge size="md">Medium</Badge>
|
|
45
|
+
<Badge size="lg">Large</Badge>
|
|
42
46
|
```
|
|
43
47
|
|
|
48
|
+
### `icon`
|
|
49
|
+
|
|
44
50
|
```astro live
|
|
45
51
|
---
|
|
46
52
|
import Badge from 'fulldev-ui/components/Badge.astro'
|
|
47
53
|
---
|
|
48
54
|
|
|
49
|
-
<Badge
|
|
50
|
-
<Badge
|
|
55
|
+
<Badge icon="circle" text="Badge" />
|
|
56
|
+
<Badge icon="circle" />
|
|
51
57
|
```
|
|
52
58
|
|
|
59
|
+
### `href`
|
|
60
|
+
|
|
53
61
|
```astro live
|
|
54
62
|
---
|
|
55
63
|
import Badge from 'fulldev-ui/components/Badge.astro'
|
|
56
64
|
---
|
|
57
65
|
|
|
58
|
-
<Badge
|
|
66
|
+
<Badge href="#">Link</Badge>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### `text`
|
|
70
|
+
|
|
71
|
+
```astro live
|
|
72
|
+
---
|
|
73
|
+
import Badge from 'fulldev-ui/components/Badge.astro'
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
<Badge text="Badge" />
|
|
59
77
|
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: Badges
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Badges
|
|
7
|
+
|
|
8
|
+
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
9
|
+
|
|
10
|
+
```astro live
|
|
11
|
+
---
|
|
12
|
+
import Badges from 'fulldev-ui/components/Badges.astro'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<Badges badges={[{ text: 'First' }, { text: 'Second' }]} />
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Props
|
|
19
|
+
|
|
20
|
+
<PropsTable />
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
### `variant`
|
|
25
|
+
|
|
26
|
+
```astro live
|
|
27
|
+
---
|
|
28
|
+
import Badges from 'fulldev-ui/components/Badges.astro'
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
<Badges variant="primary" badges={[{ text: 'First' }, { text: 'Second' }]} />
|
|
32
|
+
<Badges variant="secondary" badges={[{ text: 'First' }, { text: 'Second' }]} />
|
|
33
|
+
<Badges variant="outline" badges={[{ text: 'First' }, { text: 'Second' }]} />
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### `size`
|
|
37
|
+
|
|
38
|
+
```astro live
|
|
39
|
+
---
|
|
40
|
+
import Badges from 'fulldev-ui/components/Badges.astro'
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
<Badges size="sm" badges={[{ text: 'First' }, { text: 'Second' }]} />
|
|
44
|
+
<Badges size="md" badges={[{ text: 'First' }, { text: 'Second' }]} />
|
|
45
|
+
<Badges size="lg" badges={[{ text: 'First' }, { text: 'Second' }]} />
|
|
46
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
_layout: doc
|
|
3
|
+
title: Button
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Button
|
|
7
|
+
|
|
8
|
+
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
9
|
+
|
|
10
|
+
```astro live
|
|
11
|
+
---
|
|
12
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<Button>Button</Button>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Props
|
|
19
|
+
|
|
20
|
+
<PropsTable />
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
### `variant`
|
|
25
|
+
|
|
26
|
+
```astro live
|
|
27
|
+
---
|
|
28
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
<Button variant="primary">Primary</Button>
|
|
32
|
+
<Button variant="secondary">Secondary</Button>
|
|
33
|
+
<Button variant="outline">Outline</Button>
|
|
34
|
+
<Button variant="ghost">Ghost</Button>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### `size`
|
|
38
|
+
|
|
39
|
+
```astro live
|
|
40
|
+
---
|
|
41
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
<Button size="sm">Small</Button>
|
|
45
|
+
<Button size="md">Medium</Button>
|
|
46
|
+
<Button size="lg">Large</Button>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### `icon`
|
|
50
|
+
|
|
51
|
+
```astro live
|
|
52
|
+
---
|
|
53
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
<Button icon="confetti" text="Button" />
|
|
57
|
+
<Button icon="confetti" />
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### `href`
|
|
61
|
+
|
|
62
|
+
```astro live
|
|
63
|
+
---
|
|
64
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
<Button href="#">Link</Button>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### `text`
|
|
71
|
+
|
|
72
|
+
```astro live
|
|
73
|
+
---
|
|
74
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
<Button text="Button" />
|
|
78
|
+
```
|