@lism-css/mcp 0.14.0 → 0.15.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 (38) hide show
  1. package/dist/data/docs-index.json +104 -55
  2. package/dist/data/guides/SKILL.md +27 -13
  3. package/dist/data/guides/base-styles.md +2 -0
  4. package/dist/data/guides/components-core.md +17 -13
  5. package/dist/data/guides/components-ui.md +16 -11
  6. package/dist/data/guides/css-rules.md +29 -20
  7. package/dist/data/guides/customize.md +220 -0
  8. package/dist/data/guides/naming.md +16 -2
  9. package/dist/data/guides/primitive-class.md +3 -26
  10. package/dist/data/guides/primitives/a--decorator.md +1 -1
  11. package/dist/data/guides/primitives/l--box.md +1 -1
  12. package/dist/data/guides/primitives/l--flex.md +1 -1
  13. package/dist/data/guides/primitives/l--flow.md +1 -1
  14. package/dist/data/guides/primitives/l--frame.md +1 -1
  15. package/dist/data/guides/primitives/l--sideMain.md +1 -1
  16. package/dist/data/guides/prop-responsive.md +28 -3
  17. package/dist/data/guides/property-class/bd.md +127 -0
  18. package/dist/data/guides/property-class/hov.md +140 -0
  19. package/dist/data/guides/property-class/max-sz.md +99 -0
  20. package/dist/data/guides/property-class.md +46 -80
  21. package/dist/data/guides/set-class.md +63 -78
  22. package/dist/data/guides/tokens.md +18 -8
  23. package/dist/data/guides/trait-class/has--gutter.md +48 -0
  24. package/dist/data/guides/trait-class/has--mask.md +66 -0
  25. package/dist/data/guides/trait-class/has--snap.md +68 -0
  26. package/dist/data/guides/trait-class/has--transition.md +73 -0
  27. package/dist/data/guides/{primitives → trait-class}/is--boxLink.md +8 -8
  28. package/dist/data/guides/{primitives → trait-class}/is--container.md +2 -2
  29. package/dist/data/guides/{primitives → trait-class}/is--layer.md +2 -2
  30. package/dist/data/guides/{primitives → trait-class}/is--wrapper.md +2 -2
  31. package/dist/data/guides/trait-class.md +77 -0
  32. package/dist/data/guides/utility-class.md +0 -1
  33. package/dist/data/meta.js +2 -2
  34. package/dist/lib/load-markdown.js +1 -1
  35. package/dist/lib/search.js +8 -5
  36. package/dist/tools/get-component.js +4 -3
  37. package/dist/tools/get-guide.js +1 -1
  38. package/package.json +2 -2
