@lism-css/mcp 0.23.0 → 0.24.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 +51 -76
  4. package/dist/data/guides/SKILL.md +162 -229
  5. package/dist/data/guides/antipatterns-layout.md +268 -0
  6. package/dist/data/guides/antipatterns.md +118 -196
  7. package/dist/data/guides/base-styles.md +10 -9
  8. package/dist/data/guides/components-core.md +26 -8
  9. package/dist/data/guides/components-ui.md +21 -21
  10. package/dist/data/guides/css-rules.md +40 -57
  11. package/dist/data/guides/customize.md +7 -5
  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 +244 -0
  32. package/dist/data/guides/property-class/bd.md +5 -70
  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 +31 -249
  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 +73 -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 +15 -15
  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 +45 -2
  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 +40 -17
  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 +17 -2
@@ -2,58 +2,7 @@
2
2
 
3
3
  コンテンツ間に区切り線を描画するクラス。`--bdc` は `var(--divider)` が初期セットされます。`<Divider>` は `<Lism atomic="divider" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
- ## 基本情報
6
-
7
- - クラス名: `a--divider`
8
- - コンポーネント: `<Divider>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_divider.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/a--divider.md
11
-
12
- ## Usage
13
-
14
- ### 基本的な使い方
15
-
16
- ```jsx
17
- <Box bgc="base-2" py="40" ta="center">...Contents...</Box>
18
- <Divider />
19
- <Box bgc="base-2" py="40" ta="center">...Contents...</Box>
20
- ```
21
-
22
- ```html
23
- <div class="l--box -bgc:base-2 -py:40 -ta:center">...Contents...</div>
24
- <div class="a--divider" aria-hidden="true"></div>
25
- <div class="l--box -bgc:base-2 -py:40 -ta:center">...Contents...</div>
26
- ```
27
-
28
- ### スタイルの変更
29
-
30
- ```jsx
31
- <Divider bds="dotted" bdw="4px" bdc="blue" />
32
- ```
33
-
34
- ```html
35
- <div class="a--divider" aria-hidden="true" style="--bds: dotted; --bdw: 4px; --bdc: var(--blue)"></div>
36
- ```
37
-
38
- ### 縦方向の区切り線
39
-
40
- Property Class `-wm:vertical-rl`(または `<Divider wm="vertical-rl">`)を指定すると縦方向の区切り線になります。Flex 子要素として使うなら `aslf="stretch"` で高さいっぱいに伸ばせます。
41
-
42
- ```jsx
43
- <Flex ai="center" g="20">
44
- <Box fx="1" bgc="base-2" py="40">...Contents...</Box>
45
- <Divider wm="vertical-rl" bds="dashed" bdw="2px" aslf="stretch" />
46
- <Box fx="1" bgc="base-2" py="40">...Contents...</Box>
47
- </Flex>
48
- ```
49
-
50
- ```html
51
- <div class="l--flex -g:20 -ai:center">
52
- <div class="-fx:1 -bgc:base-2 -py:40">...Contents...</div>
53
- <div class="a--divider -wm:vertical-rl -aslf:stretch" style="--bds: dashed; --bdw: 2px" aria-hidden="true"></div>
54
- <div class="-fx:1 -bgc:base-2 -py:40">...Contents...</div>
55
- </div>
56
- ```
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/a--divider.md
57
6
 
58
7
  ## 関連プリミティブ
59
8
 
@@ -2,12 +2,7 @@
2
2
 
3
3
  アイコン要素を表示するためのクラス。`flex-shrink: 0`、デフォルトサイズ `1em`。
4
4
 
