spoko-design-system 0.2.1 → 0.2.3
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/Card.astro +1 -1
- package/src/components/Header/Header.astro +1 -1
- package/src/components/Headline.vue +2 -9
- package/src/components/Jumbatron.vue +2 -4
- package/src/components/ProductDetailName.vue +5 -8
- package/src/components/ProductDetailsList.vue +8 -5
- package/src/components/ProductNumber.astro +3 -3
- package/src/components/layout/Header.astro +1 -1
- 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/components/card.mdx +12 -12
- 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
|
@@ -5,7 +5,7 @@ import Image from "../components/Image.astro";
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
<div
|
|
8
|
-
class="bg-white border border-gray-200 rounded-lg shadow
|
|
8
|
+
class="bg-white border border-gray-200 rounded-lg shadow overflow-hidden"
|
|
9
9
|
>
|
|
10
10
|
<a href={href} class="aspect-ratio-video block relative">
|
|
11
11
|
{
|
|
@@ -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"
|
|
@@ -32,21 +32,14 @@ const props = defineProps({
|
|
|
32
32
|
@apply relative pb-4;
|
|
33
33
|
|
|
34
34
|
&:after {
|
|
35
|
-
content
|
|
36
|
-
position: absolute;
|
|
37
|
-
left: 0;
|
|
38
|
-
bottom: 0;
|
|
35
|
+
@apply content-empty absolute left-0 bottom-0;
|
|
39
36
|
height: 3px;
|
|
40
37
|
width: 55px;
|
|
41
38
|
background-color: var(--primary);
|
|
42
39
|
}
|
|
43
40
|
|
|
44
41
|
&:before {
|
|
45
|
-
content
|
|
46
|
-
position: absolute;
|
|
47
|
-
left: 0;
|
|
48
|
-
bottom: 1px;
|
|
49
|
-
height: 1px;
|
|
42
|
+
@apply content-empty absolute left-0 bottom-px h-px;
|
|
50
43
|
width: 95%;
|
|
51
44
|
max-width: 255px;
|
|
52
45
|
background-color: #64748b
|
|
@@ -21,14 +21,12 @@ const props = defineProps({
|
|
|
21
21
|
:class="props.small ? 'sm:py-12 md:py-14 lg:py-16 xl:py-20' : 'sm:py-16 md:py-20 lg:py-28 xl:py-32'">
|
|
22
22
|
<header class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
|
23
23
|
<div class="text-center">
|
|
24
|
-
<h1 class="text-3xl tracking-tight sm:(text-4xl pt-0) md:text-5xl lg:text-6xl
|
|
24
|
+
<h1 class="text-3xl tracking-tight font-headlight text-white sm:(text-4xl pt-0) md:text-5xl lg:text-6xl ">
|
|
25
25
|
<slot name="intro" />
|
|
26
26
|
</h1>
|
|
27
27
|
<slot name="subtitle" />
|
|
28
|
-
<div class="mt-5 sm:mt-8
|
|
29
|
-
<div>
|
|
28
|
+
<div class="mt-5 sm:(mt-8 flex justify-center)" v-if="hasSlot('cta')">
|
|
30
29
|
<slot name="cta" />
|
|
31
|
-
</div>
|
|
32
30
|
</div>
|
|
33
31
|
</div>
|
|
34
32
|
</header>
|
|
@@ -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>
|
|
@@ -34,19 +34,16 @@ const props = defineProps({
|
|
|
34
34
|
@apply overflow-hidden relative;
|
|
35
35
|
|
|
36
36
|
span {
|
|
37
|
-
@apply block bg-white
|
|
37
|
+
@apply block bg-white relative z-10 pr-1.5 w-full;
|
|
38
38
|
|
|
39
39
|
&:before {
|
|
40
40
|
// order: 2;
|
|
41
|
-
@apply text-gray-300 absolute select-none border-b border-gray-200
|
|
41
|
+
@apply text-gray-300 absolute select-none border-b border-gray-200 w-full -z-1 absolute content-empty left-0;
|
|
42
42
|
height: 1em;
|
|
43
43
|
white-space: nowrap;
|
|
44
44
|
font-weight: 100;
|
|
45
|
-
bottom:
|
|
46
|
-
left: 0;
|
|
45
|
+
bottom: 2px;
|
|
47
46
|
flex: 1;
|
|
48
|
-
content: '';
|
|
49
|
-
position:absolute;
|
|
50
47
|
}
|
|
51
48
|
}
|
|
52
49
|
|
|
@@ -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
|
|
@@ -41,14 +41,17 @@ const props = defineProps({
|
|
|
41
41
|
|
|
42
42
|
<style lang="scss">
|
|
43
43
|
.details {
|
|
44
|
-
border:
|
|
44
|
+
@apply border-none w-full md:w-auto
|
|
45
45
|
box-shadow: none;
|
|
46
46
|
|
|
47
|
+
col {
|
|
48
|
+
@apply w-1/2;
|
|
49
|
+
}
|
|
50
|
+
|
|
47
51
|
td,
|
|
48
52
|
tr,
|
|
49
53
|
th {
|
|
50
|
-
border
|
|
51
|
-
@apply leading-4 text-sm py-2;
|
|
54
|
+
@apply leading-4 text-sm py-2 border-none;
|
|
52
55
|
}
|
|
53
56
|
|
|
54
57
|
th {
|
|
@@ -56,7 +59,7 @@ const props = defineProps({
|
|
|
56
59
|
}
|
|
57
60
|
|
|
58
61
|
td {
|
|
59
|
-
@apply relative;
|
|
62
|
+
@apply relative pt-0;
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
</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=""
|
|
@@ -54,7 +54,7 @@ const navItemsLeft = [
|
|
|
54
54
|
</div>
|
|
55
55
|
|
|
56
56
|
<div
|
|
57
|
-
class="flex items-center pr-0 sm:static sm:inset-auto ml-auto sm:ml-6 -mr-2
|
|
57
|
+
class="flex items-center pr-0 sm:static sm:inset-auto ml-auto sm:ml-6 -mr-2 print:hidden order-3 sm:order-3 w-20 justify-end"
|
|
58
58
|
itemprop="hasPart"
|
|
59
59
|
itemscope
|
|
60
60
|
itemtype="http://schema.org/SiteNavigationElement"
|
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
|
-->
|
|
@@ -15,14 +15,14 @@ Card - product link component which can be used for carousels, section with rela
|
|
|
15
15
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
|
|
16
16
|
<Card href="https://google.com" imgAlt="Image Alt" imgSrc="https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=826&t=st=1706315168~exp=1706315768~hmac=ed7872d0924dbda4322a3d346eef282edd77db3673fc209c933b02e37c29f9ac" >
|
|
17
17
|
<a href="#">
|
|
18
|
-
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900
|
|
18
|
+
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 leading-none">Lorem Ipsum</h5>
|
|
19
19
|
</a>
|
|
20
|
-
<p class="mb-3 font-normal text-gray-700
|
|
20
|
+
<p class="mb-3 font-normal text-gray-700 ">
|
|
21
21
|
Magna magna mollit esse incididunt deserunt eiusmod ad id ullamco cupidatat laborum enim nostrud. Irure officia occaecat adipisicing amet labore et incididunt exercitation. Consequat aliqua excepteur duis dolore cupidatat.
|
|
22
22
|
</p>
|
|
23
23
|
|
|
24
24
|
<div class="flex items-center justify-between my-4">
|
|
25
|
-
<span class="text-2xl font-bold text-gray-900
|
|
25
|
+
<span class="text-2xl font-bold text-gray-900">€599.00</span>
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
28
|
<Button tertiary small href="#">
|
|
@@ -33,14 +33,14 @@ Card - product link component which can be used for carousels, section with rela
|
|
|
33
33
|
|
|
34
34
|
<Card href="#" imgAlt="Image Alt" imgSrc="https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=826&t=st=1706315168~exp=1706315768~hmac=ed7872d0924dbda4322a3d346eef282edd77db3673fc209c933b02e37c29f9ac" >
|
|
35
35
|
<a href="#">
|
|
36
|
-
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900
|
|
36
|
+
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 leading-none">Lorem Ipsum</h5>
|
|
37
37
|
</a>
|
|
38
|
-
<p class="mb-3 font-normal text-gray-700
|
|
38
|
+
<p class="mb-3 font-normal text-gray-700 ">
|
|
39
39
|
Magna magna mollit esse incididunt deserunt eiusmod ad id ullamco cupidatat laborum enim nostrud. Irure officia occaecat adipisicing amet labore et incididunt exercitation. Consequat aliqua excepteur duis dolore cupidatat.
|
|
40
40
|
</p>
|
|
41
41
|
|
|
42
42
|
<div class="flex items-center justify-between my-4">
|
|
43
|
-
<span class="text-2xl font-bold text-gray-900
|
|
43
|
+
<span class="text-2xl font-bold text-gray-900 ">€599.00</span>
|
|
44
44
|
</div>
|
|
45
45
|
|
|
46
46
|
<Button tertiary small href="#">
|
|
@@ -51,14 +51,14 @@ Card - product link component which can be used for carousels, section with rela
|
|
|
51
51
|
|
|
52
52
|
<Card href="#" imgAlt="Image Alt" imgSrc="https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=826&t=st=1706315168~exp=1706315768~hmac=ed7872d0924dbda4322a3d346eef282edd77db3673fc209c933b02e37c29f9ac" >
|
|
53
53
|
<a href="#">
|
|
54
|
-
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900
|
|
54
|
+
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 leading-none">Lorem Ipsum</h5>
|
|
55
55
|
</a>
|
|
56
|
-
<p class="mb-3 font-normal text-gray-700
|
|
56
|
+
<p class="mb-3 font-normal text-gray-700 ">
|
|
57
57
|
Magna magna mollit esse incididunt deserunt eiusmod ad id ullamco cupidatat laborum enim nostrud. Irure officia occaecat adipisicing amet labore et incididunt exercitation. Consequat aliqua excepteur duis dolore cupidatat.
|
|
58
58
|
</p>
|
|
59
59
|
|
|
60
60
|
<div class="flex items-center justify-between my-4">
|
|
61
|
-
<span class="text-2xl font-bold text-gray-900
|
|
61
|
+
<span class="text-2xl font-bold text-gray-900 ">€599.00</span>
|
|
62
62
|
</div>
|
|
63
63
|
|
|
64
64
|
<Button tertiary small href="#">
|
|
@@ -73,14 +73,14 @@ Card - product link component which can be used for carousels, section with rela
|
|
|
73
73
|
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
|
|
74
74
|
<Card href="https://google.com" imgAlt="Image Alt" imgSrc="https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=826&t=st=1706315168~exp=1706315768~hmac=ed7872d0924dbda4322a3d346eef282edd77db3673fc209c933b02e37c29f9ac" >
|
|
75
75
|
<a href="#">
|
|
76
|
-
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900
|
|
76
|
+
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 leading-none">Lorem Ipsum</h5>
|
|
77
77
|
</a>
|
|
78
|
-
<p class="mb-3 font-normal text-gray-700
|
|
78
|
+
<p class="mb-3 font-normal text-gray-700 ">
|
|
79
79
|
Magna magna mollit esse incididunt deserunt eiusmod ad id ullamco cupidatat laborum enim nostrud. Irure officia occaecat adipisicing amet labore et incididunt exercitation. Consequat aliqua excepteur duis dolore cupidatat.
|
|
80
80
|
</p>
|
|
81
81
|
|
|
82
82
|
<div class="flex items-center justify-between my-4">
|
|
83
|
-
<span class="text-2xl font-bold text-gray-900
|
|
83
|
+
<span class="text-2xl font-bold text-gray-900 ">€599.00</span>
|
|
84
84
|
</div>
|
|
85
85
|
|
|
86
86
|
<Button tertiary small href="#">
|
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'],
|