postcss-enumerates-in-line 0.0.9 → 0.2.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.
- package/.github/workflows/publish.yml +0 -6
- package/README.md +354 -12
- package/README_EN.md +353 -11
- package/_color.scss +138 -0
- package/index.mjs +183 -34
- package/package.json +1 -1
- package/test/gulp/package-lock.json +10 -2
- package/test/gulp/package.json +1 -0
- package/test/gulp/src/css/app.scss +10 -22
- package/test/postcss/package-lock.json +10 -0
- package/test/postcss/package.json +1 -0
- package/test/postcss/src/css/app.scss +10 -22
|
@@ -18,11 +18,5 @@ jobs:
|
|
|
18
18
|
with:
|
|
19
19
|
node-version: '24.x'
|
|
20
20
|
registry-url: 'https://registry.npmjs.org/'
|
|
21
|
-
#scope: '@hadukinei'
|
|
22
|
-
#- run: npm i -g npm@latest
|
|
23
21
|
- run: npm ci
|
|
24
|
-
#- run: npm pkg fix
|
|
25
|
-
#- run: npm publish --otp=068938
|
|
26
|
-
# env:
|
|
27
|
-
# NODE_AUTH_TOKEN: ${{ secrets.NPMJS_TOKEN_PEIL }}
|
|
28
22
|
- run: npm publish --provenance --access public
|
package/README.md
CHANGED
|
@@ -5,9 +5,23 @@
|
|
|
5
5
|
|[<img width="24" height="24" align="left" src="README.img/1f1ef-1f1f5.png" alt="🇯🇵"> 日本語](README.md)|[<img width="24" height="24" align="left" src="README.img/1f1fa-1f1f8.png" alt="🇺🇸"> English](README_EN.md)|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
## 更新点: v0.0
|
|
8
|
+
## 更新点: v0.2.0
|
|
9
|
+
|
|
10
|
+
- 以下の条件付きCSSプロパティを追加
|
|
11
|
+
+ `hover!`
|
|
12
|
+
+ `dark!`
|
|
13
|
+
+ `mq(<mediaQueries>)!`
|
|
14
|
+
+ `data(<customDataElements>)`
|
|
15
|
+
- デフォルトカラーを[Flexoki]に変更
|
|
16
|
+
- `_color.scss`を同梱
|
|
17
|
+
- 作成例の`test/gulp/`と`test/postcss/`を更新
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## 実装予定
|
|
21
|
+
|
|
22
|
+
- ユーザー定義ショートハンド機能
|
|
23
|
+
- `[[...]]`構文の改良と、デフォルトカラーにアルファチャンネルを設定できる`color-alpha[[...]]`構文の追加
|
|
9
24
|
|
|
10
|
-
- 公開開始
|
|
11
25
|
|
|
12
26
|
---
|
|
13
27
|
|
|
@@ -39,12 +53,21 @@
|
|
|
39
53
|
>
|
|
40
54
|
> `:`記号の前がプロパティ名、後ろがプロパティ値になっています。
|
|
41
55
|
> ホワイトスペースはプロパティの区切り文字であるため、プロパティ値に半角スペース記号を使いたい場合は`^`で代用します。
|
|
42
|
-
>
|
|
43
|
-
> 詳しい書式は目次の次へお進みください。
|
|
44
56
|
|
|
45
|
-
|
|
57
|
+
~~プロパティの列挙を目的としているため、hoverのような状態遷移・メディアクエリ・ダークモードなどへの対応はしません。~~
|
|
58
|
+
|
|
59
|
+
~~> [Tailwind CSS]における`hover:`・`md:`・`dark:`などに対応する機能は備えていないという意味です。~~
|
|
60
|
+
|
|
61
|
+
☑️version 0.2.0以上
|
|
62
|
+
|
|
63
|
+
またCSSプロパティ名の先頭に以下の書式を加筆することで、条件付きCSSプロパティに対応することができます。
|
|
64
|
+
|
|
65
|
+
- `hover!`: :hover
|
|
66
|
+
- `dark!`: :root.dark
|
|
67
|
+
- `mq(<mediaQueries>)!`: @media screen and <mediaQueries>
|
|
68
|
+
- `data(<customDataElements>)!`: [data-<customDataElement>]
|
|
46
69
|
|
|
47
|
-
>
|
|
70
|
+
> 詳しい書式は目次の次へお進みください。
|
|
48
71
|
|
|
49
72
|
基本的には[gulp]および[gulp-postcss]での動作を想定していますが、JS-APIによるPostCSS単体でも動作します。
|
|
50
73
|
|
|
@@ -53,6 +76,7 @@
|
|
|
53
76
|
[SCSS]: https://sass-lang.com/
|
|
54
77
|
[gulp]: https://gulpjs.com/
|
|
55
78
|
[gulp-postcss]: https://github.com/postcss/gulp-postcss
|
|
79
|
+
[Flexoki]: https://stephango.com/flexoki
|
|
56
80
|
|
|
57
81
|
<div class="x--hr"></div>
|
|
58
82
|
|
|
@@ -60,14 +84,21 @@
|
|
|
60
84
|
## 目次
|
|
61
85
|
|
|
62
86
|
- [PostCSS Enumerates in Line](#postcss-enumerates-in-line)
|
|
63
|
-
- [更新点: v0.0
|
|
87
|
+
- [更新点: v0.2.0](#更新点-v020)
|
|
88
|
+
- [実装予定](#実装予定)
|
|
64
89
|
- [目次](#目次)
|
|
65
90
|
- [CSSでの記述方法](#cssでの記述方法)
|
|
91
|
+
- [条件付き書式](#条件付き書式)
|
|
92
|
+
- [ダークモード](#ダークモード)
|
|
93
|
+
- [マウスオーバー](#マウスオーバー)
|
|
94
|
+
- [メディアクエリ](#メディアクエリ)
|
|
95
|
+
- [カスタムデータ属性](#カスタムデータ属性)
|
|
66
96
|
- [特殊な記号](#特殊な記号)
|
|
67
97
|
- [コロン記号](#コロン記号)
|
|
68
98
|
- [エクスクラメーション記号](#エクスクラメーション記号)
|
|
69
99
|
- [サーカムフレックス記号](#サーカムフレックス記号)
|
|
70
100
|
- [二重角括弧記号](#二重角括弧記号)
|
|
101
|
+
- [デフォルトカラー](#デフォルトカラー)
|
|
71
102
|
- [プロパティ名のショートハンド](#プロパティ名のショートハンド)
|
|
72
103
|
- [プラグインを使用する方法](#プラグインを使用する方法)
|
|
73
104
|
- [gulpでの使い方](#gulpでの使い方)
|
|
@@ -100,7 +131,7 @@ html {
|
|
|
100
131
|
@enums background-color:#000 color:#fff;
|
|
101
132
|
|
|
102
133
|
h1 {
|
|
103
|
-
@enums font-size:100
|
|
134
|
+
@enums font-size:100% hover!color:red;
|
|
104
135
|
}
|
|
105
136
|
}
|
|
106
137
|
```
|
|
@@ -116,6 +147,263 @@ CSSスタイル宣言についても単純で、「`プロパティ名`・`半
|
|
|
116
147
|
プロパティ値は任意の値を取ることができるため、`border:1px^#888^solid`など自由な指示をすることができるでしょう。
|
|
117
148
|
|
|
118
149
|
|
|
150
|
+
### 条件付き書式
|
|
151
|
+
|
|
152
|
+
```scss
|
|
153
|
+
h1 {
|
|
154
|
+
@emums data(visible="hidden")!display:none
|
|
155
|
+
ct:blue hover!ct:red
|
|
156
|
+
cb:white dark!cb:black
|
|
157
|
+
mq(width:1000px-)!mx:auto;
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
上記のように`条件付き書式!CSSプロパティ名:CSSプロパティ値`と記法を拡張することができます。
|
|
162
|
+
|
|
163
|
+
`hover!`, `dark!`, `mq(...)!`, `data(...)!`はそれぞれ重ね掛けが可能です。
|
|
164
|
+
|
|
165
|
+
```scss
|
|
166
|
+
h1 {
|
|
167
|
+
@enums dark!hover!ct:red;
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
ただしこれら条件付き書式は1つのCSSプロパティにつき1種しか設定できないため、`mq(...)!`と`data(...)!`を連続して記述できません。
|
|
172
|
+
|
|
173
|
+
列挙する場合は`(`・`)`の中で、`,`を使ってください。
|
|
174
|
+
|
|
175
|
+
同種の条件付き書式を重複させた場合、最初のものだけが適用され、残りの指定内容は無視されます。
|
|
176
|
+
|
|
177
|
+
```scss
|
|
178
|
+
/* ❌️NG */
|
|
179
|
+
h1 {
|
|
180
|
+
@enums mq(width:-640px)!mq(orientation:portrait)!m2:auto
|
|
181
|
+
data(state="succeed")!data(target-href^="https://")!text-indent:1rem;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* ⭕️OK */
|
|
185
|
+
h1 {
|
|
186
|
+
@enums mq(width:-640px,orientation:portrait)!m2:auto
|
|
187
|
+
data(state="succeed",target-href^="https://")!text-indent:1rem;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* 🙂Unzip */
|
|
191
|
+
@media screen and (max-width: 640px) and (orientation: portrait) {
|
|
192
|
+
h1 {
|
|
193
|
+
margin-bottom: auto;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
h1[data-state="succeed"][data-target-href^="https://"] {
|
|
197
|
+
text-indent: 1rem;
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
#### ダークモード
|
|
203
|
+
|
|
204
|
+
条件付き書式`dark!`を使うと、`root:`(html要素)に`dark`クラスが存在するかどうかで判定できるようになります。
|
|
205
|
+
|
|
206
|
+
```scss
|
|
207
|
+
/* 🚧Before */
|
|
208
|
+
h1 {
|
|
209
|
+
@emums cb:white dark!cb:black;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/* 🚀After */
|
|
213
|
+
h1 {
|
|
214
|
+
background-color: white;
|
|
215
|
+
}
|
|
216
|
+
:root.dark h1 {
|
|
217
|
+
background-color: black;
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
#### マウスオーバー
|
|
223
|
+
|
|
224
|
+
条件付き書式`hover!`を使うと、`:hover`(マウスオーバー状態)擬似クラスを追加できます。
|
|
225
|
+
|
|
226
|
+
```scss
|
|
227
|
+
/* 🚧Before */
|
|
228
|
+
h1 {
|
|
229
|
+
@emums ct:blue hover!ct:red;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/* 🚀After */
|
|
233
|
+
h1 {
|
|
234
|
+
color: blue;
|
|
235
|
+
}
|
|
236
|
+
h1:hover {
|
|
237
|
+
color: red;
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
#### メディアクエリ
|
|
243
|
+
|
|
244
|
+
条件付き書式`mq(<mediaQueries>)!`を使うと、`@media`ルールの中に入れることができます。
|
|
245
|
+
|
|
246
|
+
複数のメディアクエリを組み合わせる場合は、`,`で区切ります。
|
|
247
|
+
|
|
248
|
+
```scss
|
|
249
|
+
/* 🚧Before */
|
|
250
|
+
h1 {
|
|
251
|
+
@emums mq(width:1000px-)!m2:auto
|
|
252
|
+
mq(height:-1000px,aspect-ratio:1-)!p:1.5rem;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/* 🚀After */
|
|
256
|
+
@media screen and (min-width: 1000px) {
|
|
257
|
+
h1 {
|
|
258
|
+
margin-bottom: auto;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
@media screen and (max-height: 1000px) and (min-aspect-ratio: 1) {
|
|
262
|
+
h1 {
|
|
263
|
+
padding: 1.5rem;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
`mq(...)`関数の引数となるメディアクエリは、`メディア特性`・`:`・`条件値`の組み合わせになっています。
|
|
269
|
+
|
|
270
|
+
利用可能なメディア特性は次の通りですが、条件値によって出力される実際のメディア特性が変化します。
|
|
271
|
+
|
|
272
|
+
- `orientation`: orientation
|
|
273
|
+
- `width`: width, min-width, max-width
|
|
274
|
+
- `height`: height, min-height, max-height
|
|
275
|
+
- `aspect-ratio`: aspect-ratio, min-aspect-ratio, max-aspect-ratio
|
|
276
|
+
|
|
277
|
+
> `orientation`に指定可能な条件値は、`portrait`(縦長または正方形)と`landscape`(横長)のいずれかのみです。
|
|
278
|
+
|
|
279
|
+
```scss
|
|
280
|
+
body {
|
|
281
|
+
@enums
|
|
282
|
+
mq(orientation:portrait)!m2:1rem
|
|
283
|
+
mq(orientation:landscape)!m8:1rem
|
|
284
|
+
;
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
> `width`に指定可能な条件値は、`-<length>`・`<length>-<length>`・`<length>-`の3種類です。
|
|
289
|
+
>
|
|
290
|
+
> `<length>`に指定可能なのは`px`・`rem`・`vw`など長さに関わる値です。
|
|
291
|
+
>
|
|
292
|
+
> + 1つのみある`<length>`の前に`-`を付けた場合、`<length>`以下のメディアクエリを意味します(適用されるメディア特性は`max-width`)
|
|
293
|
+
> + 2つの`<length>`を`-`で接続した場合、その区間以内であるメディアクエリを意味します(適用されるメディア特性は`min-width`と`max-width`)
|
|
294
|
+
> + 1つのみある`<length>`の後ろに`-`を付けた場合、`<length>`以上のメディアクエリを意味します(適用されるメディア特性は`min-width`)
|
|
295
|
+
|
|
296
|
+
```scss
|
|
297
|
+
body {
|
|
298
|
+
@enums
|
|
299
|
+
mq(width:-480px)!m2:1rem
|
|
300
|
+
mq(width:640px-1024px)!mx:1rem
|
|
301
|
+
mq(width:1280px)!m8:1rem
|
|
302
|
+
;
|
|
303
|
+
}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
> `height`に指定可能な条件値、および動作は`width`と同じです。
|
|
307
|
+
>
|
|
308
|
+
> ただし適用されるメディア特性は、`height`・`min-height`・`max-height`に変化します。
|
|
309
|
+
|
|
310
|
+
```scss
|
|
311
|
+
body {
|
|
312
|
+
@enums
|
|
313
|
+
mq(height:-480px)!m2:1rem
|
|
314
|
+
mq(height:640px-1024px)!mx:1rem
|
|
315
|
+
mq(height:1280px)!m8:1rem
|
|
316
|
+
;
|
|
317
|
+
}
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
> `aspect-ratio`に指定可能な条件値は、`整数値`(1など)または`小数値`(0.85など)です。
|
|
321
|
+
>
|
|
322
|
+
> `@media (aspect-ratio: 16/9)`のような除算記号(`/`)を使った表記はできません。
|
|
323
|
+
>
|
|
324
|
+
> `width`・`height`に似た表記が可能で、`-<number>`・`<number>-<number>`・`<number>-`の3種類と`<number>`が実際に指定可能な条件値です。
|
|
325
|
+
>
|
|
326
|
+
> + 1つのみある`<number>`の前に`-`を付けた場合、`<number>`以下のメディアクエリを意味します(適用されるメディア特性は`max-aspect-ratio`)
|
|
327
|
+
> + 2つの`<number>`を`-`で接続した場合、その区間以内であるメディアクエリを意味します(適用されるメディア特性は`min-aspect-ratio`と`max-aspect-ratio`)
|
|
328
|
+
> + 1つのみある`<number>`の後ろに`-`を付けた場合、`<number>`以上のメディアクエリを意味します(適用されるメディア特性は`min-aspect-ratio`)
|
|
329
|
+
> + `<number>`が1つのみあって`-`がない場合、アスペクト比が`<number>`とまったく等しい状態を意味します(適用されるメディア特性は`aspect-ratio`)
|
|
330
|
+
|
|
331
|
+
```scss
|
|
332
|
+
body {
|
|
333
|
+
@enums
|
|
334
|
+
mq(aspect-ratio:-0.5)!m2:1rem
|
|
335
|
+
mq(aspect-ratio:0.55-0.95)!mx:1rem
|
|
336
|
+
mq(aspect-ratio:1.25-)!m8:1rem
|
|
337
|
+
mq(aspect-ratio:1)!p:1rem
|
|
338
|
+
;
|
|
339
|
+
}
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
#### カスタムデータ属性
|
|
344
|
+
|
|
345
|
+
条件付き書式`data(<customDataElements>)!`を使うと、`[data-foo="bar"]`のようなカスタムデータによる属性セレクターを追加できます。
|
|
346
|
+
|
|
347
|
+
複数の属性セレクターを組み合わせる場合は、`,`で区切ります。
|
|
348
|
+
|
|
349
|
+
```scss
|
|
350
|
+
/* 🚧Before */
|
|
351
|
+
h1 {
|
|
352
|
+
@emums data(visible="hidden")!display:none;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/* 🚀After */
|
|
356
|
+
h1[data-visible="hidden"] {
|
|
357
|
+
display: none;
|
|
358
|
+
}
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
属性セレクターは`属性名`、または`属性名`・`条件演算子`・`属性データ`の組み合わせになっています。
|
|
362
|
+
|
|
363
|
+
属性名が存在することだけを条件にする場合は、`条件演算子`と`属性データ`を必要としません。
|
|
364
|
+
|
|
365
|
+
```scss
|
|
366
|
+
/* 🚧Before */
|
|
367
|
+
h1 {
|
|
368
|
+
@enums data(loading)!display:none
|
|
369
|
+
data(is-empty="false")!m8:1rem;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/* 🚀After */
|
|
373
|
+
h1[data-loading] {
|
|
374
|
+
display: none;
|
|
375
|
+
}
|
|
376
|
+
h1[data-is-empty="false"] {
|
|
377
|
+
margin-top: 1rem;
|
|
378
|
+
}
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
> 属性名には`data-`に続く文字列を指定します。
|
|
382
|
+
>
|
|
383
|
+
> 具体的には`/[A-Za-z\d_\-]/`の文字が使用可能ですが、属性名の始端または終端を`-`の文字列とすることはできません。
|
|
384
|
+
|
|
385
|
+
> 条件演算子には次の種類を使用することができます。
|
|
386
|
+
> + `=`: 属性データと一致する場合(`[data-foo="bar"]`)
|
|
387
|
+
> + `~=`: 属性データが空白記号区切りリストであり、その中の1つと一致する場合(`[data-tags~="ipsum"]`, `<span data-tags="lorem ipsum dolor sit amet"></span>`)
|
|
388
|
+
> + `^=`: 属性データの文字列で始まる場合(`[data-href^="https://"]`)
|
|
389
|
+
> + `$=`: 属性データの文字列で終わる場合(`[data-href$=".webp"]`)
|
|
390
|
+
> + `*=`: 属性データの文字列を含む場合(`[data-alphabet*="bcdef"]`)
|
|
391
|
+
> + `|=`: 属性データと一致する文字列で始まり、かつその後ろに半角ハイフン記号を伴う場合(`[data-lang|="en"]`)
|
|
392
|
+
>
|
|
393
|
+
> > 言語タグとして`en-US`や`en-GB`など、ISO 639 + ISO 3166による表現を行う場合に利用されることの多い表現です。
|
|
394
|
+
|
|
395
|
+
> 属性データは、`"`または`'`で囲まれている必要があります。
|
|
396
|
+
>
|
|
397
|
+
> このため引用符を使う場合は注意してください。
|
|
398
|
+
>
|
|
399
|
+
> またパッケージの内部処理により、以下の文字が属性データに含まれる場合はパーセントエンコーディングを行います。
|
|
400
|
+
> + `%`: %25
|
|
401
|
+
> + `"`: %22
|
|
402
|
+
> + `'`: %27
|
|
403
|
+
> + ```: %60
|
|
404
|
+
> + `\`: %5D
|
|
405
|
+
|
|
406
|
+
|
|
119
407
|
### 特殊な記号
|
|
120
408
|
|
|
121
409
|
特殊な振る舞いを起こす文字は、`:`・`^`・`!`・`[[`・`]]`の5種類です。
|
|
@@ -134,6 +422,8 @@ CSSスタイル宣言についても単純で、「`プロパティ名`・`半
|
|
|
134
422
|
|
|
135
423
|
`padding-top:1rem!`などのようにして、`!`記号をプロパティ値の末尾に付けると`!important`宣言をしたことになります。
|
|
136
424
|
|
|
425
|
+
> 条件付き書式の`!`とは働きが異なるためご注意ください。
|
|
426
|
+
|
|
137
427
|
|
|
138
428
|
#### サーカムフレックス記号
|
|
139
429
|
|
|
@@ -173,7 +463,7 @@ CSSスタイル宣言についても単純で、「`プロパティ名`・`半
|
|
|
173
463
|
`width:calc(100vw^-^(100%^+^2rem)^*^2^+^1rem)`のような記述は視覚的ではないため、`[[`と`]]`に囲んだ中であれば`width:calc[[100vw-(100%+2rem)*(2)+1rem]]`としてサーカムフレックス記号を省くことができます。
|
|
174
464
|
|
|
175
465
|
> `var`関数など算術関数でないものに`[[`・`]]`記号は使わないでください。
|
|
176
|
-
>
|
|
466
|
+
>
|
|
177
467
|
> 例えば`var(--foo-bar)`が誤変換されて、`var(--foo - bar)`のようにして意味のないCSSへと破壊されてしまうためです。
|
|
178
468
|
|
|
179
469
|
しかし変換書式を改善中であるため、意図したように演算子の両端へ正常に空白記号が挿入されない可能性があります。
|
|
@@ -181,6 +471,58 @@ CSSスタイル宣言についても単純で、「`プロパティ名`・`半
|
|
|
181
471
|
こうした場合でも`^`記号を補えば正常な算術関数へと修正できるのですが、より確実な手段としては`[[`・`]]`記号を使わず人力で`^`記号を補う方が間違いは少ないでしょう。
|
|
182
472
|
|
|
183
473
|
|
|
474
|
+
|
|
475
|
+
### デフォルトカラー
|
|
476
|
+
|
|
477
|
+
デフォルトカラーは[Flexoki] v2.0からのフォークです。
|
|
478
|
+
|
|
479
|
+
CSSの`var()`関数を使い、CSS変数から呼び出して使用します。
|
|
480
|
+
|
|
481
|
+
```scss
|
|
482
|
+
body {
|
|
483
|
+
@enums ct:var(--color-red-400);
|
|
484
|
+
}
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
||0|50|100|150|200|300|400|500|600|700|800|850|900|950|999|
|
|
488
|
+
|--|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|
|
489
|
+
|<b>black</b>|<div style="background-color:#100F0F">⠶</div><small style="font-size:0.66rem;font-family:monospace">#100F0F</small>||||||||||||||<div style="background-color:#000000">⠶</div><small style="font-size:0.66rem;font-family:monospace">#000000</small>|
|
|
490
|
+
|<b>white</b>|<div style="background-color:#FFFCF0">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FFFCF0</small>||||||||||||||<div style="background-color:#FFFFFF">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FFFFFF</small>|
|
|
491
|
+
|<b>base</b>||<div style="background-color:#F2F0E5">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F2F0E5</small>|<div style="background-color:#E6E4D9">⠶</div><small style="font-size:0.66rem;font-family:monospace">#E6E4D9</small>|<div style="background-color:#DAD8CE">⠶</div><small style="font-size:0.66rem;font-family:monospace">#DAD8CE</small>|<div style="background-color:#CECDC3">⠶</div><small style="font-size:0.66rem;font-family:monospace">#CECDC3</small>|<div style="background-color:#B7B5AC">⠶</div><small style="font-size:0.66rem;font-family:monospace">#B7B5AC</small>|<div style="background-color:#9F9D96">⠶</div><small style="font-size:0.66rem;font-family:monospace">#9F9D96</small>|<div style="background-color:#878580">⠶</div><small style="font-size:0.66rem;font-family:monospace">#878580</small>|<div style="background-color:#6F6E69">⠶</div><small style="font-size:0.66rem;font-family:monospace">#6F6E69</small>|<div style="background-color:#575653">⠶</div><small style="font-size:0.66rem;font-family:monospace">#575653</small>|<div style="background-color:#403E3C">⠶</div><small style="font-size:0.66rem;font-family:monospace">#403E3C</small>|<div style="background-color:#343331">⠶</div><small style="font-size:0.66rem;font-family:monospace">#343331</small>|<div style="background-color:#282726">⠶</div><small style="font-size:0.66rem;font-family:monospace">#282726</small>|<div style="background-color:#1C1B1A">⠶</div><small style="font-size:0.66rem;font-family:monospace">#1C1B1A</small>||
|
|
492
|
+
|<b>red</b>||<div style="background-color:#FFE1D5">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FFE1D5</small>|<div style="background-color:#FFCABB">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FFCABB</small>|<div style="background-color:#FDB2A2">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FDB2A2</small>|<div style="background-color:#F89A8A">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F89A8A</small>|<div style="background-color:#E8705F">⠶</div><small style="font-size:0.66rem;font-family:monospace">#E8705F</small>|<div style="background-color:#D14D41">⠶</div><small style="font-size:0.66rem;font-family:monospace">#D14D41</small>|<div style="background-color:#C03E35">⠶</div><small style="font-size:0.66rem;font-family:monospace">#C03E35</small>|<div style="background-color:#AF3029">⠶</div><small style="font-size:0.66rem;font-family:monospace">#AF3029</small>|<div style="background-color:#942822">⠶</div><small style="font-size:0.66rem;font-family:monospace">#942822</small>|<div style="background-color:#6C201C">⠶</div><small style="font-size:0.66rem;font-family:monospace">#6C201C</small>|<div style="background-color:#551B18">⠶</div><small style="font-size:0.66rem;font-family:monospace">#551B18</small>|<div style="background-color:#3E1715">⠶</div><small style="font-size:0.66rem;font-family:monospace">#3E1715</small>|<div style="background-color:#261312">⠶</div><small style="font-size:0.66rem;font-family:monospace">#261312</small>||
|
|
493
|
+
|<b>orange</b>||<div style="background-color:#FFE7CE">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FFE7CE</small>|<div style="background-color:#FED3AF">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FED3AF</small>|<div style="background-color:#FCC192">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FCC192</small>|<div style="background-color:#F9AE77">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F9AE77</small>|<div style="background-color:#EC8B49">⠶</div><small style="font-size:0.66rem;font-family:monospace">#EC8B49</small>|<div style="background-color:#DA702C">⠶</div><small style="font-size:0.66rem;font-family:monospace">#DA702C</small>|<div style="background-color:#CB6120">⠶</div><small style="font-size:0.66rem;font-family:monospace">#CB6120</small>|<div style="background-color:#BC5215">⠶</div><small style="font-size:0.66rem;font-family:monospace">#BC5215</small>|<div style="background-color:#9D4310">⠶</div><small style="font-size:0.66rem;font-family:monospace">#9D4310</small>|<div style="background-color:#71320D">⠶</div><small style="font-size:0.66rem;font-family:monospace">#71320D</small>|<div style="background-color:#59290D">⠶</div><small style="font-size:0.66rem;font-family:monospace">#59290D</small>|<div style="background-color:#40200D">⠶</div><small style="font-size:0.66rem;font-family:monospace">#40200D</small>|<div style="background-color:#27180E">⠶</div><small style="font-size:0.66rem;font-family:monospace">#27180E</small>||
|
|
494
|
+
|<b>yellow</b>||<div style="background-color:#FAEEC6">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FAEEC6</small>|<div style="background-color:#F6E2A0">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F6E2A0</small>|<div style="background-color:#F1D67E">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F1D67E</small>|<div style="background-color:#ECCB60">⠶</div><small style="font-size:0.66rem;font-family:monospace">#ECCB60</small>|<div style="background-color:#DFB431">⠶</div><small style="font-size:0.66rem;font-family:monospace">#DFB431</small>|<div style="background-color:#D0A215">⠶</div><small style="font-size:0.66rem;font-family:monospace">#D0A215</small>|<div style="background-color:#BE9207">⠶</div><small style="font-size:0.66rem;font-family:monospace">#BE9207</small>|<div style="background-color:#AD8301">⠶</div><small style="font-size:0.66rem;font-family:monospace">#AD8301</small>|<div style="background-color:#8E6B01">⠶</div><small style="font-size:0.66rem;font-family:monospace">#8E6B01</small>|<div style="background-color:#664D01">⠶</div><small style="font-size:0.66rem;font-family:monospace">#664D01</small>|<div style="background-color:#503D02">⠶</div><small style="font-size:0.66rem;font-family:monospace">#503D02</small>|<div style="background-color:#3A2D04">⠶</div><small style="font-size:0.66rem;font-family:monospace">#3A2D04</small>|<div style="background-color:#241E08">⠶</div><small style="font-size:0.66rem;font-family:monospace">#241E08</small>||
|
|
495
|
+
|<b>green</b>||<div style="background-color:#EDEECF">⠶</div><small style="font-size:0.66rem;font-family:monospace">#EDEECF</small>|<div style="background-color:#DDE2B2">⠶</div><small style="font-size:0.66rem;font-family:monospace">#DDE2B2</small>|<div style="background-color:#CDD597">⠶</div><small style="font-size:0.66rem;font-family:monospace">#CDD597</small>|<div style="background-color:#BEC97E">⠶</div><small style="font-size:0.66rem;font-family:monospace">#BEC97E</small>|<div style="background-color:#A0AF54">⠶</div><small style="font-size:0.66rem;font-family:monospace">#A0AF54</small>|<div style="background-color:#879A39">⠶</div><small style="font-size:0.66rem;font-family:monospace">#879A39</small>|<div style="background-color:#768D21">⠶</div><small style="font-size:0.66rem;font-family:monospace">#768D21</small>|<div style="background-color:#66800B">⠶</div><small style="font-size:0.66rem;font-family:monospace">#66800B</small>|<div style="background-color:#536907">⠶</div><small style="font-size:0.66rem;font-family:monospace">#536907</small>|<div style="background-color:#3D4C07">⠶</div><small style="font-size:0.66rem;font-family:monospace">#3D4C07</small>|<div style="background-color:#313D07">⠶</div><small style="font-size:0.66rem;font-family:monospace">#313D07</small>|<div style="background-color:#252D09">⠶</div><small style="font-size:0.66rem;font-family:monospace">#252D09</small>|<div style="background-color:#1A1E0C">⠶</div><small style="font-size:0.66rem;font-family:monospace">#1A1E0C</small>||
|
|
496
|
+
|<b>cyan</b>||<div style="background-color:#DDF1E4">⠶</div><small style="font-size:0.66rem;font-family:monospace">#DDF1E4</small>|<div style="background-color:#BFE8D9">⠶</div><small style="font-size:0.66rem;font-family:monospace">#BFE8D9</small>|<div style="background-color:#A2DECE">⠶</div><small style="font-size:0.66rem;font-family:monospace">#A2DECE</small>|<div style="background-color:#87D3C3">⠶</div><small style="font-size:0.66rem;font-family:monospace">#87D3C3</small>|<div style="background-color:#5ABDAC">⠶</div><small style="font-size:0.66rem;font-family:monospace">#5ABDAC</small>|<div style="background-color:#3AA99F">⠶</div><small style="font-size:0.66rem;font-family:monospace">#3AA99F</small>|<div style="background-color:#2F968D">⠶</div><small style="font-size:0.66rem;font-family:monospace">#2F968D</small>|<div style="background-color:#24837B">⠶</div><small style="font-size:0.66rem;font-family:monospace">#24837B</small>|<div style="background-color:#1C6C66">⠶</div><small style="font-size:0.66rem;font-family:monospace">#1C6C66</small>|<div style="background-color:#164F4A">⠶</div><small style="font-size:0.66rem;font-family:monospace">#164F4A</small>|<div style="background-color:#143F3C">⠶</div><small style="font-size:0.66rem;font-family:monospace">#143F3C</small>|<div style="background-color:#122F2C">⠶</div><small style="font-size:0.66rem;font-family:monospace">#122F2C</small>|<div style="background-color:#101F1D">⠶</div><small style="font-size:0.66rem;font-family:monospace">#101F1D</small>||
|
|
497
|
+
|<b>blue</b>||<div style="background-color:#E1ECEB">⠶</div><small style="font-size:0.66rem;font-family:monospace">#E1ECEB</small>|<div style="background-color:#C6DDE8">⠶</div><small style="font-size:0.66rem;font-family:monospace">#C6DDE8</small>|<div style="background-color:#ABCFE2">⠶</div><small style="font-size:0.66rem;font-family:monospace">#ABCFE2</small>|<div style="background-color:#92BFDB">⠶</div><small style="font-size:0.66rem;font-family:monospace">#92BFDB</small>|<div style="background-color:#66A0C8">⠶</div><small style="font-size:0.66rem;font-family:monospace">#66A0C8</small>|<div style="background-color:#4385BE">⠶</div><small style="font-size:0.66rem;font-family:monospace">#4385BE</small>|<div style="background-color:#3171B2">⠶</div><small style="font-size:0.66rem;font-family:monospace">#3171B2</small>|<div style="background-color:#205EA6">⠶</div><small style="font-size:0.66rem;font-family:monospace">#205EA6</small>|<div style="background-color:#1A4F8C">⠶</div><small style="font-size:0.66rem;font-family:monospace">#1A4F8C</small>|<div style="background-color:#163B66">⠶</div><small style="font-size:0.66rem;font-family:monospace">#163B66</small>|<div style="background-color:#133051">⠶</div><small style="font-size:0.66rem;font-family:monospace">#133051</small>|<div style="background-color:#12253B">⠶</div><small style="font-size:0.66rem;font-family:monospace">#12253B</small>|<div style="background-color:#101A24">⠶</div><small style="font-size:0.66rem;font-family:monospace">#101A24</small>||
|
|
498
|
+
|<b>purple</b>||<div style="background-color:#F0EAEC">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F0EAEC</small>|<div style="background-color:#E2D9E9">⠶</div><small style="font-size:0.66rem;font-family:monospace">#E2D9E9</small>|<div style="background-color:#D3CAE6">⠶</div><small style="font-size:0.66rem;font-family:monospace">#D3CAE6</small>|<div style="background-color:#C4B9E0">⠶</div><small style="font-size:0.66rem;font-family:monospace">#C4B9E0</small>|<div style="background-color:#A699D0">⠶</div><small style="font-size:0.66rem;font-family:monospace">#A699D0</small>|<div style="background-color:#8B7EC8">⠶</div><small style="font-size:0.66rem;font-family:monospace">#8B7EC8</small>|<div style="background-color:#735EB5">⠶</div><small style="font-size:0.66rem;font-family:monospace">#735EB5</small>|<div style="background-color:#5E409D">⠶</div><small style="font-size:0.66rem;font-family:monospace">#5E409D</small>|<div style="background-color:#4F3685">⠶</div><small style="font-size:0.66rem;font-family:monospace">#4F3685</small>|<div style="background-color:#3C2A62">⠶</div><small style="font-size:0.66rem;font-family:monospace">#3C2A62</small>|<div style="background-color:#31234E">⠶</div><small style="font-size:0.66rem;font-family:monospace">#31234E</small>|<div style="background-color:#261C39">⠶</div><small style="font-size:0.66rem;font-family:monospace">#261C39</small>|<div style="background-color:#1A1623">⠶</div><small style="font-size:0.66rem;font-family:monospace">#1A1623</small>||
|
|
499
|
+
|<b>magenta</b>||<div style="background-color:#FEE4E5">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FEE4E5</small>|<div style="background-color:#FCCFDA">⠶</div><small style="font-size:0.66rem;font-family:monospace">#FCCFDA</small>|<div style="background-color:#F9B9CF">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F9B9CF</small>|<div style="background-color:#F4A4C2">⠶</div><small style="font-size:0.66rem;font-family:monospace">#F4A4C2</small>|<div style="background-color:#E47DA8">⠶</div><small style="font-size:0.66rem;font-family:monospace">#E47DA8</small>|<div style="background-color:#CE5D97">⠶</div><small style="font-size:0.66rem;font-family:monospace">#CE5D97</small>|<div style="background-color:#B74583">⠶</div><small style="font-size:0.66rem;font-family:monospace">#B74583</small>|<div style="background-color:#A02F6F">⠶</div><small style="font-size:0.66rem;font-family:monospace">#A02F6F</small>|<div style="background-color:#87285E">⠶</div><small style="font-size:0.66rem;font-family:monospace">#87285E</small>|<div style="background-color:#641F46">⠶</div><small style="font-size:0.66rem;font-family:monospace">#641F46</small>|<div style="background-color:#4F1B39">⠶</div><small style="font-size:0.66rem;font-family:monospace">#4F1B39</small>|<div style="background-color:#39172B">⠶</div><small style="font-size:0.66rem;font-family:monospace">#39172B</small>|<div style="background-color:#24131D">⠶</div><small style="font-size:0.66rem;font-family:monospace">#24131D</small>||
|
|
500
|
+
|
|
501
|
+
しかし現状では`#RRGGBBAA`書式のアルファチャンネル付き色設定ができないため、`_color.scss`を同梱しています。
|
|
502
|
+
|
|
503
|
+
```scss
|
|
504
|
+
@use '../node_modules/postcss-enumerates-in-line/_color.scss' as c;
|
|
505
|
+
|
|
506
|
+
html {
|
|
507
|
+
color: #{c.$color-red-400}99; // D14D4199
|
|
508
|
+
}
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
> 将来的には`color-alpha[[<color-theme>,<color-depth>,<alpha>,<optional:output-style>]]`関数の実装を予定しています。
|
|
512
|
+
|
|
513
|
+
```scss
|
|
514
|
+
/* 🚧Before */
|
|
515
|
+
html {
|
|
516
|
+
color: color-alpha[[red,400,60%,oklch]];
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/* 🚀After */
|
|
520
|
+
html {
|
|
521
|
+
color: oklch(0.597 0.1692 28.38 / 60%);
|
|
522
|
+
}
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
|
|
184
526
|
### プロパティ名のショートハンド
|
|
185
527
|
|
|
186
528
|
いくつかのプロパティ名にはショートハンド定義がしてあります。
|
|
@@ -496,7 +838,7 @@ PostCSS処理の配列の中に、`enumSpreader({})`関数を差し込みます
|
|
|
496
838
|
|
|
497
839
|
```css
|
|
498
840
|
:root {
|
|
499
|
-
--
|
|
841
|
+
--color-red-400: hsl(5 61% 53.7%);
|
|
500
842
|
}
|
|
501
843
|
```
|
|
502
844
|
|
|
@@ -506,7 +848,7 @@ PostCSS処理の配列の中に、`enumSpreader({})`関数を差し込みます
|
|
|
506
848
|
|
|
507
849
|
```css
|
|
508
850
|
:root {
|
|
509
|
-
--
|
|
851
|
+
--color-red-400: #D14D41;
|
|
510
852
|
}
|
|
511
853
|
```
|
|
512
854
|
|
|
@@ -514,7 +856,7 @@ PostCSS処理の配列の中に、`enumSpreader({})`関数を差し込みます
|
|
|
514
856
|
|
|
515
857
|
```css
|
|
516
858
|
:root {
|
|
517
|
-
--
|
|
859
|
+
--color-red-400: oklch(0.597 0.1692 28.38);
|
|
518
860
|
}
|
|
519
861
|
```
|
|
520
862
|
|