spoko-design-system 0.2.83 → 0.2.84

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.
Files changed (156) hide show
  1. package/.astro/settings.json +4 -4
  2. package/.github/dependabot.yml +11 -11
  3. package/.github/todo.yml +3 -3
  4. package/.github/workflows/deploy.yml +39 -39
  5. package/.stackblitzrc +5 -5
  6. package/.vscode/extensions.json +5 -5
  7. package/.vscode/launch.json +11 -11
  8. package/.vscode/settings.json +5 -5
  9. package/LICENSE +21 -21
  10. package/README.md +113 -113
  11. package/astro-i18next.config.mjs +17 -17
  12. package/astro-i18next.config.ts +10 -10
  13. package/astro.config.mjs +147 -147
  14. package/dev-dist/sw.js +91 -91
  15. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  16. package/index.ts +62 -65
  17. package/package.json +2 -1
  18. package/public/fonts/lg.svg +53 -53
  19. package/public/fonts/vwhead-bold-demo.html +549 -549
  20. package/public/fonts/vwhead-regular-demo.html +549 -549
  21. package/public/fonts/vwtext-bold-demo.html +549 -549
  22. package/public/fonts/vwtext-regular-demo.html +549 -549
  23. package/public/github.svg +3 -3
  24. package/public/grid_dot.svg +4 -4
  25. package/public/linkedin.svg +44 -44
  26. package/public/locales/en/translation.json +8 -8
  27. package/public/locales/pl/translation.json +8 -8
  28. package/public/make-scrollable-code-focusable.js +3 -3
  29. package/public/pagefind.yml +3 -3
  30. package/public/polo.blue.svg +29 -29
  31. package/public/spoko.space.svg +71 -71
  32. package/public/twitter.svg +46 -46
  33. package/renovate.json +6 -6
  34. package/sandbox.config.json +11 -11
  35. package/src/MyComponent.astro +8 -8
  36. package/src/components/Badge.vue +19 -19
  37. package/src/components/Badges.vue +21 -21
  38. package/src/components/Breadcrumbs.vue +107 -107
  39. package/src/components/Button.vue +63 -63
  40. package/src/components/ButtonCopy.vue +36 -36
  41. package/src/components/Card.astro +27 -27
  42. package/src/components/Carousel.astro +26 -26
  43. package/src/components/Category/CategoriesCarousel.astro +101 -101
  44. package/src/components/Category/CategoryDetails.astro +106 -106
  45. package/src/components/Category/CategoryLink.vue +23 -23
  46. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  47. package/src/components/Category/CategoryTile.astro +49 -49
  48. package/src/components/Category/SubCategoryLink.vue +29 -29
  49. package/src/components/CategoryLink.astro +18 -18
  50. package/src/components/Copyright.astro +12 -12
  51. package/src/components/Date.astro +7 -7
  52. package/src/components/Faq.astro +33 -33
  53. package/src/components/FaqItem.astro +96 -96
  54. package/src/components/FeaturesList.vue +41 -41
  55. package/src/components/FuckRussia.vue +62 -62
  56. package/src/components/HandDrive.astro +29 -29
  57. package/src/components/Header/Header.astro +210 -210
  58. package/src/components/Header/SkipToContent.astro +1 -1
  59. package/src/components/Headline.vue +48 -48
  60. package/src/components/Image.astro +30 -30
  61. package/src/components/Jumbatron.vue +40 -40
  62. package/src/components/LeftSidebar.astro +53 -53
  63. package/src/components/MainColors.vue +23 -23
  64. package/src/components/MainInput.vue +15 -15
  65. package/src/components/Modal.astro +27 -27
  66. package/src/components/PageContent.astro +5 -5
  67. package/src/components/PartNumber.vue +27 -27
  68. package/src/components/PostHeader.astro +103 -103
  69. package/src/components/PrCode.vue +141 -141
  70. package/src/components/Product/ProductButton.vue +18 -18
  71. package/src/components/Product/ProductCarousel.astro +35 -35
  72. package/src/components/Product/ProductCodes.vue +174 -174
  73. package/src/components/Product/ProductEngineType.vue +42 -42
  74. package/src/components/Product/ProductImage.astro +40 -40
  75. package/src/components/Product/ProductLink.astro +101 -101
  76. package/src/components/Product/ProductLink.vue +59 -59
  77. package/src/components/Product/ProductLinkInfo.astro +37 -37
  78. package/src/components/Product/ProductNumber.astro +61 -61
  79. package/src/components/ProductCarousel.astro +38 -38
  80. package/src/components/ProductCodes.vue +39 -39
  81. package/src/components/ProductDetailName.vue +52 -52
  82. package/src/components/ProductDetailsList.vue +65 -65
  83. package/src/components/ProductTile.astro +48 -48
  84. package/src/components/Quote.vue +23 -23
  85. package/src/components/ReloadPrompt.astro +50 -50
  86. package/src/components/SlimBanner.vue +72 -72
  87. package/src/components/Table.vue +32 -32
  88. package/src/components/TableOfContents.astro +15 -15
  89. package/src/components/Translations.vue +23 -23
  90. package/src/components/flags/FlagPL.vue +3 -3
  91. package/src/components/flags/FlagUA.vue +2 -2
  92. package/src/components/layout/Container.astro +7 -7
  93. package/src/components/layout/Header.astro +80 -80
  94. package/src/config.ts +56 -56
  95. package/src/design.config.ts +81 -81
  96. package/src/env.d.ts +7 -2
  97. package/src/layouts/Layout.astro +60 -60
  98. package/src/layouts/MainLayout.astro +81 -81
  99. package/src/layouts/partials/FooterCommon.astro +4 -4
  100. package/src/layouts/partials/HeadCommon.astro +44 -44
  101. package/src/layouts/partials/HeadSEO.astro +41 -41
  102. package/src/pages/components/badges.mdx +57 -57
  103. package/src/pages/components/breadcrumbs.mdx +139 -139
  104. package/src/pages/components/buttons.mdx +253 -253
  105. package/src/pages/components/card.mdx +294 -294
  106. package/src/pages/components/carousel.mdx +62 -62
  107. package/src/pages/components/copyright.mdx +42 -42
  108. package/src/pages/components/details-list.mdx +115 -115
  109. package/src/pages/components/features-list.mdx +37 -37
  110. package/src/pages/components/flags.mdx +49 -49
  111. package/src/pages/components/fuck-russia.mdx +39 -39
  112. package/src/pages/components/hand-drive.mdx +38 -38
  113. package/src/pages/components/headline.mdx +152 -152
  114. package/src/pages/components/icons.astro +48 -48
  115. package/src/pages/components/image.mdx +513 -513
  116. package/src/pages/components/input.mdx +45 -45
  117. package/src/pages/components/jumbatron.mdx +95 -95
  118. package/src/pages/components/modal.mdx +64 -64
  119. package/src/pages/components/post-header.mdx +60 -60
  120. package/src/pages/components/pr-code.mdx +65 -65
  121. package/src/pages/components/product-number.mdx +58 -58
  122. package/src/pages/components/product-tile.mdx +51 -51
  123. package/src/pages/components/quote.mdx +33 -33
  124. package/src/pages/components/slimbanner.mdx +35 -35
  125. package/src/pages/components/table.mdx +108 -108
  126. package/src/pages/core/colors.mdx +10 -10
  127. package/src/pages/core/grid.mdx +89 -89
  128. package/src/pages/core/introduction.mdx +77 -77
  129. package/src/pages/core/shadows.astro +20 -20
  130. package/src/pages/core/typography.astro +47 -47
  131. package/src/pages/index.astro +126 -126
  132. package/src/pages/patterns/introduction.mdx +60 -60
  133. package/src/pwa.ts +12 -12
  134. package/src/styles/_variables.scss +70 -70
  135. package/src/styles/base/base.css +184 -184
  136. package/src/styles/base/grid.css +92 -92
  137. package/src/styles/base/typography.css +70 -70
  138. package/src/styles/content.css +73 -73
  139. package/src/styles/main.css +7 -7
  140. package/src/types/Product.ts +31 -31
  141. package/src/types/astro.d.ts +3 -3
  142. package/src/utils/product/getPriceFormatted.ts +15 -15
  143. package/src/utils/product/getProductChecklist.ts +17 -17
  144. package/src/utils/product/useFormatProductNumber.ts +41 -41
  145. package/src/utils/seo/getShorterDescription.ts +14 -14
  146. package/src/utils/text/formatDate.ts +5 -5
  147. package/src/utils/text/formatLocaleNumber.ts +6 -6
  148. package/src/utils/text/formatPad.ts +12 -12
  149. package/src/utils/text/getNumberFormatted.ts +33 -33
  150. package/src/utils/text/getTranslatedLink.ts +5 -5
  151. package/src/utils/text.ts +19 -28
  152. package/tailwind.config.cjs +8 -8
  153. package/tsconfig.json +28 -28
  154. package/uno.config.ts +250 -250
  155. package/src/components/Category/CategoriesSidebar.astro +0 -187
  156. package/src/components/Category/CategorySection.astro +0 -70
