@geckou/ui-vue 0.3.0 → 0.4.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 (145) hide show
  1. package/README.md +8 -1
  2. package/dist/components/ArticleList/Card/Artistic.vue.d.ts +10 -0
  3. package/dist/components/ArticleList/Card/Entertainment.vue.d.ts +10 -0
  4. package/dist/components/ArticleList/Card/Gallery.vue.d.ts +10 -0
  5. package/dist/components/ArticleList/Card/Grid.vue.d.ts +11 -0
  6. package/dist/components/ArticleList/Card/News.vue.d.ts +9 -0
  7. package/dist/components/ArticleList/Card/Rounded.vue.d.ts +10 -0
  8. package/dist/components/ArticleList/Card/Row.vue.d.ts +9 -0
  9. package/dist/components/ArticleList/Card/Simple.vue.d.ts +10 -0
  10. package/dist/components/ArticleList/Card/Standard.vue.d.ts +10 -0
  11. package/dist/components/ArticleList/Card/Tile.vue.d.ts +10 -0
  12. package/dist/components/ArticleList/GenericArticleList.vue.d.ts +11 -0
  13. package/dist/components/ArticleList/List/Artistic.vue.d.ts +8 -0
  14. package/dist/components/ArticleList/List/Entertainment.vue.d.ts +8 -0
  15. package/dist/components/ArticleList/List/Gallery.vue.d.ts +8 -0
  16. package/dist/components/ArticleList/List/Grid.vue.d.ts +11 -0
  17. package/dist/components/ArticleList/List/News.vue.d.ts +8 -0
  18. package/dist/components/ArticleList/List/Rounded.vue.d.ts +8 -0
  19. package/dist/components/ArticleList/List/Row.vue.d.ts +8 -0
  20. package/dist/components/ArticleList/List/Simple.vue.d.ts +8 -0
  21. package/dist/components/ArticleList/List/Standard.vue.d.ts +8 -0
  22. package/dist/components/ArticleList/List/Tile.vue.d.ts +8 -0
  23. package/dist/components/ArticleList/Parts/AuthorInfo.vue.d.ts +31 -0
  24. package/dist/components/ArticleList/Parts/CardContainer.vue.d.ts +20 -0
  25. package/dist/components/ArticleList/Parts/CardHeading.vue.d.ts +12 -0
  26. package/dist/components/ArticleList/Parts/CategoryList.vue.d.ts +19 -0
  27. package/dist/components/ArticleList/Parts/ExcerptText.vue.d.ts +12 -0
  28. package/dist/components/ArticleList/Parts/MetadataList.vue.d.ts +32 -0
  29. package/dist/components/ArticleList/Parts/NoImage.vue.d.ts +2 -0
  30. package/dist/components/ArticleList/Parts/PostedDate.vue.d.ts +14 -0
  31. package/dist/components/ArticleList/Parts/TagList.vue.d.ts +18 -0
  32. package/dist/components/ArticleList/Parts/ThumbnailImage.vue.d.ts +17 -0
  33. package/dist/components/BasicButton.vue.d.ts +26 -0
  34. package/dist/components/CheckBox.vue.d.ts +34 -0
  35. package/dist/components/CheckBoxes.vue.d.ts +18 -0
  36. package/dist/components/CheckButton.vue.d.ts +31 -0
  37. package/dist/components/DatePicker.vue.d.ts +27 -0
  38. package/dist/components/DateRangePicker.vue.d.ts +31 -0
  39. package/dist/components/DateSelector.vue.d.ts +17 -0
  40. package/dist/components/DropdownUi.vue.d.ts +37 -0
  41. package/dist/components/ErrorMessage.vue.d.ts +9 -0
  42. package/dist/components/Icon/CalendarIcon.vue.d.ts +2 -0
  43. package/dist/components/Icon/CheckIcon.vue.d.ts +2 -0
  44. package/dist/components/Icon/CloseIcon.vue.d.ts +2 -0
  45. package/dist/components/Icon/Folder.vue.d.ts +2 -0
  46. package/dist/components/Icon/Image.vue.d.ts +2 -0
  47. package/dist/components/Icon/KeyboardArrowDownIcon.vue.d.ts +2 -0
  48. package/dist/components/Icon/Tag.vue.d.ts +2 -0
  49. package/dist/components/InputBox.vue.d.ts +27 -0
  50. package/dist/components/InputGroup.vue.d.ts +17 -0
  51. package/dist/components/LabeledCheckbox.vue.d.ts +20 -0
  52. package/dist/components/LabeledFieldset.vue.d.ts +21 -0
  53. package/dist/components/LoadingSpinner.vue.d.ts +2 -0
  54. package/dist/components/ModalBox.vue.d.ts +27 -0
  55. package/dist/components/PopupBox.vue.d.ts +30 -0
  56. package/dist/components/RadioButtons.vue.d.ts +20 -0
  57. package/dist/components/SelectBox.vue.d.ts +37 -0
  58. package/dist/components/SlideDownUi.vue.d.ts +37 -0
  59. package/dist/components/TabUI.vue.d.ts +54 -0
  60. package/dist/components/TextArea.vue.d.ts +33 -0
  61. package/dist/components/TextBox.vue.d.ts +44 -0
  62. package/dist/components/TextButton.vue.d.ts +10 -0
  63. package/dist/components/ToggleButton.vue.d.ts +23 -0
  64. package/dist/const/index.d.ts +1 -0
  65. package/dist/const/list-theme.d.ts +62 -0
  66. package/dist/index.d.ts +43 -0
  67. package/dist/index.js +3519 -0
  68. package/dist/scripts/form-validation-manager.d.ts +30 -0
  69. package/dist/scripts/unique-id.d.ts +1 -0
  70. package/dist/scripts/use-click-outside.d.ts +13 -0
  71. package/dist/scripts/utils.d.ts +15 -0
  72. package/dist/style.css +1 -0
  73. package/dist/types/index.d.ts +48 -77
  74. package/package.json +16 -8
  75. package/dist/assets/scss/functions.scss +0 -6
  76. package/dist/assets/scss/mixin.scss +0 -33
  77. package/dist/components/ArticleList/Card/Artistic.vue +0 -310
  78. package/dist/components/ArticleList/Card/Entertainment.vue +0 -244
  79. package/dist/components/ArticleList/Card/Gallery.vue +0 -254
  80. package/dist/components/ArticleList/Card/Grid.vue +0 -247
  81. package/dist/components/ArticleList/Card/News.vue +0 -150
  82. package/dist/components/ArticleList/Card/Rounded.vue +0 -154
  83. package/dist/components/ArticleList/Card/Row.vue +0 -167
  84. package/dist/components/ArticleList/Card/Simple.vue +0 -232
  85. package/dist/components/ArticleList/Card/Standard.vue +0 -187
  86. package/dist/components/ArticleList/Card/Tile.vue +0 -171
  87. package/dist/components/ArticleList/GenericArticleList.vue +0 -143
  88. package/dist/components/ArticleList/List/Artistic.vue +0 -24
  89. package/dist/components/ArticleList/List/Entertainment.vue +0 -24
  90. package/dist/components/ArticleList/List/Gallery.vue +0 -24
  91. package/dist/components/ArticleList/List/Grid.vue +0 -216
  92. package/dist/components/ArticleList/List/News.vue +0 -24
  93. package/dist/components/ArticleList/List/Rounded.vue +0 -24
  94. package/dist/components/ArticleList/List/Row.vue +0 -24
  95. package/dist/components/ArticleList/List/Simple.vue +0 -24
  96. package/dist/components/ArticleList/List/Standard.vue +0 -24
  97. package/dist/components/ArticleList/List/Tile.vue +0 -24
  98. package/dist/components/ArticleList/Parts/AuthorInfo.vue +0 -100
  99. package/dist/components/ArticleList/Parts/CardContainer.vue +0 -23
  100. package/dist/components/ArticleList/Parts/CardHeading.vue +0 -43
  101. package/dist/components/ArticleList/Parts/CategoryList.vue +0 -41
  102. package/dist/components/ArticleList/Parts/ExcerptText.vue +0 -43
  103. package/dist/components/ArticleList/Parts/MetadataList.vue +0 -120
  104. package/dist/components/ArticleList/Parts/NoImage.vue +0 -36
  105. package/dist/components/ArticleList/Parts/PostedDate.vue +0 -41
  106. package/dist/components/ArticleList/Parts/TagList.vue +0 -41
  107. package/dist/components/ArticleList/Parts/ThumbnailImage.vue +0 -85
  108. package/dist/components/BasicButton.vue +0 -143
  109. package/dist/components/CheckBox.vue +0 -140
  110. package/dist/components/CheckBoxes.vue +0 -100
  111. package/dist/components/CheckButton.vue +0 -127
  112. package/dist/components/DatePicker.vue +0 -234
  113. package/dist/components/DateRangePicker.vue +0 -85
  114. package/dist/components/DateSelector.vue +0 -273
  115. package/dist/components/DropdownUi.vue +0 -118
  116. package/dist/components/ErrorMessage.vue +0 -61
  117. package/dist/components/Icon/CalendarIcon.vue +0 -8
  118. package/dist/components/Icon/CheckIcon.vue +0 -8
  119. package/dist/components/Icon/CloseIcon.vue +0 -8
  120. package/dist/components/Icon/Folder.vue +0 -8
  121. package/dist/components/Icon/Image.vue +0 -14
  122. package/dist/components/Icon/KeyboardArrowDownIcon.vue +0 -8
  123. package/dist/components/Icon/Tag.vue +0 -8
  124. package/dist/components/InputBox.vue +0 -134
  125. package/dist/components/InputGroup.vue +0 -41
  126. package/dist/components/LabeledCheckbox.vue +0 -82
  127. package/dist/components/LabeledFieldset.vue +0 -41
  128. package/dist/components/LoadingSpinner.vue +0 -56
  129. package/dist/components/ModalBox.vue +0 -192
  130. package/dist/components/PopupBox.vue +0 -93
  131. package/dist/components/RadioButtons.vue +0 -163
  132. package/dist/components/SelectBox.vue +0 -166
  133. package/dist/components/SlideDownUi.vue +0 -123
  134. package/dist/components/TabUI.vue +0 -123
  135. package/dist/components/TextArea.vue +0 -115
  136. package/dist/components/TextBox.vue +0 -111
  137. package/dist/components/TextButton.vue +0 -47
  138. package/dist/components/ToggleButton.vue +0 -179
  139. package/dist/const/index.ts +0 -2
  140. package/dist/const/list-theme.ts +0 -62
  141. package/dist/index.ts +0 -126
  142. package/dist/scripts/form-validation-manager.ts +0 -63
  143. package/dist/scripts/utils.ts +0 -36
  144. package/dist/types/custom.d.ts +0 -1
  145. package/dist/types/vue-shim.d.ts +0 -5
