spoko-design-system 0.0.1 → 0.0.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/icon.d.ts +8109 -10
- package/.github/workflows/deploy.yml +39 -39
- package/.stackblitzrc +5 -5
- package/.vscode/extensions.json +5 -4
- package/.vscode/launch.json +11 -11
- package/.vscode/settings.json +6 -0
- package/LICENSE +21 -21
- package/Layout/Header.astro +111 -89
- package/README.md +94 -69
- package/astro-i18next.config.mjs +17 -17
- package/astro-i18next.config.ts +10 -10
- package/astro.config.mjs +51 -42
- package/index.ts +6 -6
- package/package.json +25 -17
- package/public/astro-design-system-logo.svg +10 -10
- package/public/favicon.ico +0 -0
- package/public/favicon.svg +0 -0
- 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 -5
- package/public/locales/pl/translation.json +8 -5
- package/public/make-scrollable-code-focusable.js +3 -3
- package/public/polo.blue.svg +29 -0
- package/public/spoko.space.svg +71 -0
- package/public/twitter.svg +46 -46
- package/sandbox.config.json +11 -11
- package/src/MyComponent.astro +8 -8
- package/src/components/Badge.vue +19 -19
- package/src/components/Badges.vue +24 -23
- package/src/components/Breadcrumbs.vue +108 -111
- package/src/components/Button.vue +37 -0
- package/src/components/ButtonCopy.vue +52 -0
- package/src/components/Card.astro +25 -0
- package/src/components/CategoryLink.astro +18 -0
- package/src/components/Copyright.astro +11 -11
- package/src/components/Date.astro +7 -0
- package/src/components/FuckRussia.vue +65 -65
- package/src/components/HandDrive.astro +29 -30
- package/src/components/HeadCommon.astro +40 -40
- package/src/components/HeadSEO.astro +41 -41
- package/src/components/Header/AstroLogo.astro +7 -27
- package/src/components/Header/Header.astro +44 -48
- package/src/components/Header/SkipToContent.astro +1 -1
- package/src/components/Headline.vue +60 -0
- package/src/components/Image.astro +30 -0
- package/src/components/Jumbatron.vue +46 -31
- package/src/components/LeftSidebar.astro +45 -44
- package/src/components/MainColors.vue +29 -29
- package/src/components/MainInput.vue +18 -18
- package/src/components/MainTable.vue +40 -45
- package/src/components/Modal.astro +30 -0
- package/src/components/PageContent.astro +14 -14
- package/src/components/PostHeader.astro +104 -0
- package/src/components/PrCode.vue +156 -0
- package/src/components/ProductNumber.astro +117 -0
- package/src/components/ProductTile.astro +54 -0
- package/src/components/RightSidebar.astro +15 -11
- package/src/components/SlimBanner.vue +59 -59
- package/src/components/TableOfContents.astro +11 -11
- package/src/components/Translations.vue +27 -0
- package/src/components/flags/FlagPL.vue +2 -2
- package/src/components/flags/FlagUA.vue +2 -2
- package/src/components/layout/Header.astro +50 -69
- package/src/config.ts +51 -42
- package/src/design.config.ts +73 -92
- package/src/env.d.ts +1 -1
- package/src/flag-poland.svg +1 -0
- package/src/flag-uk.svg +1 -0
- package/src/layouts/Layout.astro +43 -0
- package/src/layouts/MainLayout.astro +60 -50
- package/src/pages/components/badges.mdx +69 -35
- package/src/pages/components/breadcrumbs.mdx +136 -103
- package/src/pages/components/buttons.mdx +143 -60
- package/src/pages/components/card.mdx +40 -0
- package/src/pages/components/copyright.mdx +41 -24
- package/src/pages/components/flags.mdx +40 -26
- package/src/pages/components/fuck-russia.mdx +39 -16
- package/src/pages/components/hand-drive.mdx +38 -27
- package/src/pages/components/headline.mdx +148 -0
- package/src/pages/components/icons.astro +54 -45
- package/src/pages/components/image.mdx +502 -0
- package/src/pages/components/input.mdx +45 -14
- package/src/pages/components/jumbatron.mdx +71 -48
- package/src/pages/components/modal.mdx +64 -0
- package/src/pages/components/post-header.mdx +58 -0
- package/src/pages/components/pr-code.mdx +41 -0
- package/src/pages/components/product-number.mdx +65 -0
- package/src/pages/components/product-tile.mdx +39 -0
- package/src/pages/components/slimbanner.mdx +29 -27
- package/src/pages/components/table.mdx +39 -20
- package/src/pages/core/colors.mdx +8 -8
- package/src/pages/core/introduction.mdx +74 -68
- package/src/pages/core/shadows.astro +20 -20
- package/src/pages/core/typography.astro +46 -46
- package/src/pages/index.astro +70 -52
- package/src/pages/patterns/introduction.mdx +60 -61
- package/src/styles/_variables.scss +75 -75
- package/src/styles/base/_base.scss +166 -158
- package/src/styles/base/_typography.scss +147 -147
- package/src/styles/content.scss +66 -71
- package/src/styles/main.scss +22 -22
- package/tailwind.config.cjs +8 -8
- package/tsconfig.json +11 -11
- package/uno.config.ts +246 -227
- package/src/components/MainButton.vue +0 -26
- package/src/components/MainStatusPill.vue +0 -32
- package/src/pages/components/status-pill.mdx +0 -22
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
import { ref } from 'vue';
|
|
3
|
-
|
|
4
|
-
const props = defineProps({
|
|
5
|
-
showCloseButton: {
|
|
6
|
-
type: Boolean,
|
|
7
|
-
default: true,
|
|
8
|
-
required: false,
|
|
9
|
-
},
|
|
10
|
-
})
|
|
11
|
-
const isShow = ref(true)
|
|
12
|
-
const toggleVisibility = () => {
|
|
13
|
-
isShow.value = !isShow.value
|
|
14
|
-
}
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
<template>
|
|
18
|
-
<div v-if="isShow" data-pagefind-ignore class="slimbanner bg-lightBlue-500 drop-shadow-md z-2 px-4 sm:px-8 py-3 flex items-center justify-center text-xs sm:text-base leading-none text-white relative print-hidden">
|
|
19
|
-
<span class="inline-block text-4xl w-6 h-3.5 min-w-[1.25rem] mr-3 bg-gradient-to-b stops-[#0057b7_50%,50%,#ffd700_100%]" />
|
|
20
|
-
<span class="leading-none "><span data-text="We stand with our friends and colleagues in Ukraine. To support Ukraine in their time of need visit " />
|
|
21
|
-
<a href="https://polo.blue/support-ukraine/" target="_blank" rel="noopener" class="underline underline-offset-2 hover:text-blue-wrc">this page</a>.
|
|
22
|
-
</span>
|
|
23
|
-
|
|
24
|
-
<button class="ml-3 text-white relative w-5 h-5" v-if="props.showCloseButton" @click="toggleVisibility()" aria-label="Toggle">
|
|
25
|
-
<span class="close"></span>
|
|
26
|
-
</button>
|
|
27
|
-
</div>
|
|
28
|
-
<div v-else data-pagefind-ignore class="px-4 sm:px-8 py-3 flex items-center justify-center text-xs sm:text-base leading-none text-white relative bg-black drop-shadow-md z-2 ">
|
|
29
|
-
<div class="tracking-widest leading-none">
|
|
30
|
-
<span data-text="RUSSIA IS A" /> <span class="underline decoration-red-600 decoration-1 underline-offset-3" data-text="TERRORIST"/> <span data-text="STATE" />
|
|
31
|
-
</div>
|
|
32
|
-
<button class="ml-3 text-red-600 relative w-5 h-5" v-if="props.showCloseButton" @click="toggleVisibility()" aria-label="Toggle">
|
|
33
|
-
<span class="close"></span>
|
|
34
|
-
</button>
|
|
35
|
-
</div>
|
|
36
|
-
</template>
|
|
37
|
-
|
|
38
|
-
<style lang="scss">
|
|
39
|
-
.close {
|
|
40
|
-
@apply absolute top-0 left-0 opacity-50 ;
|
|
41
|
-
}
|
|
42
|
-
.close:hover {
|
|
43
|
-
@apply opacity-100;
|
|
44
|
-
}
|
|
45
|
-
.close:before, .close:after {
|
|
46
|
-
position: absolute;
|
|
47
|
-
left: 0.5rem;
|
|
48
|
-
content: ' ';
|
|
49
|
-
height: 1.25rem;
|
|
50
|
-
width: 2px;
|
|
51
|
-
background-color: #fff;
|
|
52
|
-
}
|
|
53
|
-
.close:before {
|
|
54
|
-
transform: rotate(45deg);
|
|
55
|
-
}
|
|
56
|
-
.close:after {
|
|
57
|
-
transform: rotate(-45deg);
|
|
58
|
-
}
|
|
59
|
-
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import { ref } from 'vue';
|
|
3
|
+
|
|
4
|
+
const props = defineProps({
|
|
5
|
+
showCloseButton: {
|
|
6
|
+
type: Boolean,
|
|
7
|
+
default: true,
|
|
8
|
+
required: false,
|
|
9
|
+
},
|
|
10
|
+
})
|
|
11
|
+
const isShow = ref(true)
|
|
12
|
+
const toggleVisibility = () => {
|
|
13
|
+
isShow.value = !isShow.value
|
|
14
|
+
}
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<template>
|
|
18
|
+
<div v-if="isShow" data-pagefind-ignore class="slimbanner bg-lightBlue-500 drop-shadow-md z-2 px-4 sm:px-8 py-3 flex items-center justify-center text-xs sm:text-base leading-none text-white relative print-hidden">
|
|
19
|
+
<span class="inline-block text-4xl w-6 h-3.5 min-w-[1.25rem] mr-3 bg-gradient-to-b stops-[#0057b7_50%,50%,#ffd700_100%]" />
|
|
20
|
+
<span class="leading-none "><span data-text="We stand with our friends and colleagues in Ukraine. To support Ukraine in their time of need visit " />
|
|
21
|
+
<a href="https://polo.blue/support-ukraine/" target="_blank" rel="noopener" class="underline underline-offset-2 hover:text-blue-wrc">this page</a>.
|
|
22
|
+
</span>
|
|
23
|
+
|
|
24
|
+
<button class="ml-3 text-white relative w-5 h-5" v-if="props.showCloseButton" @click="toggleVisibility()" aria-label="Toggle">
|
|
25
|
+
<span class="close"></span>
|
|
26
|
+
</button>
|
|
27
|
+
</div>
|
|
28
|
+
<div v-else data-pagefind-ignore class="px-4 sm:px-8 py-3 flex items-center justify-center text-xs sm:text-base leading-none text-white relative bg-black drop-shadow-md z-2 ">
|
|
29
|
+
<div class="tracking-widest leading-none">
|
|
30
|
+
<span data-text="RUSSIA IS A" /> <span class="underline decoration-red-600 decoration-1 underline-offset-3" data-text="TERRORIST"/> <span data-text="STATE" />
|
|
31
|
+
</div>
|
|
32
|
+
<button class="ml-3 text-red-600 relative w-5 h-5" v-if="props.showCloseButton" @click="toggleVisibility()" aria-label="Toggle">
|
|
33
|
+
<span class="close"></span>
|
|
34
|
+
</button>
|
|
35
|
+
</div>
|
|
36
|
+
</template>
|
|
37
|
+
|
|
38
|
+
<style lang="scss">
|
|
39
|
+
.close {
|
|
40
|
+
@apply absolute top-0 left-0 opacity-50 ;
|
|
41
|
+
}
|
|
42
|
+
.close:hover {
|
|
43
|
+
@apply opacity-100;
|
|
44
|
+
}
|
|
45
|
+
.close:before, .close:after {
|
|
46
|
+
position: absolute;
|
|
47
|
+
left: 0.5rem;
|
|
48
|
+
content: ' ';
|
|
49
|
+
height: 1.25rem;
|
|
50
|
+
width: 2px;
|
|
51
|
+
background-color: #fff;
|
|
52
|
+
}
|
|
53
|
+
.close:before {
|
|
54
|
+
transform: rotate(45deg);
|
|
55
|
+
}
|
|
56
|
+
.close:after {
|
|
57
|
+
transform: rotate(-45deg);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
60
|
</style>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
---
|
|
2
|
-
const { headers } = Astro.props;
|
|
3
|
-
---
|
|
4
|
-
<ul class="flex flex-col gap-4 mt-24">
|
|
5
|
-
{ headers.map(({ slug, text }) => {
|
|
6
|
-
return (
|
|
7
|
-
<li class="text-slate-400 hover:text-slate-800 hover:text-slate-900">
|
|
8
|
-
#<a href={`#${slug}`}>{text}</a>
|
|
9
|
-
</li>
|
|
10
|
-
)
|
|
11
|
-
}) }
|
|
1
|
+
---
|
|
2
|
+
const { headers } = Astro.props;
|
|
3
|
+
---
|
|
4
|
+
<ul class="flex flex-col gap-4 mt-24">
|
|
5
|
+
{ headers.map(({ slug, text }) => {
|
|
6
|
+
return (
|
|
7
|
+
<li class="text-slate-400 hover:text-slate-800 hover:text-slate-900">
|
|
8
|
+
#<a href={`#${slug}`}>{text}</a>
|
|
9
|
+
</li>
|
|
10
|
+
)
|
|
11
|
+
}) }
|
|
12
12
|
</ul>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
import { PropType } from 'vue';
|
|
4
|
+
|
|
5
|
+
const props = defineProps({
|
|
6
|
+
lang: {
|
|
7
|
+
type: String
|
|
8
|
+
},
|
|
9
|
+
translations: {
|
|
10
|
+
type: Object as PropType<{ uri: string | null, title: string | null, name: string | null } | null>
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<template>
|
|
16
|
+
<div
|
|
17
|
+
data-pagefind-ignore
|
|
18
|
+
v-if="props.translations !== null && props.translations.uri">
|
|
19
|
+
<a aria-label="Change language"
|
|
20
|
+
type="button"
|
|
21
|
+
:href="translations.uri"
|
|
22
|
+
:title="translations.name ? translations.name : translations.title"
|
|
23
|
+
:class="[lang === 'en' ? 'i-circle-flags:en' : '', lang === 'pl' ? 'i-circle-flags:pl' : '', 'w-5 hover:rotate--3']" />
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<span class="drop-shadow inline-block text-4xl w-6 h-3.5 min-w-[1.25rem] mr-3 bg-gradient-to-b stops-[#fff_50%,50%,#d4213d_100%]" />
|
|
1
|
+
<template>
|
|
2
|
+
<span class="drop-shadow inline-block text-4xl w-6 h-3.5 min-w-[1.25rem] mr-3 bg-gradient-to-b stops-[#fff_50%,50%,#d4213d_100%]" />
|
|
3
3
|
</template>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<span class="flag-ua" />
|
|
1
|
+
<template>
|
|
2
|
+
<span class="flag-ua" />
|
|
3
3
|
</template>
|
|
@@ -1,94 +1,75 @@
|
|
|
1
1
|
---
|
|
2
2
|
const { class: className } = Astro.props;
|
|
3
|
-
import { Icon } from
|
|
3
|
+
import { Icon } from "astro-icon/components";
|
|
4
4
|
|
|
5
5
|
const navItemsLeft = [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
]
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
// const navItemsRight = [
|
|
22
|
-
// {
|
|
23
|
-
// title: 'Components',
|
|
24
|
-
// description: 'The building blocks for our UI.',
|
|
25
|
-
// url: '/components/buttons',
|
|
26
|
-
// icon: 'carbon:language'
|
|
27
|
-
// },
|
|
28
|
-
// {
|
|
29
|
-
// title: 'Patterns',
|
|
30
|
-
// description: 'Common patterns for building interfaces.',
|
|
31
|
-
// url: '/patterns/introduction',
|
|
32
|
-
// icon: 'carbon:language'
|
|
33
|
-
// }
|
|
34
|
-
// ]
|
|
35
|
-
|
|
6
|
+
{
|
|
7
|
+
title: "Components",
|
|
8
|
+
description: "The building blocks for our UI.",
|
|
9
|
+
url: "/components/buttons",
|
|
10
|
+
img: "/Components.jpg",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
title: "Patterns",
|
|
14
|
+
description: "Common patterns for building interfaces.",
|
|
15
|
+
url: "/patterns/introduction",
|
|
16
|
+
img: "/Patterns.jpg",
|
|
17
|
+
},
|
|
18
|
+
];
|
|
36
19
|
---
|
|
37
20
|
|
|
38
21
|
<nav
|
|
39
22
|
itemscope
|
|
40
23
|
itemtype="http://schema.org/WPHeader"
|
|
41
|
-
class:list={[
|
|
24
|
+
class:list={[
|
|
25
|
+
className,
|
|
26
|
+
"nav print-hidden mx-auto px-4 shadow-md relative flex items-center justify-between h-24 sm:h-14 flex-wrap sm:flex-nowrap pt-1 sm:pt-0",
|
|
27
|
+
]}
|
|
42
28
|
>
|
|
29
|
+
<div class="flex items-center justify-start sm:items-stretch order-1">
|
|
30
|
+
<slot name="logo" />
|
|
43
31
|
|
|
44
|
-
<div class="
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<a href={url}
|
|
32
|
+
<div class="hidden sm:block sm:ml-6">
|
|
33
|
+
<div class="flex space-x-4" itemprop="hasPart">
|
|
34
|
+
{
|
|
35
|
+
navItemsLeft.map(({ title, description, url, img }) => (
|
|
36
|
+
<a
|
|
37
|
+
href={url}
|
|
51
38
|
class="text-gray-400 hover:bg-blue-700 hover:text-white px-3 py-1 rounded-full text-sm font-medium"
|
|
52
39
|
title={description}
|
|
53
40
|
itemprop="url"
|
|
54
41
|
>
|
|
55
42
|
{title}
|
|
56
43
|
</a>
|
|
57
|
-
))
|
|
58
|
-
|
|
44
|
+
))
|
|
45
|
+
}
|
|
59
46
|
</div>
|
|
60
47
|
</div>
|
|
48
|
+
</div>
|
|
61
49
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
50
|
+
<div
|
|
51
|
+
class="relative md:block sm:ml-4 w-full order-4 h-10 md:(w-64 mr-auto order-2)"
|
|
52
|
+
>
|
|
53
|
+
<slot name="search" />
|
|
54
|
+
</div>
|
|
66
55
|
|
|
67
|
-
|
|
68
|
-
|
|
56
|
+
<div
|
|
57
|
+
class="flex items-center pr-0 sm:static sm:inset-auto ml-auto sm:ml-6 -mr-2 dark:text-gray-400 print:hidden order-3 sm:order-3 w-20 justify-end"
|
|
58
|
+
itemprop="hasPart"
|
|
59
|
+
itemscope
|
|
60
|
+
itemtype="http://schema.org/SiteNavigationElement"
|
|
61
|
+
>
|
|
62
|
+
<a
|
|
63
|
+
class="icon-btn mx-2"
|
|
64
|
+
title=""
|
|
65
|
+
aria-label=""
|
|
66
|
+
href="#"
|
|
67
|
+
itemprop="url"
|
|
68
|
+
data-astro-reload
|
|
69
69
|
>
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
aria-label="asd"
|
|
74
|
-
href="#asd"
|
|
75
|
-
itemprop="url"
|
|
76
|
-
>
|
|
77
|
-
asd
|
|
78
|
-
</a> -->
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
<a class="icon-btn mx-2"
|
|
82
|
-
title=""
|
|
83
|
-
aria-label=""
|
|
84
|
-
href="#"
|
|
85
|
-
itemprop="url"
|
|
86
|
-
data-astro-reload
|
|
87
|
-
>
|
|
88
|
-
<Icon name="carbon:language" />
|
|
89
|
-
</a>
|
|
90
|
-
|
|
91
|
-
</div>
|
|
70
|
+
<Icon name="carbon:language" />
|
|
71
|
+
</a>
|
|
72
|
+
</div>
|
|
92
73
|
</nav>
|
|
93
74
|
|
|
94
75
|
<style lang="scss" is:global>
|
package/src/config.ts
CHANGED
|
@@ -1,42 +1,51 @@
|
|
|
1
|
-
export const SITE = {
|
|
2
|
-
title: "Spoko Design System",
|
|
3
|
-
description: "Astro
|
|
4
|
-
defaultLanguage: "en_US",
|
|
5
|
-
twitter: "@spokospace",
|
|
6
|
-
github: "spokospace",
|
|
7
|
-
linkedin: "szymonberski",
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const OPEN_GRAPH = {
|
|
11
|
-
image: {
|
|
12
|
-
src: "",
|
|
13
|
-
alt: "",
|
|
14
|
-
},
|
|
15
|
-
twitter: "",
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export const SIDEBAR = [
|
|
19
|
-
{ text: "Core", header: true },
|
|
20
|
-
{ text: "Introduction", link: "/core/introduction" },
|
|
21
|
-
{ text: "Colors", link: "/core/colors" },
|
|
22
|
-
{ text: "Typography", link: "/core/typography" },
|
|
23
|
-
{ text: "Shadows", link: "/core/shadows" },
|
|
24
|
-
|
|
25
|
-
{ text: "Components", header: true },
|
|
26
|
-
{ text: "
|
|
27
|
-
{ text: "
|
|
28
|
-
{ text: "
|
|
29
|
-
{ text: "
|
|
30
|
-
{ text: "HandDrive", link: "/components/hand-drive" },
|
|
31
|
-
{ text: "
|
|
32
|
-
{ text: "
|
|
33
|
-
{ text: "
|
|
34
|
-
{ text: "Input", link: "/components/input" },
|
|
35
|
-
{ text: "
|
|
36
|
-
{ text: "
|
|
37
|
-
{ text: "
|
|
38
|
-
{ text: "
|
|
39
|
-
|
|
40
|
-
{ text: "
|
|
41
|
-
{ text: "
|
|
42
|
-
|
|
1
|
+
export const SITE = {
|
|
2
|
+
title: "Spoko Design System",
|
|
3
|
+
description: "The Astro design system which facilitates the development of websites.",
|
|
4
|
+
defaultLanguage: "en_US",
|
|
5
|
+
twitter: "@spokospace",
|
|
6
|
+
github: "spokospace",
|
|
7
|
+
linkedin: "szymonberski",
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const OPEN_GRAPH = {
|
|
11
|
+
image: {
|
|
12
|
+
src: "",
|
|
13
|
+
alt: "",
|
|
14
|
+
},
|
|
15
|
+
twitter: "",
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const SIDEBAR = [
|
|
19
|
+
{ text: "Core", header: true },
|
|
20
|
+
{ text: "Introduction", link: "/core/introduction" },
|
|
21
|
+
{ text: "Colors", link: "/core/colors" },
|
|
22
|
+
{ text: "Typography", link: "/core/typography" },
|
|
23
|
+
{ text: "Shadows", link: "/core/shadows" },
|
|
24
|
+
|
|
25
|
+
{ text: "Components", header: true },
|
|
26
|
+
{ text: "Badges", link: "/components/badges" },
|
|
27
|
+
{ text: "Breadcrumbs", link: "/components/breadcrumbs" },
|
|
28
|
+
{ text: "Buttons", link: "/components/buttons" },
|
|
29
|
+
{ text: "Copyright", link: "/components/copyright" },
|
|
30
|
+
{ text: "HandDrive", link: "/components/hand-drive" },
|
|
31
|
+
{ text: "Headline", link: "/components/headline" },
|
|
32
|
+
{ text: "Icons", link: "/components/icons" },
|
|
33
|
+
{ text: "Image", link: "/components/image" },
|
|
34
|
+
{ text: "Input", link: "/components/input" },
|
|
35
|
+
{ text: "Jumbatron", link: "/components/jumbatron" },
|
|
36
|
+
{ text: "Modal", link: "/components/modal" },
|
|
37
|
+
{ text: "PostHeader", link: "/components/post-header" },
|
|
38
|
+
{ text: "Product Number", link: "/components/product-number" },
|
|
39
|
+
{ text: "Product Tile", link: "/components/product-tile" },
|
|
40
|
+
{ text: "Table", link: "/components/table" },
|
|
41
|
+
{ text: "PR-Code", link: "/components/pr-code" },
|
|
42
|
+
{ text: "Card", link: "/components/card" },
|
|
43
|
+
|
|
44
|
+
{ text: "Extras", header: true },
|
|
45
|
+
{ text: "Flags", link: "/components/flags" },
|
|
46
|
+
{ text: "SlimBanner", link: "/components/slimbanner" },
|
|
47
|
+
{ text: "FuckRussia", link: "/components/fuck-russia" },
|
|
48
|
+
|
|
49
|
+
{ text: "Patterns", header: true },
|
|
50
|
+
{ text: "Introduction", link: "/patterns/introduction" },
|
|
51
|
+
];
|
package/src/design.config.ts
CHANGED
|
@@ -1,92 +1,73 @@
|
|
|
1
|
-
export const COLORS = {
|
|
2
|
-
gray: [
|
|
3
|
-
{ name: "100", value: "#f3f4f6" },
|
|
4
|
-
{ name: "200", value: "#e5e7eb" },
|
|
5
|
-
{ name: "300", value: "#b5bbc5" },
|
|
6
|
-
{ name: "400", value: "#9ca3af" },
|
|
7
|
-
{ name: "500", value: "#64748B" },
|
|
8
|
-
],
|
|
9
|
-
blue: [
|
|
10
|
-
{ name: "50", value: "#eff6ff" },
|
|
11
|
-
{ name: "100", value: "#dbeafe" },
|
|
12
|
-
{ name: "200", value: "#bfdbfe" },
|
|
13
|
-
{ name: "300", value: "#93c5fd" },
|
|
14
|
-
{ name: "400", value: "#60a5fa" },
|
|
15
|
-
{ name: "500", value: "#3b82f6" },
|
|
16
|
-
{ name: "600", value: "#02307d" },
|
|
17
|
-
{ name: "700", value: "#001e50" },
|
|
18
|
-
{ name: "800", value: "#00437a" },
|
|
19
|
-
{ name: "900", value: "#000f28" },
|
|
20
|
-
{ name: "901", value: "#0c1a32" },
|
|
21
|
-
{ name: "wrc", value: "#0000c8" },
|
|
22
|
-
],
|
|
23
|
-
lightBlue: [
|
|
24
|
-
{ name: "400", value: "#00b0f0" },
|
|
25
|
-
{ name: "500", value: "#0099da" },
|
|
26
|
-
{ name: "600", value: "#0087c1" },
|
|
27
|
-
{ name: "700", value: "#006ea6" },
|
|
28
|
-
],
|
|
29
|
-
|
|
30
|
-
{ name: "
|
|
31
|
-
{ name: "
|
|
32
|
-
{ name: "
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
{ name: "
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
{ name: "
|
|
43
|
-
{ name: "
|
|
44
|
-
{ name: "
|
|
45
|
-
{ name: "
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
{ name: "
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{ name: "
|
|
64
|
-
{ name: "
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
{ name: "
|
|
71
|
-
{ name: "
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
{ name: "xl", value: "0px 32px 64px rgba(0, 0, 0, 0.125)" },
|
|
75
|
-
{ name: "2xl", value: "0px 64px 128px rgba(0, 0, 0, 0.125)" },
|
|
76
|
-
],
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
export const FONTS = {
|
|
81
|
-
types: [
|
|
82
|
-
{ name: "vw_textregular", value: "font-textregular" },
|
|
83
|
-
{ name: "vw_textregular", value: "font-sans" },
|
|
84
|
-
{ name: "vw_textbold", value: "font-textbold" },
|
|
85
|
-
{ name: "vw_headbold", value: "font-headbold" },
|
|
86
|
-
{ name: "vw_headregular", value: "vw_headregular" },
|
|
87
|
-
{ name: "vw_headlight", value: "font-headlight" },
|
|
88
|
-
{ name: "vw_textlight", value: "font-textlight" },
|
|
89
|
-
{ name: "Nova Mono", value: "font-novamono" },
|
|
90
|
-
{ name: "Nova Mono", value: "font-mono" }
|
|
91
|
-
],
|
|
92
|
-
};
|
|
1
|
+
export const COLORS = {
|
|
2
|
+
gray: [
|
|
3
|
+
{ name: "100", value: "#f3f4f6" },
|
|
4
|
+
{ name: "200", value: "#e5e7eb" },
|
|
5
|
+
{ name: "300", value: "#b5bbc5" },
|
|
6
|
+
{ name: "400", value: "#9ca3af" },
|
|
7
|
+
{ name: "500", value: "#64748B" },
|
|
8
|
+
],
|
|
9
|
+
blue: [
|
|
10
|
+
{ name: "50", value: "#eff6ff" },
|
|
11
|
+
{ name: "100", value: "#dbeafe" },
|
|
12
|
+
{ name: "200", value: "#bfdbfe" },
|
|
13
|
+
{ name: "300", value: "#93c5fd" },
|
|
14
|
+
{ name: "400", value: "#60a5fa" },
|
|
15
|
+
{ name: "500", value: "#3b82f6" },
|
|
16
|
+
{ name: "600", value: "#02307d" },
|
|
17
|
+
{ name: "700", value: "#001e50" },
|
|
18
|
+
{ name: "800", value: "#00437a" },
|
|
19
|
+
{ name: "900", value: "#000f28" },
|
|
20
|
+
{ name: "901", value: "#0c1a32" },
|
|
21
|
+
{ name: "wrc", value: "#0000c8" },
|
|
22
|
+
],
|
|
23
|
+
lightBlue: [
|
|
24
|
+
{ name: "400", value: "#00b0f0" },
|
|
25
|
+
{ name: "500", value: "#0099da" },
|
|
26
|
+
{ name: "600", value: "#0087c1" },
|
|
27
|
+
{ name: "700", value: "#006ea6" },
|
|
28
|
+
],
|
|
29
|
+
red: [
|
|
30
|
+
{ name: "400", value: "#f8b5b5" },
|
|
31
|
+
{ name: "500", value: "#f49f9f" },
|
|
32
|
+
{ name: "600", value: "#e57373" },
|
|
33
|
+
],
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const TYPOGRAPHY = {
|
|
37
|
+
fontFamily: "Inter, system",
|
|
38
|
+
scale: [
|
|
39
|
+
{ name: "h1", size: "22pt", weight: "400" },
|
|
40
|
+
{ name: "h2", size: "17pt", weight: "500" },
|
|
41
|
+
{ name: "h3", size: "13pt", weight: "600" },
|
|
42
|
+
{ name: "h4", size: "13pt", weight: "500" },
|
|
43
|
+
{ name: "body", size: "13pt", weight: "400" },
|
|
44
|
+
{ name: "button", size: "13pt", weight: "400" },
|
|
45
|
+
{ name: "caption", size: "10pt", weight: "400" },
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const SHADOWS = {
|
|
50
|
+
types: [
|
|
51
|
+
{ name: "xs", value: "0px 2px 4px rgba(0, 0, 0, 0.08)" },
|
|
52
|
+
{ name: "sm", value: "0px 4px 8px rgba(0, 0, 0, 0.125)" },
|
|
53
|
+
{ name: "md", value: "0px 8px 16px rgba(0, 0, 0, 0.125)" },
|
|
54
|
+
{ name: "lg", value: "0px 16px 32px rgba(0, 0, 0, 0.125)" },
|
|
55
|
+
{ name: "xl", value: "0px 32px 64px rgba(0, 0, 0, 0.125)" },
|
|
56
|
+
{ name: "2xl", value: "0px 64px 128px rgba(0, 0, 0, 0.125)" },
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
export const FONTS = {
|
|
62
|
+
types: [
|
|
63
|
+
{ name: "vw_textregular", value: "font-textregular" },
|
|
64
|
+
{ name: "vw_textregular", value: "font-sans" },
|
|
65
|
+
{ name: "vw_textbold", value: "font-textbold" },
|
|
66
|
+
{ name: "vw_headbold", value: "font-headbold" },
|
|
67
|
+
{ name: "vw_headregular", value: "font-headregular" },
|
|
68
|
+
{ name: "vw_headlight", value: "font-headlight" },
|
|
69
|
+
{ name: "vw_textlight", value: "font-textlight" },
|
|
70
|
+
{ name: "Nova Mono", value: "font-novamono" },
|
|
71
|
+
{ name: "Nova Mono", value: "font-mono" }
|
|
72
|
+
],
|
|
73
|
+
};
|
package/src/env.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/// <reference path="../.astro/types.d.ts" />
|
|
1
|
+
/// <reference path="../.astro/types.d.ts" />
|
|
2
2
|
/// <reference types="astro/client" />
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg enable-background="new 0 0 512 512" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="512" height="512" fill="#F0F0F0"/><rect y="256" width="512" height="256" fill="#D80027"/></svg>
|
package/src/flag-uk.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><svg enable-background="new 0 0 512 512" version="1.1" viewBox="0 0 512 512" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect width="512" height="512" fill="#F0F0F0"/><polygon points="0 304 208 304 208 512 304 512 304 304 512 304 512 208 304 208 304 0 208 0 208 208 0 208" fill="#D80027"/><g fill="#0052B4"><polygon points="406.92 333.91 512 438.99 512 333.91"/><polygon points="333.91 333.91 512 512 512 461.64 384.27 333.91"/><polygon points="464.56 512 333.91 381.34 333.91 512"/></g><polygon points="333.91 333.91 512 512 512 461.64 384.27 333.91" fill="#F0F0F0"/><polygon points="333.91 333.91 512 512 512 461.64 384.27 333.91" fill="#D80027"/><g fill="#0052B4"><polygon points="80.302 333.91 0 414.22 0 333.91"/><polygon points="178.08 356.56 178.08 512 22.658 512"/></g><polygon points="127.72 333.92 0 461.64 0 512 0 512 178.08 333.92" fill="#D80027"/><g fill="#0052B4"><polygon points="105.08 178.09 0 73.007 0 178.09"/><polygon points="178.09 178.09 0 0 0 50.36 127.73 178.09"/><polygon points="47.436 0 178.09 130.66 178.09 0"/></g><polygon points="178.09 178.09 0 0 0 50.36 127.73 178.09" fill="#F0F0F0"/><polygon points="178.09 178.09 0 0 0 50.36 127.73 178.09" fill="#D80027"/><g fill="#0052B4"><polygon points="431.7 178.09 512 97.785 512 178.09"/><polygon points="333.92 155.44 333.92 3e-3 489.34 3e-3"/></g><polygon points="384.28 178.08 512 50.359 512 0 512 0 333.92 178.08" fill="#D80027"/></svg>
|