spoko-design-system 0.6.4 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.astro/settings.json +4 -4
- package/.github/dependabot.yml +11 -11
- package/.github/todo.yml +3 -3
- package/.github/workflows/deploy.yml +39 -39
- package/.stackblitzrc +5 -5
- package/.vscode/extensions.json +5 -5
- package/.vscode/launch.json +11 -11
- package/.vscode/settings.json +5 -5
- package/LICENSE +21 -21
- package/README.md +114 -114
- package/astro-i18next.config.mjs +17 -17
- package/astro-i18next.config.ts +10 -10
- package/astro.config.mjs +86 -86
- package/dev-dist/sw.js +91 -91
- package/dev-dist/workbox-c676b6d3.js +3391 -3391
- package/icon.config.ts +279 -279
- package/index.ts +66 -66
- package/package.json +1 -1
- package/public/fonts/lg.svg +53 -53
- package/public/fonts/vwhead-bold-demo.html +549 -549
- package/public/fonts/vwhead-regular-demo.html +549 -549
- package/public/fonts/vwtext-bold-demo.html +549 -549
- package/public/fonts/vwtext-regular-demo.html +549 -549
- package/public/github.svg +3 -3
- package/public/grid_dot.svg +4 -4
- package/public/linkedin.svg +44 -44
- package/public/locales/en/translation.json +8 -8
- package/public/locales/pl/translation.json +8 -8
- package/public/make-scrollable-code-focusable.js +3 -3
- package/public/pagefind.yml +3 -3
- package/public/polo.blue.svg +29 -29
- package/public/spoko.space.svg +71 -71
- package/public/twitter.svg +46 -46
- package/renovate.json +6 -6
- package/sandbox.config.json +11 -11
- package/src/MyComponent.astro +8 -8
- package/src/components/Badge.vue +19 -19
- package/src/components/Badges.vue +21 -21
- package/src/components/Breadcrumbs.vue +107 -107
- package/src/components/Button.vue +101 -101
- package/src/components/ButtonCopy.astro +183 -183
- package/src/components/ButtonCopy.vue +36 -36
- package/src/components/Card.astro +27 -27
- package/src/components/Carousel.astro +26 -26
- package/src/components/Category/CategoriesCarousel.astro +101 -101
- package/src/components/Category/CategoryDetails.astro +169 -169
- package/src/components/Category/CategoryLink.vue +28 -28
- package/src/components/Category/CategorySidebarToggler.vue +9 -9
- package/src/components/Category/CategoryTile.astro +38 -38
- package/src/components/Category/CategoryViewToggler.astro +89 -89
- package/src/components/Category/SubCategoryLink.vue +19 -19
- package/src/components/Copyright.astro +12 -12
- package/src/components/Date.astro +7 -7
- package/src/components/Faq.astro +33 -33
- package/src/components/FaqItem.astro +80 -80
- package/src/components/FeaturesList.vue +41 -41
- package/src/components/FuckRussia.vue +62 -62
- package/src/components/HandDrive.astro +29 -29
- package/src/components/Header/Header.astro +210 -210
- package/src/components/Header/SkipToContent.astro +1 -1
- package/src/components/Headline.vue +48 -48
- package/src/components/Image.astro +30 -30
- package/src/components/LeftSidebar.astro +53 -53
- package/src/components/MainColors.vue +22 -22
- package/src/components/MainInput.vue +15 -15
- package/src/components/Modal.astro +27 -27
- package/src/components/PageContent.astro +5 -5
- package/src/components/PartNumber.vue +27 -27
- package/src/components/Post/PostCategories.astro +37 -37
- package/src/components/Post/PostCategories.vue +39 -39
- package/src/components/PostHeader.astro +103 -103
- package/src/components/PrCode.vue +141 -141
- package/src/components/Product/ProductButton.vue +18 -18
- package/src/components/Product/ProductCarousel.astro +35 -35
- package/src/components/Product/ProductCodes.vue +174 -174
- package/src/components/Product/ProductEngineType.vue +42 -42
- package/src/components/Product/ProductImage.astro +40 -40
- package/src/components/Product/ProductLink.astro +101 -101
- package/src/components/Product/ProductLink.vue +59 -59
- package/src/components/Product/ProductLinkInfo.astro +37 -37
- package/src/components/Product/ProductNumber.astro +60 -60
- package/src/components/ProductCarousel.astro +38 -38
- package/src/components/ProductCodes.vue +39 -39
- package/src/components/ProductDetailName.vue +52 -52
- package/src/components/ProductDetailsList.vue +65 -65
- package/src/components/ProductTile.astro +48 -48
- package/src/components/Quote.vue +23 -23
- package/src/components/ReloadPrompt.astro +50 -50
- package/src/components/SlimBanner.vue +72 -72
- package/src/components/Table.vue +32 -32
- package/src/components/TableOfContents.astro +15 -15
- package/src/components/Translations.vue +23 -23
- package/src/components/flags/FlagPL.vue +3 -3
- package/src/components/flags/FlagUA.vue +2 -2
- package/src/components/layout/Container.astro +7 -7
- package/src/components/layout/Header.astro +80 -80
- package/src/config.ts +56 -56
- package/src/design.config.ts +98 -98
- package/src/env.d.ts +6 -6
- package/src/layouts/Layout.astro +61 -61
- package/src/layouts/MainLayout.astro +81 -81
- package/src/layouts/partials/FooterCommon.astro +4 -4
- package/src/layouts/partials/HeadCommon.astro +44 -44
- package/src/layouts/partials/HeadSEO.astro +41 -41
- package/src/pages/components/badges.mdx +57 -57
- package/src/pages/components/breadcrumbs.mdx +139 -139
- package/src/pages/components/buttons.mdx +360 -360
- package/src/pages/components/card.mdx +294 -294
- package/src/pages/components/carousel.mdx +62 -62
- package/src/pages/components/copyright.mdx +42 -42
- package/src/pages/components/details-list.mdx +115 -115
- package/src/pages/components/features-list.mdx +37 -37
- package/src/pages/components/flags.mdx +49 -49
- package/src/pages/components/fuck-russia.mdx +39 -39
- package/src/pages/components/hand-drive.mdx +38 -38
- package/src/pages/components/headline.mdx +152 -152
- package/src/pages/components/icons.astro +135 -135
- package/src/pages/components/image.mdx +513 -513
- package/src/pages/components/input.mdx +367 -367
- package/src/pages/components/jumbotron.mdx +359 -359
- package/src/pages/components/modal.mdx +64 -64
- package/src/pages/components/post-header.mdx +60 -60
- package/src/pages/components/pr-code.mdx +65 -65
- package/src/pages/components/product-number.mdx +58 -58
- package/src/pages/components/product-tile.mdx +51 -51
- package/src/pages/components/quote.mdx +33 -33
- package/src/pages/components/slimbanner.mdx +35 -35
- package/src/pages/components/table.mdx +108 -108
- package/src/pages/core/colors.mdx +10 -10
- package/src/pages/core/grid.mdx +89 -89
- package/src/pages/core/introduction.mdx +77 -77
- package/src/pages/core/shadows.astro +20 -20
- package/src/pages/core/typography.astro +49 -49
- package/src/pages/index.astro +130 -130
- package/src/pages/patterns/introduction.mdx +60 -60
- package/src/pwa.ts +12 -12
- package/src/styles/_variables.scss +70 -70
- package/src/styles/base/base.css +184 -184
- package/src/styles/base/grid.css +92 -92
- package/src/styles/base/typography.css +70 -70
- package/src/styles/content.css +73 -73
- package/src/styles/main.css +7 -7
- package/src/types/Product.ts +31 -31
- package/src/types/astro.d.ts +3 -3
- package/src/utils/product/getPriceFormatted.ts +15 -15
- package/src/utils/product/getProductChecklist.ts +17 -17
- package/src/utils/product/useFormatProductNumber.ts +41 -41
- package/src/utils/seo/getShorterDescription.ts +14 -14
- package/src/utils/text/formatDate.ts +5 -5
- package/src/utils/text/formatLocaleNumber.ts +6 -6
- package/src/utils/text/formatPad.ts +12 -12
- package/src/utils/text/getNumberFormatted.ts +33 -33
- package/src/utils/text/getTranslatedLink.ts +5 -5
- package/src/utils/text.ts +19 -19
- package/tailwind.config.cjs +8 -8
- package/tsconfig.json +28 -28
- package/uno-config/index.ts +232 -232
- package/uno-config/theme/breakpoints.ts +9 -9
- package/uno-config/theme/colors.ts +64 -64
- package/uno-config/theme/dimensions.ts +17 -17
- package/uno-config/theme/effects.ts +14 -14
- package/uno-config/theme/grid.ts +10 -10
- package/uno-config/theme/index.ts +28 -28
- package/uno-config/theme/shortcuts/buttons.ts +53 -53
- package/uno-config/theme/shortcuts/components.ts +92 -92
- package/uno-config/theme/shortcuts/index.ts +20 -20
- package/uno-config/theme/shortcuts/layout.ts +64 -64
- package/uno-config/theme/typography.ts +29 -29
- package/uno.config.ts +2 -2
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Introduction
|
|
3
|
-
description: Docs intro
|
|
4
|
-
layout: ../../layouts/MainLayout.astro
|
|
5
|
-
---
|
|
6
|
-
import Button from '../../components/Button.vue'
|
|
7
|
-
|
|
8
|
-
# Spoko Design System Theme
|
|
9
|
-
|
|
10
|
-
SDS is the easiest way to start with some my websites.
|
|
11
|
-
Since Astro is compatible with many frameworks, we can import components and document them right in the markdown files.
|
|
12
|
-
|
|
13
|
-
The project was inspired by the Astroship starter and Astro Design System Theme (the latter is currently not developed, nor is it responsive, but the nice organization in the configuration files appealed to me a lot).
|
|
14
|
-
|
|
15
|
-
It's still in the development phase, use at your own risk ;-)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## Getting started
|
|
19
|
-
|
|
20
|
-
### Adding new sections
|
|
21
|
-
|
|
22
|
-
Although it's not required, you can create folders for new sections.
|
|
23
|
-
|
|
24
|
-
To show the section on the left side navigation, add it to the navigation config file at `src/config.ts`.
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
Example:
|
|
28
|
-
|
|
29
|
-
```js
|
|
30
|
-
export const SIDEBAR = [
|
|
31
|
-
{ text: "Core", header: true },
|
|
32
|
-
{ text: "Introduction", link: "/core/introduction" },
|
|
33
|
-
...,
|
|
34
|
-
{ text: "Components", header: true },
|
|
35
|
-
{ text: "Buttons", link: "/components/buttons" },
|
|
36
|
-
...,
|
|
37
|
-
{ text: "New section", header: true },
|
|
38
|
-
{ text: "New component", link: "/new-section/new-component.md" },
|
|
39
|
-
];
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Adding new pages
|
|
43
|
-
|
|
44
|
-
To add new pages just create an .astro or markdown file in `src/pages/[section]/my-page.mdx`. Remember to add it to the navigation config in `src/config.ts` so it shows up in the left side navigation.
|
|
45
|
-
|
|
46
|
-
You're free to organize the pages however you want.
|
|
47
|
-
|
|
48
|
-
### Customizing Core section (colors, typography, shadows...)
|
|
49
|
-
|
|
50
|
-
If you want to customize the default colors, typography or shadows you can find the configuration file at `uno-config`. I think I have prepared enough shades of blue ;-)
|
|
51
|
-
|
|
52
|
-
Feel free to add new pages to the Core section
|
|
53
|
-
|
|
54
|
-
### Customizing the page layout
|
|
55
|
-
|
|
56
|
-
You can find the css for the pages in `src/styles/content.css`.
|
|
57
|
-
|
|
58
|
-
### Adding mew components
|
|
59
|
-
|
|
60
|
-
Astro is great for design systems because it allows you to import components from different frameworks like react, vue or svelte.
|
|
61
|
-
|
|
62
|
-
To get started check how the `Button` component is used in the `src/pages/buttons.mdx` file.
|
|
63
|
-
|
|
64
|
-
You can import your component library or create your own and document it easily.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
### `.component-preview` utility
|
|
68
|
-
|
|
69
|
-
There's a class called `.component-preview` that you can use to wrap your component in a grid, and it will look like this:
|
|
70
|
-
|
|
71
|
-
<div class="component-preview">
|
|
72
|
-
<Button primary rounded>Your component</Button>
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
### Have fun!
|
|
76
|
-
|
|
77
|
-
Spoko Design System template was made by **[@spokospace](https://spoko.space)** for personal and commercial use.
|
|
1
|
+
---
|
|
2
|
+
title: Introduction
|
|
3
|
+
description: Docs intro
|
|
4
|
+
layout: ../../layouts/MainLayout.astro
|
|
5
|
+
---
|
|
6
|
+
import Button from '../../components/Button.vue'
|
|
7
|
+
|
|
8
|
+
# Spoko Design System Theme
|
|
9
|
+
|
|
10
|
+
SDS is the easiest way to start with some my websites.
|
|
11
|
+
Since Astro is compatible with many frameworks, we can import components and document them right in the markdown files.
|
|
12
|
+
|
|
13
|
+
The project was inspired by the Astroship starter and Astro Design System Theme (the latter is currently not developed, nor is it responsive, but the nice organization in the configuration files appealed to me a lot).
|
|
14
|
+
|
|
15
|
+
It's still in the development phase, use at your own risk ;-)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Getting started
|
|
19
|
+
|
|
20
|
+
### Adding new sections
|
|
21
|
+
|
|
22
|
+
Although it's not required, you can create folders for new sections.
|
|
23
|
+
|
|
24
|
+
To show the section on the left side navigation, add it to the navigation config file at `src/config.ts`.
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
Example:
|
|
28
|
+
|
|
29
|
+
```js
|
|
30
|
+
export const SIDEBAR = [
|
|
31
|
+
{ text: "Core", header: true },
|
|
32
|
+
{ text: "Introduction", link: "/core/introduction" },
|
|
33
|
+
...,
|
|
34
|
+
{ text: "Components", header: true },
|
|
35
|
+
{ text: "Buttons", link: "/components/buttons" },
|
|
36
|
+
...,
|
|
37
|
+
{ text: "New section", header: true },
|
|
38
|
+
{ text: "New component", link: "/new-section/new-component.md" },
|
|
39
|
+
];
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Adding new pages
|
|
43
|
+
|
|
44
|
+
To add new pages just create an .astro or markdown file in `src/pages/[section]/my-page.mdx`. Remember to add it to the navigation config in `src/config.ts` so it shows up in the left side navigation.
|
|
45
|
+
|
|
46
|
+
You're free to organize the pages however you want.
|
|
47
|
+
|
|
48
|
+
### Customizing Core section (colors, typography, shadows...)
|
|
49
|
+
|
|
50
|
+
If you want to customize the default colors, typography or shadows you can find the configuration file at `uno-config`. I think I have prepared enough shades of blue ;-)
|
|
51
|
+
|
|
52
|
+
Feel free to add new pages to the Core section
|
|
53
|
+
|
|
54
|
+
### Customizing the page layout
|
|
55
|
+
|
|
56
|
+
You can find the css for the pages in `src/styles/content.css`.
|
|
57
|
+
|
|
58
|
+
### Adding mew components
|
|
59
|
+
|
|
60
|
+
Astro is great for design systems because it allows you to import components from different frameworks like react, vue or svelte.
|
|
61
|
+
|
|
62
|
+
To get started check how the `Button` component is used in the `src/pages/buttons.mdx` file.
|
|
63
|
+
|
|
64
|
+
You can import your component library or create your own and document it easily.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### `.component-preview` utility
|
|
68
|
+
|
|
69
|
+
There's a class called `.component-preview` that you can use to wrap your component in a grid, and it will look like this:
|
|
70
|
+
|
|
71
|
+
<div class="component-preview">
|
|
72
|
+
<Button primary rounded>Your component</Button>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
### Have fun!
|
|
76
|
+
|
|
77
|
+
Spoko Design System template was made by **[@spokospace](https://spoko.space)** for personal and commercial use.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
---
|
|
2
|
-
import MainLayout from '../../layouts/MainLayout.astro';
|
|
3
|
-
import { SHADOWS } from '../../design.config'
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
<MainLayout>
|
|
8
|
-
<h1>Shadows</h1>
|
|
9
|
-
<div class="component-preview">
|
|
10
|
-
<div class="inline-grid grid-cols-2 gap-16">
|
|
11
|
-
{SHADOWS.types.map(({name, value}) => (
|
|
12
|
-
<div class="p-2 bg-white rounded-md text-slate-500 text-right pt-16 pl-24 font-mono" style={"box-shadow: " + value}>{name}</div>
|
|
13
|
-
))}
|
|
14
|
-
</div>
|
|
15
|
-
</div>
|
|
16
|
-
<pre class="astro-code bg-slate-800 text-white">
|
|
17
|
-
{SHADOWS.types.map(({name, value}) => (
|
|
18
|
-
<div class="my-2">{`${name}: ${value}`}</div>
|
|
19
|
-
))}
|
|
20
|
-
</pre>
|
|
1
|
+
---
|
|
2
|
+
import MainLayout from '../../layouts/MainLayout.astro';
|
|
3
|
+
import { SHADOWS } from '../../design.config'
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<MainLayout>
|
|
8
|
+
<h1>Shadows</h1>
|
|
9
|
+
<div class="component-preview">
|
|
10
|
+
<div class="inline-grid grid-cols-2 gap-16">
|
|
11
|
+
{SHADOWS.types.map(({name, value}) => (
|
|
12
|
+
<div class="p-2 bg-white rounded-md text-slate-500 text-right pt-16 pl-24 font-mono" style={"box-shadow: " + value}>{name}</div>
|
|
13
|
+
))}
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<pre class="astro-code bg-slate-800 text-white">
|
|
17
|
+
{SHADOWS.types.map(({name, value}) => (
|
|
18
|
+
<div class="my-2">{`${name}: ${value}`}</div>
|
|
19
|
+
))}
|
|
20
|
+
</pre>
|
|
21
21
|
</MainLayout>
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
---
|
|
2
|
-
import MainLayout from '../../layouts/MainLayout.astro'
|
|
3
|
-
import { typography } from '../../../uno-config/theme/typography'
|
|
4
|
-
|
|
5
|
-
const fonts = Object.entries(typography.fontFamily)
|
|
6
|
-
const loremText = "Lorem ipsum dolor sit amet, consectetur adipiscing"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
<MainLayout>
|
|
10
|
-
<div class="max-w-7xl mx-auto px-4 py-8 sm:px-6 lg:px-8">
|
|
11
|
-
<h1 class="text-4xl font-bold text-gray-900 mb-8">Font Family Preview</h1>
|
|
12
|
-
|
|
13
|
-
<!-- Font Preview Cards -->
|
|
14
|
-
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12">
|
|
15
|
-
{fonts.map(([name, family]) => (
|
|
16
|
-
<div class="bg-white rounded-lg shadow-sm border border-gray-200 p-6 hover:shadow-md transition-shadow">
|
|
17
|
-
<!-- Font Sample -->
|
|
18
|
-
<div class={`font-${name} text-3xl mb-4 min-h-[120px] flex items-center`}>
|
|
19
|
-
{loremText}
|
|
20
|
-
</div>
|
|
21
|
-
|
|
22
|
-
<!-- Font Info -->
|
|
23
|
-
<div class="border-t pt-4">
|
|
24
|
-
<div class="flex items-center justify-between mb-2">
|
|
25
|
-
<span class="text-lg font-medium text-gray-900">{name}</span>
|
|
26
|
-
<span class="px-3 py-1 bg-gray-100 rounded-full text-sm text-gray-600">font-{name}</span>
|
|
27
|
-
</div>
|
|
28
|
-
<code class="text-sm text-gray-500 block overflow-x-auto whitespace-nowrap">
|
|
29
|
-
{family.join(', ')}
|
|
30
|
-
</code>
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
))}
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
<!-- Font Configuration Code -->
|
|
37
|
-
<div class="bg-gray-900 rounded-lg overflow-hidden">
|
|
38
|
-
<div class="bg-gray-800 px-4 py-2 text-gray-400">
|
|
39
|
-
Font Configuration
|
|
40
|
-
</div>
|
|
41
|
-
<pre class="p-4 overflow-x-auto">
|
|
42
|
-
<code class="text-gray-200 text-sm">
|
|
43
|
-
{fonts.map(([name, family]) => `font-${name}:\n${family.join(', ')}
|
|
44
|
-
`).join('\n')}</code>
|
|
45
|
-
</pre>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
</MainLayout>
|
|
49
|
-
|
|
1
|
+
---
|
|
2
|
+
import MainLayout from '../../layouts/MainLayout.astro'
|
|
3
|
+
import { typography } from '../../../uno-config/theme/typography'
|
|
4
|
+
|
|
5
|
+
const fonts = Object.entries(typography.fontFamily)
|
|
6
|
+
const loremText = "Lorem ipsum dolor sit amet, consectetur adipiscing"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<MainLayout>
|
|
10
|
+
<div class="max-w-7xl mx-auto px-4 py-8 sm:px-6 lg:px-8">
|
|
11
|
+
<h1 class="text-4xl font-bold text-gray-900 mb-8">Font Family Preview</h1>
|
|
12
|
+
|
|
13
|
+
<!-- Font Preview Cards -->
|
|
14
|
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-12">
|
|
15
|
+
{fonts.map(([name, family]) => (
|
|
16
|
+
<div class="bg-white rounded-lg shadow-sm border border-gray-200 p-6 hover:shadow-md transition-shadow">
|
|
17
|
+
<!-- Font Sample -->
|
|
18
|
+
<div class={`font-${name} text-3xl mb-4 min-h-[120px] flex items-center`}>
|
|
19
|
+
{loremText}
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<!-- Font Info -->
|
|
23
|
+
<div class="border-t pt-4">
|
|
24
|
+
<div class="flex items-center justify-between mb-2">
|
|
25
|
+
<span class="text-lg font-medium text-gray-900">{name}</span>
|
|
26
|
+
<span class="px-3 py-1 bg-gray-100 rounded-full text-sm text-gray-600">font-{name}</span>
|
|
27
|
+
</div>
|
|
28
|
+
<code class="text-sm text-gray-500 block overflow-x-auto whitespace-nowrap">
|
|
29
|
+
{family.join(', ')}
|
|
30
|
+
</code>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
))}
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<!-- Font Configuration Code -->
|
|
37
|
+
<div class="bg-gray-900 rounded-lg overflow-hidden">
|
|
38
|
+
<div class="bg-gray-800 px-4 py-2 text-gray-400">
|
|
39
|
+
Font Configuration
|
|
40
|
+
</div>
|
|
41
|
+
<pre class="p-4 overflow-x-auto">
|
|
42
|
+
<code class="text-gray-200 text-sm">
|
|
43
|
+
{fonts.map(([name, family]) => `font-${name}:\n${family.join(', ')}
|
|
44
|
+
`).join('\n')}</code>
|
|
45
|
+
</pre>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</MainLayout>
|
|
49
|
+
|
package/src/pages/index.astro
CHANGED
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { changeLanguage } from "i18next";
|
|
3
|
-
import { Icon } from "astro-icon/components";
|
|
4
|
-
import { SITE } from "../config";
|
|
5
|
-
import Jumbotron from "../components/Jumbotron.astro";
|
|
6
|
-
import Layout from "../layouts/Layout.astro";
|
|
7
|
-
import Headline from "../components/Headline.vue";
|
|
8
|
-
import Button from "../components/Button.vue";
|
|
9
|
-
import Quote from "../components/Quote.vue";
|
|
10
|
-
import FeaturesList from "../components/FeaturesList.vue";
|
|
11
|
-
|
|
12
|
-
const navItems = [
|
|
13
|
-
{
|
|
14
|
-
title: "Core",
|
|
15
|
-
description: "Base colors, typography, shadows etc.",
|
|
16
|
-
url: "/core/introduction",
|
|
17
|
-
icon: "ant-design:cluster-outlined",
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
title: "Components",
|
|
21
|
-
description: "The building blocks for our UI.",
|
|
22
|
-
url: "/components/buttons",
|
|
23
|
-
icon: "ant-design:build-twotone",
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
title: "Patterns",
|
|
27
|
-
description: "Common patterns for building interfaces.",
|
|
28
|
-
url: "/patterns/introduction",
|
|
29
|
-
icon: "ant-design:audit-outlined",
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
<Layout>
|
|
35
|
-
<div class="bg-slate-100 min-h-screen text-center">
|
|
36
|
-
<Jumbotron title={SITE.title}>
|
|
37
|
-
<p
|
|
38
|
-
slot="subtitle"
|
|
39
|
-
class="mt-3 text-base text-gray-200 sm:mt-5 text-lg md:text-xl lg:mx-0 md:mt-5"
|
|
40
|
-
set:html={SITE.description}
|
|
41
|
-
/>
|
|
42
|
-
|
|
43
|
-
<Button
|
|
44
|
-
slot="cta-content"
|
|
45
|
-
href="/core/introduction/"
|
|
46
|
-
title="Spoko Design System"
|
|
47
|
-
primary
|
|
48
|
-
rounded
|
|
49
|
-
>
|
|
50
|
-
Read More
|
|
51
|
-
</Button>
|
|
52
|
-
</Jumbotron>
|
|
53
|
-
<nav>
|
|
54
|
-
<div
|
|
55
|
-
class="px-4 flex-col flex flex-wrap md:flex-nowrap gap-4 max-w-5xl mx-auto text-left mt-12 md:(px-0 flex-row)"
|
|
56
|
-
>
|
|
57
|
-
{
|
|
58
|
-
navItems.map(({ title, description, url, icon }) => (
|
|
59
|
-
<a
|
|
60
|
-
href={url}
|
|
61
|
-
title={description}
|
|
62
|
-
class="flex w-full flex-wrap bg-white rounded-md hover:-translate-y-1 hover:shadow-lg transition-all flex-1 items-center py-10 px-4 md:(flex-col w-auto flex-nowrap text-center py-16)"
|
|
63
|
-
>
|
|
64
|
-
<Headline as="h2" textSize="2xl" underline={false}>
|
|
65
|
-
<Icon
|
|
66
|
-
name={icon}
|
|
67
|
-
aria-hidden="true"
|
|
68
|
-
class="text-blue-400 mr-2"
|
|
69
|
-
/>
|
|
70
|
-
{title}
|
|
71
|
-
</Headline>
|
|
72
|
-
<p class="text-slate-500 w-full">{description}</p>
|
|
73
|
-
</a>
|
|
74
|
-
))
|
|
75
|
-
}
|
|
76
|
-
</div>
|
|
77
|
-
</nav>
|
|
78
|
-
<div
|
|
79
|
-
class="mt-12 py-20 bg-blue-darker bg-vw text-white flex items-center justify-center relative"
|
|
80
|
-
>
|
|
81
|
-
<Quote>
|
|
82
|
-
<blockquote>
|
|
83
|
-
Well done is better than well said.
|
|
84
|
-
<small class="block font-headlight">- Benjamin Franklin</small>
|
|
85
|
-
</blockquote>
|
|
86
|
-
</Quote>
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<div class="px-4 grid lg:grid-cols-2 gap-4 md:gap-10 max-w-5xl mx-auto text-center py-12 md:px-0">
|
|
90
|
-
|
|
91
|
-
<div>
|
|
92
|
-
<Headline underline as="div" class="mx-auto text-gray-900" textSize="3xl">Download:</Headline>
|
|
93
|
-
<div class="grid grid-flow-col gap-4 auto-cols-max text-6xl mb-12">
|
|
94
|
-
<a href="https://www.npmjs.com/package/spoko-design-system" rel="noopener" title="npm page" class="hover:text-accent-lightest">
|
|
95
|
-
<Icon name="mdi:npm"/>
|
|
96
|
-
</a>
|
|
97
|
-
<a href="https://github.com/polo-blue/sds" rel="noopener" title="Github Page" class="hover:text-accent-lightest">
|
|
98
|
-
<Icon name="mdi:github"/>
|
|
99
|
-
</a>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
<div>
|
|
105
|
-
<Headline underline as="div" class="mx-auto text-gray-900" textSize="3xl">Examples:</Headline>
|
|
106
|
-
<ul class="grid text-2xl pt-6 lg:(auto-cols-max grid-flow-col py-6) text-left">
|
|
107
|
-
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
108
|
-
<a href="https://catalog.polo.blue" class="example-link" target="_blank"> catalog.polo.blue</a>
|
|
109
|
-
</li>
|
|
110
|
-
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
111
|
-
<a href="https://polo.blue" class="example-link" target="_blank"> polo.blue</a>
|
|
112
|
-
</li>
|
|
113
|
-
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
114
|
-
<a href="https://spoko.space" class="example-link" target="_blank"> spoko.space</a>
|
|
115
|
-
</li>
|
|
116
|
-
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
117
|
-
<a href="https://sale.polo.blue/" class="example-link" target="_blank">sale.polo.blue</a>
|
|
118
|
-
</li>
|
|
119
|
-
</ul>
|
|
120
|
-
</div>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
</div>
|
|
124
|
-
</div>
|
|
125
|
-
<script is:inline></script>
|
|
126
|
-
</Layout>
|
|
127
|
-
<style>
|
|
128
|
-
.example-link {
|
|
129
|
-
@apply transition ease-in-out delay-200 duration-300 text-blue-medium hover:(text-accent-light decoration-blue-medium) underline decoration-white;
|
|
130
|
-
}
|
|
1
|
+
---
|
|
2
|
+
import { changeLanguage } from "i18next";
|
|
3
|
+
import { Icon } from "astro-icon/components";
|
|
4
|
+
import { SITE } from "../config";
|
|
5
|
+
import Jumbotron from "../components/Jumbotron.astro";
|
|
6
|
+
import Layout from "../layouts/Layout.astro";
|
|
7
|
+
import Headline from "../components/Headline.vue";
|
|
8
|
+
import Button from "../components/Button.vue";
|
|
9
|
+
import Quote from "../components/Quote.vue";
|
|
10
|
+
import FeaturesList from "../components/FeaturesList.vue";
|
|
11
|
+
|
|
12
|
+
const navItems = [
|
|
13
|
+
{
|
|
14
|
+
title: "Core",
|
|
15
|
+
description: "Base colors, typography, shadows etc.",
|
|
16
|
+
url: "/core/introduction",
|
|
17
|
+
icon: "ant-design:cluster-outlined",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
title: "Components",
|
|
21
|
+
description: "The building blocks for our UI.",
|
|
22
|
+
url: "/components/buttons",
|
|
23
|
+
icon: "ant-design:build-twotone",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
title: "Patterns",
|
|
27
|
+
description: "Common patterns for building interfaces.",
|
|
28
|
+
url: "/patterns/introduction",
|
|
29
|
+
icon: "ant-design:audit-outlined",
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
<Layout>
|
|
35
|
+
<div class="bg-slate-100 min-h-screen text-center">
|
|
36
|
+
<Jumbotron title={SITE.title}>
|
|
37
|
+
<p
|
|
38
|
+
slot="subtitle"
|
|
39
|
+
class="mt-3 text-base text-gray-200 sm:mt-5 text-lg md:text-xl lg:mx-0 md:mt-5"
|
|
40
|
+
set:html={SITE.description}
|
|
41
|
+
/>
|
|
42
|
+
|
|
43
|
+
<Button
|
|
44
|
+
slot="cta-content"
|
|
45
|
+
href="/core/introduction/"
|
|
46
|
+
title="Spoko Design System"
|
|
47
|
+
primary
|
|
48
|
+
rounded
|
|
49
|
+
>
|
|
50
|
+
Read More
|
|
51
|
+
</Button>
|
|
52
|
+
</Jumbotron>
|
|
53
|
+
<nav>
|
|
54
|
+
<div
|
|
55
|
+
class="px-4 flex-col flex flex-wrap md:flex-nowrap gap-4 max-w-5xl mx-auto text-left mt-12 md:(px-0 flex-row)"
|
|
56
|
+
>
|
|
57
|
+
{
|
|
58
|
+
navItems.map(({ title, description, url, icon }) => (
|
|
59
|
+
<a
|
|
60
|
+
href={url}
|
|
61
|
+
title={description}
|
|
62
|
+
class="flex w-full flex-wrap bg-white rounded-md hover:-translate-y-1 hover:shadow-lg transition-all flex-1 items-center py-10 px-4 md:(flex-col w-auto flex-nowrap text-center py-16)"
|
|
63
|
+
>
|
|
64
|
+
<Headline as="h2" textSize="2xl" underline={false}>
|
|
65
|
+
<Icon
|
|
66
|
+
name={icon}
|
|
67
|
+
aria-hidden="true"
|
|
68
|
+
class="text-blue-400 mr-2"
|
|
69
|
+
/>
|
|
70
|
+
{title}
|
|
71
|
+
</Headline>
|
|
72
|
+
<p class="text-slate-500 w-full">{description}</p>
|
|
73
|
+
</a>
|
|
74
|
+
))
|
|
75
|
+
}
|
|
76
|
+
</div>
|
|
77
|
+
</nav>
|
|
78
|
+
<div
|
|
79
|
+
class="mt-12 py-20 bg-blue-darker bg-vw text-white flex items-center justify-center relative"
|
|
80
|
+
>
|
|
81
|
+
<Quote>
|
|
82
|
+
<blockquote>
|
|
83
|
+
Well done is better than well said.
|
|
84
|
+
<small class="block font-headlight">- Benjamin Franklin</small>
|
|
85
|
+
</blockquote>
|
|
86
|
+
</Quote>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<div class="px-4 grid lg:grid-cols-2 gap-4 md:gap-10 max-w-5xl mx-auto text-center py-12 md:px-0">
|
|
90
|
+
|
|
91
|
+
<div>
|
|
92
|
+
<Headline underline as="div" class="mx-auto text-gray-900" textSize="3xl">Download:</Headline>
|
|
93
|
+
<div class="grid grid-flow-col gap-4 auto-cols-max text-6xl mb-12">
|
|
94
|
+
<a href="https://www.npmjs.com/package/spoko-design-system" rel="noopener" title="npm page" class="hover:text-accent-lightest">
|
|
95
|
+
<Icon name="mdi:npm"/>
|
|
96
|
+
</a>
|
|
97
|
+
<a href="https://github.com/polo-blue/sds" rel="noopener" title="Github Page" class="hover:text-accent-lightest">
|
|
98
|
+
<Icon name="mdi:github"/>
|
|
99
|
+
</a>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
<div>
|
|
105
|
+
<Headline underline as="div" class="mx-auto text-gray-900" textSize="3xl">Examples:</Headline>
|
|
106
|
+
<ul class="grid text-2xl pt-6 lg:(auto-cols-max grid-flow-col py-6) text-left">
|
|
107
|
+
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
108
|
+
<a href="https://catalog.polo.blue" class="example-link" target="_blank"> catalog.polo.blue</a>
|
|
109
|
+
</li>
|
|
110
|
+
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
111
|
+
<a href="https://polo.blue" class="example-link" target="_blank"> polo.blue</a>
|
|
112
|
+
</li>
|
|
113
|
+
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
114
|
+
<a href="https://spoko.space" class="example-link" target="_blank"> spoko.space</a>
|
|
115
|
+
</li>
|
|
116
|
+
<li class="leading-5 me-6 mb-4 lg:mb-0">
|
|
117
|
+
<a href="https://sale.polo.blue/" class="example-link" target="_blank">sale.polo.blue</a>
|
|
118
|
+
</li>
|
|
119
|
+
</ul>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
<script is:inline></script>
|
|
126
|
+
</Layout>
|
|
127
|
+
<style>
|
|
128
|
+
.example-link {
|
|
129
|
+
@apply transition ease-in-out delay-200 duration-300 text-blue-medium hover:(text-accent-light decoration-blue-medium) underline decoration-white;
|
|
130
|
+
}
|
|
131
131
|
</style>
|