@@ -0,0 +1,140 @@
1
+ # -hov(ホバー)
2
+
3
+ hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで動作する系と、親の `set--var:hov` に連動する系の 2 系統に分かれる。
4
+
5
+ ## 基本情報
6
+
7
+ - クラス名: `-hov:-{prop}` / `-hov:{preset}` / `-hov:in:{preset}`
8
+ - Lism props: `hov`(`<Lism hov="-c">` / `<Box hov={{ bgc: 'brand' }}>` 等)
9
+ - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_hover.scss
10
+ - ドキュメント(人間向け): https://lism-css.com/docs/property-class/hov/
11
+
12
+ ## 3 つの形式
13
+
14
+ | 形式 | 役割 |
15
+ |------|------|
16
+ | `.-hov:-{prop}` | `--hov-{prop}` 変数を受け取り、hover 時に該当プロパティを変化させる |
17
+ | `.-hov:{preset}` | hover 時のスタイルセットをプリセット名でまとめて適用する |
18
+ | `.-hov:in:{preset}` | 親要素の `set--var:hov` を起点に、子要素のスタイルを変化させる |
19
+
20
+ `-hov:-{prop}` と `-hov:{preset}` は `@media (any-hover: hover)` 内で定義されるため、タッチデバイスでは無効。
21
+ `-hov:in:*` はメディアクエリ外で、親の `set--var:hov` がセットする `--_isHov` / `--_notHov` 変数で動作する。
22
+
23
+ トランジションを付けたい場合は [`has--transition`](../trait-class/has--transition.md) クラスを併用する。
24
+
25
+ ## `.-hov:-{prop}` — プロパティ変更
26
+
27
+ `:hover` で直接動作する。クラスを付けるだけで初期値で変化する。
28
+
29
+ | クラス | 変化するプロパティ | 初期値 |
30
+ |--------|----------------------|--------|
31
+ | `.-hov:-c` | `color` | `var(--hov-c, var(--link))` |
32
+ | `.-hov:-bdc` | `border-color` | `var(--hov-bdc, currentColor)` |
33
+ | `.-hov:-bgc` | `background-color` | `var(--hov-bgc, var(--base-2))` |
34
+ | `.-hov:-o` | `opacity` | `var(--hov-o, 0.7)` |
35
+ | `.-hov:-bxsh` | `box-shadow` | `var(--hov-bxsh, var(--bxsh--50))` |
36
+
37
+ 任意の値へ変化させたい場合は、`--hov-{prop}` 変数で値を指定する。
38
+
39
+ ```html
40
+ <!-- 初期値のまま使用 -->
41
+ <a class="is--boxLink -hov:-o -bgc:base-2 -bd -p:20" href="###">...</a>
42
+
43
+ <!-- 任意値を指定 -->
44
+ <a class="is--boxLink -hov:-bgc -hov:-c -bgc:base-2 -p:20"
45
+ style="--hov-bgc: var(--brand); --hov-c: var(--white)" href="###">...</a>
46
+ ```
47
+
48
+ ## `.-hov:{preset}` — プリセット
49
+
50
+ hover 時のスタイルセットをプリセット名でまとめて適用する。
51
+
52
+ | クラス | 内容 |
53
+ |--------|------|
54
+ | `.-hov:underline` | テキストに下線を表示 |
55
+ | `.-hov:neutral` | 背景色にニュートラルグレーをブレンド |
56
+
57
+ プロジェクト固有のプリセットは、以下のように自作して追加できる。
58
+
59
+ ```scss
60
+ @media (any-hover: hover) {
61
+ .-hov\:shadowUp:hover {
62
+ box-shadow: var(--bxsh--40);
63
+ translate: 0 -3px;
64
+ }
65
+ }
66
+ ```
67
+
68
+ ## `.-hov:in:{preset}` — 親連動
69
+
70
+ 親要素に `set--var:hov` を付けると、`--_isHov` / `--_notHov` 変数が hover 状態に応じて切り替わる。`-hov:in:*` はこの変数を参照する仕組み。
71
+
72
+ | クラス | 効果 | 仕組み |
73
+ |--------|------|--------|
74
+ | `.-hov:in:hide` | 親 hover 時にフェードアウト | `opacity: var(--_isHov, 0)` |
75
+ | `.-hov:in:show` | 親 hover 時にフェードイン | `opacity: var(--_notHov, 0)` / `visibility: var(--_notHov, hidden)` |
76
+ | `.-hov:in:zoom` | 親 hover 時にズーム | `scale: var(--_isHov, 1.1)` |
77
+
78
+ ```jsx
79
+ <Frame set="var:hov" isBoxLink href="#" ar="16/9">
80
+ <Media isLayer hasTransition hov="in:zoom" src="..." />
81
+ <Layer hasTransition hov="in:show" bgc="rgb(0 0 0 / 40%)">...</Layer>
82
+ </Frame>
83
+ ```
84
+
85
+ ## `<Lism>` コンポーネントでの `hov` 指定
86
+
87
+ `<Lism>`(およびその継承コンポーネント)の `hov` prop は、文字列・オブジェクトの 2 通りで指定できる。
88
+
89
+ ### 文字列指定
90
+
91
+ 入力した文字列がそのまま `-hov:{入力文字列}` クラスとして出力される。カンマ区切りで複数指定可能。**自動変換は行われない**(`"c"` → `-hov:-c` のような省略はサポートしない)。
92
+
93
+ ```jsx
94
+ <Lism hov="-o">...</Lism>
95
+ // → <div class="-hov:-o">...</div>
96
+
97
+ <Lism hov="shadowUp">...</Lism>
98
+ // → <div class="-hov:shadowUp">...</div>
99
+
100
+ <Lism hov="-c,-bxsh">...</Lism>
101
+ // → <div class="-hov:-c -hov:-bxsh">...</div>
102
+ ```
103
+
104
+ ### オブジェクト指定
105
+
106
+ 主に `.-hov:-{prop}` に任意の値を渡す用途。`hov={{ prop: value }}` で `-hov:-{prop}` クラス + `--hov-{prop}` 変数を出力。
107
+
108
+ ```jsx
109
+ <Lism hov={{ c: 'red' }}>...</Lism>
110
+ // → <div class="-hov:-c" style="--hov-c: var(--red)">...</div>
111
+ ```
112
+
113
+ 値に `true` を指定すると `-hov:{key}` クラスのみ出力される。任意値プロップとプリセット/自作クラスを**同時に**指定したい時に使う。
114
+
115
+ ```jsx
116
+ <Lism hov={{ shadowUp: true }}>...</Lism>
117
+ // → <div class="-hov:shadowUp">...</div>
118
+
119
+ <Lism hov={{ c: 'red', shadowUp: true }}>...</Lism>
120
+ // → <div class="-hov:-c -hov:shadowUp" style="--hov-c: var(--red)">...</div>
121
+ ```
122
+
123
+ ## `has--transition` との併用
124
+
125
+ `-hov:*` による変化は即時に切り替わる。なめらかなトランジションを付けたい場合は `has--transition` を併用し、`--duration` で所要時間を調整する。
126
+
127
+ ```jsx
128
+ <BoxLink href="###" hasTransition bxsh="10" hov={{ bxsh: '40' }} bd p="20">...</BoxLink>
129
+ // → <a class="is--boxLink has--transition -bxsh:10 -hov:-bxsh -bd -p:20"
130
+ // style="--hov-bxsh: var(--bxsh--40)" href="###">...</a>
131
+
132
+ <BoxLink href="###" hasTransition hov={{ bdc: 'red' }} bd p="20"
133
+ style={{ '--duration': '.5s' }}>...</BoxLink>
134
+ ```
135
+
136
+ ## 関連
137
+
138
+ - [`has--transition`](../trait-class/has--transition.md) — hover 時の変化にトランジションを付ける
139
+ - [`set--var:hov`](../set-class.md#set--varhov) — 親の hover 状態を子要素に伝播させる仕組み
140
+ - [`set--var:bxsh`](../set-class.md) — `-hov:-bxsh` と組み合わせる場合の影色再計算
@@ -0,0 +1,99 @@
1
+ # -max-sz(最大幅)
2
+
3
+ コンテンツの最大幅(`max-inline-size`)を制御する Property Class。標準のコンテンツサイズトークン(`xs`〜`xl`)に加え、特殊挙動の `full` / `container` を持つ。
4
+
5
+ ## 基本情報
6
+
7
+ - クラス名: `-max-sz:{xs|s|m|l|xl|full|container}`
8
+ - Lism props: `max-sz`(`<Lism max-sz="m">` 等)
9
+ - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_size.scss
10
+ - ドキュメント(人間向け): https://lism-css.com/docs/property-class/max-sz/
11
+
12
+ ## トークン対応クラス
13
+
14
+ コンテンツサイズ用のトークン `--sz--{xs|s|m|l|xl}` にそのまま対応するクラスが用意されている。
15
+
16
+ | クラス | 値 |
17
+ |--------|-----|
18
+ | `-max-sz:xs` | `var(--sz--xs)` |
19
+ | `-max-sz:s` | `var(--sz--s)` |
20
+ | `-max-sz:m` | `var(--sz--m)` |
21
+ | `-max-sz:l` | `var(--sz--l)` |
22
+ | `-max-sz:xl` | `var(--sz--xl)` |
23
+
24
+ ## 特殊クラス
25
+
26
+ ### `-max-sz:full`
27
+
28
+ **親要素のサイズいっぱいに広がる**クラス。`.has--gutter` の直下では、その gutter 分を**追加で外側に**拡張する(= gutter を無視して端まで広がる)。
29
+
30
+ ```scss
31
+ .-max-sz\:full {
32
+ max-inline-size: 100%;
33
+
34
+ :where(.has--gutter) > & {
35
+ max-inline-size: calc(100% + var(--gutter-size) * 2);
36
+ margin-inline: calc(var(--gutter-size) * -1);
37
+ }
38
+ }
39
+ ```
40
+
41
+ `.has--gutter` の内側で全幅画像・全幅バナーなどを配置したい時に使う。
42
+
43
+ ### `-max-sz:container`
44
+
45
+ **コンテナ要素を基準としたサイズ**まで広がる。`.is--container` ごとに `--sz--container` が更新されるため、直近の container を基準にサイズ決定される。
46
+
47
+ ```scss
48
+ .-max-sz\:container {
49
+ max-inline-size: var(--sz--container, 100cqi);
50
+ margin-inline: calc(50% - var(--sz--container) / 2);
51
+ }
52
+ ```
53
+
54
+ `margin-inline` で中央配置されるので、`is--wrapper` の内側にあっても container 基準の幅に広げつつ中央に揃う。
55
+
56
+ ## Usage
57
+
58
+ ### トークン値での使用
59
+
60
+ ```jsx
61
+ <Lism max-sz="m" mx="auto">...</Lism>
62
+ ```
63
+ ```html
64
+ <div class="-max-sz:m -mx:auto" style="max-inline-size: var(--sz--m)">...</div>
65
+ ```
66
+
67
+ ### `.has--gutter` 内の全幅要素
68
+
69
+ ```html
70
+ <div class="has--gutter">
71
+ <p>通常の gutter 内コンテンツ</p>
72
+ <img class="-max-sz:full" src="..." alt="" />
73
+ <p>通常の gutter 内コンテンツ</p>
74
+ </div>
75
+ ```
76
+
77
+ ### container 基準のサイズ
78
+
79
+ ```html
80
+ <div class="is--container">
81
+ <div class="is--wrapper -contentSize:s">
82
+ <p>狭めのコンテンツ</p>
83
+ <div class="-max-sz:container">
84
+ container 基準まで広がる要素
85
+ </div>
86
+ </div>
87
+ </div>
88
+ ```
89
+
90
+ ## DEMO
91
+
92
+ `-max-sz:*` の挙動確認用デモ:
93
+ - https://lism-css.com/demo/content-size
94
+
95
+ ## 関連
96
+
97
+ - [`is--container`](../trait-class/is--container.md) — `-max-sz:container` の基準となるコンテナ
98
+ - [`is--wrapper`](../trait-class/is--wrapper.md) — コンテンツ幅の制限
99
+ - [`has--gutter`](../trait-class/has--gutter.md) — `-max-sz:full` と組み合わせる左右余白
@@ -18,6 +18,12 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
18
18
 
19
19
  [詳細](https://lism-css.com/docs/property-class/)
20
20
 
21
+ 個別ドキュメント:
22
+
23
+ - [property-class/bd.md](./property-class/bd.md) — ボーダー(`-bd` / `-bd-{side}` 系)
24
+ - [property-class/hov.md](./property-class/hov.md) — ホバー(`-hov:*` 系)
25
+ - [property-class/max-sz.md](./property-class/max-sz.md) — 最大幅(`-max-sz:full` / `-max-sz:container` 等)
26
+
21
27
  ---
22
28
 
23
29
  ## 基本書式
@@ -77,7 +83,7 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
77
83
 
78
84
  | Prop | CSS プロパティ | プリセット値クラス | BP クラス |
79
85
  |------|--------------|-------------|-----|
80
- | `d` | `display` | `-d:none`, `-d:block`, `-d:flex`, `-d:inline-flex`, `-d:grid`, `-d:inline-grid` | `-d_sm`, `-d_md` |
86
+ | `d` | `display` | `-d:none`, `-d:block`, `-d:flex`, `-d:inline-flex`, `-d:grid`, `-d:inline-grid`, `-d:inline`, `-d:inline-block` | `-d_sm`, `-d_md` |
81
87
  | `o` | `opacity` | `-o:0`, `-o:-10`, `-o:-20`, `-o:-30` | — |
82
88
  | `v` | `visibility` | `-v:hidden` | — |
83
89
  | `ov` | `overflow` | `-ov:hidden`, `-ov:auto`, `-ov:clip` | — |
@@ -103,9 +109,11 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
103
109
  | `max-bsz` | `max-block-size` | — | — |
104
110
 
105
111
  **`max-sz` の特殊クラス:**
106
- - `-max-sz:full` — `max-inline-size: 100%`。`.set--gutter` 内では gutter 分を含めた全幅に拡張
112
+ - `-max-sz:full` — `.has--gutter` 内では gutter 分を含めた全幅に拡張
107
113
  - `-max-sz:container` — コンテナ幅に合わせる(`margin-inline` で中央配置)
108
114
 
115
+ → 詳細は [property-class/max-sz.md](./property-class/max-sz.md) 参照
116
+
109
117
  ### 背景
110
118
 
111
119
  | Prop | CSS プロパティ | プリセット値クラス | BP クラス |
@@ -146,9 +154,9 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
146
154
 
147
155
  | Prop | CSS プロパティ | プリセット値クラス | BP クラス |
148
156
  |------|--------------|-------------|-----|
149
- | `bxsh` | `box-shadow` | `-bxsh:0`, `-bxsh:10`, `-bxsh:20`, `-bxsh:30`, `-bxsh:40` | `-bxsh_sm`, `-bxsh_md` |
157
+ | `bxsh` | `box-shadow` | `-bxsh:0`, `-bxsh:10`, `-bxsh:20`, `-bxsh:30`, `-bxsh:40`, `-bxsh:50` | `-bxsh_sm`, `-bxsh_md` |
150
158
 
151
- **注意:** `bxsh` の使用時は `set--shadow` クラスの併用が必要です(影色 `--shc` の再計算のため)。
159
+ **補足:** 影色(`--shc`)を要素内で上書きして再計算させたい場合は、`set--var:bxsh` クラスを併用する。
152
160
 
153
161
  ### ポジション
154
162
 
@@ -271,89 +279,32 @@ SPACE トークン(全値): `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `
271
279
 
272
280
  ### ボーダー(`bd` 系)
273
281
 
274
- [詳細](https://lism-css.com/docs/property-class/bd/)
282
+ Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理される特殊仕様。`-bd` または `-bd-{side}` を付けると初期値(`solid` / `1px` / `var(--divider)`)がセットされ、`bds` / `bdc` / `bdw` Prop で上書きする。
275
283
 
276
- Lism CSS のボーダーは CSS 変数(`--bds`, `--bdw`, `--bdc`)で管理される特殊な仕様です。
277
- `-bd` または `-bd-{side}` クラスを付けると、初期値(`--bds: solid`, `--bdw: 1px`, `--bdc: var(--divider)`)がセットされ、`bds`, `bdc`, `bdw` Prop で個別に上書きできます。
284
+ | Prop | CSS プロパティ / 変数 | 主なクラス |
285
+ |------|-----------------------|------------|
286
+ | `bd` | `border`(変数管理を有効化) | `-bd`, `-bd-{x\|y\|x-s\|x-e\|y-s\|y-e\|t\|b\|l\|r}`, `-bd:none` |
287
+ | `bds` | `--bds` | `-bds:dashed`, `-bds:dotted`, `-bds:double` |
288
+ | `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` |
289
+ | `bdw` | `--bdw` | BP クラス: `-bdw_sm`, `-bdw_md` |
278
290
 
279
- | Prop | CSS プロパティ | プリセット値クラス | BP クラス |
280
- |------|--------------|-------------|-----|
281
- | `bd` | `border`(変数管理を有効化) | `-bd:none` | — |
282
- | `bds` | `--bds` 変数 | `-bds:dashed`, `-bds:dotted`, `-bds:double` | — |
283
- | `bdc` | `--bdc` 変数 | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` | — |
284
- | `bdw` | `--bdw` 変数 | — | `-bdw_sm`, `-bdw_md` |
285
-
286
- **方向指定:**
287
-
288
- | Prop | CSS プロパティ |
289
- |------|--------------|
290
- | `bd-x` | `border-inline` |
291
- | `bd-y` | `border-block` |
292
- | `bd-x-s` | `border-inline-start` |
293
- | `bd-x-e` | `border-inline-end` |
294
- | `bd-y-s` | `border-block-start` |
295
- | `bd-y-e` | `border-block-end` |
296
- | `bd-t` | `border-top` |
297
- | `bd-b` | `border-bottom` |
298
- | `bd-l` | `border-left` |
299
- | `bd-r` | `border-right` |
300
-
301
- ```jsx
302
- // JSX: ボーダー + カスタマイズ
303
- <Box bd bdc="brand" bdw="2px" bds="dashed">...</Box>
304
-
305
- // HTML
306
- <div class="l--box -bd -bdc:brand" style="--bdw: 2px; --bds: dashed">...</div>
307
-
308
- // 方向指定
309
- <Box bd-y bdc="divider">...</Box>
310
- // → <div class="l--box -bd-y -bdc:divider">...</div>
311
- ```
291
+ 詳細(方向ごとのスタイル指定、BP での方向切り替え等)は [property-class/bd.md](./property-class/bd.md) 参照
312
292
 
313
293
  ### ホバー(`hov` 系)
314
294
 
315
- [詳細](https://lism-css.com/docs/property-class/hov/)
316
-
317
- ホバーエフェクト用のクラスです。`-hov:{prop}` 系と `-hov:to:*` 系の2種類があります。
318
-
319
- **`-hov:{prop}` — ホバー時のプロパティ変更**
295
+ ホバーエフェクト用のクラス群。以下の 3 形式がある。
320
296
 
321
- `:hover` 擬似クラスで直接動作します(`set--hov` は不要)。`@media (any-hover: hover)` 内で定義され、タッチデバイスでは無効になります。
297
+ | 形式 | 役割 | 動作条件 |
298
+ |------|------|---------|
299
+ | `.-hov:-{prop}` | `--hov-{prop}` 変数で hover 時の値を変化させる | `:hover`(`@media (any-hover: hover)` 内) |
300
+ | `.-hov:{preset}` | hover 時のスタイルをプリセットで適用 | `:hover`(同上) |
301
+ | `.-hov:in:{preset}` | 親の `set--var:hov` を起点に子のスタイルを変化させる | 親に `set--var:hov` が必要 |
322
302
 
323
- | クラス | 効果 | デフォルト値 |
324
- |--------|------|-------------|
325
- | `-hov:c` | テキスト色を変更 | `var(--hov-c, var(--link))` |
326
- | `-hov:bgc` | 背景色を変更 | `var(--hov-bgc, var(--base-2))` |
327
- | `-hov:bdc` | ボーダー色を変更 | `var(--hov-bdc, currentColor)` |
328
- | `-hov:o` | 不透明度を変更 | `var(--hov-o, 0.7)` |
329
- | `-hov:bxsh` | シャドウを変更 | `var(--hov-bxsh, var(--bxsh--40))` |
330
- | `-hov:neutral` | ニュートラルグレーを混合 | `color-mix(...)` |
303
+ **標準プリセット:** `.-hov:-c`, `.-hov:-bgc`, `.-hov:-bdc`, `.-hov:-o`, `.-hov:-bxsh`, `.-hov:underline`, `.-hov:neutral`, `.-hov:in:hide`, `.-hov:in:show`, `.-hov:in:zoom`
331
304
 
332
- ```jsx
333
- // JSX: ホバーで色変更(set--hov なしで動作する)
334
- <Link hov={{ c: true }}>リンク</Link>
335
- // → <a class="-hov:c" href="...">リンク</a>
336
-
337
- // カスタム値を指定
338
- <Box hov={{ bgc: true }} style={{ '--hov-bgc': 'var(--brand)' }}>...</Box>
339
- ```
305
+ **`<Lism>` の `hov` prop:** 文字列指定(`hov="-c"` → `-hov:-c`。自動変換なし、カンマ区切りで複数可)とオブジェクト指定(`hov={{ c: 'red' }}` → `-hov:-c` + `--hov-c: var(--red)`。値 `true` でクラスのみ出力)が可能。
340
306
 
341
- **`-hov:to:*` `set--hov` 連動のトランジションクラス**
342
-
343
- `set--hov` がセットする `--_isHov` / `--_notHov` 変数を利用して動作します。`set--hov` と `set--transition` の併用が必要です。
344
-
345
- | クラス | 効果 | 仕組み |
346
- |--------|------|--------|
347
- | `-hov:to:hide` | ホバー時にフェードアウト | `opacity: var(--_isHov, 0)` |
348
- | `-hov:to:show` | ホバー時にフェードイン | `opacity: var(--_notHov, 0)` |
349
- | `-hov:to:zoom` | ホバー時にズーム | `scale: var(--_isHov, 1.1)` |
350
-
351
- ```jsx
352
- // set--hov + set--transition が必要
353
- <Box set="hov transition">
354
- <Box hov={{ to: 'show' }}>ホバーで表示</Box>
355
- </Box>
356
- ```
307
+ 詳細は [property-class/hov.md](./property-class/hov.md) 参照
357
308
 
358
309
  ## その他
359
310
 
@@ -364,6 +315,7 @@ Lism CSS のボーダーは CSS 変数(`--bds`, `--bdw`, `--bdc`)で管理
364
315
  | `float` | `float` | `-float:left`, `-float:right` | — |
365
316
  | `clear` | `clear` | `-clear:both` | — |
366
317
  | `iso` | `isolation` | `-iso:isolate` | — |
318
+ | `wm` | `writing-mode` | `-wm:vertical-rl` | `-wm_sm`, `-wm_md` |
367
319
 
368
320
 
369
321
  ## 値の省略形(例外一覧)
@@ -383,8 +335,22 @@ Property Class の値名は基本的に CSS の実値と同じですが、以下
383
335
 
384
336
  ### `alwaysVar` タイプ
385
337
 
386
- `fz`, `p`, `px`, `py`, `m`, `mx`, `my`, `g`, `c`, `bgc`, `bdrs`, `bxsh` など。
387
- プリセット値クラス(`-p:20`)でも常に CSS 変数(`--p`)経由で値が適用されます。これにより、子要素や疑似要素から `var(--p)` で親の値を参照できます。
338
+ `c`, `bgc`, `p`, `m`, `bdrs` 5 つ。
339
+
340
+ 例えば`-p`の場合、プリセット値クラス(`-p:20`)でも常に CSS 変数(`--p`)経由で値が適用されます。
341
+ さらに BP クラスでも `padding:var(--p);--p:var(--p_sm) !important;` の形で出力されるため、`--p` は常に現在適用中の値を指します。
342
+
343
+ これにより、子要素や疑似要素から `var(--p)` で親の値を参照できます。
344
+
345
+ **CSS 出力例:**
346
+
347
+ ```css
348
+ .-p, [class*="-p:"] { padding: var(--p) }
349
+ .-p\:20 { --p: var(--s20) }
350
+ @container (min-width: 480px) {
351
+ .-p_sm { padding: var(--p); --p: var(--p_sm) !important }
352
+ }
353
+ ```
388
354
 
389
355
 
390
356
  ## Property Class の検索・一括修正
@@ -1,18 +1,27 @@
1
1
  # `set--` クラス
2
2
 
3
- `@layer lism-base` に属し、特定の機能を有効にするために CSS変数やベーススタイルをセットアップするクラス群です。
4
- HTML では直接クラスを付与し、Lism コンポーネントでは `set` prop(`set="plain"`, `set="shadow"` 等)で指定します。
3
+ `@layer lism-base` に属し、HTML 要素の基礎スタイリングまたは CSS 変数のセットアップだけを行うクラス群です。
4
+ HTML では直接クラスを付与し、Lism コンポーネントでは `set` prop(`set="plain"`, `set="revert"`, `set="var:bxsh"` 等)で指定します。
5
5
 
6
6
  `set` prop の記法(複数値指定・`-` prefix による除外)は [components-core.md](./components-core.md#共通-props) を参照してください。
7
7
 
8
+ set-- は目的別に 2 カテゴリに分かれます。
9
+
10
+ | カテゴリ | 用途 | クラス |
11
+ |---------|------|--------|
12
+ | 基礎スタイリング | HTML 要素のリセット/リバート | `set--plain` / `set--revert` |
13
+ | 変数のセット | CSS 変数のセットアップのみを行う | `set--var:bxsh` / `set--var:hov` / `set--var:bdrsInner` |
14
+
15
+ `set--var:{name}` の `{name}` は、そのクラスがセットアップする CSS 変数の名称に対応します(例: `--bxsh--*` → `var:bxsh`、`--_isHov` / `--_notHov` → `var:hov`、`--bdrs--inner` → `var:bdrsInner`)。
16
+
8
17
  ## TOC
9
18
 
10
19
  - [`set--plain`](#set--plain)
11
- - [`set--shadow`](#set--shadow)
12
- - [`set--hov`](#set--hov)
13
- - [`set--transition`](#set--transition)
14
- - [`set--gutter`](#set--gutter)
15
- - [`set--innerRs`](#set--innerrs)
20
+ - [`set--revert`](#set--revert)
21
+ - [`set--var:bxsh`](#set--varbxsh)
22
+ - [`set--var:hov`](#set--varhov)
23
+ - [`set--var:bdrsInner`](#set--varbdrsinner)
24
+
16
25
  [詳細](https://lism-css.com/docs/set-class/)
17
26
 
18
27
  ---
@@ -24,16 +33,16 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
24
33
  | クラス | ソースファイル |
25
34
  |--------|---------------|
26
35
  | `set--plain` | [`_plain.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_plain.scss) |
27
- | `set--shadow` | [`_shadow.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_shadow.scss) |
28
- | `set--hov` | [`_hov.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_hov.scss) |
29
- | `set--transition` | [`_transition.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_transition.scss) |
30
- | `set--gutter` | [`_gutter.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_gutter.scss) |
31
- | `set--innerRs` | [`_innerRs.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_innerRs.scss) |
36
+ | `set--revert` | [`_revert.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_revert.scss) |
37
+ | `set--var:bxsh` | [`_shadow.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_shadow.scss) |
38
+ | `set--var:hov` | [`_hov.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_hov.scss) |
39
+ | `set--var:bdrsInner` | [`_bdrsInner.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bdrsInner.scss) |
40
+
32
41
  ---
33
42
 
34
43
  ## `set--plain`
35
44
 
36
- `width`, `color`, `font`, `pading`, `border`など、ブラウザデフォルトスタイルを完全にリセットします。
45
+ `width`, `color`, `font`, `padding`, `border` など、ブラウザデフォルトスタイルを完全にリセットします。
37
46
  ボタン・リンク等のスタイリング時に活用します。
38
47
 
39
48
  使用例:
@@ -44,22 +53,45 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
44
53
  <Lism as="button" set="plain">...</Lism>
45
54
  ```
46
55
 
47
- ## `set--shadow`
56
+ ## `set--revert`
48
57
 
49
- `SHADOW`トークン変数(`--bxsh--{token}`)を再計算するためのクラスです。`:root` で定義される `--shc`(影の色)を特定要素で上書きしたい時に利用します。
58
+ ブラウザデフォルトの見た目を明示的に復活させるためのクラスです。
59
+ これ単体ではスタイルは持ちません(全プロパティをrevertするというようなものではない)。
50
60
 
51
- 使用例:
61
+ 特定のHTML要素と組み合わせてスタイルを定義して使うものであり、現状は `ul` / `ol` のみ対象です。
52
62
 
63
+ Lism CSSでは、クラスを持つリスト(`ul` / `ol`)ではスタイルがリセットされます。
64
+ クラスを持ちつつ、箇条書き表示を維持したい場合(Property Class しか持たないリストなど)に `set--revert` を付与します。
65
+
66
+
67
+ 使用例:
53
68
  ```html
54
- <div class="l--box set--shadow -bxsh:20" style="--shc: hsl(200 50% 50% / 20%)">...</div>
69
+ <ul class="-fz:l set--revert">
70
+ <li>item 1</li>
71
+ <li>item 2</li>
72
+ </ul>
55
73
  ```
56
74
  ```jsx
57
- <Box set="shadow" bxsh='20' style={{ '--shc': 'hsl(200 50% 50% / 20%)' }}>...</Box>
75
+ <Lism as="ul" fz="l" set="revert">
76
+ <li>item 1</li>
77
+ <li>item 2</li>
78
+ </Lism>
58
79
  ```
59
80
 
81
+ ## `set--var:bxsh`
82
+
83
+ `SHADOW` トークン変数(`--bxsh--{N}`)を再計算するためのクラスです。`:root` で定義される `--shc`(影の色)を特定要素で上書きしたい時に利用します。
84
+
85
+ 使用例:
86
+ ```html
87
+ <div class="l--box set--var:bxsh -bxsh:20" style="--shc: hsl(200 50% 50% / 20%)">...</div>
88
+ ```
89
+ ```jsx
90
+ <Box set="var:bxsh" bxsh='20' style={{ '--shc': 'hsl(200 50% 50% / 20%)' }}>...</Box>
91
+ ```
60
92
 
61
93
 
62
- ## `set--hov`
94
+ ## `set--var:hov`
63
95
 
64
96
  ホバー状態の判定変数(`--_notHov`, `--_isHov`)を次のようにセットします。主に**子要素のホバースタイルを制御する**時に活用します。
65
97
 
@@ -86,13 +118,13 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
86
118
  }
87
119
  ```
88
120
 
89
- さらに、親要素に`set--hov`を付与してその子要素で`--_isHov`変数と`--_notHov`変数を使うことで、親要素のhoverをトリガーとして子要素のスタイルを変化させることも可能になります。
121
+ さらに、親要素に`set--var:hov`を付与してその子要素で`--_isHov`変数と`--_notHov`変数を使うことで、親要素のhoverをトリガーとして子要素のスタイルを変化させることも可能になります。
90
122
 
91
- 例えば、親のボックスがhoverされたら、その内部の画像をズームするようなケースで活用でき、`-hov:to:zoom`クラスが標準で用意されています。
123
+ 例えば、親のボックスがhoverされたら、その内部の画像をズームするようなケースで活用でき、`-hov:in:zoom`クラスが標準で用意されています。
92
124
 
93
125
  ```html
94
- <a href="###" class="l--frame is--boxLink set--hov -ar:21/9 -ov:hidden">
95
- <img class="set--transition -hov:to:zoom" src="https://cdn.lism-css.com/img/a-2.jpg" width="960" height="640" loading="lazy" />
126
+ <a href="###" class="l--frame set--var:hov is--boxLink -ar:21/9 -ov:hidden">
127
+ <img class="has--transition -hov:in:zoom" src="https://cdn.lism-css.com/img/a-2.jpg" width="960" height="640" loading="lazy" />
96
128
  <div class="is--layer -bgc" style="--c: #fff; --bgc: rgb(0 0 0 / 50%)"></div>
97
129
  <div class="l--center is--layer -c" style="--c: #fff;">
98
130
  <span class="-fz:xl">バナーリンク</span>
@@ -101,75 +133,28 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
101
133
  ```
102
134
 
103
135
  ```css
104
- .-hov\:to\:zoom {
105
- --transProp: scale;
136
+ .-hov\:in\:zoom {
137
+ --transitionProps: scale;
106
138
  scale: var(--_isHov, 1.1);
107
139
  }
108
140
  ```
109
141
 
110
142
 
111
- ## `set--transition`
143
+ ## `set--var:bdrsInner`
112
144
 
113
- トランジション用の CSS をセットアップします。
114
-
115
- ```scss
116
- .set--transition {
117
- transition: var(--hov-duration, 0.25s) var(--hov-ease, linear) var(--hov-delay, 0s);
118
- transition-property: var(--hov-prop, all);
119
- }
120
- ```
121
-
122
- | カスタム変数 | デフォルト |
123
- |-------------|-----------|
124
- | `--hov-prop` | `all` |
125
- | `--hov-duration` | `0.25s` |
126
- | `--hov-ease` | `linear` |
127
- | `--hov-delay` | `0s` |
128
-
129
- ```html
130
- <div class="set--transition -hov:c" style="--hov-prop: color; --hov-c: var(--red);">...</div>
131
- ```
132
- ```jsx
133
- <Lism set="transition" hov={{c: 'red'}} style={{ '--hov-prop': 'color'}}>...</Lism>
134
- ```
135
-
136
-
137
-
138
- ## `set--gutter`
139
-
140
- 要素に左右パディングを適用します。`--gutter-size` のデフォルトは `var(--s30)` です。
141
-
142
- ```scss
143
- .set--gutter {
144
- padding-inline: var(--gutter-size);
145
- }
146
- ```
147
-
148
- ```html
149
- <div class="set--gutter">...</div>
150
- ```
151
- ```jsx
152
- <Lism set="gutter">...</Lism>
153
- ```
154
-
155
-
156
- ## `set--innerRs`
157
-
158
- 親要素の角丸(`--bdrs`)とPadding(`--p`)の値から、その内側の角丸(`--bdrs--inner`)を自動計算するためのクラスです。
159
- 親要素に`set--innerRs`をクラスをセットし、子要素では`-bdrs:inner`をセットすることで、計算された`--bdrs--inner`をセットすることができます。
145
+ 親要素の角丸(`--bdrs`)とPadding(`--p`)の値から、その内側の角丸(`--bdrs--inner`)を自動計算するためのクラスです。
146
+ 親要素に`set--var:bdrsInner`をクラスをセットし、子要素では`-bdrs:inner`をセットすることで、計算された`--bdrs--inner`をセットすることができます。
160
147
 
161
148
  (親要素では`bdrs`と`p`の指定が必須となります。)
162
149
 
163
150
  使用例:
164
- ```html "set--innerRs" "-bdrs:inner"
165
- <div class="set--innerRs -p:15 -bdrs:40 -bd">
151
+ ```html "set--var:bdrsInner" "-bdrs:inner"
152
+ <div class="set--var:bdrsInner -p:15 -bdrs:40 -bd">
166
153
  <div class="-bdrs:inner">...</div>
167
154
  </div>
168
155
  ```
169
156
  ```jsx
170
- <Lism set="innerRs" p="15" bdrs="40" bd>
157
+ <Lism set="var:bdrsInner" p="15" bdrs="40" bd>
171
158
  <Lism bdrs="inner">...</Lism>
172
159
  </Lism>
173
160
  ```
174
-
175
-