@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
@@ -18,7 +18,7 @@
18
18
  ### トークン変数
19
19
 
20
20
  | 種類 | 形式 | 例 |
21
- |------|------|-----|
21
+ | --- | --- | --- |
22
22
  | 基本 | `--{prop}--{token}` | `--fz--l`, `--bdrs--20`, `--bxsh--10`, `--sz--s` |
23
23
  | カラー | `--{color}` | `--brand`, `--text`, `--text-2`, `--red` |
24
24
  | 余白 | `--s{Token}` | `--s10`, `--s40` |
@@ -26,7 +26,7 @@
26
26
  トークンのバリエーション:
27
27
 
28
28
  | 表記 | 条件 | 例 |
29
- |------|------|-----|
29
+ | --- | --- | --- |
30
30
  | `s`, `m`, `l`, `xl`... | ベース値を中心に大小の段階を示す | `--fz--s`, `--fz--l` |
31
31
  | `base` | `:root`/`body` の初期値にセットされるもの | `--fz--base`, `--lh--base` |
32
32
  | `10`, `20`, `30`... | `0`(`none`)基準で段階的に増加 | `--bdrs--20`, `--bxsh--30` |
@@ -38,45 +38,28 @@
38
38
  ### Property Class 用の変数
39
39
 
40
40
  | 形式 | 説明 | 例 |
41
- |------|------|-----|
41
+ | --- | --- | --- |
42
42
  | `--{prop}` | クラスの `{prop}` 部分と同じ省略名 | `--p`, `--bgc`, `--bdrs`, `--m` |
43
43
  | `--{prop}_{bp}` | ブレークポイント値 | `--p_sm`, `--mx_md` |
44
44
 
45
45
  ### その他の変数
46
46
 
47
47
  | 形式 | 用途 | 例 |
48
- |------|------|-----|
48
+ | --- | --- | --- |
49
49
  | `--{target}-{prop}` | 要素・クラスに対するプロパティ(`:root`で上書き可) | `--link-td`, `--headings-ff` |
50
50
  | `--{propName}` | クラス自身の主要機能を制御する変数。要素側で値が初期化され、`:root` からは初期値の定義ができないもの | `--sideW`, `--mainW` |
51
51
  | `--_{item}-{propName}` | `c--` の子要素プロパティ | `--_icon-size` |
52
52
  | `--_{varName}` | 状態管理用の内部変数 | `--_isHov`, `--_notHov` |
53
53
 
54
-
55
54
  ## クラスの命名規則
56
55
 