@@ -1,48 +1,48 @@
1
- ---
2
- import MainLayout from '../../layouts/MainLayout.astro'
3
- import { TYPOGRAPHY } from '../../design.config'
4
- import { FONTS } from '../../design.config'
5
- const getStyle = (item) => {
6
- return `font-size: ${item.size}; font-weight: ${item.weight};`
7
- }
8
- ---
9
-
10
- <MainLayout>
11
- <h1>Typography</h1>
12
- <div class="w-full">
13
- {
14
- TYPOGRAPHY.scale.map((item) => (
15
- <div class="mt-6 border-t py-4">
16
- <p style={getStyle(item)}>Hello world</p>
17
- <div class="flex gap-6 text-slate-500 font-mono">
18
- <span>{item.name}</span>
19
- <span>weight: {item.weight}</span>
20
- <span>size: {item.size}</span>
21
- </div>
22
- </div>
23
- ))
24
- }
25
- </div>
26
- <div class="font-novamono"></div>
27
-
28
-
29
- <h1>Fonts</h1>
30
- <div class="component-preview ">
31
- <div class="flex flex-wrap gap-16">
32
- {FONTS.types.map(({name, value}) => (
33
- <div class="w-full">
34
- <div class={`${value} text-3xl`} >Lorem Ipsum</div>
35
- <div class="">{name}</div>
36
- <code>{value}</code>
37
- </div>
38
- ))}
39
- </div>
40
- </div>
41
-
42
- <pre class="astro-code bg-slate-800 text-white">
43
- {FONTS.types.map(({name, value}) => (
44
- <div class="my-5">{`${name}:`}<br><pre>{value}</pre></div>
45
- ))}
46
- </pre>
47
-
1
+ ---
2
+ import MainLayout from '../../layouts/MainLayout.astro'
3
+ import { TYPOGRAPHY } from '../../design.config'
4
+ import { FONTS } from '../../design.config'
5
+ const getStyle = (item) => {
6
+ return `font-size: ${item.size}; font-weight: ${item.weight};`
7
+ }
8
+ ---
9
+
10
+ <MainLayout>
11
+ <h1>Typography</h1>
12
+ <div class="w-full">
13
+ {
14
+ TYPOGRAPHY.scale.map((item) => (
15
+ <div class="mt-6 border-t py-4">
16
+ <p style={getStyle(item)}>Hello world</p>
17
+ <div class="flex gap-6 text-slate-500 font-mono">
18
+ <span>{item.name}</span>
19
+ <span>weight: {item.weight}</span>
20
+ <span>size: {item.size}</span>
21
+ </div>
22
+ </div>
23
+ ))
24
+ }
25
+ </div>
26
+ <div class="font-novamono"></div>
27
+
28
+
29
+ <h1>Fonts</h1>
30
+ <div class="component-preview ">
31
+ <div class="flex flex-wrap gap-16">
32
+ {FONTS.types.map(({name, value}) => (
33
+ <div class="w-full">
34
+ <div class={`${value} text-3xl`} >Lorem Ipsum</div>
35
+ <div class="">{name}</div>
36
+ <code>{value}</code>
37
+ </div>
38
+ ))}
39
+ </div>
40
+ </div>
41
+
42
+ <pre class="astro-code bg-slate-800 text-white">
43
+ {FONTS.types.map(({name, value}) => (
44
+ <div class="my-5">{`${name}:`}<br><pre>{value}</pre></div>
45
+ ))}
46
+ </pre>
47
+
48
48
  </MainLayout>
