@mirweb/mir-web-components 1.15.3 → 2.0.0

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 (184) hide show
  1. package/README.md +2 -2
  2. package/dist/assets/index-Cl4fzBs2.js +17 -0
  3. package/dist/assets/scss/globals.scss +231 -0
  4. package/dist/assets/scss/index.scss +4 -0
  5. package/dist/assets/scss/normalize.scss +393 -0
  6. package/dist/assets/scss/reset.scss +102 -0
  7. package/dist/assets/scss/variables.scss +95 -0
  8. package/dist/components/atoms/button/button.vue +81 -0
  9. package/dist/components/atoms/checkbox/checkbox.vue +125 -0
  10. package/dist/components/atoms/chip/chip.vue +55 -0
  11. package/dist/components/atoms/dropdown/dropdown.vue +490 -0
  12. package/dist/components/atoms/image/image.vue +42 -0
  13. package/dist/components/atoms/label/label.vue +52 -0
  14. package/dist/components/atoms/link/link.vue +166 -0
  15. package/dist/components/atoms/radio-button/radio-button.vue +110 -0
  16. package/dist/components/atoms/select/select.vue +116 -0
  17. package/dist/components/atoms/select-multiple/select-multiple.vue +210 -0
  18. package/dist/components/atoms/slider/slider.vue +322 -0
  19. package/dist/components/atoms/text-field/text-field.vue +273 -0
  20. package/dist/components/atoms/textarea/textarea.vue +179 -0
  21. package/dist/components/atoms/video/video.vue +98 -0
  22. package/dist/components/blocks/accordion/accordion.vue +222 -0
  23. package/dist/components/blocks/card-display/card-display.vue +125 -0
  24. package/dist/components/blocks/column-grid/column-grid.vue +201 -0
  25. package/dist/components/blocks/facts/facts.vue +156 -0
  26. package/dist/components/blocks/features/features.vue +176 -0
  27. package/dist/components/blocks/flashcards/flashcards.vue +212 -0
  28. package/dist/components/blocks/form-script/form-script.vue +172 -0
  29. package/dist/components/blocks/frontpage-hero/frontpage-hero.vue +214 -0
  30. package/dist/components/blocks/headline/headline.vue +93 -0
  31. package/dist/components/blocks/hero/hero.vue +173 -0
  32. package/dist/components/blocks/image/image.vue +93 -0
  33. package/dist/components/blocks/image-gallery/image-gallery.vue +289 -0
  34. package/dist/components/blocks/logo-wall/logo-wall.vue +125 -0
  35. package/dist/components/blocks/micro-stories/micro-stories.vue +316 -0
  36. package/dist/components/blocks/pallet-jack/pallet-jack.vue +440 -0
  37. package/dist/components/blocks/policy/policy.vue +106 -0
  38. package/dist/components/blocks/product-hero/product-hero.vue +140 -0
  39. package/dist/components/blocks/promo/promo.vue +403 -0
  40. package/dist/components/blocks/quote/quote.vue +127 -0
  41. package/dist/components/blocks/rich-text/rich-text-columns.vue +159 -0
  42. package/dist/components/blocks/rich-text/rich-text.vue +296 -0
  43. package/dist/components/blocks/timeline/timeline.vue +232 -0
  44. package/dist/components/blocks/vimeo/vimeo.vue +52 -0
  45. package/dist/components/index.ts +51 -0
  46. package/dist/components/molecules/address/address.vue +123 -0
  47. package/dist/components/molecules/bullet-list/bullet-list.vue +99 -0
  48. package/dist/components/molecules/card/card.vue +302 -0
  49. package/dist/components/molecules/column-card/column-card.vue +178 -0
  50. package/dist/components/molecules/event-card/event-card.vue +111 -0
  51. package/dist/components/molecules/flashcard/flashcard.vue +293 -0
  52. package/dist/components/molecules/modal/modal.vue +113 -0
  53. package/dist/components/molecules/text-card/text-card.vue +74 -0
  54. package/dist/components/organisms/404/404.vue +79 -0
  55. package/dist/components/organisms/filter/filter.vue +89 -0
  56. package/dist/components/organisms/footer/footer.vue +356 -0
  57. package/dist/components/organisms/header/header.vue +754 -0
  58. package/dist/components/organisms/language-switcher/language-switcher.vue +68 -0
  59. package/dist/components/organisms/pagination/pagination.vue +85 -0
  60. package/dist/components/organisms/search/search.vue +153 -0
  61. package/dist/components/templates/404-error-page.vue +0 -0
  62. package/dist/directives/clickOutside.ts +15 -0
  63. package/dist/fonts/OpenSans-Light.woff2 +0 -0
  64. package/dist/fonts/OpenSans-Medium.woff2 +0 -0
  65. package/dist/fonts/OpenSans-Regular.woff2 +0 -0
  66. package/dist/fonts/OpenSans-SemiBold.woff2 +0 -0
  67. package/dist/fonts/Oscine_Bd.woff2 +0 -0
  68. package/dist/fonts/Oscine_Lt.woff2 +0 -0
  69. package/dist/fonts/Oscine_Rg.woff2 +0 -0
  70. package/dist/index.html +12 -0
  71. package/dist/main.css +1 -0
  72. package/package.json +8 -10
  73. package/dist/components/atoms/button/button.vue.d.ts +0 -5
  74. package/dist/components/atoms/button/button.vue.d.ts.map +0 -1
  75. package/dist/components/atoms/checkbox/checkbox.vue.d.ts +0 -5
  76. package/dist/components/atoms/checkbox/checkbox.vue.d.ts.map +0 -1
  77. package/dist/components/atoms/chip/chip.vue.d.ts +0 -5
  78. package/dist/components/atoms/chip/chip.vue.d.ts.map +0 -1
  79. package/dist/components/atoms/dropdown/dropdown.vue.d.ts +0 -5
  80. package/dist/components/atoms/dropdown/dropdown.vue.d.ts.map +0 -1
  81. package/dist/components/atoms/image/image.vue.d.ts +0 -5
  82. package/dist/components/atoms/image/image.vue.d.ts.map +0 -1
  83. package/dist/components/atoms/label/label.vue.d.ts +0 -5
  84. package/dist/components/atoms/label/label.vue.d.ts.map +0 -1
  85. package/dist/components/atoms/link/link.vue.d.ts +0 -5
  86. package/dist/components/atoms/link/link.vue.d.ts.map +0 -1
  87. package/dist/components/atoms/radio-button/radio-button.vue.d.ts +0 -5
  88. package/dist/components/atoms/radio-button/radio-button.vue.d.ts.map +0 -1
  89. package/dist/components/atoms/select/select.vue.d.ts +0 -5
  90. package/dist/components/atoms/select/select.vue.d.ts.map +0 -1
  91. package/dist/components/atoms/select-multiple/select-multiple.vue.d.ts +0 -5
  92. package/dist/components/atoms/select-multiple/select-multiple.vue.d.ts.map +0 -1
  93. package/dist/components/atoms/slider/slider.vue.d.ts +0 -5
  94. package/dist/components/atoms/slider/slider.vue.d.ts.map +0 -1
  95. package/dist/components/atoms/text-field/text-field.vue.d.ts +0 -5
  96. package/dist/components/atoms/text-field/text-field.vue.d.ts.map +0 -1
  97. package/dist/components/atoms/textarea/textarea.vue.d.ts +0 -5
  98. package/dist/components/atoms/textarea/textarea.vue.d.ts.map +0 -1
  99. package/dist/components/atoms/video/video.vue.d.ts +0 -5
  100. package/dist/components/atoms/video/video.vue.d.ts.map +0 -1
  101. package/dist/components/blocks/accordion/accordion.vue.d.ts +0 -5
  102. package/dist/components/blocks/accordion/accordion.vue.d.ts.map +0 -1
  103. package/dist/components/blocks/card-display/card-display.vue.d.ts +0 -6
  104. package/dist/components/blocks/card-display/card-display.vue.d.ts.map +0 -1
  105. package/dist/components/blocks/column-grid/column-grid.vue.d.ts +0 -5
  106. package/dist/components/blocks/column-grid/column-grid.vue.d.ts.map +0 -1
  107. package/dist/components/blocks/facts/facts.vue.d.ts +0 -5
  108. package/dist/components/blocks/facts/facts.vue.d.ts.map +0 -1
  109. package/dist/components/blocks/features/features.vue.d.ts +0 -5
  110. package/dist/components/blocks/features/features.vue.d.ts.map +0 -1
  111. package/dist/components/blocks/flashcards/flashcards.vue.d.ts +0 -5
  112. package/dist/components/blocks/flashcards/flashcards.vue.d.ts.map +0 -1
  113. package/dist/components/blocks/form-script/form-script.vue.d.ts +0 -5
  114. package/dist/components/blocks/form-script/form-script.vue.d.ts.map +0 -1
  115. package/dist/components/blocks/frontpage-hero/frontpage-hero.vue.d.ts +0 -5
  116. package/dist/components/blocks/frontpage-hero/frontpage-hero.vue.d.ts.map +0 -1
  117. package/dist/components/blocks/headline/headline.vue.d.ts +0 -5
  118. package/dist/components/blocks/headline/headline.vue.d.ts.map +0 -1
  119. package/dist/components/blocks/hero/hero.vue.d.ts +0 -5
  120. package/dist/components/blocks/hero/hero.vue.d.ts.map +0 -1
  121. package/dist/components/blocks/image/image.vue.d.ts +0 -5
  122. package/dist/components/blocks/image/image.vue.d.ts.map +0 -1
  123. package/dist/components/blocks/image-gallery/image-gallery.vue.d.ts +0 -5
  124. package/dist/components/blocks/image-gallery/image-gallery.vue.d.ts.map +0 -1
  125. package/dist/components/blocks/logo-wall/logo-wall.vue.d.ts +0 -5
  126. package/dist/components/blocks/logo-wall/logo-wall.vue.d.ts.map +0 -1
  127. package/dist/components/blocks/micro-stories/micro-stories.vue.d.ts +0 -5
  128. package/dist/components/blocks/micro-stories/micro-stories.vue.d.ts.map +0 -1
  129. package/dist/components/blocks/pallet-jack/pallet-jack.vue.d.ts +0 -5
  130. package/dist/components/blocks/pallet-jack/pallet-jack.vue.d.ts.map +0 -1
  131. package/dist/components/blocks/policy/policy.vue.d.ts +0 -4
  132. package/dist/components/blocks/policy/policy.vue.d.ts.map +0 -1
  133. package/dist/components/blocks/product-hero/product-hero.vue.d.ts +0 -5
  134. package/dist/components/blocks/product-hero/product-hero.vue.d.ts.map +0 -1
  135. package/dist/components/blocks/promo/promo.vue.d.ts +0 -5
  136. package/dist/components/blocks/promo/promo.vue.d.ts.map +0 -1
  137. package/dist/components/blocks/quote/quote.vue.d.ts +0 -5
  138. package/dist/components/blocks/quote/quote.vue.d.ts.map +0 -1
  139. package/dist/components/blocks/rich-text/rich-text-columns.vue.d.ts +0 -4
  140. package/dist/components/blocks/rich-text/rich-text-columns.vue.d.ts.map +0 -1
  141. package/dist/components/blocks/rich-text/rich-text.vue.d.ts +0 -5
  142. package/dist/components/blocks/rich-text/rich-text.vue.d.ts.map +0 -1
  143. package/dist/components/blocks/timeline/timeline.vue.d.ts +0 -5
  144. package/dist/components/blocks/timeline/timeline.vue.d.ts.map +0 -1
  145. package/dist/components/blocks/vimeo/vimeo.vue.d.ts +0 -5
  146. package/dist/components/blocks/vimeo/vimeo.vue.d.ts.map +0 -1
  147. package/dist/components/index.d.ts +0 -51
  148. package/dist/components/main.d.ts +0 -59
  149. package/dist/components/molecules/address/address.vue.d.ts +0 -5
  150. package/dist/components/molecules/address/address.vue.d.ts.map +0 -1
  151. package/dist/components/molecules/bullet-list/bullet-list.vue.d.ts +0 -5
  152. package/dist/components/molecules/bullet-list/bullet-list.vue.d.ts.map +0 -1
  153. package/dist/components/molecules/card/card.vue.d.ts +0 -5
  154. package/dist/components/molecules/card/card.vue.d.ts.map +0 -1
  155. package/dist/components/molecules/column-card/column-card.vue.d.ts +0 -5
  156. package/dist/components/molecules/column-card/column-card.vue.d.ts.map +0 -1
  157. package/dist/components/molecules/event-card/event-card.vue.d.ts +0 -5
  158. package/dist/components/molecules/event-card/event-card.vue.d.ts.map +0 -1
  159. package/dist/components/molecules/flashcard/flashcard.vue.d.ts +0 -5
  160. package/dist/components/molecules/flashcard/flashcard.vue.d.ts.map +0 -1
  161. package/dist/components/molecules/modal/modal.vue.d.ts +0 -5
  162. package/dist/components/molecules/modal/modal.vue.d.ts.map +0 -1
  163. package/dist/components/molecules/text-card/text-card.vue.d.ts +0 -5
  164. package/dist/components/molecules/text-card/text-card.vue.d.ts.map +0 -1
  165. package/dist/components/organisms/404/404.vue.d.ts +0 -5
  166. package/dist/components/organisms/404/404.vue.d.ts.map +0 -1
  167. package/dist/components/organisms/filter/filter.vue.d.ts +0 -5
  168. package/dist/components/organisms/filter/filter.vue.d.ts.map +0 -1
  169. package/dist/components/organisms/footer/footer.vue.d.ts +0 -5
  170. package/dist/components/organisms/footer/footer.vue.d.ts.map +0 -1
  171. package/dist/components/organisms/header/header.vue.d.ts +0 -6
  172. package/dist/components/organisms/header/header.vue.d.ts.map +0 -1
  173. package/dist/components/organisms/language-switcher/language-switcher.vue.d.ts +0 -5
  174. package/dist/components/organisms/language-switcher/language-switcher.vue.d.ts.map +0 -1
  175. package/dist/components/organisms/pagination/pagination.vue.d.ts +0 -5
  176. package/dist/components/organisms/pagination/pagination.vue.d.ts.map +0 -1
  177. package/dist/components/organisms/search/search.vue.d.ts +0 -4
  178. package/dist/components/organisms/search/search.vue.d.ts.map +0 -1
  179. package/dist/directives/clickOutside.d.ts +0 -3
  180. package/dist/main.d.ts +0 -1
  181. package/dist/mir-web-components.cjs.js +0 -1
  182. package/dist/mir-web-components.css +0 -1
  183. package/dist/mir-web-components.es.js +0 -3187
  184. package/dist/mir-web-components.umd.js +0 -2