@@ -1,310 +0,0 @@
1
- <script setup lang="ts">
2
- import type {
3
- Article,
4
- Category,
5
- PostConfig,
6
- } from '../../../types'
7
- import CardContainer from '../../../components/ArticleList/Parts/CardContainer.vue'
8
- import ThumbnailImage from '../../../components/ArticleList/Parts/ThumbnailImage.vue'
9
- import AuthorInfo from '../../../components/ArticleList/Parts/AuthorInfo.vue'
10
- import CardHeading from '../../../components/ArticleList/Parts/CardHeading.vue'
11
- import CategoryList from '../../../components/ArticleList/Parts/CategoryList.vue'
12
- import TagList from '../../../components/ArticleList/Parts/TagList.vue'
13
- import PostedDate from '../../../components/ArticleList/Parts/PostedDate.vue'
14
- import ExcerptText from '../../../components/ArticleList/Parts/ExcerptText.vue'
15
-
16
- defineProps<{
17
- article: Article
18
- path: string
19
- isPickUpItem: boolean
20
- postConfig: PostConfig
21
- categories: Category[]
22
- }>()
23
- </script>
24
-
25
- <template>
26
- <div :class="[$style.wrapper, { [$style.pickup]: isPickUpItem }]">
27
- <CardContainer
28
- v-if="article"
29
- :class="$style.container"
30
- :path="path"
31
- >
32
- <ThumbnailImage
33
- :article="article"
34
- :aspectRatio="{
35
- desktop: isPickUpItem ? '21/9' : '4/3',
36
- tablet : isPickUpItem ? '21/9' : '4/3',
37
- mobile : '4/3',
38
- }"
39
- :class="$style.thumbnail"
40
- style="grid-area: thumbnail;"
41
- />
42
- <div :class="$style.overlay">
43
- <ExcerptText
44
- :excerpt="article.excerpt.rendered"
45
- :class="$style.excerpt"
46
- color="var(--white)"
47
- style="grid-area: excerpt;"
48
- />
49
- </div>
50
- <PostedDate
51
- :date="article.date"
52
- formatString="yy.M.d"
53
- :class="$style.date"
54
- style="grid-area: date;"
55
- />
56
- <CardHeading
57
- :heading="article.title.rendered"
58
- :class="$style.heading"
59
- style="grid-area: heading;"
60
- />
61
- <TagList
62
- v-if="postConfig.tag"
63
- :article="article"
64
- :label="{
65
- color : 'var(--text-color)',
66
- fontSize: 'smaller',
67
- }"
68
- :class="$style.tag"
69
- delimiter="/"
70
- style="grid-area: tag;"
71
- />
72
- <AuthorInfo
73
- v-if="postConfig.author"
74
- :avatarUrls="article._embedded.author[0].avatar_urls"
75
- :thumbnail="{
76
- size: 'large',
77
- shape: 'circle'
78
- }"
79
- :class="$style.author"
80
- style="grid-area: author;"
81
- />
82
- <CategoryList
83
- v-if="postConfig.category && article.categories"
84
- :categoryIds="article.categories"
85
- :categoryData="categories"
86
- :label="{
87
- backgroundColor: 'var(--main-color)',
88
- color : 'var(--white)',
89
- fontSize : 'small',
90
- }"
91
- :class="$style.category"
92
- style="grid-area: category;"
93
- />
94
- </CardContainer>
95
- </div>
96
- </template>
97
-
98
- <style lang="scss" module>
99
- @use '../../../assets/scss/mixin' as *;
100
-
101
- @mixin borderOnHover {
102
- content : '';
103
- display : block;
104
- background-color: var(--primary-color);
105
- position : absolute;
106
- transition : all var(--animation-duration);
107
- }
108
-
109
- .wrapper {
110
- display : block;
111
- width : 100%;
112
- height : 100%;
113
- position : relative;
114
- box-shadow: 0 0 var(--sp-medium) 0 rgba(var(--black-rgb), .1);
115
-
116
- &::before,
117
- &::after {
118
- @include borderOnHover;
119
- width : 0;
120
- height: 2px;
121
- }
122
-
123
- &::before {
124
- top : -2px;
125
- left: -2px;
126
- }
127
-
128
- &::after {
129
- bottom: -2px;
130
- right : -2px;
131
- }
132
-
133
- &:hover {
134
- &::before,
135
- &::after {
136
- width: calc(100% + 4px);
137
- }
138
-
139
- .container {
140
- &::before,
141
- &::after {
142
- height: calc(100% + 4px);
143
- }
144
- }
145
-
146
- .overlay,
147
- .excerpt {
148
- opacity: 1;
149
- }
150
- }
151
-
152
- &.pickup {
153
- @include media('tablet') {
154
- aspect-ratio: 21/9;
155
-
156
- .container {
157
- grid-template-rows: 0 0 0 auto auto 1fr 0;
158
- grid-template-areas:
159
- 'excerpt'
160
- 'category'
161
- 'thumbnail'
162
- 'heading'
163
- 'date'
164
- 'tag'
165
- 'author';
166
- }
167
-
168
- .thumbnail {
169
- opacity: .4;
170
- position: absolute;
171
- top : 0;
172
- left : 0;
173
- }
174
-
175
- .heading,
176
- .date,
177
- .tag,
178
- .author,
179
- .category {
180
- position: relative;
181
- z-index : 2;
182
- }
183
-
184
- .category,
185
- .author {
186
- position: absolute;
187
- }
188
-
189
- .excerpt {
190
- display : flex;
191
- align-items : flex-end;
192
- padding-block-end: var(--sp-large);
193
- }
194
-
195
- .category {
196
- top : 0;
197
- left: 0;
198
- }
199
-
200
- .author {
201
- margin: 0;
202
- bottom: var(--sp-large);
203
- right : var(--sp-large);
204
- }
205
-
206
- .heading {
207
- padding-block-start: var(--sp-large);
208
- font-size : xx-large;
209
- }
210
-
211
- .tag {
212
- display : flex;
213
- align-items: flex-start;
214
- margin : 0;
215
- }
216
- }
217
- }
218
- }
219
-
220
- .container {
221
- grid-template-columns: 1fr;
222
- grid-template-rows : 0 fit-content(55%) auto auto 1fr auto auto;
223
- grid-template-areas :
224
- 'excerpt'
225
- 'thumbnail'
226
- 'date'
227
- 'heading'
228
- 'tag'
229
- 'author'
230
- 'category';
231
- text-align: center;
232
- position : relative;
233
- height : 100%;
234
-
235
- &::before,
236
- &::after {
237
- @include borderOnHover;
238
- width : 2px;
239
- height: 0;
240
- }
241
-
242
- &::before {
243
- bottom: -2px;
244
- left : -2px;
245
- }
246
-
247
- &::after {
248
- top : -2px;
249
- right: -2px;
250
- }
251
- }
252
-
253
- .overlay,
254
- .excerpt {
255
- width : 100%;
256
- max-height : 100%;
257
- position : absolute;
258
- opacity : 1;
259
- aspect-ratio: 4/3;
260
-
261
- @include media('desktop') {
262
- opacity: 0;
263
- }
264
- }
265
-
266
- .date {
267
- display : flex;
268
- justify-content: center;
269
- margin-block : calc(var(--bv) * 2) var(--bv);
270
- }
271
-
272
- .heading {
273
- padding: 0 calc(var(--bv) * 2);
274
- }
275
-
276
- .excerpt {
277
- display : flex;
278
- justify-content: center;
279
- align-items : center;
280
- height : 100%;
281
- padding : 0 calc(var(--bv) * 2);
282
- position : absolute;
283
- top : 0;
284
- }
285
-
286
- .author {
287
- justify-content: center;
288
- margin-block : var(--sp-large);
289
- }
290
-
291
- .category {
292
- display : flex;
293
- justify-content: center;
294
- }
295
-
296
- .overlay {
297
- background-image: linear-gradient(to bottom,
298
- rgb(var(--black-rgb), 0) 0%,
299
- rgba(var(--black-rgb), .5) 66%,
300
- rgba(var(--black-rgb), .8) 100%);
301
- backdrop-filter : blur(4px);
302
- }
303
-
304
- .tag {
305
- display : flex;
306
- align-items : center;
307
- justify-content: center;
308
- margin-block : var(--sp-medium);
309
- }
310
- </style>
@@ -1,244 +0,0 @@
1
- <script setup lang="ts">
2
- import type {
3
- Article,
4
- Category,
5
- PostConfig,
6
- } from '../../../types'
7
- import CardContainer from '../../../components/ArticleList/Parts/CardContainer.vue'
8
- import ThumbnailImage from '../../../components/ArticleList/Parts/ThumbnailImage.vue'
9
- import AuthorInfo from '../../../components/ArticleList/Parts/AuthorInfo.vue'
10
- import CardHeading from '../../../components/ArticleList/Parts/CardHeading.vue'
11
- import CategoryList from '../../../components/ArticleList/Parts/CategoryList.vue'
12
- import TagList from '../../../components/ArticleList/Parts/TagList.vue'
13
- import PostedDate from '../../../components/ArticleList/Parts/PostedDate.vue'
14
- import ExcerptText from '../../../components/ArticleList/Parts/ExcerptText.vue'
15
-
16
- defineProps<{
17
- article: Article
18
- path: string
19
- isPickUpItem: boolean
20
- postConfig: PostConfig
21
- categories: Category[]
22
- }>()
23
- </script>
24
-
25
- <template>
26
- <CardContainer
27
- v-if="article"
28
- :class="[$style.container, { [$style.pickup]: isPickUpItem} ]"
29
- :path="path"
30
- >
31
- <div :class="$style.date">
32
- <PostedDate
33
- :date="article.date"
34
- :class="$style.year"
35
- formatString="yyyy"
36
- fontSize="medium"
37
- fontWeight="bold"
38
- color="var(--text-color)"
39
- />
40
- <PostedDate
41
- :date="article.date"
42
- :class="$style.month"
43
- formatString="M"
44
- fontSize="xxx-large"
45
- fontWeight="bold"
46
- color="var(--text-color)"
47
- />
48
- <PostedDate
49
- :date="article.date"
50
- :class="$style.day"
51
- formatString="d"
52
- fontSize="xxx-large"
53
- fontWeight="bold"
54
- color="var(--text-color)"
55
- />
56
- </div>
57
- <ThumbnailImage
58
- :article="article"
59
- :aspectRatio="{
60
- desktop: isPickUpItem ? '21/9' : '4/3',
61
- tablet : isPickUpItem ? '16/9' : '4/3',
62
- mobile : isPickUpItem ? '4/3' : '4/3',
63
- }"
64
- :class="$style.thumbnail"
65
- />
66
- <div :class="$style.contents">
67
- <CategoryList
68
- v-if="postConfig.category && article.categories"
69
- :categoryIds="article.categories"
70
- :categoryData="categories"
71
- :label="{
72
- color : 'var(--main-color)',
73
- fontSize: 'small',
74
- fontWeight: 'bold',
75
- }"
76
- :class="$style.category"
77
- />
78
- <CardHeading
79
- :heading="article.title.rendered"
80
- :class="$style.heading"
81
- />
82
- <div :class="$style.row">
83
- <TagList
84
- v-if="postConfig.tag"
85
- :article="article"
86
- :label="{
87
- color : 'var(--text-color)',
88
- fontSize: 'small',
89
- }"
90
- :class="$style.tag"
91
- delimiter="/"
92
- />
93
- <AuthorInfo
94
- v-if="postConfig.author"
95
- :avatarUrls="article._embedded.author[0].avatar_urls"
96
- :class="$style.author"
97
- :thumbnail="{
98
- size: 'medium',
99
- shape: 'circle',
100
- }"
101
- />
102
- </div>
103
- <ExcerptText
104
- :excerpt="article.excerpt.rendered"
105
- :class="$style.excerpt"
106
- />
107
- </div>
108
- </CardContainer>
109
- </template>
110
-
111
- <style lang="scss" module>
112
- @use '../../../assets/scss/mixin' as *;
113
-
114
- .thumbnail {
115
- margin-top: calc(-1 * (var(--bv) * 2));
116
- overflow : hidden;
117
-
118
- img {
119
- transition: scale var(--animation-duration);
120
- }
121
- }
122
-
123
- .date {
124
- display : flex;
125
- align-items : flex-start;
126
- justify-content : flex-end;
127
- gap : var(--sp-small);
128
- margin-inline-end: var(--sp-medium);
129
- position : relative;
130
- z-index : 2;
131
- }
132
-
133
- .year {
134
- margin-block-start: var(--sp-small);
135
- }
136
-
137
- .month,
138
- .day {
139
- line-height: 1;
140
- }
141
-
142
- .month {
143
- display : flex;
144
- align-items: center;
145
-
146
- &::after {
147
- content : '';
148
- position : relative;
149
- margin-inline-start: var(--sp-small);
150
- display : block;
151
- width : 1px;
152
- height : calc(1em - var(--sp-medium));
153
- background-color : var(--text-color);
154
- }
155
- }
156
-
157
- .contents {
158
- display : flex;
159
- flex-grow : 1;
160
- flex-direction : column;
161
- height : auto;
162
- margin : calc(-1 * var(--sp-large)) var(--sp-medium) 0;
163
- background-color: var(--white);
164
- position : relative;
165
- z-index : 1;
166
- }
167
-
168
- .category {
169
- padding: var(--sp-medium);
170
- }
171
-
172
- .heading {
173
- flex-grow: 1;
174
- padding : 0 var(--sp-medium);
175
- }
176
-
177
- .row {
178
- display: flex;
179
- gap : var(--bv);
180
- padding: var(--sp-medium);
181
- justify-content: flex-end;
182
- }
183
-
184
- .author {
185
- margin-inline-start: auto;
186
- }
187
-
188
- .excerpt {
189
- --line-height: 1.8;
190
- flex : 0 0 auto;
191
- line-height : var(--line-height);
192
- height : calc(var(--line-height) * 3 * 1em + var(--sp-medium) * 2);
193
- padding : var(--sp-medium);
194
- border-block-start: 1px solid var(--border-color);
195
- }
196
-
197
- .container {
198
- display : flex;
199
- flex-direction: column;
200
- width : 100%;
201
- height : 100%;
202
- position : relative;
203
-
204
- &:hover {
205
- .thumbnail {
206
- img {
207
- scale: 1.1;
208
- }
209
- }
210
- }
211
-
212
- &.pickup {
213
- @include media('tablet') {
214
- aspect-ratio : 16/9;
215
- justify-content: center;
216
- align-items : flex-end;
217
-
218
- .thumbnail {
219
- margin : 0;
220
- position: absolute;
221
- top : 0;
222
- left : 0;
223
- }
224
-
225
- .contents {
226
- flex : 0 0 auto;
227
- margin : 0;
228
- margin-block-start: calc(-1 * var(--sp-medium));
229
- background-color : rgba(255, 255, 255, .7);
230
- }
231
-
232
- .heading {
233
- > h2 {
234
- font-size: xx-large;
235
- }
236
- }
237
- }
238
-
239
- @include media('desktop') {
240
- aspect-ratio: 21/9;
241
- }
242
- }
243
- }
244
- </style>