fulldev-ui 0.6.0-beta.2 → 0.6.0-beta.6
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/astro.config.ts +1 -7
- package/cloudcannon.config.yml +269 -0
- package/package.json +1 -1
- package/src/blocks/Banner.astro +13 -15
- package/src/blocks/Colleagues1.astro +73 -0
- package/src/blocks/Contact1.astro +100 -0
- package/src/blocks/Content1.astro +79 -0
- package/src/blocks/Content2.astro +94 -0
- package/src/blocks/Content3.astro +70 -0
- package/src/blocks/Content4.astro +75 -0
- package/src/blocks/Cta1.astro +73 -0
- package/src/blocks/Feature1.astro +61 -0
- package/src/blocks/Features1.astro +66 -0
- package/src/blocks/Footer.astro +36 -68
- package/src/blocks/Header.astro +150 -3
- package/src/blocks/Hero1.astro +74 -0
- package/src/blocks/Intro1.astro +70 -0
- package/src/blocks/Jobs1.astro +73 -0
- package/src/blocks/Logos1.astro +55 -0
- package/src/blocks/Products1.astro +90 -0
- package/src/blocks/Reviews1.astro +79 -0
- package/src/blocks/{Hero.astro → _Hero.astro} +7 -6
- package/src/components/Badge.astro +10 -18
- package/src/components/Badges.astro +12 -35
- package/src/components/Block.astro +30 -0
- package/src/components/Blocks.astro +26 -0
- package/src/components/Button.astro +11 -25
- package/src/components/Buttons.astro +12 -43
- package/src/components/Card.astro +8 -150
- package/src/components/Cart.astro +6 -11
- package/src/components/CartSummary.astro +3 -3
- package/src/components/Channel.astro +5 -14
- package/src/components/Container.astro +25 -0
- package/src/components/Drawer.astro +55 -117
- package/src/components/DrawerOld.astro +143 -0
- package/src/components/Element.astro +2 -0
- package/src/components/Form.astro +3 -1
- package/src/components/Grid.astro +39 -0
- package/src/components/Group.astro +25 -0
- package/src/components/Head.astro +18 -32
- package/src/components/Header.astro +8 -105
- package/src/components/Heading.astro +34 -71
- package/src/components/Icon.astro +5 -4
- package/src/components/Image.astro +15 -50
- package/src/components/Layout.astro +35 -0
- package/src/components/Link.astro +12 -18
- package/src/components/Links.astro +14 -35
- package/src/components/Logo.astro +26 -15
- package/src/components/Masonry.astro +42 -0
- package/src/components/Menu.astro +17 -38
- package/src/components/Menus.astro +20 -0
- package/src/components/Navigation.astro +39 -0
- package/src/components/Panel.astro +25 -0
- package/src/components/Paragraph.astro +24 -7
- package/src/components/Price.astro +4 -4
- package/src/components/Prose.astro +47 -130
- package/src/components/Rating.astro +24 -75
- package/src/components/Search.astro +5 -4
- package/src/components/Section.astro +20 -29
- package/src/components/Sidebar.astro +18 -69
- package/src/components/Social.astro +9 -2
- package/src/components/Stack.astro +25 -0
- package/src/components/Tagline.astro +21 -31
- package/src/components/Toc.astro +22 -21
- package/src/components/Writeup.astro +33 -82
- 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/content/config.ts +2 -29
- package/src/content/layouts/base.yml +42 -80
- package/src/content/pages/categories/category.md +7 -0
- package/src/content/{docs → pages/docs}/_internationalization.mdx +1 -0
- package/src/content/{docs → pages/docs}/_using-blocks.mdx +1 -0
- package/src/content/{docs → pages/docs}/_using-presets.mdx +1 -0
- package/src/content/{docs → pages/docs}/blocks.mdx +1 -0
- package/src/content/{docs → pages/docs}/collections/images.mdx +1 -0
- package/src/content/{docs → pages/docs}/collections/pages.mdx +1 -0
- package/src/content/{docs → pages/docs}/collections/presets.mdx +1 -0
- package/src/content/{docs → pages/docs}/collections.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/_card.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/_dialog.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/_drawer.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/_localeswitcher.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/_switch.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/_tagline.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/_toggle.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/avatar.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/badge.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/badges.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/button.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/buttons.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/channel.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/channels.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/checkbox.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/code.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/heading.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/icon.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/image.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/input.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/label.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/link.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/links.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/list.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/logo.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/menu.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/prose.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/rating.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/section.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/select.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/social.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/socials.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/switch.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/table.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/tagline.mdx +1 -0
- package/src/content/pages/docs/components/text.mdx +48 -0
- package/src/content/{docs → pages/docs}/components/textarea.mdx +1 -0
- package/src/content/{docs → pages/docs}/components/themer.mdx +1 -0
- package/src/content/{docs → pages/docs}/components.mdx +2 -4
- package/src/content/{docs → pages/docs}/customization.mdx +1 -0
- package/src/content/{docs → pages/docs}/frameworks.mdx +1 -0
- package/src/content/{docs → pages/docs}/generating-pages.mdx +1 -0
- package/src/content/{docs → pages/docs}/index.mdx +2 -4
- package/src/content/{docs → pages/docs}/installation.mdx +1 -0
- package/src/content/{docs → pages/docs}/layouts.mdx +1 -0
- package/src/content/pages/index.mdx +20 -28
- package/src/content/{categories/mugs.md → pages/posts/post.md} +1 -1
- package/src/content/{products → pages/products}/product.md +4 -4
- package/src/css/theme.css +2 -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/integration/index.ts +48 -17
- package/src/layouts/{CategoryLayout.astro → Category.astro} +21 -15
- package/src/layouts/Doc.astro +70 -0
- package/src/layouts/Job.astro +62 -0
- package/src/layouts/Jobs.astro +72 -0
- package/src/layouts/Page.astro +29 -0
- package/src/layouts/Post.astro +52 -0
- package/src/layouts/{ProductLayout.astro → Product.astro} +25 -11
- package/src/pages/[...page].astro +36 -4
- package/src/pages/test.astro +32 -2
- package/src/schemas/components/avatar.ts +4 -1
- package/src/schemas/components/badge.ts +16 -11
- package/src/schemas/components/block.ts +61 -0
- package/src/schemas/components/button.ts +14 -19
- package/src/schemas/components/channel.ts +15 -9
- package/src/schemas/components/footer.ts +15 -14
- package/src/schemas/components/head.ts +17 -0
- package/src/schemas/components/header.ts +19 -16
- package/src/schemas/components/heading.ts +7 -1
- package/src/schemas/components/icon.ts +7 -1
- package/src/schemas/components/image.ts +38 -21
- package/src/schemas/components/link.ts +10 -16
- package/src/schemas/components/logo.ts +12 -2
- package/src/schemas/components/menu.ts +12 -13
- package/src/schemas/components/navigation.ts +10 -0
- package/src/schemas/components/paragraph.ts +9 -0
- package/src/schemas/components/price.ts +9 -0
- package/src/schemas/components/rating.ts +8 -13
- package/src/schemas/components/sidebar.ts +14 -12
- 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 +40 -0
- package/src/types/global-props.ts +0 -9
- package/src/types/{virtual-modules.d.ts → virtual.d.ts} +1 -1
- package/src/utils/getHref.ts +4 -20
- package/tailwind.config.ts +4 -0
- package/tsconfig.json +1 -3
- package/example.svelte +0 -0
- package/parent.svelte +0 -0
- package/src/App.svelte +0 -0
- package/src/blocks/Categories.astro +0 -12
- package/src/blocks/Colleagues.astro +0 -12
- package/src/blocks/Contact.astro +0 -117
- package/src/blocks/Content.astro +0 -130
- package/src/blocks/Cta.astro +0 -13
- package/src/blocks/Excerpt.astro +0 -12
- package/src/blocks/Features.astro +0 -11
- package/src/blocks/Intro.astro +0 -101
- 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 -89
- package/src/blocks/Products.astro +0 -101
- package/src/blocks/Reviews.astro +0 -12
- package/src/blocks/_Contact.astro +0 -112
- package/src/components/CartForm.astro +0 -120
- package/src/components/CartList.astro +0 -122
- package/src/components/Lead.astro +0 -46
- package/src/components/ProductCard.astro +0 -52
- package/src/components/Text.astro +0 -43
- package/src/components/_CartList backup.astro +0 -125
- package/src/components/_CartList copy.astro +0 -213
- package/src/components/_CartListSimple.astro +0 -148
- package/src/components/sections.astro +0 -28
- package/src/content/docs/components/lead.mdx +0 -49
- package/src/content/docs/components/paragraph.mdx +0 -49
- package/src/content/layouts/docs.yml +0 -70
- package/src/layouts/DocLayout.astro +0 -17
- package/src/layouts/Layout.astro +0 -79
- package/src/layouts/PageLayout.astro +0 -20
- package/src/layouts/PostLayout.astro +0 -20
- package/src/loaders/imageLoader.ts +0 -26
- package/src/pages/[...category].astro +0 -17
- package/src/pages/[...doc].astro +0 -17
- package/src/pages/[...post].astro +0 -17
- package/src/pages/[...product].astro +0 -17
- package/src/schemas/archive/_pageSchema.ts +0 -94
- package/src/schemas/categorySchema.ts +0 -16
- package/src/schemas/components/avatars.ts +0 -4
- package/src/schemas/components/banner.ts +0 -3
- package/src/schemas/components/buttons.ts +0 -4
- package/src/schemas/components/card.ts +0 -43
- package/src/schemas/components/cards.ts +0 -4
- package/src/schemas/components/channels.ts +0 -4
- package/src/schemas/components/global.ts +0 -16
- package/src/schemas/components/links.ts +0 -4
- package/src/schemas/components/list.ts +0 -3
- package/src/schemas/components/section.ts +0 -17
- package/src/schemas/components/sections.ts +0 -3
- package/src/schemas/components/socials.ts +0 -4
- package/src/schemas/components/subheader.ts +0 -10
- package/src/schemas/components/text.ts +0 -3
- package/src/schemas/components/themer.ts +0 -3
- package/src/schemas/components/toc.ts +0 -3
- package/src/schemas/components/writeup.ts +0 -20
- package/src/schemas/docSchema.ts +0 -10
- package/src/schemas/fields/categories.ts +0 -3
- package/src/schemas/fields/description.ts +0 -3
- package/src/schemas/fields/href.ts +0 -3
- package/src/schemas/fields/image.ts +0 -24
- package/src/schemas/fields/images.ts +0 -4
- package/src/schemas/fields/order.ts +0 -3
- package/src/schemas/fields/price.ts +0 -3
- package/src/schemas/fields/products.ts +0 -5
- package/src/schemas/fields/seo.ts +0 -12
- package/src/schemas/fields/soldout.ts +0 -3
- package/src/schemas/fields/title.ts +0 -3
- package/src/schemas/fields/variants.ts +0 -3
- package/src/schemas/layoutSchema.ts +0 -28
- package/src/schemas/pageSchema.ts +0 -20
- package/src/schemas/postSchema.ts +0 -16
- package/src/schemas/productSchema.ts +0 -22
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Badge from 'fulldev-ui/components/Badge.astro'
|
|
4
|
+
import Buttons from 'fulldev-ui/components/Buttons.astro'
|
|
5
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
6
|
+
import Group from 'fulldev-ui/components/Group.astro'
|
|
7
|
+
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
8
|
+
import Image from 'fulldev-ui/components/Image.astro'
|
|
9
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
10
|
+
import Section from 'fulldev-ui/components/Section.astro'
|
|
11
|
+
import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
12
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
13
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
14
|
+
|
|
15
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
16
|
+
|
|
17
|
+
const {
|
|
18
|
+
badge,
|
|
19
|
+
tagline,
|
|
20
|
+
heading,
|
|
21
|
+
paragraph,
|
|
22
|
+
content,
|
|
23
|
+
button,
|
|
24
|
+
buttons,
|
|
25
|
+
image,
|
|
26
|
+
...rest
|
|
27
|
+
} = Astro.props
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
<Section
|
|
31
|
+
class:list="hero-1"
|
|
32
|
+
{...rest}
|
|
33
|
+
>
|
|
34
|
+
<Container>
|
|
35
|
+
<Writeup align="center">
|
|
36
|
+
<Badge
|
|
37
|
+
size="lg"
|
|
38
|
+
{...badge}
|
|
39
|
+
/>
|
|
40
|
+
<Tagline
|
|
41
|
+
size="sm"
|
|
42
|
+
text={tagline}
|
|
43
|
+
/>
|
|
44
|
+
<Heading
|
|
45
|
+
as="h1"
|
|
46
|
+
size="6xl"
|
|
47
|
+
text={heading}
|
|
48
|
+
/>
|
|
49
|
+
<Paragraph
|
|
50
|
+
size="xl"
|
|
51
|
+
text={paragraph}
|
|
52
|
+
/>
|
|
53
|
+
<Fragment set:html={content} />
|
|
54
|
+
<Group>
|
|
55
|
+
<Buttons
|
|
56
|
+
size="lg"
|
|
57
|
+
{button}
|
|
58
|
+
{buttons}
|
|
59
|
+
/>
|
|
60
|
+
</Group>
|
|
61
|
+
</Writeup>
|
|
62
|
+
<Image {...image} />
|
|
63
|
+
</Container>
|
|
64
|
+
</Section>
|
|
65
|
+
|
|
66
|
+
<style is:global>
|
|
67
|
+
@layer fulldev {
|
|
68
|
+
.hero-1 {
|
|
69
|
+
.image {
|
|
70
|
+
@apply rounded-lg;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
</style>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Buttons from 'fulldev-ui/components/Buttons.astro'
|
|
4
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
5
|
+
import Group from 'fulldev-ui/components/Group.astro'
|
|
6
|
+
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
7
|
+
import Image from 'fulldev-ui/components/Image.astro'
|
|
8
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
9
|
+
import Section from 'fulldev-ui/components/Section.astro'
|
|
10
|
+
import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
11
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
12
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
13
|
+
|
|
14
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
15
|
+
|
|
16
|
+
const {
|
|
17
|
+
badge,
|
|
18
|
+
tagline,
|
|
19
|
+
heading,
|
|
20
|
+
paragraph,
|
|
21
|
+
content,
|
|
22
|
+
button,
|
|
23
|
+
buttons,
|
|
24
|
+
image,
|
|
25
|
+
...rest
|
|
26
|
+
} = Astro.props
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
<Section
|
|
30
|
+
class:list="intro-1"
|
|
31
|
+
{...rest}
|
|
32
|
+
>
|
|
33
|
+
<Container>
|
|
34
|
+
<Writeup>
|
|
35
|
+
<Tagline
|
|
36
|
+
size="sm"
|
|
37
|
+
text={tagline}
|
|
38
|
+
/>
|
|
39
|
+
<Heading
|
|
40
|
+
as="h1"
|
|
41
|
+
size="3xl"
|
|
42
|
+
text={heading}
|
|
43
|
+
/>
|
|
44
|
+
<Paragraph
|
|
45
|
+
size="lg"
|
|
46
|
+
text={paragraph}
|
|
47
|
+
/>
|
|
48
|
+
<Fragment set:html={content} />
|
|
49
|
+
<Group>
|
|
50
|
+
<Buttons
|
|
51
|
+
{button}
|
|
52
|
+
{buttons}
|
|
53
|
+
/>
|
|
54
|
+
</Group>
|
|
55
|
+
</Writeup>
|
|
56
|
+
<Image {...image} />
|
|
57
|
+
</Container>
|
|
58
|
+
</Section>
|
|
59
|
+
|
|
60
|
+
<style is:global>
|
|
61
|
+
@layer fulldev {
|
|
62
|
+
.section.intro-1 {
|
|
63
|
+
@apply border-b py-8;
|
|
64
|
+
|
|
65
|
+
.image {
|
|
66
|
+
@apply rounded-lg;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import { getEntries } from 'astro:content'
|
|
4
|
+
import Card from 'fulldev-ui/components/Card.astro'
|
|
5
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
6
|
+
import Grid from 'fulldev-ui/components/Grid.astro'
|
|
7
|
+
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
8
|
+
import List from 'fulldev-ui/components/List.astro'
|
|
9
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
10
|
+
import Section from 'fulldev-ui/components/Section.astro'
|
|
11
|
+
import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
12
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
13
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
14
|
+
import { getHref } from 'fulldev-ui/utils/getHref'
|
|
15
|
+
|
|
16
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
17
|
+
|
|
18
|
+
const { tagline, heading, paragraph, pages, ...rest } = Astro.props
|
|
19
|
+
|
|
20
|
+
const entries = pages && (await getEntries(pages))
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
<Section
|
|
24
|
+
class:list="jobs-1"
|
|
25
|
+
{...rest}
|
|
26
|
+
>
|
|
27
|
+
<Container>
|
|
28
|
+
<Writeup align="center">
|
|
29
|
+
<Tagline
|
|
30
|
+
size="sm"
|
|
31
|
+
text={tagline}
|
|
32
|
+
/>
|
|
33
|
+
<Heading
|
|
34
|
+
size="3xl"
|
|
35
|
+
text={heading}
|
|
36
|
+
/>
|
|
37
|
+
<Paragraph text={paragraph} />
|
|
38
|
+
</Writeup>
|
|
39
|
+
<Grid>
|
|
40
|
+
{
|
|
41
|
+
entries?.map(({ slug, data: { title, list } }) => (
|
|
42
|
+
<Card
|
|
43
|
+
class="jobs-1-card"
|
|
44
|
+
href={getHref(slug)}
|
|
45
|
+
>
|
|
46
|
+
<Heading
|
|
47
|
+
as="h2"
|
|
48
|
+
size="lg"
|
|
49
|
+
text={title}
|
|
50
|
+
/>
|
|
51
|
+
<List
|
|
52
|
+
size="sm"
|
|
53
|
+
items={list}
|
|
54
|
+
/>
|
|
55
|
+
</Card>
|
|
56
|
+
))
|
|
57
|
+
}
|
|
58
|
+
</Grid>
|
|
59
|
+
</Container>
|
|
60
|
+
</Section>
|
|
61
|
+
|
|
62
|
+
<style is:global>
|
|
63
|
+
@layer fulldev {
|
|
64
|
+
.jobs-1 {
|
|
65
|
+
.container {
|
|
66
|
+
@apply flex flex-col items-center gap-16;
|
|
67
|
+
}
|
|
68
|
+
.card {
|
|
69
|
+
@apply flex flex-col gap-3;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
4
|
+
import Element from 'fulldev-ui/components/Element.astro'
|
|
5
|
+
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
6
|
+
import Image from 'fulldev-ui/components/Image.astro'
|
|
7
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
8
|
+
import Section from 'fulldev-ui/components/Section.astro'
|
|
9
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
10
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block.ts'
|
|
11
|
+
|
|
12
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
13
|
+
|
|
14
|
+
const { tagline, heading, paragraph, images, ...rest } = Astro.props
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<Section
|
|
18
|
+
class:list="logos-1"
|
|
19
|
+
{...rest}
|
|
20
|
+
>
|
|
21
|
+
<Container>
|
|
22
|
+
<Writeup align="center">
|
|
23
|
+
<Heading
|
|
24
|
+
size="xl"
|
|
25
|
+
text={heading}
|
|
26
|
+
/>
|
|
27
|
+
<Paragraph
|
|
28
|
+
size="sm"
|
|
29
|
+
muted
|
|
30
|
+
text={paragraph}
|
|
31
|
+
/>
|
|
32
|
+
</Writeup>
|
|
33
|
+
<Element class:list="logos-1-cards">
|
|
34
|
+
{images?.map((image) => <Image {...image} />)}
|
|
35
|
+
</Element>
|
|
36
|
+
</Container>
|
|
37
|
+
</Section>
|
|
38
|
+
|
|
39
|
+
<style is:global>
|
|
40
|
+
@layer fulldev {
|
|
41
|
+
.logos-1 {
|
|
42
|
+
.container {
|
|
43
|
+
@apply flex flex-col items-center gap-8;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.logos-1-cards {
|
|
47
|
+
@apply flex flex-wrap justify-center gap-12;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.image {
|
|
51
|
+
@apply max-w-36;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
</style>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import { getEntries } from 'astro:content'
|
|
4
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
5
|
+
import Card from 'fulldev-ui/components/Card.astro'
|
|
6
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
7
|
+
import Element from 'fulldev-ui/components/Element.astro'
|
|
8
|
+
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
9
|
+
import Image from 'fulldev-ui/components/Image.astro'
|
|
10
|
+
import Price from 'fulldev-ui/components/Price.astro'
|
|
11
|
+
import Section from 'fulldev-ui/components/Section.astro'
|
|
12
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
13
|
+
import { getHref } from 'fulldev-ui/utils/getHref'
|
|
14
|
+
|
|
15
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
16
|
+
|
|
17
|
+
const { heading, button, products, ...rest } = Astro.props
|
|
18
|
+
|
|
19
|
+
const entries = products && (await getEntries(products))
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
<Section
|
|
23
|
+
class:list="products-1"
|
|
24
|
+
{...rest}
|
|
25
|
+
>
|
|
26
|
+
<Container>
|
|
27
|
+
<Element class:list="products-1-segment">
|
|
28
|
+
<Heading
|
|
29
|
+
size="2xl"
|
|
30
|
+
text={heading}
|
|
31
|
+
/>
|
|
32
|
+
<Button
|
|
33
|
+
variant="ghost"
|
|
34
|
+
size="sm"
|
|
35
|
+
{...button}
|
|
36
|
+
/>
|
|
37
|
+
</Element>
|
|
38
|
+
<Element class:list="products-1-cards">
|
|
39
|
+
{
|
|
40
|
+
entries?.map(({ slug, data: { images, title, price } }) => (
|
|
41
|
+
<Card href={getHref(slug)}>
|
|
42
|
+
<Image {...images?.[0]} />
|
|
43
|
+
<Element class:list="products-1-card-content">
|
|
44
|
+
<Heading
|
|
45
|
+
as="h3"
|
|
46
|
+
size="md"
|
|
47
|
+
text={title}
|
|
48
|
+
/>
|
|
49
|
+
<Price amount={price} />
|
|
50
|
+
</Element>
|
|
51
|
+
</Card>
|
|
52
|
+
))
|
|
53
|
+
}
|
|
54
|
+
</Element>
|
|
55
|
+
</Container>
|
|
56
|
+
</Section>
|
|
57
|
+
|
|
58
|
+
<style is:global>
|
|
59
|
+
@layer fulldev {
|
|
60
|
+
.products-1 {
|
|
61
|
+
.container {
|
|
62
|
+
@apply flex flex-col gap-8;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.products-1-segment {
|
|
66
|
+
@apply flex items-center justify-between gap-8;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.products-1-cards {
|
|
70
|
+
@apply grid grid-cols-2 items-start gap-4 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.card {
|
|
74
|
+
@apply relative flex flex-col gap-3;
|
|
75
|
+
|
|
76
|
+
&:hover > .image {
|
|
77
|
+
@apply opacity-75 transition-opacity;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.image {
|
|
81
|
+
@apply rounded-md border;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.products-1-card-content {
|
|
86
|
+
@apply flex h-full flex-col gap-2;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
</style>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Card from 'fulldev-ui/components/Card.astro'
|
|
4
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
5
|
+
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
6
|
+
import Masonry from 'fulldev-ui/components/Masonry.astro'
|
|
7
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
8
|
+
import Rating from 'fulldev-ui/components/Rating.astro'
|
|
9
|
+
import Section from 'fulldev-ui/components/Section.astro'
|
|
10
|
+
import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
11
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
12
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
13
|
+
|
|
14
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
15
|
+
|
|
16
|
+
const { tagline, heading, paragraph, cards, ...rest } = Astro.props
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<Section
|
|
20
|
+
class:list="reviews-1"
|
|
21
|
+
{...rest}
|
|
22
|
+
>
|
|
23
|
+
<Container>
|
|
24
|
+
<Writeup align="center">
|
|
25
|
+
<Tagline
|
|
26
|
+
size="sm"
|
|
27
|
+
text={tagline}
|
|
28
|
+
/>
|
|
29
|
+
<Heading
|
|
30
|
+
size="3xl"
|
|
31
|
+
text={heading}
|
|
32
|
+
/>
|
|
33
|
+
<Paragraph text={paragraph} />
|
|
34
|
+
</Writeup>
|
|
35
|
+
<Masonry>
|
|
36
|
+
{
|
|
37
|
+
cards?.map(({ rating, heading, paragraph }) => (
|
|
38
|
+
<Card class="reviews-1-card">
|
|
39
|
+
<Rating
|
|
40
|
+
size="sm"
|
|
41
|
+
score={rating}
|
|
42
|
+
/>
|
|
43
|
+
<Heading
|
|
44
|
+
as="h3"
|
|
45
|
+
size="md"
|
|
46
|
+
text={heading}
|
|
47
|
+
/>
|
|
48
|
+
<Paragraph
|
|
49
|
+
size="sm"
|
|
50
|
+
text={paragraph}
|
|
51
|
+
/>
|
|
52
|
+
</Card>
|
|
53
|
+
))
|
|
54
|
+
}
|
|
55
|
+
</Masonry>
|
|
56
|
+
</Container>
|
|
57
|
+
</Section>
|
|
58
|
+
|
|
59
|
+
<style is:global>
|
|
60
|
+
@layer fulldev {
|
|
61
|
+
.reviews-1 {
|
|
62
|
+
.container {
|
|
63
|
+
@apply flex flex-col items-center gap-16;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.reviews-1-cards {
|
|
67
|
+
@apply grid grid-cols-1 gap-6 lg:grid-cols-3;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.reviews-1-card {
|
|
71
|
+
@apply flex flex-col gap-3;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.icon {
|
|
75
|
+
@apply text-primary;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
</style>
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { ComponentProps,
|
|
1
|
+
<!-- ---
|
|
2
|
+
import type { ComponentProps,HTMLAttributes,HTMLTag } from 'astro/types'
|
|
3
3
|
import Badge from 'fulldev-ui/components/Badge.astro'
|
|
4
4
|
import Buttons from 'fulldev-ui/components/Buttons.astro'
|
|
5
5
|
import Element from 'fulldev-ui/components/Element.astro'
|
|
6
6
|
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
7
7
|
import Image from 'fulldev-ui/components/Image.astro'
|
|
8
|
-
import
|
|
9
|
-
|
|
8
|
+
import Paragraph,{
|
|
9
|
+
default as Lead,
|
|
10
|
+
} from 'fulldev-ui/components/Paragraph.astro'
|
|
10
11
|
import Rating from 'fulldev-ui/components/Rating.astro'
|
|
11
12
|
import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
12
13
|
|
|
@@ -69,7 +70,7 @@ const {
|
|
|
69
70
|
{level}
|
|
70
71
|
{size}
|
|
71
72
|
/>
|
|
72
|
-
<
|
|
73
|
+
<Paragraph
|
|
73
74
|
text={lead}
|
|
74
75
|
{size}
|
|
75
76
|
/>
|
|
@@ -241,4 +242,4 @@ const {
|
|
|
241
242
|
}
|
|
242
243
|
}
|
|
243
244
|
}
|
|
244
|
-
</style>
|
|
245
|
+
</style> -->
|
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
---
|
|
2
|
-
import type {
|
|
3
|
-
import type { CollectionEntry } from 'astro:content'
|
|
4
|
-
import { getEntry } from 'astro:content'
|
|
2
|
+
import type { HTMLAttributes, HTMLTag } from 'astro/types'
|
|
5
3
|
import Element from 'fulldev-ui/components/Element.astro'
|
|
6
4
|
import Icon from 'fulldev-ui/components/Icon.astro'
|
|
7
|
-
import type {
|
|
5
|
+
import type { BadgeSchema } from 'fulldev-ui/schemas/components/badge'
|
|
8
6
|
|
|
9
7
|
interface Props
|
|
10
|
-
extends
|
|
11
|
-
HTMLAttributes<'
|
|
12
|
-
|
|
8
|
+
extends HTMLAttributes<'button'>,
|
|
9
|
+
Omit<HTMLAttributes<'a'>, 'href' | 'target'>,
|
|
10
|
+
BadgeSchema {
|
|
13
11
|
as?: HTMLTag
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
slug?: CollectionEntry<'pages'>['slug'] | undefined
|
|
17
|
-
variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | undefined
|
|
18
|
-
text?: string | undefined
|
|
12
|
+
type?: HTMLAttributes<'button'>['type'] & HTMLAttributes<'a'>['type']
|
|
13
|
+
reverse?: boolean | undefined
|
|
19
14
|
}
|
|
20
15
|
|
|
21
16
|
const {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
text = slug ? (await getEntry('pages', slug)).data.title : undefined,
|
|
25
|
-
as = href ? 'a' : 'div',
|
|
26
|
-
target = href?.startsWith('http') ? '_blank' : undefined,
|
|
17
|
+
href,
|
|
18
|
+
as = href ? 'a' : 'button',
|
|
27
19
|
variant = 'outline',
|
|
28
20
|
size = 'md',
|
|
21
|
+
text,
|
|
29
22
|
icon,
|
|
30
23
|
...rest
|
|
31
24
|
} = Astro.props
|
|
@@ -35,7 +28,6 @@ const {
|
|
|
35
28
|
class:list="badge"
|
|
36
29
|
{as}
|
|
37
30
|
{href}
|
|
38
|
-
{target}
|
|
39
31
|
{variant}
|
|
40
32
|
{size}
|
|
41
33
|
{...rest}
|
|
@@ -1,43 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
-
import type { ComponentProps
|
|
3
|
-
import Element from 'fulldev-ui/components/Element.astro'
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
4
3
|
import Badge from './Badge.astro'
|
|
5
4
|
|
|
6
|
-
interface Props extends
|
|
7
|
-
variant?: ComponentProps<typeof Badge>['variant']
|
|
8
|
-
size?: ComponentProps<typeof Badge>['size']
|
|
9
|
-
badges?: ComponentProps<typeof Badge>[] | undefined
|
|
5
|
+
interface Props extends ComponentProps<typeof Badge> {
|
|
10
6
|
badge?: ComponentProps<typeof Badge> | undefined
|
|
7
|
+
badges?: ComponentProps<typeof Badge>[] | undefined
|
|
11
8
|
}
|
|
12
9
|
|
|
13
|
-
const {
|
|
14
|
-
variant = 'outline',
|
|
15
|
-
size = 'md',
|
|
16
|
-
badges = [],
|
|
17
|
-
badge,
|
|
18
|
-
...rest
|
|
19
|
-
} = Astro.props
|
|
10
|
+
const { badge, badges, ...rest } = Astro.props
|
|
20
11
|
---
|
|
21
12
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
{size}
|
|
31
|
-
{...badge}
|
|
32
|
-
/>
|
|
33
|
-
))
|
|
34
|
-
}
|
|
35
|
-
</Element>
|
|
36
|
-
|
|
37
|
-
<style is:global>
|
|
38
|
-
@layer fulldev {
|
|
39
|
-
.badges {
|
|
40
|
-
@apply inline-flex w-auto flex-wrap justify-stretch gap-1.5;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
</style>
|
|
13
|
+
{
|
|
14
|
+
[badge, ...(badges || [])].filter(Boolean).map((badge) => (
|
|
15
|
+
<Badge
|
|
16
|
+
{...badge}
|
|
17
|
+
{...rest}
|
|
18
|
+
/>
|
|
19
|
+
))
|
|
20
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { getEntries } from 'astro:content'
|
|
3
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
4
|
+
|
|
5
|
+
interface Props extends BlockSchema {}
|
|
6
|
+
|
|
7
|
+
let { _block, pages, ...rest } = Astro.props
|
|
8
|
+
|
|
9
|
+
pages = pages && (await getEntries(pages))
|
|
10
|
+
|
|
11
|
+
const blocks = {
|
|
12
|
+
...import.meta.glob('/src/blocks/**/*.astro'),
|
|
13
|
+
...import.meta.glob('../blocks/**/*.astro'),
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const path = Object.keys(blocks).find(
|
|
17
|
+
(path) => path.split('/').pop()?.split('.')[0] === _block
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
const BlockComponent = path && (await (blocks[path] as any)()).default
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
{
|
|
24
|
+
BlockComponent && (
|
|
25
|
+
<BlockComponent
|
|
26
|
+
{pages}
|
|
27
|
+
{...rest}
|
|
28
|
+
/>
|
|
29
|
+
)
|
|
30
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps, HTMLAttributes } from 'astro/types'
|
|
3
|
+
import Block from 'fulldev-ui/components/Block.astro'
|
|
4
|
+
import Element from 'fulldev-ui/components/Element.astro'
|
|
5
|
+
|
|
6
|
+
interface Props extends HTMLAttributes<'div'> {
|
|
7
|
+
blocks?: ComponentProps<typeof Block>[] | undefined
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { blocks, ...rest } = Astro.props
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<Element
|
|
14
|
+
class:list="blocks"
|
|
15
|
+
{...rest}
|
|
16
|
+
>
|
|
17
|
+
{blocks?.map((block) => <Block {...block} />)}
|
|
18
|
+
</Element>
|
|
19
|
+
|
|
20
|
+
<style is:global>
|
|
21
|
+
@layer fulldev {
|
|
22
|
+
.blocks {
|
|
23
|
+
@apply flex flex-col;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
</style>
|