@lism-css/mcp 0.23.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.ja.md +15 -15
  2. package/README.md +5 -5
  3. package/dist/data/docs-index.json +185 -159
  4. package/dist/data/guides/SKILL.md +164 -228
  5. package/dist/data/guides/antipatterns-layout.md +271 -0
  6. package/dist/data/guides/antipatterns.md +121 -196
  7. package/dist/data/guides/base-styles.md +10 -9
  8. package/dist/data/guides/components-core.md +27 -9
  9. package/dist/data/guides/components-ui.md +30 -51
  10. package/dist/data/guides/css-rules.md +104 -107
  11. package/dist/data/guides/customize.md +10 -7
  12. package/dist/data/guides/naming.md +22 -41
  13. package/dist/data/guides/primitive-class.md +5 -5
  14. package/dist/data/guides/primitives/a--decorator.md +2 -28
  15. package/dist/data/guides/primitives/a--divider.md +1 -52
  16. package/dist/data/guides/primitives/a--icon.md +2 -76
  17. package/dist/data/guides/primitives/a--spacer.md +1 -49
  18. package/dist/data/guides/primitives/l--autoColumns.md +7 -54
  19. package/dist/data/guides/primitives/l--box.md +1 -21
  20. package/dist/data/guides/primitives/l--center.md +6 -39
  21. package/dist/data/guides/primitives/l--cluster.md +6 -26
  22. package/dist/data/guides/primitives/l--columns.md +7 -56
  23. package/dist/data/guides/primitives/l--flex.md +5 -62
  24. package/dist/data/guides/primitives/l--flow.md +11 -72
  25. package/dist/data/guides/primitives/l--frame.md +7 -78
  26. package/dist/data/guides/primitives/l--grid.md +5 -56
  27. package/dist/data/guides/primitives/l--stack.md +5 -44
  28. package/dist/data/guides/primitives/l--switchColumns.md +8 -53
  29. package/dist/data/guides/primitives/l--tileGrid.md +7 -44
  30. package/dist/data/guides/primitives/l--withSide.md +9 -79
  31. package/dist/data/guides/property-class/all-props.md +246 -0
  32. package/dist/data/guides/property-class/bd.md +6 -71
  33. package/dist/data/guides/property-class/hov.md +14 -73
  34. package/dist/data/guides/property-class/max-sz.md +3 -39
  35. package/dist/data/guides/property-class.md +33 -250
  36. package/dist/data/guides/references/authoring.md +246 -0
  37. package/dist/data/guides/references/page-sections.md +99 -0
  38. package/dist/data/guides/references/verification.md +75 -0
  39. package/dist/data/guides/responsive.md +44 -15
  40. package/dist/data/guides/set-class.md +2 -12
  41. package/dist/data/guides/tokens.md +20 -16
  42. package/dist/data/guides/trait-class/has--gutter.md +3 -31
  43. package/dist/data/guides/trait-class/has--mask.md +3 -36
  44. package/dist/data/guides/trait-class/has--snap.md +3 -34
  45. package/dist/data/guides/trait-class/has--transition.md +3 -41
  46. package/dist/data/guides/trait-class/is--boxLink.md +2 -63
  47. package/dist/data/guides/trait-class/is--container.md +2 -29
  48. package/dist/data/guides/trait-class/is--layer.md +1 -57
  49. package/dist/data/guides/trait-class/is--wrapper.md +3 -56
  50. package/dist/data/guides/trait-class.md +8 -8
  51. package/dist/data/guides/utility-class.md +1 -1
  52. package/dist/data/meta.js +4 -3
  53. package/dist/index.js +4 -1
  54. package/dist/lib/load-markdown.d.ts +4 -0
  55. package/dist/lib/load-markdown.js +10 -0
  56. package/dist/lib/response.d.ts +5 -0
  57. package/dist/lib/response.js +15 -2
  58. package/dist/lib/schemas.d.ts +35 -0
  59. package/dist/lib/schemas.js +13 -0
  60. package/dist/lib/search.d.ts +2 -0
  61. package/dist/lib/search.js +56 -4
  62. package/dist/lib/types.d.ts +5 -21
  63. package/dist/lib/version.d.ts +2 -0
  64. package/dist/lib/version.js +8 -0
  65. package/dist/tools/convert-css.js +37 -14
  66. package/dist/tools/get-component.js +2 -2
  67. package/dist/tools/get-guide.d.ts +2 -0
  68. package/dist/tools/get-guide.js +41 -18
  69. package/dist/tools/get-overview.js +2 -2
  70. package/dist/tools/get-props-system.js +8 -6
  71. package/dist/tools/get-tokens.js +2 -2
  72. package/dist/tools/search-docs.js +13 -7
  73. package/package.json +21 -6
