@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,154 +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
- :path="path"
29
- :class="[$style.container, {[$style.pickup]: isPickUpItem}]"
30
- >
31
- <ThumbnailImage
32
- :article="article"
33
- :class="$style.thumbnail"
34
- style="grid-area: thumbnail;"
35
- />
36
- <PostedDate
37
- :date="article.date"
38
- formatString="yy.M.d"
39
- color="var(--gray)"
40
- :class="$style.date"
41
- style="grid-area: date;"
42
- />
43
- <AuthorInfo
44
- v-if="postConfig.author"
45
- :avatarUrls="article._embedded.author[0].avatar_urls"
46
- :thumbnail="{
47
- shape: 'circle',
48
- }"
49
- :class="$style.author"
50
- direction="row-reverse"
51
- style="grid-area: author;"
52
- />
53
- <CardHeading
54
- :heading="article.title.rendered"
55
- :class="$style.heading"
56
- style="grid-area: heading;"
57
- />
58
- <CategoryList
59
- v-if="postConfig.category && article.categories"
60
- :categoryIds="article.categories"
61
- :categoryData="categories"
62
- :icon="{ color: 'var(--main-color)' }"
63
- :label="{
64
- backgroundColor: 'var(--main-color)',
65
- color : 'var(--white)',
66
- fontSize : 'small',
67
- shape : 'rounded',
68
- }"
69
- :class="$style.category"
70
- style="grid-area: category;"
71
- />
72
- <TagList
73
- v-if="postConfig.tag"
74
- :article="article"
75
- :icon="{ color: 'var(--sub-color)' }"
76
- :label="{
77
- backgroundColor: 'var(--sub-color)',
78
- color : 'var(--white)',
79
- fontSize : 'smaller',
80
- shape : 'rounded',
81
- }"
82
- :class="$style.tag"
83
- style="grid-area: tag;"
84
- />
85
- <ExcerptText
86
- :excerpt="article.excerpt.rendered"
87
- :class="$style.excerpt"
88
- style="grid-area: excerpt;"
89
- />
90
- </CardContainer>
91
- </template>
92
-
93
- <style lang="scss" module>
94
- @use '../../../assets/scss/mixin' as *;
95
-
96
- .container {
97
- grid-template-columns: auto auto;
98
- grid-template-rows : auto auto auto auto auto 1fr;
99
- grid-template-areas :
100
- 'thumbnail thumbnail'
101
- 'date author'
102
- 'heading heading'
103
- 'category category'
104
- 'tag tag'
105
- 'excerpt excerpt';
106
- gap: var(--sp-small);
107
-
108
- &:hover {
109
- .thumbnail {
110
- opacity: .8;
111
- }
112
- }
113
-
114
- &.pickup {
115
- @include media('tablet') {
116
- grid-template-columns: calc((100% - var(--sp-larger) * 2) / 3) auto auto;
117
- grid-template-rows : auto auto auto auto 1fr;
118
- grid-template-areas :
119
- 'thumbnail date author'
120
- 'thumbnail heading heading'
121
- 'thumbnail category category'
122
- 'thumbnail tag tag'
123
- 'thumbnail excerpt excerpt';
124
- column-gap: var(--sp-larger);
125
-
126
- .thumbnail {
127
- margin-inline-end: var(--sp-larger);
128
- margin-block-end: 0;
129
- }
130
-
131
- .heading {
132
- font-size: xx-large;
133
- }
134
- }
135
- }
136
- }
137
-
138
- .date {
139
- align-items: center;
140
- }
141
-
142
- .thumbnail {
143
- transition : opacity var(--animation-duration);
144
- margin-block-end: var(--sp-small);
145
-
146
- > * {
147
- border-radius: var(--bv);
148
- }
149
- }
150
-
151
- .heading {
152
- margin-block-end: var(--sp-small);
153
- }
154
- </style>
@@ -1,167 +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
- postConfig: PostConfig
20
- categories: Category[]
21
- }>()
22
- </script>
23
-
24
- <template>
25
- <CardContainer
26
- v-if="article"
27
- :class="$style.container"
28
- :path="path"
29
- >
30
- <CategoryList
31
- v-if="postConfig.category && article.categories"
32
- :categoryIds="article.categories"
33
- :categoryData="categories"
34
- :label="{
35
- color : 'var(--gray)',
36
- fontSize : 'clamp(24px, 0.55rem + 2.99vw, 40px)',
37
- }"
38
- :class="$style.category"
39
- style="grid-area: category;"
40
- />
41
- <ThumbnailImage
42
- :article="article"
43
- :aspectRatio="{
44
- desktop: '21/9',
45
- tablet : '21/9',
46
- mobile : '21/9',
47
- }"
48
- :class="$style.thumbnail"
49
- style="grid-area: thumbnail;"
50
- />
51
- <PostedDate
52
- :date="article.date"
53
- formatString="yy.M.d"
54
- :class="$style.date"
55
- color="var(--gray)"
56
- style="grid-area: date;"
57
- />
58
- <CardHeading
59
- :heading="article.title.rendered"
60
- :class="$style.heading"
61
- style="grid-area: heading;"
62
- />
63
- <ExcerptText
64
- :excerpt="article.excerpt.rendered"
65
- :class="$style.excerpt"
66
- fontSize="small"
67
- style="grid-area: excerpt;"
68
- />
69
- <TagList
70
- v-if="postConfig.tag"
71
- :article="article"
72
- :label="{
73
- color : 'var(--text-color)',
74
- fontSize: 'small',
75
- }"
76
- :class="$style.tag"
77
- delimiter="/"
78
- style="grid-area: tag;"
79
- />
80
- <AuthorInfo
81
- v-if="postConfig.author"
82
- :avatarUrls="article._embedded.author[0].avatar_urls"
83
- :name="article._embedded.author[0].name"
84
- :class="$style.author"
85
- :text="{
86
- fontSize: 'small',
87
- color : 'var(--gray)',
88
- }"
89
- style="grid-area: author;"
90
- />
91
- </CardContainer>
92
- </template>
93
-
94
- <style lang="scss" module>
95
- @use '../../../assets/scss/mixin' as *;
96
-
97
- .container {
98
- grid-template-columns: 50% 1fr auto;
99
- grid-template-rows : auto auto auto 1fr auto;
100
- grid-template-areas :
101
- 'category category category'
102
- 'thumbnail date date'
103
- 'thumbnail heading heading'
104
- 'thumbnail excerpt excerpt'
105
- 'thumbnail tag author';
106
- column-gap: var(--sp-large);
107
-
108
- &::before {
109
- content : '';
110
- display : block;
111
- width : calc(100% + var(--sp-medium));
112
- height : 100%;
113
- background-color: var(--primary-color);
114
- mix-blend-mode : soft-light;
115
- position : absolute;
116
- top : var(--sp-small);
117
- left : calc(-1 * var(--sp-small));
118
- transition : opacity var(--animation-duration);
119
- opacity : 0;
120
- pointer-events : none;
121
- }
122
-
123
- &:hover {
124
- &::before {
125
- opacity: .1;
126
- }
127
- }
128
-
129
- @include media('mobile') {
130
- grid-template-columns: 1fr auto;
131
- grid-template-rows : auto auto auto auto 1fr auto;
132
- grid-template-areas :
133
- 'category category'
134
- 'thumbnail thumbnail'
135
- 'date date'
136
- 'heading heading'
137
- 'excerpt excerpt'
138
- 'tag author';
139
- column-gap: 0;
140
- }
141
- }
142
-
143
- .thumbnail {
144
- @include media('mobile') {
145
- margin-block-end: var(--sp-small);
146
- }
147
- }
148
-
149
- .excerpt {
150
- @include media('mobile') {
151
- margin-block-end: var(--sp-medium);
152
- }
153
- }
154
-
155
- .category {
156
- position: relative;
157
- top : var(--sp-small);
158
- }
159
-
160
- .heading {
161
- margin-block-end: var(--sp-medium);
162
- }
163
-
164
- .tag {
165
- padding-block: var(--sp-small);
166
- }
167
- </style>
@@ -1,232 +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
- <ThumbnailImage
32
- :article="article"
33
- :aspectRatio="{
34
- desktop: isPickUpItem ? '21/9' : '4/3',
35
- tablet : isPickUpItem ? '21/9' : '4/3',
36
- mobile : '4/3',
37
- }"
38
- :class="$style.thumbnail"
39
- style="grid-area: thumbnail;"
40
- />
41
- <CardHeading
42
- :heading="article.title.rendered"
43
- :class="$style.heading"
44
- color="var(--text-color)"
45
- style="grid-area: heading;"
46
- />
47
- <AuthorInfo
48
- v-if="postConfig.author"
49
- :name="article._embedded.author[0].name"
50
- :class="$style.author"
51
- :text="{
52
- color : 'var(--gray)',
53
- preposition: 'by',
54
- }"
55
- style="grid-area: author;"
56
- />
57
- <CategoryList
58
- v-if="postConfig.category && article.categories"
59
- :categoryIds="article.categories"
60
- :categoryData="categories"
61
- :label="{
62
- color : 'var(--gray)',
63
- fontSize : 'small',
64
- fontWeight: 'bold',
65
- }"
66
- :class="$style.category"
67
- style="grid-area: category;"
68
- />
69
- <TagList
70
- v-if="postConfig.tag"
71
- :article="article"
72
- :label="{
73
- color : 'var(--gray)',
74
- fontSize : 'small',
75
- fontWeight: 'bold',
76
- }"
77
- :class="$style.tag"
78
- style="grid-area: tag;"
79
- />
80
- <PostedDate
81
- :date="article.date"
82
- formatString="yy.M.d"
83
- color="var(--gray)"
84
- :class="$style.date"
85
- style="grid-area: date;"
86
- />
87
- <ExcerptText
88
- :excerpt="article.excerpt.rendered"
89
- :class="$style.excerpt"
90
- style="grid-area: excerpt;"
91
- />
92
- </CardContainer>
93
- </template>
94
-
95
- <style lang="scss" module>
96
- @use '../../../assets/scss/mixin' as *;
97
-
98
- .container {
99
- grid-template-columns: auto 1fr;
100
- grid-template-rows : fit-content(62%) auto auto auto 1fr auto;
101
- grid-template-areas :
102
- 'thumbnail thumbnail'
103
- 'category tag'
104
- 'heading heading'
105
- 'excerpt excerpt'
106
- 'author date';
107
- gap : var(--sp-small);
108
- height: 100%;
109
-
110
- &:hover {
111
- .thumbnail {
112
- img {
113
- filter: grayscale(20%);
114
- }
115
- }
116
- }
117
-
118
- &.pickup {
119
- @include media('tablet') {
120
- grid-template-columns: 1fr;
121
- grid-template-rows : 0 1fr auto;
122
- grid-template-areas :
123
- 'thumbnail'
124
- 'heading'
125
- 'date';
126
- gap : 0;
127
- aspect-ratio: 21/9;
128
-
129
- .thumbnail {
130
- position: absolute;
131
- top : 0;
132
- left : 0;
133
-
134
- &::before {
135
- content : '';
136
- display : block;
137
- width : 100%;
138
- height : 100%;
139
- background-color: var(--gray);
140
- mix-blend-mode : multiply;
141
- position : absolute;
142
- top : 0;
143
- left : 0;
144
- z-index : 1;
145
- transition : opacity var(--animation-duration);
146
- opacity : .3;
147
- pointer-events : none;
148
- }
149
- }
150
-
151
- &:hover {
152
- .thumbnail {
153
-
154
- &::before {
155
- opacity: .1;
156
- }
157
- }
158
- }
159
-
160
- .heading,
161
- .date {
162
- position: relative;
163
- z-index : 2;
164
- }
165
-
166
- .heading {
167
- display : flex;
168
- justify-content : flex-start;
169
- align-items : flex-end;
170
- margin-block-start: var(--sp-medium);
171
- margin-inline : var(--sp-large);
172
- font-size : xx-large;
173
- }
174
-
175
- .date {
176
- display : flex;
177
- justify-content: flex-start;
178
- align-items : flex-end;
179
- margin-block : var(--sp-medium) var(--sp-large);
180
- margin-inline : var(--sp-large);
181
- font-size : medium;
182
- color : var(--text-color);
183
- }
184
-
185
- .excerpt,
186
- .category,
187
- .tag,
188
- .author {
189
- display: none;
190
- }
191
- }
192
- }
193
-
194
- .thumbnail {
195
- img {
196
- transition: filter var(--animation-duration);
197
- filter : grayscale(90%);
198
- }
199
- }
200
-
201
- .tag {
202
- grid-column : 1 / 3;
203
- margin-block-start: var(--sp-small);
204
- }
205
-
206
- .category {
207
- margin-block-start: var(--sp-small);
208
-
209
- & + .tag {
210
- grid-column: 2 / 3;
211
-
212
- &::before {
213
- content : '/';
214
- color : var(--gray);
215
- font-size: small;
216
- }
217
- }
218
- }
219
-
220
- .heading {
221
- margin-block-start: var(--sp-small);
222
- }
223
-
224
- .excerpt {
225
- margin-block-end: var(--sp-small);
226
- }
227
-
228
- .date {
229
- justify-content: flex-end;
230
- }
231
- }
232
- </style>