spoko-design-system 0.8.3 → 0.8.4

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 (167) hide show
  1. package/.github/dependabot.yml +11 -11
  2. package/.github/todo.yml +3 -3
  3. package/.github/workflows/deploy.yml +39 -39
  4. package/.stackblitzrc +5 -5
  5. package/.vscode/extensions.json +5 -5
  6. package/.vscode/launch.json +11 -11
  7. package/.vscode/settings.json +5 -5
  8. package/LICENSE +21 -21
  9. package/README.md +114 -114
  10. package/astro-i18next.config.mjs +17 -17
  11. package/astro-i18next.config.ts +10 -10
  12. package/astro.config.mjs +86 -86
  13. package/dev-dist/sw.js +91 -91
  14. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  15. package/icon.config.ts +309 -309
  16. package/index.ts +66 -66
  17. package/package.json +123 -123
  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 +91 -91
  39. package/src/components/Button.vue +101 -101
  40. package/src/components/ButtonCopy.astro +183 -183
  41. package/src/components/ButtonCopy.vue +36 -36
  42. package/src/components/Card.astro +27 -27
  43. package/src/components/Carousel.astro +26 -26
  44. package/src/components/Category/CategoriesCarousel.astro +101 -101
  45. package/src/components/Category/CategoryDetails.astro +169 -169
  46. package/src/components/Category/CategoryLink.vue +28 -28
  47. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  48. package/src/components/Category/CategoryTile.astro +37 -37
  49. package/src/components/Category/CategoryViewToggler.astro +89 -89
  50. package/src/components/Category/SubCategoryLink.vue +19 -19
  51. package/src/components/Copyright.astro +12 -12
  52. package/src/components/Date.astro +7 -7
  53. package/src/components/Faq.astro +33 -33
  54. package/src/components/FaqItem.astro +80 -80
  55. package/src/components/FeaturesList.vue +37 -37
  56. package/src/components/FuckRussia.vue +62 -62
  57. package/src/components/HandDrive.astro +29 -29
  58. package/src/components/Header/Header.astro +210 -210
  59. package/src/components/Header/SkipToContent.astro +1 -1
  60. package/src/components/Headline.vue +48 -48
  61. package/src/components/Image.astro +30 -30
  62. package/src/components/LeftSidebar.astro +53 -53
  63. package/src/components/MainColors.vue +22 -22
  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/Post/PostCategories.astro +41 -41
  69. package/src/components/Post/PostCategories.vue +30 -30
  70. package/src/components/PostHeader.astro +103 -103
  71. package/src/components/PrCode.vue +141 -141
  72. package/src/components/Product/ProductButton.vue +18 -18
  73. package/src/components/Product/ProductCarousel.astro +35 -35
  74. package/src/components/Product/ProductEngineType.vue +42 -42
  75. package/src/components/Product/ProductImage.astro +40 -40
  76. package/src/components/Product/ProductLink.astro +101 -101
  77. package/src/components/Product/ProductLink.vue +59 -59
  78. package/src/components/Product/ProductLinkInfo.astro +37 -37
  79. package/src/components/Product/ProductNumber.astro +60 -60
  80. package/src/components/ProductCarousel.astro +38 -38
  81. package/src/components/ProductCodes.vue +39 -39
  82. package/src/components/ProductDetailName.vue +52 -52
  83. package/src/components/ProductDetailsList.vue +216 -197
  84. package/src/components/ProductTile.astro +48 -48
  85. package/src/components/Quote.vue +23 -23
  86. package/src/components/ReloadPrompt.astro +50 -50
  87. package/src/components/SlimBanner.vue +72 -72
  88. package/src/components/Table.vue +32 -32
  89. package/src/components/TableOfContents.astro +15 -15
  90. package/src/components/Translations.vue +23 -23
  91. package/src/components/flags/FlagPL.vue +3 -3
  92. package/src/components/flags/FlagUA.vue +2 -2
  93. package/src/components/layout/Container.astro +7 -7
  94. package/src/components/layout/Header.astro +80 -80
  95. package/src/config.ts +56 -56
  96. package/src/design.config.ts +98 -98
  97. package/src/env.d.ts +6 -6
  98. package/src/layouts/Layout.astro +61 -61
  99. package/src/layouts/MainLayout.astro +81 -81
  100. package/src/layouts/partials/FooterCommon.astro +4 -4
  101. package/src/layouts/partials/HeadCommon.astro +44 -44
  102. package/src/layouts/partials/HeadSEO.astro +41 -41
  103. package/src/pages/components/badges.mdx +57 -57
  104. package/src/pages/components/breadcrumbs.mdx +139 -139
  105. package/src/pages/components/buttons.mdx +360 -360
  106. package/src/pages/components/card.mdx +294 -294
  107. package/src/pages/components/carousel.mdx +62 -62
  108. package/src/pages/components/copyright.mdx +42 -42
  109. package/src/pages/components/details-list.mdx +115 -115
  110. package/src/pages/components/features-list.mdx +37 -37
  111. package/src/pages/components/flags.mdx +49 -49
  112. package/src/pages/components/fuck-russia.mdx +39 -39
  113. package/src/pages/components/hand-drive.mdx +38 -38
  114. package/src/pages/components/headline.mdx +152 -152
  115. package/src/pages/components/icons.astro +135 -135
  116. package/src/pages/components/image.mdx +513 -513
  117. package/src/pages/components/input.mdx +367 -367
  118. package/src/pages/components/jumbotron.mdx +359 -359
  119. package/src/pages/components/modal.mdx +64 -64
  120. package/src/pages/components/post-header.mdx +64 -64
  121. package/src/pages/components/pr-code.mdx +65 -65
  122. package/src/pages/components/product-number.mdx +58 -58
  123. package/src/pages/components/product-tile.mdx +51 -51
  124. package/src/pages/components/quote.mdx +33 -33
  125. package/src/pages/components/slimbanner.mdx +35 -35
  126. package/src/pages/components/table.mdx +108 -108
  127. package/src/pages/core/colors.mdx +10 -10
  128. package/src/pages/core/grid.mdx +89 -89
  129. package/src/pages/core/introduction.mdx +77 -77
  130. package/src/pages/core/shadows.astro +20 -20
  131. package/src/pages/core/typography.astro +49 -49
  132. package/src/pages/index.astro +133 -133
  133. package/src/pages/patterns/introduction.mdx +60 -60
  134. package/src/pwa.ts +12 -12
  135. package/src/styles/_variables.scss +70 -70
  136. package/src/styles/base/base.css +184 -184
  137. package/src/styles/base/grid.css +92 -92
  138. package/src/styles/base/typography.css +70 -70
  139. package/src/styles/content.css +73 -73
  140. package/src/styles/main.css +7 -7
  141. package/src/types/Product.ts +31 -31
  142. package/src/types/astro.d.ts +3 -3
  143. package/src/utils/product/getPriceFormatted.ts +15 -15
  144. package/src/utils/product/getProductChecklist.ts +17 -17
  145. package/src/utils/product/useFormatProductNumber.ts +41 -41
  146. package/src/utils/seo/getShorterDescription.ts +14 -14
  147. package/src/utils/text/formatDate.ts +5 -5
  148. package/src/utils/text/formatLocaleNumber.ts +6 -6
  149. package/src/utils/text/formatPad.ts +12 -12
  150. package/src/utils/text/getNumberFormatted.ts +33 -33
  151. package/src/utils/text/getTranslatedLink.ts +5 -5
  152. package/src/utils/text.ts +19 -19
  153. package/tailwind.config.cjs +8 -8
  154. package/tsconfig.json +28 -28
  155. package/uno-config/index.ts +259 -259
  156. package/uno-config/theme/breakpoints.ts +9 -9
  157. package/uno-config/theme/colors.ts +64 -64
  158. package/uno-config/theme/dimensions.ts +17 -17
  159. package/uno-config/theme/effects.ts +14 -14
  160. package/uno-config/theme/grid.ts +10 -10
  161. package/uno-config/theme/index.ts +28 -28
  162. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  163. package/uno-config/theme/shortcuts/components.ts +123 -123
  164. package/uno-config/theme/shortcuts/index.ts +20 -20
  165. package/uno-config/theme/shortcuts/layout.ts +64 -64
  166. package/uno-config/theme/typography.ts +29 -29
  167. package/uno.config.ts +2 -2
