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,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Badges from 'fulldev-ui/components/Badges.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 List from 'fulldev-ui/components/List.astro'
|
|
9
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
10
|
+
import Prose from 'fulldev-ui/components/Prose.astro'
|
|
11
|
+
import Section from 'fulldev-ui/components/Section.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 { badge, badges, heading, paragraph, list, button, buttons, ...rest } =
|
|
18
|
+
Astro.props
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
<Section
|
|
22
|
+
class:list="content-3"
|
|
23
|
+
{...rest}
|
|
24
|
+
>
|
|
25
|
+
<Container>
|
|
26
|
+
<Writeup>
|
|
27
|
+
<Group>
|
|
28
|
+
<Badges
|
|
29
|
+
size="sm"
|
|
30
|
+
{badge}
|
|
31
|
+
{badges}
|
|
32
|
+
/>
|
|
33
|
+
</Group>
|
|
34
|
+
<Heading
|
|
35
|
+
as="h1"
|
|
36
|
+
size="4xl"
|
|
37
|
+
text={heading}
|
|
38
|
+
/>
|
|
39
|
+
<Paragraph
|
|
40
|
+
size="lg"
|
|
41
|
+
muted
|
|
42
|
+
text={paragraph}
|
|
43
|
+
/>
|
|
44
|
+
<List items={list} />
|
|
45
|
+
<Group>
|
|
46
|
+
<Buttons
|
|
47
|
+
{button}
|
|
48
|
+
{buttons}
|
|
49
|
+
/>
|
|
50
|
+
</Group>
|
|
51
|
+
</Writeup>
|
|
52
|
+
<Prose>
|
|
53
|
+
<slot />
|
|
54
|
+
</Prose>
|
|
55
|
+
</Container>
|
|
56
|
+
</Section>
|
|
57
|
+
|
|
58
|
+
<style is:global>
|
|
59
|
+
@layer fulldev {
|
|
60
|
+
.content-3 {
|
|
61
|
+
.container {
|
|
62
|
+
@apply flex flex-col items-start gap-x-gutter lg:grid lg:grid-cols-2;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.writeup {
|
|
66
|
+
@apply lg:sticky lg:top-sticky-16 lg:max-w-xl;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
</style>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Button from 'fulldev-ui/components/Button.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 List from 'fulldev-ui/components/List.astro'
|
|
8
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
9
|
+
import Prose from 'fulldev-ui/components/Prose.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
|
+
tagline,
|
|
19
|
+
heading,
|
|
20
|
+
paragraph,
|
|
21
|
+
list,
|
|
22
|
+
content,
|
|
23
|
+
button,
|
|
24
|
+
buttons,
|
|
25
|
+
image,
|
|
26
|
+
...rest
|
|
27
|
+
} = Astro.props
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
<Section
|
|
31
|
+
class:list="content-4"
|
|
32
|
+
{...rest}
|
|
33
|
+
>
|
|
34
|
+
<Container>
|
|
35
|
+
<Writeup>
|
|
36
|
+
<Tagline
|
|
37
|
+
size="sm"
|
|
38
|
+
text={tagline}
|
|
39
|
+
/>
|
|
40
|
+
<Heading
|
|
41
|
+
as="h1"
|
|
42
|
+
size="4xl"
|
|
43
|
+
text={heading}
|
|
44
|
+
/>
|
|
45
|
+
<Paragraph
|
|
46
|
+
size="lg"
|
|
47
|
+
muted
|
|
48
|
+
text={paragraph}
|
|
49
|
+
/>
|
|
50
|
+
<List items={list} />
|
|
51
|
+
</Writeup>
|
|
52
|
+
<Prose>
|
|
53
|
+
<Fragment set:html={content} />
|
|
54
|
+
<slot />
|
|
55
|
+
</Prose>
|
|
56
|
+
<Group>
|
|
57
|
+
<Button {...button} />
|
|
58
|
+
{buttons?.map((button) => <Button {...button} />)}
|
|
59
|
+
</Group>
|
|
60
|
+
</Container>
|
|
61
|
+
</Section>
|
|
62
|
+
|
|
63
|
+
<style is:global>
|
|
64
|
+
@layer fulldev {
|
|
65
|
+
.content-4 {
|
|
66
|
+
.container {
|
|
67
|
+
@apply flex flex-col items-start gap-8;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.prose {
|
|
71
|
+
@apply max-w-none break-inside-avoid gap-x-gutter lg:columns-2;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
</style>
|
|
@@ -0,0 +1,73 @@
|
|
|
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 Panel from 'fulldev-ui/components/Panel.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
|
+
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="cta-1"
|
|
31
|
+
{...rest}
|
|
32
|
+
>
|
|
33
|
+
<Container>
|
|
34
|
+
<Panel>
|
|
35
|
+
<Writeup align="center">
|
|
36
|
+
<Tagline text={tagline} />
|
|
37
|
+
<Heading
|
|
38
|
+
size="4xl"
|
|
39
|
+
as="h2"
|
|
40
|
+
text={heading}
|
|
41
|
+
/>
|
|
42
|
+
<Paragraph
|
|
43
|
+
size="lg"
|
|
44
|
+
text={paragraph}
|
|
45
|
+
/>
|
|
46
|
+
<Fragment set:html={content} />
|
|
47
|
+
<Group>
|
|
48
|
+
<Buttons
|
|
49
|
+
variant="primary"
|
|
50
|
+
size="lg"
|
|
51
|
+
{button}
|
|
52
|
+
{buttons}
|
|
53
|
+
/>
|
|
54
|
+
</Group>
|
|
55
|
+
</Writeup>
|
|
56
|
+
<Image {...image} />
|
|
57
|
+
</Panel>
|
|
58
|
+
</Container>
|
|
59
|
+
</Section>
|
|
60
|
+
|
|
61
|
+
<style is:global>
|
|
62
|
+
@layer fulldev {
|
|
63
|
+
.cta-1 {
|
|
64
|
+
.text {
|
|
65
|
+
@apply text-pretty;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.image {
|
|
69
|
+
@apply rounded-lg;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
@@ -0,0 +1,61 @@
|
|
|
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 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 Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
10
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
11
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
12
|
+
|
|
13
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
14
|
+
|
|
15
|
+
const { tagline, heading, paragraph, buttons, image, ...rest } = Astro.props
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<Section
|
|
19
|
+
class:list="feature-1"
|
|
20
|
+
{...rest}
|
|
21
|
+
>
|
|
22
|
+
<Container>
|
|
23
|
+
<Writeup>
|
|
24
|
+
<Tagline
|
|
25
|
+
size="sm"
|
|
26
|
+
text={tagline}
|
|
27
|
+
/>
|
|
28
|
+
<Heading
|
|
29
|
+
size="3xl"
|
|
30
|
+
text={heading}
|
|
31
|
+
/>
|
|
32
|
+
<Paragraph
|
|
33
|
+
size="lg"
|
|
34
|
+
text={paragraph}
|
|
35
|
+
/>
|
|
36
|
+
<Buttons
|
|
37
|
+
variant="secondary"
|
|
38
|
+
{buttons}
|
|
39
|
+
/>
|
|
40
|
+
</Writeup>
|
|
41
|
+
<Image {...image} />
|
|
42
|
+
</Container>
|
|
43
|
+
</Section>
|
|
44
|
+
|
|
45
|
+
<style is:global>
|
|
46
|
+
@layer fulldev {
|
|
47
|
+
.feature-1 {
|
|
48
|
+
.container {
|
|
49
|
+
@apply gap-x-gutter gap-y-12 lg:grid lg:grid-cols-2 lg:items-center;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.writeup {
|
|
53
|
+
@apply lg:max-w-xl;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.image {
|
|
57
|
+
@apply rounded-lg;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
</style>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
4
|
+
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
5
|
+
import Icon from 'fulldev-ui/components/Icon.astro'
|
|
6
|
+
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
7
|
+
import Section from 'fulldev-ui/components/Section.astro'
|
|
8
|
+
import Stack from 'fulldev-ui/components/Stack.astro'
|
|
9
|
+
import Tagline from 'fulldev-ui/components/Tagline.astro'
|
|
10
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
11
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
12
|
+
|
|
13
|
+
interface Props extends ComponentProps<typeof Section>, BlockSchema {}
|
|
14
|
+
|
|
15
|
+
const { tagline, heading, paragraph, cards, ...rest } = Astro.props
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<Section
|
|
19
|
+
class:list="features-1"
|
|
20
|
+
{...rest}
|
|
21
|
+
>
|
|
22
|
+
<Container>
|
|
23
|
+
<Writeup>
|
|
24
|
+
<Tagline
|
|
25
|
+
size="sm"
|
|
26
|
+
text={tagline}
|
|
27
|
+
/>
|
|
28
|
+
<Heading
|
|
29
|
+
size="3xl"
|
|
30
|
+
text={heading}
|
|
31
|
+
/>
|
|
32
|
+
<Paragraph
|
|
33
|
+
size="lg"
|
|
34
|
+
text={paragraph}
|
|
35
|
+
/>
|
|
36
|
+
</Writeup>
|
|
37
|
+
<Stack>
|
|
38
|
+
{
|
|
39
|
+
cards?.map(({ icon, heading, paragraph }) => (
|
|
40
|
+
<Writeup>
|
|
41
|
+
<Icon
|
|
42
|
+
size="lg"
|
|
43
|
+
name={icon}
|
|
44
|
+
/>
|
|
45
|
+
<Heading
|
|
46
|
+
as="h3"
|
|
47
|
+
size="xl"
|
|
48
|
+
text={heading}
|
|
49
|
+
/>
|
|
50
|
+
<Paragraph text={paragraph} />
|
|
51
|
+
</Writeup>
|
|
52
|
+
))
|
|
53
|
+
}
|
|
54
|
+
</Stack>
|
|
55
|
+
</Container>
|
|
56
|
+
</Section>
|
|
57
|
+
|
|
58
|
+
<style is:global>
|
|
59
|
+
@layer fulldev {
|
|
60
|
+
.features-1 {
|
|
61
|
+
.icon {
|
|
62
|
+
@apply text-primary;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
</style>
|
package/src/blocks/Footer.astro
CHANGED
|
@@ -1,41 +1,30 @@
|
|
|
1
1
|
---
|
|
2
|
-
import type {
|
|
2
|
+
import type { HTMLAttributes, HTMLTag } from 'astro/types'
|
|
3
3
|
import Channels from 'fulldev-ui/components/Channels.astro'
|
|
4
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
4
5
|
import Element from 'fulldev-ui/components/Element.astro'
|
|
5
|
-
import
|
|
6
|
+
import Group from 'fulldev-ui/components/Group.astro'
|
|
6
7
|
import Logo from 'fulldev-ui/components/Logo.astro'
|
|
7
|
-
import
|
|
8
|
-
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
8
|
+
import Menus from 'fulldev-ui/components/Menus.astro'
|
|
9
|
+
import { default as Paragraph } from 'fulldev-ui/components/Paragraph.astro'
|
|
9
10
|
import Socials from 'fulldev-ui/components/Socials.astro'
|
|
10
|
-
import
|
|
11
|
-
import type {
|
|
11
|
+
import Writeup from 'fulldev-ui/components/Writeup.astro'
|
|
12
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
12
13
|
|
|
13
|
-
interface Props extends
|
|
14
|
+
interface Props extends HTMLAttributes<'footer'>, BlockSchema {
|
|
14
15
|
as?: HTMLTag
|
|
15
|
-
variant?: 1 | undefined
|
|
16
|
-
size?: 'sm' | 'md' | 'lg' | undefined
|
|
17
|
-
logo?: ComponentProps<typeof Logo>['src']
|
|
18
|
-
company?: ComponentProps<typeof Logo>['company']
|
|
19
|
-
paragraph?: ComponentProps<typeof Paragraph>['text']
|
|
20
|
-
socials?: ComponentProps<typeof Socials>['socials']
|
|
21
|
-
channels?: ComponentProps<typeof Channels>['channels']
|
|
22
|
-
hours?: any
|
|
23
|
-
menu?: ComponentProps<typeof Menu>['groups']
|
|
24
|
-
html?: any
|
|
25
16
|
}
|
|
26
17
|
|
|
27
18
|
const {
|
|
28
19
|
as = 'footer',
|
|
29
|
-
size = 'sm',
|
|
30
|
-
variant = 1,
|
|
31
20
|
logo,
|
|
32
|
-
|
|
21
|
+
heading,
|
|
33
22
|
paragraph,
|
|
34
23
|
socials,
|
|
35
24
|
channels,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
html,
|
|
25
|
+
menus,
|
|
26
|
+
// hours,
|
|
27
|
+
// html,
|
|
39
28
|
...rest
|
|
40
29
|
} = Astro.props
|
|
41
30
|
---
|
|
@@ -43,68 +32,47 @@ const {
|
|
|
43
32
|
<Element
|
|
44
33
|
class:list="footer"
|
|
45
34
|
{as}
|
|
46
|
-
{size}
|
|
47
|
-
{variant}
|
|
48
35
|
{...rest}
|
|
49
36
|
>
|
|
50
|
-
<
|
|
51
|
-
<
|
|
37
|
+
<Container class:list="footer-container">
|
|
38
|
+
<Writeup>
|
|
52
39
|
<Logo
|
|
53
|
-
|
|
54
|
-
{
|
|
55
|
-
{...typeof logo === 'string' ? { src: logo } : logo}
|
|
40
|
+
size="sm"
|
|
41
|
+
{...logo}
|
|
56
42
|
/>
|
|
57
43
|
<Paragraph
|
|
58
|
-
|
|
44
|
+
size="sm"
|
|
59
45
|
text={paragraph}
|
|
60
46
|
/>
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
47
|
+
<Group>
|
|
48
|
+
<Socials
|
|
49
|
+
variant="secondary"
|
|
50
|
+
size="sm"
|
|
51
|
+
/>
|
|
52
|
+
</Group>
|
|
53
|
+
</Writeup>
|
|
54
|
+
<Element class:list="footer-channels">
|
|
55
|
+
<Channels {channels} />
|
|
65
56
|
</Element>
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<Menu
|
|
70
|
-
direction="row"
|
|
71
|
-
groups={menu}
|
|
72
|
-
{size}
|
|
57
|
+
<Menus
|
|
58
|
+
size="sm"
|
|
59
|
+
{menus}
|
|
73
60
|
/>
|
|
74
|
-
|
|
75
|
-
<Heading
|
|
76
|
-
text={hours?.heading}
|
|
77
|
-
level={5}
|
|
78
|
-
/>
|
|
79
|
-
<Element>
|
|
80
|
-
{
|
|
81
|
-
Object.entries(hours?.days ?? {})?.map(([key, value]: any) => (
|
|
82
|
-
<Element class:list="spread">
|
|
83
|
-
<Text text={key} />
|
|
84
|
-
<Text text={value} />
|
|
85
|
-
</Element>
|
|
86
|
-
))
|
|
87
|
-
}
|
|
88
|
-
</Element>
|
|
89
|
-
</Element>
|
|
90
|
-
</Element>
|
|
61
|
+
</Container>
|
|
91
62
|
</Element>
|
|
92
63
|
|
|
93
64
|
<style is:global>
|
|
94
65
|
@layer fulldev {
|
|
95
66
|
.footer {
|
|
96
|
-
@apply relative mt-auto w-full;
|
|
97
|
-
|
|
98
|
-
&.dark {
|
|
99
|
-
@apply bg-background;
|
|
100
|
-
}
|
|
67
|
+
@apply relative mt-auto w-full border-t bg-background;
|
|
101
68
|
|
|
102
|
-
.
|
|
103
|
-
@apply
|
|
69
|
+
.container {
|
|
70
|
+
@apply grid grid-cols-[repeat(auto-fit,minmax(14rem,1fr))] gap-12 py-12;
|
|
104
71
|
}
|
|
105
72
|
|
|
106
|
-
.
|
|
107
|
-
|
|
73
|
+
.writeup,
|
|
74
|
+
.footer-channels {
|
|
75
|
+
@apply max-w-xs;
|
|
108
76
|
}
|
|
109
77
|
}
|
|
110
78
|
}
|
package/src/blocks/Header.astro
CHANGED
|
@@ -1,7 +1,154 @@
|
|
|
1
1
|
---
|
|
2
|
-
import
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import Button from 'fulldev-ui/components/Button.astro'
|
|
4
|
+
import Buttons from 'fulldev-ui/components/Buttons.astro'
|
|
5
|
+
// import Cart from 'fulldev-ui/components/Cart.astro'
|
|
6
|
+
import Container from 'fulldev-ui/components/Container.astro'
|
|
7
|
+
import Drawer from 'fulldev-ui/components/Drawer.astro'
|
|
8
|
+
import Element from 'fulldev-ui/components/Element.astro'
|
|
9
|
+
import Links from 'fulldev-ui/components/Links.astro'
|
|
10
|
+
import Logo from 'fulldev-ui/components/Logo.astro'
|
|
11
|
+
import Menus from 'fulldev-ui/components/Menus.astro'
|
|
12
|
+
import Search from 'fulldev-ui/components/Search.astro'
|
|
13
|
+
import Socials from 'fulldev-ui/components/Socials.astro'
|
|
14
|
+
import Themer from 'fulldev-ui/components/Themer.astro'
|
|
15
|
+
import type { BlockSchema } from 'fulldev-ui/schemas/components/block'
|
|
3
16
|
|
|
4
|
-
|
|
17
|
+
interface Props extends HTMLAttributes<'header'>, BlockSchema {}
|
|
18
|
+
|
|
19
|
+
const {
|
|
20
|
+
logo,
|
|
21
|
+
heading,
|
|
22
|
+
links,
|
|
23
|
+
socials,
|
|
24
|
+
menus,
|
|
25
|
+
search,
|
|
26
|
+
themer,
|
|
27
|
+
buttons,
|
|
28
|
+
cart,
|
|
29
|
+
...rest
|
|
30
|
+
} = Astro.props
|
|
5
31
|
---
|
|
6
32
|
|
|
7
|
-
<
|
|
33
|
+
<Element
|
|
34
|
+
class:list="header"
|
|
35
|
+
{...rest}
|
|
36
|
+
>
|
|
37
|
+
<Container>
|
|
38
|
+
<Element class:list="header-start">
|
|
39
|
+
<Logo {...logo} />
|
|
40
|
+
<Links
|
|
41
|
+
size="sm"
|
|
42
|
+
variant="muted"
|
|
43
|
+
{links}
|
|
44
|
+
/>
|
|
45
|
+
</Element>
|
|
46
|
+
<Element class:list="header-end">
|
|
47
|
+
{
|
|
48
|
+
search && (
|
|
49
|
+
<Search
|
|
50
|
+
if={search}
|
|
51
|
+
variant="ghost"
|
|
52
|
+
size="sm"
|
|
53
|
+
/>
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
<Buttons
|
|
57
|
+
size="sm"
|
|
58
|
+
{buttons}
|
|
59
|
+
/>
|
|
60
|
+
|
|
61
|
+
<!-- {
|
|
62
|
+
cart && (
|
|
63
|
+
<Cart
|
|
64
|
+
variant="ghost"
|
|
65
|
+
size="sm"
|
|
66
|
+
/>
|
|
67
|
+
)
|
|
68
|
+
} -->
|
|
69
|
+
<Themer
|
|
70
|
+
if={themer}
|
|
71
|
+
variant="ghost"
|
|
72
|
+
size="sm"
|
|
73
|
+
/>
|
|
74
|
+
<Socials
|
|
75
|
+
size="sm"
|
|
76
|
+
variant="ghost"
|
|
77
|
+
{socials}
|
|
78
|
+
/>
|
|
79
|
+
|
|
80
|
+
<!-- <Button
|
|
81
|
+
class:list="menu-button"
|
|
82
|
+
as="label"
|
|
83
|
+
for="sidebar-toggle"
|
|
84
|
+
icon="menu-2"
|
|
85
|
+
variant="ghost"
|
|
86
|
+
size="sm"
|
|
87
|
+
/> -->
|
|
88
|
+
<Drawer
|
|
89
|
+
id="header-drawer"
|
|
90
|
+
icon="menu-2"
|
|
91
|
+
size="sm"
|
|
92
|
+
>
|
|
93
|
+
<Container>
|
|
94
|
+
<Menus
|
|
95
|
+
menu={{ links }}
|
|
96
|
+
{menus}
|
|
97
|
+
/>
|
|
98
|
+
</Container>
|
|
99
|
+
</Drawer>
|
|
100
|
+
</Element>
|
|
101
|
+
</Container>
|
|
102
|
+
</Element>
|
|
103
|
+
|
|
104
|
+
<style is:global>
|
|
105
|
+
@layer fulldev {
|
|
106
|
+
.header {
|
|
107
|
+
@apply sticky left-0 top-0 z-20 flex h-14 w-full items-center overflow-hidden border-b bg-background;
|
|
108
|
+
height: var(--header-height);
|
|
109
|
+
|
|
110
|
+
&,
|
|
111
|
+
& ~ * {
|
|
112
|
+
--header-height: 3.5rem;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.container {
|
|
116
|
+
@apply flex items-center gap-6;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.header-start {
|
|
120
|
+
@apply flex items-center gap-6;
|
|
121
|
+
|
|
122
|
+
.link {
|
|
123
|
+
@apply max-lg:hidden;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.header-home {
|
|
128
|
+
@apply flex items-center gap-2;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.header-end {
|
|
132
|
+
@apply ml-auto flex items-center gap-1;
|
|
133
|
+
|
|
134
|
+
.social,
|
|
135
|
+
.themer {
|
|
136
|
+
@apply max-lg:hidden;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.menu-button {
|
|
140
|
+
@apply lg:hidden;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.drawer {
|
|
145
|
+
@apply lg:hidden;
|
|
146
|
+
|
|
147
|
+
.container {
|
|
148
|
+
@apply flex w-full flex-col items-start gap-6 overflow-y-auto px-gutter pb-14 pt-8;
|
|
149
|
+
@apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
</style>
|