@lism-css/mcp 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/docs-index.json +53 -32
- package/dist/data/guides/SKILL.md +20 -10
- package/dist/data/guides/antipatterns.md +147 -0
- package/dist/data/guides/base-styles.md +1 -1
- package/dist/data/guides/components-core.md +4 -4
- package/dist/data/guides/components-ui.md +2 -2
- package/dist/data/guides/css-rules.md +26 -26
- package/dist/data/guides/customize.md +1 -1
- package/dist/data/guides/naming.md +13 -8
- package/dist/data/guides/primitive-class.md +79 -4
- package/dist/data/guides/primitives/a--decorator.md +1 -1
- package/dist/data/guides/primitives/a--divider.md +1 -1
- package/dist/data/guides/primitives/a--icon.md +1 -1
- package/dist/data/guides/primitives/a--spacer.md +1 -1
- package/dist/data/guides/primitives/l--autoColumns.md +71 -0
- package/dist/data/guides/primitives/l--box.md +1 -1
- package/dist/data/guides/primitives/l--center.md +1 -1
- package/dist/data/guides/primitives/l--cluster.md +2 -2
- package/dist/data/guides/primitives/l--columns.md +3 -3
- package/dist/data/guides/primitives/l--flex.md +1 -1
- package/dist/data/guides/primitives/l--flow.md +4 -4
- package/dist/data/guides/primitives/l--frame.md +1 -1
- package/dist/data/guides/primitives/l--grid.md +2 -2
- package/dist/data/guides/primitives/l--stack.md +1 -1
- package/dist/data/guides/primitives/{l--switchCols.md → l--switchColumns.md} +18 -18
- package/dist/data/guides/primitives/l--tileGrid.md +2 -2
- package/dist/data/guides/primitives/{l--sideMain.md → l--withSide.md} +41 -19
- package/dist/data/guides/prop-responsive.md +1 -1
- package/dist/data/guides/property-class/bd.md +4 -4
- package/dist/data/guides/property-class/hov.md +18 -18
- package/dist/data/guides/property-class/max-sz.md +5 -5
- package/dist/data/guides/property-class.md +8 -8
- package/dist/data/guides/set-class.md +2 -2
- package/dist/data/guides/tokens.md +8 -5
- package/dist/data/guides/trait-class/has--gutter.md +2 -2
- package/dist/data/guides/trait-class/has--mask.md +2 -2
- package/dist/data/guides/trait-class/has--snap.md +2 -2
- package/dist/data/guides/trait-class/has--transition.md +2 -2
- package/dist/data/guides/trait-class/is--boxLink.md +2 -2
- package/dist/data/guides/trait-class/is--container.md +11 -5
- package/dist/data/guides/trait-class/is--layer.md +5 -5
- package/dist/data/guides/trait-class/is--wrapper.md +8 -8
- package/dist/data/guides/trait-class.md +2 -2
- package/dist/data/guides/utility-class.md +9 -8
- package/dist/data/meta.js +2 -2
- package/dist/tools/get-guide.js +8 -1
- package/package.json +1 -1
- package/dist/data/guides/primitives/l--fluidCols.md +0 -71
|
@@ -230,9 +230,9 @@
|
|
|
230
230
|
"title": "Utility Class",
|
|
231
231
|
"description": "スタイルや装飾をまとめて適用できる Lism CSS のユーティリティクラスについて解説します。",
|
|
232
232
|
"category": "guide",
|
|
233
|
-
"headings": ["u--cbox", "u--trim & u--
|
|
234
|
-
"keywords": ["utility", "ユーティリティ", "class", "クラス", "u--cbox", "u--trim", "u--srOnly", "u--
|
|
235
|
-
"snippet": "用途が明確な装飾・機能をまとめてセットするユーティリティクラス (.u--{style}) の一覧。u--cbox, u--trim, u--
|
|
233
|
+
"headings": ["u--cbox", "u--trim & u--trimAll", "u--srOnly", "u--divide & u--cells", "u--clipText", "Opt-in"],
|
|
234
|
+
"keywords": ["utility", "ユーティリティ", "class", "クラス", "u--cbox", "u--trim", "u--srOnly", "u--divide", "u--cells", "u--clipText"],
|
|
235
|
+
"snippet": "用途が明確な装飾・機能をまとめてセットするユーティリティクラス (.u--{style}) の一覧。u--cbox, u--trim, u--divide, u--cells 等を解説。"
|
|
236
236
|
},
|
|
237
237
|
{
|
|
238
238
|
"sourcePath": "set-class.mdx",
|
|
@@ -249,8 +249,21 @@
|
|
|
249
249
|
"description": "Lism CSS のプリミティブクラス(l--, a--)の分類と使い方について解説します。",
|
|
250
250
|
"category": "guide",
|
|
251
251
|
"headings": ["Layout Primitives", "Atomic Primitives"],
|
|
252
|
-
"keywords": [
|
|
253
|
-
|
|
252
|
+
"keywords": [
|
|
253
|
+
"primitive",
|
|
254
|
+
"プリミティブ",
|
|
255
|
+
"layout",
|
|
256
|
+
"レイアウト",
|
|
257
|
+
"class",
|
|
258
|
+
"l--",
|
|
259
|
+
"a--",
|
|
260
|
+
"比較表",
|
|
261
|
+
"選び方",
|
|
262
|
+
"使い分け",
|
|
263
|
+
"使い分けガイド",
|
|
264
|
+
"カラムレイアウト"
|
|
265
|
+
],
|
|
266
|
+
"snippet": "レイアウトを組み立てる積み木として Primitive クラスを定義。.l--{name} (Layout Primitives) と .a--{name} (Atomic Primitives) の命名規則を説明。Layout Primitives 配下にカラムレイアウト Primitive(Columns / AutoColumns / SwitchColumns / WithSide / Grid / TileGrid)の使い分けガイド(比較表と用途別の選び方)も収録。"
|
|
254
267
|
},
|
|
255
268
|
{
|
|
256
269
|
"sourcePath": "base-styles.mdx",
|
|
@@ -267,12 +280,20 @@
|
|
|
267
280
|
"description": "Lism CSS の各バージョンにおける変更履歴をまとめています。",
|
|
268
281
|
"category": "guide",
|
|
269
282
|
"headings": [
|
|
283
|
+
"lism-css v.0.16.0 (2026.04.21)",
|
|
284
|
+
"`u--trimChildren` のリネームと除外方式の整理 (#324, #326)",
|
|
285
|
+
"`u--collapseGrid` のリネームと `u--divide` の追加 (#323)",
|
|
286
|
+
"opacity トークンの命名変更 (#316)",
|
|
287
|
+
"Layout Primitive の命名整理 (#319)",
|
|
288
|
+
"`@lism-css/ui` v.0.16.0 (2026.04.21)",
|
|
289
|
+
"lism-css v.0.15.0 (2026.04.21)",
|
|
290
|
+
"`@lism-css/ui` v.0.15.0 (2026.04.21)",
|
|
291
|
+
"lism-css v.0.14.0 (2026.04.17)",
|
|
270
292
|
"`@lism-css/ui` v.0.14.0 (2026.04.17)",
|
|
271
|
-
"v.0.
|
|
293
|
+
"lism-css v.0.13.1 (2026.04.15)",
|
|
272
294
|
"`@lism-css/ui` v.0.13.1 (2026.04.15)",
|
|
273
|
-
"v.0.13.
|
|
295
|
+
"lism-css v.0.13.0 (2026.04.14)",
|
|
274
296
|
"`@lism-css/ui` v.0.13.0 (2026.04.14)",
|
|
275
|
-
"v.0.13.0 (2026.04.14)",
|
|
276
297
|
"`@lism-css/ui` v.0.12.0 (2026.04.10)",
|
|
277
298
|
"`@lism-css/ui` v.0.11.0 (2026.04.05)",
|
|
278
299
|
"v.0.12.0 (2026.04.10)",
|
|
@@ -292,14 +313,14 @@
|
|
|
292
313
|
"v.0.8 (大幅な変更)"
|
|
293
314
|
],
|
|
294
315
|
"keywords": ["changelog", "変更履歴", "更新", "バージョン"],
|
|
295
|
-
"snippet": "Lism CSS の各バージョンにおける変更内容を記載。"
|
|
316
|
+
"snippet": "Lism CSS の各バージョンにおける変更内容を記載。v.0.16.0 の破壊的変更として Layout Primitive 命名整理(l--sideMain → l--withSide, l--fluidCols → l--autoColumns, l--switchCols → l--switchColumns)、v.0.15.0 では u--trimChildren → u--trimAll へのリネームと除外方式整理(#324/#326)、u--collapseGrid → u--cells へのリネームと u--divide の新設(#323)、opacity トークンのセマンティック命名変更(#316)などがある。"
|
|
296
317
|
},
|
|
297
318
|
{
|
|
298
319
|
"sourcePath": "property-class/bd.mdx",
|
|
299
320
|
"title": "-bd",
|
|
300
321
|
"description": "ボーダーを指定する -bd プロパティクラスと関連するCSS変数の使い方について解説します。",
|
|
301
322
|
"category": "property-class",
|
|
302
|
-
"headings": ["方向指定", "bdwをブレイクポイントで切り替える"
|
|
323
|
+
"headings": ["方向指定", "bdwをブレイクポイントで切り替える"],
|
|
303
324
|
"keywords": ["border", "ボーダー", "bd", "bdc", "bdw", "bds", "bdrs", "枠線", "border-color", "border-width", "border-style", "border-radius"],
|
|
304
325
|
"snippet": "ボーダー関連のProp。bd, bdc, bdw, bds, bdrs を使ったボーダースタイルの設定方法。方向指定やブレイクポイントでの切り替えも解説。"
|
|
305
326
|
},
|
|
@@ -559,17 +580,17 @@
|
|
|
559
580
|
"snippet": "コンテンツフロー用のレイアウト。子要素間の余白を margin で管理。見出しタグは余白が大きくなる。is--skipFlowで余白打ち消しも可能。"
|
|
560
581
|
},
|
|
561
582
|
{
|
|
562
|
-
"sourcePath": "primitives/l--
|
|
563
|
-
"title": "
|
|
564
|
-
"description": "l--
|
|
583
|
+
"sourcePath": "primitives/l--autoColumns.mdx",
|
|
584
|
+
"title": "AutoColumns / l--autoColumns",
|
|
585
|
+
"description": "l--autoColumns は、カラム要素が指定した幅より小さくならないように自動で折り返す、ブレイクポイント非依存の段組みクラスです。",
|
|
565
586
|
"category": "primitives",
|
|
566
587
|
"headings": ["CSS", "Lismコンポーネント", "Usage"],
|
|
567
588
|
"keywords": [
|
|
568
|
-
"
|
|
589
|
+
"AutoColumns",
|
|
569
590
|
"流動カラム",
|
|
570
591
|
"auto-fill",
|
|
571
592
|
"fluid",
|
|
572
|
-
"l--
|
|
593
|
+
"l--autoColumns",
|
|
573
594
|
"display",
|
|
574
595
|
"display: grid",
|
|
575
596
|
"auto-wrap",
|
|
@@ -590,21 +611,21 @@
|
|
|
590
611
|
"snippet": "直下のメディア要素(img, video, iframe)を自身のサイズにフィットさせて表示するクラス。arでアスペクト比を指定。"
|
|
591
612
|
},
|
|
592
613
|
{
|
|
593
|
-
"sourcePath": "primitives/l--
|
|
594
|
-
"title": "
|
|
595
|
-
"description": "l--
|
|
614
|
+
"sourcePath": "primitives/l--switchColumns.mdx",
|
|
615
|
+
"title": "SwitchColumns / l--switchColumns",
|
|
616
|
+
"description": "l--switchColumns は、複数列と1列の切り替えをコンテナクエリやメディアクエリを使わずに実装するクラスです。",
|
|
596
617
|
"category": "primitives",
|
|
597
618
|
"headings": ["CSS", "Lismコンポーネント", "Usage"],
|
|
598
|
-
"keywords": ["
|
|
619
|
+
"keywords": ["SwitchColumns", "切り替え", "switch", "カラム", "l--switchColumns", "responsive columns", "メディアクエリなし"],
|
|
599
620
|
"snippet": "複数列以上と1列への切り替えをコンテナクエリ・メディアクエリを使わずに実装するクラス。breakSizeで切り替えポイントを指定。"
|
|
600
621
|
},
|
|
601
622
|
{
|
|
602
|
-
"sourcePath": "primitives/l--
|
|
603
|
-
"title": "
|
|
604
|
-
"description": "l--
|
|
623
|
+
"sourcePath": "primitives/l--withSide.mdx",
|
|
624
|
+
"title": "WithSide / l--withSide",
|
|
625
|
+
"description": "l--withSide は、維持したいコンテンツの長さを基準にして、横並び・縦並びが自動で切り替わる2カラムレイアウトのクラスです。",
|
|
605
626
|
"category": "primitives",
|
|
606
627
|
"headings": ["CSS", "Lismコンポーネント", "Usage", "`Grid`を使って似たレイアウトを構成する例"],
|
|
607
|
-
"keywords": ["
|
|
628
|
+
"keywords": ["WithSide", "サイドバー", "sidebar", "メイン", "l--withSide", "2カラム", "is--side", "two column"],
|
|
608
629
|
"snippet": "サイドバー + メインコンテンツの2カラムレイアウト。メイン側が可変幅。sideW, mainWで幅を制御。メディアクエリ・コンテナクエリに依存せず自動で切り替わる。"
|
|
609
630
|
},
|
|
610
631
|
{
|
|
@@ -957,12 +978,12 @@
|
|
|
957
978
|
},
|
|
958
979
|
{
|
|
959
980
|
"sourcePath": "utility-class.mdx",
|
|
960
|
-
"title": "u--trim / u--
|
|
981
|
+
"title": "u--trim / u--trimAll",
|
|
961
982
|
"description": "テキストのハーフレディング分の余白を調整するユーティリティクラス。",
|
|
962
983
|
"category": "guide",
|
|
963
|
-
"headings": ["u--trim", "u--
|
|
964
|
-
"keywords": ["u--trim", "u--
|
|
965
|
-
"snippet": "u--trimは自身のmargin-blockを調整。u--
|
|
984
|
+
"headings": ["u--trim", "u--trimAll"],
|
|
985
|
+
"keywords": ["u--trim", "u--trimAll", "ハーフレディング", "行間調整", "テキスト余白", "margin-block", "トリム"],
|
|
986
|
+
"snippet": "u--trimは自身のmargin-blockを調整。u--trimAllは直下の子要素(:empty・figure・picture・video・button・textarea・table を除く)の上下マージンを一括調整する除外方式のクラス。"
|
|
966
987
|
},
|
|
967
988
|
{
|
|
968
989
|
"sourcePath": "trait-class/is--boxLink.mdx",
|
|
@@ -984,12 +1005,12 @@
|
|
|
984
1005
|
},
|
|
985
1006
|
{
|
|
986
1007
|
"sourcePath": "utility-class.mdx",
|
|
987
|
-
"title": "u--
|
|
988
|
-
"description": "
|
|
1008
|
+
"title": "u--divide & u--cells",
|
|
1009
|
+
"description": "グリッド・フレックス子要素間の区切り線・セル枠を表示するユーティリティクラス。",
|
|
989
1010
|
"category": "guide",
|
|
990
|
-
"headings": ["u--
|
|
991
|
-
"keywords": ["u--
|
|
992
|
-
"snippet": "box-shadow
|
|
1011
|
+
"headings": ["u--divide & u--cells"],
|
|
1012
|
+
"keywords": ["u--divide", "u--cells", "グリッド区切り", "ボーダー", "テーブル風", "カレンダー", "box-shadow"],
|
|
1013
|
+
"snippet": "u--divide は子要素間にのみ区切り線を表示(外周なし)。u--cells は各セルを枠で囲む(table セル/カレンダー風)。どちらも box-shadow で実装。"
|
|
993
1014
|
},
|
|
994
1015
|
{
|
|
995
1016
|
"sourcePath": "trait-class.mdx",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lism-css-guide
|
|
3
|
-
description: "Lism CSS の設計・実装に関するガイド。CSSの編集・追加、UIコンポーネントやレイアウトの実装・編集時に参照。c--*, l--*, a--*, is--*, has--*, set--*, u--* -prop:value 形式のクラス・トークン(CSS変数)・命名規則・Layer規則・レスポンシブ対応について調べる時にも参照。
|
|
3
|
+
description: "Lism CSS の設計・実装に関するガイド。CSSの編集・追加、UIコンポーネントやレイアウトの実装・編集時に参照。c--*, l--*, a--*, is--*, has--*, set--*, u--* -prop:value 形式のクラス・トークン(CSS変数)・命名規則・Layer規則・レスポンシブ対応について調べる時にも参照。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Lism CSS Best Practices
|
|
@@ -9,9 +9,9 @@ description: "Lism CSS の設計・実装に関するガイド。CSSの編集・
|
|
|
9
9
|
|
|
10
10
|
調和と統一感を生み出すデザイントークン設計、`@layer`で管理されるプリミティブ設計、CSS変数を活かした柔軟でレスポンシブなユーティリティ設計が特徴です。
|
|
11
11
|
|
|
12
|
-
> **バージョン情報:** このガイドは `lism-css@0.
|
|
12
|
+
> **バージョン情報:** このガイドは `lism-css@0.16.0` / `@lism-css/ui@0.16.0` 時点の情報に基づいています。プロジェクトで使用中のバージョンを確認し、このガイドのバージョンと異なる場合はユーザーに通知してください。
|
|
13
13
|
|
|
14
|
-
公式ドキュメント: https://lism-css.com/docs/overview
|
|
14
|
+
公式ドキュメント: https://lism-css.com/docs/overview.md
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
## インストール
|
|
@@ -19,7 +19,7 @@ description: "Lism CSS の設計・実装に関するガイド。CSSの編集・
|
|
|
19
19
|
### CDNでCSSファイルのみ読み込む場合
|
|
20
20
|
|
|
21
21
|
```html
|
|
22
|
-
<link href="https://cdn.jsdelivr.net/npm/lism-css@0.
|
|
22
|
+
<link href="https://cdn.jsdelivr.net/npm/lism-css@0.16.0/dist/css/main.css" rel="stylesheet" />
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
### npm パッケージ
|
|
@@ -48,6 +48,13 @@ import { Accordion, Tabs, Button } from '@lism-css/ui/astro';
|
|
|
48
48
|
|
|
49
49
|
## 実装ルール
|
|
50
50
|
|
|
51
|
+
### コードを書く前に必ず参照
|
|
52
|
+
|
|
53
|
+
レイアウト選択ミスや典型的な記法ミスを避けるため、コード生成の前に以下を確認すること:
|
|
54
|
+
|
|
55
|
+
- **どの Primitive を使うか迷ったら** → [primitive-class.md の「カラムレイアウト Primitive の使い分けガイド」](./primitive-class.md#カラムレイアウト-primitive-の使い分けガイド) — 比較表と用途別の選び方で判断材料を提供
|
|
56
|
+
- **コードを書く前のチェック** → [antipatterns.md](./antipatterns.md) — Token typo / Prop 型ミス / レイアウト選択ミス / レスポンシブ抜けの NG → OK カタログ
|
|
57
|
+
|
|
51
58
|
### 基本方針: できる限りLism CSSの用意しているクラス・CSS変数・コンポーネントを使って書く
|
|
52
59
|
|
|
53
60
|
まずは以下のチェックリストを確認しながら、Lism CSS でできることが何かを考えてから実装方針を立ててください。
|
|
@@ -71,7 +78,7 @@ import { Accordion, Tabs, Button } from '@lism-css/ui/astro';
|
|
|
71
78
|
|
|
72
79
|
- 同じスタイルの組み合わせが3箇所以上で使われる場合は、コンポーネントとして切り出すことを検討する。
|
|
73
80
|
- コンポーネントはできる限り `<Lism>`系コアコンポーネントやレイアウトプリミティブ(`Stack`, `Flex`, `Columns` 等)をベースに構築すること。
|
|
74
|
-
- カスタムクラスが必要な場合は
|
|
81
|
+
- カスタムクラスが必要な場合は `c--{name}` の命名規則に従う。
|
|
75
82
|
|
|
76
83
|
### 間違いやすい例
|
|
77
84
|
|
|
@@ -82,10 +89,12 @@ import { Accordion, Tabs, Button } from '@lism-css/ui/astro';
|
|
|
82
89
|
| `bgc="secondary"` | `bgc="base-2"` | カラートークンの間違い |
|
|
83
90
|
| `p="8"`, `g="6"` | `p="20"`, `g="10"` | スペーストークンの間違い |
|
|
84
91
|
|
|
92
|
+
その他の典型的な NG パターンは [antipatterns.md](./antipatterns.md) にカタログ化されているので、コード生成前に確認すること。
|
|
93
|
+
|
|
85
94
|
#### NG: レスポンシブの考慮漏れ・Gridの直書き
|
|
86
95
|
|
|
87
96
|
渡されたPCサイズのデザインだけをみて、カラムレイアウトを`<Grid gtc="repeat(3, 1fr)>`のように固定してしまわないようにすること。
|
|
88
|
-
特に指示がなければ、レスポンシブを意識して実装する。`<Columns>`(`l--columns`)を使ってブレイクポイントで切り替えるか、`l--
|
|
97
|
+
特に指示がなければ、レスポンシブを意識して実装する。`<Columns>`(`l--columns`)を使ってブレイクポイントで切り替えるか、`l--withSide`や`l--autoColumns`で自動レスポンシブを採用することを検討する。
|
|
89
98
|
|
|
90
99
|
また、Lism CSSではコンテナクエリを採用しているため、レスポンシブの値切り替えには先祖要素で `isContainer`(`is--container`クラス) が必要なことに注意。
|
|
91
100
|
|
|
@@ -104,7 +113,8 @@ import { Accordion, Tabs, Button } from '@lism-css/ui/astro';
|
|
|
104
113
|
- [naming.md](./naming.md) — 命名規則の詳細。(CSS変数名・クラス名・Property Class の `{prop}` / `{value}` の省略ルール)
|
|
105
114
|
- [base-styles.md](./base-styles.md) — HTML要素のベーススタイリング。(Reset CSSやHTML要素の基本スタイルをカスタマイズできるCSS変数)
|
|
106
115
|
- [set-class.md](./set-class.md) — ベーススタイル・変数セットに使用する`set--` クラスの一覧と用途。
|
|
107
|
-
- [primitive-class.md](./primitive-class.md) — レイアウトを組み立てる Primitive クラス(`l--`/`a
|
|
116
|
+
- [primitive-class.md](./primitive-class.md) — レイアウトを組み立てる Primitive クラス(`l--`/`a--`)の一覧と用途。カラムレイアウト系の使い分けガイドも含む。
|
|
117
|
+
- [antipatterns.md](./antipatterns.md) — AI が生成しがちな NG パターンと OK 対応。Token typo / Prop 型ミス / レイアウト選択ミス / レスポンシブ抜け。
|
|
108
118
|
- [trait-class.md](./trait-class.md) — 要素に役割・機能を宣言する Trait クラス(`is--`/`has--`)の一覧と用途。
|
|
109
119
|
- [utility-class.md](./utility-class.md) — 具体的な用途・装飾・機能を持つユーティリティクラス(`u--` クラス)の一覧と用途。
|
|
110
120
|
- [property-class.md](./property-class.md) — 単一のCSSプロパティに対応するProperty Class(`-{prop}:{value}`形式のクラス)の一覧・記法。
|
|
@@ -130,9 +140,9 @@ import { Accordion, Tabs, Button } from '@lism-css/ui/astro';
|
|
|
130
140
|
- `l--frame` / `<Frame>`: [primitives/l--frame.md](./primitives/l--frame.md)
|
|
131
141
|
- `l--columns` / `<Columns>`: [primitives/l--columns.md](./primitives/l--columns.md)
|
|
132
142
|
- `l--tileGrid` / `<TileGrid>`: [primitives/l--tileGrid.md](./primitives/l--tileGrid.md)
|
|
133
|
-
- `l--
|
|
134
|
-
- `l--
|
|
135
|
-
- `l--
|
|
143
|
+
- `l--autoColumns` / `<AutoColumns>`: [primitives/l--autoColumns.md](./primitives/l--autoColumns.md)
|
|
144
|
+
- `l--switchColumns` / `<SwitchColumns>`: [primitives/l--switchColumns.md](./primitives/l--switchColumns.md)
|
|
145
|
+
- `l--withSide` / `<WithSide>`: [primitives/l--withSide.md](./primitives/l--withSide.md)
|
|
136
146
|
|
|
137
147
|
**Trait Class (is--)**
|
|
138
148
|
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# アンチパターン辞書
|
|
2
|
+
|
|
3
|
+
AI が Lism CSS のコードを生成する際に間違いやすい記法と、その正しい書き方をカタログ化したもの。コードを書く前に該当カテゴリを確認すること。
|
|
4
|
+
|
|
5
|
+
## TOC
|
|
6
|
+
|
|
7
|
+
- [Token typo(存在しない値)](#token-typo存在しない値)
|
|
8
|
+
- [Prop 型ミス](#prop-型ミス)
|
|
9
|
+
- [レイアウト選択ミス](#レイアウト選択ミス)
|
|
10
|
+
- [レスポンシブ抜け](#レスポンシブ抜け)
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Token typo(存在しない値)
|
|
15
|
+
|
|
16
|
+
Lism CSS側が用意しているトークン値と異なるものを書かないように注意する。
|
|
17
|
+
正確な一覧は [tokens.md](./tokens.md) を参照すること。
|
|
18
|
+
|
|
19
|
+
ただし、ユーザーが独自に追加定義することは可能。あくまでデフォルトで用意されていないもので間違えやすいものを紹介しておく。
|
|
20
|
+
|
|
21
|
+
### カラー
|
|
22
|
+
|
|
23
|
+
| NG | OK | 理由 |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| `bgc="primary"` | `bgc="brand"` | セマンティックカラーに `primary`/`secondary` は無い。ブランド色は `brand`/`accent` |
|
|
26
|
+
| `bgc="secondary"` | `bgc="base-2"` | サブ背景色は `base-2`(`base-3` がユーザーによって追加定義されている可能性もある) |
|
|
27
|
+
| `c="muted"` | `c="text-2"` | 補助テキスト色は `text-2` |
|
|
28
|
+
| `c="danger"` | `c="red"` | パレットカラーから選ぶ(`red` / `orange` 等) |
|
|
29
|
+
|
|
30
|
+
- セマンティックカラー: `base` / `base-2` / `text` / `text-2` / `divider` / `link` / `brand` / `accent`
|
|
31
|
+
- パレットカラー: `red` / `blue` / `green` / `yellow` / `purple` / `orange` / `pink` / `gray` / `white` / `black`
|
|
32
|
+
|
|
33
|
+
### スペース(`p` / `m` / `g` 等)
|
|
34
|
+
|
|
35
|
+
| NG | OK | 理由 |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `p="8"` | `p="10"` | スペーストークンは`5/10/15/20/30/40/50/60/70/80`。tailwindのような4の倍数ではない |
|
|
38
|
+
| `g="6"` | `g="5"` | 同上 |
|
|
39
|
+
| `m="100"` | `m="80"` | 上限は `80`(ユーザーが追加定義している可能性はある) |
|
|
40
|
+
|
|
41
|
+
### フォントサイズ(`fz`)
|
|
42
|
+
|
|
43
|
+
| NG | OK | 理由 |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| `fz="14"` | `fz="s"` | `fz` は文字列キー(数値は不可) |
|
|
46
|
+
| `fz="large"`, `fz="md"` | `fz="l"` | 略号は `2xs` / `xs` / `s` / `m` / `l` / `xl` / `2xl` … |
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### 角丸 / 影
|
|
50
|
+
|
|
51
|
+
| NG | OK | 理由 |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `bdrs="sm"`, `bdrs="round"` | `bdrs="20"`, `bdrs="99"` | 角丸トークンは `10` / `20` / `30` / `40` / `99` / `inner` |
|
|
54
|
+
| `bxsh="xs"`, `bxsh="sm"` | `bxsh="10"`, `bxsh="20"` | shadowトークンは `10` / `20` / `30` / `40` / `50` |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Prop 型ミス
|
|
59
|
+
|
|
60
|
+
### Heading の `level` は文字列
|
|
61
|
+
|
|
62
|
+
| NG | OK | 理由 |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `<Heading level={3}>` | `<Heading level="3">` | `level` は `'1'` 〜 `'6'` の文字列 union 型 |
|
|
65
|
+
|
|
66
|
+
### レスポンシブ値は配列 or オブジェクト
|
|
67
|
+
|
|
68
|
+
| NG | OK | 理由 |
|
|
69
|
+
|---|---|---|
|
|
70
|
+
| `<Columns cols="1,2,3">` | `<Columns cols={[1, 2, 3]}>` | レスポンシブは配列 |
|
|
71
|
+
| `<Box p="20 30 40">` | `<Box p={[20, 30, 40]}>` | 同上 |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## レイアウト選択ミス
|
|
76
|
+
|
|
77
|
+
詳細な選択基準は [primitive-class.md](./primitive-class.md#カラムレイアウト-primitive-の使い分けガイド) の使い分けガイドを参照。
|
|
78
|
+
|
|
79
|
+
### Grid 直書き vs Columns
|
|
80
|
+
|
|
81
|
+
| NG | OK | 理由 |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| `<Grid gtc="repeat(3, 1fr)">` | `<Columns cols={3}>` | 等幅 N 列は Columns で宣言的に書く |
|
|
84
|
+
| `<Grid gtc={['1fr', '1fr 1fr', '1fr 1fr 1fr']}>` | `<Columns cols={[1, 2, 3]}>` | BP 切替も Columns のほうが簡潔 |
|
|
85
|
+
|
|
86
|
+
### コンテンツ幅のハードコード
|
|
87
|
+
|
|
88
|
+
| NG | OK | 理由 |
|
|
89
|
+
|---|---|---|
|
|
90
|
+
| `style={{ maxWidth: '1200px' }}` | `<Box max-sz="l">` | ヘッダーやセクションなど、コンテンツサイズにはトークン値(`xs` / `s` / `m` / `l` / `xl` / `container`)をできるだけ活用する |
|
|
91
|
+
|
|
92
|
+
### サイドバー型レイアウト
|
|
93
|
+
|
|
94
|
+
| NG | OK | 理由 |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| `<Grid gtc="1fr 240px">` で固定 | `<WithSide sideW="240px">` | コンテンツ幅で自動切替したいなら WithSide |
|
|
97
|
+
| `<Flex>` で 2 カラム強制横並び | `<WithSide>` | 縦並びへの切替が必要なら WithSide |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## レスポンシブ抜け
|
|
102
|
+
|
|
103
|
+
### `is--container` 祖先なしで BP 値を使用
|
|
104
|
+
|
|
105
|
+
レスポンシブ値(配列・オブジェクト・`-{prop}_{bp}` クラス)は、デフォルト設定(SCSS 側 `$is_container_query: 1`)では `@container` クエリで発火するため、祖先要素のいずれかに `is--container`(コンポーネントなら `isContainer` prop)が必須。
|
|
106
|
+
|
|
107
|
+
※ プロジェクトの SCSS 設定で `$is_container_query: 0` にして `@media` クエリ運用に切り替えている場合は、`is--container` 祖先は不要。
|
|
108
|
+
|
|
109
|
+
```jsx
|
|
110
|
+
// NG: container 祖先がないので sm/md 値が発火しない
|
|
111
|
+
<div>
|
|
112
|
+
<Box p={[20, 30, 40]}>...</Box>
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
// OK: 祖先に isContainer
|
|
116
|
+
<Stack isContainer>
|
|
117
|
+
<Box p={[20, 30, 40]}>...</Box>
|
|
118
|
+
</Stack>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### BP 専用クラスをベース値なしで使う
|
|
122
|
+
|
|
123
|
+
BP 専用クラス(`-{prop}_{bp}`)やコンポーネントの BP キー(`{ sm: ... }` 等)だけを指定すると、BP 未満では値が空になり意図しないレイアウト崩れを起こす。必ずベース値とセットで指定する。
|
|
124
|
+
|
|
125
|
+
```jsx
|
|
126
|
+
// NG: sm 未満で p が未指定になる
|
|
127
|
+
<Box p={{ sm: 30 }}>...</Box>
|
|
128
|
+
|
|
129
|
+
// OK: ベース値(base / 配列の先頭)を必ず添える
|
|
130
|
+
<Box p={{ base: 20, sm: 30 }}>...</Box>
|
|
131
|
+
<Box p={[20, 30]}>...</Box>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
生 HTML / クラス指定で書く場合も同様:
|
|
135
|
+
|
|
136
|
+
| NG | OK | 理由 |
|
|
137
|
+
|---|---|---|
|
|
138
|
+
| `<div class="-p_sm" style="--p_sm: var(--s30)">` | `<div class="-p:20 -p_sm" style="--p_sm: var(--s30)">` | BP 未満では値が空になるため、ベースクラス `-{prop}:{value}` も必要 |
|
|
139
|
+
|
|
140
|
+
### ブレイクポイントの誤用
|
|
141
|
+
|
|
142
|
+
Lism CSS の標準出力で有効な BP は `sm: 480px` / `md: 800px` まで。`lg` 以降を使う場合は SCSS 設定で出力範囲を拡張する必要がある。`xs` は BP キーとして存在しない。
|
|
143
|
+
|
|
144
|
+
| NG | OK | 理由 |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| `<Box p={{ xs: 10, sm: 20 }}>` | `<Box p={{ base: 10, sm: 20 }}>` | デフォルトは `base`(`xs` キーは無い) |
|
|
147
|
+
| `cols={[1, 2, 3, 4]}` | `cols={[1, 2, 3]}` | 標準出力では `[base, sm, md]` までが有効。`lg` 以降は SCSS 設定が必要 |
|
|
@@ -20,7 +20,7 @@ import { Lism, Box, Flex, Stack, Grid, Text, Media } from 'lism-css/astro';
|
|
|
20
20
|
- [Layout Primitives](#layout-primitives)
|
|
21
21
|
- [`getLismProps()`](#getlismprops--外部コンポーネントとの連携)
|
|
22
22
|
|
|
23
|
-
[詳細](https://lism-css.com/docs/core-components/lism-props
|
|
23
|
+
[詳細](https://lism-css.com/docs/core-components/lism-props.md)
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -274,9 +274,9 @@ Trait クラス(`is--*` / `has--*`)を出力するためのプロパティ
|
|
|
274
274
|
| `<Frame>` | `l--frame` |
|
|
275
275
|
| `<Columns>` | `l--columns` |
|
|
276
276
|
| `<TileGrid>` | `l--tileGrid` |
|
|
277
|
-
| `<
|
|
278
|
-
| `<
|
|
279
|
-
| `<
|
|
277
|
+
| `<AutoColumns>` | `l--autoColumns` |
|
|
278
|
+
| `<SwitchColumns>` | `l--switchColumns` |
|
|
279
|
+
| `<WithSide>` | `l--withSide` |
|
|
280
280
|
|
|
281
281
|
各プリミティブの詳細は SKILL.md の「プリミティブ単位の詳細リファレンス」、または `primitives/` 配下の各ファイルを参照。
|
|
282
282
|
|
|
@@ -27,7 +27,7 @@ import { Accordion, Tabs, Modal, Button } from '@lism-css/ui/astro';
|
|
|
27
27
|
- [DummyText](#dummytext)
|
|
28
28
|
- [CLI でプロジェクトにコピーして使う](#cli-でプロジェクトにコピーして使う)
|
|
29
29
|
|
|
30
|
-
[詳細](https://lism-css.com/ui
|
|
30
|
+
[詳細](https://lism-css.com/ui.md)
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -68,7 +68,7 @@ import { Accordion, Tabs, Modal, Button } from '@lism-css/ui/astro';
|
|
|
68
68
|
| `type` | `'alert' \| 'point' \| 'warning' \| 'check' \| 'help' \| 'info'` | `'alert'` | アラートタイプ。keycolor と icon の組み合わせプリセット |
|
|
69
69
|
| `keycolor` | `string` | — | キーカラー |
|
|
70
70
|
| `icon` | `ReactNode \| string` | — | カスタムアイコン |
|
|
71
|
-
| `layout` | `'flex' \| '
|
|
71
|
+
| `layout` | `'flex' \| 'withSide'` | `'flex'` | レイアウトプリミティブ |
|
|
72
72
|
| `flow` | `string` | `'s'` | コンテンツを囲む要素のフロー余白 |
|
|
73
73
|
|
|
74
74
|
```jsx
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
- [カスタムCSS を追加する場合](#カスタムcss-を追加する場合)
|
|
9
9
|
- [CSS の配置場所](#css-の配置場所)
|
|
10
10
|
|
|
11
|
-
[詳細](https://lism-css.com/docs/css-methodology
|
|
11
|
+
[詳細](https://lism-css.com/docs/css-methodology.md)
|
|
12
12
|
|
|
13
13
|
> **命名規則の詳細**: CSS変数名・クラス名・Property Class の `{prop}` / `{value}` の省略ルールについては [naming.md](./naming.md) を参照してください。
|
|
14
14
|
|
|
@@ -21,46 +21,46 @@ Lism CSS は CSS Layers による詳細度管理を採用しています。
|
|
|
21
21
|
|
|
22
22
|
```
|
|
23
23
|
Settings(トークン定義)
|
|
24
|
-
→ @layer lism-base(Reset CSS
|
|
24
|
+
→ @layer lism-base(Reset CSS・トークン・set-- クラス)
|
|
25
25
|
→ @layer reset(リセットCSS)
|
|
26
|
-
→ @layer lism-trait
|
|
26
|
+
→ @layer lism-trait(is-- / has-- Trait Class)
|
|
27
27
|
→ @layer lism-primitive
|
|
28
|
-
→ @layer layout
|
|
29
|
-
→ @layer atomic
|
|
30
|
-
→ @layer lism-component
|
|
28
|
+
→ @layer layout(l-- Layout Primitive)
|
|
29
|
+
→ @layer atomic(a-- Atomic Primitive)
|
|
30
|
+
→ @layer lism-component(c-- Component Class — BEM 構造を持つ UI 部品)
|
|
31
31
|
→ @layer lism-custom(ユーザーカスタマイズ用)
|
|
32
|
-
→ @layer lism-utility
|
|
32
|
+
→ @layer lism-utility(u-- ユーティリティクラス)
|
|
33
33
|
→ Property Class(レイヤー外 — 最も詳細度が高い)
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
## クラス分類とプレフィックス
|
|
38
38
|
|
|
39
|
-
[詳細](https://lism-css.com/docs/naming
|
|
39
|
+
[詳細](https://lism-css.com/docs/naming.md)
|
|
40
40
|
|
|
41
41
|
Lism CSSで定義されるクラスは、その役割とレイヤーの所属が決まっており、その分類によってプレフィックスが定められています。
|
|
42
42
|
|
|
43
43
|
| 分類 | 役割 | プレフィックス | 例 |
|
|
44
44
|
|---|---|---|---|
|
|
45
|
-
| Set Class | ベーススタイル上書き・変数提供 | `set--` |
|
|
46
|
-
| Layout Primitive | レイアウトの構成単位となる Primitive | `l--` |
|
|
47
|
-
| Atomic Primitive | レイアウトの最小単位となる Primitive | `a--` |
|
|
48
|
-
| Component Class | BEM 構造を持つ UI 部品 | `c--` |
|
|
49
|
-
| `is--` Trait | 要素に役割(〜である)を宣言 | `is--` |
|
|
50
|
-
| `has--` Trait | 要素に機能(〜を持つ)を付与 | `has--` |
|
|
51
|
-
| Utility Class | 用途が明確な装飾系ユーティリティ | `u--` |
|
|
52
|
-
| Property Class | 単一プロパティの制御 | `-` |
|
|
45
|
+
| Set Class | ベーススタイル上書き・変数提供 | `set--` | `set--plain`, `set--revert`, `set--var:hov`, `set--var:bxsh` |
|
|
46
|
+
| Layout Primitive | レイアウトの構成単位となる Primitive | `l--` | `l--grid`, `l--flex`, `l--stack` |
|
|
47
|
+
| Atomic Primitive | レイアウトの最小単位となる Primitive | `a--` | `a--icon`, `a--divider` |
|
|
48
|
+
| Component Class | BEM 構造を持つ UI 部品 | `c--` | `c--button`, `c--accordion` |
|
|
49
|
+
| `is--` Trait | 要素に役割(〜である)を宣言 | `is--` | `is--container`, `is--wrapper`, `is--layer`, `is--boxLink` |
|
|
50
|
+
| `has--` Trait | 要素に機能(〜を持つ)を付与 | `has--` | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
|
|
51
|
+
| Utility Class | 用途が明確な装飾系ユーティリティ | `u--` | `u--cbox`, `u--trim`, `u--divide`, `u--cells` |
|
|
52
|
+
| Property Class | 単一プロパティの制御 | `-` | `-fz:l`, `-p:20`, `-d:none` |
|
|
53
53
|
|
|
54
54
|
**併用ルール:**
|
|
55
|
-
-
|
|
56
|
-
- 同カテゴリ内の Primitive 併用は不可(例:
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
55
|
+
- `l--` と `c--` は併用OK(例: `<div class="l--flex c--nav">`)
|
|
56
|
+
- 同カテゴリ内の Primitive 併用は不可(例: `l--flex` と `l--grid`、`a--icon` と `a--divider` は同要素に付けない)
|
|
57
|
+
- `l--` × `a--` は非推奨(役割的に同居しない想定)
|
|
58
|
+
- `is--` / `has--` 同士は併用OK(Trait は複数併用できる)
|
|
59
|
+
- `is--` / `has--` × `l--` / `a--` も併用OK
|
|
60
60
|
- `c--` の Block 同士の併用(`.c--xxx.c--yyy`)は基本 NG。ただし以下は許容:
|
|
61
61
|
- Block と自身の Modifier: `.c--button.c--button--outline`
|
|
62
62
|
- Block と他 Block の Element: `.c--xxx.c--yyy_elem`
|
|
63
|
-
- 子要素:
|
|
63
|
+
- 子要素: `c--card_header`, `c--card_body`(`c--` のみ Element を持つ。`_` 一つ区切り)
|
|
64
64
|
|
|
65
65
|
**`is--` と `has--` の判定軸:**
|
|
66
66
|
|
|
@@ -107,9 +107,9 @@ class 属性にクラスを直接記述する場合は、以下の順序で並
|
|
|
107
107
|
|
|
108
108
|
| 分類 | 形式 | 例 |
|
|
109
109
|
|---|---|---|
|
|
110
|
-
| Block |
|
|
111
|
-
| Modifier |
|
|
112
|
-
| Element |
|
|
110
|
+
| Block | `c--{name}` | `c--button`, `c--card` |
|
|
111
|
+
| Modifier | `c--{name}--{modifier}` | `c--button--outline` |
|
|
112
|
+
| Element | `c--{name}_{element}` | `c--card_header`, `c--card_body` |
|
|
113
113
|
|
|
114
114
|
- Modifier は Block と併記して使用: `.c--button.c--button--outline`
|
|
115
115
|
- Element は `_`(アンダースコア)一つ区切り
|
|
@@ -118,7 +118,7 @@ class 属性にクラスを直接記述する場合は、以下の順序で並
|
|
|
118
118
|
- Block と他 Block の Element: `.c--xxx.c--yyy_elem`
|
|
119
119
|
- `a--` / `l--` には `variant` の BEM 展開は適用されない**
|
|
120
120
|
|
|
121
|
-
`c--` を使った独自コンポーネントを使う場合でも、他の Primitive
|
|
121
|
+
`c--` を使った独自コンポーネントを使う場合でも、他の Primitive クラス(`l--`, `is--`)や Property Class(`-{prop}:{value}`)との組み合わせを前提とした設計にすることで CSS の記述量を削減できます。`c--` クラスにスタイルが全くなく、HTML 側での可視性を高める名前付けのためだけに利用しても構いません。
|
|
122
122
|
|
|
123
123
|
|
|
124
124
|
### 作成例
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- [`{prop}` の省略ルール](#prop-の省略ルール)
|
|
8
8
|
- [`{value}` の省略ルール](#value-の省略ルール)
|
|
9
9
|
|
|
10
|
-
[詳細](https://lism-css.com/docs/naming
|
|
10
|
+
[詳細](https://lism-css.com/docs/naming.md)
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -30,9 +30,11 @@
|
|
|
30
30
|
| `s`, `m`, `l`, `xl`... | ベース値を中心に大小の段階を示す | `--fz--s`, `--fz--l` |
|
|
31
31
|
| `base` | `:root`/`body` の初期値にセットされるもの | `--fz--base`, `--lh--base` |
|
|
32
32
|
| `10`, `20`, `30`... | `0`(`none`)基準で段階的に増加 | `--bdrs--20`, `--bxsh--30` |
|
|
33
|
-
| `-10`, `-20`, `-30`... | `0`(`none`)基準で段階的に減少 | `--o---10`, `--o---20` |
|
|
34
33
|
| セマンティック名 | 上記に当てはまらない場合 | `--ar--og` |
|
|
35
34
|
|
|
35
|
+
> 🎵 **例外: opacity トークン**
|
|
36
|
+
> opacity(`--o--mp` / `--o--p` / `--o--pp` / `--o--ppp`)は、音楽の強弱記号(piano 系列)に由来するセマンティック命名を採用している。`p`(piano / 弱く)の反復回数が多いほど透明度が増す構造で、「文字の反復回数で段階を表す」命名は Lism 内で opacity のみの例外。
|
|
37
|
+
|
|
36
38
|
### Property Class 用の変数
|
|
37
39
|
|
|
38
40
|
| 形式 | 説明 | 例 |
|
|
@@ -71,10 +73,10 @@
|
|
|
71
73
|
| `set--` | HTML 要素の基礎スタイリング / 変数セット | `set--plain`, `set--revert`, `set--var:hov`, `set--var:bxsh` |
|
|
72
74
|
| `is--` | 〜である(役割・存在の宣言)。CSS 変数は必須ではない | `is--container`, `is--wrapper`, `is--layer` |
|
|
73
75
|
| `has--` | 〜を持つ(単一機能 trait の付与)。CSS 変数でカスタマイズ可 | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
|
|
74
|
-
| `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--
|
|
76
|
+
| `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--divide`, `u--cells` |
|
|
75
77
|
|
|
76
|
-
- `set--` は
|
|
77
|
-
- `is--` / `has--` は
|
|
78
|
+
- `set--` は `lism-base` 層で HTML 要素の基礎スタイル・変数を提供するもの。
|
|
79
|
+
- `is--` / `has--` は `lism-trait` 層に属する。
|
|
78
80
|
|
|
79
81
|
Property Class の形式:
|
|
80
82
|
|
|
@@ -194,15 +196,18 @@ NG例: `flex` → `fx` としたうえで `flex-shrink` を `fsh` にする(`f
|
|
|
194
196
|
```
|
|
195
197
|
.-c:text-2 → color: var(--text-2);
|
|
196
198
|
.-fz:l → font-size: var(--fz--l);
|
|
197
|
-
.-
|
|
199
|
+
.-p:10 → padding: var(--s10);
|
|
198
200
|
.-fw:bold → font-weight: var(--fw--bold);
|
|
199
201
|
.-bdrs:20 → border-radius: var(--bdrs--20);
|
|
200
202
|
```
|
|
201
203
|
|
|
202
|
-
|
|
204
|
+
opacity トークンは音楽記号に由来する例外的な命名で、そのままクラス化される。
|
|
203
205
|
|
|
204
206
|
```
|
|
205
|
-
.-o
|
|
207
|
+
.-o:mp → opacity: var(--o--mp);
|
|
208
|
+
.-o:p → opacity: var(--o--p);
|
|
209
|
+
.-o:pp → opacity: var(--o--pp);
|
|
210
|
+
.-o:ppp → opacity: var(--o--ppp);
|
|
206
211
|
```
|
|
207
212
|
|
|
208
213
|
### 長いキーワード値の省略
|