57
- プレフィックスとクラス分類の対応:
58
-
59
- - Component: `c--`
60
- - Atomic Primitives: `a--`
61
- - Layout Primitives: `l--`
62
- - Trait(役割宣言): `is--`
63
- - Trait(機能付与): `has--`
64
- - Set Class: `set--`
65
- - Utility Class: `u--`
66
-
67
- プレフィックスに続く名称は camelCase(例: `c--myComponent`)。
56
+ クラス分類ごとのプレフィックス(`b--`/`c--`/`a--`/`l--`/`is--`/`has--`/`set--`/`u--`)と各分類の責務・所属レイヤーは、[css-rules.md](./css-rules.md#クラス分類とプレフィックス)の分類表を正本とします。ユーザー定義クラスの2分類(`b--`/`c--`)の使い分けは[css-rules.md](./css-rules.md#独自クラスの選び方2分類)を参照してください。
68
57
 
69
- **使い分けの判断軸:**
58
+ プレフィックスに続く名称は camelCase(例: `c--myComponent`)。`is--`/`has--`/`set--`/`u--`にも同じ規則が適用されます。ページ固有の要素は、ページslug等を含めると名前だけで由来がわかります(例: `c--landingHero`)。
70
59
 
71
- | プレフィックス | 責務 | 代表例 |
72
- |---|---|---|
73
- | `set--` | HTML 要素の基礎スタイリング / 変数セット | `set--plain`, `set--revert`, `set--hov`, `set--bxsh` |
74
- | `is--` | 〜である(役割・存在の宣言)。CSS 変数は必須ではない | `is--container`, `is--wrapper`, `is--layer` |
75
- | `has--` | 〜を持つ(単一機能 trait の付与)。CSS 変数でカスタマイズ可 | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
76
- | `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--divide`, `u--enclose` |
60
+ ### `c--*`/`b--*`の命名
77
61
 
78
- - `set--` `lism-base` 層で HTML 要素の基礎スタイル・変数を提供するもの。
79
- - `is--` / `has--` は `lism-trait` 層に属する。
62
+ Block/Element/Modifierの形式(Block=`c--{name}` / `b--{name}`、Element=`_`ひとつ、Modifier=`--`ふたつ)は[css-rules.md の独自クラスの選び方](./css-rules.md#独自クラスの選び方2分類)を参照。Block名はcamelCaseを第一候補にし、既存コードがアンダースコア区切りならそれに合わせます。単語区切りのハイフン(`c--feature-card`)とBEM風の`__`は使いません(NG→OK例は[antipatterns-layout.md](./antipatterns-layout.md#クラス名の命名ミス)を参照)。
80
63
 
81
64
  Property Class の形式:
82
65
 
@@ -85,7 +68,6 @@ Property Class の形式:
85
68
  - ブレークポイント値を受け取る: `-{prop}_{bp}`
86
69
  - 修飾子 + Property Class 合成: `-{modifier}:-{prop}`(例: `-hov:-c` は `-c` の hover バリアント)
87
70
 
88
-
89
71
  ## `{prop}` の省略ルール
90
72
 
91
73
  基本は [Emmet](https://docs.emmet.io/cheat-sheet/) 準拠。
@@ -97,15 +79,15 @@ Property Class の形式:
97
79
  1文字に省略する主要プロパティは以下の通り(このリストが全て)。
98
80
 
99
81
  | 省略 | プロパティ | 省略 | プロパティ |
100
- |------|-----------|------|-----------|
101
- | `p` | `padding` | `i` | `inset` |
102
- | `m` | `margin` | `t` | `top` |
103
- | `g` | `gap` | `b` | `bottom` |
104
- | `c` | `color` | `l` | `left` |
105
- | `f` | `font` | `r` | `right` |
106
- | `w` | `width` | `o` | `opacity` |
107
- | `h` | `height` | `v` | `visibility` |
108
- | `d` | `display` | `z` | `z-index` |
82
+ | --- | --- | --- | --- |
83
+ | `p` | `padding` | `i` | `inset` |
84
+ | `m` | `margin` | `t` | `top` |
85
+ | `g` | `gap` | `b` | `bottom` |
86
+ | `c` | `color` | `l` | `left` |
87
+ | `f` | `font` | `r` | `right` |
88
+ | `w` | `width` | `o` | `opacity` |
89
+ | `h` | `height` | `v` | `visibility` |
90
+ | `d` | `display` | `z` | `z-index` |
109
91
 
110
92
  Emmet と異なるのは `o` (`opacity`) のみ。
111
93
 
@@ -114,7 +96,7 @@ Emmet と異なるのは `o` (`opacity`) のみ。
114
96
  #### 基本形式: 「グループ略称」+「サブプロパティ名の省略形」
115
97
 
116
98
  | CSS プロパティ | Prop |
117
- |-------------|------|
99
+ | --- | --- |
118
100
  | font-size | `fz` |
119
101
  | font-weight | `fw` |
120
102
  | background-color | `bgc` |
@@ -130,7 +112,7 @@ Emmet と異なるのは `o` (`opacity`) のみ。
130
112
  `inline-start`/`inline-end`は`is`/`ie`ではなく、すでに普及しているCSSフレームワークの慣習に沿って`s`/`e`とする。
131
113
 
132
114
  | 方向 | サフィックス | 例 |
133
- |------|-----------|-----|
115
+ | --- | --- | --- |
134
116
  | physical | `-t` / `-b` / `-l` / `-r` | `bd-t`, `bd-b`, `bd-l`, `bd-r` |
135
117
  | inline / block | `-x` / `-y` | `bd-x`, `bd-y` |
136
118
  | inline-start / end | `-s` / `-e` | `bd-s`, `bd-e`, `ps`, `pe`, `ms`, `me`, `i-s`, `i-e` |
@@ -154,7 +136,7 @@ NG例: `flex` → `fx` としたうえで `flex-shrink` を `fsh` にする(`f
154
136
  2. ハイフン繋がり、または6文字以上: Emmet形式または認識しやすい範囲で省略
155
137
 
156
138
  | CSS プロパティ | Prop | 分類 |
157
- |-------------|------|------|
139
+ | --- | --- | --- |
158
140
  | float | `float` | そのまま |
159
141
  | order | `order` | そのまま |
160
142
  | position | `pos` | 省略 |
@@ -170,13 +152,12 @@ NG例: `flex` → `fx` としたうえで `flex-shrink` を `fsh` にする(`f
170
152
  グループを持たない1文字プロパティや、方向プロパティのみをサブプロパティに持つ場合は、衝突しない範囲で再利用可。
171
153
 
172
154
  | 1文字 Prop | 再利用先 | 展開例 |
173
- |-----------|---------|--------|
155
+ | --- | --- | --- |
174
156
  | `t`(`top`) | `text-*` | `ta`(`text-align`) |
175
157
  | `l`(`left`) | `line-*` | `lh`(`line-height`) |
176
158
  | `w`(`width`) | `writing-*` | `wm`(`writing-mode`) |
177
159
  | `p`(`padding`) | `place-*` | `pi`(`place-items`) |
178
160
 
179
-
180
161
  ## `{value}` の省略ルール
181
162
 
182
163
  ### 基本: CSS の実値をそのまま使う
@@ -218,7 +199,7 @@ opacity トークンは音楽記号に由来する例外的な命名で、その
218
199
  6文字以上かつ省略しても意味が通るものは省略可:
219
200
 
220
201
  | 実際の値 | 省略名 | クラスの例 |
221
- |--------|------------|-----|
202
+ | --- | --- | --- |
222
203
  | `uppercase` | `upper` | `-tt:upper` |
223
204
  | `lowercase` | `lower` | `-tt:lower` |
224
205
  | `fit-content` | `fit` | `-w:fit`, `-h:fit` |
@@ -18,11 +18,11 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
18
18
  ## プレフィックス一覧
19
19
 
20
20
  | プレフィックス | 種類 | サブレイヤー | 役割 |
21
- |--------------|------|------------|------|
21
+ | --- | --- | --- | --- |
22
22
  | `l--` | Layout Primitive | `lism-primitive.layout` | レイアウトの構成単位となる Primitive |
23
23
  | `a--` | Atomic Primitive | `lism-primitive.atomic` | レイアウトの最小単位(アイコン・区切り線等) |
24
24
 
25
- 併用ルールは [css-rules.md](./css-rules.md#プレフィックスとクラス分類) を参照してください。
25
+ 併用ルールは [css-rules.md](./css-rules.md#クラス分類とプレフィックス) を参照してください。
26
26
 
27
27
 
28
28
  ## Layout Primitive(`l--`)
@@ -30,7 +30,7 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
30
30
  レイアウト構造を定義するメインの Primitive 群です。
31
31
 
32
32
  | クラス | 用途 |
33
- |--------|-------------|
33
+ | --- | --- |
34
34
  | `l--box` | 汎用ボックス |
35
35
  | `l--flex` | 横方向の基本的なFlexboxレイアウト |
36
36
  | `l--stack` | 縦方向の縦積みFlexboxレイアウト(`flex-direction: column`)。 |
@@ -57,7 +57,7 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
57
57
  各 Primitive がどの用途に向いているか:
58
58
 
59
59
  | やりたいこと | `l--columns` | `l--autoColumns` | `l--switchColumns` | `l--withSide` | `l--grid` |
60
- |---|---|---|---|---|---|
60
+ | --- | --- | --- | --- | --- | --- |
61
61
  | 等幅 N 列 | ◯ | ◯ | ✗ | ✗ | △ |
62
62
  | 横並び ↔ 1 列の一括切替 | ◯ | ✗ | ◯ | ✗ | △ |
63
63
  | カラム最小幅で自動折返し | ✗ | ◯ | ✗ | ✗ | △ |
@@ -127,7 +127,7 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
127
127
  レイアウト構成物の最小単位となる Primitive です。
128
128
 
129
129
  | クラス | 用途 |
130
- |--------|------|
130
+ | --- | --- |
131
131
  | `a--icon` | SVG アイコン。`flex-shrink: 0`, デフォルトサイズ `1em` |
132
132
  | `a--divider` | 区切り線。`--bdc`, `--bds`, `--bdw` 変数でカスタマイズ |
133
133
  | `a--spacer` | 空白要素(`min-height: 1px; min-width: 1px`) |
@@ -2,40 +2,14 @@
2
2
 
3
3
  コンテンツを装飾するための空要素として使うクラス。`<Decorator>` は `<Lism atomic="decorator" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
- ## 基本情報
6
-
7
- - クラス名: `a--decorator`
8
- - コンポーネント: `<Decorator>`
9
- - 公式ドキュメント: https://lism-css.com/docs/primitives/a--decorator.md
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/a--decorator.md
10
6
 
11
7
  ## 専用Props
12
8
 
13
9
  | Prop | 説明 |
14
- |------|------|
10
+ | --- | --- |
15
11
  | `size` | デコレーターのサイズを一括指定。この指定があると `w`(`width`)に値が渡され、自動で `ar="1/1"`(`aspect-ratio:1/1`)が付与される |
16
12
 
17
- ## Usage
18
-
19
- ### 装飾に使用する例(コーナー装飾)
20
-
21
- `pos="absolute"` と組み合わせて、親の四隅にコーナー枠を配置する例です。`bdc="current"` で文字色に追随します。
22
-
23
- ```jsx
24
- <Box p="30" pos="relative">
25
- <p>本文テキスト...</p>
26
- <Decorator size="1.25em" pos="absolute" t="0" l="0" bd-s bd-bs bdc="current" />
27
- <Decorator size="1.25em" pos="absolute" r="0" b="0" bd-e bd-be bdc="current" />
28
- </Box>
29
- ```
30
-
31
- ```html
32
- <div class="l--box -p:30 -pos:relative">
33
- <p>本文テキスト...</p>
34
- <div class="a--decorator -pos:absolute -t:0 -l:0 -bd-s -bd-bs -bdc:current -ar:1/1 -w" style="--w:1.25em" aria-hidden="true"></div>
35
- <div class="a--decorator -pos:absolute -r:0 -b:0 -bd-e -bd-be -bdc:current -ar:1/1 -w" style="--w:1.25em" aria-hidden="true"></div>
36
- </div>
37
- ```
38
-
39
13
  ## 関連プリミティブ
40
14
 
41
15
  - [a--spacer](./a--spacer.md) — 要素間スペース
@@ -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