@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.
- package/README.ja.md +15 -15
- package/README.md +5 -5
- package/dist/data/docs-index.json +185 -159
- package/dist/data/guides/SKILL.md +164 -228
- package/dist/data/guides/antipatterns-layout.md +271 -0
- package/dist/data/guides/antipatterns.md +121 -196
- package/dist/data/guides/base-styles.md +10 -9
- package/dist/data/guides/components-core.md +27 -9
- package/dist/data/guides/components-ui.md +30 -51
- package/dist/data/guides/css-rules.md +104 -107
- package/dist/data/guides/customize.md +10 -7
- package/dist/data/guides/naming.md +22 -41
- package/dist/data/guides/primitive-class.md +5 -5
- package/dist/data/guides/primitives/a--decorator.md +2 -28
- package/dist/data/guides/primitives/a--divider.md +1 -52
- package/dist/data/guides/primitives/a--icon.md +2 -76
- package/dist/data/guides/primitives/a--spacer.md +1 -49
- package/dist/data/guides/primitives/l--autoColumns.md +7 -54
- package/dist/data/guides/primitives/l--box.md +1 -21
- package/dist/data/guides/primitives/l--center.md +6 -39
- package/dist/data/guides/primitives/l--cluster.md +6 -26
- package/dist/data/guides/primitives/l--columns.md +7 -56
- package/dist/data/guides/primitives/l--flex.md +5 -62
- package/dist/data/guides/primitives/l--flow.md +11 -72
- package/dist/data/guides/primitives/l--frame.md +7 -78
- package/dist/data/guides/primitives/l--grid.md +5 -56
- package/dist/data/guides/primitives/l--stack.md +5 -44
- package/dist/data/guides/primitives/l--switchColumns.md +8 -53
- package/dist/data/guides/primitives/l--tileGrid.md +7 -44
- package/dist/data/guides/primitives/l--withSide.md +9 -79
- package/dist/data/guides/property-class/all-props.md +246 -0
- package/dist/data/guides/property-class/bd.md +6 -71
- package/dist/data/guides/property-class/hov.md +14 -73
- package/dist/data/guides/property-class/max-sz.md +3 -39
- package/dist/data/guides/property-class.md +33 -250
- package/dist/data/guides/references/authoring.md +246 -0
- package/dist/data/guides/references/page-sections.md +99 -0
- package/dist/data/guides/references/verification.md +75 -0
- package/dist/data/guides/responsive.md +44 -15
- package/dist/data/guides/set-class.md +2 -12
- package/dist/data/guides/tokens.md +20 -16
- package/dist/data/guides/trait-class/has--gutter.md +3 -31
- package/dist/data/guides/trait-class/has--mask.md +3 -36
- package/dist/data/guides/trait-class/has--snap.md +3 -34
- package/dist/data/guides/trait-class/has--transition.md +3 -41
- package/dist/data/guides/trait-class/is--boxLink.md +2 -63
- package/dist/data/guides/trait-class/is--container.md +2 -29
- package/dist/data/guides/trait-class/is--layer.md +1 -57
- package/dist/data/guides/trait-class/is--wrapper.md +3 -56
- package/dist/data/guides/trait-class.md +8 -8
- package/dist/data/guides/utility-class.md +1 -1
- package/dist/data/meta.js +4 -3
- package/dist/index.js +4 -1
- package/dist/lib/load-markdown.d.ts +4 -0
- package/dist/lib/load-markdown.js +10 -0
- package/dist/lib/response.d.ts +5 -0
- package/dist/lib/response.js +15 -2
- package/dist/lib/schemas.d.ts +35 -0
- package/dist/lib/schemas.js +13 -0
- package/dist/lib/search.d.ts +2 -0
- package/dist/lib/search.js +56 -4
- package/dist/lib/types.d.ts +5 -21
- package/dist/lib/version.d.ts +2 -0
- package/dist/lib/version.js +8 -0
- package/dist/tools/convert-css.js +37 -14
- package/dist/tools/get-component.js +2 -2
- package/dist/tools/get-guide.d.ts +2 -0
- package/dist/tools/get-guide.js +41 -18
- package/dist/tools/get-overview.js +2 -2
- package/dist/tools/get-props-system.js +8 -6
- package/dist/tools/get-tokens.js +2 -2
- package/dist/tools/search-docs.js +13 -7
- package/package.json +21 -6
|
@@ -26,7 +26,6 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
26
26
|
- [Badge](#badge)
|
|
27
27
|
- [Button](#button)
|
|
28
28
|
- [Callout](#callout)
|
|
29
|
-
- [Chat](#chat)
|
|
30
29
|
- [Details](#details)
|
|
31
30
|
- [Modal](#modal)
|
|
32
31
|
- [NavMenu](#navmenu)
|
|
@@ -48,11 +47,11 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
48
47
|
**構造:** `Accordion.Root > Accordion.Item > (Accordion.Heading > Accordion.Button) + Accordion.Panel`(`Accordion.Icon` は自動で含まれる)
|
|
49
48
|
|
|
50
49
|
| Prop | 対象 | 型 | デフォルト | 説明 |
|
|
51
|
-
|
|
50
|
+
| --- | --- | --- | --- | --- |
|
|
52
51
|
| `allowMultiple` | Root | `boolean` | — | 複数アイテムの同時展開を許可 |
|
|
53
52
|
| `isOpen` | Item / Button / Panel | `boolean` | `false` | アイテムを初期展開。Item・Button・Panel の3つ揃えて指定(Item=`data-opened` 付与、Button=`aria-expanded`、Panel=`hidden` 解除) |
|
|
54
53
|
| `as` | Heading | `string` | `div` | 見出しのHTMLタグ。`div` 時は `role='heading'` が自動付与。`h2`〜`h6` 指定時は role なし |
|
|
55
|
-
| `flow` | Panel | `string` | — | パネル内コンテンツ領域(`
|
|
54
|
+
| `flow` | Panel | `string` | — | パネル内コンテンツ領域(`b--accordion_content`)のフロー余白 |
|
|
56
55
|
|
|
57
56
|
```jsx
|
|
58
57
|
<Accordion.Root>
|
|
@@ -70,11 +69,11 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
70
69
|
|
|
71
70
|
ソース: [Alert/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Alert)
|
|
72
71
|
|
|
73
|
-
短めの文言を目立たせて強調表示するアラートボックス。`type`
|
|
72
|
+
短めの文言を目立たせて強調表示するアラートボックス。`type` プリセットによりアイコンとカラーが自動設定される。`b--alert` クラスが付与される。
|
|
74
73
|
プリセット: `alert`=alert/red, `point`=lightbulb/orange(`tip`も同じ), `warning`=warning/yellow, `check`=check-circle/green, `help`=question/purple, `info`=info/blue, `note`=note/gray。
|
|
75
74
|
|
|
76
75
|
| Prop | 型 | デフォルト | 説明 |
|
|
77
|
-
|
|
76
|
+
| --- | --- | --- | --- |
|
|
78
77
|
| `type` | `'alert' \| 'point' \| 'tip' \| 'warning' \| 'check' \| 'help' \| 'info' \| 'note'` | `'alert'` | アラートタイプ。keycolor と icon の組み合わせプリセット |
|
|
79
78
|
| `keycolor` | `string` | — | キーカラー |
|
|
80
79
|
| `icon` | `ReactNode \| string` | — | カスタムアイコン |
|
|
@@ -90,13 +89,13 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
90
89
|
|
|
91
90
|
ソース: [Avatar/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Avatar)
|
|
92
91
|
|
|
93
|
-
アバター(プロフィール画像)コンポーネント。Frame ベースの円形画像表示。`
|
|
92
|
+
アバター(プロフィール画像)コンポーネント。Frame ベースの円形画像表示。`b--avatar` クラスが付与される。
|
|
94
93
|
|
|
95
94
|
| Prop | 型 | デフォルト | 説明 |
|
|
96
|
-
|
|
95
|
+
| --- | --- | --- | --- |
|
|
97
96
|
| `src` | `string` | — | 画像URL |
|
|
98
97
|
| `alt` | `string` | — | 代替テキスト |
|
|
99
|
-
| `size` | `string` | `'
|
|
98
|
+
| `size` | `string` | `'2em'` | アバターのサイズ |
|
|
100
99
|
|
|
101
100
|
```jsx
|
|
102
101
|
<Avatar src='/avatar.jpg' alt='User' size='48px' />
|
|
@@ -107,11 +106,11 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
107
106
|
|
|
108
107
|
ソース: [Badge/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Badge)
|
|
109
108
|
|
|
110
|
-
バッジ(ラベル)コンポーネント。`span` 要素としてインライン表示。`
|
|
109
|
+
バッジ(ラベル)コンポーネント。`span` 要素としてインライン表示。`b--badge` クラスが付与される。
|
|
111
110
|
|
|
112
111
|
| Prop | 型 | デフォルト | 説明 |
|
|
113
|
-
|
|
114
|
-
| `variant` | `string` | — | バリエーション(`'outline'` 等)。`
|
|
112
|
+
| --- | --- | --- | --- |
|
|
113
|
+
| `variant` | `string` | — | バリエーション(`'outline'` 等)。`b--badge--{variant}` クラスが出力 |
|
|
115
114
|
| `keycolor` | `string` | — | キーカラー |
|
|
116
115
|
|
|
117
116
|
```jsx
|
|
@@ -123,11 +122,11 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
123
122
|
|
|
124
123
|
ソース: [Button/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Button)
|
|
125
124
|
|
|
126
|
-
ボタン型リンクコンポーネント。デフォルトで `a` 要素として出力。`
|
|
125
|
+
ボタン型リンクコンポーネント。デフォルトで `a` 要素として出力。`b--button` クラスが付与される。
|
|
127
126
|
|
|
128
127
|
| Prop | 型 | デフォルト | 説明 |
|
|
129
|
-
|
|
130
|
-
| `variant` | `string` | — | バリエーション(`'fill'`, `'outline'` 等)。`
|
|
128
|
+
| --- | --- | --- | --- |
|
|
129
|
+
| `variant` | `string` | — | バリエーション(`'fill'`, `'outline'` 等)。`b--button--{variant}` クラスが出力 |
|
|
131
130
|
| `keycolor` | `string` | — | キーカラー |
|
|
132
131
|
| `href` | `string` | — | リンク先URL |
|
|
133
132
|
|
|
@@ -140,11 +139,10 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
140
139
|
|
|
141
140
|
ソース: [Callout/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Callout)
|
|
142
141
|
|
|
143
|
-
記事中の重要ポイントを示すコンポーネント。タイトルとアイコン付きの強調ボックス。`type`
|
|
144
|
-
プリセット: `alert`=alert/red, `point`=lightbulb/orange(`tip`も同じ), `warning`=warning/yellow, `check`=check-circle/green, `help`=question/purple, `info`=info/blue, `note`=note/gray。
|
|
142
|
+
記事中の重要ポイントを示すコンポーネント。タイトルとアイコン付きの強調ボックス。`type` プリセットによりアイコンとカラーが自動設定される(プリセット内容は [Alert](#alert) と同一)。`b--callout` クラスが付与される。
|
|
145
143
|
|
|
146
144
|
| Prop | 型 | デフォルト | 説明 |
|
|
147
|
-
|
|
145
|
+
| --- | --- | --- | --- |
|
|
148
146
|
| `type` | `'alert' \| 'point' \| 'tip' \| 'warning' \| 'check' \| 'help' \| 'info' \| 'note'` | `'note'` | コールアウトタイプ |
|
|
149
147
|
| `keycolor` | `string` | — | キーカラー |
|
|
150
148
|
| `icon` | `ReactNode \| string` | — | カスタムアイコン |
|
|
@@ -156,26 +154,6 @@ import { Button } from '@lism-css/ui/astro/Button';
|
|
|
156
154
|
```
|
|
157
155
|
|
|
158
156
|
|
|
159
|
-
## Chat
|
|
160
|
-
|
|
161
|
-
ソース: [Chat/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Chat)
|
|
162
|
-
|
|
163
|
-
チャット風の吹き出しコンポーネント。Grid ベースの会話形式 UI。`c--chat` クラスが付与される。
|
|
164
|
-
|
|
165
|
-
| Prop | 型 | デフォルト | 説明 |
|
|
166
|
-
|------|-----|----------|------|
|
|
167
|
-
| `name` | `string` | — | 発言者の名前 |
|
|
168
|
-
| `avatar` | `string` | — | アバター画像の src |
|
|
169
|
-
| `variant` | `'speak' \| 'think'` | `'speak'` | チャットタイプ |
|
|
170
|
-
| `direction` | `'start' \| 'end'` | `'start'` | 表示位置 |
|
|
171
|
-
| `keycolor` | `string` | `'gray'` | キーカラー |
|
|
172
|
-
| `flow` | `string` | `'s'` | コンテンツ要素のフロー余白 |
|
|
173
|
-
|
|
174
|
-
```jsx
|
|
175
|
-
<Chat name='Alice' avatar='/alice.jpg'>Hello!</Chat>
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
|
|
179
157
|
## Details
|
|
180
158
|
|
|
181
159
|
ソース: [Details/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Details)
|
|
@@ -185,8 +163,9 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
|
|
|
185
163
|
**構造:** `Details.Root > Details.Summary > (Details.Title + Details.Icon) + Details.Content`
|
|
186
164
|
|
|
187
165
|
| Prop | 対象 | 型 | デフォルト | 説明 |
|
|
188
|
-
|
|
166
|
+
| --- | --- | --- | --- | --- |
|
|
189
167
|
| `as` | Title | `string` | `'span'` | Title の HTML タグ |
|
|
168
|
+
| `open` | Root | `boolean` | — | 初期展開状態(`details` 要素の `open` 属性) |
|
|
190
169
|
| `--duration` | Root | `string` | — | 展開アニメーションの秒数(style 経由で指定) |
|
|
191
170
|
|
|
192
171
|
```jsx
|
|
@@ -209,7 +188,7 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
|
|
|
209
188
|
**構造:** `Modal.OpenBtn + Modal.Root > Modal.Inner > Modal.Body + Modal.CloseBtn`
|
|
210
189
|
|
|
211
190
|
| Prop | 対象 | 型 | デフォルト | 説明 |
|
|
212
|
-
|
|
191
|
+
| --- | --- | --- | --- | --- |
|
|
213
192
|
| `id` | Root | `string` | — | モーダルの ID(必須) |
|
|
214
193
|
| `modalId` | OpenBtn / CloseBtn | `string` | — | 対象モーダルの ID |
|
|
215
194
|
| `duration` | Root | `string` | — | アニメーション持続時間。`--duration` 変数として出力 |
|
|
@@ -231,12 +210,12 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
|
|
|
231
210
|
|
|
232
211
|
ソース: [NavMenu/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/NavMenu)
|
|
233
212
|
|
|
234
|
-
ナビゲーションメニューコンポーネント。`
|
|
213
|
+
ナビゲーションメニューコンポーネント。`b--navMenu` クラスが付与される。
|
|
235
214
|
|
|
236
215
|
**構造:** `NavMenu.Root > NavMenu.Item > NavMenu.Link`(`NavMenu.Nest` でネスト可能)
|
|
237
216
|
|
|
238
217
|
| Prop | 対象 | 型 | デフォルト | 説明 |
|
|
239
|
-
|
|
218
|
+
| --- | --- | --- | --- | --- |
|
|
240
219
|
| `hovBgc` | Root | `string` | — | ホバー時の背景カラー。`--hov-bgc` 変数として出力 |
|
|
241
220
|
| `hovC` | Root | `string` | — | ホバー時のテキストカラー。`--hov-c` 変数として出力 |
|
|
242
221
|
| `itemP` | Root | `string` | — | 各アイテムのパディング。`--_item-p` 変数として出力 |
|
|
@@ -259,15 +238,16 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
|
|
|
259
238
|
|
|
260
239
|
ソース: [Tabs/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Tabs)
|
|
261
240
|
|
|
262
|
-
タブ切り替え UI
|
|
241
|
+
タブ切り替え UI。タブクリックまたは左右キー・Home/End でコンテンツパネルを切り替える。縦並びにする場合は `listProps` で `aria-orientation="vertical"` を指定すると上下キーに切り替わる。スタイリングはほぼなく動きのみ提供。
|
|
263
242
|
|
|
264
243
|
**構造:** `Tabs.Root > Tabs.Item > (Tabs.Tab + Tabs.Panel)`(`Tabs.List` も利用可能)
|
|
265
244
|
|
|
266
245
|
| Prop | 対象 | 型 | デフォルト | 説明 |
|
|
267
|
-
|
|
246
|
+
| --- | --- | --- | --- | --- |
|
|
268
247
|
| `tabId` | Root | `string` | — | タブを特定するための ID 文字列 |
|
|
269
248
|
| `defaultIndex` | Root | `number` | `1` | 初期アクティブタブ(1始まり) |
|
|
270
249
|
| `listProps` | Root | `object` | — | タブボタンリスト要素へ渡す props |
|
|
250
|
+
| `variant` | Root | `string` | `'default'` | バリエーション。`b--tabs--{variant}` クラスが出力。`'default'` のほか `'line'` を標準提供。独自 variant 指定時は既定バリアント(`b--tabs--default`)の装飾が適用されない |
|
|
271
251
|
|
|
272
252
|
```jsx
|
|
273
253
|
<Tabs.Root>
|
|
@@ -290,7 +270,7 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
|
|
|
290
270
|
セクション間の波型などの装飾的な区切り要素。SVG ベースの形状で区切りを表現。
|
|
291
271
|
|
|
292
272
|
| Prop | 型 | デフォルト | 説明 |
|
|
293
|
-
|
|
273
|
+
| --- | --- | --- | --- |
|
|
294
274
|
| `viewBox` | `string` | — | SVG の viewBox |
|
|
295
275
|
| `level` | `number` | `5` | シェイプの高さレベル。`0` で非表示 |
|
|
296
276
|
| `flip` | `'X' \| 'Y' \| 'XY'` | — | 反転方向。`data-flip` 属性として出力 |
|
|
@@ -313,7 +293,7 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
|
|
|
313
293
|
ダミーテキストを生成するコンポーネント。プレビューやテスト用。複数の言語とテキスト長に対応。
|
|
314
294
|
|
|
315
295
|
| Prop | 型 | デフォルト | 説明 |
|
|
316
|
-
|
|
296
|
+
| --- | --- | --- | --- |
|
|
317
297
|
| `lang` | `'ja' \| 'en' \| 'ar'` | `'en'` | テキストの言語 |
|
|
318
298
|
| `length` | `'xs' \| 's' \| 'm' \| 'l' \| 'xl' \| 'codes'` | `'m'` | テキストの長さ。`'codes'` は `b`, `i`, `a`, `code` 要素を含むテキスト |
|
|
319
299
|
| `pre` | `string` | — | テキストの前に表示する文字列 |
|
|
@@ -331,8 +311,8 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
|
|
|
331
311
|
コンポーネント名は `import` するときと同じ PascalCase で指定します。
|
|
332
312
|
|
|
333
313
|
```bash
|
|
334
|
-
# 初期設定(framework
|
|
335
|
-
npx lism-cli
|
|
314
|
+
# 初期設定(lism.config.js が無い場合に新規生成。framework 等を対話的に設定)
|
|
315
|
+
npx lism-cli init
|
|
336
316
|
|
|
337
317
|
# コンポーネントを追加
|
|
338
318
|
npx lism-cli ui add Button Modal
|
|
@@ -343,14 +323,13 @@ npx lism-cli ui add --all # 全コンポーネントを追加
|
|
|
343
323
|
npx lism-cli ui list
|
|
344
324
|
```
|
|
345
325
|
|
|
346
|
-
`
|
|
326
|
+
`init` で生成される `lism.config.js` の `ui` セクション:
|
|
347
327
|
|
|
348
328
|
```js
|
|
349
329
|
export default {
|
|
350
|
-
|
|
330
|
+
ui: {
|
|
351
331
|
framework: 'react',
|
|
352
|
-
|
|
353
|
-
helperDir: 'src/components/ui/_helper',
|
|
332
|
+
dir: 'src/components/ui', // helper は常に {dir}/_helper に配置される
|
|
354
333
|
},
|
|
355
334
|
};
|
|
356
335
|
```
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
## TOC
|
|
4
4
|
|
|
5
5
|
- [CSS Layer 構造](#css-layer-構造)
|
|
6
|
-
- [
|
|
7
|
-
- [
|
|
6
|
+
- [クラス分類とプレフィックス](#クラス分類とプレフィックス)
|
|
7
|
+
- [独自クラスの選び方(2分類)](#独自クラスの選び方2分類)
|
|
8
|
+
- [Block Class(`b--`)](#block-classb--)
|
|
9
|
+
- [Custom Class(`c--`)](#custom-classc--)
|
|
8
10
|
- [カスタムCSS を追加する場合](#カスタムcss-を追加する場合)
|
|
9
|
-
- [独自プレフィックス](#独自プレフィックス)
|
|
10
11
|
- [CSS の配置場所](#css-の配置場所)
|
|
11
12
|
|
|
12
13
|
[詳細](https://lism-css.com/docs/css-methodology.md)
|
|
@@ -24,16 +25,22 @@ Lism CSS は CSS Layers による詳細度管理を採用しています。
|
|
|
24
25
|
Settings(トークン定義)
|
|
25
26
|
→ @layer lism-base(Reset CSS・トークン・set-- クラス)
|
|
26
27
|
→ @layer reset(リセットCSS)
|
|
28
|
+
→ @layer lism-block(b-- Block Class — CSS でベーススタイルを管理する基礎部品)
|
|
27
29
|
→ @layer lism-trait(is-- / has-- Trait Class)
|
|
28
30
|
→ @layer lism-primitive
|
|
29
31
|
→ @layer layout(l-- Layout Primitive)
|
|
30
32
|
→ @layer atomic(a-- Atomic Primitive)
|
|
31
|
-
→ @layer lism-
|
|
32
|
-
→ @layer lism-custom(ユーザーカスタマイズ用)
|
|
33
|
+
→ @layer lism-custom(ユーザーの独自CSS — c--)
|
|
33
34
|
→ @layer lism-utility(u-- ユーティリティクラス)
|
|
34
35
|
→ Property Class(レイヤー外 — 最も詳細度が高い)
|
|
35
36
|
```
|
|
36
37
|
|
|
38
|
+
`lism-block` は `lism-trait` / `lism-primitive` より弱い位置にあるため、`b--` のベーススタイルには、明示的に付与したクラス(`is--` / `has--` / `l--` など)が勝ちます。
|
|
39
|
+
|
|
40
|
+
なお、この優先関係が保証されるのはレイヤーありの標準ビルド(`main.css` / `full.css`)だけです。`main_no_layer.css` / `full_no_layer.css` にはレイヤーがないため、読み込み順と詳細度に依存します。
|
|
41
|
+
|
|
42
|
+
ユーザーが定義する独自クラス・上書きスタイルは、役割に合わせて適切なレイヤーに配置します。
|
|
43
|
+
例えば、トークンやベーススタイルの上書きは `@layer lism-base`、`b--` のベーススタイルは `@layer lism-block`、それ以外の独自クラス(`c--`)は `@layer lism-custom` に置きます。
|
|
37
44
|
|
|
38
45
|
## クラス分類とプレフィックス
|
|
39
46
|
|
|
@@ -42,31 +49,32 @@ Settings(トークン定義)
|
|
|
42
49
|
Lism CSSで定義されるクラスは、その役割とレイヤーの所属が決まっており、その分類によってプレフィックスが定められています。
|
|
43
50
|
|
|
44
51
|
| 分類 | 役割 | プレフィックス | 例 |
|
|
45
|
-
|
|
52
|
+
| --- | --- | --- | --- |
|
|
46
53
|
| Set Class | ベーススタイル上書き・変数提供 | `set--` | `set--plain`, `set--revert`, `set--hov`, `set--bxsh` |
|
|
47
54
|
| Layout Primitive | レイアウトの構成単位となる Primitive | `l--` | `l--grid`, `l--flex`, `l--stack` |
|
|
48
55
|
| Atomic Primitive | レイアウトの最小単位となる Primitive | `a--` | `a--icon`, `a--divider` |
|
|
49
|
-
|
|
|
56
|
+
| Block Class | ベーススタイルを CSS 側で管理する基礎部品 | `b--` | `b--btn`, `b--badge`, `b--card` |
|
|
57
|
+
| Custom Class | Lism 本体に含まれない、ユーザーが自由に定義するカスタムクラス | `c--` | `c--featureList`, `c--header` |
|
|
50
58
|
| `is--` Trait | 要素に役割(〜である)を宣言 | `is--` | `is--container`, `is--wrapper`, `is--layer`, `is--boxLink` |
|
|
51
59
|
| `has--` Trait | 要素に機能(〜を持つ)を付与 | `has--` | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
|
|
52
60
|
| Utility Class | 用途が明確な装飾系ユーティリティ | `u--` | `u--cbox`, `u--trim`, `u--divide`, `u--enclose` |
|
|
53
61
|
| Property Class | 単一プロパティの制御 | `-` | `-fz:l`, `-p:20`, `-d:none` |
|
|
54
62
|
|
|
55
63
|
**併用ルール:**
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
- `
|
|
59
|
-
- `is--`
|
|
60
|
-
- `
|
|
61
|
-
- `
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
|
|
65
|
+
- Primitive の併用は禁止(`l--`同士、`a--`同士、`l--`+`a--` はNG)
|
|
66
|
+
- Trait の併用は可 (`is--`同士 / `has--`同士、 `is--` + `has--` はOK)
|
|
67
|
+
- Trait + Primitive の併用は可 (`is--`/`has--` + `l--`/`a--` はOK)
|
|
68
|
+
- `b--` + Primitive / Trait の併用は可(`b--` + `l--`/`a--`/`is--`/`has--` はOK)
|
|
69
|
+
- `b--` + `b--` は禁止
|
|
70
|
+
- `c--` + `c--` は禁止
|
|
71
|
+
- `b--` + `c--` は禁止
|
|
72
|
+
|
|
65
73
|
|
|
66
74
|
**`is--` と `has--` の判定軸:**
|
|
67
75
|
|
|
68
76
|
| | `is--` | `has--` |
|
|
69
|
-
|
|
77
|
+
| --- | --- | --- |
|
|
70
78
|
| 意味 | 〜である(役割・存在の宣言) | 〜を持つ(機能の付与) |
|
|
71
79
|
| CSS 変数 | 必須ではない | 必須(カスタマイズポイントを提供) |
|
|
72
80
|
|
|
@@ -74,20 +82,21 @@ Lism CSSで定義されるクラスは、その役割とレイヤーの所属が
|
|
|
74
82
|
class 属性にクラスを直接記述する場合は、以下の順序で並べてください。
|
|
75
83
|
|
|
76
84
|
```
|
|
77
|
-
[
|
|
85
|
+
[規約対象外クラス] [c--] [b--] [a--] [l--] [set--] [is--] [has--] [u--] [-]
|
|
78
86
|
```
|
|
79
87
|
|
|
80
|
-
| # | 区分 |
|
|
81
|
-
|
|
82
|
-
| 1 |
|
|
83
|
-
| 2 |
|
|
84
|
-
| 3 |
|
|
85
|
-
| 4 |
|
|
86
|
-
| 5 |
|
|
87
|
-
| 6 |
|
|
88
|
-
| 7 | Trait Class
|
|
89
|
-
| 8 |
|
|
90
|
-
| 9 |
|
|
88
|
+
| # | 区分 |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| 1 | Lismの規約対象外のクラス(外部ライブラリ・JSフック等) |
|
|
91
|
+
| 2 | Custom(`c--`) |
|
|
92
|
+
| 3 | Block(`b--`) |
|
|
93
|
+
| 4 | Atomic Primitive(`a--`) |
|
|
94
|
+
| 5 | Layout Primitive(`l--`) |
|
|
95
|
+
| 6 | Set Class(`set--`) |
|
|
96
|
+
| 7 | Trait Class 役割宣言(`is--`) |
|
|
97
|
+
| 8 | Trait Class 機能付与(`has--`) |
|
|
98
|
+
| 9 | Utility Class(`u--`) |
|
|
99
|
+
| 10 | Property Class(`-{prop}:{value}`) |
|
|
91
100
|
|
|
92
101
|
```html
|
|
93
102
|
<!-- OK -->
|
|
@@ -99,136 +108,124 @@ class 属性にクラスを直接記述する場合は、以下の順序で並
|
|
|
99
108
|
|
|
100
109
|
なお、`class` 属性内の並び順は CSS の適用結果(詳細度・カスケード順)には影響しません。この順序はあくまで可読性と一貫性のための整理です。
|
|
101
110
|
|
|
111
|
+
## 独自クラスの選び方(2分類)
|
|
112
|
+
|
|
113
|
+
Lism CSS が提供するクラス(`set--` / `is--` / `has--` / `l--` / `a--` / `u--` / Property Class)以外の、ユーザーが自分で定義するクラスは次の2分類で命名します。
|
|
102
114
|
|
|
103
|
-
|
|
115
|
+
| 分類 | 命名 | 例 | スタイルの書き方 |
|
|
116
|
+
| --- | --- | --- | --- |
|
|
117
|
+
| サイト共通で繰り返し使う基礎部品(ボタン・バッジ・カード級) | `b--{name}` | `b--btn`, `b--badge` | ベーススタイルを `@layer lism-block` で管理。BP切り替え・hover・例外的な調整は Property Class等を活用 |
|
|
118
|
+
| それ以外のカスタムクラス全般(コンポーネント・サイトの領域・ページ固有要素など粒度不問) | `c--{name}` | `c--featureList`, `c--header` | Lismクラス(Trait, Primitive, Property Class など)を中心に組む。何のパーツかを示す名前付けとしてだけ使うのも可。CSS を書く場合は `@layer lism-custom` で管理。 |
|
|
104
119
|
|
|
105
|
-
`
|
|
120
|
+
- `b--` にできるのは [Block Class(`b--`)](#block-classb--)の3条件をすべて満たす部品だけで、それ以外は `c--` にします。
|
|
121
|
+
- 迷ったら `c--` で始め、3条件を満たす部品としてベーススタイルを CSS 側で管理したくなった時点で `b--` へリネームして昇格します。
|
|
122
|
+
- 名前は camelCase で付けます。(例: `c--landingHero`)
|
|
106
123
|
|
|
107
|
-
|
|
124
|
+
BEM 構造(本体クラス / Modifier / Element)を持つのは `b--` と `c--` のみです。`a--` / `l--` には適用しません。
|
|
108
125
|
|
|
109
126
|
| 分類 | 形式 | 例 |
|
|
110
|
-
|
|
111
|
-
|
|
|
112
|
-
| Modifier | `c--{name}--{modifier}` | `
|
|
113
|
-
| Element | `c--{name}_{element}` | `
|
|
127
|
+
| --- | --- | --- |
|
|
128
|
+
| 本体クラス | `b--{name}` / `c--{name}` | `b--btn`, `c--pricing` |
|
|
129
|
+
| Modifier | `b--{name}--{modifier}` / `c--{name}--{modifier}` | `b--btn--outline`, `c--pricing--featured` |
|
|
130
|
+
| Element | `b--{name}_{element}` / `c--{name}_{element}` | `b--card_header`, `c--pricing_body` |
|
|
114
131
|
|
|
115
|
-
- Modifier
|
|
132
|
+
- Modifier は本体クラスと併記して使用: `.b--btn.b--btn--outline` / `.c--pricing.c--pricing--featured`
|
|
116
133
|
- Element は `_`(アンダースコア)一つ区切り
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
- BEM の Modifier / Element 構造を持つのは `c--` のみ。`a--` / `l--` には適用しない
|
|
134
|
+
- 同じプレフィックスの本体クラス同士の併用(`.b--xxx.b--yyy` / `.c--xxx.c--yyy`)は基本 NG。ただし次は許容される:
|
|
135
|
+
- 本体クラスと自身の Modifier: `.c--xxx.c--xxx--modifier`
|
|
136
|
+
- 本体クラスと他の本体クラスの Element: `.c--xxx.c--yyy_elem`
|
|
121
137
|
|
|
122
|
-
|
|
138
|
+
### Block Class(`b--`)
|
|
123
139
|
|
|
140
|
+
`b--` プレフィックスで定義する **Block Class** は、サイト内で繰り返し使う基礎部品(ボタン・バッジ・カード級)で、ベーススタイルを CSS 側(`@layer lism-block`)で管理します。コアの `lism-css` は専用レイヤーを用意するだけで、`b--` クラス自体は提供しません。
|
|
124
141
|
|
|
125
|
-
|
|
142
|
+
次の3条件を**すべて**満たす場合に `b--` を使います。満たさない場合は `c--` にします。
|
|
126
143
|
|
|
127
|
-
|
|
144
|
+
1. サイト内の複数ページ・複数箇所で繰り返し使う共通部品である
|
|
145
|
+
2. クラスを1つ付けるだけでベーススタイルがほぼ決まるようにしたい部品である
|
|
146
|
+
3. 粒度がボタン・バッジ・カード級の自己完結した部品である
|
|
128
147
|
|
|
148
|
+
例:
|
|
129
149
|
```css
|
|
130
|
-
@layer lism-
|
|
131
|
-
.
|
|
132
|
-
|
|
133
|
-
|
|
150
|
+
@layer lism-block {
|
|
151
|
+
.b--btn {
|
|
152
|
+
--bgc: transparent;
|
|
153
|
+
--bdc: transparent;
|
|
154
|
+
padding: var(--s10) var(--s20);
|
|
134
155
|
border-radius: var(--bdrs--20);
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
/* ... */
|
|
156
|
+
border: solid 1px var(--bdc);
|
|
157
|
+
background-color: var(--bgc);
|
|
138
158
|
}
|
|
159
|
+
.b--btn.b--btn--fill { --bgc: var(--brand); }
|
|
160
|
+
.b--btn.b--btn--outline { --bdc: currentColor; }
|
|
139
161
|
}
|
|
140
162
|
```
|
|
141
163
|
|
|
164
|
+
- `b--` は他クラスと併用もできます。すべて CSS 側に書かなくてはいけないというわけではありません。
|
|
165
|
+
- `b--` はレイアウトスタイルも CSS 側で持てますし、`l--` 系クラスとの併用を前提にして組むこともできます。
|
|
166
|
+
- ブレイクポイント切り替え(`-p_sm` 等)、hover 系スタイル、その他例外的な調整には Property Class での調整が便利です。
|
|
167
|
+
|
|
168
|
+
### Custom Class(`c--`)
|
|
169
|
+
|
|
170
|
+
`c--` プレフィックスで定義する **Custom Class** は、ユーザーが自由に定義できるカスタムクラスです(名前は `lism-custom` レイヤーと対応)。コンポーネント・サイトの領域(ヘッダーやサイドバーなど)・ページ固有の要素など、粒度を問わず使えます。
|
|
171
|
+
|
|
172
|
+
他のLismクラス(Trait, Primitive, Property Class等)との組み合わせを前提に設計し、CSSへ残すのは、擬似要素・子孫セレクタ・状態セレクタなど、Props/Property Classで表現できないものだけです。(明確な意図があればCSSに一般的なスタイルを書くことも可)
|
|
173
|
+
|
|
174
|
+
スタイルが全くなく、何のパーツかを示す名前付けのためだけに使っても構いません。
|
|
175
|
+
|
|
142
176
|
```html
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
</div>
|
|
177
|
+
<!-- HTMLで書く場合も、何のパーツかを示す名前 + Primitive + Property Class を優先 -->
|
|
178
|
+
<div class="c--myCard l--stack -g:20 -p:30 -bdrs:20 -bxsh:20 -bd">...</div>
|
|
146
179
|
```
|
|
147
180
|
|
|
148
|
-
素の HTML サイトではこのように `c--` クラスに CSS を書いてスタイリングしても問題ありませんが、React などでコンポーネントを作成できる場合は、特別な理由がない限り Property Class を活用してください。
|
|
149
|
-
|
|
150
181
|
```jsx
|
|
182
|
+
// React/AstroコンポーネントではPropsを優先
|
|
151
183
|
export default function MyCard(props) {
|
|
152
184
|
return <Stack className="c--myCard" g="20" p="30" bdrs="20" bxsh="20" bd {...props} />;
|
|
153
185
|
}
|
|
154
186
|
```
|
|
155
187
|
|
|
156
188
|
```css
|
|
157
|
-
@layer lism-
|
|
158
|
-
.c--myCard {
|
|
159
|
-
/*
|
|
189
|
+
@layer lism-custom {
|
|
190
|
+
.c--myCard::before {
|
|
191
|
+
/* 擬似要素など、Props/Property Classで表せないものだけを書く */
|
|
160
192
|
}
|
|
161
193
|
}
|
|
162
194
|
```
|
|
163
195
|
|
|
196
|
+
CSSが空になる場合は、CSSファイル側に`.c--myCard {}`を書かず、何のパーツかを示す名前として`c--myCard`だけ残して構いません。
|
|
164
197
|
|
|
165
198
|
## カスタムCSS を追加する場合
|
|
166
199
|
|
|
167
200
|
独自のスタイルを追加する場合は、対象に合った Lism の CSS Layer 内に記述してください。
|
|
168
201
|
|
|
169
202
|
```css
|
|
170
|
-
/*
|
|
171
|
-
@layer lism-
|
|
172
|
-
.c--
|
|
173
|
-
border: 1px solid var(--brand);
|
|
174
|
-
border-radius: var(--bdrs--20);
|
|
175
|
-
padding: var(--s30);
|
|
176
|
-
}
|
|
203
|
+
/* ユーザーの独自CSS(c--) → lism-custom に追加 */
|
|
204
|
+
@layer lism-custom {
|
|
205
|
+
.c--myCard[data-is-active]::before { border-color: var(--brand); }
|
|
177
206
|
}
|
|
178
207
|
|
|
208
|
+
/* b-- 基礎部品のベーススタイル → lism-block に追加 */
|
|
209
|
+
@layer lism-block { .b--badge { padding: var(--s5) var(--s10); } }
|
|
210
|
+
|
|
179
211
|
/* ベーススタイルの拡張 → lism-base に追加 */
|
|
180
212
|
@layer lism-base {
|
|
181
|
-
.set--
|
|
182
|
-
--brand: #c00;
|
|
183
|
-
}
|
|
213
|
+
.set--myTheme { --brand: #c00; }
|
|
184
214
|
}
|
|
185
215
|
```
|
|
186
216
|
|
|
187
|
-
カスタムCSS内でも、できる限り Lism のCSS
|
|
217
|
+
カスタムCSS内でも、できる限り Lism のCSS変数(トークン)を使ってください。また、`c--` のクラスでは、`padding`/`border-radius`/`font-size`/`color`などProperty Class/Propsへ移せる宣言を、CSSに書く前にマークアップ側へ移します(NG→OK例は[antipatterns.md](./antipatterns.md#property-class-で書けるのに-css-で書く)を参照)。ただし`b--`のベーススタイルは対象外で、トークンを使って`@layer lism-block`で管理します。
|
|
188
218
|
|
|
189
|
-
|
|
190
|
-
/* NG */
|
|
191
|
-
.c--my-card { padding: 24px; border-radius: 8px; }
|
|
192
|
-
|
|
193
|
-
/* OK */
|
|
194
|
-
.c--my-card { padding: var(--s30); border-radius: var(--bdrs--20); }
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
ただし、明確にその数値に意図がある場合は、生のCSS値を使用しても構いません。
|
|
219
|
+
明確にその数値に意図があり、トークン化・丸め・Property Class化ができない場合だけ、生のCSS値を例外として使用できます。その場合は実装プランに理由を残します。
|
|
198
220
|
|
|
199
221
|
**レイヤー外に書く場合:**
|
|
200
222
|
`@layer` の外(レイヤーなし)でカスタムCSSを書くのは、**Property Class(`-{prop}:{value}`)を拡張する場合のみ**としてください。それ以外のカスタムスタイルは必ずいずれかの `@layer` 内に記述します。
|
|
201
223
|
|
|
202
224
|
```css
|
|
203
|
-
/*
|
|
225
|
+
/* Property Class の拡張のみレイヤー外に書ける */
|
|
204
226
|
.-myProp\:myValue { ... }
|
|
205
|
-
|
|
206
|
-
/* NG: コンポーネントやユーティリティをレイヤー外に書かない */
|
|
207
|
-
.c--my-card { ... }
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
### 独自プレフィックス
|
|
212
|
-
|
|
213
|
-
Lism CSS の既存プレフィックス(`set--` / `is--` / `has--` / `l--` / `a--` / `c--` / `u--` / `-`)のどれにも該当しないクラスは、独自プレフィックスを付けても、プレフィックスなしで命名しても構いません。
|
|
214
|
-
|
|
215
|
-
代表的な例:
|
|
216
|
-
|
|
217
|
-
| 分類 | 形式 | 例 |
|
|
218
|
-
|---|---|---|
|
|
219
|
-
| ゾーニング(サイトの大まかな領域) | `z--{zoneName}` または `{zoneName}` | `z--header`, `z--main`, `z--sidebar`, `z--footer` |
|
|
220
|
-
| ページ分類 | `p--{type}-{id\|slug}` または `{slug}Page` | `p--front`, `p--page--{slug}` |
|
|
221
|
-
|
|
222
|
-
これらは、特に理由がなければ `@layer lism-custom` に配置することを推奨します。
|
|
223
|
-
|
|
224
|
-
```css
|
|
225
|
-
@layer lism-custom {
|
|
226
|
-
.z--header { /* ... */ }
|
|
227
|
-
.p--front { /* ... */ }
|
|
228
|
-
}
|
|
229
227
|
```
|
|
230
228
|
|
|
231
|
-
|
|
232
229
|
## CSS の配置場所
|
|
233
230
|
|
|
234
231
|
### グローバル CSS(サイト全体)
|
|
@@ -254,8 +251,8 @@ Lism のトークン変数のカスタマイズやベーススタイルの上書
|
|
|
254
251
|
- `.astro` ファイル: `import` するか、コンポーネントファイル内の `<style>` タグに記述
|
|
255
252
|
|
|
256
253
|
```css
|
|
257
|
-
/*
|
|
258
|
-
@layer lism-
|
|
254
|
+
/* 独自クラスの CSS は lism-custom 内に定義する(b-- のベーススタイルだけ lism-block) */
|
|
255
|
+
@layer lism-custom {
|
|
259
256
|
.c--yourComponent {
|
|
260
257
|
...
|
|
261
258
|
}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
## `@layer` をオフにする
|
|
23
23
|
|
|
24
24
|
`lism-css/main.css` の代わりに `lism-css/main_no_layer.css` を読み込むだけで、`@layer` を使わない CSS に切り替えられます。
|
|
25
|
+
なお、no-layer版ではレイヤーによる優先度管理(`b--`よりProperty Classが必ず強い等の保証)が効かず、読み込み順・詳細度に依存します。
|
|
25
26
|
|
|
26
27
|
```js
|
|
27
28
|
// 通常
|
|
@@ -44,7 +45,7 @@ import 'lism-css/main_no_layer.css';
|
|
|
44
45
|
### 上書き可能な変数
|
|
45
46
|
|
|
46
47
|
| 変数 | 用途 | デフォルト |
|
|
47
|
-
|
|
48
|
+
| --- | --- | --- |
|
|
48
49
|
| `$breakpoints` | ブレイクポイント数値の定義(`0` は無効=クエリを出力しない) | `('xs': 0, 'sm': '480px', 'md': '800px', 'lg': '1120px', 'xl': 0)` |
|
|
49
50
|
| `$is_container_query` | コンテナクエリで出力するか(`1` = container query, `0` = media query) | `1` |
|
|
50
51
|
| `$default_important` | Property Class にデフォルトで `!important` を付与するか | `0` |
|
|
@@ -102,7 +103,9 @@ SCSS を直接読み込む構成では、コンパイル時に `lism-css` 本体
|
|
|
102
103
|
|
|
103
104
|
## `lism.config.js` でのカスタマイズ
|
|
104
105
|
|
|
105
|
-
プロジェクトのルート直下に `lism.config.js`(または `lism.config.mjs`)を置くことで、**コンポーネントの挙動**(受け付ける props の値や、出力されるクラス名)をカスタマイズできます。
|
|
106
|
+
プロジェクトのルート直下に `lism.config.js`(または `lism.config.ts` / `lism.config.mjs`)を置くことで、**コンポーネントの挙動**(受け付ける props の値や、出力されるクラス名)をカスタマイズできます。
|
|
107
|
+
|
|
108
|
+
設定ファイルの型チェック・補完には `lism-css/config-types` の `LismConfig` 型を使います。`.ts` は `export default { ... } satisfies LismConfig`、`.js` は `/** @type {import('lism-css/config-types').LismConfig} */` を付けると、キー名の typo や値の形をエディタが検出します(コンポーネント側の prop/trait を解禁する生成物 `lism-env.d.ts` とは別物)。
|
|
106
109
|
|
|
107
110
|
### Vite / Astro プラグインの登録(推奨セットアップ)
|
|
108
111
|
|
|
@@ -138,7 +141,7 @@ export default defineConfig({
|
|
|
138
141
|
- **動的CSSビルド**: `import 'lism-css/main.css'` 等を捕捉し、`lism.config.js` を反映済みの CSS をその場で生成する(props / tokens を追加すると CSS に自動反映される)
|
|
139
142
|
- **型の自動生成**: 有効化したブレイクポイント・追加した props / traits を反映した `lism-env.d.ts` を起動時に自動生成する
|
|
140
143
|
|
|
141
|
-
`lism.config.
|
|
144
|
+
設定ファイルはプロジェクトルートから `lism.config.ts` → `lism.config.mjs` → `lism.config.js` の順で自動検出します。別の場所に置く場合は `configPath` で指定できます。
|
|
142
145
|
|
|
143
146
|
```js
|
|
144
147
|
// Vite
|
|
@@ -182,7 +185,7 @@ export default {
|
|
|
182
185
|
|
|
183
186
|
統合プラグイン(型自動生成が有効)を使っている場合、有効化したブレイクポイントを反映した `lism-env.d.ts` がプロジェクト直下に**自動生成**されます。型補完も有効化したブレイクポイントのキーを自動で提示するため、`BreakpointRegistry` をプロジェクト側の `.d.ts` で手書き拡張する必要はありません。`lism-env.d.ts` は git にコミットしてください(`astro check` 等の型チェックがこのファイルを拠り所にします)。
|
|
184
187
|
|
|
185
|
-
> SCSS を直接利用する構成では、`@use 'lism-css/scss/setting' with ($breakpoints: ...)`
|
|
188
|
+
> SCSS を直接利用する構成では、`@use 'lism-css/scss/setting' with ($breakpoints: ...)` で有効化する方法も利用できます([SCSS でのカスタマイズ](#scss-でのカスタマイズ) を参照)。
|
|
186
189
|
|
|
187
190
|
### フォーマット
|
|
188
191
|
|
|
@@ -240,7 +243,7 @@ export default {
|
|
|
240
243
|
これによってコンポーネント側で次のような挙動が追加されます:
|
|
241
244
|
|
|
242
245
|
| 入力 | 出力されるクラス |
|
|
243
|
-
|
|
246
|
+
| --- | --- |
|
|
244
247
|
| `ta="justify"` | `-ta:justify` |
|
|
245
248
|
| `p="box"` | `-p:box` |
|
|
246
249
|
| `filter="blur"` | `-filter:blur` |
|
|
@@ -254,7 +257,7 @@ export default {
|
|
|
254
257
|
|
|
255
258
|
### 追加した prop / trait の型解禁
|
|
256
259
|
|
|
257
|
-
統合プラグイン(型自動生成が有効)を使っている場合、`lism.config.js` で追加した **prop / trait も `lism-env.d.ts` 経由で型側に自動解禁**されます(`CustomPropRegistry` / `CustomTraitRegistry` の拡張として出力)。そのため上記の `<Box filter="blur" ... isHoge>` のような新規 prop / trait も、エディタや `astro check`
|
|
260
|
+
統合プラグイン(型自動生成が有効)を使っている場合、`lism.config.js` で追加した **prop / trait も `lism-env.d.ts` 経由で型側に自動解禁**されます(`CustomPropRegistry` / `CustomTraitRegistry` の拡張として出力)。そのため上記の `<Box filter="blur" ... isHoge>` のような新規 prop / trait も、エディタや `astro check` で型エラーになりません。手書きの型拡張は不要です。
|
|
258
261
|
|
|
259
262
|
なお、既存 prop への値追加(`ta="justify"` 等)はもともと任意の文字列を受け付けるため、型エラーにはなりません(ただし補完候補には出ません)。
|
|
260
263
|
|
|
@@ -314,7 +317,7 @@ npx lism-css build --full # full.css / full_no_layer.css も生成
|
|
|
314
317
|
```
|
|
315
318
|
|
|
316
319
|
> **注意**:
|
|
317
|
-
> - `tokens` に値を書けば、`-lts:2xl` の **ユーティリティクラス**と、参照先の CSS 変数(`:root { --lts--2xl: .5em }` のような **値そのもの**)の両方が CLI ビルドでも出力されます。値が `'-'` のキーはカタログ登録のみで `:root`
|
|
320
|
+
> - `tokens` に値を書けば、`-lts:2xl` の **ユーティリティクラス**と、参照先の CSS 変数(`:root { --lts--2xl: .5em }` のような **値そのもの**)の両方が CLI ビルドでも出力されます。値が `'-'` のキーはカタログ登録のみで `:root` 宣言を出力しません(`lh` のように CSS 変数を持たないものや、実値を手書きSCSS側へ置くもの)。
|
|
318
321
|
> - `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
|
|
319
322
|
> - `lism-css` パッケージ自体を上書きする処理のため、**パッケージ更新ごとに再実行**が必要です。
|
|
320
323
|
|