spoko-design-system 0.2.0 → 0.2.2
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 +2 -2
- package/.github/dependabot.yml +11 -0
- package/dev-dist/sw.js +1 -1
- package/package.json +1 -1
- package/src/components/Header/Header.astro +1 -1
- package/src/components/ProductDetailName.vue +3 -3
- package/src/components/ProductDetailsList.vue +3 -3
- package/src/components/ProductNumber.astro +3 -3
- package/src/config.ts +1 -1
- package/src/layouts/Layout.astro +1 -1
- package/src/layouts/MainLayout.astro +1 -1
- package/src/{components → layouts/partials}/HeadSEO.astro +2 -2
- package/src/pages/index.astro +87 -61
- package/uno.config.ts +2 -1
package/.astro/icon.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Automatically generated by astro-icon
|
|
2
|
-
//
|
|
2
|
+
// 3c37914558667f7b928f73843c6dc6c8b7a94c23dd8b1fd64b1f03bf751bb1b8
|
|
3
3
|
|
|
4
4
|
declare module 'virtual:astro-icon' {
|
|
5
5
|
export type Icon =
|
|
@@ -495,7 +495,7 @@ declare module 'virtual:astro-icon' {
|
|
|
495
495
|
| "flowbite:chevron-right-outline"
|
|
496
496
|
| "flowbite:map-location-outline"
|
|
497
497
|
| "flowbite:map-pin-alt-solid"
|
|
498
|
-
| "flowbite:
|
|
498
|
+
| "flowbite:close-outline"
|
|
499
499
|
| "flowbite:messages-outline"
|
|
500
500
|
| "flowbite:arrow-down-to-bracket-outline"
|
|
501
501
|
| "flowbite:check-outline"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
|
3
|
+
# Please see the documentation for all configuration options:
|
|
4
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
|
5
|
+
|
|
6
|
+
version: 2
|
|
7
|
+
updates:
|
|
8
|
+
- package-ecosystem: "" # See documentation for possible values
|
|
9
|
+
directory: "/" # Location of package manifests
|
|
10
|
+
schedule:
|
|
11
|
+
interval: "weekly"
|
package/dev-dist/sw.js
CHANGED
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ import Search from "astro-pagefind/components/Search";
|
|
|
15
15
|
>
|
|
16
16
|
<div class="flex flex-nowrap">
|
|
17
17
|
<MenuIcon class="w-4 h-4 text-gray-800 lg:hidden mr-4" />
|
|
18
|
-
<a class="text-2xl font-medium block font-textbold" href="/"> SDS</a>
|
|
18
|
+
<a class="text-2xl font-medium block font-textbold leading-none block my-auto text-blue-600" href="/"> SDS</a>
|
|
19
19
|
<Search
|
|
20
20
|
transition:persist
|
|
21
21
|
transition:name="search-field"
|
|
@@ -22,8 +22,8 @@ const props = defineProps({
|
|
|
22
22
|
|
|
23
23
|
<template>
|
|
24
24
|
<component :is="props.as" class="font-bold detail-name w-full sm:w-50 flex">
|
|
25
|
-
<span
|
|
26
|
-
{{ props.text }}
|
|
25
|
+
<span :class="styles && styles.length ? styles : 'mt-auto'">
|
|
26
|
+
<b class="bg-white z-1 colon-after pr-1">{{ props.text }}</b>
|
|
27
27
|
</span>
|
|
28
28
|
</component>
|
|
29
29
|
</template>
|
|
@@ -42,7 +42,7 @@ const props = defineProps({
|
|
|
42
42
|
height: 1em;
|
|
43
43
|
white-space: nowrap;
|
|
44
44
|
font-weight: 100;
|
|
45
|
-
bottom:
|
|
45
|
+
bottom: 2px;
|
|
46
46
|
left: 0;
|
|
47
47
|
flex: 1;
|
|
48
48
|
content: '';
|
|
@@ -25,7 +25,7 @@ const props = defineProps({
|
|
|
25
25
|
<col>
|
|
26
26
|
</colgroup>
|
|
27
27
|
<tbody>
|
|
28
|
-
<tr
|
|
28
|
+
<tr v-for="row, index in props.items" :key="index">
|
|
29
29
|
<ProductDetailName as="th" :text="row.name" />
|
|
30
30
|
<td>
|
|
31
31
|
<slot
|
|
@@ -52,11 +52,11 @@ const props = defineProps({
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
th {
|
|
55
|
-
@apply
|
|
55
|
+
@apply px-0
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
td {
|
|
59
|
-
@apply relative;
|
|
59
|
+
@apply relative pt-0;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
</style>
|
|
@@ -67,7 +67,7 @@ const niceName = (string: string, separator = "\u00A0") => {
|
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
const classes = `product-number ${big ? "text-lg" : `text-sm ${className ? className : "mt-2 sm:mt-0"}` }`
|
|
70
|
+
const classes = `product-number ${big ? "text-lg leading-none" : `text-sm ${className ? className : "mt-2 sm:mt-0"}` }`
|
|
71
71
|
|
|
72
72
|
---
|
|
73
73
|
|
|
@@ -78,7 +78,7 @@ const classes = `product-number ${big ? "text-lg" : `text-sm ${className ? class
|
|
|
78
78
|
productNumber !== null && (
|
|
79
79
|
|
|
80
80
|
|
|
81
|
-
<PartNumber class={
|
|
81
|
+
<PartNumber class={`${classes} product-code`} number={productNumber} as={isPdp ? 'h2' : 'div'} />
|
|
82
82
|
|
|
83
83
|
<div
|
|
84
84
|
class={`code-formatted ${small ? "tracking-wide" : "tracking-tight"}`}
|
|
@@ -98,7 +98,7 @@ const classes = `product-number ${big ? "text-lg" : `text-sm ${className ? class
|
|
|
98
98
|
|
|
99
99
|
<!-- {!copyDisabled && ( -->
|
|
100
100
|
<ButtonCopy
|
|
101
|
-
class="top-
|
|
101
|
+
class="top-1 right-0"
|
|
102
102
|
productNumber={String(productNumber)}
|
|
103
103
|
texts={butonTexts}
|
|
104
104
|
tooltipClasses=""
|
package/src/config.ts
CHANGED
|
@@ -42,8 +42,8 @@ export const SIDEBAR = [
|
|
|
42
42
|
{ text: "PR-Code", link: "/components/pr-code/" },
|
|
43
43
|
{ text: "Product Number", link: "/components/product-number/" },
|
|
44
44
|
{ text: "Product Tile", link: "/components/product-tile/" },
|
|
45
|
-
{ text: "Table", link: "/components/table/" },
|
|
46
45
|
{ text: "Quote", link: "/components/quote/" },
|
|
46
|
+
{ text: "Table", link: "/components/table/" },
|
|
47
47
|
|
|
48
48
|
{ text: "Extras", header: true },
|
|
49
49
|
{ text: "Flags", link: "/components/flags/" },
|
package/src/layouts/Layout.astro
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
import HeadCommon from "./partials/HeadCommon.astro";
|
|
3
3
|
import FooterCommon from "./partials/FooterCommon.astro";
|
|
4
|
-
import HeadSEO from "../
|
|
4
|
+
import HeadSEO from "../layouts/partials/HeadSEO.astro";
|
|
5
5
|
import * as CONFIG from "../config";
|
|
6
6
|
import { t, changeLanguage } from "i18next";
|
|
7
7
|
import "../styles/main.scss";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import HeadCommon from "./partials/HeadCommon.astro";
|
|
3
|
-
import HeadSEO from "../
|
|
3
|
+
import HeadSEO from "../layouts/partials/HeadSEO.astro";
|
|
4
4
|
import Header from "../components/Header/Header.astro";
|
|
5
5
|
import PageContent from "../components/PageContent.astro";
|
|
6
6
|
import LeftSidebar from "../components/LeftSidebar.astro";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { SITE, OPEN_GRAPH } from '
|
|
2
|
+
import { SITE, OPEN_GRAPH } from '../../config';
|
|
3
3
|
export interface Props {
|
|
4
4
|
content: any;
|
|
5
5
|
site: any;
|
|
@@ -37,5 +37,5 @@ const imageAlt = content?.image?.alt ?? OPEN_GRAPH.image.alt;
|
|
|
37
37
|
TODO: Add json+ld data, maybe https://schema.org/APIReference makes sense?
|
|
38
38
|
Docs: https://developers.google.com/search/docs/advanced/structured-data/intro-structured-data
|
|
39
39
|
https://www.npmjs.com/package/schema-dts seems like a great resource for implementing this.
|
|
40
|
-
Even better, there's a
|
|
40
|
+
Even better, there's a Vue component that integrates with `schema-dts`: https://github.com/vueuse/schema-org
|
|
41
41
|
-->
|
package/src/pages/index.astro
CHANGED
|
@@ -7,75 +7,101 @@ import Layout from "../layouts/Layout.astro";
|
|
|
7
7
|
import Headline from "../components/Headline.vue";
|
|
8
8
|
import Button from "../components/Button.vue";
|
|
9
9
|
import Quote from "../components/Quote.vue";
|
|
10
|
+
import FeaturesList from "../components/FeaturesList.vue";
|
|
10
11
|
|
|
11
12
|
const navItems = [
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
+
},
|
|
30
31
|
];
|
|
31
32
|
---
|
|
33
|
+
|
|
32
34
|
<Layout>
|
|
33
|
-
<div class="bg-slate-100 min-h-screen text-center"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
<p slot="subtitle"
|
|
38
|
-
class="mt-3 text-base text-gray-200 sm:mt-5 text-lg md:text-xl lg:mx-0 md:mt-5"
|
|
39
|
-
set:html={SITE.description}
|
|
40
|
-
/>
|
|
35
|
+
<div class="bg-slate-100 min-h-screen text-center">
|
|
36
|
+
<Jumbatron class="w-full">
|
|
37
|
+
<span slot="intro" set:html={SITE.title} />
|
|
41
38
|
|
|
39
|
+
<p
|
|
40
|
+
slot="subtitle"
|
|
41
|
+
class="mt-3 text-base text-gray-200 sm:mt-5 text-lg md:text-xl lg:mx-0 md:mt-5"
|
|
42
|
+
set:html={SITE.description}
|
|
43
|
+
/>
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
<Button
|
|
46
|
+
slot="cta"
|
|
47
|
+
href="/core/introduction/"
|
|
48
|
+
title="Spoko Design System"
|
|
49
|
+
primary
|
|
50
|
+
rounded
|
|
51
|
+
>
|
|
52
|
+
Read More
|
|
53
|
+
</Button>
|
|
54
|
+
</Jumbatron>
|
|
55
|
+
<nav>
|
|
56
|
+
<div
|
|
57
|
+
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)"
|
|
48
58
|
>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
59
|
+
{
|
|
60
|
+
navItems.map(({ title, description, url, icon }) => (
|
|
61
|
+
<a
|
|
62
|
+
href={url}
|
|
63
|
+
title={description}
|
|
64
|
+
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)"
|
|
65
|
+
>
|
|
66
|
+
<Headline as="h2" textSize="2xl" underline={false}>
|
|
67
|
+
<Icon
|
|
68
|
+
name={icon}
|
|
69
|
+
aria-hidden="true"
|
|
70
|
+
class="text-blue-400 mr-2"
|
|
71
|
+
/>
|
|
72
|
+
{title}
|
|
73
|
+
</Headline>
|
|
74
|
+
<p class="text-slate-500 w-full">{description}</p>
|
|
75
|
+
</a>
|
|
76
|
+
))
|
|
77
|
+
}
|
|
78
|
+
</div>
|
|
79
|
+
</nav>
|
|
80
|
+
<div
|
|
81
|
+
class="mt-12 py-20 bg-blue-700 bg-vw text-white flex items-center justify-center relative"
|
|
82
|
+
>
|
|
83
|
+
<Quote>
|
|
84
|
+
<blockquote>
|
|
85
|
+
Well done is better than well said.
|
|
86
|
+
<small class="block font-headlight">- Benjamin Franklin</small>
|
|
87
|
+
</blockquote>
|
|
88
|
+
</Quote>
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<div class="flex flex-col py-12">
|
|
92
|
+
<Headline underline as="div" class="mx-auto text-gray-900" textSize="3xl">Examples:</Headline>
|
|
93
|
+
<ul class="mx-auto flex flex-wrap items-center justify-center text-2xl py-6">
|
|
94
|
+
<li class="leading-5 me-6">
|
|
95
|
+
<a href="https://catalog.polo.blue" class="transition ease-in-out delay-200 duration-300 text-blue-600 hover:(text-light-blue-500 decoration-blue-600) underline decoration-white" target="_blank"> catalog.polo.blue</a>
|
|
96
|
+
</li>
|
|
97
|
+
<li class="leading-5 me-6">
|
|
98
|
+
<a href="https://polo.blue" class="transition ease-in-out delay-200 duration-300 text-blue-600 hover:(text-light-blue-500 decoration-blue-600) underline decoration-white" target="_blank"> polo.blue</a>
|
|
99
|
+
</li>
|
|
100
|
+
<li class="leading-5 me-6">
|
|
101
|
+
<a href="https://spoko.space" class="transition ease-in-out delay-200 duration-300 text-blue-600 hover:(text-light-blue-500 decoration-blue-600) underline decoration-white" target="_blank"> spoko.space</a>
|
|
102
|
+
</li>
|
|
103
|
+
</ul>
|
|
69
104
|
</div>
|
|
70
|
-
</nav>
|
|
71
|
-
<div class="my-12 py-20 bg-blue-700 bg-vw text-white flex items-center justify-center relative">
|
|
72
|
-
<Quote>
|
|
73
|
-
<blockquote>
|
|
74
|
-
Well done is better than well said.
|
|
75
|
-
<small class="block">-Benjamin Franklin</small>
|
|
76
|
-
</blockquote></Quote>
|
|
77
105
|
</div>
|
|
78
|
-
|
|
79
|
-
</div>
|
|
106
|
+
<script is:inline></script>
|
|
80
107
|
</Layout>
|
|
81
|
-
<script is:inline></script>
|
package/uno.config.ts
CHANGED
|
@@ -28,6 +28,7 @@ export default defineConfig({
|
|
|
28
28
|
transformerVariantGroup(),
|
|
29
29
|
],
|
|
30
30
|
shortcuts: [
|
|
31
|
+
['product-number','font-novamono content-center flex flex-wrap flex-col content-start pr-5 bg-white'],
|
|
31
32
|
['colon-after', 'after:content-[":"]'],
|
|
32
33
|
['headline','font-headlight font-bold '],
|
|
33
34
|
['badge', 'px-1.5 py-px text-white text-xs mb-1 max-w-fit whitespace-nowrap'],
|
|
@@ -54,7 +55,7 @@ export default defineConfig({
|
|
|
54
55
|
['btn-normal', 'md:px-10 md:py-2 md:text-lg px-8 py-3 whitespace-nowrap'],
|
|
55
56
|
['btn-sm', 'px-6 py-2 text-sm whitespace-nowrap '],
|
|
56
57
|
['btn-xs', 'px-4 py-1 text-sm whitespace-nowrap '],
|
|
57
|
-
|
|
58
|
+
|
|
58
59
|
['main','text-gray-700 dark:text-gray-200 dark:bg-blue-700 pt-24 sm:pt-14 relative'],
|
|
59
60
|
['nav','bg-white dark:bg-black absolute sm:fixed w-full top-0 z-40 sm:z-30 max-w-screen'],
|
|
60
61
|
['cat-menu','fixed bottom-[-4px] w-full z-10 border-t-1 border-gray-300 bg-white dark:bg-blue-900 text-center sm:(static z-auto border-t-none) sm:min-h-32'],
|