5
- ## 基本情報
6
-
7
- - クラス名: `a--icon`
8
- - コンポーネント: `<Icon>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_icon.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/a--icon.md
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/a--icon.md
11
6
 
12
7
  ## 出力されるHTML構造
13
8
 
@@ -24,80 +19,11 @@
24
19
  ## 専用Props
25
20
 
26
21
  | Prop | 説明 |
27
- |------|------|
22
+ | --- | --- |
28
23
  | `icon` | アイコンを指定。文字列(プリセット名)・オブジェクト(`{as, ...exProps}`)のどちらでも可 |
29
24
  | `size` | プリセットアイコン使用時の `width` / `height`(通常は `fz` で指定するほうが推奨) |
30
25
  | `label` | `aria-label` として出力。指定があれば `role="img"`、なければ `aria-hidden="true"` |
31
26
 
32
- ## Usage
33
-
34
- `<Icon>` には**5つの使い方**があります。
35
-
36
- ### 1. 外部パッケージのアイコンを使う(`as` + `exProps`)
37
-
38
- `react-icons`, `@phosphor-icons/react`, `lucide-react` などのサードパーティアイコンコンポーネントを `as` で渡すと、Lism が未処理の props は自動的にそのコンポーネントに転送されます。外部コンポーネント専用の props を明示的に分離したい場合は `exProps` を使います。
39
-
40
- ```jsx
41
- import { SmileyIcon } from '@phosphor-icons/react';
42
- import { Icon } from 'lism-css/react';
43
-
44
- // 基本形
45
- <Icon as={SmileyIcon} fz="2rem" />
46
-
47
- // exProps で外部 props を明示的に分離
48
- <Icon as={SmileyIcon} exProps={{ weight: 'fill', size: '3em' }} c="blue" />
49
-
50
- // 上と同じ結果(Lism が "weight" を処理しないため最終的に SmileyIcon に渡る)
51
- <Icon as={SmileyIcon} weight="fill" c="blue" />
52
- ```
53
-
54
- ### 2. `as` と `exProps` を `icon` prop に一括指定
55
-
56
- `icon={{as: Component, ...exProps}}` の形式で、`as` と `exProps` を1つのオブジェクトとしてまとめて渡せます。アイコンを選択制にする親コンポーネントを作るときに便利です。
57
-
58
- ```jsx
59
- import { Home } from 'lucide-react';
60
-
61
- <Icon icon={{ as: Home, strokeWidth: 1, size: 64 }} />
62
-
63
- // 同じ結果(分割形式)
64
- <Icon as={Home} exProps={{ strokeWidth: 1, size: 64 }} />
65
- ```
66
-
67
- ### 3. プリセットアイコンを使う
68
-
69
- `lism-css` パッケージ内に [Phosphor Icons](https://phosphoricons.com/) ベースのプリセットアイコンが同梱されています。`icon="アイコン名"` の文字列で呼び出せます。
70
-
71
- ```jsx
72
- <Icon icon="menu" />
73
- <Icon icon="lightbulb" fz="2xl" c="blue" />
74
- <Icon icon="warning" size="40px" />
75
- ```
76
-
77
- プリセット一覧のエクスポート元:
78
-
79
- ```jsx
80
- import { phIcons, logoIcons } from 'lism-css/react/atomic/Icon/presets';
81
- ```
82
-
83
- ### 4. SVG の `path` を直接記述する
84
-
85
- `viewBox` を指定すると `<svg>` 要素として出力されるため、子要素に `<path>` 等をそのまま書けます。
86
-
87
- ```jsx
88
- <Icon viewBox="0 0 256 256" label="Smiley icon" fz="4xl" c="blue">
89
- <path d="M128,24A104,104,0,1,0,232,128..." />
90
- </Icon>
91
- ```
92
-
93
- ### 5. `src` で画像をアイコンとして使う
94
-
95
- `src` を指定すると `<img>` として出力されます。
96
-
97
- ```jsx
98
- <Icon fz="4xl" src="/img/avatar01.jpg" alt="avatar" />
99
- ```
100
-
101
27
  ## 関連プリミティブ
102
28
 
103
29
  - [a--divider](./a--divider.md) — 区切り線
@@ -2,60 +2,12 @@
2
2
 
3
3
  要素間のスペースを確保するクラス。`<Spacer>` は `<Lism atomic="spacer" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