package/astro.config.mjs CHANGED
@@ -1,87 +1,87 @@
1
- import { defineConfig, sharpImageService } from "astro/config";
2
- import { iconConfig } from './icon.config';
3
- import vue from "@astrojs/vue";
4
- import mdx from '@astrojs/mdx';
5
- import UnoCSS from '@unocss/astro';
6
- import astroI18next from "astro-i18next";
7
- import icon from "astro-icon";
8
- import sitemap from "@astrojs/sitemap";
9
- import pagefind from "astro-pagefind";
10
- import AstroPWA from '@vite-pwa/astro';
11
- import metaTags from "astro-meta-tags";
12
-
13
- import { createSdsConfig } from './uno-config';
14
-
15
- const unoConfig = createSdsConfig();
16
-
17
- // https://astro.build/config
18
- export default defineConfig({
19
- site: "https://sds.spoko.space/",
20
- server: {
21
- port: 1234
22
- },
23
- image: {
24
- service: sharpImageService(),
25
- domains: ["placehold.co", "api.polo.blue", "polo.blue", "media.istockphoto.com", "freepik.com", "img.freepik.com", "polo6r.pl"]
26
- },
27
- integrations: [
28
- // Enable Vue to support Vue3 components
29
- vue(),
30
- mdx(),
31
- astroI18next(),
32
- AstroPWA({
33
- mode: 'production',
34
- base: '/',
35
- scope: '/',
36
- includeAssets: ['favicon.svg', 'safari-pinned-tab.svg', 'brands/*.svg', 'fonts/*.woff2', 'fonts/*.svg', 'vw.svg', 'polo.blue.svg', 'spoko.space.svg'],
37
- registerType: 'autoUpdate',
38
- manifest: {
39
- name: 'Spoko Design System',
40
- short_name: 'SDS',
41
- description: 'SDS PWA app description',
42
- categories: ['multimedia'],
43
- screenshots: [{
44
- "src": "pwa-512x512.png",
45
- "sizes": "512x512",
46
- "platform": "windows",
47
- "label": "SDS"
48
- }],
49
- theme_color: '#001e50',
50
- icons: [{
51
- src: 'pwa-192x192.png',
52
- sizes: '192x192',
53
- type: 'image/png'
54
- }, {
55
- src: 'pwa-512x512.png',
56
- sizes: '512x512',
57
- type: 'image/png'
58
- }, {
59
- src: 'pwa-512x512.png',
60
- sizes: '512x512',
61
- type: 'image/png',
62
- purpose: 'any maskable'
63
- }]
64
- },
65
- workbox: {
66
- navigateFallback: '/',
67
- globPatterns: ['**/*.{css,js,html,svg,png,ico,txt}']
68
- },
69
- devOptions: {
70
- enabled: false,
71
- navigateFallbackAllowlist: [/^\//]
72
- },
73
- experimental: {
74
- directoryAndTrailingSlashHandler: true
75
- }
76
- }),
77
- UnoCSS({
78
- injectReset: true,
79
- ...unoConfig
80
- }),
81
- icon(iconConfig),
82
- metaTags(),
83
- (await import("@playform/inline")).default(),
84
- pagefind(),
85
- sitemap()
86
- ]
1
+ import { defineConfig, sharpImageService } from "astro/config";
2
+ import { iconConfig } from './icon.config';
3
+ import vue from "@astrojs/vue";
4
+ import mdx from '@astrojs/mdx';
5
+ import UnoCSS from '@unocss/astro';
6
+ import astroI18next from "astro-i18next";
7
+ import icon from "astro-icon";
8
+ import sitemap from "@astrojs/sitemap";
9
+ import pagefind from "astro-pagefind";
10
+ import AstroPWA from '@vite-pwa/astro';
11
+ import metaTags from "astro-meta-tags";
12
+
13
+ import { createSdsConfig } from './uno-config';
14
+
15
+ const unoConfig = createSdsConfig();
16
+
17
+ // https://astro.build/config
18
+ export default defineConfig({
19
+ site: "https://sds.spoko.space/",
20
+ server: {
21
+ port: 1234
22
+ },
23
+ image: {
24
+ service: sharpImageService(),
25
+ domains: ["placehold.co", "api.polo.blue", "polo.blue", "media.istockphoto.com", "freepik.com", "img.freepik.com", "polo6r.pl"]
26
+ },
27
+ integrations: [
28
+ // Enable Vue to support Vue3 components
29
+ vue(),
30
+ mdx(),
31
+ astroI18next(),
32
+ AstroPWA({
33
+ mode: 'production',
34
+ base: '/',
35
+ scope: '/',
36
+ includeAssets: ['favicon.svg', 'safari-pinned-tab.svg', 'brands/*.svg', 'fonts/*.woff2', 'fonts/*.svg', 'vw.svg', 'polo.blue.svg', 'spoko.space.svg'],
37
+ registerType: 'autoUpdate',
38
+ manifest: {
39
+ name: 'Spoko Design System',
40
+ short_name: 'SDS',
41
+ description: 'SDS PWA app description',
42
+ categories: ['multimedia'],
43
+ screenshots: [{
44
+ "src": "pwa-512x512.png",
45
+ "sizes": "512x512",
46
+ "platform": "windows",
47
+ "label": "SDS"
48
+ }],
49
+ theme_color: '#001e50',
50
+ icons: [{
51
+ src: 'pwa-192x192.png',
52
+ sizes: '192x192',
53
+ type: 'image/png'
54
+ }, {
55
+ src: 'pwa-512x512.png',
56
+ sizes: '512x512',
57
+ type: 'image/png'
58
+ }, {
59
+ src: 'pwa-512x512.png',
60
+ sizes: '512x512',
61
+ type: 'image/png',
62
+ purpose: 'any maskable'
63
+ }]
64
+ },
65
+ workbox: {
66
+ navigateFallback: '/',
67
+ globPatterns: ['**/*.{css,js,html,svg,png,ico,txt}']
68
+ },
69
+ devOptions: {
70
+ enabled: false,
71
+ navigateFallbackAllowlist: [/^\//]
72
+ },
73
+ experimental: {
74
+ directoryAndTrailingSlashHandler: true
75
+ }
76
+ }),
77
+ UnoCSS({
78
+ injectReset: true,
79
+ ...unoConfig
80
+ }),
81
+ icon(iconConfig),
82
+ metaTags(),
83
+ (await import("@playform/inline")).default(),
84
+ pagefind(),
85
+ sitemap()
86
+ ]
87
87
  });
package/dev-dist/sw.js CHANGED
@@ -1,91 +1,91 @@
1
- /**
2
- * Copyright 2018 Google Inc. All Rights Reserved.
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- * http://www.apache.org/licenses/LICENSE-2.0
7
- * Unless required by applicable law or agreed to in writing, software
8
- * distributed under the License is distributed on an "AS IS" BASIS,
9
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
- * See the License for the specific language governing permissions and
11
- * limitations under the License.
12
- */
13
-
14
- // If the loader is already loaded, just stop.
15
- if (!self.define) {
16
- let registry = {};
17
-
18
- // Used for `eval` and `importScripts` where we can't get script URL by other means.
19
- // In both cases, it's safe to use a global var because those functions are synchronous.
20
- let nextDefineUri;
21
-
22
- const singleRequire = (uri, parentUri) => {
23
- uri = new URL(uri + ".js", parentUri).href;
24
- return registry[uri] || (
25
-
26
- new Promise(resolve => {
27
- if ("document" in self) {
28
- const script = document.createElement("script");
29
- script.src = uri;
30
- script.onload = resolve;
31
- document.head.appendChild(script);
32
- } else {
33
- nextDefineUri = uri;
34
- importScripts(uri);
35
- resolve();
36
- }
37
- })
38
-
39
- .then(() => {
40
- let promise = registry[uri];
41
- if (!promise) {
42
- throw new Error(`Module ${uri} didn’t register its module`);
43
- }
44
- return promise;
45
- })
46
- );
47
- };
48
-
49
- self.define = (depsNames, factory) => {
50
- const uri = nextDefineUri || ("document" in self ? document.currentScript.src : "") || location.href;
51
- if (registry[uri]) {
52
- // Module is already loading or loaded.
53
- return;
54
- }
55
- let exports = {};
56
- const require = depUri => singleRequire(depUri, uri);
57
- const specialDeps = {
58
- module: { uri },
59
- exports,
60
- require
61
- };
62
- registry[uri] = Promise.all(depsNames.map(
63
- depName => specialDeps[depName] || require(depName)
64
- )).then(deps => {
65
- factory(...deps);
66
- return exports;
67
- });
68
- };
69
- }
70
- define(['./workbox-c676b6d3'], (function (workbox) { 'use strict';
71
-
72
- self.skipWaiting();
73
- workbox.clientsClaim();
74
-
75
- /**
76
- * The precacheAndRoute() method efficiently caches and responds to
77
- * requests for URLs in the manifest.
78
- * See https://goo.gl/S9QRab
79
- */
80
- workbox.precacheAndRoute([{
81
- "url": "/",
82
- "revision": "0.4grcq5f8bio"
83
- }], {
84
- "directoryIndex": "index.html"
85
- });
86
- workbox.cleanupOutdatedCaches();
87
- workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("/"), {
88
- allowlist: [/^\//]
89
- }));
90
-
91
- }));
1
+ /**
2
+ * Copyright 2018 Google Inc. All Rights Reserved.
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+
14
+ // If the loader is already loaded, just stop.
15
+ if (!self.define) {
16
+ let registry = {};
17
+
18
+ // Used for `eval` and `importScripts` where we can't get script URL by other means.
19
+ // In both cases, it's safe to use a global var because those functions are synchronous.
20
+ let nextDefineUri;
21
+
22
+ const singleRequire = (uri, parentUri) => {
23
+ uri = new URL(uri + ".js", parentUri).href;
24
+ return registry[uri] || (
25
+
26
+ new Promise(resolve => {
27
+ if ("document" in self) {
28
+ const script = document.createElement("script");
29
+ script.src = uri;
30
+ script.onload = resolve;
31
+ document.head.appendChild(script);
32
+ } else {
33
+ nextDefineUri = uri;
34
+ importScripts(uri);
35
+ resolve();
36
+ }
37
+ })
38
+
39
+ .then(() => {
40
+ let promise = registry[uri];
41
+ if (!promise) {
42
+ throw new Error(`Module ${uri} didn’t register its module`);
43
+ }
44
+ return promise;
45
+ })
46
+ );
47
+ };
48
+
49
+ self.define = (depsNames, factory) => {
50
+ const uri = nextDefineUri || ("document" in self ? document.currentScript.src : "") || location.href;
51
+ if (registry[uri]) {
52
+ // Module is already loading or loaded.
53
+ return;
54
+ }
55
+ let exports = {};
56
+ const require = depUri => singleRequire(depUri, uri);
57
+ const specialDeps = {
58
+ module: { uri },
59
+ exports,
60
+ require
61
+ };
62
+ registry[uri] = Promise.all(depsNames.map(
63
+ depName => specialDeps[depName] || require(depName)
64
+ )).then(deps => {
65
+ factory(...deps);
66
+ return exports;
67
+ });
68
+ };
69
+ }
70
+ define(['./workbox-c676b6d3'], (function (workbox) { 'use strict';
71
+
72
+ self.skipWaiting();
73
+ workbox.clientsClaim();
74
+
75
+ /**
76
+ * The precacheAndRoute() method efficiently caches and responds to
77
+ * requests for URLs in the manifest.
78
+ * See https://goo.gl/S9QRab
79
+ */
80
+ workbox.precacheAndRoute([{
81
+ "url": "/",
82
+ "revision": "0.4grcq5f8bio"
83
+ }], {
84
+ "directoryIndex": "index.html"
85
+ });
86
+ workbox.cleanupOutdatedCaches();
87
+ workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("/"), {
88
+ allowlist: [/^\//]
89
+ }));
90
+
91
+ }));