@lism-css/mcp 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/docs-index.json +63 -36
- package/dist/data/guides/SKILL.md +136 -24
- package/dist/data/guides/antipatterns.md +318 -0
- package/dist/data/guides/base-styles.md +3 -5
- package/dist/data/guides/components-core.md +8 -10
- package/dist/data/guides/components-ui.md +12 -4
- package/dist/data/guides/css-rules.md +29 -29
- package/dist/data/guides/customize.md +80 -26
- 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 +20 -16
- package/dist/data/guides/property-class.md +23 -12
- package/dist/data/guides/set-class.md +2 -2
- package/dist/data/guides/tokens.md +13 -9
- 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 +13 -5
- package/dist/data/guides/trait-class/is--layer.md +5 -5
- package/dist/data/guides/trait-class/is--wrapper.md +23 -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
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
# l--
|
|
1
|
+
# l--switchColumns / `<SwitchColumns>`
|
|
2
2
|
|
|
3
3
|
複数列 ↔ 1列の切り替えをコンテナクエリやメディアクエリを使わずに実装するクラス。Flexbox ベースで、親コンテナ幅に応じて自動的に折り返します。
|
|
4
4
|
|
|
5
5
|
## 基本情報
|
|
6
6
|
|
|
7
|
-
- クラス名: `l--
|
|
8
|
-
- コンポーネント: `<
|
|
9
|
-
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/
|
|
10
|
-
-
|
|
7
|
+
- クラス名: `l--switchColumns`
|
|
8
|
+
- コンポーネント: `<SwitchColumns>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_switchColumns.scss
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--switchColumns.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
14
|
-
| Prop | CSS変数 | 説明 |
|
|
15
|
-
|
|
16
|
-
| `breakSize` | `--breakSize` | 横並びを維持するのに必要な親コンテナ幅を指定。`sz` トークンが使える |
|
|
14
|
+
| Prop | CSS変数 | デフォルト | 説明 |
|
|
15
|
+
|------|--------|-----------|------|
|
|
16
|
+
| `breakSize` | `--breakSize` | `var(--sz--xs)` | 横並びを維持するのに必要な親コンテナ幅を指定。`sz` トークンが使える |
|
|
17
17
|
|
|
18
18
|
## Usage
|
|
19
19
|
|
|
20
20
|
### デフォルト幅で利用する
|
|
21
21
|
|
|
22
22
|
```jsx
|
|
23
|
-
<
|
|
23
|
+
<SwitchColumns g="20">
|
|
24
24
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
25
25
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
26
26
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
27
|
-
</
|
|
27
|
+
</SwitchColumns>
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
```html
|
|
31
|
-
<div class="l--
|
|
31
|
+
<div class="l--switchColumns -g:20">
|
|
32
32
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
33
33
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
34
34
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
@@ -38,14 +38,14 @@
|
|
|
38
38
|
### `breakSize` の指定
|
|
39
39
|
|
|
40
40
|
```jsx
|
|
41
|
-
<
|
|
41
|
+
<SwitchColumns breakSize="s" g="20">
|
|
42
42
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
43
43
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
44
|
-
</
|
|
44
|
+
</SwitchColumns>
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
```html
|
|
48
|
-
<div class="l--
|
|
48
|
+
<div class="l--switchColumns -g:20" style="--breakSize: var(--sz--s)">
|
|
49
49
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
50
50
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
51
51
|
</div>
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
子要素に `flex-grow` を指定すると、横並び時の幅の比率を個別に調整できます。
|
|
57
57
|
|
|
58
58
|
```jsx
|
|
59
|
-
<
|
|
59
|
+
<SwitchColumns breakSize="s" g="20">
|
|
60
60
|
<div class="-bgc:base-2 -p:20">Box</div>
|
|
61
61
|
<div class="-bgc:base-2 -p:20" style={{ flexGrow: 2 }}>Box</div>
|
|
62
|
-
</
|
|
62
|
+
</SwitchColumns>
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
## 関連プリミティブ
|
|
66
66
|
|
|
67
|
-
- [l--
|
|
67
|
+
- [l--autoColumns](./l--autoColumns.md) — 最小幅ベースの自動段組
|
|
68
68
|
- [l--columns](./l--columns.md) — ブレイクポイント指定の等幅カラム
|
|
69
|
-
- [l--
|
|
69
|
+
- [l--withSide](./l--withSide.md) — コンテンツ幅基準の2カラム切り替え
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--tileGrid`
|
|
8
8
|
- コンポーネント: `<TileGrid>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_tileGrid.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--tileGrid.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
## 関連プリミティブ
|
|
58
58
|
|
|
59
59
|
- [l--columns](./l--columns.md) — 等幅列のみ(1D)のカラム
|
|
60
|
-
- [l--
|
|
60
|
+
- [l--autoColumns](./l--autoColumns.md) — 自動折り返し型段組
|
|
61
61
|
- [l--grid](./l--grid.md) — 汎用 CSS Grid
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
# l--
|
|
1
|
+
# l--withSide / `<WithSide>`
|
|
2
2
|
|
|
3
3
|
メディアクエリ・コンテナクエリに依存せず、**維持したいコンテンツ幅を基準にして横並び・縦並びが自動で切り替わる2カラムレイアウト**。「画像 + コンテンツ」「メインエリア + サイドバー」などに活用できる。
|
|
4
4
|
|
|
5
5
|
## 基本情報
|
|
6
6
|
|
|
7
|
-
- クラス名: `l--
|
|
8
|
-
- コンポーネント: `<
|
|
9
|
-
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/
|
|
10
|
-
-
|
|
7
|
+
- クラス名: `l--withSide`
|
|
8
|
+
- コンポーネント: `<WithSide>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_withSide.scss
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--withSide.md
|
|
11
11
|
|
|
12
12
|
## 動作の仕組み
|
|
13
13
|
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
|
|
18
18
|
## 専用Props
|
|
19
19
|
|
|
20
|
-
| Prop | 出力 | 説明 |
|
|
21
|
-
|
|
22
|
-
| `sideW` | `--sideW` | サイド要素の横幅 |
|
|
23
|
-
| `mainW` | `--mainW` | メイン要素で維持したい最小幅 |
|
|
20
|
+
| Prop | 出力 | デフォルト | 説明 |
|
|
21
|
+
|------|------|-----------|------|
|
|
22
|
+
| `sideW` | `--sideW` | `auto` | サイド要素の横幅 |
|
|
23
|
+
| `mainW` | `--mainW` | `max(20rem, 50%)` | メイン要素で維持したい最小幅 |
|
|
24
24
|
|
|
25
25
|
## HTML構造
|
|
26
26
|
|
|
27
27
|
```html
|
|
28
|
-
<div class="l--
|
|
28
|
+
<div class="l--withSide">
|
|
29
29
|
<div>Main Content</div>
|
|
30
30
|
<div class="is--side">Side Content</div>
|
|
31
31
|
</div>
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
### 基本的な使い方
|
|
37
37
|
|
|
38
38
|
```jsx
|
|
39
|
-
<
|
|
39
|
+
<WithSide sideW="12rem" mainW="20rem" g="20">
|
|
40
40
|
<Box p="15" bd bdc="blue">
|
|
41
41
|
<p>Main Content</p>
|
|
42
42
|
<p>メインコンテンツ本文...</p>
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
<Box isSide p="15" bd bdc="red">
|
|
45
45
|
<p>Side Content</p>
|
|
46
46
|
</Box>
|
|
47
|
-
</
|
|
47
|
+
</WithSide>
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
```html
|
|
51
|
-
<div class="l--
|
|
51
|
+
<div class="l--withSide -g:20" style="--sideW:12rem;--mainW:20rem">
|
|
52
52
|
<div class="l--box -p:15 -bd" style="--bdc:var(--blue)">
|
|
53
53
|
<p>Main Content</p>
|
|
54
54
|
<p>メインコンテンツ本文...</p>
|
|
@@ -64,16 +64,16 @@
|
|
|
64
64
|
`flex-direction: row-reverse` を併用することで、横並びの時だけ順序を反転できます。**横並びで左側・縦並びで下側に Side を配置**したいときに便利。
|
|
65
65
|
|
|
66
66
|
```jsx
|
|
67
|
-
<
|
|
67
|
+
<WithSide fxd="row-reverse" sideW="10rem" mainW="16rem" g="20">
|
|
68
68
|
<Box>
|
|
69
69
|
<p>Main content...</p>
|
|
70
70
|
</Box>
|
|
71
71
|
<Box isSide bgc="blue:20%">Side Content</Box>
|
|
72
|
-
</
|
|
72
|
+
</WithSide>
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
```html
|
|
76
|
-
<div class="l--
|
|
76
|
+
<div class="l--withSide -fxd:row-reverse -g:20" style="--sideW:10rem;--mainW:16rem">
|
|
77
77
|
<div class="l--box">
|
|
78
78
|
<p>Main content...</p>
|
|
79
79
|
</div>
|
|
@@ -81,9 +81,31 @@
|
|
|
81
81
|
</div>
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
+
### メディアとテキストが交互に並ぶレイアウト
|
|
85
|
+
|
|
86
|
+
`l--withSide` は「メディア + テキスト」のペアを複数並べて、横並びの時はメディアの位置(左右)が交互に切り替わりつつも、縦並びの時はメディアが上側に統一されるレイアウトにも活用できる。
|
|
87
|
+
|
|
88
|
+
```jsx
|
|
89
|
+
<Stack isContainer g="40">
|
|
90
|
+
<WithSide sideW="40%" g="30" ai="center">
|
|
91
|
+
<Frame ar="3/2" isSide max-h="50cqw">
|
|
92
|
+
<img src="..." alt="" width="960" height="640" />
|
|
93
|
+
</Frame>
|
|
94
|
+
<Box px="10">本文テキスト...</Box>
|
|
95
|
+
</WithSide>
|
|
96
|
+
|
|
97
|
+
<WithSide fxd="row-reverse" sideW="40%" g="30" ai="center">
|
|
98
|
+
<Frame ar="3/2" isSide max-h="50cqw">
|
|
99
|
+
<img src="..." alt="" width="960" height="640" />
|
|
100
|
+
</Frame>
|
|
101
|
+
<Box px="10">本文テキスト...</Box>
|
|
102
|
+
</WithSide>
|
|
103
|
+
</Stack>
|
|
104
|
+
```
|
|
105
|
+
|
|
84
106
|
## `l--grid` との使い分け
|
|
85
107
|
|
|
86
|
-
- **`l--
|
|
108
|
+
- **`l--withSide`**: ブレイクポイントに依存せず、コンテンツ幅で自動切り替え
|
|
87
109
|
- **`l--grid`** (`<Grid gta={[...]} gtc={[...]} />`): ブレイクポイント(`sm`/`md`)で明示的に切り替えたい場合
|
|
88
110
|
|
|
89
111
|
```jsx
|
|
@@ -97,6 +119,6 @@
|
|
|
97
119
|
## 関連プリミティブ
|
|
98
120
|
|
|
99
121
|
- [l--grid](./l--grid.md) — ブレイクポイント切り替え型の2カラム構築に使用
|
|
100
|
-
- [l--
|
|
101
|
-
- [l--
|
|
122
|
+
- [l--autoColumns](./l--autoColumns.md) — カラム幅ベースの自動段組
|
|
123
|
+
- [l--switchColumns](./l--switchColumns.md) — ブレイクポイント一括切り替え型カラム
|
|
102
124
|
- [is--container](../trait-class/is--container.md) — レスポンシブ Property Class 利用時に必要
|
|
@@ -7,11 +7,11 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
7
7
|
- クラス名: `-bd` / `-bd-{side}` / `-bds:*` / `-bdc:*` / `-bdw` など
|
|
8
8
|
- Lism props: `bd`, `bd-{side}`, `bds`, `bdc`, `bdw`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_border.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/property-class/bd.md
|
|
11
11
|
|
|
12
12
|
## 仕組み
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
`-bd` または `-bd-{side}` クラスが付くと、以下の初期値がセットされる。
|
|
15
15
|
|
|
16
16
|
```scss
|
|
17
17
|
:where(.-bd, [class*=" -bd-"], [class^="-bd-"]) {
|
|
@@ -27,7 +27,7 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
27
27
|
/* ...各 side ごとに style を適用 */
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
`border-width` / `border-color` は全方向で共通出力され、`border-style` だけ
|
|
30
|
+
`border-width` / `border-color` は全方向で共通出力され、`border-style` だけ `-bd` または `-bd-{side}` が出現している方向に適用される仕組み。`--bdw` を `0 0 1px 0.5em` のような複数値にすれば、方向ごとに太さを変えられる。
|
|
31
31
|
|
|
32
32
|
## 方向指定クラス
|
|
33
33
|
|
|
@@ -123,5 +123,5 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
123
123
|
|
|
124
124
|
## 関連
|
|
125
125
|
|
|
126
|
-
- [`-bdrs`](https://lism-css.com/docs/property-class
|
|
126
|
+
- [`-bdrs`](https://lism-css.com/docs/property-class.md) — 角丸(`border-radius`)
|
|
127
127
|
- [`-bd-{side}` + `has--gutter`](../trait-class/has--gutter.md) — セクション区切りに使うと相性が良い
|
|
@@ -7,32 +7,32 @@ hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで
|
|
|
7
7
|
- クラス名: `-hov:-{prop}` / `-hov:{preset}` / `-hov:in:{preset}`
|
|
8
8
|
- Lism props: `hov`(`<Lism hov="-c">` / `<Box hov={{ bgc: 'brand' }}>` 等)
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_hover.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/property-class/hov.md
|
|
11
11
|
|
|
12
12
|
## 3 つの形式
|
|
13
13
|
|
|
14
14
|
| 形式 | 役割 |
|
|
15
15
|
|------|------|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
16
|
+
| `-hov:-{prop}` | `--hov-{prop}` 変数を受け取り、hover 時に該当プロパティを変化させる |
|
|
17
|
+
| `-hov:{preset}` | hover 時のスタイルセットをプリセット名でまとめて適用する |
|
|
18
|
+
| `-hov:in:{preset}` | 親要素の `set--var:hov` を起点に、子要素のスタイルを変化させる |
|
|
19
19
|
|
|
20
20
|
`-hov:-{prop}` と `-hov:{preset}` は `@media (any-hover: hover)` 内で定義されるため、タッチデバイスでは無効。
|
|
21
21
|
`-hov:in:*` はメディアクエリ外で、親の `set--var:hov` がセットする `--_isHov` / `--_notHov` 変数で動作する。
|
|
22
22
|
|
|
23
23
|
トランジションを付けたい場合は [`has--transition`](../trait-class/has--transition.md) クラスを併用する。
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## `-hov:-{prop}` — プロパティ変更
|
|
26
26
|
|
|
27
27
|
`:hover` で直接動作する。クラスを付けるだけで初期値で変化する。
|
|
28
28
|
|
|
29
29
|
| クラス | 変化するプロパティ | 初期値 |
|
|
30
30
|
|--------|----------------------|--------|
|
|
31
|
-
|
|
|
32
|
-
|
|
|
33
|
-
|
|
|
34
|
-
|
|
|
35
|
-
|
|
|
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, var(--o--p))` |
|
|
35
|
+
| `-hov:-bxsh` | `box-shadow` | `var(--hov-bxsh, var(--bxsh--50))` |
|
|
36
36
|
|
|
37
37
|
任意の値へ変化させたい場合は、`--hov-{prop}` 変数で値を指定する。
|
|
38
38
|
|
|
@@ -45,14 +45,14 @@ hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで
|
|
|
45
45
|
style="--hov-bgc: var(--brand); --hov-c: var(--white)" href="###">...</a>
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## `-hov:{preset}` — プリセット
|
|
49
49
|
|
|
50
50
|
hover 時のスタイルセットをプリセット名でまとめて適用する。
|
|
51
51
|
|
|
52
52
|
| クラス | 内容 |
|
|
53
53
|
|--------|------|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
54
|
+
| `-hov:underline` | テキストに下線を表示 |
|
|
55
|
+
| `-hov:neutral` | 背景色にニュートラルグレーをブレンド |
|
|
56
56
|
|
|
57
57
|
プロジェクト固有のプリセットは、以下のように自作して追加できる。
|
|
58
58
|
|
|
@@ -65,15 +65,15 @@ hover 時のスタイルセットをプリセット名でまとめて適用す
|
|
|
65
65
|
}
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
##
|
|
68
|
+
## `-hov:in:{preset}` — 親連動
|
|
69
69
|
|
|
70
70
|
親要素に `set--var:hov` を付けると、`--_isHov` / `--_notHov` 変数が hover 状態に応じて切り替わる。`-hov:in:*` はこの変数を参照する仕組み。
|
|
71
71
|
|
|
72
72
|
| クラス | 効果 | 仕組み |
|
|
73
73
|
|--------|------|--------|
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
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
77
|
|
|
78
78
|
```jsx
|
|
79
79
|
<Frame set="var:hov" isBoxLink href="#" ar="16/9">
|
|
@@ -103,7 +103,7 @@ hover 時のスタイルセットをプリセット名でまとめて適用す
|
|
|
103
103
|
|
|
104
104
|
### オブジェクト指定
|
|
105
105
|
|
|
106
|
-
主に
|
|
106
|
+
主に `-hov:-{prop}` に任意の値を渡す用途。`hov={{ prop: value }}` で `-hov:-{prop}` クラス + `--hov-{prop}` 変数を出力。
|
|
107
107
|
|
|
108
108
|
```jsx
|
|
109
109
|
<Lism hov={{ c: 'red' }}>...</Lism>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# -max-sz(最大幅)
|
|
2
2
|
|
|
3
|
-
コンテンツの最大幅(`max-inline-size`)を制御する Property Class。標準のコンテンツサイズトークン(`xs`〜`xl`)に加え、特殊挙動の `full` / `
|
|
3
|
+
コンテンツの最大幅(`max-inline-size`)を制御する Property Class。標準のコンテンツサイズトークン(`xs`〜`xl`)に加え、特殊挙動の `full` / `bleed` を持つ。
|
|
4
4
|
|
|
5
5
|
## 基本情報
|
|
6
6
|
|
|
7
|
-
- クラス名: `-max-sz:{xs|s|m|l|xl|full|
|
|
7
|
+
- クラス名: `-max-sz:{xs|s|m|l|xl|full|bleed}`
|
|
8
8
|
- Lism props: `max-sz`(`<Lism max-sz="m">` 等)
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_size.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/property-class/max-sz.md
|
|
11
11
|
|
|
12
12
|
## トークン対応クラス
|
|
13
13
|
|
|
@@ -25,33 +25,37 @@
|
|
|
25
25
|
|
|
26
26
|
### `-max-sz:full`
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
**親要素のサイズいっぱいに広がる**クラス。`has--gutter` の直下では、その gutter 分を**追加で外側に**拡張する(= gutter を無視して端まで広がる)。
|
|
29
29
|
|
|
30
30
|
```scss
|
|
31
31
|
.-max-sz\:full {
|
|
32
32
|
max-inline-size: 100%;
|
|
33
33
|
|
|
34
34
|
:where(.has--gutter) > & {
|
|
35
|
+
inline-size: auto;
|
|
35
36
|
max-inline-size: calc(100% + var(--gutter-size) * 2);
|
|
36
37
|
margin-inline: calc(var(--gutter-size) * -1);
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
```
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
`has--gutter` の内側で全幅画像・全幅バナーなどを配置したい時に使う。`inline-size: auto` は、親が `is--wrapper` の場合に当たる `inline-size: 100%` を打ち消し、負 margin による hang を効かせるためのリセット。
|
|
42
43
|
|
|
43
|
-
### `-max-sz:
|
|
44
|
+
### `-max-sz:bleed`
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
**最外側の `is--container` 幅**まで広がる。本文幅やネストされた container を突き抜け、ページ全体の full-bleed 表現を実現する。`is--container` が祖先に存在しない場合は、ビューポート幅(`100svi`)まで広がる fallback として動作する。
|
|
46
47
|
|
|
47
48
|
```scss
|
|
48
|
-
.-max-sz\:
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
.-max-sz\:bleed {
|
|
50
|
+
inline-size: auto;
|
|
51
|
+
max-inline-size: var(--sz--bleed, 100svi);
|
|
52
|
+
margin-inline: calc(50% - var(--sz--bleed, 100svi) / 2);
|
|
51
53
|
}
|
|
52
54
|
```
|
|
53
55
|
|
|
54
|
-
`
|
|
56
|
+
`--sz--bleed` は最外側の `is--container` 直下の子要素でだけ `100cqi` に上書きされ、ネストされた `is--container` は再度上書きしないため、内側の子要素は外側の値を inherit で参照する。
|
|
57
|
+
|
|
58
|
+
`margin-inline` で中央配置されるので、`is--wrapper` の内側にあっても最外側 container 基準の幅に広げつつ中央に揃う。`inline-size: auto` も同じく、`is--wrapper > *` で当たる `inline-size: 100%` を打ち消すためのリセット。
|
|
55
59
|
|
|
56
60
|
## Usage
|
|
57
61
|
|
|
@@ -64,7 +68,7 @@
|
|
|
64
68
|
<div class="-max-sz:m -mx:auto" style="max-inline-size: var(--sz--m)">...</div>
|
|
65
69
|
```
|
|
66
70
|
|
|
67
|
-
###
|
|
71
|
+
### `has--gutter` 内の全幅要素
|
|
68
72
|
|
|
69
73
|
```html
|
|
70
74
|
<div class="has--gutter">
|
|
@@ -74,14 +78,14 @@
|
|
|
74
78
|
</div>
|
|
75
79
|
```
|
|
76
80
|
|
|
77
|
-
### container
|
|
81
|
+
### 最外側 container 基準のサイズ(full-bleed)
|
|
78
82
|
|
|
79
83
|
```html
|
|
80
84
|
<div class="is--container">
|
|
81
85
|
<div class="is--wrapper -contentSize:s">
|
|
82
86
|
<p>狭めのコンテンツ</p>
|
|
83
|
-
<div class="-max-sz:
|
|
84
|
-
container
|
|
87
|
+
<div class="-max-sz:bleed">
|
|
88
|
+
最外側 container 幅まで広がる要素(ネストされた is--container も突き抜ける)
|
|
85
89
|
</div>
|
|
86
90
|
</div>
|
|
87
91
|
</div>
|
|
@@ -94,6 +98,6 @@
|
|
|
94
98
|
|
|
95
99
|
## 関連
|
|
96
100
|
|
|
97
|
-
- [`is--container`](../trait-class/is--container.md) — `-max-sz:
|
|
101
|
+
- [`is--container`](../trait-class/is--container.md) — `-max-sz:bleed` の基準となるコンテナ
|
|
98
102
|
- [`is--wrapper`](../trait-class/is--wrapper.md) — コンテンツ幅の制限
|
|
99
103
|
- [`has--gutter`](../trait-class/has--gutter.md) — `-max-sz:full` と組み合わせる左右余白
|
|
@@ -6,6 +6,7 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
6
6
|
## TOC
|
|
7
7
|
|
|
8
8
|
- [基本書式](#基本書式)
|
|
9
|
+
- [プリセット外の値をクラス化する(`:value` 記法、Lism Props 限定)](#プリセット外の値をクラス化するvalue-記法lism-props-限定)
|
|
9
10
|
- [表の読み方](#表の読み方)
|
|
10
11
|
- [全 Prop 一覧](#全-prop-一覧)
|
|
11
12
|
- [特殊な Property Class](#特殊な-property-class)
|
|
@@ -16,13 +17,13 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
16
17
|
- [Property Class の特殊な出力タイプ](#property-class-の特殊な出力タイプ)
|
|
17
18
|
- [Property Class の検索・一括修正](#property-class-の検索一括修正)
|
|
18
19
|
|
|
19
|
-
[詳細](https://lism-css.com/docs/property-class
|
|
20
|
+
[詳細](https://lism-css.com/docs/property-class.md)
|
|
20
21
|
|
|
21
22
|
個別ドキュメント:
|
|
22
23
|
|
|
23
24
|
- [property-class/bd.md](./property-class/bd.md) — ボーダー(`-bd` / `-bd-{side}` 系)
|
|
24
25
|
- [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:
|
|
26
|
+
- [property-class/max-sz.md](./property-class/max-sz.md) — 最大幅(`-max-sz:full` / `-max-sz:bleed` 等)
|
|
26
27
|
|
|
27
28
|
---
|
|
28
29
|
|
|
@@ -47,6 +48,16 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
|
|
51
|
+
### プリセット外の値をクラス化する(`:value` 記法、Lism Props 限定)
|
|
52
|
+
|
|
53
|
+
Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、 **強制的に Property Class を出力**できる。cssを追記してトークン値を独自に増やした場合などに活用できる。
|
|
54
|
+
|
|
55
|
+
```jsx
|
|
56
|
+
<Text lts=":2xl">...</Text>
|
|
57
|
+
// → <p class="-lts:2xl">...</Text>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
|
|
50
61
|
## 表の読み方
|
|
51
62
|
|
|
52
63
|
| カラム | 説明 |
|
|
@@ -72,7 +83,7 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
72
83
|
| `fs` | `font-style` | `-fs:italic` | — |
|
|
73
84
|
| `lh` | `line-height`(`--hl` 経由) | `-lh:base`, `-lh:xs`, `-lh:s`, `-lh:l`, `-lh:1` | — |
|
|
74
85
|
| `hl` | `--hl` 変数のみ | — | `-hl_sm`, `-hl_md` |
|
|
75
|
-
| `lts` | `letter-spacing` | `-lts:base`, `-lts:s`, `-lts:l` | — |
|
|
86
|
+
| `lts` | `letter-spacing` | `-lts:base`, `-lts:s`, `-lts:l`, `-lts:xl` | — |
|
|
76
87
|
| `ta` | `text-align` | `-ta:center`, `-ta:left`, `-ta:right` | — |
|
|
77
88
|
| `td` | `text-decoration` | `-td:none` | — |
|
|
78
89
|
| `tt` | `text-transform` | `-tt:upper`, `-tt:lower` | — |
|
|
@@ -84,7 +95,7 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
84
95
|
| Prop | CSS プロパティ | プリセット値クラス | BP クラス |
|
|
85
96
|
|------|--------------|-------------|-----|
|
|
86
97
|
| `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
|
|
98
|
+
| `o` | `opacity` | `-o:0`, `-o:mp`, `-o:p`, `-o:pp`, `-o:ppp` | — |
|
|
88
99
|
| `v` | `visibility` | `-v:hidden` | — |
|
|
89
100
|
| `ov` | `overflow` | `-ov:hidden`, `-ov:auto`, `-ov:clip` | — |
|
|
90
101
|
| `ov-x` | `overflow-x` | `-ov-x:clip`, `-ov-x:auto`, `-ov-x:scroll` | — |
|
|
@@ -103,14 +114,14 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
|
|
|
103
114
|
| `max-h` | `max-height` | `-max-h:100%` | `-max-h_sm`, `-max-h_md` |
|
|
104
115
|
| `sz` | `inline-size` | — | — |
|
|
105
116
|
| `min-sz` | `min-inline-size` | — | — |
|
|
106
|
-
| `max-sz` | `max-inline-size` | `-max-sz:xs`, `-max-sz:s`, `-max-sz:m`, `-max-sz:l`, `-max-sz:xl`, `-max-sz:full`, `-max-sz:
|
|
117
|
+
| `max-sz` | `max-inline-size` | `-max-sz:xs`, `-max-sz:s`, `-max-sz:m`, `-max-sz:l`, `-max-sz:xl`, `-max-sz:full`, `-max-sz:bleed` | — |
|
|
107
118
|
| `bsz` | `block-size` | — | — |
|
|
108
119
|
| `min-bsz` | `min-block-size` | — | — |
|
|
109
120
|
| `max-bsz` | `max-block-size` | — | — |
|
|
110
121
|
|
|
111
122
|
**`max-sz` の特殊クラス:**
|
|
112
|
-
- `-max-sz:full` —
|
|
113
|
-
- `-max-sz:
|
|
123
|
+
- `-max-sz:full` — `has--gutter` 内では gutter 分を含めた全幅に拡張
|
|
124
|
+
- `-max-sz:bleed` — 最外側の `is--container` 幅まで広がる(`margin-inline` で中央配置、`is--container` 祖先がなければ `100svi` まで広がる)
|
|
114
125
|
|
|
115
126
|
→ 詳細は [property-class/max-sz.md](./property-class/max-sz.md) 参照
|
|
116
127
|
|
|
@@ -275,7 +286,7 @@ SPACE トークン(全値): `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `
|
|
|
275
286
|
|
|
276
287
|
## 特殊な Property Class
|
|
277
288
|
|
|
278
|
-
以下は通常の
|
|
289
|
+
以下は通常の `-{prop}:{value}` パターンとは異なる特殊な仕組みを持つ Prop です。
|
|
279
290
|
|
|
280
291
|
### ボーダー(`bd` 系)
|
|
281
292
|
|
|
@@ -296,11 +307,11 @@ Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理
|
|
|
296
307
|
|
|
297
308
|
| 形式 | 役割 | 動作条件 |
|
|
298
309
|
|------|------|---------|
|
|
299
|
-
|
|
|
300
|
-
|
|
|
301
|
-
|
|
|
310
|
+
| `-hov:-{prop}` | `--hov-{prop}` 変数で hover 時の値を変化させる | `:hover`(`@media (any-hover: hover)` 内) |
|
|
311
|
+
| `-hov:{preset}` | hover 時のスタイルをプリセットで適用 | `:hover`(同上) |
|
|
312
|
+
| `-hov:in:{preset}` | 親の `set--var:hov` を起点に子のスタイルを変化させる | 親に `set--var:hov` が必要 |
|
|
302
313
|
|
|
303
|
-
**標準プリセット:**
|
|
314
|
+
**標準プリセット:** `-hov:-c`, `-hov:-bgc`, `-hov:-bdc`, `-hov:-o`, `-hov:-bxsh`, `-hov:underline`, `-hov:neutral`, `-hov:in:hide`, `-hov:in:show`, `-hov:in:zoom`
|
|
304
315
|
|
|
305
316
|
**`<Lism>` の `hov` prop:** 文字列指定(`hov="-c"` → `-hov:-c`。自動変換なし、カンマ区切りで複数可)とオブジェクト指定(`hov={{ c: 'red' }}` → `-hov:-c` + `--hov-c: var(--red)`。値 `true` でクラスのみ出力)が可能。
|
|
306
317
|
|
|
@@ -22,7 +22,7 @@ set-- は目的別に 2 カテゴリに分かれます。
|
|
|
22
22
|
- [`set--var:hov`](#set--varhov)
|
|
23
23
|
- [`set--var:bdrsInner`](#set--varbdrsinner)
|
|
24
24
|
|
|
25
|
-
[詳細](https://lism-css.com/docs/set-class
|
|
25
|
+
[詳細](https://lism-css.com/docs/set-class.md)
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
@@ -114,7 +114,7 @@ Lism CSSでは、クラスを持つリスト(`ul` / `ol`)ではスタイル
|
|
|
114
114
|
.-hov\:test {
|
|
115
115
|
color: var(--_isHov, green) var(--_notHov, red); /* hover時はgreen, 非hover時はred*/
|
|
116
116
|
box-shadow: var(--_isHov, var(--bxsh--30)); /* hover時はshadowをつける(非hover時は無効な値) */
|
|
117
|
-
opacity: var(--_notHov, var(--o
|
|
117
|
+
opacity: var(--_notHov, var(--o--pp)); /* 非hover時は不透明度を下げる(hover時は無効な値) */
|
|
118
118
|
}
|
|
119
119
|
```
|
|
120
120
|
|
|
@@ -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
|
|
|
@@ -31,13 +31,13 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
31
31
|
| 余白 (space) | `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `70`, `80` | `--s{N}` | `--s20` |
|
|
32
32
|
| フォントサイズ (fz) | `root`, `base`, `2xs`, `xs`, `s`, `m`, `l`, `xl`, `2xl`, `3xl`, `4xl`, `5xl` | `--fz--{key}` | `--fz--l` |
|
|
33
33
|
| ハーフレディング・行間 (lh/hl) | `base`, `xs`, `s`, `l` | `--hl--{key}` | `--hl--s` |
|
|
34
|
-
| 字間 (lts) | `base`, `s`, `l` | `--lts--{key}` | `--lts--s` |
|
|
34
|
+
| 字間 (lts) | `base`, `s`, `l`, `xl` | `--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
39
|
| 影 (bxsh) | `10`, `20`, `30`, `40`, `50` | `--bxsh--{N}` | `--bxsh--20` |
|
|
40
|
-
| サイズ (sz) | `xs`, `s`, `m`, `l`, `xl`, `
|
|
40
|
+
| サイズ (sz) | `xs`, `s`, `m`, `l`, `xl`, `bleed` | `--sz--{key}` | `--sz--l` |
|
|
41
41
|
| アスペクト比 (ar) | `og` | `--ar--{key}` | `--ar--og` |
|
|
42
42
|
| フロー余白 (flow) | `s`, `l` | `--flow--{key}` | `--flow--s` |
|
|
43
43
|
| セマンティックカラー (c) | `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent` | `--{name}` | `--brand` |
|
|
@@ -83,7 +83,7 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
83
83
|
| `--fz--s` | `calc(1em * var(--fz-mol) / (var(--fz-mol) + 1))` | S(mol/(mol+1)) |
|
|
84
84
|
| `--fz--xs` | `calc(1em * var(--fz-mol) / (var(--fz-mol) + 2))` | XS(mol/(mol+2)) |
|
|
85
85
|
| `--fz--2xs` | `calc(1em * var(--fz-mol) / (var(--fz-mol) + 3))` | 最小(mol/(mol+3)) |
|
|
86
|
-
| `--fz--base` | `
|
|
86
|
+
| `--fz--base` | `1rem` | 本文の基本フォントサイズ |
|
|
87
87
|
| `--fz--root` | — | `:root` のフォントサイズ |
|
|
88
88
|
|
|
89
89
|
`--fz-mol` を上書きすることでスケール全体を調整可能(7以上の値に対応)。
|
|
@@ -106,8 +106,9 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
106
106
|
| CSS変数 | 値 | 説明 |
|
|
107
107
|
|---------|-----|------|
|
|
108
108
|
| `--lts--base` | `normal` | 基本の文字間隔 |
|
|
109
|
-
| `--lts--s` | `-0.
|
|
109
|
+
| `--lts--s` | `-0.025em` | 狭めの文字間隔 |
|
|
110
110
|
| `--lts--l` | `0.05em` | 広めの文字間隔 |
|
|
111
|
+
| `--lts--xl` | `0.1em` | より広い文字間隔 |
|
|
111
112
|
|
|
112
113
|
|
|
113
114
|
## フォント (ff)
|
|
@@ -132,11 +133,14 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
|
|
|
132
133
|
|
|
133
134
|
## 透明度 (o)
|
|
134
135
|
|
|
136
|
+
音楽の強弱記号(piano 系列)に由来するセマンティック命名を採用。`p`(piano / 弱く)の反復回数が多いほど透明度が増す。Lism 内で「文字の反復回数で段階を表す」命名は opacity のみの例外。
|
|
137
|
+
|
|
135
138
|
| CSS変数 | 値 | 説明 |
|
|
136
139
|
|---------|-----|------|
|
|
137
|
-
| `--o
|
|
138
|
-
| `--o
|
|
139
|
-
| `--o
|
|
140
|
+
| `--o--mp` | `0.9` | mezzo-piano: ごく軽い減衰 |
|
|
141
|
+
| `--o--p` | `0.75` | piano: hover fade, 補助テキスト等 |
|
|
142
|
+
| `--o--pp` | `0.5` | pianissimo: disabled, divider, decorator 等 |
|
|
143
|
+
| `--o--ppp` | `0.25` | pianississimo: 最も強く減衰 |
|
|
140
144
|
|
|
141
145
|
|
|
142
146
|
## 角丸 (bdrs)
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
- クラス名: `has--gutter`
|
|
8
8
|
- Lism props: `hasGutter`(`<Lism hasGutter>` 等)
|
|
9
|
-
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/trait/
|
|
10
|
-
-
|
|
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
11
|
|
|
12
12
|
## SCSS 定義
|
|
13
13
|
|