spoko-design-system 0.8.0 → 0.8.1

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 +22 -22
  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 +197 -130
  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
@@ -1,33 +1,33 @@
1
- ---
2
- title: "Quote"
3
- layout: "../../layouts/MainLayout.astro"
4
-
5
- ---
6
-
7
- import Quote from '../../components/Quote.vue'
8
-
9
-
10
- # Quote
11
-
12
- Simple Quote component with left border in primary color.
13
-
14
- <div class="component-preview">
15
- <Quote text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
16
- </div>
17
-
18
-
19
- ```html
20
- <Quote text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
21
- ```
22
-
23
- #
24
-
25
-
26
- <div class="component-preview">
27
- <Quote class="font-headlight text-center" text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
28
- </div>
29
-
30
-
31
- ```html
32
- <Quote class="font-headlight text-center" text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
33
- ```
1
+ ---
2
+ title: "Quote"
3
+ layout: "../../layouts/MainLayout.astro"
4
+
5
+ ---
6
+
7
+ import Quote from '../../components/Quote.vue'
8
+
9
+
10
+ # Quote
11
+
12
+ Simple Quote component with left border in primary color.
13
+
14
+ <div class="component-preview">
15
+ <Quote text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
16
+ </div>
17
+
18
+
19
+ ```html
20
+ <Quote text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
21
+ ```
22
+
23
+ #
24
+
25
+
26
+ <div class="component-preview">
27
+ <Quote class="font-headlight text-center" text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
28
+ </div>
29
+
30
+
31
+ ```html
32
+ <Quote class="font-headlight text-center" text="Est adipisicing officia eiusmod consequat aliqua qui amet sunt magna in." />
33
+ ```
@@ -1,35 +1,35 @@
1
- ---
2
- title: "SlimBanner"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import SlimBanner from '../../components/SlimBanner.vue'
6
-
7
- # SlimBanner
8
-
9
- SlimBanner - solidarity with Ukraine.
10
-
11
- <div class="component-preview">
12
- <SlimBanner
13
- class="w-full drop-shadow"
14
- client:load
15
- showCloseButton
16
- transition:name="slim-banner"
17
- transition:persist
18
-
19
- />
20
- </div>
21
-
22
- ```js
23
- <SlimBanner
24
- class="w-full drop-shadow"
25
- client:load
26
- showCloseButton
27
- transition:name="slim-banner"
28
- transition:persist
29
- />
30
- ```
31
-
32
- ## uno.config.ts / shortcuts
33
- ```js
34
- ['slimbanner','px-4 sm:px-8 flex items-center justify-center text-xs sm:text-base leading-none relative bg-gray-100 z-2 px-4 py-3 sm:(text-base px-8) text-blue-darker print-hidden'],
35
- ```
1
+ ---
2
+ title: "SlimBanner"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import SlimBanner from '../../components/SlimBanner.vue'
6
+
7
+ # SlimBanner
8
+
9
+ SlimBanner - solidarity with Ukraine.
10
+
11
+ <div class="component-preview">
12
+ <SlimBanner
13
+ class="w-full drop-shadow"
14
+ client:load
15
+ showCloseButton
16
+ transition:name="slim-banner"
17
+ transition:persist
18
+
19
+ />
20
+ </div>
21
+
22
+ ```js
23
+ <SlimBanner
24
+ class="w-full drop-shadow"
25
+ client:load
26
+ showCloseButton
27
+ transition:name="slim-banner"
28
+ transition:persist
29
+ />
30
+ ```
31
+
32
+ ## uno.config.ts / shortcuts
33
+ ```js
34
+ ['slimbanner','px-4 sm:px-8 flex items-center justify-center text-xs sm:text-base leading-none relative bg-gray-100 z-2 px-4 py-3 sm:(text-base px-8) text-blue-darker print-hidden'],
35
+ ```
@@ -1,109 +1,109 @@
1
- ---
2
- title: "Table"
3
- layout: "../../layouts/MainLayout.astro"
4
-
5
- ---
6
-
7
- import Table from '../../components/Table.vue'
8
- export const tableData = [
9
- {
10
- id: 1,
11
- name: "Lorem Ipsum",
12
- email: "lorem@email.com",
13
- },
14
- {
15
- id: 2,
16
- name: "Chuck Norris",
17
- email: "ipsum@email.com",
18
- },
19
- {
20
- id: 3,
21
- name: "Ipsum Lorem",
22
- email: "lorem@email.com",
23
- }
24
- ];
25
-
26
- export const tableDataSecondary = [
27
- {
28
- name: "Lorem Ipsum",
29
- email: "lorem@email.com",
30
- },
31
- {
32
- name: "Chuck Norris",
33
- email: "ipsum@email.com",
34
- },
35
- {
36
- name: "Ipsum Lorem",
37
- email: "lorem@email.com",
38
- }
39
- ];
40
-
41
-
42
- # Table
43
-
44
- Simple table based on JSON data object.
45
-
46
- <div class="component-preview">
47
- <Table data={tableData}></Table>
48
- </div>
49
-
50
- ## Code
51
-
52
- ```ts
53
- const tableData = [
54
- {
55
- id: 1,
56
- name: "Lorem Ipsum",
57
- email: "lorem@email.com",
58
- },
59
- {
60
- id: 2,
61
- name: "Chuck Norris",
62
- email: "ipsum@email.com",
63
- },
64
- {
65
- id: 3,
66
- name: "Ipsum Lorem",
67
- email: "lorem@email.com",
68
- }
69
- ];
70
-
71
- ```
72
-
73
- ```html
74
- <!-- Astro -->
75
- <Table data={tableData} />
76
-
77
- <!-- Vue -->
78
- <Table :data="tableData" />
79
- ```
80
-
81
-
82
-
83
- # Table
84
-
85
- <div class="component-preview">
86
- <Table data={tableDataSecondary} />
87
- </div>
88
-
89
- ## Code
90
-
91
- ```ts
92
- const tableDataSecondary = [
93
- {
94
- name: "Lorem Ipsum",
95
- email: "lorem@email.com",
96
- },
97
- {
98
- name: "Chuck Norris",
99
- email: "ipsum@email.com",
100
- },
101
- {
102
- name: "Ipsum Lorem",
103
- email: "lorem@email.com",
104
- }
105
- ];
106
-
107
-
108
- <Table data={tableDataSecondary} />
1
+ ---
2
+ title: "Table"
3
+ layout: "../../layouts/MainLayout.astro"
4
+
5
+ ---
6
+
7
+ import Table from '../../components/Table.vue'
8
+ export const tableData = [
9
+ {
10
+ id: 1,
11
+ name: "Lorem Ipsum",
12
+ email: "lorem@email.com",
13
+ },
14
+ {
15
+ id: 2,
16
+ name: "Chuck Norris",
17
+ email: "ipsum@email.com",
18
+ },
19
+ {
20
+ id: 3,
21
+ name: "Ipsum Lorem",
22
+ email: "lorem@email.com",
23
+ }
24
+ ];
25
+
26
+ export const tableDataSecondary = [
27
+ {
28
+ name: "Lorem Ipsum",
29
+ email: "lorem@email.com",
30
+ },
31
+ {
32
+ name: "Chuck Norris",
33
+ email: "ipsum@email.com",
34
+ },
35
+ {
36
+ name: "Ipsum Lorem",
37
+ email: "lorem@email.com",
38
+ }
39
+ ];
40
+
41
+
42
+ # Table
43
+
44
+ Simple table based on JSON data object.
45
+
46
+ <div class="component-preview">
47
+ <Table data={tableData}></Table>
48
+ </div>
49
+
50
+ ## Code
51
+
52
+ ```ts
53
+ const tableData = [
54
+ {
55
+ id: 1,
56
+ name: "Lorem Ipsum",
57
+ email: "lorem@email.com",
58
+ },
59
+ {
60
+ id: 2,
61
+ name: "Chuck Norris",
62
+ email: "ipsum@email.com",
63
+ },
64
+ {
65
+ id: 3,
66
+ name: "Ipsum Lorem",
67
+ email: "lorem@email.com",
68
+ }
69
+ ];
70
+
71
+ ```
72
+
73
+ ```html
74
+ <!-- Astro -->
75
+ <Table data={tableData} />
76
+
77
+ <!-- Vue -->
78
+ <Table :data="tableData" />
79
+ ```
80
+
81
+
82
+
83
+ # Table
84
+
85
+ <div class="component-preview">
86
+ <Table data={tableDataSecondary} />
87
+ </div>
88
+
89
+ ## Code
90
+
91
+ ```ts
92
+ const tableDataSecondary = [
93
+ {
94
+ name: "Lorem Ipsum",
95
+ email: "lorem@email.com",
96
+ },
97
+ {
98
+ name: "Chuck Norris",
99
+ email: "ipsum@email.com",
100
+ },
101
+ {
102
+ name: "Ipsum Lorem",
103
+ email: "lorem@email.com",
104
+ }
105
+ ];
106
+
107
+
108
+ <Table data={tableDataSecondary} />
109
109
  ```
@@ -1,10 +1,10 @@
1
- ---
2
- layout: ../../layouts/MainLayout.astro
3
- ---
4
-
5
- import MainColors from '../../components/MainColors.vue';
6
-
7
- <h1>Colors</h1>
8
- <p>Base colors.</p>
9
-
10
- <MainColors class="mt-8" />
1
+ ---
2
+ layout: ../../layouts/MainLayout.astro
3
+ ---
4
+
5
+ import MainColors from '../../components/MainColors.vue';
6
+
7
+ <h1>Colors</h1>
8
+ <p>Base colors.</p>
9
+
10
+ <MainColors class="mt-8" />
@@ -1,89 +1,89 @@
1
- ---
2
- layout: ../../layouts/MainLayout.astro
3
- ---
4
-
5
- # Grid
6
-
7
- Grid templates for articles, special sections, call to action etc.
8
-
9
-
10
- ## No more container:
11
- Template inspired by [Kevin Powell](https://www.youtube.com/kevinpowell)
12
- <div class="component-preview" style="display: block">
13
- <main class="flow content-grid text-xl bg-white pt-8">
14
- <h1 class='article-title'>Content without containers</h1>
15
- <p>It can be useful to have a system in place that's easy to go full-width, or have a "breakout" section for calls to action or blockquotes, or other things you want to call attention to.</p>
16
- <p class="breakout">Traditionally, we use a container or wrapper, which we need to close, and then open again, but thanks to grid, and with the recent additions of subgrid to all the evergreen browsers, maybe there's a better way to do things?</p>
17
- <p>It has it's downsides, as the code is more complex, and it's not as obvious how it works when we're so used to the old pattern.</p>
18
- <p>That said, we shouldn't limit ourselves just because we are used to working in a specific way.</p>
19
-
20
- <section class="full-width bg-primary text-white section-padding flow">
21
- <h2>This section has a different background-color</h2>
22
- <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quibusdam voluptates vitae reiciendis corporis molestias aspernatur vero eaque obcaecati neque dolores veritatis repudiandae voluptas consectetur voluptatum nobis maiores doloremque, nostrum deleniti!</p>
23
- <p>Aspernatur, dignissimos. Quaerat corporis, itaque porro dolore ea a placeat molestiae nihil voluptatem veniam facere, corrupti in vel, voluptates enim soluta sint dolores? Quaerat laboriosam iusto voluptatem accusantium ex alias?</p>
24
- </section>
25
-
26
- <h2>Back to normal</h2>
27
- <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Architecto nam at praesentium cumque rem molestia searum officia neque nemo sunt laboriosam vero eum optio, saepe dolorem exercitationem quod asperiores iste?</p>
28
- <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
29
- <p>Adipisicing non est incididunt ipsum eiusmod enim ullamco esse incididunt nisi id excepteur. Aliquip veniam occaecat sunt do ullamco voluptate. Incididunt dolore deserunt tempor eu amet ut reprehenderit ex ipsum. Irure minim commodo irure elit. Dolore culpa in est veniam labore voluptate ut ut Lorem aute culpa ullamco incididunt. Ipsum adipisicing irure do ut deserunt deserunt.</p>
30
- <p class='breakout call-to-action border-l-4 border-blue-400 text-2xl font-headlight'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
31
- <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
32
- <p class='breakout call-to-action bg-gray-200 text-xl font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well.</p>
33
- <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
34
- <p>Officia est non in non veniam in enim do adipisicing aliquip. Irure non duis reprehenderit fugiat sunt dolore excepteur nulla labore commodo occaecat fugiat non. Voluptate non dolore ullamco ullamco veniam est sint aute irure labore. Minim mollit sunt qui amet reprehenderit fugiat anim et duis tempor velit. Aute excepteur cupidatat voluptate duis nisi dolore nulla occaecat adipisicing minim est culpa. Aute eiusmod labore ex minim eu laborum velit proident adipisicing anim nulla sunt.Eu magna mollit cupidatat occaecat aute sunt aliqua nulla cillum in consequat ipsum sunt. Aliquip deserunt nulla sit aliquip est elit id. Amet eu labore id ad laboris voluptate consectetur sunt elit mollit. Culpa irure velit velit ipsum quis dolore esse dolor excepteur Lorem.</p>
35
- <p class='breakout call-to-action border-2 border-blue-darker font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
36
- <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
37
- <h3>Images as full-bleed works too</h3>
38
- <img class='full-width' src="https://unsplash.it/1600/400" alt="" />
39
- <p>Magnam eius beatae similique officiis quaerat. Natus est dicta temporibus a. Aut mollitia magnam quo. Sequi repellendus voluptas quia suscipit autem iste! Accusamus, delectus beatae inventore obcaecati ut totam ab.</p>
40
-
41
- <p>Eligendi ea maiores asperiores sed nobis qui, animi sint? Ratione laboriosam cum quasi repudiandae in, necessitatibus veritatis nihil perferendis maiores consequuntur magnam perspiciatis minus est quibusdam, voluptate voluptas natus corporis.</p>
42
- <p>Vero, facilis! Animi quam dolor a sunt, quae placeat perspiciatis quia odio quisquam at tempore dolorem eum ratione vel minima eaque repellendus dolores architecto necessitatibus velit reprehenderit amet et rem.</p>
43
- <p>Quos, animi expedita facere iste soluta accusamus et facilis, temporibus nemo praesentium iusto aliquam
44
- voluptas magnam pariatur blanditiis optio, corporis laborum quas? Quis libero aperiam est fuga veniam eos tenetur?</p>
45
- <section class="bg-primary text-white full-width">
46
- <h3>content</h3>
47
- </section>
48
- </main>
49
- </div>
50
-
51
- ### Code
52
-
53
- ```html
54
- <main class="flow content-grid text-xl bg-white pt-8">
55
- <h1 class='article-title'>Content without containers</h1>
56
- <p>It can be useful to have a system in place that's easy to go full-width, or have a "breakout" section for calls to action or blockquotes, or other things you want to call attention to.</p>
57
- <p class="breakout">Traditionally, we use a container or wrapper, which we need to close, and then open again, but thanks to grid, and with the recent additions of subgrid to all the evergreen browsers, maybe there's a better way to do things?</p>
58
- <p>It has it's downsides, as the code is more complex, and it's not as obvious how it works when we're so used to the old pattern.</p>
59
- <p>That said, we shouldn't limit ourselves just because we are used to working in a specific way.</p>
60
-
61
- <section class="full-width bg-primary text-white section-padding flow">
62
- <h2>This section has a different background-color</h2>
63
- <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quibusdam voluptates vitae reiciendis corporis molestias aspernatur vero eaque obcaecati neque dolores veritatis repudiandae voluptas consectetur voluptatum nobis maiores doloremque, nostrum deleniti!</p>
64
- <p>Aspernatur, dignissimos. Quaerat corporis, itaque porro dolore ea a placeat molestiae nihil voluptatem veniam facere, corrupti in vel, voluptates enim soluta sint dolores? Quaerat laboriosam iusto voluptatem accusantium ex alias?</p>
65
- </section>
66
-
67
- <h2>Back to normal</h2>
68
- <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Architecto nam at praesentium cumque rem molestia searum officia neque nemo sunt laboriosam vero eum optio, saepe dolorem exercitationem quod asperiores iste?</p>
69
- <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
70
- <p>Adipisicing non est incididunt ipsum eiusmod enim ullamco esse incididunt nisi id excepteur. Aliquip veniam occaecat sunt do ullamco voluptate. Incididunt dolore deserunt tempor eu amet ut reprehenderit ex ipsum. Irure minim commodo irure elit. Dolore culpa in est veniam labore voluptate ut ut Lorem aute culpa ullamco incididunt. Ipsum adipisicing irure do ut deserunt deserunt.</p>
71
- <p class='breakout call-to-action border-l-4 border-blue-400 text-2xl font-headlight'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
72
- <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
73
- <p class='breakout call-to-action bg-gray-200 text-xl font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well.</p>
74
- <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
75
- <p>Officia est non in non veniam in enim do adipisicing aliquip. Irure non duis reprehenderit fugiat sunt dolore excepteur nulla labore commodo occaecat fugiat non. Voluptate non dolore ullamco ullamco veniam est sint aute irure labore. Minim mollit sunt qui amet reprehenderit fugiat anim et duis tempor velit. Aute excepteur cupidatat voluptate duis nisi dolore nulla occaecat adipisicing minim est culpa. Aute eiusmod labore ex minim eu laborum velit proident adipisicing anim nulla sunt.Eu magna mollit cupidatat occaecat aute sunt aliqua nulla cillum in consequat ipsum sunt. Aliquip deserunt nulla sit aliquip est elit id. Amet eu labore id ad laboris voluptate consectetur sunt elit mollit. Culpa irure velit velit ipsum quis dolore esse dolor excepteur Lorem.</p>
76
- <p class='breakout call-to-action border-2 border-blue-darker font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
77
- <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
78
- <h3>Images as full-bleed works too</h3>
79
- <img class='full-width' src="https://unsplash.it/1600/400" alt="" />
80
- <p>Magnam eius beatae similique officiis quaerat. Natus est dicta temporibus a. Aut mollitia magnam quo. Sequi repellendus voluptas quia suscipit autem iste! Accusamus, delectus beatae inventore obcaecati ut totam ab.</p>
81
-
82
- <p>Eligendi ea maiores asperiores sed nobis qui, animi sint? Ratione laboriosam cum quasi repudiandae in, necessitatibus veritatis nihil perferendis maiores consequuntur magnam perspiciatis minus est quibusdam, voluptate voluptas natus corporis.</p>
83
- <p>Vero, facilis! Animi quam dolor a sunt, quae placeat perspiciatis quia odio quisquam at tempore dolorem eum ratione vel minima eaque repellendus dolores architecto necessitatibus velit reprehenderit amet et rem.</p>
84
- <p>Quos, animi expedita facere iste soluta accusamus et facilis, temporibus nemo praesentium iusto aliquam voluptas magnam pariatur blanditiis optio, corporis laborum quas? Quis libero aperiam est fuga veniam eos tenetur?</p>
85
- <section class="bg-primary text-white full-width">
86
- <h3>content</h3>
87
- </section>
88
- </main>
89
- ```
1
+ ---
2
+ layout: ../../layouts/MainLayout.astro
3
+ ---
4
+
5
+ # Grid
6
+
7
+ Grid templates for articles, special sections, call to action etc.
8
+
9
+
10
+ ## No more container:
11
+ Template inspired by [Kevin Powell](https://www.youtube.com/kevinpowell)
12
+ <div class="component-preview" style="display: block">
13
+ <main class="flow content-grid text-xl bg-white pt-8">
14
+ <h1 class='article-title'>Content without containers</h1>
15
+ <p>It can be useful to have a system in place that's easy to go full-width, or have a "breakout" section for calls to action or blockquotes, or other things you want to call attention to.</p>
16
+ <p class="breakout">Traditionally, we use a container or wrapper, which we need to close, and then open again, but thanks to grid, and with the recent additions of subgrid to all the evergreen browsers, maybe there's a better way to do things?</p>
17
+ <p>It has it's downsides, as the code is more complex, and it's not as obvious how it works when we're so used to the old pattern.</p>
18
+ <p>That said, we shouldn't limit ourselves just because we are used to working in a specific way.</p>
19
+
20
+ <section class="full-width bg-primary text-white section-padding flow">
21
+ <h2>This section has a different background-color</h2>
22
+ <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quibusdam voluptates vitae reiciendis corporis molestias aspernatur vero eaque obcaecati neque dolores veritatis repudiandae voluptas consectetur voluptatum nobis maiores doloremque, nostrum deleniti!</p>
23
+ <p>Aspernatur, dignissimos. Quaerat corporis, itaque porro dolore ea a placeat molestiae nihil voluptatem veniam facere, corrupti in vel, voluptates enim soluta sint dolores? Quaerat laboriosam iusto voluptatem accusantium ex alias?</p>
24
+ </section>
25
+
26
+ <h2>Back to normal</h2>
27
+ <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Architecto nam at praesentium cumque rem molestia searum officia neque nemo sunt laboriosam vero eum optio, saepe dolorem exercitationem quod asperiores iste?</p>
28
+ <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
29
+ <p>Adipisicing non est incididunt ipsum eiusmod enim ullamco esse incididunt nisi id excepteur. Aliquip veniam occaecat sunt do ullamco voluptate. Incididunt dolore deserunt tempor eu amet ut reprehenderit ex ipsum. Irure minim commodo irure elit. Dolore culpa in est veniam labore voluptate ut ut Lorem aute culpa ullamco incididunt. Ipsum adipisicing irure do ut deserunt deserunt.</p>
30
+ <p class='breakout call-to-action border-l-4 border-blue-400 text-2xl font-headlight'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
31
+ <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
32
+ <p class='breakout call-to-action bg-gray-200 text-xl font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well.</p>
33
+ <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
34
+ <p>Officia est non in non veniam in enim do adipisicing aliquip. Irure non duis reprehenderit fugiat sunt dolore excepteur nulla labore commodo occaecat fugiat non. Voluptate non dolore ullamco ullamco veniam est sint aute irure labore. Minim mollit sunt qui amet reprehenderit fugiat anim et duis tempor velit. Aute excepteur cupidatat voluptate duis nisi dolore nulla occaecat adipisicing minim est culpa. Aute eiusmod labore ex minim eu laborum velit proident adipisicing anim nulla sunt.Eu magna mollit cupidatat occaecat aute sunt aliqua nulla cillum in consequat ipsum sunt. Aliquip deserunt nulla sit aliquip est elit id. Amet eu labore id ad laboris voluptate consectetur sunt elit mollit. Culpa irure velit velit ipsum quis dolore esse dolor excepteur Lorem.</p>
35
+ <p class='breakout call-to-action border-2 border-blue-darker font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
36
+ <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
37
+ <h3>Images as full-bleed works too</h3>
38
+ <img class='full-width' src="https://unsplash.it/1600/400" alt="" />
39
+ <p>Magnam eius beatae similique officiis quaerat. Natus est dicta temporibus a. Aut mollitia magnam quo. Sequi repellendus voluptas quia suscipit autem iste! Accusamus, delectus beatae inventore obcaecati ut totam ab.</p>
40
+
41
+ <p>Eligendi ea maiores asperiores sed nobis qui, animi sint? Ratione laboriosam cum quasi repudiandae in, necessitatibus veritatis nihil perferendis maiores consequuntur magnam perspiciatis minus est quibusdam, voluptate voluptas natus corporis.</p>
42
+ <p>Vero, facilis! Animi quam dolor a sunt, quae placeat perspiciatis quia odio quisquam at tempore dolorem eum ratione vel minima eaque repellendus dolores architecto necessitatibus velit reprehenderit amet et rem.</p>
43
+ <p>Quos, animi expedita facere iste soluta accusamus et facilis, temporibus nemo praesentium iusto aliquam
44
+ voluptas magnam pariatur blanditiis optio, corporis laborum quas? Quis libero aperiam est fuga veniam eos tenetur?</p>
45
+ <section class="bg-primary text-white full-width">
46
+ <h3>content</h3>
47
+ </section>
48
+ </main>
49
+ </div>
50
+
51
+ ### Code
52
+
53
+ ```html
54
+ <main class="flow content-grid text-xl bg-white pt-8">
55
+ <h1 class='article-title'>Content without containers</h1>
56
+ <p>It can be useful to have a system in place that's easy to go full-width, or have a "breakout" section for calls to action or blockquotes, or other things you want to call attention to.</p>
57
+ <p class="breakout">Traditionally, we use a container or wrapper, which we need to close, and then open again, but thanks to grid, and with the recent additions of subgrid to all the evergreen browsers, maybe there's a better way to do things?</p>
58
+ <p>It has it's downsides, as the code is more complex, and it's not as obvious how it works when we're so used to the old pattern.</p>
59
+ <p>That said, we shouldn't limit ourselves just because we are used to working in a specific way.</p>
60
+
61
+ <section class="full-width bg-primary text-white section-padding flow">
62
+ <h2>This section has a different background-color</h2>
63
+ <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quibusdam voluptates vitae reiciendis corporis molestias aspernatur vero eaque obcaecati neque dolores veritatis repudiandae voluptas consectetur voluptatum nobis maiores doloremque, nostrum deleniti!</p>
64
+ <p>Aspernatur, dignissimos. Quaerat corporis, itaque porro dolore ea a placeat molestiae nihil voluptatem veniam facere, corrupti in vel, voluptates enim soluta sint dolores? Quaerat laboriosam iusto voluptatem accusantium ex alias?</p>
65
+ </section>
66
+
67
+ <h2>Back to normal</h2>
68
+ <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Architecto nam at praesentium cumque rem molestia searum officia neque nemo sunt laboriosam vero eum optio, saepe dolorem exercitationem quod asperiores iste?</p>
69
+ <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
70
+ <p>Adipisicing non est incididunt ipsum eiusmod enim ullamco esse incididunt nisi id excepteur. Aliquip veniam occaecat sunt do ullamco voluptate. Incididunt dolore deserunt tempor eu amet ut reprehenderit ex ipsum. Irure minim commodo irure elit. Dolore culpa in est veniam labore voluptate ut ut Lorem aute culpa ullamco incididunt. Ipsum adipisicing irure do ut deserunt deserunt.</p>
71
+ <p class='breakout call-to-action border-l-4 border-blue-400 text-2xl font-headlight'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
72
+ <p>Dolore velit anim occaecat tempor duis minim consectetur eu in aute esse reprehenderit aliquip. Pariatur reprehenderit et velit Lorem. Laboris minim consectetur Lorem voluptate sint nisi eu esse occaecat adipisicing mollit Lorem consequat ullamco. Dolore commodo officia deserunt consectetur ad incididunt nisi laborum duis.</p>
73
+ <p class='breakout call-to-action bg-gray-200 text-xl font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well.</p>
74
+ <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
75
+ <p>Officia est non in non veniam in enim do adipisicing aliquip. Irure non duis reprehenderit fugiat sunt dolore excepteur nulla labore commodo occaecat fugiat non. Voluptate non dolore ullamco ullamco veniam est sint aute irure labore. Minim mollit sunt qui amet reprehenderit fugiat anim et duis tempor velit. Aute excepteur cupidatat voluptate duis nisi dolore nulla occaecat adipisicing minim est culpa. Aute eiusmod labore ex minim eu laborum velit proident adipisicing anim nulla sunt.Eu magna mollit cupidatat occaecat aute sunt aliqua nulla cillum in consequat ipsum sunt. Aliquip deserunt nulla sit aliquip est elit id. Amet eu labore id ad laboris voluptate consectetur sunt elit mollit. Culpa irure velit velit ipsum quis dolore esse dolor excepteur Lorem.</p>
76
+ <p class='breakout call-to-action border-2 border-blue-darker font-headregular'>Not sure why, but we could set things up if ever you wanted random text to be full-bleed without bothering with a div or anything on the outside of it as well</p>
77
+ <p>Error nulla doloribus ex, eius voluptates saepe, in quae ea nesciunt rem possimus obcaecati consequuntur deleniti. Tempore deleniti deserunt harum, distinctio, culpa atque numquam ducimus repellat fugit iusto eveniet velit.</p>
78
+ <h3>Images as full-bleed works too</h3>
79
+ <img class='full-width' src="https://unsplash.it/1600/400" alt="" />
80
+ <p>Magnam eius beatae similique officiis quaerat. Natus est dicta temporibus a. Aut mollitia magnam quo. Sequi repellendus voluptas quia suscipit autem iste! Accusamus, delectus beatae inventore obcaecati ut totam ab.</p>
81
+
82
+ <p>Eligendi ea maiores asperiores sed nobis qui, animi sint? Ratione laboriosam cum quasi repudiandae in, necessitatibus veritatis nihil perferendis maiores consequuntur magnam perspiciatis minus est quibusdam, voluptate voluptas natus corporis.</p>
83
+ <p>Vero, facilis! Animi quam dolor a sunt, quae placeat perspiciatis quia odio quisquam at tempore dolorem eum ratione vel minima eaque repellendus dolores architecto necessitatibus velit reprehenderit amet et rem.</p>
84
+ <p>Quos, animi expedita facere iste soluta accusamus et facilis, temporibus nemo praesentium iusto aliquam voluptas magnam pariatur blanditiis optio, corporis laborum quas? Quis libero aperiam est fuga veniam eos tenetur?</p>
85
+ <section class="bg-primary text-white full-width">
86
+ <h3>content</h3>
87
+ </section>
88
+ </main>
89
+ ```