- ## 基本情報
6
-
7
- - クラス名: `a--spacer`
8
- - コンポーネント: `<Spacer>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_spacer.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/a--spacer.md
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/a--spacer.md
11
6
 
12
7
  ## 専用Props
13
8
 
14
9
  `<Spacer>`では **`w` / `h` に対してSPACEトークンの値**が使えます(他のコンポーネントではSIZEトークンが優先されるため、スペースサイズを直感的に指定できる特殊対応)。
15
10
 
16
- ## Usage
17
-
18
- ### 縦方向のスペース
19
-
20
- ```jsx
21
- <p>Content...</p>
22
- <Spacer h="100px" />
23
- <p>Content...</p>
24
- ```
25
-
26
- ```html
27
- <p>Content...</p>
28
- <div class="a--spacer -h" style="--h:100px" aria-hidden="true"></div>
29
- <p>Content...</p>
30
- ```
31
-
32
- ### SPACEトークンを使う
33
-
34
- ```jsx
35
- <p>Content...</p>
36
- <Spacer h="60" />
37
- <p>Content...</p>
38
- ```
39
-
40
- ```html
41
- <p>Content...</p>
42
- <div class="a--spacer -h" style="--h:var(--s60)" aria-hidden="true"></div>
43
- <p>Content...</p>
44
- ```
45
-
46
- ### 横方向のスペーサー
47
-
48
- Flex コンテナ内で `w` を指定すれば横方向のスペーサーとしても使えます。
49
-
50
- ```jsx
51
- <Flex g="10">
52
- <Box p="20" bd>Box</Box>
53
- <Spacer w="40" />
54
- <Box p="20" bd>Box</Box>
55
- <Box p="20" bd>Box</Box>
56
- </Flex>
57
- ```
58
-
59
11
  ## 関連プリミティブ
60
12
 
61
13
  - [a--divider](./a--divider.md) — 区切り線
@@ -2,68 +2,21 @@
2
2
 
3
3
  カラム要素が指定した幅より小さくならないように自動で折り返す、**ブレイクポイント非依存の段組みクラス**。`auto-fill` / `auto-fit` を使った流動カラムを簡潔に記述できます。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--autoColumns.md
6
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
7
+ ## 既定の挙動
8
+
9
+ - `display:grid`。
10
+ - `--cols:20rem`、`--autoMode:auto-fill`を初期値にします。
11
+ - `grid-template-columns:repeat(var(--autoMode), minmax(min(var(--cols), 100%), 1fr))`で最小幅ベースの自動段組みを作ります。
11
12
 
12
13
  ## 専用Props
13
14
 
14
15
  | Prop | CSS変数 | デフォルト | 説明 |
15
- |------|--------|-----------|------|
16
+ | --- | --- | --- | --- |
16
17
  | `cols` | `--cols` | `20rem` | カラムが維持する最小幅を指定(`16em`, `320px` など) |
17
18
  | `autoFit` | `--autoMode` | `auto-fill` | `auto-fit` モードに切り替え |
18
19
 
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-fit`を使用する
42
-
43
- `l--autoColumns` では、`grid-template-columns` の `repeat()` 関数の第一引数を `--autoMode` で指定できます(デフォルトは `auto-fill`)。`--autoMode:auto-fit`(`autoFit`)を指定することで、要素数が少ない時の挙動が変わります。
44
-
45
- ```jsx
46
- <AutoColumns cols="12em" 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" autoFit 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">
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; --autoMode:auto-fit">
62
- <div class="-p:20 -bd">auto-fit</div>
63
- <div class="-p:20 -bd">auto-fit</div>
64
- </div>
65
- ```
66
-
67
20
  ## 関連プリミティブ
68
21
 
69
22
  - [l--columns](./l--columns.md) — ブレイクポイント指定の等幅カラム
@@ -2,27 +2,7 @@
2
2
 
3
3
  コンテンツをグループ化するだけのシンプルなクラス。汎用的な箱として、パディング・ボーダー・背景色などの指定に使います。
4
4
 
5
- ## 基本情報
6
-
7
- - クラス名: `l--box`
8
- - コンポーネント: `<Box>`
9
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--box.md
10
-
11
- ## Usage
12
-
13
- ### 基本的な使い方
14
-
15
- ```jsx
16
- <Box p="30" bgc="base-2" bxsh="10" bdrs="10">
17
- <p>コンテンツ...</p>
18
- </Box>
19
- ```
20
-
21
- ```html
22
- <div class="l--box -p:30 -bgc:base-2 -bxsh:10 -bdrs:10">
23
- <p>コンテンツ...</p>
24
- </div>
25
- ```
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--box.md
26
6
 
