@lism-css/mcp 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/docs-index.json +53 -32
- package/dist/data/guides/SKILL.md +20 -10
- package/dist/data/guides/antipatterns.md +147 -0
- package/dist/data/guides/base-styles.md +1 -1
- package/dist/data/guides/components-core.md +4 -4
- package/dist/data/guides/components-ui.md +2 -2
- package/dist/data/guides/css-rules.md +26 -26
- package/dist/data/guides/customize.md +1 -1
- package/dist/data/guides/naming.md +13 -8
- package/dist/data/guides/primitive-class.md +79 -4
- package/dist/data/guides/primitives/a--decorator.md +1 -1
- package/dist/data/guides/primitives/a--divider.md +1 -1
- package/dist/data/guides/primitives/a--icon.md +1 -1
- package/dist/data/guides/primitives/a--spacer.md +1 -1
- package/dist/data/guides/primitives/l--autoColumns.md +71 -0
- package/dist/data/guides/primitives/l--box.md +1 -1
- package/dist/data/guides/primitives/l--center.md +1 -1
- package/dist/data/guides/primitives/l--cluster.md +2 -2
- package/dist/data/guides/primitives/l--columns.md +3 -3
- package/dist/data/guides/primitives/l--flex.md +1 -1
- package/dist/data/guides/primitives/l--flow.md +4 -4
- package/dist/data/guides/primitives/l--frame.md +1 -1
- package/dist/data/guides/primitives/l--grid.md +2 -2
- package/dist/data/guides/primitives/l--stack.md +1 -1
- package/dist/data/guides/primitives/{l--switchCols.md → l--switchColumns.md} +18 -18
- package/dist/data/guides/primitives/l--tileGrid.md +2 -2
- package/dist/data/guides/primitives/{l--sideMain.md → l--withSide.md} +41 -19
- package/dist/data/guides/prop-responsive.md +1 -1
- package/dist/data/guides/property-class/bd.md +4 -4
- package/dist/data/guides/property-class/hov.md +18 -18
- package/dist/data/guides/property-class/max-sz.md +5 -5
- package/dist/data/guides/property-class.md +8 -8
- package/dist/data/guides/set-class.md +2 -2
- package/dist/data/guides/tokens.md +8 -5
- package/dist/data/guides/trait-class/has--gutter.md +2 -2
- package/dist/data/guides/trait-class/has--mask.md +2 -2
- package/dist/data/guides/trait-class/has--snap.md +2 -2
- package/dist/data/guides/trait-class/has--transition.md +2 -2
- package/dist/data/guides/trait-class/is--boxLink.md +2 -2
- package/dist/data/guides/trait-class/is--container.md +11 -5
- package/dist/data/guides/trait-class/is--layer.md +5 -5
- package/dist/data/guides/trait-class/is--wrapper.md +8 -8
- package/dist/data/guides/trait-class.md +2 -2
- package/dist/data/guides/utility-class.md +9 -8
- package/dist/data/meta.js +2 -2
- package/dist/tools/get-guide.js +8 -1
- package/package.json +1 -1
- package/dist/data/guides/primitives/l--fluidCols.md +0 -71
|
@@ -8,9 +8,10 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
|
|
|
8
8
|
|
|
9
9
|
- [プレフィックス一覧](#プレフィックス一覧)
|
|
10
10
|
- [Layout Primitive(`l--`)](#layout-primitivel--)
|
|
11
|
+
- [カラムレイアウト Primitive の使い分けガイド](#カラムレイアウト-primitive-の使い分けガイド)
|
|
11
12
|
- [Atomic Primitive(`a--`)](#atomic-primitivea--)
|
|
12
13
|
|
|
13
|
-
[詳細](https://lism-css.com/docs/primitives
|
|
14
|
+
[詳細](https://lism-css.com/docs/primitives.md)
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
|
|
@@ -40,13 +41,87 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
|
|
|
40
41
|
| `l--frame` | アスペクト比や高さが固定されたメディア要素を配置する。直下のメディア要素に `object-fit: cover` を付与する。 |
|
|
41
42
|
| `l--columns` | `repeat`と`minmax(0, 1fr))`を使ったカラムレイアウト。レスポンシブ対応の`--cols`用のProperty Classでカラム数の切り替え可能。 |
|
|
42
43
|
| `l--tileGrid` | `--cols`だけではなく`--rows`も組み合わせた均等タイルグリッド(`grid-template: repeat(var(--rows,1), minmax(0, 1fr)) / repeat(var(--cols,1), minmax(0, 1fr))`) |
|
|
43
|
-
| `l--
|
|
44
|
-
| `l--
|
|
45
|
-
| `l--
|
|
44
|
+
| `l--autoColumns` | ブレイクポイントに依存せず、自動段組のできる流動カラムレイアウト。`--cols: 16em`のようにして最小維持幅を指定できる。 |
|
|
45
|
+
| `l--withSide` | 画像とコンテンツ、メインエリアとサイドバーなどの「"Side" + "Main"」に分かれ、横並びと縦並びが切り替わるレイアウト。"Main"が`--mainW`で指定したサイズ以上の横幅を維持できる範囲内で横並びを維持し、下回る場合は縦並びへ自動で切り替わる。横並びの間の"Side"の横幅は`--sideW`で指定する。 |
|
|
46
|
+
| `l--switchColumns` | 任意のサイズで一括カラム切り替えができるカラムレイアウト。`--breakSize` で制御 |
|
|
46
47
|
|
|
47
48
|
それぞれ対応するLismコンポーネント(`<Flex>`, `<Stack>`, `<Cluster>` 等)があります。
|
|
48
49
|
|
|
49
50
|
|
|
51
|
+
### カラムレイアウト Primitive の使い分けガイド
|
|
52
|
+
|
|
53
|
+
「カラムを並べる」用途で使える Primitive は複数あります。意図に応じて使い分けます。
|
|
54
|
+
|
|
55
|
+
#### 比較表
|
|
56
|
+
|
|
57
|
+
各 Primitive がどの用途に向いているか:
|
|
58
|
+
|
|
59
|
+
| やりたいこと | `l--columns` | `l--autoColumns` | `l--switchColumns` | `l--withSide` | `l--grid` |
|
|
60
|
+
|---|---|---|---|---|---|
|
|
61
|
+
| 等幅 N 列 | ◯ | ◯ | ✗ | ✗ | △ |
|
|
62
|
+
| 横並び ↔ 1 列の一括切替 | ◯ | ✗ | ◯ | ✗ | △ |
|
|
63
|
+
| カラム最小幅で自動折返し | ✗ | ◯ | ✗ | ✗ | △ |
|
|
64
|
+
| サイド + メイン(非対称 2 カラム) | △ | ✗ | ✗ | ◯ | △ |
|
|
65
|
+
| BP で列数切替 | ◯ | ✗ | ✗ | ✗ | △ |
|
|
66
|
+
| 非BPでのレスポンシブ | ✗ | ◯ | ◯ | ◯ | ✗ |
|
|
67
|
+
|
|
68
|
+
凡例: ◯ 適している / △ 可能だが冗長 / ✗ 不向き
|
|
69
|
+
|
|
70
|
+
#### 選び方
|
|
71
|
+
|
|
72
|
+
##### 1. 等幅 N 列、または列数を BP で切り替えたい
|
|
73
|
+
|
|
74
|
+
- **推奨**: `l--columns` (`<Columns cols={[1, 2, 3]} />`)
|
|
75
|
+
- **理由**: `cols={3}` で固定列数、`cols` 配列で BP ごとの列数を宣言的に書ける
|
|
76
|
+
- **代替**:
|
|
77
|
+
- `l--grid`: `gtc="repeat(3, 1fr)"` で書けるが、等幅 N 列や列数切替だけなら Columns のほうが簡潔
|
|
78
|
+
- `l--tileGrid`: 行も指定したい時はこちら
|
|
79
|
+
- **要件**: BP 値を使うため祖先に `is--container` が必要
|
|
80
|
+
|
|
81
|
+
##### 2. カラム幅が指定値を下回ったら自動で折り返したい
|
|
82
|
+
|
|
83
|
+
- **推奨**: `l--autoColumns` (`<AutoColumns cols="20rem" />`)
|
|
84
|
+
- **理由**: BP に依存せず、カラム最小幅基準で `auto-fit` / `auto-fill` の挙動を簡潔に書ける
|
|
85
|
+
- **典型例**: カード一覧、商品リスト、ロゴ並び等
|
|
86
|
+
- **代替**:
|
|
87
|
+
- `l--grid`: `gtc="repeat(auto-fit, minmax(20rem, 1fr))"` を直書きできるが冗長
|
|
88
|
+
|
|
89
|
+
##### 3. 「横並び」と「縦 1 列」を一括で切り替えたい(多段階の列数変化が不要)
|
|
90
|
+
|
|
91
|
+
- **推奨**: `l--switchColumns` (`<SwitchColumns breakSize="s" />`)
|
|
92
|
+
- **理由**: 自身の利用可能幅が `breakSize` を下回ったら一気に縦並びに切り替わる。BP / CQ 設計は不要だが、`breakSize` で切り替え幅を指定する
|
|
93
|
+
- **代替**:
|
|
94
|
+
- `l--columns cols={[1, 2]}`: BP で切り替える場合
|
|
95
|
+
- `l--autoColumns`: 段階的に列数が変わってよい場合
|
|
96
|
+
|
|
97
|
+
##### 4. サイド + メイン(非対称 2 カラム)で、コンテンツ幅で自動切替したい
|
|
98
|
+
|
|
99
|
+
- **推奨**: `l--withSide` (`<WithSide sideW="..." mainW="..." />`)
|
|
100
|
+
- **理由**: メイン側が `mainW` を維持できなくなったら自動で縦並びに。BP 設計不要
|
|
101
|
+
- **典型例**: 画像 + テキスト、メインエリア + サイドバー、メディアとテキストが交互に並ぶ繰り返しブロック(メディア側を `isSide` として先に置き、`fxd="row-reverse"` で交互配置すると、縦並び時はメディア側を上に統一できる)
|
|
102
|
+
- **代替**:
|
|
103
|
+
- `l--grid` + `gta` 配列: BP で明示的に切替したい場合は Grid + `gta` のテンプレ切替で同じ見た目を実現可能(withSide のほうが宣言的でシンプル)
|
|
104
|
+
|
|
105
|
+
##### 5. 行 × 列を指定した固定タイルレイアウト
|
|
106
|
+
|
|
107
|
+
- **推奨**: `l--tileGrid` (`<TileGrid cols="3" rows="2" />`)
|
|
108
|
+
- **理由**: カラムレイアウトというより、行数も固定したい場合の Grid 派生。`cols` / `rows` で `repeat(rows, minmax(0, 1fr)) / repeat(cols, minmax(0, 1fr))` を簡潔に書ける
|
|
109
|
+
- **代替**:
|
|
110
|
+
- `l--columns`: 列だけでよい(行は内容で自動決定)場合
|
|
111
|
+
- `l--grid`: トラックを個別に細かく制御したい場合
|
|
112
|
+
|
|
113
|
+
##### 6. Grid テンプレートを主目的にした複雑な配置
|
|
114
|
+
|
|
115
|
+
- **推奨**: `l--grid` (`<Grid gtc="..." gta="..." />`)
|
|
116
|
+
- **理由**: `gta` / `gtc` 自体は Property Class として他の Primitive にも指定できるが、Grid テンプレートを主軸にするなら `l--grid` が素直
|
|
117
|
+
- **典型例**: 名前付きエリア配置、要素の重ね合わせ(`ga="1/1"`)、subgrid
|
|
118
|
+
|
|
119
|
+
#### 補足
|
|
120
|
+
|
|
121
|
+
- 各 Primitive の詳細・使用例は [primitives/](./primitives/) 配下の個別ファイルを参照
|
|
122
|
+
- レスポンシブな値(配列指定)を使う場合は祖先要素に `is--container` が必須([prop-responsive.md](./prop-responsive.md))
|
|
123
|
+
|
|
124
|
+
|
|
50
125
|
## Atomic Primitive(`a--`)
|
|
51
126
|
|
|
52
127
|
レイアウト構成物の最小単位となる Primitive です。
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `a--divider`
|
|
8
8
|
- コンポーネント: `<Divider>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_divider.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/a--divider.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `a--icon`
|
|
8
8
|
- コンポーネント: `<Icon>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_icon.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/a--icon.md
|
|
11
11
|
|
|
12
12
|
## 出力されるHTML構造
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `a--spacer`
|
|
8
8
|
- コンポーネント: `<Spacer>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_spacer.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/a--spacer.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# l--autoColumns / `<AutoColumns>`
|
|
2
|
+
|
|
3
|
+
カラム要素が指定した幅より小さくならないように自動で折り返す、**ブレイクポイント非依存の段組みクラス**。`auto-fit` / `auto-fill` を使った流動カラムを簡潔に記述できます。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--autoColumns`
|
|
8
|
+
- コンポーネント: `<AutoColumns>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_autoColumns.scss
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--autoColumns.md
|
|
11
|
+
|
|
12
|
+
## 専用Props
|
|
13
|
+
|
|
14
|
+
| Prop | CSS変数 | デフォルト | 説明 |
|
|
15
|
+
|------|--------|-----------|------|
|
|
16
|
+
| `cols` | `--cols` | `20rem` | カラムが維持する最小幅を指定(`16em`, `320px` など) |
|
|
17
|
+
| `autoFill` | `--autoMode` | `auto-fit` | `auto-fill` モードに切り替え |
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### `--cols`でサイズを指定する
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
<AutoColumns cols="16em" g="20">
|
|
25
|
+
<Lism as="div" p="20" bd>Item A</Lism>
|
|
26
|
+
<Lism as="div" p="20" bd>Item B</Lism>
|
|
27
|
+
<Lism as="div" p="20" bd>Item C</Lism>
|
|
28
|
+
<Lism as="div" p="20" bd>Item D</Lism>
|
|
29
|
+
</AutoColumns>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<div class="l--autoColumns -g:20" style="--cols: 16em">
|
|
34
|
+
<div class="-p:20 -bd">Item A</div>
|
|
35
|
+
<div class="-p:20 -bd">Item B</div>
|
|
36
|
+
<div class="-p:20 -bd">Item C</div>
|
|
37
|
+
<div class="-p:20 -bd">Item D</div>
|
|
38
|
+
</div>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### `auto-fill`を使用する
|
|
42
|
+
|
|
43
|
+
`l--autoColumns` では、`grid-template-columns` の `repeat()` 関数の第一引数を `--autoMode` で指定できます(デフォルトは `auto-fit`)。`--autoMode:auto-fill`(`autoFill`)を指定することで、要素数が少ない時の挙動が変わります。
|
|
44
|
+
|
|
45
|
+
```jsx
|
|
46
|
+
<AutoColumns cols="12em" autoFill g="20" fz="s">
|
|
47
|
+
<Lism as="div" p="20" bd>auto-fill</Lism>
|
|
48
|
+
<Lism as="div" p="20" bd>auto-fill</Lism>
|
|
49
|
+
</AutoColumns>
|
|
50
|
+
<AutoColumns cols="12em" g="20" fz="s">
|
|
51
|
+
<Lism as="div" p="20" bd>auto-fit</Lism>
|
|
52
|
+
<Lism as="div" p="20" bd>auto-fit</Lism>
|
|
53
|
+
</AutoColumns>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em; --autoMode:auto-fill">
|
|
58
|
+
<div class="-p:20 -bd">auto-fill</div>
|
|
59
|
+
<div class="-p:20 -bd">auto-fill</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em">
|
|
62
|
+
<div class="-p:20 -bd">auto-fit</div>
|
|
63
|
+
<div class="-p:20 -bd">auto-fit</div>
|
|
64
|
+
</div>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 関連プリミティブ
|
|
68
|
+
|
|
69
|
+
- [l--columns](./l--columns.md) — ブレイクポイント指定の等幅カラム
|
|
70
|
+
- [l--switchColumns](./l--switchColumns.md) — 複数列 ↔ 1列の2段階切り替え
|
|
71
|
+
- [l--withSide](./l--withSide.md) — メイン幅ベースの2カラム自動切替
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--center`
|
|
8
8
|
- コンポーネント: `<Center>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_center.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--center.md
|
|
11
11
|
|
|
12
12
|
## 動作の仕組み
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--cluster`
|
|
8
8
|
- コンポーネント: `<Cluster>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_cluster.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--cluster.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -35,4 +35,4 @@
|
|
|
35
35
|
|
|
36
36
|
- [l--flex](./l--flex.md) — 汎用 Flex 横並び(折り返しなしが基本)
|
|
37
37
|
- [l--stack](./l--stack.md) — Flex 縦並び
|
|
38
|
-
- [l--
|
|
38
|
+
- [l--switchColumns](./l--switchColumns.md) — ブレイクポイントで縦横切り替えるカラム
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--columns`
|
|
8
8
|
- コンポーネント: `<Columns>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_columns.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--columns.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
## 関連プリミティブ
|
|
69
69
|
|
|
70
70
|
- [l--tileGrid](./l--tileGrid.md) — 列数×行数を指定する均等タイル
|
|
71
|
-
- [l--
|
|
72
|
-
- [l--
|
|
71
|
+
- [l--autoColumns](./l--autoColumns.md) — カラム幅ベースの自動段組
|
|
72
|
+
- [l--switchColumns](./l--switchColumns.md) — 複数列 ↔ 1列切り替え
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--flex`
|
|
8
8
|
- コンポーネント: `<Flex>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flex.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--flex.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
- クラス名: `l--flow`
|
|
8
8
|
- コンポーネント: `<Flow>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flow.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--flow.md
|
|
11
11
|
|
|
12
12
|
## 余白の仕組み
|
|
13
13
|
|
|
14
|
-
`l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`
|
|
14
|
+
`l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`h1`〜`h6`)のみ余白が大きくなり、`calc(var(--flow) * 2 + 0.5em)` で計算されます。
|
|
15
15
|
|
|
16
16
|
| クラス | 余白量 |
|
|
17
17
|
|--------|-------|
|
|
18
|
-
|
|
|
18
|
+
| `l--flow` | `--flow--base`(`--s30`) |
|
|
19
19
|
| `.l--flow.-flow:s` | `--flow--s`(`--s20`) |
|
|
20
20
|
| `.l--flow.-flow:` | `--flow` を直接指定した値 |
|
|
21
21
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
| Prop | 説明 |
|
|
25
25
|
|------|------|
|
|
26
|
-
| `flow` | `--flow` の値を指定。`s` / `l` などのトークン値を渡すと
|
|
26
|
+
| `flow` | `--flow` の値を指定。`s` / `l` などのトークン値を渡すと `-flow:{value}` クラスが付与、任意値を渡すと `-flow:` + `style="--flow:..."` が出力される |
|
|
27
27
|
|
|
28
28
|
## Usage
|
|
29
29
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--frame`
|
|
8
8
|
- コンポーネント: `<Frame>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_frame.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--frame.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--grid`
|
|
8
8
|
- コンポーネント: `<Grid>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_grid.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--grid.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -65,4 +65,4 @@
|
|
|
65
65
|
|
|
66
66
|
- [l--tileGrid](./l--tileGrid.md) — 自動繰り返しのタイル型 Grid
|
|
67
67
|
- [l--columns](./l--columns.md) — 等幅カラム専用
|
|
68
|
-
- [l--
|
|
68
|
+
- [l--withSide](./l--withSide.md) — コンテンツ幅自動切り替え型 2 カラム
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--stack`
|
|
8
8
|
- コンポーネント: `<Stack>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_stack.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--stack.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -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) — セクション区切りに使うと相性が良い
|