fulldev-ui 0.6.0-beta.3 → 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 +33 -0
- package/src/blocks/Colleagues1.astro +73 -0
- package/src/blocks/Contact1.astro +12 -4
- 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 +35 -34
- package/src/blocks/Feature1.astro +20 -26
- package/src/blocks/Features1.astro +66 -0
- package/src/blocks/Footer.astro +27 -52
- package/src/blocks/Header.astro +154 -0
- package/src/blocks/Hero1.astro +41 -41
- package/src/blocks/Intro1.astro +32 -18
- package/src/blocks/Jobs1.astro +73 -0
- package/src/blocks/Logos1.astro +55 -0
- package/src/blocks/Products1.astro +4 -4
- package/src/blocks/Reviews1.astro +79 -0
- package/src/components/Badges.astro +12 -35
- package/src/components/Block.astro +5 -24
- package/src/components/Button.astro +1 -2
- package/src/components/Buttons.astro +12 -43
- package/src/components/Cart.astro +6 -12
- package/src/components/Drawer.astro +1 -2
- package/src/components/Form.astro +3 -3
- package/src/components/Grid.astro +39 -0
- package/src/components/{Banner.astro → Group.astro} +5 -6
- package/src/components/Heading.astro +5 -1
- package/src/components/Icon.astro +0 -1
- package/src/components/Image.astro +15 -50
- package/src/components/Layout.astro +35 -0
- package/src/components/Links.astro +14 -35
- package/src/components/Logo.astro +5 -7
- package/src/components/Masonry.astro +42 -0
- package/src/components/Menu.astro +17 -38
- package/src/components/Menus.astro +20 -0
- package/src/components/Panel.astro +1 -1
- package/src/components/Paragraph.astro +8 -8
- package/src/components/Prose.astro +15 -7
- package/src/components/Search.astro +1 -1
- package/src/components/Section.astro +1 -1
- package/src/components/Sidebar.astro +11 -42
- package/src/components/Stack.astro +25 -0
- package/src/components/Tagline.astro +1 -1
- package/src/components/Toc.astro +22 -30
- package/src/components/Writeup.astro +59 -0
- package/src/components/_Image.astro +79 -0
- package/src/content/config.ts +2 -28
- package/src/content/layouts/base.yml +4 -3
- 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/{docs → pages/docs}/components/text.mdx +1 -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 +1 -0
- 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 +1 -0
- 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 +3 -3
- package/src/content/{products → pages/products}/product.md +2 -2
- package/src/integration/index.ts +38 -16
- package/src/layouts/{CategoryLayout.astro → Category.astro} +19 -20
- 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} +20 -11
- package/src/pages/[...page].astro +36 -4
- package/src/pages/test.astro +25 -1
- package/src/schemas/components/block.ts +58 -15
- package/src/schemas/components/button.ts +1 -0
- package/src/schemas/components/image.ts +32 -18
- package/src/schemas/components/menu.ts +1 -0
- package/src/schemas/imageSchema.ts +3 -3
- package/src/schemas/page.ts +40 -0
- package/src/utils/getHref.ts +4 -21
- package/tailwind.config.ts +4 -0
- package/src/blocks/Banner1.astro +0 -35
- package/src/blocks/Header1.astro +0 -192
- package/src/content/layouts/docs.yml +0 -2
- package/src/layouts/DocLayout.astro +0 -59
- package/src/layouts/Layout.astro +0 -107
- package/src/layouts/PageLayout.astro +0 -27
- package/src/layouts/PostLayout.astro +0 -22
- 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/blocks/banner.ts +0 -10
- package/src/schemas/blocks/categories.ts +0 -14
- package/src/schemas/blocks/contact.ts +0 -18
- package/src/schemas/blocks/cta.ts +0 -18
- package/src/schemas/blocks/feature.ts +0 -18
- package/src/schemas/blocks/hero.ts +0 -20
- package/src/schemas/blocks/intro.ts +0 -16
- package/src/schemas/blocks/products.ts +0 -14
- package/src/schemas/categorySchema.ts +0 -16
- package/src/schemas/docSchema.ts +0 -14
- package/src/schemas/layoutSchema.ts +0 -22
- package/src/schemas/pageSchema.ts +0 -17
- package/src/schemas/postSchema.ts +0 -14
- package/src/schemas/productSchema.ts +0 -22
- /package/src/content/{categories → pages/categories}/category.md +0 -0
- /package/src/content/{posts → pages/posts}/post.md +0 -0
|
@@ -11,7 +11,6 @@ interface Props extends Omit<HTMLAttributes<'svg'>, 'name'>, IconSchema {
|
|
|
11
11
|
|
|
12
12
|
const { size = 'md', name, ...rest } = Astro.props
|
|
13
13
|
|
|
14
|
-
console.log(name)
|
|
15
14
|
const trimmedName = name?.trim()
|
|
16
15
|
const icon = trimmedName
|
|
17
16
|
? (tablerIcons as any)?.icons[trimmedName]?.body
|
|
@@ -1,31 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
// @ts-nocheck
|
|
3
|
-
import type { ImageMetadata } from 'astro'
|
|
4
2
|
import type { HTMLAttributes } from 'astro/types'
|
|
5
3
|
import { Image as AstroImage } from 'astro:assets'
|
|
6
|
-
import {
|
|
4
|
+
import type { ImageSchema } from 'fulldev-ui/schemas/imageSchema'
|
|
7
5
|
|
|
8
|
-
interface Props extends
|
|
9
|
-
id?: any
|
|
10
|
-
size?: 'sm' | 'md' | 'lg' | undefined
|
|
11
|
-
position?: 'background' | 'cover' | 'inset' | undefined
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const { id } = Astro.props
|
|
15
|
-
const entry = id ? (await getEntry('images', id))?.data : {}
|
|
16
|
-
|
|
17
|
-
const {
|
|
18
|
-
width = 1920,
|
|
19
|
-
height = 1920,
|
|
20
|
-
position,
|
|
21
|
-
src,
|
|
22
|
-
alt,
|
|
23
|
-
size,
|
|
24
|
-
...rest
|
|
25
|
-
} = {
|
|
26
|
-
...entry,
|
|
27
|
-
...Astro.props,
|
|
28
|
-
}
|
|
6
|
+
interface Props extends HTMLAttributes<'img'>, ImageSchema {}
|
|
29
7
|
|
|
30
8
|
function getAltBySrc() {
|
|
31
9
|
if (!src) return
|
|
@@ -35,24 +13,23 @@ function getAltBySrc() {
|
|
|
35
13
|
return unslugged || ''
|
|
36
14
|
}
|
|
37
15
|
|
|
38
|
-
const
|
|
39
|
-
|
|
16
|
+
const {
|
|
17
|
+
src,
|
|
18
|
+
alt = getAltBySrc(),
|
|
19
|
+
height = 1920,
|
|
20
|
+
width = 1920,
|
|
21
|
+
...rest
|
|
22
|
+
} = Astro.props
|
|
40
23
|
---
|
|
41
24
|
|
|
42
25
|
{
|
|
43
|
-
|
|
26
|
+
src && (
|
|
44
27
|
<AstroImage
|
|
45
|
-
class:list=
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
]}
|
|
52
|
-
alt={alt || getAltBySrc()}
|
|
53
|
-
src={image ? image() : src}
|
|
54
|
-
width={width ? Number(width) : undefined}
|
|
55
|
-
height={height ? Number(height) : undefined}
|
|
28
|
+
class:list="image"
|
|
29
|
+
{alt}
|
|
30
|
+
{src}
|
|
31
|
+
{width}
|
|
32
|
+
{height}
|
|
56
33
|
{...rest}
|
|
57
34
|
/>
|
|
58
35
|
)
|
|
@@ -62,18 +39,6 @@ const image = images[src as keyof typeof images]
|
|
|
62
39
|
@layer fulldev {
|
|
63
40
|
.image {
|
|
64
41
|
@apply block;
|
|
65
|
-
|
|
66
|
-
&.position-contain {
|
|
67
|
-
@apply h-auto w-full object-contain;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
&.position-cover {
|
|
71
|
-
@apply h-full w-full object-cover;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
&.position-background {
|
|
75
|
-
@apply absolute inset-0 h-full max-h-none w-full max-w-none object-cover opacity-30;
|
|
76
|
-
}
|
|
77
42
|
}
|
|
78
43
|
}
|
|
79
44
|
</style>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
+
import Head from 'fulldev-ui/components/Head.astro'
|
|
4
|
+
import type { HeadSchema } from 'fulldev-ui/schemas/components/head'
|
|
5
|
+
|
|
6
|
+
type Props = Omit<HTMLAttributes<'body'>, 'title'> & {
|
|
7
|
+
head?: HeadSchema
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { head, ...rest } = Astro.props
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!doctype html>
|
|
14
|
+
<html>
|
|
15
|
+
<Head {...head} />
|
|
16
|
+
<body {...rest}>
|
|
17
|
+
<slot />
|
|
18
|
+
<style is:global>
|
|
19
|
+
@layer fulldev {
|
|
20
|
+
html {
|
|
21
|
+
@apply w-full font-sans text-base leading-relaxed text-foreground;
|
|
22
|
+
color-scheme: light;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.dark {
|
|
26
|
+
color-scheme: dark;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
body {
|
|
30
|
+
@apply w-full bg-background font-sans text-foreground;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
</style>
|
|
34
|
+
</body>
|
|
35
|
+
</html>
|
|
@@ -1,42 +1,21 @@
|
|
|
1
1
|
---
|
|
2
|
-
import type { ComponentProps
|
|
3
|
-
import
|
|
4
|
-
import type { GlobalProps } from 'fulldev-ui/types/global-props'
|
|
5
|
-
import Link from './Link.astro'
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Link from 'fulldev-ui/components/Link.astro'
|
|
6
4
|
|
|
7
|
-
interface Props extends
|
|
8
|
-
|
|
5
|
+
interface Props extends ComponentProps<typeof Link> {
|
|
6
|
+
link?: ComponentProps<typeof Link> | undefined
|
|
9
7
|
links?: ComponentProps<typeof Link>[] | undefined
|
|
10
|
-
direction?: 'row' | 'column' | undefined
|
|
11
8
|
}
|
|
12
9
|
|
|
13
|
-
const { variant = 'muted',
|
|
10
|
+
const { variant = 'muted', link, links, ...rest } = Astro.props
|
|
14
11
|
---
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
{...link}
|
|
26
|
-
/>
|
|
27
|
-
))
|
|
28
|
-
}
|
|
29
|
-
<slot />
|
|
30
|
-
</Element>
|
|
31
|
-
|
|
32
|
-
<style is:global>
|
|
33
|
-
@layer fulldev {
|
|
34
|
-
.links {
|
|
35
|
-
@apply flex items-center justify-stretch gap-x-6 gap-y-2;
|
|
36
|
-
|
|
37
|
-
&.direction-column {
|
|
38
|
-
@apply flex-col items-start;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
</style>
|
|
13
|
+
{
|
|
14
|
+
[link, ...(links || [])].filter(Boolean).map((link) => (
|
|
15
|
+
<Link
|
|
16
|
+
{variant}
|
|
17
|
+
{...rest}
|
|
18
|
+
{...link}
|
|
19
|
+
/>
|
|
20
|
+
))
|
|
21
|
+
}
|
|
@@ -31,16 +31,14 @@ const {
|
|
|
31
31
|
<Fragment set:html={text} />
|
|
32
32
|
</Element>
|
|
33
33
|
|
|
34
|
-
<Image
|
|
35
|
-
class:list="logo"
|
|
36
|
-
{size}
|
|
37
|
-
{...rest}
|
|
38
|
-
/>
|
|
39
|
-
|
|
40
34
|
<style is:global>
|
|
41
35
|
@layer fulldev {
|
|
42
36
|
.logo {
|
|
43
|
-
@apply flex w-auto items-center object-contain text-base font-bold leading-none text-foreground;
|
|
37
|
+
@apply flex w-auto items-center gap-2 whitespace-nowrap object-contain text-base font-bold leading-none text-foreground;
|
|
38
|
+
|
|
39
|
+
.image {
|
|
40
|
+
@apply h-full w-auto object-contain;
|
|
41
|
+
}
|
|
44
42
|
|
|
45
43
|
&.size-sm {
|
|
46
44
|
@apply h-6;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes, HTMLTag } from 'astro/types'
|
|
3
|
+
import Element from 'fulldev-ui/components/Element.astro'
|
|
4
|
+
|
|
5
|
+
interface Props extends HTMLAttributes<'div'> {
|
|
6
|
+
as?: HTMLTag
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const { ...rest } = Astro.props
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<Element
|
|
13
|
+
class:list="masonry"
|
|
14
|
+
{...rest}
|
|
15
|
+
>
|
|
16
|
+
<slot />
|
|
17
|
+
</Element>
|
|
18
|
+
|
|
19
|
+
<style is:global>
|
|
20
|
+
@layer fulldev {
|
|
21
|
+
.masonry {
|
|
22
|
+
--column-width: 20rem;
|
|
23
|
+
@apply relative w-full columns-sm gap-5 space-y-5;
|
|
24
|
+
|
|
25
|
+
& > * {
|
|
26
|
+
@apply break-inside-avoid;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* &.size-sm {
|
|
30
|
+
--column-width: 16rem;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.size-md {
|
|
34
|
+
--column-width: 20rem;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&.size-lg {
|
|
38
|
+
--column-width: 26rem;
|
|
39
|
+
} */
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
</style>
|
|
@@ -1,59 +1,38 @@
|
|
|
1
1
|
---
|
|
2
|
-
import type {
|
|
2
|
+
import type { HTMLAttributes } from 'astro/types'
|
|
3
3
|
import Element from 'fulldev-ui/components/Element.astro'
|
|
4
4
|
import Heading from 'fulldev-ui/components/Heading.astro'
|
|
5
|
-
import type {
|
|
6
|
-
import type Link from './Link.astro'
|
|
5
|
+
import type { MenuSchema } from 'fulldev-ui/schemas/components/menu'
|
|
7
6
|
import Links from './Links.astro'
|
|
8
7
|
|
|
9
|
-
interface Props extends
|
|
10
|
-
direction?: 'row' | 'column'
|
|
11
|
-
groups?:
|
|
12
|
-
| {
|
|
13
|
-
heading?: ComponentProps<typeof Heading>['text']
|
|
14
|
-
links?: ComponentProps<typeof Link>[]
|
|
15
|
-
}[]
|
|
16
|
-
| undefined
|
|
17
|
-
}
|
|
8
|
+
interface Props extends HTMLAttributes<'div'>, MenuSchema {}
|
|
18
9
|
|
|
19
|
-
const {
|
|
10
|
+
const { size = 'md', heading, links, ...rest } = Astro.props
|
|
20
11
|
---
|
|
21
12
|
|
|
22
13
|
<Element
|
|
23
14
|
class:list="menu"
|
|
24
|
-
{direction}
|
|
25
|
-
{size}
|
|
26
15
|
{...rest}
|
|
27
16
|
>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
{links}
|
|
39
|
-
{size}
|
|
40
|
-
/>
|
|
41
|
-
</Element>
|
|
42
|
-
))
|
|
43
|
-
}
|
|
17
|
+
<Heading
|
|
18
|
+
text={heading}
|
|
19
|
+
as="h6"
|
|
20
|
+
{size}
|
|
21
|
+
/>
|
|
22
|
+
<Links
|
|
23
|
+
variant="muted"
|
|
24
|
+
{size}
|
|
25
|
+
{links}
|
|
26
|
+
/>
|
|
44
27
|
</Element>
|
|
45
28
|
|
|
46
29
|
<style is:global>
|
|
47
30
|
@layer fulldev {
|
|
48
31
|
.menu {
|
|
49
|
-
@apply flex flex-col gap-
|
|
50
|
-
|
|
51
|
-
.menu-group {
|
|
52
|
-
@apply flex flex-col gap-3;
|
|
53
|
-
}
|
|
32
|
+
@apply flex flex-col gap-2;
|
|
54
33
|
|
|
55
|
-
|
|
56
|
-
@apply
|
|
34
|
+
.heading {
|
|
35
|
+
@apply mb-1;
|
|
57
36
|
}
|
|
58
37
|
}
|
|
59
38
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { ComponentProps } from 'astro/types'
|
|
3
|
+
import Menu from 'fulldev-ui/components/Menu.astro'
|
|
4
|
+
|
|
5
|
+
interface Props extends ComponentProps<typeof Menu> {
|
|
6
|
+
menu?: ComponentProps<typeof Menu> | undefined
|
|
7
|
+
menus?: ComponentProps<typeof Menu>[] | undefined
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { menu, menus, ...rest } = Astro.props
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
{
|
|
14
|
+
[menu, ...(menus || [])].filter(Boolean).map((menu) => (
|
|
15
|
+
<Menu
|
|
16
|
+
{...rest}
|
|
17
|
+
{...menu}
|
|
18
|
+
/>
|
|
19
|
+
))
|
|
20
|
+
}
|
|
@@ -19,7 +19,7 @@ const { ...rest } = Astro.props
|
|
|
19
19
|
<style is:global>
|
|
20
20
|
@layer fulldev {
|
|
21
21
|
.panel {
|
|
22
|
-
@apply w-full gap-x-gutter rounded-lg border bg-card px-gutter py-
|
|
22
|
+
@apply w-full gap-x-gutter rounded-lg border bg-card px-gutter py-20 text-card-foreground lg:px-20;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
</style>
|
|
@@ -13,7 +13,7 @@ const { as = 'p', text, ...rest } = Astro.props
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
<Element
|
|
16
|
-
class:list="
|
|
16
|
+
class:list="paragraph"
|
|
17
17
|
{as}
|
|
18
18
|
{...rest}
|
|
19
19
|
>
|
|
@@ -23,32 +23,32 @@ const { as = 'p', text, ...rest } = Astro.props
|
|
|
23
23
|
|
|
24
24
|
<style is:global>
|
|
25
25
|
@layer fulldev {
|
|
26
|
-
.
|
|
26
|
+
.paragraph,
|
|
27
27
|
.prose-content p {
|
|
28
|
-
@apply
|
|
28
|
+
@apply text-foreground;
|
|
29
29
|
|
|
30
30
|
&.muted {
|
|
31
31
|
@apply text-muted-foreground;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
&.size-xs {
|
|
35
|
-
@apply text-xs;
|
|
35
|
+
@apply text-xs leading-relaxed;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
&.size-sm {
|
|
39
|
-
@apply text-sm;
|
|
39
|
+
@apply text-sm leading-relaxed;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
&.size-md {
|
|
43
|
-
@apply text-base;
|
|
43
|
+
@apply text-base leading-relaxed;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
&.size-lg {
|
|
47
|
-
@apply text-lg;
|
|
47
|
+
@apply text-lg leading-relaxed;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
&.size-xl {
|
|
51
|
-
@apply text-xl;
|
|
51
|
+
@apply text-xl leading-relaxed;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -19,14 +19,14 @@ const { ...rest } = Astro.props
|
|
|
19
19
|
<style is:global>
|
|
20
20
|
@layer fulldev {
|
|
21
21
|
.prose {
|
|
22
|
-
@apply relative w-full max-w-screen-md
|
|
22
|
+
@apply relative w-full max-w-screen-md;
|
|
23
23
|
|
|
24
24
|
> * {
|
|
25
|
-
@apply mt-6
|
|
25
|
+
@apply mt-6;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
p {
|
|
29
|
-
@apply mt-4
|
|
29
|
+
@apply mt-4;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
code:not(.astro-code code) {
|
|
@@ -39,7 +39,7 @@ const { ...rest } = Astro.props
|
|
|
39
39
|
h4,
|
|
40
40
|
h5,
|
|
41
41
|
h6 {
|
|
42
|
-
@apply
|
|
42
|
+
@apply scroll-m-20 font-bold;
|
|
43
43
|
|
|
44
44
|
code {
|
|
45
45
|
font-size: inherit !important;
|
|
@@ -51,11 +51,11 @@ const { ...rest } = Astro.props
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
> h2 {
|
|
54
|
-
@apply text-2xl;
|
|
54
|
+
@apply mt-10 text-2xl;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
> h3 {
|
|
58
|
-
@apply text-xl;
|
|
58
|
+
@apply mt-8 text-xl;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
> h4 {
|
|
@@ -71,7 +71,15 @@ const { ...rest } = Astro.props
|
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
> aside {
|
|
74
|
-
@apply
|
|
74
|
+
@apply rounded-md border border-destructive p-4 text-destructive;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
img {
|
|
78
|
+
@apply my-12 rounded-lg;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
> *:first-child {
|
|
82
|
+
@apply mt-0;
|
|
75
83
|
}
|
|
76
84
|
}
|
|
77
85
|
}
|
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
import type { HTMLAttributes } from 'astro/types'
|
|
3
3
|
import Element from 'fulldev-ui/components/Element.astro'
|
|
4
4
|
import type { SidebarSchema } from 'fulldev-ui/schemas/components/sidebar'
|
|
5
|
-
import
|
|
6
|
-
import Heading from './Heading.astro'
|
|
7
|
-
import Link from './Link.astro'
|
|
5
|
+
import Menus from './Menus.astro'
|
|
8
6
|
|
|
9
7
|
interface Props extends HTMLAttributes<'aside'>, SidebarSchema {}
|
|
10
8
|
|
|
11
|
-
const {
|
|
9
|
+
const { menus, ...rest } = Astro.props
|
|
12
10
|
---
|
|
13
11
|
|
|
14
12
|
<Element
|
|
@@ -16,59 +14,30 @@ const { company, logo, menus, links, heading, themer, ...rest } = Astro.props
|
|
|
16
14
|
as="aside"
|
|
17
15
|
{...rest}
|
|
18
16
|
>
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
text={heading}
|
|
25
|
-
size="sm"
|
|
26
|
-
as="h6"
|
|
27
|
-
/>
|
|
28
|
-
<Element class:list="sidebar-links">
|
|
29
|
-
{links?.map((link) => (
|
|
30
|
-
<Link
|
|
31
|
-
size="sm"
|
|
32
|
-
variant="muted"
|
|
33
|
-
{...link}
|
|
34
|
-
/>
|
|
35
|
-
))}
|
|
36
|
-
</Element>
|
|
37
|
-
</Element>
|
|
38
|
-
))
|
|
39
|
-
}
|
|
40
|
-
</Container>
|
|
17
|
+
<Menus
|
|
18
|
+
size="sm"
|
|
19
|
+
menu={rest}
|
|
20
|
+
{menus}
|
|
21
|
+
/>
|
|
41
22
|
</Element>
|
|
42
23
|
|
|
43
24
|
<style is:global>
|
|
44
25
|
@layer fulldev {
|
|
45
26
|
.sidebar {
|
|
46
|
-
@apply sticky bottom-0 left-0 hidden
|
|
27
|
+
@apply sticky bottom-0 left-0 hidden h-full max-w-[75vw] flex-col items-start gap-8 overflow-y-auto border-r bg-background py-8 pr-8 lg:flex;
|
|
28
|
+
@apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover;
|
|
47
29
|
|
|
48
30
|
--headers: calc(var(--header-height, 0px) + var(--subheader-height, 0px));
|
|
49
31
|
top: var(--headers);
|
|
50
32
|
width: var(--sidebar-width);
|
|
51
|
-
|
|
33
|
+
height: calc(100vh - var(--headers));
|
|
52
34
|
|
|
53
35
|
&,
|
|
54
36
|
& ~ * {
|
|
55
37
|
@media (min-width: 1024px) {
|
|
56
|
-
--sidebar-width:
|
|
38
|
+
--sidebar-width: 14rem;
|
|
57
39
|
}
|
|
58
40
|
}
|
|
59
|
-
|
|
60
|
-
.container {
|
|
61
|
-
@apply flex h-full w-full grow flex-col items-start gap-8 overflow-y-auto;
|
|
62
|
-
/* @apply scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-full scrollbar-w-2 hover:scrollbar-thumb-accent-hover; */
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.sidebar-menu {
|
|
66
|
-
@apply flex flex-col gap-3;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.sidebar-links {
|
|
70
|
-
@apply flex flex-col gap-2;
|
|
71
|
-
}
|
|
72
41
|
}
|
|
73
42
|
}
|
|
74
43
|
</style>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLAttributes, HTMLTag } from 'astro/types'
|
|
3
|
+
import Element from 'fulldev-ui/components/Element.astro'
|
|
4
|
+
|
|
5
|
+
interface Props extends HTMLAttributes<'div'> {
|
|
6
|
+
as?: HTMLTag
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const { ...rest } = Astro.props
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<Element
|
|
13
|
+
class:list="stack"
|
|
14
|
+
{...rest}
|
|
15
|
+
>
|
|
16
|
+
<slot />
|
|
17
|
+
</Element>
|
|
18
|
+
|
|
19
|
+
<style is:global>
|
|
20
|
+
@layer fulldev {
|
|
21
|
+
.stack {
|
|
22
|
+
@apply relative grid w-full auto-cols-fr items-start gap-x-16 gap-y-8 lg:grid-flow-col;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
</style>
|