@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.
- package/dist/data/docs-index.json +63 -36
- package/dist/data/guides/SKILL.md +136 -24
- package/dist/data/guides/antipatterns.md +318 -0
- package/dist/data/guides/base-styles.md +3 -5
- package/dist/data/guides/components-core.md +8 -10
- package/dist/data/guides/components-ui.md +12 -4
- package/dist/data/guides/css-rules.md +29 -29
- package/dist/data/guides/customize.md +80 -26
- package/dist/data/guides/naming.md +13 -8
- package/dist/data/guides/primitive-class.md +79 -4
- package/dist/data/guides/primitives/a--decorator.md +1 -1
- package/dist/data/guides/primitives/a--divider.md +1 -1
- package/dist/data/guides/primitives/a--icon.md +1 -1
- package/dist/data/guides/primitives/a--spacer.md +1 -1
- package/dist/data/guides/primitives/l--autoColumns.md +71 -0
- package/dist/data/guides/primitives/l--box.md +1 -1
- package/dist/data/guides/primitives/l--center.md +1 -1
- package/dist/data/guides/primitives/l--cluster.md +2 -2
- package/dist/data/guides/primitives/l--columns.md +3 -3
- package/dist/data/guides/primitives/l--flex.md +1 -1
- package/dist/data/guides/primitives/l--flow.md +4 -4
- package/dist/data/guides/primitives/l--frame.md +1 -1
- package/dist/data/guides/primitives/l--grid.md +2 -2
- package/dist/data/guides/primitives/l--stack.md +1 -1
- package/dist/data/guides/primitives/{l--switchCols.md → l--switchColumns.md} +18 -18
- package/dist/data/guides/primitives/l--tileGrid.md +2 -2
- package/dist/data/guides/primitives/{l--sideMain.md → l--withSide.md} +41 -19
- package/dist/data/guides/prop-responsive.md +1 -1
- package/dist/data/guides/property-class/bd.md +4 -4
- package/dist/data/guides/property-class/hov.md +18 -18
- package/dist/data/guides/property-class/max-sz.md +20 -16
- package/dist/data/guides/property-class.md +23 -12
- package/dist/data/guides/set-class.md +2 -2
- package/dist/data/guides/tokens.md +13 -9
- package/dist/data/guides/trait-class/has--gutter.md +2 -2
- package/dist/data/guides/trait-class/has--mask.md +2 -2
- package/dist/data/guides/trait-class/has--snap.md +2 -2
- package/dist/data/guides/trait-class/has--transition.md +2 -2
- package/dist/data/guides/trait-class/is--boxLink.md +2 -2
- package/dist/data/guides/trait-class/is--container.md +13 -5
- package/dist/data/guides/trait-class/is--layer.md +5 -5
- package/dist/data/guides/trait-class/is--wrapper.md +23 -8
- package/dist/data/guides/trait-class.md +2 -2
- package/dist/data/guides/utility-class.md +9 -8
- package/dist/data/meta.js +2 -2
- package/dist/tools/get-guide.js +8 -1
- package/package.json +1 -1
- package/dist/data/guides/primitives/l--fluidCols.md +0 -71
|
@@ -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`
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
| `
|
|
154
|
-
| `d="grid"` | `-d:grid` |
|
|
180
|
+
| `ta="justify"` | `-ta:justify` |
|
|
155
181
|
| `p="box"` | `-p:box` |
|
|
156
|
-
| `
|
|
182
|
+
| `filter="blur"` | `-filter:blur` |
|
|
183
|
+
| `lts="2xl"` | `-lts:2xl` |
|
|
157
184
|
| `isHoge` | `is--hoge` |
|
|
158
185
|
|
|
159
186
|
```jsx
|
|
160
|
-
<Box p="box"
|
|
161
|
-
// → <div class="l--box is--hoge -p:box -
|
|
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.
|
|
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
|
-
.-
|
|
179
|
-
.-d\:grid { display: grid; }
|
|
229
|
+
.-ta\:justify { text-align: justify; }
|
|
180
230
|
.-p\:box { padding: 2em; }
|
|
181
|
-
.-
|
|
231
|
+
.-filter\:blur { filter: blur(3px); }
|
|
232
|
+
.-lts\:2xl { letter-spacing: var(--lts--2xl); }
|
|
182
233
|
```
|
|
183
234
|
|
|
184
235
|
> **注意**:
|
|
185
|
-
> -
|
|
236
|
+
> - 生成されるのはあくまで `var(--lts--2xl)` を参照する **ユーティリティクラスまで**。参照先の CSS 変数(`:root { --lts--2xl: ... }` のような **値そのもの** の定義)と `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
|
|
186
237
|
> - `lism-css` パッケージ自体を上書きする処理のため、**パッケージ更新ごとに再実行**が必要です。
|
|
187
238
|
|
|
188
|
-
###
|
|
239
|
+
### 3. 手動で CSS を追記
|
|
189
240
|
|
|
190
241
|
CLI を使わず、追加クラス分の CSS をプロジェクト側で書いて読み込ませる方法でも問題ありません。
|
|
191
242
|
|
|
192
243
|
```css
|
|
193
|
-
|
|
194
|
-
|
|
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
|
-
###
|
|
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
|
-
'
|
|
205
|
-
utilities: (
|
|
206
|
-
'flex': 'flex',
|
|
207
|
-
'grid': 'grid',
|
|
208
|
-
),
|
|
209
|
-
),
|
|
262
|
+
'ta': ( utilities: ( 'justify': 'justify' ) ),
|
|
210
263
|
'p': ( utilities: ( 'box': '2em' ) ),
|
|
211
|
-
'
|
|
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 { --
|
|
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--
|
|
76
|
+
| `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--divide`, `u--cells` |
|
|
75
77
|
|
|
76
|
-
- `set--` は
|
|
77
|
-
- `is--` / `has--` は
|
|
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
|
-
.-
|
|
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
|
-
|
|
204
|
+
opacity トークンは音楽記号に由来する例外的な命名で、そのままクラス化される。
|
|
203
205
|
|
|
204
206
|
```
|
|
205
|
-
.-o
|
|
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--
|
|
44
|
-
| `l--
|
|
45
|
-
| `l--
|
|
44
|
+
| `l--autoColumns` | ブレイクポイントに依存せず、自動段組のできる流動カラムレイアウト。`--cols: 16em`のようにして最小維持幅を指定できる。 |
|
|
45
|
+
| `l--withSide` | 画像とコンテンツ、メインエリアとサイドバーなどの「"Side" + "Main"」に分かれ、横並びと縦並びが切り替わるレイアウト。"Main"が`--mainW`で指定したサイズ以上の横幅を維持できる範囲内で横並びを維持し、下回る場合は縦並びへ自動で切り替わる。横並びの間の"Side"の横幅は`--sideW`で指定する。 |
|
|
46
|
+
| `l--switchColumns` | 任意のサイズで一括カラム切り替えができるカラムレイアウト。`--breakSize` で制御 |
|
|
46
47
|
|
|
47
48
|
それぞれ対応するLismコンポーネント(`<Flex>`, `<Stack>`, `<Cluster>` 等)があります。
|
|
48
49
|
|
|
49
50
|
|
|
51
|
+
### カラムレイアウト Primitive の使い分けガイド
|
|
52
|
+
|
|
53
|
+
「カラムを並べる」用途で使える Primitive は複数あります。意図に応じて使い分けます。
|
|
54
|
+
|
|
55
|
+
#### 比較表
|
|
56
|
+
|
|
57
|
+
各 Primitive がどの用途に向いているか:
|
|
58
|
+
|
|
59
|
+
| やりたいこと | `l--columns` | `l--autoColumns` | `l--switchColumns` | `l--withSide` | `l--grid` |
|
|
60
|
+
|---|---|---|---|---|---|
|
|
61
|
+
| 等幅 N 列 | ◯ | ◯ | ✗ | ✗ | △ |
|
|
62
|
+
| 横並び ↔ 1 列の一括切替 | ◯ | ✗ | ◯ | ✗ | △ |
|
|
63
|
+
| カラム最小幅で自動折返し | ✗ | ◯ | ✗ | ✗ | △ |
|
|
64
|
+
| サイド + メイン(非対称 2 カラム) | △ | ✗ | ✗ | ◯ | △ |
|
|
65
|
+
| BP で列数切替 | ◯ | ✗ | ✗ | ✗ | △ |
|
|
66
|
+
| 非BPでのレスポンシブ | ✗ | ◯ | ◯ | ◯ | ✗ |
|
|
67
|
+
|
|
68
|
+
凡例: ◯ 適している / △ 可能だが冗長 / ✗ 不向き
|
|
69
|
+
|
|
70
|
+
#### 選び方
|
|
71
|
+
|
|
72
|
+
##### 1. 等幅 N 列、または列数を BP で切り替えたい
|
|
73
|
+
|
|
74
|
+
- **推奨**: `l--columns` (`<Columns cols={[1, 2, 3]} />`)
|
|
75
|
+
- **理由**: `cols={3}` で固定列数、`cols` 配列で BP ごとの列数を宣言的に書ける
|
|
76
|
+
- **代替**:
|
|
77
|
+
- `l--grid`: `gtc="repeat(3, 1fr)"` で書けるが、等幅 N 列や列数切替だけなら Columns のほうが簡潔
|
|
78
|
+
- `l--tileGrid`: 行も指定したい時はこちら
|
|
79
|
+
- **要件**: BP 値を使うため祖先に `is--container` が必要
|
|
80
|
+
|
|
81
|
+
##### 2. カラム幅が指定値を下回ったら自動で折り返したい
|
|
82
|
+
|
|
83
|
+
- **推奨**: `l--autoColumns` (`<AutoColumns cols="20rem" />`)
|
|
84
|
+
- **理由**: BP に依存せず、カラム最小幅基準で `auto-fit` / `auto-fill` の挙動を簡潔に書ける
|
|
85
|
+
- **典型例**: カード一覧、商品リスト、ロゴ並び等
|
|
86
|
+
- **代替**:
|
|
87
|
+
- `l--grid`: `gtc="repeat(auto-fit, minmax(20rem, 1fr))"` を直書きできるが冗長
|
|
88
|
+
|
|
89
|
+
##### 3. 「横並び」と「縦 1 列」を一括で切り替えたい(多段階の列数変化が不要)
|
|
90
|
+
|
|
91
|
+
- **推奨**: `l--switchColumns` (`<SwitchColumns breakSize="s" />`)
|
|
92
|
+
- **理由**: 自身の利用可能幅が `breakSize` を下回ったら一気に縦並びに切り替わる。BP / CQ 設計は不要だが、`breakSize` で切り替え幅を指定する
|
|
93
|
+
- **代替**:
|
|
94
|
+
- `l--columns cols={[1, 2]}`: BP で切り替える場合
|
|
95
|
+
- `l--autoColumns`: 段階的に列数が変わってよい場合
|
|
96
|
+
|
|
97
|
+
##### 4. サイド + メイン(非対称 2 カラム)で、コンテンツ幅で自動切替したい
|
|
98
|
+
|
|
99
|
+
- **推奨**: `l--withSide` (`<WithSide sideW="..." mainW="..." />`)
|
|
100
|
+
- **理由**: メイン側が `mainW` を維持できなくなったら自動で縦並びに。BP 設計不要
|
|
101
|
+
- **典型例**: 画像 + テキスト、メインエリア + サイドバー、メディアとテキストが交互に並ぶ繰り返しブロック(メディア側を `isSide` として先に置き、`fxd="row-reverse"` で交互配置すると、縦並び時はメディア側を上に統一できる)
|
|
102
|
+
- **代替**:
|
|
103
|
+
- `l--grid` + `gta` 配列: BP で明示的に切替したい場合は Grid + `gta` のテンプレ切替で同じ見た目を実現可能(withSide のほうが宣言的でシンプル)
|
|
104
|
+
|
|
105
|
+
##### 5. 行 × 列を指定した固定タイルレイアウト
|
|
106
|
+
|
|
107
|
+
- **推奨**: `l--tileGrid` (`<TileGrid cols="3" rows="2" />`)
|
|
108
|
+
- **理由**: カラムレイアウトというより、行数も固定したい場合の Grid 派生。`cols` / `rows` で `repeat(rows, minmax(0, 1fr)) / repeat(cols, minmax(0, 1fr))` を簡潔に書ける
|
|
109
|
+
- **代替**:
|
|
110
|
+
- `l--columns`: 列だけでよい(行は内容で自動決定)場合
|
|
111
|
+
- `l--grid`: トラックを個別に細かく制御したい場合
|
|
112
|
+
|
|
113
|
+
##### 6. Grid テンプレートを主目的にした複雑な配置
|
|
114
|
+
|
|
115
|
+
- **推奨**: `l--grid` (`<Grid gtc="..." gta="..." />`)
|
|
116
|
+
- **理由**: `gta` / `gtc` 自体は Property Class として他の Primitive にも指定できるが、Grid テンプレートを主軸にするなら `l--grid` が素直
|
|
117
|
+
- **典型例**: 名前付きエリア配置、要素の重ね合わせ(`ga="1/1"`)、subgrid
|
|
118
|
+
|
|
119
|
+
#### 補足
|
|
120
|
+
|
|
121
|
+
- 各 Primitive の詳細・使用例は [primitives/](./primitives/) 配下の個別ファイルを参照
|
|
122
|
+
- レスポンシブな値(配列指定)を使う場合は祖先要素に `is--container` が必須([prop-responsive.md](./prop-responsive.md))
|
|
123
|
+
|
|
124
|
+
|
|
50
125
|
## Atomic Primitive(`a--`)
|
|
51
126
|
|
|
52
127
|
レイアウト構成物の最小単位となる Primitive です。
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `a--divider`
|
|
8
8
|
- コンポーネント: `<Divider>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_divider.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/a--divider.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `a--icon`
|
|
8
8
|
- コンポーネント: `<Icon>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_icon.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/a--icon.md
|
|
11
11
|
|
|
12
12
|
## 出力されるHTML構造
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `a--spacer`
|
|
8
8
|
- コンポーネント: `<Spacer>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_spacer.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/a--spacer.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# l--autoColumns / `<AutoColumns>`
|
|
2
|
+
|
|
3
|
+
カラム要素が指定した幅より小さくならないように自動で折り返す、**ブレイクポイント非依存の段組みクラス**。`auto-fit` / `auto-fill` を使った流動カラムを簡潔に記述できます。
|
|
4
|
+
|
|
5
|
+
## 基本情報
|
|
6
|
+
|
|
7
|
+
- クラス名: `l--autoColumns`
|
|
8
|
+
- コンポーネント: `<AutoColumns>`
|
|
9
|
+
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_autoColumns.scss
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--autoColumns.md
|
|
11
|
+
|
|
12
|
+
## 専用Props
|
|
13
|
+
|
|
14
|
+
| Prop | CSS変数 | デフォルト | 説明 |
|
|
15
|
+
|------|--------|-----------|------|
|
|
16
|
+
| `cols` | `--cols` | `20rem` | カラムが維持する最小幅を指定(`16em`, `320px` など) |
|
|
17
|
+
| `autoFill` | `--autoMode` | `auto-fit` | `auto-fill` モードに切り替え |
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### `--cols`でサイズを指定する
|
|
22
|
+
|
|
23
|
+
```jsx
|
|
24
|
+
<AutoColumns cols="16em" g="20">
|
|
25
|
+
<Lism as="div" p="20" bd>Item A</Lism>
|
|
26
|
+
<Lism as="div" p="20" bd>Item B</Lism>
|
|
27
|
+
<Lism as="div" p="20" bd>Item C</Lism>
|
|
28
|
+
<Lism as="div" p="20" bd>Item D</Lism>
|
|
29
|
+
</AutoColumns>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<div class="l--autoColumns -g:20" style="--cols: 16em">
|
|
34
|
+
<div class="-p:20 -bd">Item A</div>
|
|
35
|
+
<div class="-p:20 -bd">Item B</div>
|
|
36
|
+
<div class="-p:20 -bd">Item C</div>
|
|
37
|
+
<div class="-p:20 -bd">Item D</div>
|
|
38
|
+
</div>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### `auto-fill`を使用する
|
|
42
|
+
|
|
43
|
+
`l--autoColumns` では、`grid-template-columns` の `repeat()` 関数の第一引数を `--autoMode` で指定できます(デフォルトは `auto-fit`)。`--autoMode:auto-fill`(`autoFill`)を指定することで、要素数が少ない時の挙動が変わります。
|
|
44
|
+
|
|
45
|
+
```jsx
|
|
46
|
+
<AutoColumns cols="12em" autoFill g="20" fz="s">
|
|
47
|
+
<Lism as="div" p="20" bd>auto-fill</Lism>
|
|
48
|
+
<Lism as="div" p="20" bd>auto-fill</Lism>
|
|
49
|
+
</AutoColumns>
|
|
50
|
+
<AutoColumns cols="12em" g="20" fz="s">
|
|
51
|
+
<Lism as="div" p="20" bd>auto-fit</Lism>
|
|
52
|
+
<Lism as="div" p="20" bd>auto-fit</Lism>
|
|
53
|
+
</AutoColumns>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
```html
|
|
57
|
+
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em; --autoMode:auto-fill">
|
|
58
|
+
<div class="-p:20 -bd">auto-fill</div>
|
|
59
|
+
<div class="-p:20 -bd">auto-fill</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="l--autoColumns -g:20 -fz:s" style="--cols:12em">
|
|
62
|
+
<div class="-p:20 -bd">auto-fit</div>
|
|
63
|
+
<div class="-p:20 -bd">auto-fit</div>
|
|
64
|
+
</div>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## 関連プリミティブ
|
|
68
|
+
|
|
69
|
+
- [l--columns](./l--columns.md) — ブレイクポイント指定の等幅カラム
|
|
70
|
+
- [l--switchColumns](./l--switchColumns.md) — 複数列 ↔ 1列の2段階切り替え
|
|
71
|
+
- [l--withSide](./l--withSide.md) — メイン幅ベースの2カラム自動切替
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--center`
|
|
8
8
|
- コンポーネント: `<Center>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_center.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--center.md
|
|
11
11
|
|
|
12
12
|
## 動作の仕組み
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--cluster`
|
|
8
8
|
- コンポーネント: `<Cluster>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_cluster.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--cluster.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -35,4 +35,4 @@
|
|
|
35
35
|
|
|
36
36
|
- [l--flex](./l--flex.md) — 汎用 Flex 横並び(折り返しなしが基本)
|
|
37
37
|
- [l--stack](./l--stack.md) — Flex 縦並び
|
|
38
|
-
- [l--
|
|
38
|
+
- [l--switchColumns](./l--switchColumns.md) — ブレイクポイントで縦横切り替えるカラム
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--columns`
|
|
8
8
|
- コンポーネント: `<Columns>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_columns.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--columns.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
## 関連プリミティブ
|
|
69
69
|
|
|
70
70
|
- [l--tileGrid](./l--tileGrid.md) — 列数×行数を指定する均等タイル
|
|
71
|
-
- [l--
|
|
72
|
-
- [l--
|
|
71
|
+
- [l--autoColumns](./l--autoColumns.md) — カラム幅ベースの自動段組
|
|
72
|
+
- [l--switchColumns](./l--switchColumns.md) — 複数列 ↔ 1列切り替え
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--flex`
|
|
8
8
|
- コンポーネント: `<Flex>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flex.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--flex.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
- クラス名: `l--flow`
|
|
8
8
|
- コンポーネント: `<Flow>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_flow.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--flow.md
|
|
11
11
|
|
|
12
12
|
## 余白の仕組み
|
|
13
13
|
|
|
14
|
-
`l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`
|
|
14
|
+
`l--flow` 直下の子要素は、`--flow` 変数と `margin-block-start` で間隔が管理されます。見出しタグ(`h1`〜`h6`)のみ余白が大きくなり、`calc(var(--flow) * 2 + 0.5em)` で計算されます。
|
|
15
15
|
|
|
16
16
|
| クラス | 余白量 |
|
|
17
17
|
|--------|-------|
|
|
18
|
-
|
|
|
18
|
+
| `l--flow` | `--flow--base`(`--s30`) |
|
|
19
19
|
| `.l--flow.-flow:s` | `--flow--s`(`--s20`) |
|
|
20
20
|
| `.l--flow.-flow:` | `--flow` を直接指定した値 |
|
|
21
21
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
| Prop | 説明 |
|
|
25
25
|
|------|------|
|
|
26
|
-
| `flow` | `--flow` の値を指定。`s` / `l` などのトークン値を渡すと
|
|
26
|
+
| `flow` | `--flow` の値を指定。`s` / `l` などのトークン値を渡すと `-flow:{value}` クラスが付与、任意値を渡すと `-flow:` + `style="--flow:..."` が出力される |
|
|
27
27
|
|
|
28
28
|
## Usage
|
|
29
29
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--frame`
|
|
8
8
|
- コンポーネント: `<Frame>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_frame.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--frame.md
|
|
11
11
|
|
|
12
12
|
## 専用Props
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--grid`
|
|
8
8
|
- コンポーネント: `<Grid>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_grid.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--grid.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -65,4 +65,4 @@
|
|
|
65
65
|
|
|
66
66
|
- [l--tileGrid](./l--tileGrid.md) — 自動繰り返しのタイル型 Grid
|
|
67
67
|
- [l--columns](./l--columns.md) — 等幅カラム専用
|
|
68
|
-
- [l--
|
|
68
|
+
- [l--withSide](./l--withSide.md) — コンテンツ幅自動切り替え型 2 カラム
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- クラス名: `l--stack`
|
|
8
8
|
- コンポーネント: `<Stack>`
|
|
9
9
|
- SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_stack.scss
|
|
10
|
-
-
|
|
10
|
+
- 公式ドキュメント: https://lism-css.com/docs/primitives/l--stack.md
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|