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
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
<!-- ---
|
|
2
|
-
import Element from 'fulldev-ui/components/Element.astro'
|
|
3
|
-
import Image from 'fulldev-ui/components/Image.astro'
|
|
4
|
-
import { $cart } from 'fulldev-ui/stores/cart.ts'
|
|
5
|
-
import { formatPrice } from 'fulldev-ui/utils/cart'
|
|
6
|
-
import Button from './Button.astro'
|
|
7
|
-
import Card from './Card.astro'
|
|
8
|
-
import Heading from './Heading.astro'
|
|
9
|
-
import Input from './Input.astro'
|
|
10
|
-
import Price from './Price.astro'
|
|
11
|
-
import Text from './Text.astro'
|
|
12
|
-
|
|
13
|
-
const { ...rest } = Astro.props
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
<Element
|
|
17
|
-
class:list="cart-list"
|
|
18
|
-
{...rest}
|
|
19
|
-
>
|
|
20
|
-
<template id="cart-card-template">
|
|
21
|
-
<Element class="cart-card">
|
|
22
|
-
<Image src="/placeholder-portrait.webp" />
|
|
23
|
-
<Element class="cart-card-segment">
|
|
24
|
-
<Element class="cart-card-content">
|
|
25
|
-
<Heading
|
|
26
|
-
level={6}
|
|
27
|
-
text="Product title"
|
|
28
|
-
/>
|
|
29
|
-
<Price value={999} />
|
|
30
|
-
</Element>
|
|
31
|
-
<Element class="cart-card-actions">
|
|
32
|
-
<Input
|
|
33
|
-
type="number"
|
|
34
|
-
name="quantity"
|
|
35
|
-
value={1}
|
|
36
|
-
min={0}
|
|
37
|
-
/>
|
|
38
|
-
<Button
|
|
39
|
-
variant="outline"
|
|
40
|
-
icon="trash"
|
|
41
|
-
type="button"
|
|
42
|
-
/>
|
|
43
|
-
</Element>
|
|
44
|
-
</Element>
|
|
45
|
-
</Element>
|
|
46
|
-
</template>
|
|
47
|
-
</Element>
|
|
48
|
-
<Element
|
|
49
|
-
if
|
|
50
|
-
class:list="cart-list"
|
|
51
|
-
{...rest}
|
|
52
|
-
/>
|
|
53
|
-
|
|
54
|
-
<template>
|
|
55
|
-
<Card class="cart-list-card">
|
|
56
|
-
<img class="cart-list-image image" />
|
|
57
|
-
<Element class="column">
|
|
58
|
-
<Heading
|
|
59
|
-
if
|
|
60
|
-
level={4}
|
|
61
|
-
class="heading"
|
|
62
|
-
/>
|
|
63
|
-
<Element class="row">
|
|
64
|
-
<Text
|
|
65
|
-
if
|
|
66
|
-
class="cart-list-price"
|
|
67
|
-
/>
|
|
68
|
-
<Button
|
|
69
|
-
class:list="cart-list-remove"
|
|
70
|
-
variant="ghost"
|
|
71
|
-
icon="trash"
|
|
72
|
-
type="button"
|
|
73
|
-
/>
|
|
74
|
-
</Element>
|
|
75
|
-
</Element>
|
|
76
|
-
</Card>
|
|
77
|
-
</template>
|
|
78
|
-
|
|
79
|
-
<script>
|
|
80
|
-
import { $cart } from 'fulldev-ui/stores/cart.ts'
|
|
81
|
-
import { formatPrice } from 'fulldev-ui/utils/cart'
|
|
82
|
-
|
|
83
|
-
function setCards(items: any) {
|
|
84
|
-
const template = document.querySelector('template')
|
|
85
|
-
const container = document.querySelector('.cart-list')
|
|
86
|
-
|
|
87
|
-
if (!container || !template) return
|
|
88
|
-
|
|
89
|
-
container.innerHTML = ''
|
|
90
|
-
|
|
91
|
-
items.forEach((item: any, index: number) => {
|
|
92
|
-
const clone = template?.content.cloneNode(true)
|
|
93
|
-
if (!(clone instanceof DocumentFragment)) return
|
|
94
|
-
const card = clone.querySelector('.cart-card')
|
|
95
|
-
if (!card) return
|
|
96
|
-
|
|
97
|
-
const img = card.querySelector('img')
|
|
98
|
-
if (img) img.src = item.image
|
|
99
|
-
|
|
100
|
-
const h4 = card.querySelector('h4')
|
|
101
|
-
if (h4) h4.textContent = item.name
|
|
102
|
-
|
|
103
|
-
const p = card.querySelector('p')
|
|
104
|
-
if (p) p.textContent = formatPrice(item.price)
|
|
105
|
-
|
|
106
|
-
const button = card.querySelector('button')
|
|
107
|
-
if (button) {
|
|
108
|
-
button.addEventListener('click', () => {
|
|
109
|
-
const currentCart = $cart.get()
|
|
110
|
-
const newCart = [...currentCart]
|
|
111
|
-
newCart.splice(index, 1)
|
|
112
|
-
$cart.set(newCart)
|
|
113
|
-
})
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
container.appendChild(clone)
|
|
117
|
-
})
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
document.addEventListener('astro:page-load', () => {
|
|
121
|
-
setCards($cart.get())
|
|
122
|
-
|
|
123
|
-
$cart.subscribe((items: any) => {
|
|
124
|
-
setCards(items)
|
|
125
|
-
})
|
|
126
|
-
})
|
|
127
|
-
</script>
|
|
128
|
-
|
|
129
|
-
<script>
|
|
130
|
-
function setCards(items: any) {
|
|
131
|
-
const template = document.querySelector('template')
|
|
132
|
-
const container = document.querySelector('.cart-list')
|
|
133
|
-
if (!(container instanceof HTMLElement)) return
|
|
134
|
-
if (!(template instanceof HTMLTemplateElement)) return
|
|
135
|
-
|
|
136
|
-
container.innerHTML = ''
|
|
137
|
-
|
|
138
|
-
items.forEach((item: any, index: number) => {
|
|
139
|
-
const clone = template?.content.cloneNode(true)
|
|
140
|
-
if (!(clone instanceof DocumentFragment)) return
|
|
141
|
-
const card = clone.querySelector('.cart-list-card')
|
|
142
|
-
if (!card) return
|
|
143
|
-
|
|
144
|
-
const image = card.querySelector('img')
|
|
145
|
-
const heading = card.querySelector('.heading')
|
|
146
|
-
const price = card.querySelector('.price')
|
|
147
|
-
// const input = card.querySelector('.input-input')
|
|
148
|
-
const remove = card.querySelector('.button')
|
|
149
|
-
|
|
150
|
-
if (image) image.src = item.image
|
|
151
|
-
if (heading) heading.textContent = item.name
|
|
152
|
-
if (price) price.textContent = formatPrice(item.price)
|
|
153
|
-
|
|
154
|
-
remove?.addEventListener('click', () => {
|
|
155
|
-
const currentCart = $cart.get()
|
|
156
|
-
const newCart = [...currentCart]
|
|
157
|
-
newCart.splice(index, 1)
|
|
158
|
-
$cart.set(newCart)
|
|
159
|
-
})
|
|
160
|
-
|
|
161
|
-
container.appendChild(clone)
|
|
162
|
-
})
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
document.addEventListener('astro:page-load', () => {
|
|
166
|
-
setCards($cart.get())
|
|
167
|
-
|
|
168
|
-
$cart.subscribe((items: any) => {
|
|
169
|
-
setCards(items)
|
|
170
|
-
})
|
|
171
|
-
})
|
|
172
|
-
</script>
|
|
173
|
-
|
|
174
|
-
<style is:global>
|
|
175
|
-
@layer fulldev {
|
|
176
|
-
.cart-list {
|
|
177
|
-
@apply flex flex-col text-foreground;
|
|
178
|
-
|
|
179
|
-
.cart-card {
|
|
180
|
-
@apply flex w-full gap-5;
|
|
181
|
-
|
|
182
|
-
&:not(:first-child) {
|
|
183
|
-
@apply mt-5 border-t pt-5;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
.image {
|
|
187
|
-
@apply block h-auto w-24;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
.column {
|
|
191
|
-
@apply flex h-full w-full flex-col justify-between gap-3;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
.row {
|
|
195
|
-
@apply flex w-full flex-row justify-between;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
.cart-card-segment {
|
|
200
|
-
@apply flex h-full w-full flex-col justify-between gap-4;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
.cart-card-content,
|
|
204
|
-
.cart-card-actions {
|
|
205
|
-
@apply flex justify-between gap-2;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
.input {
|
|
209
|
-
@apply w-16;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
</style> -->-->
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
// import { getCollection } from 'astro:content'
|
|
3
|
-
// import Element from 'fulldev-ui/components/Element.astro'
|
|
4
|
-
// import Image from 'fulldev-ui/components/Image.astro'
|
|
5
|
-
// import Button from './Button.astro'
|
|
6
|
-
// import Heading from './Heading.astro'
|
|
7
|
-
// import Input from './Input.astro'
|
|
8
|
-
// import Price from './Price.astro'
|
|
9
|
-
|
|
10
|
-
// const products = await getCollection('products')
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<!-- <RootElement>
|
|
14
|
-
<Element
|
|
15
|
-
data-target="container"
|
|
16
|
-
if={true}
|
|
17
|
-
class:list="cart-list"
|
|
18
|
-
/>
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
products.map((product) => (
|
|
22
|
-
<template data-target={product.slug}>
|
|
23
|
-
<Element
|
|
24
|
-
data-target="card"
|
|
25
|
-
class="cart-list-card"
|
|
26
|
-
>
|
|
27
|
-
<Image
|
|
28
|
-
data-target="image"
|
|
29
|
-
src="/placeholder-portrait.webp"
|
|
30
|
-
/>
|
|
31
|
-
<Element class="cart-list-card-segment">
|
|
32
|
-
<Element class="cart-list-card-content">
|
|
33
|
-
<Heading
|
|
34
|
-
data-target="heading"
|
|
35
|
-
level={6}
|
|
36
|
-
text="Product title"
|
|
37
|
-
/>
|
|
38
|
-
<Price
|
|
39
|
-
data-target="price"
|
|
40
|
-
value={999}
|
|
41
|
-
/>
|
|
42
|
-
</Element>
|
|
43
|
-
<Element class="cart-list-card-actions">
|
|
44
|
-
<Input
|
|
45
|
-
data-target="input"
|
|
46
|
-
type="number"
|
|
47
|
-
name="quantity"
|
|
48
|
-
value={1}
|
|
49
|
-
min={0}
|
|
50
|
-
/>
|
|
51
|
-
<Button
|
|
52
|
-
data-target="button"
|
|
53
|
-
variant="outline"
|
|
54
|
-
icon="trash"
|
|
55
|
-
type="button"
|
|
56
|
-
/>
|
|
57
|
-
</Element>
|
|
58
|
-
</Element>
|
|
59
|
-
</Element>
|
|
60
|
-
</template>
|
|
61
|
-
))
|
|
62
|
-
}
|
|
63
|
-
</RootElement> --><!-- <RootElement>
|
|
64
|
-
<Element
|
|
65
|
-
data-target="container"
|
|
66
|
-
if={true}
|
|
67
|
-
class:list="cart-list"
|
|
68
|
-
>
|
|
69
|
-
{
|
|
70
|
-
products.map((product) => (
|
|
71
|
-
<Element
|
|
72
|
-
data-target={product.slug}
|
|
73
|
-
class="cart-list-card"
|
|
74
|
-
>
|
|
75
|
-
<Image
|
|
76
|
-
data-target="image"
|
|
77
|
-
src="/placeholder-portrait.webp"
|
|
78
|
-
/>
|
|
79
|
-
<Element class="cart-list-card-segment">
|
|
80
|
-
<Element class="cart-list-card-content">
|
|
81
|
-
<Heading
|
|
82
|
-
data-target="heading"
|
|
83
|
-
level={6}
|
|
84
|
-
text="Product title"
|
|
85
|
-
/>
|
|
86
|
-
<Price
|
|
87
|
-
data-target="price"
|
|
88
|
-
value={999}
|
|
89
|
-
/>
|
|
90
|
-
</Element>
|
|
91
|
-
<Element class="cart-list-card-actions">
|
|
92
|
-
<Input
|
|
93
|
-
data-target="input"
|
|
94
|
-
type="number"
|
|
95
|
-
name="quantity"
|
|
96
|
-
value={1}
|
|
97
|
-
min={0}
|
|
98
|
-
/>
|
|
99
|
-
<Button
|
|
100
|
-
data-target="button"
|
|
101
|
-
variant="outline"
|
|
102
|
-
icon="trash"
|
|
103
|
-
type="button"
|
|
104
|
-
/>
|
|
105
|
-
</Element>
|
|
106
|
-
</Element>
|
|
107
|
-
</Element>
|
|
108
|
-
))
|
|
109
|
-
}
|
|
110
|
-
</Element>
|
|
111
|
-
</RootElement> --><!-- <script>
|
|
112
|
-
RootElement.ready(($) => {
|
|
113
|
-
const card = $('151-booster-box')
|
|
114
|
-
console.log(card)
|
|
115
|
-
})
|
|
116
|
-
</script> -->
|
|
117
|
-
<style is:global>
|
|
118
|
-
@layer fulldev {
|
|
119
|
-
.cart-list {
|
|
120
|
-
@apply flex flex-col text-foreground;
|
|
121
|
-
|
|
122
|
-
.cart-list-card {
|
|
123
|
-
@apply flex w-full gap-5;
|
|
124
|
-
|
|
125
|
-
&:not(:first-child) {
|
|
126
|
-
@apply mt-5 border-t pt-5;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.image {
|
|
131
|
-
@apply block h-auto w-24;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.cart-list-card-segment {
|
|
135
|
-
@apply flex h-full w-full flex-col justify-between gap-4;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.cart-list-card-content,
|
|
139
|
-
.cart-list-card-actions {
|
|
140
|
-
@apply flex justify-between gap-2;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
.input {
|
|
144
|
-
@apply w-16;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
</style>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { ComponentProps, HTMLAttributes } from 'astro/types'
|
|
3
|
-
import Element from 'fulldev-ui/components/Element.astro'
|
|
4
|
-
import type { GlobalProps } from 'fulldev-ui/types/global-props'
|
|
5
|
-
import Section from './Section.astro'
|
|
6
|
-
|
|
7
|
-
interface Props extends GlobalProps, HTMLAttributes<'div'> {
|
|
8
|
-
sections?: ComponentProps<typeof Section>[] | undefined
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const { sections, ...rest } = Astro.props
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
<Element
|
|
15
|
-
class:list="sections"
|
|
16
|
-
{...rest}
|
|
17
|
-
>
|
|
18
|
-
{sections?.map((section) => <Section {...section} />)}
|
|
19
|
-
</Element>
|
|
20
|
-
|
|
21
|
-
<style is:global >
|
|
22
|
-
@layer fulldev {
|
|
23
|
-
.sections {
|
|
24
|
-
display: flex;
|
|
25
|
-
flex-direction: column;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
</style>
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Lead
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Lead
|
|
6
|
-
|
|
7
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
8
|
-
|
|
9
|
-
```astro live
|
|
10
|
-
---
|
|
11
|
-
import Lead from 'fulldev-ui/components/Lead.astro'
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
<Lead>The quick brown fox jumps over the lazy dog</Lead>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Props
|
|
18
|
-
|
|
19
|
-
<PropsTable />
|
|
20
|
-
|
|
21
|
-
## Examples
|
|
22
|
-
|
|
23
|
-
### `size`
|
|
24
|
-
|
|
25
|
-
```astro live
|
|
26
|
-
---
|
|
27
|
-
import Lead from 'fulldev-ui/components/Lead.astro'
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
<Lead size="sm">
|
|
31
|
-
The quick brown fox jumps over the lazy dog because he is quick
|
|
32
|
-
</Lead>
|
|
33
|
-
<Lead size="md">
|
|
34
|
-
The quick brown fox jumps over the lazy dog because he is quick
|
|
35
|
-
</Lead>
|
|
36
|
-
<Lead size="lg">
|
|
37
|
-
The quick brown fox jumps over the lazy dog because he is quick
|
|
38
|
-
</Lead>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### `text`
|
|
42
|
-
|
|
43
|
-
```astro live
|
|
44
|
-
---
|
|
45
|
-
import Lead from 'fulldev-ui/components/Lead.astro'
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
<Lead text="The quick brown fox jumps over the lazy dog" />
|
|
49
|
-
```
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Paragraph
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Paragraph
|
|
6
|
-
|
|
7
|
-
import PropsTable from 'fulldev-ui/components/docs/PropsTable.astro'
|
|
8
|
-
|
|
9
|
-
```astro live
|
|
10
|
-
---
|
|
11
|
-
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
<Paragraph>The quick brown fox jumps over the lazy dog</Paragraph>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Props
|
|
18
|
-
|
|
19
|
-
<PropsTable />
|
|
20
|
-
|
|
21
|
-
## Examples
|
|
22
|
-
|
|
23
|
-
### `size`
|
|
24
|
-
|
|
25
|
-
```astro live
|
|
26
|
-
---
|
|
27
|
-
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
<Paragraph size="sm">
|
|
31
|
-
The quick brown fox jumps over the lazy dog because he is quick
|
|
32
|
-
</Paragraph>
|
|
33
|
-
<Paragraph size="md">
|
|
34
|
-
The quick brown fox jumps over the lazy dog because he is quick
|
|
35
|
-
</Paragraph>
|
|
36
|
-
<Paragraph size="lg">
|
|
37
|
-
The quick brown fox jumps over the lazy dog because he is quick
|
|
38
|
-
</Paragraph>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### `text`
|
|
42
|
-
|
|
43
|
-
```astro live
|
|
44
|
-
---
|
|
45
|
-
import Paragraph from 'fulldev-ui/components/Paragraph.astro'
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
<Paragraph text="The quick brown fox jumps over the lazy dog" />
|
|
49
|
-
```
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# sidebar:
|
|
2
|
-
# menu:
|
|
3
|
-
# - heading: Get Started
|
|
4
|
-
# links:
|
|
5
|
-
# - docs
|
|
6
|
-
# - docs/installation
|
|
7
|
-
# - docs/customization
|
|
8
|
-
# - docs/frameworks
|
|
9
|
-
# - docs/components
|
|
10
|
-
# - docs/collections
|
|
11
|
-
# - heading: Collections
|
|
12
|
-
# links:
|
|
13
|
-
# - docs/collections/pages
|
|
14
|
-
# - docs/collections/presets
|
|
15
|
-
# - docs/collections/images
|
|
16
|
-
# - heading: Components
|
|
17
|
-
# links:
|
|
18
|
-
# - docs/components/avatar
|
|
19
|
-
# - docs/components/badge
|
|
20
|
-
# - docs/components/badges
|
|
21
|
-
# - docs/components/button
|
|
22
|
-
# - docs/components/buttons
|
|
23
|
-
# # - docs/components/card
|
|
24
|
-
# # - docs/components/cards
|
|
25
|
-
# # - docs/components/cart
|
|
26
|
-
# # - docs/components/cart-form
|
|
27
|
-
# # - docs/components/cart-list
|
|
28
|
-
# # - docs/components/cart-summary
|
|
29
|
-
# - docs/components/channel
|
|
30
|
-
# - docs/components/channels
|
|
31
|
-
# - docs/components/checkbox
|
|
32
|
-
# - docs/components/code
|
|
33
|
-
# # - docs/components/dialog
|
|
34
|
-
# # - docs/components/drawer
|
|
35
|
-
# # - docs/components/element
|
|
36
|
-
# # - docs/components/footer
|
|
37
|
-
# # - docs/components/form
|
|
38
|
-
# # - docs/components/head
|
|
39
|
-
# # - docs/components/header
|
|
40
|
-
# - docs/components/heading
|
|
41
|
-
# - docs/components/icon
|
|
42
|
-
# - docs/components/image
|
|
43
|
-
# - docs/components/input
|
|
44
|
-
# - docs/components/label
|
|
45
|
-
# - docs/components/lead
|
|
46
|
-
# - docs/components/link
|
|
47
|
-
# - docs/components/links
|
|
48
|
-
# - docs/components/list
|
|
49
|
-
# # - docs/components/locale-switcher
|
|
50
|
-
# - docs/components/logo
|
|
51
|
-
# - docs/components/menu
|
|
52
|
-
# - docs/components/paragraph
|
|
53
|
-
# # - docs/components/price
|
|
54
|
-
# - docs/components/prose
|
|
55
|
-
# - docs/components/rating
|
|
56
|
-
# # - docs/components/search
|
|
57
|
-
# # - docs/components/section
|
|
58
|
-
# # - docs/components/sections
|
|
59
|
-
# - docs/components/select
|
|
60
|
-
# # - docs/components/sidebar
|
|
61
|
-
# - docs/components/social
|
|
62
|
-
# - docs/components/socials
|
|
63
|
-
# - docs/components/switch
|
|
64
|
-
# # - docs/components/table
|
|
65
|
-
# - docs/components/tagline
|
|
66
|
-
# # - docs/components/text
|
|
67
|
-
# - docs/components/textarea
|
|
68
|
-
# - docs/components/themer
|
|
69
|
-
# # - docs/components/toc
|
|
70
|
-
# # - docs/components/writeup
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { CollectionEntry } from 'astro:content'
|
|
3
|
-
import Prose from 'fulldev-ui/components/Prose.astro'
|
|
4
|
-
import Layout from 'fulldev-ui/layouts/Layout.astro'
|
|
5
|
-
|
|
6
|
-
type Props = CollectionEntry<'docs'>
|
|
7
|
-
|
|
8
|
-
const { render } = Astro.props
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
<Layout>
|
|
12
|
-
<Prose
|
|
13
|
-
{render}
|
|
14
|
-
toc={true}
|
|
15
|
-
/>
|
|
16
|
-
<slot />
|
|
17
|
-
</Layout>
|
package/src/layouts/Layout.astro
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { CollectionEntry, ContentCollectionKey } from 'astro:content'
|
|
3
|
-
import { getEntry } from 'astro:content'
|
|
4
|
-
import Banner from 'fulldev-ui/blocks/Banner.astro'
|
|
5
|
-
import Footer from 'fulldev-ui/blocks/Footer.astro'
|
|
6
|
-
import Element from 'fulldev-ui/components/Element.astro'
|
|
7
|
-
import Head from 'fulldev-ui/components/Head.astro'
|
|
8
|
-
import Header from 'fulldev-ui/components/Header.astro'
|
|
9
|
-
import Sidebar from 'fulldev-ui/components/Sidebar.astro'
|
|
10
|
-
import Subheader from 'fulldev-ui/components/Subheader.astro'
|
|
11
|
-
|
|
12
|
-
type Props = CollectionEntry<ContentCollectionKey>
|
|
13
|
-
|
|
14
|
-
const layout = await getEntry('layouts', 'base')
|
|
15
|
-
|
|
16
|
-
const { banner, header, subheader, sidebar, footer, theme, code } = layout.data
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
<!doctype html>
|
|
20
|
-
<html class="layout">
|
|
21
|
-
<Head
|
|
22
|
-
{...layout.data}
|
|
23
|
-
{...Astro.props.data}
|
|
24
|
-
/>
|
|
25
|
-
<Element
|
|
26
|
-
class:list="layout-body"
|
|
27
|
-
as="body"
|
|
28
|
-
{theme}
|
|
29
|
-
>
|
|
30
|
-
<Banner text={banner} />
|
|
31
|
-
<Header {...header} />
|
|
32
|
-
<Subheader {...subheader} />
|
|
33
|
-
<slot name="before" />
|
|
34
|
-
|
|
35
|
-
<Element class:list={['layout-container', { 'has-sidebar': sidebar }]}>
|
|
36
|
-
<Sidebar {...sidebar} />
|
|
37
|
-
<main class="layout-main">
|
|
38
|
-
<slot />
|
|
39
|
-
</main>
|
|
40
|
-
</Element>
|
|
41
|
-
<Footer {...footer} />
|
|
42
|
-
<slot name="after" />
|
|
43
|
-
<Fragment set:html={code?.body} />
|
|
44
|
-
|
|
45
|
-
<style is:global>
|
|
46
|
-
@layer fulldev {
|
|
47
|
-
.layout {
|
|
48
|
-
@apply w-full font-sans text-base leading-relaxed text-foreground;
|
|
49
|
-
color-scheme: light;
|
|
50
|
-
|
|
51
|
-
&.dark {
|
|
52
|
-
color-scheme: dark;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.layout-body {
|
|
57
|
-
@apply flex min-h-screen w-full flex-col bg-background font-sans text-foreground;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.layout-container {
|
|
61
|
-
@apply relative flex h-full w-full flex-grow;
|
|
62
|
-
|
|
63
|
-
&.has-sidebar {
|
|
64
|
-
@apply container px-0;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.layout-main {
|
|
69
|
-
@apply flex w-full max-w-full flex-1 shrink flex-col;
|
|
70
|
-
|
|
71
|
-
/* full width minus sidebar width */
|
|
72
|
-
@media (min-width: 1024px) {
|
|
73
|
-
max-width: calc(100% - var(--sidebar-width, 0px));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
</style>
|
|
78
|
-
</Element>
|
|
79
|
-
</html>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { CollectionEntry } from 'astro:content'
|
|
3
|
-
import Prose from 'fulldev-ui/components/Prose.astro'
|
|
4
|
-
import Sections from 'fulldev-ui/components/sections.astro'
|
|
5
|
-
import Layout from 'fulldev-ui/layouts/Layout.astro'
|
|
6
|
-
|
|
7
|
-
type Props = CollectionEntry<'pages'>
|
|
8
|
-
|
|
9
|
-
const { render } = Astro.props
|
|
10
|
-
const { sections } = Astro.props.data
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<Layout {...Astro.props}>
|
|
14
|
-
<Prose
|
|
15
|
-
{render}
|
|
16
|
-
toc={false}
|
|
17
|
-
/>
|
|
18
|
-
<Sections {sections} />
|
|
19
|
-
<slot />
|
|
20
|
-
</Layout>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { CollectionEntry } from 'astro:content'
|
|
3
|
-
import Prose from 'fulldev-ui/components/Prose.astro'
|
|
4
|
-
import Sections from 'fulldev-ui/components/sections.astro'
|
|
5
|
-
import Layout from 'fulldev-ui/layouts/Layout.astro'
|
|
6
|
-
|
|
7
|
-
type Props = CollectionEntry<'posts'>
|
|
8
|
-
|
|
9
|
-
const { render } = Astro.props
|
|
10
|
-
const { sections } = Astro.props.data
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<Layout {...Astro.props}>
|
|
14
|
-
<Prose
|
|
15
|
-
{render}
|
|
16
|
-
toc={true}
|
|
17
|
-
/>
|
|
18
|
-
<Sections {sections} />
|
|
19
|
-
<slot />
|
|
20
|
-
</Layout>
|