@@ -1,126 +1,126 @@
1
- ---
2
- import { changeLanguage } from "i18next";
3
- import { Icon } from "astro-icon/components";
4
- import { SITE } from "../config";
5
- import Jumbatron from "../components/Jumbatron.vue";
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
- <Jumbatron class="w-full" intro={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"
45
- href="/core/introduction/"
46
- title="Spoko Design System"
47
- primary
48
- rounded
49
- >
50
- Read More
51
- </Button>
52
- </Jumbatron>
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-700 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-light-blue-400">
95
- <Icon name="mdi:npm"/>
96
- </a>
97
- <a href="https://github.com/polo-blue/sds" rel="noopener" title="Github Page" class="hover:text-light-blue-400">
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="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>
109
- </li>
110
- <li class="leading-5 me-6 mb-4 lg:mb-0">
111
- <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>
112
- </li>
113
- <li class="leading-5 me-6 mb-4 lg:mb-0">
114
- <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>
115
- </li>
116
- <li class="leading-5 me-6 mb-4 lg:mb-0">
117
- <a href="https://sale.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">sale.polo.blue</a>
118
- </li>
119
- </ul>
120
- </div>
121
-
122
-
123
- </div>
124
- </div>
125
- <script is:inline></script>
126
- </Layout>
1
+ ---
2
+ import { changeLanguage } from "i18next";
3
+ import { Icon } from "astro-icon/components";
4
+ import { SITE } from "../config";
5
+ import Jumbatron from "../components/Jumbatron.vue";
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
+ <Jumbatron class="w-full" intro={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"
45
+ href="/core/introduction/"
46
+ title="Spoko Design System"
47
+ primary
48
+ rounded
49
+ >
50
+ Read More
51
+ </Button>
52
+ </Jumbatron>
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-700 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-light-blue-400">
95
+ <Icon name="mdi:npm"/>
96
+ </a>
97
+ <a href="https://github.com/polo-blue/sds" rel="noopener" title="Github Page" class="hover:text-light-blue-400">
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="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>
109
+ </li>
110
+ <li class="leading-5 me-6 mb-4 lg:mb-0">
111
+ <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>
112
+ </li>
113
+ <li class="leading-5 me-6 mb-4 lg:mb-0">
114
+ <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>
115
+ </li>
116
+ <li class="leading-5 me-6 mb-4 lg:mb-0">
117
+ <a href="https://sale.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">sale.polo.blue</a>
118
+ </li>
119
+ </ul>
120
+ </div>
121
+
122
+
123
+ </div>
124
+ </div>
125
+ <script is:inline></script>
126
+ </Layout>
@@ -1,60 +1,60 @@
1
- ---
2
- layout: ../../layouts/MainLayout.astro
3
- ---
4
-
5
- import Container from '../../components/layout/Container.astro'
6
- import Header from '../../components/layout/Header.astro'
7
-
8
-
9
- # Patterns
10
-
11
- Common patterns for building interfaces.
12
-
13
-
14
-
15
- ## Container (max-w-screen-xl)
16
-
17
- <div class="component-preview" style="display: block">
18
- <Container class="bg-white">content</Container>
19
- </div>
20
-
21
- ### Code
22
-
23
- ```html
24
- <Container class="bg-white">content</Container>
25
- ```
26
-
27
-
28
- ## Container FullWidth (max-w-full)
29
-
30
- <div class="component-preview" style="display: block">
31
- <Container class="bg-white" isFullWidth>content</Container>
32
- </div>
33
-
34
- ### Code
35
-
36
- ```html
37
- <Container class="bg-white" isFullWidth>content</Container>
38
- ```
39
-
40
- ## Header
41
-
42
- <div class="component-preview" style="display: block">
43
- <Header class="static">
44
- <div slot="logo" class="flex-shrink-0 flex items-center h-8">
45
- <div class="bg-gray">LOGO</div>
46
- </div>
47
- <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
48
- </Header>
49
- </div>
50
-
51
- ### Code
52
-
53
- ```html
54
- <Header>
55
- <div slot="logo" class="flex-shrink-0 flex items-center h-8">
56
- <div class="bg-gray">LOGO</div>
57
- </div>
58
- <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
59
- </Header>
60
- ```
1
+ ---
2
+ layout: ../../layouts/MainLayout.astro
3
+ ---
4
+
5
+ import Container from '../../components/layout/Container.astro'
6
+ import Header from '../../components/layout/Header.astro'
7
+
8
+
9
+ # Patterns
10
+
11
+ Common patterns for building interfaces.
12
+
13
+
14
+
15
+ ## Container (max-w-screen-xl)
16
+
17
+ <div class="component-preview" style="display: block">
18
+ <Container class="bg-white">content</Container>
19
+ </div>
20
+
21
+ ### Code
22
+
23
+ ```html
24
+ <Container class="bg-white">content</Container>
25
+ ```
26
+
27
+
28
+ ## Container FullWidth (max-w-full)
29
+
30
+ <div class="component-preview" style="display: block">
31
+ <Container class="bg-white" isFullWidth>content</Container>
32
+ </div>
33
+
34
+ ### Code
35
+
36
+ ```html
37
+ <Container class="bg-white" isFullWidth>content</Container>
38
+ ```
39
+
40
+ ## Header
41
+
42
+ <div class="component-preview" style="display: block">
43
+ <Header class="static">
44
+ <div slot="logo" class="flex-shrink-0 flex items-center h-8">
45
+ <div class="bg-gray">LOGO</div>
46
+ </div>
47
+ <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
48
+ </Header>
49
+ </div>
50
+
51
+ ### Code
52
+
53
+ ```html
54
+ <Header>
55
+ <div slot="logo" class="flex-shrink-0 flex items-center h-8">
56
+ <div class="bg-gray">LOGO</div>
57
+ </div>
58
+ <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
59
+ </Header>
60
+ ```
package/src/pwa.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { registerSW } from 'virtual:pwa-register'
2
-
3
- registerSW({
4
- immediate: true,
5
- onRegisteredSW(swScriptUrl) {
6
- // eslint-disable-next-line no-console
7
- console.log('SW registered: ', swScriptUrl)
8
- },
9
- onOfflineReady() {
10
- // eslint-disable-next-line no-console
11
- console.log('PWA application ready to work offline')
12
- },
1
+ import { registerSW } from 'virtual:pwa-register'
2
+
3
+ registerSW({
4
+ immediate: true,
5
+ onRegisteredSW(swScriptUrl) {
6
+ // eslint-disable-next-line no-console
7
+ console.log('SW registered: ', swScriptUrl)
8
+ },
9
+ onOfflineReady() {
10
+ // eslint-disable-next-line no-console
11
+ console.log('PWA application ready to work offline')
12
+ },
13
13
  })
@@ -1,70 +1,70 @@
1
- @use "sass:map";
2
-
3
- $white: #fff !default;
4
- $gray-100: #F3F4F6;
5
- $gray-200: #E5E7EB;
6
- $gray-300: #B5BBC5;
7
- $gray-400: #9CA3AF;
8
- $gray-500: #64748B!default;
9
- $gray-600: #6c757d !default;
10
- $gray-700: #495057 !default;
11
- $gray-800: #343a40 !default;
12
- $gray-900: #212529 !default;
13
- $black: #000 !default;
14
-
15
- $filter-label: #a8a8a8;
16
-
17
- $bg-stylish: #F6F6F6;
18
- $bg-highlighted: #E7E7E7;
19
- $badge-dark: #202020;
20
-
21
- // social media colors:
22
- $facebook: #4267B2;
23
- $youtube: #ff0000;
24
- $ebay: #3665f3;
25
-
26
-
27
- $grays: () !default;
28
- // stylelint-disable-next-line scss/dollar-variable-default
29
- $grays: map.merge(
30
- (
31
- "100": $gray-100,
32
- "200": $gray-200,
33
- "300": $gray-300,
34
- "400": $gray-400,
35
- "500": $gray-500,
36
- "600": $gray-600,
37
- "700": $gray-700,
38
- "800": $gray-800,
39
- "900": $gray-900
40
- ),
41
- $grays
42
- );
43
-
44
- $lightblue: #ccecff;
45
- $vwblue: #0786ba;
46
- $vwblue2: #00b1eb;
47
- $blue: #0099da; //#0070B2; //#007bff !default;
48
- $darkblue: #00437A;
49
- $verydarkblue: #001E50;
50
- $indigo: #6610f2 !default;
51
- $purple: #6f42c1 !default;
52
- $pink: #e83e8c !default;
53
- $red: #dc3545;//#e94e1b; //#dc3545 !default;
54
- $orange: #ff5a00; //allegro//#f4831d; //#ff9700; // #fd7e14 !default;
55
- $orange-darken: #e94d1a;
56
- $yellow: #ffc107 !default;
57
- $green: #28a745 !default;
58
- $teal: #20c997 !default;
59
- $cyan: #17a2b8 !default;
60
- $grey: #797878 !default;
61
-
62
-
63
- $primary: $blue; // $blue !default;
64
- $secondary: $grey; //$gray-600; //$gray-600 !default;
65
- $success: $green !default;
66
- $info: $ebay;//$cyan !default;
67
- $warning: $orange !default;
68
- $danger: $red !default;
69
- $light: $gray-100 !default;
70
- $dark: $gray-900 !default;
1
+ @use "sass:map";
2
+
3
+ $white: #fff !default;
4
+ $gray-100: #F3F4F6;
5
+ $gray-200: #E5E7EB;
6
+ $gray-300: #B5BBC5;
7
+ $gray-400: #9CA3AF;
8
+ $gray-500: #64748B!default;
9
+ $gray-600: #6c757d !default;
10
+ $gray-700: #495057 !default;
11
+ $gray-800: #343a40 !default;
12
+ $gray-900: #212529 !default;
13
+ $black: #000 !default;
14
+
15
+ $filter-label: #a8a8a8;
16
+
17
+ $bg-stylish: #F6F6F6;
18
+ $bg-highlighted: #E7E7E7;
19
+ $badge-dark: #202020;
20
+
21
+ // social media colors:
22
+ $facebook: #4267B2;
23
+ $youtube: #ff0000;
24
+ $ebay: #3665f3;
25
+
26
+
27
+ $grays: () !default;
28
+ // stylelint-disable-next-line scss/dollar-variable-default
29
+ $grays: map.merge(
30
+ (
31
+ "100": $gray-100,
32
+ "200": $gray-200,
33
+ "300": $gray-300,
34
+ "400": $gray-400,
35
+ "500": $gray-500,
36
+ "600": $gray-600,
37
+ "700": $gray-700,
38
+ "800": $gray-800,
39
+ "900": $gray-900
40
+ ),
41
+ $grays
42
+ );
43
+
44
+ $lightblue: #ccecff;
45
+ $vwblue: #0786ba;
46
+ $vwblue2: #00b1eb;
47
+ $blue: #0099da; //#0070B2; //#007bff !default;
48
+ $darkblue: #00437A;
49
+ $verydarkblue: #001E50;
50
+ $indigo: #6610f2 !default;
51
+ $purple: #6f42c1 !default;
52
+ $pink: #e83e8c !default;
53
+ $red: #dc3545;//#e94e1b; //#dc3545 !default;
54
+ $orange: #ff5a00; //allegro//#f4831d; //#ff9700; // #fd7e14 !default;
55
+ $orange-darken: #e94d1a;
56
+ $yellow: #ffc107 !default;
57
+ $green: #28a745 !default;
58
+ $teal: #20c997 !default;
59
+ $cyan: #17a2b8 !default;
60
+ $grey: #797878 !default;
61
+
62
+
63
+ $primary: $blue; // $blue !default;
64
+ $secondary: $grey; //$gray-600; //$gray-600 !default;
65
+ $success: $green !default;
66
+ $info: $ebay;//$cyan !default;
67
+ $warning: $orange !default;
68
+ $danger: $red !default;
69
+ $light: $gray-100 !default;
70
+ $dark: $gray-900 !default;