@lism-css/mcp 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/data/docs-index.json +63 -36
  2. package/dist/data/guides/SKILL.md +136 -24
  3. package/dist/data/guides/antipatterns.md +318 -0
  4. package/dist/data/guides/base-styles.md +3 -5
  5. package/dist/data/guides/components-core.md +8 -10
  6. package/dist/data/guides/components-ui.md +12 -4
  7. package/dist/data/guides/css-rules.md +29 -29
  8. package/dist/data/guides/customize.md +80 -26
  9. package/dist/data/guides/naming.md +13 -8
  10. package/dist/data/guides/primitive-class.md +79 -4
  11. package/dist/data/guides/primitives/a--decorator.md +1 -1
  12. package/dist/data/guides/primitives/a--divider.md +1 -1
  13. package/dist/data/guides/primitives/a--icon.md +1 -1
  14. package/dist/data/guides/primitives/a--spacer.md +1 -1
  15. package/dist/data/guides/primitives/l--autoColumns.md +71 -0
  16. package/dist/data/guides/primitives/l--box.md +1 -1
  17. package/dist/data/guides/primitives/l--center.md +1 -1
  18. package/dist/data/guides/primitives/l--cluster.md +2 -2
  19. package/dist/data/guides/primitives/l--columns.md +3 -3
  20. package/dist/data/guides/primitives/l--flex.md +1 -1
  21. package/dist/data/guides/primitives/l--flow.md +4 -4
  22. package/dist/data/guides/primitives/l--frame.md +1 -1
  23. package/dist/data/guides/primitives/l--grid.md +2 -2
  24. package/dist/data/guides/primitives/l--stack.md +1 -1
  25. package/dist/data/guides/primitives/{l--switchCols.md → l--switchColumns.md} +18 -18
  26. package/dist/data/guides/primitives/l--tileGrid.md +2 -2
  27. package/dist/data/guides/primitives/{l--sideMain.md → l--withSide.md} +41 -19
  28. package/dist/data/guides/prop-responsive.md +1 -1
  29. package/dist/data/guides/property-class/bd.md +4 -4
  30. package/dist/data/guides/property-class/hov.md +18 -18
  31. package/dist/data/guides/property-class/max-sz.md +20 -16
  32. package/dist/data/guides/property-class.md +23 -12
  33. package/dist/data/guides/set-class.md +2 -2
  34. package/dist/data/guides/tokens.md +13 -9
  35. package/dist/data/guides/trait-class/has--gutter.md +2 -2
  36. package/dist/data/guides/trait-class/has--mask.md +2 -2
  37. package/dist/data/guides/trait-class/has--snap.md +2 -2
  38. package/dist/data/guides/trait-class/has--transition.md +2 -2
  39. package/dist/data/guides/trait-class/is--boxLink.md +2 -2
  40. package/dist/data/guides/trait-class/is--container.md +13 -5
  41. package/dist/data/guides/trait-class/is--layer.md +5 -5
  42. package/dist/data/guides/trait-class/is--wrapper.md +23 -8
  43. package/dist/data/guides/trait-class.md +2 -2
  44. package/dist/data/guides/utility-class.md +9 -8
  45. package/dist/data/meta.js +2 -2
  46. package/dist/tools/get-guide.js +8 -1
  47. package/package.json +1 -1
  48. package/dist/data/guides/primitives/l--fluidCols.md +0 -71
