@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.
- package/dist/data/docs-index.json +152 -82
- package/dist/data/guides/SKILL.md +43 -19
- package/dist/data/guides/antipatterns.md +147 -0
- package/dist/data/guides/base-styles.md +3 -1
- package/dist/data/guides/components-core.md +21 -17
- package/dist/data/guides/components-ui.md +18 -13
- package/dist/data/guides/css-rules.md +43 -34
- package/dist/data/guides/customize.md +220 -0
- package/dist/data/guides/naming.md +26 -7
- package/dist/data/guides/primitive-class.md +82 -30
- package/dist/data/guides/primitives/a--decorator.md +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/data/guides/primitives/l--flow.md +5 -5
- package/dist/data/guides/primitives/l--frame.md +2 -2
- 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} +42 -20
- package/dist/data/guides/prop-responsive.md +29 -4
- package/dist/data/guides/property-class/bd.md +127 -0
- package/dist/data/guides/property-class/hov.md +140 -0
- package/dist/data/guides/property-class/max-sz.md +99 -0
- package/dist/data/guides/property-class.md +49 -83
- package/dist/data/guides/set-class.md +65 -80
- package/dist/data/guides/tokens.md +26 -13
- package/dist/data/guides/trait-class/has--gutter.md +48 -0
- package/dist/data/guides/trait-class/has--mask.md +66 -0
- package/dist/data/guides/trait-class/has--snap.md +68 -0
- package/dist/data/guides/trait-class/has--transition.md +73 -0
- package/dist/data/guides/{primitives → trait-class}/is--boxLink.md +8 -8
- package/dist/data/guides/{primitives → trait-class}/is--container.md +11 -5
- package/dist/data/guides/{primitives → trait-class}/is--layer.md +5 -5
- package/dist/data/guides/{primitives → trait-class}/is--wrapper.md +8 -8
- package/dist/data/guides/trait-class.md +77 -0
- package/dist/data/guides/utility-class.md +9 -9
- package/dist/data/meta.js +2 -2
- package/dist/lib/load-markdown.js +1 -1
- package/dist/lib/search.js +8 -5
- package/dist/tools/get-component.js +4 -3
- package/dist/tools/get-guide.js +9 -2
- package/package.json +2 -2
- 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
|
|
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` — `
|
|
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
|
-
|
|
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
|
-
以下は通常の
|
|
278
|
+
以下は通常の `-{prop}:{value}` パターンとは異なる特殊な仕組みを持つ Prop です。
|
|
271
279
|
|
|
272
280
|
### ボーダー(`bd` 系)
|
|
273
281
|
|
|
274
|
-
|
|
282
|
+
Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理される特殊仕様。`-bd` または `-bd-{side}` を付けると初期値(`solid` / `1px` / `var(--divider)`)がセットされ、`bds` / `bdc` / `bdw` Prop で上書きする。
|
|
275
283
|
|
|
276
|
-
|
|
277
|
-
|
|
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
|
-
|
|
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
|
-
|
|
316
|
-
|
|
317
|
-
ホバーエフェクト用のクラスです。`-hov:{prop}` 系と `-hov:to:*` 系の2種類があります。
|
|
318
|
-
|
|
319
|
-
**`-hov:{prop}` — ホバー時のプロパティ変更**
|
|
295
|
+
ホバーエフェクト用のクラス群。以下の 3 形式がある。
|
|
320
296
|
|
|
321
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
`
|
|
387
|
-
|
|
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`
|
|
4
|
-
HTML では直接クラスを付与し、Lism コンポーネントでは `set` prop(`set="plain"`, `set="
|
|
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--
|
|
12
|
-
- [`set--
|
|
13
|
-
- [`set--
|
|
14
|
-
- [`set--
|
|
15
|
-
|
|
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--
|
|
28
|
-
| `set--
|
|
29
|
-
| `set--
|
|
30
|
-
| `set--
|
|
31
|
-
|
|
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`, `
|
|
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--
|
|
56
|
+
## `set--revert`
|
|
48
57
|
|
|
49
|
-
|
|
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
|
-
<
|
|
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
|
-
<
|
|
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
|
|
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:
|
|
123
|
+
例えば、親のボックスがhoverされたら、その内部の画像をズームするようなケースで活用でき、`-hov:in:zoom`クラスが標準で用意されています。
|
|
92
124
|
|
|
93
125
|
```html
|
|
94
|
-
<a href="###" class="l--frame is--boxLink
|
|
95
|
-
<img class="
|
|
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\:
|
|
105
|
-
--
|
|
136
|
+
.-hov\:in\:zoom {
|
|
137
|
+
--transitionProps: scale;
|
|
106
138
|
scale: var(--_isHov, 1.1);
|
|
107
139
|
}
|
|
108
140
|
```
|
|
109
141
|
|
|
110
142
|
|
|
111
|
-
## `set--
|
|
143
|
+
## `set--var:bdrsInner`
|
|
112
144
|
|
|
113
|
-
|
|
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--
|
|
165
|
-
<div class="set--
|
|
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="
|
|
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) |
|
|
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
|
|
138
|
-
| `--o
|
|
139
|
-
| `--o
|
|
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
|
|
159
|
+
`--shc`(シャドウカラー)と `--shsz--{N}`(シャドウサイズ)を組み合わせて構成される。要素ごとに `--shc` を上書きして再計算したい場合は、`set--var:bxsh` クラスを併用する。
|
|
157
160
|
|
|
158
|
-
| CSS変数 | 値 |
|
|
159
|
-
|
|
160
|
-
| `--bxsh--10` | `var(--
|
|
161
|
-
| `--bxsh--20` | `var(--
|
|
162
|
-
| `--bxsh--30` | `var(--
|
|
163
|
-
| `--bxsh--40` | `var(--
|
|
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 と組み合わせてセクションラッパーを構成することが多い
|