27
7
  ## 関連プリミティブ
28
8
 
@@ -2,52 +2,19 @@
2
2
 
3
3
  要素を上下左右中央揃えで配置するクラス。高さの有無で水平中央のみ / 上下左右中央を自動的に切り替えます。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--center.md
6
6
 
7
- - クラス名: `l--center`
8
- - コンポーネント: `<Center>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_center.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--center.md
7
+ ## 既定の挙動
8
+
9
+ - `display:grid`。
10
+ - `place-content:center`と`place-items:center`で子要素を中央配置します。
11
+ - 中央配置のために`d="grid"`、`pc="center"`、`pi="center"`などを重ねる必要はありません。
11
12
 
12
13
  ## 動作の仕組み
13
14
 
14
15
  - 高さを持たない場合: コンテンツを**水平方向のみ**中央揃え(内在的な中央寄せ。長いテキストは左寄せのまま)
15
16
  - 高さ・アスペクト比(`h`, `min-h`, `ar` など)が設定されている場合: **垂直方向も中央揃え**
16
17
 
17
- ## Usage
18
-
19
- ### 水平方向に中央配置
20
-
21
- ```jsx
22
- <Center bd p="30">
23
- <Text fz="l">TEXT</Text>
24
- </Center>
25
- ```
26
-
27
- ```html
28
- <div class="l--center -bd -p:30">
29
- <p class="-fz:l">TEXT</p>
30
- </div>
31
- ```
32
-
33
- ### 上下左右中央に配置する
34
-
35
- `ar` や高さを指定すると、垂直方向に対しても中央揃えになります。
36
-
37
- ```jsx
38
- <Center g="10" ar="3/2" bd>
39
- <Text fz="l">TEXT</Text>
40
- <Text fz="s">Lorem ipsum dolor sit amet.</Text>
41
- </Center>
42
- ```
43
-
44
- ```html
45
- <div class="l--center -bd -g:10 -ar:3/2">
46
- <p class="-fz:l">TEXT</p>
47
- <p class="-fz:s">Lorem ipsum dolor sit amet.</p>
48
- </div>
49
- ```
50
-
51
18
  ## 関連プリミティブ
52
19
 
53
20
  - [l--frame](./l--frame.md) — アスペクト比付きメディアフレーム(`<Center>` と組み合わせられる)
@@ -2,34 +2,14 @@
2
2
 
3
3
  複数の要素を横方向に並べ、数が多ければ自動的に折り返すクラス。タグリスト・ボタングループなどに使います。
4
4
 
5
- ## 基本情報
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--cluster.md
6
6
 
7
- - クラス名: `l--cluster`
8
- - コンポーネント: `<Cluster>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_cluster.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--cluster.md
7
+ ## 既定の挙動
11
8
 
12
- ## Usage
13
-
14
- ### 基本的な使い方
15
-
16
- ```jsx
17
- <Cluster g="15">
18
- <Lism bd px="10" bdrs="10">Lorem</Lism>
19
- <Lism bd px="10" bdrs="10">ipsum</Lism>
20
- <Lism bd px="10" bdrs="10">Dolor</Lism>
21
- <Lism bd px="10" bdrs="10">Sit amet</Lism>
22
- </Cluster>
23
- ```
24
-
25
- ```html
26
- <div class="l--cluster -g:15">
27
- <span class="-bd -px:10 -bdrs:10">Lorem</span>
28
- <span class="-bd -px:10 -bdrs:10">ipsum</span>
29
- <span class="-bd -px:10 -bdrs:10">Dolor</span>
30
- <span class="-bd -px:10 -bdrs:10">Sit amet</span>
31
- </div>
32
- ```
9
+ - `display:flex`。
10
+ - `flex-wrap:wrap`で折り返しを有効化済み。
11
+ - `align-items:center`でstretchを解除済み。
12
+ - `gap`は既定で持たないため、間隔は`g`/`-g:*`で指定します。通常`fxw="wrap"`や`ai="center"`は足しません。
33
13
 
34
14
  ## 関連プリミティブ
35
15
 
@@ -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