@@ -9,7 +9,7 @@
9
9
  - [`lism.config.js` でのカスタマイズ](#lismconfigjs-でのカスタマイズ)
10
10
  - [追加スタイルを読み込ませる方法](#追加スタイルを読み込ませる方法)
11
11
 
12
- [詳細](https://lism-css.com/docs/customize/)
12
+ [詳細](https://lism-css.com/docs/customize.md)
13
13
 
14
14
  ---
15
15
 
@@ -98,10 +98,32 @@ SCSS を直接読み込む構成では、コンパイル時に `lism-css` 本体
98
98
 
99
99
  ## `lism.config.js` でのカスタマイズ
100
100
 
101
- プロジェクトのルート直下に `lism.config.js` を置くことで、**コンポーネントの挙動**(受け付ける props の値や、出力されるクラス名)をカスタマイズできます。
101
+ プロジェクトのルート直下に `lism.config.js`(または `lism.config.mjs`)を置くことで、**コンポーネントの挙動**(受け付ける props の値や、出力されるクラス名)をカスタマイズできます。
102
102
 
103
103
  > **注意**: `lism.config.js` は HTML 出力(クラス名)を変えるだけで、追加されたクラスに対する CSS は別途読み込ませる必要があります([追加スタイルを読み込ませる方法](#追加スタイルを読み込ませる方法) を参照)。
104
104
 
105
+ ### Vite プラグインの登録(必須)
106
+
107
+ `lism.config.js` を読み込ませるには、Vite(または Astro)の設定ファイルで `lism-css/vite-plugin` を登録する必要があります。**未登録の場合、ファイルを置いてもデフォルト設定のまま**になります。
108
+
109
+ ```js
110
+ // astro.config.mjs
111
+ import { defineConfig } from 'astro/config';
112
+ import lismCss from 'lism-css/vite-plugin';
113
+
114
+ export default defineConfig({
115
+ vite: {
116
+ plugins: [lismCss()],
117
+ },
118
+ });
119
+ ```
120
+
121
+ プラグインはプロジェクトルートから `lism.config.js` → `lism.config.mjs` の順で自動検出します。別の場所に置く場合は `configPath` で指定できます。
122
+
123
+ ```js
124
+ plugins: [lismCss({ configPath: './config/lism.config.js' })],
125
+ ```
126
+
105
127
  ### フォーマット
106
128
 
107
129
  ```js
@@ -134,11 +156,16 @@ const { props, tokens } = DEFAULT_CONFIG;
134
156
 
135
157
  export default {
136
158
  props: {
137
- d: { presets: [...(props.d.presets || []), 'flex', 'grid'] },
159
+ // 既存propにpresetsを追加
160
+ ta: { presets: [...(props.ta.presets || []), 'justify'] },
161
+ // 既存propにutility値を追加
138
162
  p: { utils: { box: '2em' } },
163
+ // 新しいpropの追加(filterはデフォルトに含まれない)
164
+ filter: { utils: { blur: 'blur(3px)' } },
139
165
  },
140
166
  tokens: {
141
- bdrs: [...(tokens.bdrs || []), '5'],
167
+ // tokenClass:1 のpropは、tokens を追加するだけで自動でユーティリティ化される
168
+ lts: [...(tokens.lts || []), '2xl'],
142
169
  },
143
170
  traits: {
144
171
  isHoge: 'is--hoge',
@@ -150,15 +177,15 @@ export default {
150
177
 
151
178
  | 入力 | 出力されるクラス |
152
179
  |------|----------------|
153
- | `d="flex"` | `-d:flex` |
154
- | `d="grid"` | `-d:grid` |
180
+ | `ta="justify"` | `-ta:justify` |
155
181
  | `p="box"` | `-p:box` |
156
- | `bdrs="5"` | `-bdrs:5` |
182
+ | `filter="blur"` | `-filter:blur` |
183
+ | `lts="2xl"` | `-lts:2xl` |
157
184
  | `isHoge` | `is--hoge` |
158
185
 
159
186
  ```jsx
160
- <Box p="box" d="flex" bdrs="5" isHoge>Box</Box>
161
- // → <div class="l--box is--hoge -p:box -d:flex -bdrs:5">Box</div>
187
+ <Box p="box" ta="justify" filter="blur" lts="2xl" isHoge>Box</Box>
188
+ // → <div class="l--box is--hoge -p:box -ta:justify -filter:blur -lts:2xl">Box</div>
162
189
  ```
163
190
 
164
191
 
@@ -166,7 +193,31 @@ export default {
166
193
 
167
194
  `lism.config.js` で props を増やしただけでは、対応するユーティリティクラスのスタイルは存在しません。次のいずれかでスタイルを追加してください。
168
195
 
169
- ### 1. CLI コマンドで CSS を再ビルド
196
+ ### 1. 軽微な追加であれば手書きで済ませる(推奨ライト)
197
+
198
+ カスタムトークンが少数で済むなら、CLI 再ビルドや SCSS 構成変更まで踏み込まず、Lism Props の `:value` 記法(→ [property-class.md](./property-class.md))と `global.css` への手書きで十分。
199
+
200
+ ```css
201
+ /* global.css */
202
+ @layer lism-base {
203
+ :root {
204
+ --lts--2xl: 0.15em;
205
+ }
206
+ }
207
+
208
+ /* Property Class は @layer を付けない */
209
+ .-lts\:2xl {
210
+ letter-spacing: var(--lts--2xl);
211
+ }
212
+ ```
213
+
214
+ ```jsx
215
+ <Text lts=":2xl">...</Text>
216
+ ```
217
+
218
+ トークンを体系的に拡張したい場合のみ、後述の CLI / SCSS 経由に切り替える。
219
+
220
+ ### 2. CLI コマンドで CSS を再ビルド
170
221
 
171
222
  ```bash
172
223
  npx lism-css build
@@ -175,46 +226,49 @@ npx lism-css build
175
226
  `lism.config.js` の内容に基づいて `lism-css/main.css` を再生成します。上記カスタマイズ例だと、以下のスタイルが自動生成されます:
176
227
 
177
228
  ```css
178
- .-d\:flex { display: flex; }
179
- .-d\:grid { display: grid; }
229
+ .-ta\:justify { text-align: justify; }
180
230
  .-p\:box { padding: 2em; }
181
- .-bdrs\:5 { border-radius: var(--bdrs--5); }
231
+ .-filter\:blur { filter: blur(3px); }
232
+ .-lts\:2xl { letter-spacing: var(--lts--2xl); }
182
233
  ```
183
234
 
184
235
  > **注意**:
185
- > - トークン CSS 変数(例: `--bdrs--5`)と `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
236
+ > - 生成されるのはあくまで `var(--lts--2xl)` を参照する **ユーティリティクラスまで**。参照先の CSS 変数(`:root { --lts--2xl: ... }` のような **値そのもの** の定義)と `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
186
237
  > - `lism-css` パッケージ自体を上書きする処理のため、**パッケージ更新ごとに再実行**が必要です。
187
238
 
188
- ### 2. 手動で CSS を追記
239
+ ### 3. 手動で CSS を追記
189
240
 
190
241
  CLI を使わず、追加クラス分の CSS をプロジェクト側で書いて読み込ませる方法でも問題ありません。
191
242
 
192
243
  ```css
193
- :root { --bdrs--5: 0.125rem; }
194
- .is--hoge { /* ... */ }
244
+ @layer lism-base {
245
+ :root {
246
+ --lts--2xl: 0.15em;
247
+ }
248
+ }
249
+
250
+ @layer lism-trait {
251
+ .is--hoge { /* ... */ }
252
+ }
195
253
  ```
196
254
 
197
- ### 3. SCSS で `lism.config.js` と整合させる
255
+ ### 4. SCSS で `lism.config.js` と整合させる
198
256
 
199
257
  SCSS 経由で読み込む構成なら、`lism.config.js` と同じ追加分を `$props` の `utilities` 設定として書いておけば、ビルドコマンドなしで反映できます。
200
258
 
201
259
  ```scss
202
260
  @use '../path-to/node_modules/lism-css/scss/setting' with (
203
261
  $props: (
204
- 'd': (
205
- utilities: (
206
- 'flex': 'flex',
207
- 'grid': 'grid',
208
- ),
209
- ),
262
+ 'ta': ( utilities: ( 'justify': 'justify' ) ),
210
263
  'p': ( utilities: ( 'box': '2em' ) ),
211
- 'bdrs': ( utilities: ( '5': 'var(--bdrs--5)' ) ),
264
+ 'filter': ( utilities: ( 'blur': 'blur(3px)' ) ),
265
+ 'lts': ( utilities: ( '2xl': 'var(--lts--2xl)' ) ),
212
266
  )
213
267
  );
214
268
  @use '../path-to/node_modules/lism-css/scss/main';
215
269
 
216
270
  // トークン追記
217
271
  @layer lism-base {
218
- :root { --bdrs--5: 0.125rem; }
272
+ :root { --lts--2xl: 0.15em; }
219
273
  }
220
274
  ```
@@ -7,7 +7,7 @@
7
7
  - [`{prop}` の省略ルール](#prop-の省略ルール)
8
8
  - [`{value}` の省略ルール](#value-の省略ルール)
9
9
 
10
- [詳細](https://lism-css.com/docs/naming/)
10
+ [詳細](https://lism-css.com/docs/naming.md)
11
11
 
12
12
  ---
13
13
 
@@ -30,9 +30,11 @@
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` |
33
- | `-10`, `-20`, `-30`... | `0`(`none`)基準で段階的に減少 | `--o---10`, `--o---20` |
34
33
  | セマンティック名 | 上記に当てはまらない場合 | `--ar--og` |
35
34
 
35
+ > 🎵 **例外: opacity トークン**
36
+ > opacity(`--o--mp` / `--o--p` / `--o--pp` / `--o--ppp`)は、音楽の強弱記号(piano 系列)に由来するセマンティック命名を採用している。`p`(piano / 弱く)の反復回数が多いほど透明度が増す構造で、「文字の反復回数で段階を表す」命名は Lism 内で opacity のみの例外。
37
+
36
38
  ### Property Class 用の変数
37
39
 
38
40
  | 形式 | 説明 | 例 |
@@ -71,10 +73,10 @@
71
73
  | `set--` | HTML 要素の基礎スタイリング / 変数セット | `set--plain`, `set--revert`, `set--var:hov`, `set--var:bxsh` |
72
74
  | `is--` | 〜である(役割・存在の宣言)。CSS 変数は必須ではない | `is--container`, `is--wrapper`, `is--layer` |
73
75
  | `has--` | 〜を持つ(単一機能 trait の付与)。CSS 変数でカスタマイズ可 | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
74
- | `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--collapseGrid` |
76
+ | `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--divide`, `u--cells` |
75
77
 
76
- - `set--` は `@lism-base` 層で HTML 要素の基礎スタイル・変数を提供するもの。
77
- - `is--` / `has--` は `@lism-trait` 層に属する。
78
+ - `set--` は `lism-base` 層で HTML 要素の基礎スタイル・変数を提供するもの。
79
+ - `is--` / `has--` は `lism-trait` 層に属する。
78
80
 
79
81
  Property Class の形式:
80
82
 
@@ -194,15 +196,18 @@ NG例: `flex` → `fx` としたうえで `flex-shrink` を `fsh` にする(`f
194
196
  ```
195
197
  .-c:text-2 → color: var(--text-2);
196
198
  .-fz:l → font-size: var(--fz--l);
197
- .-p10 → padding: var(--s10);
199
+ .-p:10 → padding: var(--s10);
198
200
  .-fw:bold → font-weight: var(--fw--bold);
199
201
  .-bdrs:20 → border-radius: var(--bdrs--20);
200
202
  ```
201
203
 
202
- トークン値が `-{NUM}` のものも、値をそのまま連結した変数名になる。
204
+ opacity トークンは音楽記号に由来する例外的な命名で、そのままクラス化される。
203
205
 
204
206
  ```
205
- .-o:-10 → opacity: var(--o---10);
207
+ .-o:mp → opacity: var(--o--mp);
208
+ .-o:p → opacity: var(--o--p);
209
+ .-o:pp → opacity: var(--o--pp);
210
+ .-o:ppp → opacity: var(--o--ppp);
206
211
  ```
207
212
 
208
213
  ### 長いキーワード値の省略
@@ -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--fluidCols` | ブレイクポイントに依存せず、自動段組のできる流動カラムレイアウト。`--cols: 16em`のようにして最小維持幅を指定できる。 |
44
- | `l--sideMain` | 画像とコンテンツ、メインエリアとサイドバーなどの「"Side" + "Main"」に分かれ、横並びと縦並びが切り替わるレイアウト。"Main"が`--mainW`で指定したサイズ以上の横幅を維持できる範囲内で横並びを維持し、下回る場合は縦並びへ自動で切り替わる。横並びの間の"Side"の横幅は`--sideW`で指定する。 |
45
- | `l--switchCols` | 任意のサイズで一括カラム切り替えができるカラムレイアウト。`--breakSize` で制御 |
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 です。
@@ -6,7 +6,7 @@
6
6
 
7
7
  - クラス名: `a--decorator`
8
8
  - コンポーネント: `<Decorator>`
9
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/a--decorator/
9
+ - 公式ドキュメント: https://lism-css.com/docs/primitives/a--decorator.md
10
10
 
11
11
  ## 専用Props
12
12
 
@@ -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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/a--divider/
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/a--icon/
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/a--spacer/
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カラム自動切替
@@ -6,7 +6,7 @@
6
6
 
7
7
  - クラス名: `l--box`
8
8
  - コンポーネント: `<Box>`
9
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--box/
9
+ - 公式ドキュメント: https://lism-css.com/docs/primitives/l--box.md
10
10
 
11
11
  ## Usage
12
12
 
@@ -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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--center/
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--cluster/
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--switchCols](./l--switchCols.md) — ブレイクポイントで縦横切り替えるカラム
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--columns/
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--fluidCols](./l--fluidCols.md) — カラム幅ベースの自動段組
72
- - [l--switchCols](./l--switchCols.md) — 複数列 ↔ 1列切り替え
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--flex/
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--flow/
10
+ - 公式ドキュメント: https://lism-css.com/docs/primitives/l--flow.md
11
11
 
12
12
  ## 余白の仕組み
13
13
 
14
- `l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`h2`〜`h6`)のみ余白が大きくなる(`--flow-hScale` で調整可能)。
14
+ `l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`h1`〜`h6`)のみ余白が大きくなり、`calc(var(--flow) * 2 + 0.5em)` で計算されます。
15
15
 
16
16
  | クラス | 余白量 |
17
17
  |--------|-------|
18
- | `.l--flow` | `--flow--base`(`--s30`) |
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` などのトークン値を渡すと `.-flow:{value}` クラスが付与、任意値を渡すと `.-flow:` + `style="--flow:..."` が出力される |
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--frame/
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--grid/
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--sideMain](./l--sideMain.md) — コンテンツ幅自動切り替え型 2 カラム
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
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--stack/
10
+ - 公式ドキュメント: https://lism-css.com/docs/primitives/l--stack.md
11
11
 
12
12
  ## Usage
13
13