@lism-css/mcp 0.14.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.
Files changed (51) hide show
  1. package/dist/data/docs-index.json +152 -82
  2. package/dist/data/guides/SKILL.md +43 -19
  3. package/dist/data/guides/antipatterns.md +147 -0
  4. package/dist/data/guides/base-styles.md +3 -1
  5. package/dist/data/guides/components-core.md +21 -17
  6. package/dist/data/guides/components-ui.md +18 -13
  7. package/dist/data/guides/css-rules.md +43 -34
  8. package/dist/data/guides/customize.md +220 -0
  9. package/dist/data/guides/naming.md +26 -7
  10. package/dist/data/guides/primitive-class.md +82 -30
  11. package/dist/data/guides/primitives/a--decorator.md +2 -2
  12. package/dist/data/guides/primitives/a--divider.md +1 -1
  13. package/dist/data/guides/primitives/a--icon.md +1 -1
  14. package/dist/data/guides/primitives/a--spacer.md +1 -1
  15. package/dist/data/guides/primitives/l--autoColumns.md +71 -0
  16. package/dist/data/guides/primitives/l--box.md +2 -2
  17. package/dist/data/guides/primitives/l--center.md +1 -1
  18. package/dist/data/guides/primitives/l--cluster.md +2 -2
  19. package/dist/data/guides/primitives/l--columns.md +3 -3
  20. package/dist/data/guides/primitives/l--flex.md +2 -2
  21. package/dist/data/guides/primitives/l--flow.md +5 -5
  22. package/dist/data/guides/primitives/l--frame.md +2 -2
  23. package/dist/data/guides/primitives/l--grid.md +2 -2
  24. package/dist/data/guides/primitives/l--stack.md +1 -1
  25. package/dist/data/guides/primitives/{l--switchCols.md → l--switchColumns.md} +18 -18
  26. package/dist/data/guides/primitives/l--tileGrid.md +2 -2
  27. package/dist/data/guides/primitives/{l--sideMain.md → l--withSide.md} +42 -20
  28. package/dist/data/guides/prop-responsive.md +29 -4
  29. package/dist/data/guides/property-class/bd.md +127 -0
  30. package/dist/data/guides/property-class/hov.md +140 -0
  31. package/dist/data/guides/property-class/max-sz.md +99 -0
  32. package/dist/data/guides/property-class.md +49 -83
  33. package/dist/data/guides/set-class.md +65 -80
  34. package/dist/data/guides/tokens.md +26 -13
  35. package/dist/data/guides/trait-class/has--gutter.md +48 -0
  36. package/dist/data/guides/trait-class/has--mask.md +66 -0
  37. package/dist/data/guides/trait-class/has--snap.md +68 -0
  38. package/dist/data/guides/trait-class/has--transition.md +73 -0
  39. package/dist/data/guides/{primitives → trait-class}/is--boxLink.md +8 -8
  40. package/dist/data/guides/{primitives → trait-class}/is--container.md +11 -5
  41. package/dist/data/guides/{primitives → trait-class}/is--layer.md +5 -5
  42. package/dist/data/guides/{primitives → trait-class}/is--wrapper.md +8 -8
  43. package/dist/data/guides/trait-class.md +77 -0
  44. package/dist/data/guides/utility-class.md +9 -9
  45. package/dist/data/meta.js +2 -2
  46. package/dist/lib/load-markdown.js +1 -1
  47. package/dist/lib/search.js +8 -5
  48. package/dist/tools/get-component.js +4 -3
  49. package/dist/tools/get-guide.js +9 -2
  50. package/package.json +2 -2
  51. package/dist/data/guides/primitives/l--fluidCols.md +0 -71
@@ -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.md
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` と組み合わせる左右余白
@@ -16,7 +16,13 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
16
16
  - [Property Class の特殊な出力タイプ](#property-class-の特殊な出力タイプ)
17
17
  - [Property Class の検索・一括修正](#property-class-の検索一括修正)
18
18
 
19
- [詳細](https://lism-css.com/docs/property-class/)
19
+ [詳細](https://lism-css.com/docs/property-class.md)
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` 等)
20
26
 
21
27
  ---
22
28
 
@@ -77,8 +83,8 @@ 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` |
81
- | `o` | `opacity` | `-o:0`, `-o:-10`, `-o:-20`, `-o:-30` | — |
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` |
87
+ | `o` | `opacity` | `-o:0`, `-o:mp`, `-o:p`, `-o:pp`, `-o:ppp` | — |
82
88
  | `v` | `visibility` | `-v:hidden` | — |