@@ -0,0 +1,316 @@
1
+ <template>
2
+ <div :class="['micro-stories__wrapper', selectedBgColor]">
3
+ <div class="micro-stories__top">
4
+ <div v-if="headline" class="micro-stories__headline">
5
+ <h2>{{ headline }}</h2>
6
+ </div>
7
+ <div v-if="body" class="micro-stories__body">
8
+ <slot name="micro-stories-body" />
9
+ </div>
10
+ </div>
11
+ <div class="micro-stories__splide">
12
+ <slot name="micro-stories-slides"></slot>
13
+ </div>
14
+ <slot name="micro-stories-controls"></slot>
15
+ </div>
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import { computed } from "vue";
20
+
21
+ const BGCOLORS = {
22
+ white: "micro-stories__wrapper--white",
23
+ blue: "micro-stories__wrapper--blue",
24
+ dark: "micro-stories__wrapper--dark",
25
+ } as const;
26
+
27
+ type BgColor = keyof typeof BGCOLORS;
28
+
29
+ export type Props = {
30
+ bgColor: BgColor;
31
+ headline: string;
32
+ body: string;
33
+ };
34
+
35
+ const selectedBgColor = computed(() => BGCOLORS[props.bgColor]);
36
+
37
+ const props = withDefaults(defineProps<Props>(), {
38
+ bgColor: "blue",
39
+ headline: "",
40
+ body: "",
41
+ });
42
+ </script>
43
+
44
+ <style lang="scss">
45
+ @use "../../../assets/scss/variables.scss" as *;
46
+
47
+ .micro-stories {
48
+ &__wrapper {
49
+ width: 100%;
50
+ padding: $padding-mobile;
51
+ margin: $extra-margin-mobile-bg;
52
+ @include md {
53
+ padding: $padding-desktop;
54
+ margin: $extra-margin-desktop-bg;
55
+ }
56
+
57
+ &--white {
58
+ background-color: $white;
59
+
60
+ video {
61
+ outline: 6px solid $white;
62
+ outline-offset: -5px;
63
+ }
64
+ }
65
+
66
+ &--blue {
67
+ background-color: $blue-000;
68
+
69
+ video {
70
+ outline: 6px solid $blue-000;
71
+ outline-offset: -5px;
72
+ }
73
+ }
74
+
75
+ &--dark {
76
+ color: $white;
77
+ background-color: $blue-900;
78
+
79
+ video {
80
+ outline: 6px solid $blue-900;
81
+ outline-offset: -5px;
82
+ }
83
+
84
+ .micro-stories__headline {
85
+ color: $white;
86
+ :slotted(h2) {
87
+ color: $white;
88
+ }
89
+ }
90
+ .micro-stories__body {
91
+ color: $white;
92
+ :slotted(p) {
93
+ color: $white;
94
+ }
95
+ p {
96
+ color: $white;
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ &__splide {
103
+ max-width: $max-width;
104
+ margin: 0 auto;
105
+ }
106
+
107
+ &__content {
108
+ max-width: $max-width;
109
+ margin: 0 auto;
110
+ display: grid;
111
+ gap: 30px;
112
+ user-select: text;
113
+
114
+ @include md {
115
+ padding: 30px 0px;
116
+ grid-template-columns: 1fr 1fr;
117
+ grid-template-rows: auto;
118
+ }
119
+
120
+ &--reverse {
121
+ .micro-stories__media {
122
+ order: 1;
123
+
124
+ @include md {
125
+ order: 2;
126
+ }
127
+ }
128
+
129
+ .micro-stories__body {
130
+ order: 2;
131
+
132
+ @include md {
133
+ order: 1;
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ &__media {
140
+ order: 1;
141
+ margin: 0 auto;
142
+
143
+ @include md {
144
+ width: 574px;
145
+ }
146
+
147
+ &--image {
148
+ width: 100%;
149
+ height: 100%;
150
+
151
+ &.contain {
152
+ img {
153
+ object-fit: contain;
154
+ }
155
+ }
156
+
157
+ &.cover {
158
+ img {
159
+ object-fit: cover;
160
+ }
161
+ }
162
+
163
+ img {
164
+ aspect-ratio: 16 / 9;
165
+
166
+ @include md {
167
+ height: 100%;
168
+ width: 100%;
169
+ }
170
+ }
171
+ }
172
+
173
+ &--video {
174
+ width: 100%;
175
+ height: 100%;
176
+
177
+ video {
178
+ width: 100%;
179
+ height: 100%;
180
+ }
181
+ }
182
+ }
183
+
184
+ &__body {
185
+ order: 2;
186
+
187
+ p {
188
+ padding-bottom: 1rem;
189
+
190
+ a {
191
+ color: $blue-600;
192
+ text-decoration: 0.3px underline;
193
+ font-weight: 500;
194
+
195
+ &:hover {
196
+ color: $blue-800;
197
+ transition: $transition-color;
198
+ }
199
+ }
200
+ }
201
+
202
+ b {
203
+ font-weight: 600;
204
+ }
205
+
206
+ ol {
207
+ padding-left: 1rem;
208
+ list-style-type: decimal;
209
+ font-family: $font-opensans;
210
+ font-weight: 300;
211
+
212
+ li {
213
+ margin: 5px 0;
214
+ p {
215
+ padding-bottom: 0px;
216
+ }
217
+ }
218
+ }
219
+
220
+ ul {
221
+ list-style-type: none;
222
+ font-family: $font-opensans;
223
+ font-weight: 300;
224
+ padding-left: 1rem;
225
+
226
+ li {
227
+ list-style: none;
228
+ position: relative;
229
+ left: 0;
230
+ margin: 5px 0;
231
+
232
+ p {
233
+ padding-bottom: 0px;
234
+ }
235
+ }
236
+
237
+ li::before {
238
+ content: "\2022";
239
+ position: absolute;
240
+ left: -0.8em;
241
+ font-size: 1.1em;
242
+ }
243
+ }
244
+ }
245
+
246
+ &__headline {
247
+ margin-bottom: 15px;
248
+ }
249
+
250
+ &__controls {
251
+ max-width: $max-width;
252
+ margin: 0 auto;
253
+ padding: 0px 0px 30px 0px;
254
+ order: 3;
255
+ grid-column: 1 / -1;
256
+ display: flex;
257
+ flex-direction: row;
258
+ justify-content: center;
259
+ align-items: center;
260
+ gap: 30px;
261
+
262
+ @include md {
263
+ padding: 0px 0px 30px 0px;
264
+ }
265
+ }
266
+
267
+ &__pagination {
268
+ display: flex;
269
+ gap: 15px;
270
+ width: 100%;
271
+
272
+ .step {
273
+ cursor: pointer;
274
+ flex-grow: 1;
275
+ height: 3px;
276
+ border-radius: $border-radius;
277
+ background-color: $blue-300;
278
+ transition: $transition-background-color;
279
+ position: relative;
280
+
281
+ &.active {
282
+ background-color: $blue-600;
283
+ }
284
+
285
+ &:after {
286
+ content: "";
287
+ position: absolute;
288
+ top: -10px;
289
+ bottom: -10px;
290
+ left: -10px;
291
+ right: -10px;
292
+ }
293
+ }
294
+ }
295
+
296
+ &__buttons {
297
+ display: flex;
298
+ gap: 15px;
299
+ }
300
+
301
+ &__top {
302
+ max-width: $max-width;
303
+ margin: 0 auto;
304
+
305
+ .micro-stories__headline {
306
+ margin-bottom: 30px;
307
+ font-weight: 300;
308
+ }
309
+
310
+ .micro-stories__body {
311
+ margin-bottom: 60px;
312
+ max-width: 579px;
313
+ }
314
+ }
315
+ }
316
+ </style>