@@ -2,69 +2,20 @@
2
2
 
3
3
  ブレイクポイントごとに指定した列数で表示できるカラムクラス。等幅の複数カラムを定義したい場合に使います。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--columns.md
6
6
 
7
- - クラス名: `l--columns`
8
- - コンポーネント: `<Columns>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_columns.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--columns.md
7
+ ## 既定の挙動
8
+
9
+ - `display:grid`。
10
+ - `--cols:2`を初期値にし、`grid-template-columns:repeat(var(--cols), minmax(0, 1fr))`で等幅列を作ります。
11
+ - 等幅N列は`Grid gtc="repeat(...)"`ではなく`Columns cols={...}`を優先します。
11
12
 
12
13
  ## 専用Props
13
14
 
14
15
  | Prop | CSS変数 | 説明 | デフォルト |
15
- |------|--------|------|------------|
16
+ | --- | --- | --- | --- |
16
17
  | `cols` | `--cols` | 列数を指定。配列でブレイクポイント指定可 | `2` |
17
18
 
18
- ## Usage
19
-
20
- ### 2列レイアウト
21
-
22
- ```jsx
23
- <Columns cols={2} g="20">
24
- <Box bgc="base-2" p="20">Box</Box>
25
- <Box bgc="base-2" p="20">Box</Box>
26
- <Box bgc="base-2" p="20">Box</Box>
27
- <Box bgc="base-2" p="20">Box</Box>
28
- </Columns>
29
- ```
30
-
31
- ```html
32
- <div class="l--columns -g:20" style="--cols: 2">
33
- <div class="l--box -bgc:base-2 -p:20">Box</div>
34
- <div class="l--box -bgc:base-2 -p:20">Box</div>
35
- <div class="l--box -bgc:base-2 -p:20">Box</div>
36
- <div class="l--box -bgc:base-2 -p:20">Box</div>
37
- </div>
38
- ```
39
-
40
- ### ブレイクポイント別指定
41
-
42
- ```jsx
43
- <Columns cols={[1, 2, 3]} g="20">
44
- <Box>Box1</Box>
45
- <Box>Box2</Box>
46
- <Box>Box3</Box>
47
- </Columns>
48
- ```
49
-
50
- ```html
51
- <div class="l--columns -cols_sm -cols_md -g:20" style="--cols: 1; --cols_sm: 2; --cols_md: 3">
52
- <div class="l--box">Box1</div>
53
- <div class="l--box">Box2</div>
54
- <div class="l--box">Box3</div>
55
- </div>
56
- ```
57
-
58
- `null` でブレイクポイントをスキップ可:`cols={[2, null, 4]}` で「デフォルト2列、`md` から4列」になります。
59
-
60
- ### `gc`(grid-column)で子要素の横幅を個別制御
61
-
62
- 子要素側で `gc="span 2"` のように指定すると、その子だけ複数列にまたがって配置できます。`cols="6"` 等の多めの列数と組み合わせると、不揃いなブロックレイアウトを作れます。
63
-
64
- ### subgrid でカード高さ揃え
65
-
66
- 子要素を `<Grid gtr="subgrid" gr="span 4">` にすると、親 Columns の行グリッドを継承しカード内のメディア・タイトル・本文・フッタを縦方向に揃えられます。
67
-
68
19
  ## 関連プリミティブ
69
20
 
70
21
  - [l--tileGrid](./l--tileGrid.md) — 列数×行数を指定する均等タイル
@@ -2,70 +2,13 @@
2
2
 
3
3
  コンテンツを Flex レイアウトで配置するためのクラス。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--flex.md
6
6
 
7
- - クラス名: `l--flex`
8
- - コンポーネント: `<Flex>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flex.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--flex.md
7
+ ## 既定の挙動
11
8
 