83
89
  | `ov` | `overflow` | `-ov:hidden`, `-ov:auto`, `-ov:clip` | — |
84
90
  | `ov-x` | `overflow-x` | `-ov-x:clip`, `-ov-x:auto`, `-ov-x:scroll` | — |
@@ -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
 
@@ -267,93 +275,36 @@ SPACE トークン(全値): `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `
267
275
 
268
276
  ## 特殊な Property Class
269
277
 
270
- 以下は通常の `.-{prop}:{value}` パターンとは異なる特殊な仕組みを持つ Prop です。
278
+ 以下は通常の `-{prop}:{value}` パターンとは異なる特殊な仕組みを持つ Prop です。
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,19 +1,28 @@
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)
16
- [詳細](https://lism-css.com/docs/set-class/)
20
+ - [`set--revert`](#set--revert)
21
+ - [`set--var:bxsh`](#set--varbxsh)
22
+ - [`set--var:hov`](#set--varhov)
23
+ - [`set--var:bdrsInner`](#set--varbdrsinner)
24
+
25
+ [詳細](https://lism-css.com/docs/set-class.md)
17
26
 
18
27
  ---
19
28
 
@@ -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
 
@@ -82,17 +114,17 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
82
114
  .-hov\:test {
83
115
  color: var(--_isHov, green) var(--_notHov, red); /* hover時はgreen, 非hover時はred*/
84
116
  box-shadow: var(--_isHov, var(--bxsh--30)); /* hover時はshadowをつける(非hover時は無効な値) */
85
- opacity: var(--_notHov, var(--o---20)); /* 非hover時は不透明度を下げる(hover時は無効な値) */
117
+ opacity: var(--_notHov, var(--o--pp)); /* 非hover時は不透明度を下げる(hover時は無効な値) */
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
-
@@ -20,7 +20,7 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
20
20
  - [カラー](#カラー)
21
21
  - [トークン値の命名規則](#トークン値の命名規則)
22
22
 
23
- [詳細](https://lism-css.com/docs/tokens/)
23
+ [詳細](https://lism-css.com/docs/tokens.md)
24
24
 
25
25
  ---
26
26
 
@@ -34,9 +34,9 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
34
34
  | 字間 (lts) | `base`, `s`, `l` | `--lts--{key}` | `--lts--s` |
35
35
  | フォント (ff) | `base`, `accent`, `mono` | `--ff--{key}` | `--ff--mono` |
36
36
  | ウェイト (fw) | `light`, `normal`, `bold` | `--fw--{key}` | `--fw--bold` |
37
- | 透明度 (o) | `-10`, `-20`, `-30` | `--o--{-N}` | `--o---10` |
37
+ | 透明度 (o) | `mp`, `p`, `pp`, `ppp` | `--o--{key}` | `--o--p` |
38
38
  | 角丸 (bdrs) | `10`, `20`, `30`, `40`, `99`, `inner` | `--bdrs--{key}` | `--bdrs--20` |
39
- | 影 (bxsh) | `10`, `20`, `30`, `40` | `--bxsh--{N}` | `--bxsh--20` |
39
+ | 影 (bxsh) | `10`, `20`, `30`, `40`, `50` | `--bxsh--{N}` | `--bxsh--20` |
40
40
  | サイズ (sz) | `xs`, `s`, `m`, `l`, `xl`, `container` | `--sz--{key}` | `--sz--l` |
41
41
  | アスペクト比 (ar) | `og` | `--ar--{key}` | `--ar--og` |
42
42
  | フロー余白 (flow) | `s`, `l` | `--flow--{key}` | `--flow--s` |
@@ -132,11 +132,14 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
132
132
 
133
133
  ## 透明度 (o)
134
134
 
135
+ 音楽の強弱記号(piano 系列)に由来するセマンティック命名を採用。`p`(piano / 弱く)の反復回数が多いほど透明度が増す。Lism 内で「文字の反復回数で段階を表す」命名は opacity のみの例外。
136
+
135
137
  | CSS変数 | 値 | 説明 |
136
138
  |---------|-----|------|
137
- | `--o---10` | `0.75` | 75%の不透明度 |
138
- | `--o---20` | `0.5` | 50%の不透明度 |
139
- | `--o---30` | `0.25` | 25%の不透明度 |
139
+ | `--o--mp` | `0.9` | mezzo-piano: ごく軽い減衰 |
140
+ | `--o--p` | `0.75` | piano: hover fade, 補助テキスト等 |
141
+ | `--o--pp` | `0.5` | pianissimo: disabled, divider, decorator 等 |
142
+ | `--o--ppp` | `0.25` | pianississimo: 最も強く減衰 |
140
143
 
141
144
 
142
145
  ## 角丸 (bdrs)
@@ -153,14 +156,24 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
153
156
 
154
157
  ## 影 (bxsh)
155
158
 
156
- `--shc`(シャドウカラー: `hsl(220 4% 8% / 5%)`)と `--shsz--{N}`(シャドウサイズ)を組み合わせた複合シャドウ。使用時は `set--shadow` クラスの併用が必要(影色 `--shc` の再計算のため)。
159
+ `--shc`(シャドウカラー)と `--shsz--{N}`(シャドウサイズ)を組み合わせて構成される。要素ごとに `--shc` を上書きして再計算したい場合は、`set--var:bxsh` クラスを併用する。
157
160
 
158
- | CSS変数 | 値 | 説明 |
159
- |---------|-----|------|
160
- | `--bxsh--10` | `var(--sh--5), var(--sh--10)` | step 10 |
161
- | `--bxsh--20` | `var(--sh--10), var(--sh--20)` | step 20 |
162
- | `--bxsh--30` | `var(--sh--20), var(--sh--30)` | step 30 |
163
- | `--bxsh--40` | `var(--sh--30), var(--sh--40)` | step 40(最も濃い) |
161
+ | CSS変数 | 値 |
162
+ |---------|-----|
163
+ | `--bxsh--10` | `var(--shsz--10) var(--shc)` |
164
+ | `--bxsh--20` | `var(--shsz--20) var(--shc)` |
165
+ | `--bxsh--30` | `var(--shsz--30) var(--shc)` |
166
+ | `--bxsh--40` | `var(--shsz--40) var(--shc)` |
167
+ | `--bxsh--50` | `var(--shsz--50) var(--shc)` |
168
+
169
+ | CSS変数 | 初期値 |
170
+ |---------|-----|
171
+ | `--shc` | `hsl(220 4% 8% / 15%)` |
172
+ | `--shsz--10` | `0px 1px 3px` |
173
+ | `--shsz--20` | `0px 2px 6px` |
174
+ | `--shsz--30` | `0px 4px 12px` |
175
+ | `--shsz--40` | `0px 8px 24px` |
176
+ | `--shsz--50` | `0px 16px 48px` |
164
177
 
165
178
 
166
179
  ## カラー
@@ -0,0 +1,48 @@
1
+ # has--gutter
2
+
3
+ 要素の左右に、サイト共通の gutter(余白)を適用する Trait クラス。`padding` 系ユーティリティとは別に、「サイト全体で統一した左右余白」を確保したい時に使う。
4
+
5
+ ## 基本情報
6
+
7
+ - クラス名: `has--gutter`
8
+ - Lism props: `hasGutter`(`<Lism hasGutter>` 等)
9
+ - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/trait/has/_gutter.scss
10
+ - 公式ドキュメント: https://lism-css.com/docs/trait-class.md#has--gutter
11
+
12
+ ## SCSS 定義
13
+
14
+ ```scss
15
+ .has--gutter {
16
+ padding-inline: var(--gutter-size);
17
+ }
18
+ ```
19
+
20
+ `--gutter-size` はトークン (`:root`) で `var(--s30)` がデフォルト定義されている。
21
+
22
+ ## CSS 変数
23
+
24
+ | 変数 | 役割 | デフォルト |
25
+ |------|------|-----------|
26
+ | `--gutter-size` | 左右の padding 量 | `var(--s30)` |
27
+
28
+ 個別要素で `--gutter-size` を上書きすれば、その要素のみ gutter 量を変更できる。
29
+
30
+ ## Usage
31
+
32
+ ```html
33
+ <div class="has--gutter">
34
+ <p>Lorem ipsum content...</p>
35
+ <p>Lorem ipsum content...</p>
36
+ </div>
37
+ ```
38
+ ```jsx
39
+ <Lism hasGutter>
40
+ <p>Lorem ipsum content...</p>
41
+ <p>Lorem ipsum content...</p>
42
+ </Lism>
43
+ ```
44
+
45
+ ## 関連
46
+
47
+ - `-px:*` プロパティクラス — その要素ごとに任意の左右 padding を付けたい場合はこちら
48
+ - `is--wrapper` — コンテンツ幅制御。gutter と組み合わせてセクションラッパーを構成することが多い