12
- ## Usage
13
-
14
- ### 基本的な使い方
15
-
16
- ```jsx
17
- <Flex>
18
- <div>Item</div>
19
- <div>Item</div>
20
- <div>Item</div>
21
- </Flex>
22
- ```
23
-
24
- ```html
25
- <div class="l--flex">
26
- <div>Item</div>
27
- <div>Item</div>
28
- <div>Item</div>
29
- </div>
30
- ```
31
-
32
- ### Flex プロパティの指定
33
-
34
- Property Class や Lism Props で Flex 関連プロパティ(`g`, `fxw`, `jc`, `ai`, `fxd` など)を指定できます。レスポンシブ対応プロパティは配列・オブジェクトで指定可能。
35
-
36
- ```jsx
37
- <Flex fxw="wrap" jc="center" g="20">
38
- <div>Flex Content</div>
39
- <div>Flex Content</div>
40
- <div>Flex Content</div>
41
- </Flex>
42
- ```
43
-
44
- ```html
45
- <div class="l--flex -fxw:wrap -g:20 -jc:center">
46
- <div>Flex Content</div>
47
- <div>Flex Content</div>
48
- <div>Flex Content</div>
49
- </div>
50
- ```
51
-
52
- ### 子要素の Flex プロパティ
53
-
54
- 子要素側も `fx`(flex shorthand), `fxb`(flex-basis), `fxg`(flex-grow), `fxsh`(flex-shrink)などで個別制御できます。
55
-
56
- ```jsx
57
- <Flex g="20">
58
- <Lism fx="1">Flex Content</Lism>
59
- <Lism fxb={['50%', null, '25%']}>Flex Content</Lism>
60
- </Flex>
61
- ```
62
-
63
- ```html
64
- <div class="l--flex -g:20">
65
- <div class="-fx:1">Flex Content</div>
66
- <div class="-fxb -fxb_md" style="--fxb:50%;--fxb_md:25%">Flex Content</div>
67
- </div>
68
- ```
9
+ - `display:flex`。
10
+ - 直下の子要素に`min-width:0`を付与し、flex itemのはみ出しを抑えます。
11
+ - `gap`、`flex-wrap`、`align-items`、`justify-content`、`flex-direction`は既定では指定しません。必要な時だけ`g`/`fxw`/`ai`/`jc`/`fxd`で指定します。
69
12
 
70
13
  ## 関連プリミティブ
71
14
 
@@ -2,93 +2,32 @@
2
2
 
3
3
  子要素間の余白を `margin-block-start` で管理するフローレイアウト。**記事コンテンツなどテキスト主体のフローレイアウト**に最適。
4
4
 
5
- ## 基本情報
6
-
7
- - クラス名: `l--flow`
8
- - コンポーネント: `<Flow>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flow.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--flow.md
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--flow.md
11
6
 
12
7
  ## 余白の仕組み
13
8
 
14
9
  `l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`h1`〜`h6`)のみ余白が大きくなり、`calc(var(--flow) * 2 + 0.5em)` で計算されます。
15
10
 
16
11
  | クラス | 余白量 |
17
- |--------|-------|
12
+ | --- | --- |
18
13
  | `l--flow` | `--flow--base`(`--s30`、`lang="ja"` 時は `--s35`) |
19
14
  | `.l--flow.-flow:s` | `--flow--s`(`--s20`) |
20
15
  | `.l--flow.-flow:` | `--flow` を直接指定した値 |
21
16
 
22
17
  `--flow--base` / `--flow--s` は `:root` で定義されたトークン([tokens](../tokens.md#フロー余白-flow) 参照)。日本語環境では文字密度に合わせて `--flow--base` が広めに上書きされる。
23
18
 
24
- ## 専用Props
25
-
26
- | Prop | 説明 |
27
- |------|------|
28
- | `flow` | `--flow` の値を指定。`s` / `l` などのトークン値を渡すと `-flow:{value}` クラスが付与、任意値を渡すと `-flow:` + `style="--flow:..."` が出力される |
29
-
30
- ## Usage
31
-
32
- ### 基本的な使い方
33
-
34
- ```jsx
35
- <Flow>
36
- <p>本文1...</p>
37
- <p>本文2...</p>
38
- <h2>Heading 2</h2>
39
- <p>本文3...</p>
40
- <ul>
41
- <li>リスト項目1</li>
42
- <li>リスト項目2</li>
43
- </ul>
44
- </Flow>
45
- ```
46
-
47
- ```html
48
- <div class="l--flow">
49
- <p>本文1...</p>
50
- <p>本文2...</p>
51
- <h2>Heading 2</h2>
52
- <p>本文3...</p>
53
- <ul>...</ul>
54
- </div>
55
- ```
56
-
57
- ### 余白量をトークンで変える(`flow="s"`)
19
+ ## 既定の挙動
58
20
 
59
- ```jsx
60
- <Flow flow="s">
61
- <p>本文...</p>
62
- <h2>Heading</h2>
63
- <p>本文...</p>
64
- </Flow>
65
- ```
66
-
67
- ```html
68
- <div class="l--flow -flow:s">
69
- <p>本文...</p>
70
- <h2>Heading</h2>
71
- <p>本文...</p>
72
- </div>
73
- ```
74
-
75
- ### 任意の値を指定する
76
-
77
- トークン値以外を `flow` に渡すと、`-flow:` クラスと `--flow` CSS変数で出力されます。
21
+ - `display:flow-root`。
22
+ - 直下の`* + *`へ`margin-block-start:var(--flow)`を付与し、`--flow`は`--flow--base`を初期値にします。
23
+ - 直下の見出しは上余白を広めにし、先頭要素と`is--skipFlow + *`は余白を打ち消します。
24
+ - 直下の`img`/`video`/`iframe`は`display:block`へ初期化します。
78
25
 
79
- ```jsx
80
- <Flow flow="10px">
81
- <p>本文...</p>
82
- <p>本文...</p>
83
- </Flow>
84
- ```
26
+ ## 専用Props
85
27
 
86
- ```html
87
- <div class="l--flow -flow:" style="--flow:10px">
88
- <p>本文...</p>
89
- <p>本文...</p>
90
- </div>
91
- ```
28
+ | Prop | 説明 |
29
+ | --- | --- |
30
+ | `flow` | `--flow` の値を指定。トークン値 `s` を渡すと `-flow:s` クラスが付与、任意値を渡すと `-flow:` + `style="--flow:..."` が出力される |
92
31
 
93
32
  ## `is--skipFlow`
94
33
 
@@ -2,91 +2,20 @@
2
2
 
3
3
  直下のメディア要素(`img`, `video`, `iframe`)を自身のサイズにフィットさせて表示するクラス。アスペクト比固定のメディア枠を簡単に作れます。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--frame.md
6
6
 
7
- - クラス名: `l--frame`
8
- - コンポーネント: `<Frame>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_frame.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--frame.md
7
+ ## 既定の挙動
8
+
9
+ - `overflow:hidden`を既定で持ちます。通常`ov="hidden"`は足しません。
10
+ - 直下の`img`/`video`/`iframe`を`display:block;width:100%;height:100%;object-fit:cover`でフレームにフィットさせます。
11
+ - 直下メディアへ`w`/`h`/`object-fit:cover`を重ねないでください。`object-fit:contain`や`object-position`など既定と違う意図がある場合だけ追加します。
11
12
 
12
13
  ## 専用Props
13
14
 
14
15
  | Prop | 説明 |
15
- |------|------|
16
+ | --- | --- |
16
17
  | `ar` | フレームのアスペクト比を指定(`16/9` など)。`ar` 自体はどのコンポーネントにも指定できる汎用 CSS Prop |
17
18
 
18
- ## Usage
19
-
20
- ### アスペクト比の指定
21
-
22
- ```jsx
23
- <Frame ar="16/9">
24
- <img src="/img/a-1.jpg" alt="" width="960" height="640" />
25
- </Frame>
26
- ```
27
-
28
- ```html
29
- <div class="l--frame -ar:16/9">
30
- <img src="/img/a-1.jpg" alt="" width="960" height="640" />
31
- </div>
32
- ```
33
-
34
- ### `figure` / `figcaption` の使用
35
-
36
- `as="figure"` を指定してセマンティックな `<figure>` 要素として出力できます。
37
-
38
- ```jsx
39
- <Frame as="figure" ar="16/9" pos="relative">
40
- <img src="/img/a-1.jpg" alt="" width="960" height="640" />
41
- <Flex as="figcaption" pos="absolute" b="0" w="100%" jc="center" p="10" c="white" bgc="rgb(0 0 0 / 40%)">
42
- Caption text
43
- </Flex>
44
- </Frame>
45
- ```
46
-
47
- ### `iframe` / `video` の使用
48
-
49
- `iframe`(YouTube 埋め込みなど)や `video` も同様に `l--frame` 直下に配置すれば自動的にフィットします。
50
-
51
- ```jsx
52
- <Frame ar="16/9">
53
- <iframe src="https://www.youtube.com/embed/xxx" allowfullscreen />
54
- </Frame>
55
- ```
56
-
57
- ### Layer 系を活用したオーバーレイ
58
-
59
- `<Layer>` と組み合わせると、メディア上にテキストやオーバーレイを重ねられます。
60
-
61
- ```jsx
62
- <Frame ar="3/2" pos="relative" c="#fff">
63
- <img src="/img/a-1.jpg" alt="" width="960" height="640" />
64
- <Layer bgc="rgb(0 0 0 / 40%)" />
65
- <Layer p="30">
66
- <Center min-h="100%" g="15">
67
- <h2>Heading</h2>
68
- <Text>オーバーレイ内のテキスト...</Text>
69
- </Center>
70
- </Layer>
71
- </Frame>
72
- ```
73
-
74
- ### レスポンシブな `ar`
75
-
76
- `ar` はブレイクポイント別に配列で指定できます。
77
-
78
- ```jsx
79
- <Frame ar={['1/1', '3/2', '16/9']} pos="relative">
80
- <img src="/img/a-1.jpg" alt="" width="960" height="640" />
81
- </Frame>
82
- ```
83
-
84
- ```html
85
- <div class="l--frame -ar:1/1 -ar_sm -ar_md" style="--ar_sm: 3/2; --ar_md: 16/9">
86
- <img src="/img/a-1.jpg" alt="" />
87
- </div>
88
- ```
89
-
90
19
  ## 関連プリミティブ
91
20
 
92
21
  - [is--layer](../trait-class/is--layer.md) — `l--frame` 内のオーバーレイ配置に使用
@@ -2,64 +2,13 @@
2
2
 
3
3
  コンテンツを CSS Grid レイアウトで配置するクラス。`gtc` / `gta` / `ga` などの Grid プロパティと組み合わせて使います。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--grid.md
6
6
 
7
- - クラス名: `l--grid`
8
- - コンポーネント: `<Grid>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_grid.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--grid.md
7
+ ## 既定の挙動
11
8
 
12
- ## Usage
13
-
14
- ### 基本的な使い方
15
-
16
- `gtc`(`grid-template-columns`)で列を定義します。
17
-
18
- ```jsx
19
- <Grid gtc="auto 1fr auto" g="15">
20
- <Center p="20" bgc="base-2">L</Center>
21
- <Center p="20" bd>Center</Center>
22
- <Center p="20" bgc="base-2">R</Center>
23
- </Grid>
24
- ```
25
-
26
- ```html
27
- <div class="l--grid -gtc -g:15" style="--gtc: auto 1fr auto">
28
- <div class="l--center -p:20 -bgc:base-2">L</div>
29
- <div class="l--center -p:20 -bd">Center</div>
30
- <div class="l--center -p:20 -bgc:base-2">R</div>
31
- </div>
32
- ```
33
-
34
- ### ブレイクポイントでエリアを切り替える
35
-
36
- `gta`(`grid-template-areas`)と `gtc` を配列で渡すと、ブレイクポイントごとに別レイアウトを定義できます。子要素には `ga`(`grid-area`)で対応するエリア名を指定します。
37
-
38
- ```jsx
39
- <Grid g="15" gtc={['1fr 1fr', '8em 1fr 8em']} gta={[`'main main' 'left right'`, `'left main right'`]}>
40
- <Box ga="left" p="15" bgc="base-2">Left</Box>
41
- <Box ga="main" p="15" bd>Center</Box>
42
- <Box ga="right" p="15" bgc="base-2">Right</Box>
43
- </Grid>
44
- ```
45
-
46
- ### 子要素を重ねて表示する(`ga="1/1"`)
47
-
48
- `position: absolute` を使わず、`grid-area: 1/1` を複数子要素に指定することで要素を重ねられます。
49
-
50
- ```jsx
51
- <Grid ar="16/9">
52
- <Frame ga="1/1" w="100%" h="100%" pos="relative">
53
- <Media src="/img/a-1.jpg" alt="" inferSize />
54
- <Layer bgc="rgb(0 0 0 / 40%)" />
55
- </Frame>
56
- <Center ga="1/1" fz="3xl" z="1" c="white">SAMPLE TEXT</Center>
57
- </Grid>
58
- ```
59
-
60
- ### subgrid の活用
61
-
62
- `gtc="subgrid"` を入れ子の Grid に指定することで親 Grid のトラックを継承し、複数行を揃えたレイアウトが作れます。記事一覧やテーブル風レイアウトに活用できます。
9
+ - `display:grid`。
10
+ - 直下の子要素に`min-width:0`を付与し、grid itemのはみ出しを抑えます。
11
+ - `grid-template-columns`や`gap`は既定で持たないため、必要な時だけ`gtc`/`g`などで指定します。
63
12
 
64
13
  ## 関連プリミティブ
65
14
 
@@ -2,52 +2,13 @@
2
2
 
3
3
  複数の要素を Flex レイアウトで縦並びに配置するクラス。`gap` で余白を管理します。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--stack.md
6
6
 
7
- - クラス名: `l--stack`
8
- - コンポーネント: `<Stack>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_stack.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--stack.md
7
+ ## 既定の挙動
11
8
 
12
- ## Usage
13
-
14
- ### 基本的な使い方
15
-
16
- ```jsx
17
- <Stack g="20">
18
- <p>コンテンツ</p>
19
- <p>コンテンツ</p>
20
- <p>コンテンツ</p>
21
- </Stack>
22
- ```
23
-
24
- ```html
25
- <div class="l--stack -g:20">
26
- <p>コンテンツ</p>
27
- <p>コンテンツ</p>
28
- <p>コンテンツ</p>
29
- </div>
30
- ```
31
-
32
- ### 内在的な中央寄せ(`ai="center"`)
33
-
34
- `ai="center"` を併用すると、Every Layout で言うところの**内在的な中央寄せ**(コンテンツ幅が短い要素だけ中央揃え、長い要素はそのまま)になります。
35
-
36
- ```jsx
37
- <Stack ai="center" g="20" p="30">
38
- <h3>見出し</h3>
39
- <p>短いテキスト</p>
40
- <p>長めのテキスト...</p>
41
- </Stack>
42
- ```
43
-
44
- ```html
45
- <div class="l--stack -ai:center -p:30 -g:20">
46
- <h3>見出し</h3>
47
- <p>短いテキスト</p>
48
- <p>長めのテキスト...</p>
49
- </div>
50
- ```
9
+ - `display:flex`。
10
+ - `flex-direction:column`で縦並びにします。
11
+ - `gap`は既定で持たないため、間隔は`g`/`-g:*`で指定します。通常`fxd="column"`は足しません。
51
12
 
52
13
  ## 関連プリミティブ
53
14
 
@@ -2,66 +2,21 @@
2
2
 
3
3
  複数列 ↔ 1列の切り替えをコンテナクエリやメディアクエリを使わずに実装するクラス。Flexbox ベースで、親コンテナ幅に応じて自動的に折り返します。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--switchColumns.md
6
6
 
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
7
+ ## 既定の挙動
8
+
9
+ - `display:flex`。
10
+ - `flex-wrap:wrap`で折り返しを有効化済み。
11
+ - `--breakSize:var(--sz--xs)`を初期値にし、直下子要素の`flex-basis`で親幅に応じた縦横切替を行います。
12
+ - 通常`fxw="wrap"`は足しません。
11
13
 
12
14
  ## 専用Props
13
15
 
14
16
  | Prop | CSS変数 | デフォルト | 説明 |
15
- |------|--------|-----------|------|
17
+ | --- | --- | --- | --- |
16
18
  | `breakSize` | `--breakSize` | `var(--sz--xs)` | 横並びを維持するのに必要な親コンテナ幅を指定。`sz` トークンが使える |
17
19
 
18
- ## Usage
19
-
20
- ### デフォルト幅で利用する
21
-
22
- ```jsx
23
- <SwitchColumns g="20">
24
- <div class="-bgc:base-2 -p:20">Box</div>
25
- <div class="-bgc:base-2 -p:20">Box</div>
26
- <div class="-bgc:base-2 -p:20">Box</div>
27
- </SwitchColumns>
28
- ```
29
-
30
- ```html
31
- <div class="l--switchColumns -g:20">
32
- <div class="-bgc:base-2 -p:20">Box</div>
33
- <div class="-bgc:base-2 -p:20">Box</div>
34
- <div class="-bgc:base-2 -p:20">Box</div>
35
- </div>
36
- ```
37
-
38
- ### `breakSize` の指定
39
-
40
- ```jsx
41
- <SwitchColumns breakSize="s" g="20">
42
- <div class="-bgc:base-2 -p:20">Box</div>
43
- <div class="-bgc:base-2 -p:20">Box</div>
44
- </SwitchColumns>
45
- ```
46
-
47
- ```html
48
- <div class="l--switchColumns -g:20" style="--breakSize: var(--sz--s)">
49
- <div class="-bgc:base-2 -p:20">Box</div>
50
- <div class="-bgc:base-2 -p:20">Box</div>
51
- </div>
52
- ```
53
-
54
- ### `flex-grow` で比率を調整
55
-
56
- 子要素に `flex-grow` を指定すると、横並び時の幅の比率を個別に調整できます。
57
-
58
- ```jsx
59
- <SwitchColumns breakSize="s" g="20">
60
- <div class="-bgc:base-2 -p:20">Box</div>
61
- <div class="-bgc:base-2 -p:20" style={{ flexGrow: 2 }}>Box</div>
62
- </SwitchColumns>
63
- ```
64
-
65
20
  ## 関連プリミティブ
66
21
 
67
22
  - [l--autoColumns](./l--autoColumns.md) — 最小幅ベースの自動段組
@@ -2,58 +2,21 @@
2
2
 
3
3
  `cols`(列数)と `rows`(行数)を指定して、**均等なタイル型グリッドレイアウト**を構成するクラス。内部的には `grid-template: repeat(rows, minmax(0, 1fr)) / repeat(cols, minmax(0, 1fr))` を使用します。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--tileGrid.md
6
6
 
7
- - クラス名: `l--tileGrid`
8
- - コンポーネント: `<TileGrid>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_tileGrid.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--tileGrid.md
7
+ ## 既定の挙動
8
+
9
+ - `display:grid`。
10
+ - `grid-template:repeat(var(--rows, 1), minmax(0, 1fr)) / repeat(var(--cols, 1), minmax(0, 1fr))`で行数・列数を均等に割ります。
11
+ - `rows`/`cols`を省略するとどちらも1です。
11
12
 
12
13
  ## 専用Props
13
14
 
14
15
  | Prop | CSS変数 | 説明 | デフォルト |
15
- |------|--------|------|------------|
16
+ | --- | --- | --- | --- |
16
17
  | `cols` | `--cols` | 列数を指定。配列でブレイクポイント指定可 | `1` |
17
18
  | `rows` | `--rows` | 行数を指定。配列でブレイクポイント指定可 | `1` |
18
19
 
19
- ## Usage
20
-
21
- ### 基本的な使い方
22
-
23
- ```jsx
24
- <TileGrid cols="3" rows="3" g="5" min-h="50svh">
25
- <Box p="20" bgc="base-2">item1</Box>
26
- <Box p="20" bgc="base-2">item2</Box>
27
- <Box p="20" bgc="base-2">item3</Box>
28
- <Box p="20" bgc="base-2">item4</Box>
29
- <Box p="20" bgc="base-2" gc="span 2">item5</Box>
30
- <Center gc="3" gr="1 / -1" p="20" bgc="blue">item6</Center>
31
- </TileGrid>
32
- ```
33
-
34
- ```html
35
- <div class="l--tileGrid -g:5 -min-h:50svh" style="--cols: 3; --rows: 3">
36
- <div class="l--box -p:20 -bgc:base-2">item1</div>
37
- <div class="l--box -p:20 -bgc:base-2">item2</div>
38
- <div class="l--box -p:20 -bgc:base-2">item3</div>
39
- <div class="l--box -p:20 -bgc:base-2">item4</div>
40
- <div class="l--box -p:20 -bgc:base-2 -gc:span 2">item5</div>
41
- <div class="l--center -p:20 -bgc:blue" style="grid-column: 3; grid-row: 1 / -1">item6</div>
42
- </div>
43
- ```
44
-
45
- ### ブレイクポイント別指定
46
-
47
- `cols` / `rows` をブレイクポイントで切り替え、`gaf`(`grid-auto-flow`)と組み合わせて動的レイアウトも構築できます。
48
-
49
- ```jsx
50
- <TileGrid cols={['2', '3']} rows="4" min-h="50svh" gaf="row dense">
51
- <Box gc={['1 / -1', 'span 2']} gr={['span 2', '1 / -1']} p="20" bgc="base-2">A</Box>
52
- <Box p="20" bgc="green:20%">B</Box>
53
- <Box p="20" bgc="blue:20%">C</Box>
54
- </TileGrid>
55
- ```
56
-
57
20
  ## 関連プリミティブ
58
21
 
59
22
  - [l--columns](./l--columns.md) — 等幅列のみ(1D)のカラム