@lism-css/mcp 0.13.0 → 0.14.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.
@@ -22,7 +22,7 @@
22
22
  "title": "CSS設計",
23
23
  "description": "Lism CSS の階層構造やクラス設計の方針など、CSS設計の全体像について解説します。",
24
24
  "category": "guide",
25
- "headings": ["Lism CSSの階層構造", "デザイントークン", "CSSのクラス設計", "命名規則について", "単語の省略について"],
25
+ "headings": ["Lism CSSの階層構造", "デザイントークン", "CSSのクラス設計"],
26
26
  "keywords": [
27
27
  "CSS設計",
28
28
  "methodology",
@@ -41,6 +41,34 @@
41
41
  ],
42
42
  "snippet": "CSSの階層構造を明確に定義。@layer lism-base → lism-primitive → lism-component → lism-custom → lism-utility の順。lism-primitive は trait/layout/atomic のサブレイヤーを持ち、lism-component は BEM 構造の c-- 用、lism-custom はユーザー独自プレフィックスのクラス用レイヤー。Primitive Class (.l--name, .a--name, .is--name 等)、Component Class (.c--name)、Property Class (.-prop:value)、Set Class (.set--name) の命名規則を説明。"
43
43
  },
44
+ {
45
+ "sourcePath": "naming.mdx",
46
+ "title": "命名規則",
47
+ "description": "Lism CSS における Property Class の Prop 名・値名の省略ルールや、CSS変数の命名規則について解説します。",
48
+ "category": "guide",
49
+ "headings": ["CSS変数の命名規則", "クラスの命名規則", "`{prop}` の省略ルール", "`{value}` の省略ルール"],
50
+ "keywords": [
51
+ "命名規則",
52
+ "naming",
53
+ "省略",
54
+ "省略形",
55
+ "shorthand",
56
+ "Emmet",
57
+ "prop",
58
+ "value",
59
+ "CSS変数",
60
+ "カスタムプロパティ",
61
+ "Property Class",
62
+ "prefix",
63
+ "camelCase",
64
+ "token",
65
+ "breakpoint",
66
+ "方向指定",
67
+ "max-",
68
+ "min-"
69
+ ],
70
+ "snippet": "Lism CSS の命名規則をまとめたページ。CSS変数はトークン変数 `--{prop}--{token}`、Property Class 用変数 `--{prop}` / `--{prop}_{bp}`、状態管理用の内部変数 `--_{varName}` などの形式で統一。クラスはプレフィックス(`c--`, `a--`, `l--`, `is--`, `set--`, `u--`)で分類を示し、続く名称は camelCase。Prop 名は Emmet を参考に 1 文字プロパティ(p, m, g, c, f, w, h, d, o, v, i, t, b, l, r, z)やグループ略称 + サブプロパティ形式(fz, bgc, gtc 等)で省略。方向サフィックスは `-t` / `-b` / `-l` / `-r` / `-x` / `-y` / `-s` / `-e` を使用し、p/m のみ最初のハイフンを省略(pt, px, my 等)。値は基本的に CSS の実値をそのまま使用し、トークン値を使う場合は `--{prop}--{value}` の `{value}` 部分を採用。"
71
+ },
44
72
  {
45
73
  "sourcePath": "tokens.mdx",
46
74
  "title": "デザイントークン",
@@ -156,7 +184,15 @@
156
184
  "overflow",
157
185
  "opacity",
158
186
  "flex",
159
- "grid"
187
+ "grid",
188
+ "wm",
189
+ "writing-mode",
190
+ "iso",
191
+ "isolation",
192
+ "float",
193
+ "clear",
194
+ "whs",
195
+ "white-space"
160
196
  ],
161
197
  "snippet": "単一のCSSプロパティに対応するユーティリティクラス。-{prop}:{value} の形式(例: -g:5, -p:20, -fz:l)。HTMLでは class=\"-g:5\" のように使用。レスポンシブ対応の -_{bp} 形式もサポート。"
162
198
  },
@@ -202,8 +238,8 @@
202
238
  "description": "ベーススタイルの上書きやトークン再定義に使用する set-- 形式のユーティリティクラスについて解説します。",
203
239
  "category": "guide",
204
240
  "headings": [],
205
- "keywords": ["set", "set class", "set--plain", "set--shadow", "set--transition", "set--hov", "set--bp", "set--innerRs", "set--gutter"],
206
- "snippet": "ベーススタイルの上書きやトークンの再定義、機能的なプロパティを初期セットするためのクラス (.set--{style})。set--plain, set--shadow, set--transition, set--hov, set--bp, set--innerRs, set--gutter を解説。"
241
+ "keywords": ["set", "set class", "set--plain", "set--shadow", "set--transition", "set--hov", "set--innerRs", "set--gutter"],
242
+ "snippet": "ベーススタイルの上書きやトークンの再定義、機能的なプロパティを初期セットするためのクラス (.set--{style})。set--plain, set--shadow, set--transition, set--hov, set--innerRs, set--gutter を解説。"
207
243
  },
208
244
  {
209
245
  "sourcePath": "primitives.mdx",
@@ -211,8 +247,8 @@
211
247
  "description": "Lism CSS のプリミティブクラス(is--, l--, a--)の分類と使い方について解説します。",
212
248
  "category": "guide",
213
249
  "headings": ["Trait Primitives", "Layout Primitives", "Atomic Primitives"],
214
- "keywords": ["primitive", "プリミティブ", "trait", "layout", "レイアウト", "class", "BEM", "is--vertical"],
215
- "snippet": "レイアウトを組み立てる積み木として Primitive クラスを定義。.l--{name}, .a--{name}, .is--{name} 等の命名規則。Trait Primitives (is--container, is--wrapper, is--layer, is--boxLink, is--vertical) も解説。BEM 構造を持つ Component Class (.c--{name}) は別レイヤー(lism-component)に配置される。"
250
+ "keywords": ["primitive", "プリミティブ", "trait", "layout", "レイアウト", "class", "BEM"],
251
+ "snippet": "レイアウトを組み立てる積み木として Primitive クラスを定義。.l--{name}, .a--{name}, .is--{name} 等の命名規則。Trait Primitives (is--container, is--wrapper, is--layer, is--boxLink) も解説。BEM 構造を持つ Component Class (.c--{name}) は別レイヤー(lism-component)に配置される。"
216
252
  },
217
253
  {
218
254
  "sourcePath": "base-styles.mdx",
@@ -229,7 +265,10 @@
229
265
  "description": "Lism CSS の各バージョンにおける変更履歴をまとめています。",
230
266
  "category": "guide",
231
267
  "headings": [
232
- "v.0.13.0 (unreleased)",
268
+ "`@lism-css/ui` v.0.13.1 (2026.04.15)",
269
+ "v.0.13.1 (2026.04.15)",
270
+ "`@lism-css/ui` v.0.13.0 (2026.04.14)",
271
+ "v.0.13.0 (2026.04.14)",
233
272
  "`@lism-css/ui` v.0.12.0 (2026.04.10)",
234
273
  "`@lism-css/ui` v.0.11.0 (2026.04.05)",
235
274
  "v.0.12.0 (2026.04.10)",
@@ -271,8 +310,8 @@
271
310
  },
272
311
  {
273
312
  "sourcePath": "property-class/max-sz.mdx",
274
- "title": "サイズ制御クラス -max-sz:",
275
- "description": "コンテンツの最大幅を制御する -max-sz ユーティリティクラスの使い方について解説します。",
313
+ "title": "-max-sz",
314
+ "description": "コンテンツの最大幅を制御する -max-sz プロパティクラスの使い方について解説します。",
276
315
  "category": "property-class",
277
316
  "headings": ["-max-sz:full, -max-sz:container", "DEMOページ"],
278
317
  "keywords": ["max-sz", "max-inline-size", "最大サイズ", "幅", "full", "container"],
@@ -284,8 +323,38 @@
284
323
  "description": "LismのCSS設計に対応した様々なプロパティを受け取ることができる汎用的なコンポーネントです。",
285
324
  "category": "core-components",
286
325
  "headings": ["Import", "Lism Props"],
287
- "keywords": ["Lism", "core", "コア", "基盤", "コンポーネント", "lismClass", "variant", "layout", "as", "exProps"],
288
- "snippet": "全コンポーネントの基盤。Props システムによる CSS クラス・スタイルの自動変換を提供。as prop で出力要素や外部コンポーネントを指定可能。レスポンシブ指定は配列またはオブジェクト形式で対応。"
326
+ "keywords": ["Lism", "core", "コア", "基盤", "コンポーネント", "className", "layout", "atomic", "as", "exProps"],
327
+ "snippet": "全コンポーネントの基盤。Props システムによる CSS クラス・スタイルの自動変換を提供。className で c-- クラスや任意クラスを指定、layout で l-- クラス、atomic で a-- クラス(divider / spacer / decorator)を指定可能。as prop で出力要素や外部コンポーネントを指定可能。レスポンシブ指定は配列またはオブジェクト形式で対応。"
328
+ },
329
+ {
330
+ "sourcePath": "core-components/lism-props.mdx",
331
+ "title": "Lism Props",
332
+ "description": "<Lism> 系コンポーネントが受け取る、Lism CSS 専用プロパティの一覧と使い方です。",
333
+ "category": "core-components",
334
+ "headings": ["as", "className", "layout / atomic", "set / util", "Trait Props", "CSS Props", "exProps", "クラスの出力順"],
335
+ "keywords": [
336
+ "Lism Props",
337
+ "props",
338
+ "プロパティ",
339
+ "as",
340
+ "className",
341
+ "layout",
342
+ "atomic",
343
+ "set",
344
+ "util",
345
+ "exProps",
346
+ "CSS Props",
347
+ "Trait Props",
348
+ "isWrapper",
349
+ "isLayer",
350
+ "isBoxLink",
351
+ "isContainer",
352
+ "responsive",
353
+ "レスポンシブ",
354
+ "shorthand",
355
+ "省略記法"
356
+ ],
357
+ "snippet": "<Lism>系コンポーネントが受け取るLism CSS専用プロパティの解説。as で出力要素や外部コンポーネントを指定、className で c-- クラス(Component Class)や任意クラスを直接指定、layout / atomic で l-- / a-- クラス、set / util で set-- / u-- クラスを指定('-' prefix で除外可)。isWrapper, isLayer, isBoxLink, isContainer などの Trait Props も提供。CSS Props (p, fz, c 等) は値の種類に応じて class / CSS変数 / style属性を自動で切り替え、配列・オブジェクト形式でレスポンシブ指定も可能。exProps で外部コンポーネント向け props を明示的に渡せる。生成される class 属性は className → a-- → l-- → is-- → set-- → u-- → - の順で出力される。"
289
358
  },
290
359
  {
291
360
  "sourcePath": "core-components/Text.mdx",
@@ -350,15 +419,6 @@
350
419
  "keywords": ["DummyText", "ダミー", "テスト", "プレビュー", "プレースホルダー", "lorem ipsum", "placeholder"],
351
420
  "snippet": "ダミーテキストを生成するコンポーネント。複数の言語とテキスト長に対応。@lism-css/uiパッケージから提供。"
352
421
  },
353
- {
354
- "sourcePath": "ui/DummyImage.mdx",
355
- "title": "DummyImage",
356
- "description": "プレースホルダー用のダミー画像を出力するコンポーネントです。",
357
- "category": "ui",
358
- "headings": ["Import", "使用例"],
359
- "keywords": ["DummyImage", "ダミー画像", "プレースホルダー", "テスト画像"],
360
- "snippet": "cdn.lism-css.comからダミーのプレースホルダー画像を出力するコンポーネント。@lism-css/uiパッケージから提供。"
361
- },
362
422
  {
363
423
  "sourcePath": "primitives/l--box.mdx",
364
424
  "title": "Box / l--box",
@@ -996,15 +1056,6 @@
996
1056
  "keywords": ["set--gutter", "ガター", "左右余白", "サイド余白", "padding", "--gutter-size"],
997
1057
  "snippet": "サイト全体で統一した左右余白を確保するクラス。--gutter-size変数(初期値 var(--s30))で余白量を制御。"
998
1058
  },
999
- {
1000
- "sourcePath": "set-class.mdx",
1001
- "title": "set--bp",
1002
- "description": "特定のブレイクポイント以上でのみスタイルを適用するSetクラス。",
1003
- "category": "guide",
1004
- "headings": ["set--bp"],
1005
- "keywords": ["set--bp", "ブレイクポイント", "メディアクエリ", "レスポンシブ", "--_is_sm", "条件付きスタイル"],
1006
- "snippet": "特定のブレイクポイント以上でのみスタイルを適用するクラス。var(--_is_sm) 等の変数を使い、レスポンシブ対応していないプロパティを条件付きで変化させるハック的手段。"
1007
- },
1008
1059
  {
1009
1060
  "sourcePath": "features.mdx",
1010
1061
  "title": "Lism CSSの特徴",
@@ -1026,7 +1077,7 @@
1026
1077
  "title": "MCP Server",
1027
1078
  "description": "AIコーディングツールが Lism CSS のコンポーネント・Props・トークン情報をリアルタイムに参照できる MCP サーバーのセットアップ方法。",
1028
1079
  "category": "guide",
1029
- "headings": ["できること", "セットアップ"],
1080
+ "headings": ["セットアップ", "できること"],
1030
1081
  "keywords": ["MCP", "AI", "Claude", "Cursor", "セットアップ", "コーディング支援", "Model Context Protocol"],
1031
1082
  "snippet": "@lism-css/mcp は Lism CSS の情報をAIコーディングツールに提供するMCPサーバー。コンポーネント情報の参照・Props↔CSSマッピング・デザイントークン参照・ドキュメント検索・CSS→Lism変換に対応。Claude Code, Cursor 等から利用可能。"
1032
1083
  },
@@ -1038,14 +1089,5 @@
1038
1089
  "headings": ["セットアップ", "アップデート", "ファイル構成"],
1039
1090
  "keywords": ["skills", "SKILL.md", "AIエージェント", "設計ルール", "Claude", "コーディング支援"],
1040
1091
  "snippet": "プロジェクトにSKILL.mdファイルを配置することでAIエージェントにLism CSSの設計ルール・Props・トークン・命名規則を伝えられる。npxコマンドで導入・アップデート可能。"
1041
- },
1042
- {
1043
- "sourcePath": "primitives/is--vertical.mdx",
1044
- "title": "is--vertical",
1045
- "description": "is--vertical は、要素に縦書きモード(writing-mode)を適用するクラスです。",
1046
- "category": "primitives",
1047
- "headings": ["CSS", "Usage"],
1048
- "keywords": ["is--vertical", "縦書き", "writing-mode", "vertical-rl", "vertical-lr", "縦方向", "テキスト方向"],
1049
- "snippet": "要素に縦書きモード(writing-mode)を適用するクラス。--vertical-modeトークンで値を管理。is--vertical@sm / is--vertical@md でブレイクポイント以上のみ縦書きにするバリエーションも提供。set--bp との併用が必要。"
1050
1092
  }
1051
1093
  ]
@@ -9,7 +9,7 @@ description: "Lism CSS の実装ガイド。HTML・CSS・SCSSの編集、UIや
9
9
 
10
10
  調和と統一感を生み出すデザイントークン設計、`@layer`で管理されるプリミティブ設計、CSS変数を活かした柔軟でレスポンシブなユーティリティ設計が特徴です。
11
11
 
12
- > **バージョン情報:** このガイドは `lism-css@0.13.0` / `@lism-css/ui@0.12.0` 時点の情報に基づいています。プロジェクトで使用中のバージョンを確認し、このガイドのバージョンと異なる場合はユーザーに通知してください。
12
+ > **バージョン情報:** このガイドは `lism-css@0.14.0` / `@lism-css/ui@0.14.0` 時点の情報に基づいています。プロジェクトで使用中のバージョンを確認し、このガイドのバージョンと異なる場合はユーザーに通知してください。
13
13
 
14
14
  公式ドキュメント: https://lism-css.com/docs/overview/
15
15
 
@@ -19,7 +19,7 @@ description: "Lism CSS の実装ガイド。HTML・CSS・SCSSの編集、UIや
19
19
  ### CDNでCSSファイルのみ読み込む場合
20
20
 
21
21
  ```html
22
- <link href="https://cdn.jsdelivr.net/npm/lism-css@0.13.0/dist/css/main.css" rel="stylesheet" />
22
+ <link href="https://cdn.jsdelivr.net/npm/lism-css@0.14.0/dist/css/main.css" rel="stylesheet" />
23
23
  ```
24
24
 
25
25
  ### npm パッケージ
@@ -100,10 +100,11 @@ import { Accordion, Tabs, Button } from '@lism-css/ui/astro';
100
100
  このスキルには以下の詳細ファイルが含まれます。必要に応じて参照してください。
101
101
 
102
102
  - [tokens.md](./tokens.md) — Lismで利用できるデザイントークンとCSS変数。(余白・フォントサイズ・タイポグラフィ・角丸・影・カラー・不透明度)
103
- - [css-rules.md](./css-rules.md) — CSS設計の概要。(Layer構造・クラスの分類・命名規則・プレフィックスのつけ方・カスタムCSSの追加ルール)
103
+ - [css-rules.md](./css-rules.md) — CSS設計の概要。(Layer構造・クラスの分類・プレフィックスのつけ方・Component クラス(`c--`)・カスタムCSSの追加ルール)
104
+ - [naming.md](./naming.md) — 命名規則の詳細。(CSS変数名・クラス名・Property Class の `{prop}` / `{value}` の省略ルール)
104
105
  - [base-styles.md](./base-styles.md) — HTML要素のベーススタイリング。(Reset CSSやHTML要素の基本スタイルをカスタマイズできるCSS変数)
105
106
  - [set-class.md](./set-class.md) — ベーススタイル・変数セットに使用する`set--` クラスの一覧と用途。
106
- - [primitive-class.md](./primitive-class.md) — レイアウトを組み立てる Primitive クラス(`is--`/`l--`/`a--`)と Component クラス(`c--`)の一覧と用途。
107
+ - [primitive-class.md](./primitive-class.md) — レイアウトを組み立てる Primitive クラス(`is--`/`l--`/`a--`)の一覧と用途。
107
108
  - [utility-class.md](./utility-class.md) — 具体的な用途・装飾・機能を持つユーティリティクラス(`u--` クラス)の一覧と用途。
108
109
  - [property-class.md](./property-class.md) — 単一のCSSプロパティに対応するProperty Class(`-{prop}:{value}`形式のクラス)の一覧・記法。
109
110
  - [prop-responsive.md](./prop-responsive.md) — レスポンシブ対応(ブレークポイント・コンテナクエリ)の書き方・仕様。
@@ -138,7 +139,6 @@ import { Accordion, Tabs, Button } from '@lism-css/ui/astro';
138
139
  - `is--wrapper` / `<Wrapper>`: [primitives/is--wrapper.md](./primitives/is--wrapper.md)
139
140
  - `is--layer` / `<Layer>`: [primitives/is--layer.md](./primitives/is--layer.md)
140
141
  - `is--boxLink` / `<BoxLink>`: [primitives/is--boxLink.md](./primitives/is--boxLink.md)
141
- - `is--vertical`: [primitives/is--vertical.md](./primitives/is--vertical.md)
142
142
 
143
143
  **Atomic Primitives**
144
144
 
@@ -20,7 +20,7 @@ import { Lism, Box, Flex, Stack, Grid, Text, Media } from 'lism-css/astro';
20
20
  - [Layout Primitives](#layout-primitives)
21
21
  - [`getLismProps()`](#getlismprops--外部コンポーネントとの連携)
22
22
 
23
- [詳細](https://lism-css.com/docs/core-components/Lism/)
23
+ [詳細](https://lism-css.com/docs/core-components/lism-props/)
24
24
 
25
25
  ---
26
26
 
@@ -41,7 +41,7 @@ import { Lism, Box, Flex, Stack, Grid, Text, Media } from 'lism-css/astro';
41
41
 
42
42
  ソース: [props.ts](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/config/defaults/props.ts)
43
43
 
44
- `<Lism>` で受け取れる Lism CSS 専用プロパティを **Lism Props** と呼びます。
44
+ `<Lism>`系コンポーネントで受け取れる Lism CSS 専用プロパティを **Lism Props** と呼びます。
45
45
 
46
46
 
47
47
  ### 共通 Props
@@ -51,9 +51,10 @@ import { Lism, Box, Flex, Stack, Grid, Text, Media } from 'lism-css/astro';
51
51
  | Prop | 説明 | 例 |
52
52
  |------|------|-----|
53
53
  | `as` | レンダリングする HTML 要素または外部コンポーネントを指定(デフォルト: `"div"`) | `as="section"`, `as={Image}` |
54
- | `lismClass` | コンポーネントの主要クラス名を指定。(`c--{lismClass}`) | `lismClass="c--myComponent"` |
55
- | `variant` | `lismClass` に対するバリエーションクラスを指定。(`c--{lismClass}--{variant}`) | `variant="secondary"` |
56
- | `layout` | レイアウトプリミティブ(`l--{layout}`)を指定。 | `layout="flow"` |
54
+ | `lismClass` | コンポーネント基底となる `c--*` クラスを指定。`variant` による BEM 展開の対象 | `lismClass="c--myComponent"` |
55
+ | `variant` | `lismClass` 先頭クラスに対する BEM Modifier を付与(`c--` 専用。`a--` / `l--` には展開されない) | `variant="secondary"` |
56
+ | `layout` | レイアウトプリミティブ(`l--{layout}`)を指定 | `layout="flow"` |
57
+ | `atomic` | アトミックプリミティブ(`a--{atomic}`)を指定。`'divider'` / `'spacer'` / `'decorator'` が利用可能(`'icon'` は内部用) | `atomic="divider"` |
57
58
  | `set` | セットクラス(`set--{value}`)を指定。スペース区切りで複数指定可。値の先頭に `-` を付けると除外 | `set="gutter"`, `set="transition plain"`, `set="-plain"` |
58
59
  | `util` | ユーティリティクラス(`u--{value}`)を指定。`set` と同様に複数指定・`-` prefix 除外が可能 | `util="cbox"`, `util="cbox trim"`, `util="-trim"` |
59
60
  | `exProps` | Lism Propsの処理をスキップして外部コンポーネントに直接渡すpropsオブジェクト | `exProps={{ size: '1em' }}` |
@@ -113,7 +114,7 @@ import { Lism, Box, Flex, Stack, Grid, Text, Media } from 'lism-css/astro';
113
114
  |------|------|-----|
114
115
  | トークン値・プリセット値 | `-{prop}:{value}` クラスのみ | `fz='l'` → `class="-fz:l"` |
115
116
  | `true` または `"-"` | `-{prop}` クラスのみ(変数なし) | `bd` / `bd='-'` → `class="-bd"` |
116
- | `:` で始まる値 | 強制的にユーティリティクラス化 | `p=':hoge'` → `class="-p:hoge"` |
117
+ | `:` で始まる値 | 強制的にクラス化 | `p=':hoge'` → `class="-p:hoge"` |
117
118
  | その他の値(レスポンシブ対応プロパティ) | `-{prop}` + `--{prop}` | `fz='20px'` → `class="-fz"` + `style="--fz:20px"` |
118
119
  | その他の値(レスポンシブ非対応プロパティ) | `style` 属性に直接出力 | `o='0.7'` → `style="opacity:0.7"` |
119
120
  | その他の値(変数プロパティ) | `--{prop}` | `bdw='2px'` → `style="--bdw:2px"` (`border-width`としては出力されない) |
@@ -189,7 +190,6 @@ Trait Primitives クラス(`is--*`)を出力するためのプロパティ
189
190
  | `isContainer` | `is--container` |
190
191
  | `isSide` | `is--side` |
191
192
  | `isSkipFlow` | `is--skipFlow` |
192
- | `isVertical` | `is--vertical` |
193
193
 
194
194
  ```jsx
195
195
  // Trait Props の使用例
@@ -236,6 +236,7 @@ Trait Primitives クラス(`is--*`)を出力するためのプロパティ
236
236
  | `<Divider>` | `a--divider` | 区切り線 |
237
237
  | `<Decorator>` | `a--decorator` | 装飾要素(SCSS定義なし、クラス名のみ出力) |
238
238
 
239
+
239
240
  各プリミティブの詳細は SKILL.md の「プリミティブ単位の詳細リファレンス」、または `primitives/` 配下の各ファイルを参照。
240
241
 
241
242
 
@@ -25,7 +25,6 @@ import { Accordion, Tabs, Modal, Button } from '@lism-css/ui/astro';
25
25
  - [Tabs](#tabs)
26
26
  - [ShapeDivider](#shapedivider)
27
27
  - [DummyText](#dummytext)
28
- - [DummyImage](#dummyimage)
29
28
  - [CLI でプロジェクトにコピーして使う](#cli-でプロジェクトにコピーして使う)
30
29
 
31
30
  [詳細](https://lism-css.com/ui/)
@@ -313,17 +312,6 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
313
312
  ```
314
313
 
315
314
 
316
- ## DummyImage
317
-
318
- ソース: [DummyImage/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/DummyImage)
319
-
320
- ダミーのプレースホルダー画像を出力するコンポーネント。`cdn.lism-css.com` からダミー画像を取得。
321
-
322
- ```jsx
323
- <DummyImage />
324
- ```
325
-
326
-
327
315
  ## CLI でプロジェクトにコピーして使う
328
316
 
329
317
  `@lism-css/ui` の UI コンポーネントは、CLI コマンドで自分のプロジェクトにソースコードをコピーして使うこともできます。コピーしたファイルは自由にカスタマイズ可能です。
@@ -3,12 +3,15 @@
3
3
  ## TOC
4
4
 
5
5
  - [CSS Layer 構造](#css-layer-構造)
6
- - [命名規則とプレフィックス](#命名規則とプレフィックス)
6
+ - [プレフィックスとクラス分類](#プレフィックスとクラス分類)
7
+ - [Component Class(`c--`)](#component-classc--)
7
8
  - [カスタムCSS を追加する場合](#カスタムcss-を追加する場合)
8
9
  - [CSS の配置場所](#css-の配置場所)
9
10
 
10
11
  [詳細](https://lism-css.com/docs/css-methodology/)
11
12
 
13
+ > **命名規則の詳細**: CSS変数名・クラス名・Property Class の `{prop}` / `{value}` の省略ルールについては [naming.md](./naming.md) を参照してください。
14
+
12
15
  ---
13
16
 
14
17
  ## CSS Layer 構造
@@ -31,7 +34,7 @@ Settings(トークン定義)
31
34
  ```
32
35
 
33
36
 
34
- ## 命名規則とプレフィックス
37
+ ## プレフィックスとクラス分類
35
38
 
36
39
  [詳細](https://lism-css.com/docs/primitives/)
37
40
 
@@ -59,33 +62,96 @@ Settings(トークン定義)
59
62
  - 子要素: `.c--card_header`, `.c--card_body`(`c--` のみ Element を持つ。`_` 一つ区切り)
60
63
 
61
64
  **記述順序:**
62
- class 属性にクラスを直接記述する場合は、以下の順序で並べてください。粒度の大きい(塊としての役割を持つ)クラスから、粒度の小さい(単一プロパティ制御)クラスの順です。
65
+ class 属性にクラスを直接記述する場合は、以下の順序で並べてください。
63
66
 
64
67
  ```
65
- [customClass] [c--/a--] [l--] [is--*] [set--*] [u--*] [Property Class...]
68
+ [customClass] [c--] [a--] [l--] [is--] [set--] [u--] [-]
66
69
  ```
67
70
 
68
71
  | # | 区分 | 例 |
69
72
  |---|---|---|
70
- | 1 | 独自クラス(`customClass`) | `my-card`, `hoge` |
71
- | 2 | Component / Atomic Primitive(`c--` / `a--`) | `c--box`, `a--icon`, `c--box c--box--primary` |
72
- | 3 | Layout Primitive(`l--`) | `l--flex`, `l--grid` |
73
- | 4 | Trait Primitives(`is--`) | `is--wrapper`, `is--layer` |
74
- | 5 | Set Class(`set--`) | `set--hov`, `set--card` |
75
- | 6 | ユーティリティ(`u--`) | `u--cbox`, `u--trim` |
76
- | 7 | Property Class(`-`) | `-p:20`, `-bgc:base-2` |
73
+ | 1 | 独自クラス(`customClass`) | `z--header`, `hoge` |
74
+ | 2 | Component(`c--`) | `c--box`, `c--box--primary` |
75
+ | 3 | Atomic Primitive(`a--`) | `a--icon`, `a--divider` |
76
+ | 4 | Layout Primitive(`l--`) | `l--flex`, `l--columns` |
77
+ | 5 | Trait Primitives(`is--`) | `is--wrapper`, `is--layer` |
78
+ | 6 | Set Class(`set--`) | `set--hov`, `set--transition` |
79
+ | 7 | Utility Class(`u--`) | `u--cbox`, `u--trim` |
80
+ | 8 | Property Class(`-`) | `-p:20`, `-bgc:base-2` |
77
81
 
78
82
  ```html
79
83
  <!-- OK -->
80
84
  <div class="c--nav l--flex -p:20 -g:20">...</div>
81
85
 
82
- <!-- NG: Property Class が先 -->
86
+ <!-- NG: Property Class が先 になっている -->
83
87
  <div class="-p:20 -g:20 l--flex c--nav">...</div>
84
88
  ```
85
89
 
86
90
  なお、`class` 属性内の並び順は CSS の適用結果(詳細度・カスケード順)には影響しません。この順序はあくまで可読性と一貫性のための整理です。
87
91
 
88
92
 
93
+ ## Component Class(`c--`)
94
+
95
+ `c--` プレフィックスで定義する **Component クラス** は、Primitive を組み合わせて作られた具体的な UI 部品です。`@layer lism-component` に配置され、コアの `lism-css` には含まれず、`@lism-css/ui` パッケージやユーザー定義として提供されます。
96
+
97
+ `c--` クラスは BEM 構造(Block / Modifier / Element)を持つことができ、それぞれ次の形式で定義します。
98
+
99
+ | 分類 | 形式 | 例 |
100
+ |---|---|---|
101
+ | Block | `.c--{name}` | `.c--button`, `.c--card` |
102
+ | Modifier | `.c--{name}--{modifier}` | `.c--button--outline` |
103
+ | Element | `.c--{name}_{element}` | `.c--card_header`, `.c--card_body` |
104
+
105
+ - Modifier は Block と併記して使用: `.c--button.c--button--outline`
106
+ - Element は `_`(アンダースコア)一つ区切り
107
+ - Block 同士の併用(`.c--xxx.c--yyy`)は基本 NG。ただし次は許容される:
108
+ - Block と自身の Modifier: `.c--xxx.c--xxx--variant`
109
+ - Block と他 Block の Element: `.c--xxx.c--yyy_elem`
110
+ - `a--` / `l--` には `variant` の BEM 展開は適用されない**
111
+
112
+ `c--` を使った独自コンポーネントを使う場合でも、他の Primitive クラス(`.l--`, `.is--`)や Property Class(`-{prop}:{value}`)との組み合わせを前提とした設計にすることで CSS の記述量を削減できます。`c--` クラスにスタイルが全くなく、HTML 側での可視性を高める名前付けのためだけに利用しても構いません。
113
+
114
+
115
+ ### 作成例
116
+
117
+ `l--stack` と併用する前提でのカスタムクラス例:
118
+
119
+ ```css
120
+ @layer lism-component {
121
+ .c--myCard {
122
+ gap: var(--s20);
123
+ padding: var(--s30);
124
+ border-radius: var(--bdrs--20);
125
+ box-shadow: var(--bxsh--20);
126
+ border: 1px solid currentColor;
127
+ /* ... */
128
+ }
129
+ }
130
+ ```
131
+
132
+ ```html
133
+ <div class="c--myCard l--stack">
134
+ ...
135
+ </div>
136
+ ```
137
+
138
+ 素の HTML サイトではこのように `c--` クラスに CSS を書いてスタイリングしても問題ありませんが、React などでコンポーネントを作成できる場合は、特別な理由がない限り Property Class を活用してください。
139
+
140
+ ```jsx
141
+ export default function MyCard(props) {
142
+ return <Stack lismClass="c--myCard" g="20" p="30" bdrs="20" bxsh="20" bd {...props} />;
143
+ }
144
+ ```
145
+
146
+ ```css
147
+ @layer lism-component {
148
+ .c--myCard {
149
+ /* 複雑なスタイルがあれば css で書く */
150
+ }
151
+ }
152
+ ```
153
+
154
+
89
155
  ## カスタムCSS を追加する場合
90
156
 
91
157
  独自のスタイルを追加する場合は、対象に合った Lism の CSS Layer 内に記述してください。
@@ -0,0 +1,204 @@
1
+ # 命名規則
2
+
3
+ ## TOC
4
+
5
+ - [CSS変数の命名規則](#css変数の命名規則)
6
+ - [クラスの命名規則](#クラスの命名規則)
7
+ - [`{prop}` の省略ルール](#prop-の省略ルール)
8
+ - [`{value}` の省略ルール](#value-の省略ルール)
9
+
10
+ [詳細](https://lism-css.com/docs/naming/)
11
+
12
+ ---
13
+
14
+ ## CSS変数の命名規則
15
+
16
+ 各ブロックは camelCase で `{varName}` の形式が基本。
17
+
18
+ ### トークン変数
19
+
20
+ | 種類 | 形式 | 例 |
21
+ |------|------|-----|
22
+ | 基本 | `--{prop}--{token}` | `--fz--l`, `--bdrs--20`, `--bxsh--10`, `--sz--s` |
23
+ | カラー | `--{color}` | `--brand`, `--text`, `--text-2`, `--red` |
24
+ | スペーシング | `--s{Token}` | `--s10`, `--s40` |
25
+
26
+ トークンのバリエーション:
27
+
28
+ | 表記 | 条件 | 例 |
29
+ |------|------|-----|
30
+ | `s`, `m`, `l`, `xl`... | ベース値を中心に大小の段階を示す | `--fz--s`, `--fz--l` |
31
+ | `base` | `:root`/`body` の初期値にセットされるもの | `--fz--base`, `--lh--base` |
32
+ | `10`, `20`, `30`... | `0`(`none`)基準で段階的に増加 | `--bdrs--20`, `--bxsh--30` |
33
+ | `-10`, `-20`, `-30`... | `0`(`none`)基準で段階的に減少 | `--o---10`, `--o---20` |
34
+ | セマンティック名 | 上記に当てはまらない場合 | `--ar--og` |
35
+
36
+ ### Property Class 用の変数
37
+
38
+ | 形式 | 説明 | 例 |
39
+ |------|------|-----|
40
+ | `--{prop}` | クラスの `{prop}` 部分と同じ省略名 | `--p`, `--bgc`, `--bdrs`, `--max-sz` |
41
+ | `--{prop}_{bp}` | ブレークポイント値 | `--p_sm`, `--mx_md` |
42
+
43
+ ### その他の変数
44
+
45
+ | 形式 | 用途 | 例 |
46
+ |------|------|-----|
47
+ | `--{target}-{prop}` | 要素・クラスに対するプロパティ(`:root`で上書き可) | `--link-td`, `--headings-ff` |
48
+ | `--{propName}` | プリミティブの主要機能変数 | `--sideW`, `--mainW` |
49
+ | `--_{item}-{propName}` | `c--` の子要素プロパティ | `--_icon-size` |
50
+ | `--_{varName}` | 状態管理用の内部変数 | `--_isHov`, `--_notHov` |
51
+
52
+
53
+ ## クラスの命名規則
54
+
55
+ プレフィックスとクラス分類の対応:
56
+
57
+ - Component: `c--`
58
+ - Atomic Primitives: `a--`
59
+ - Layout Primitives: `l--`
60
+ - Trait Primitives: `is--`
61
+ - Set Class: `set--`
62
+ - Utility Class: `u--`
63
+
64
+ プレフィックスに続く名称は camelCase(例: `c--myComponent`)。
65
+
66
+ Property Class の形式:
67
+
68
+ - 特定の値とセット: `-{prop}:{value}`
69
+ - `--{prop}` 変数を受け取る: `-{prop}`
70
+ - ブレークポイント値を受け取る: `-{prop}_{bp}`
71
+
72
+
73
+ ## `{prop}` の省略ルール
74
+
75
+ 基本は [Emmet](https://docs.emmet.io/cheat-sheet/) 準拠。
76
+
77
+ > **Note**: 「1文字プロパティ」セクション以外の表は **代表例** であり、全プロパティの一覧ではない。記載のないプロパティは本ページのルールに沿って省略する。
78
+
79
+ ### 1文字プロパティ
80
+
81
+ 1文字に省略する主要プロパティは以下の通り(このリストが全て)。
82
+
83
+ | 省略 | プロパティ | 省略 | プロパティ |
84
+ |------|-----------|------|-----------|
85
+ | `p` | `padding` | `i` | `inset` |
86
+ | `m` | `margin` | `t` | `top` |
87
+ | `g` | `gap` | `b` | `bottom` |
88
+ | `c` | `color` | `l` | `left` |
89
+ | `f` | `font` | `r` | `right` |
90
+ | `w` | `width` | `o` | `opacity` |
91
+ | `h` | `height` | `v` | `visibility` |
92
+ | `d` | `display` | `z` | `z-index` |
93
+
94
+ Emmet と異なるのは `o` (`opacity`) のみ。
95
+
96
+ ### プロパティグループ
97
+
98
+ #### 基本形式: 「グループ略称」+「サブプロパティ名の省略形」
99
+
100
+ | CSS プロパティ | Prop |
101
+ |-------------|------|
102
+ | font-size | `fz` |
103
+ | font-weight | `fw` |
104
+ | background-color | `bgc` |
105
+ | background-image | `bgi` |
106
+ | flex | `fx` |
107
+ | flex-shrink | `fxsh` |
108
+ | flex-grow | `fxg` |
109
+ | grid-template-columns | `gtc` |
110
+ | grid-template-rows | `gtr` |
111
+
112
+ #### 方向指定系: 「グループ略称」 + `-` +「方向指定」
113
+
114
+ | 方向 | サフィックス | 例 |
115
+ |------|-----------|-----|
116
+ | physical | `-t` / `-b` / `-l` / `-r` | `bd-t`, `bd-b`, `bd-l`, `bd-r` |
117
+ | inline / block | `-x` / `-y` | `bd-x`, `bd-y` |
118
+ | start / end | `-s` / `-e` | `bd-x-s`, `bd-x-e`, `bd-y-s`, `bd-y-e` |
119
+ | x / y | `-x` / `-y` | `ov-x`, `ov-y` |
120
+
121
+ 例外: `p`, `m` のみ最初のハイフンを省略 → `pt`, `px`, `my`, `mx-s` 等。
122
+
123
+ #### グループ略称の衝突禁止
124
+
125
+ 一つのグループで使用された略称は他のグループで再利用しない。
126
+ NG例: `flex` → `fx` としたうえで `flex-shrink` を `fsh` にする(`fx` グループの一貫性を崩すため)。
127
+
128
+ ### max- / min- プロパティ
129
+
130
+ `max-`, `min-` プレフィックスはハイフンを保持: `max-w`, `min-w`, `max-h`, `min-h`。
131
+
132
+ ### その他のプロパティ
133
+
134
+ 1. 1単語: そのまま使用 or 省略
135
+ 2. ハイフン繋がり、または6文字以上: Emmet形式または認識しやすい範囲で省略
136
+
137
+ | CSS プロパティ | Prop | 分類 |
138
+ |-------------|------|------|
139
+ | float | `float` | そのまま |
140
+ | order | `order` | そのまま |
141
+ | position | `pos` | 省略 |
142
+ | overflow | `ov` | 省略 |
143
+ | inline-size | `sz` | 省略 |
144
+ | block-size | `bsz` | 省略 |
145
+ | aspect-ratio | `ar` | 省略 |
146
+ | writing-mode | `wm` | 省略 |
147
+ | white-space | `whs` | 省略 |
148
+
149
+ ### 1文字プロパティの短縮名の再利用
150
+
151
+ グループを持たない1文字プロパティや、方向プロパティのみをサブプロパティに持つ場合は、衝突しない範囲で再利用可。
152
+
153
+ | 1文字 Prop | 再利用先 | 展開例 |
154
+ |-----------|---------|--------|
155
+ | `t`(`top`) | `text-*` | `ta`(`text-align`) |
156
+ | `l`(`left`) | `line-*` | `lh`(`line-height`) |
157
+ | `w`(`width`) | `writing-*` | `wm`(`writing-mode`) |
158
+ | `p`(`padding`) | `place-*` | `pi`(`place-items`) |
159
+
160
+
161
+ ## `{value}` の省略ルール
162
+
163
+ ### 基本: CSS の実値をそのまま使う
164
+
165
+ `{prop}` は既に省略されているため、`{value}` はそのまま残して組み合わせから推測可能にする。
166
+
167
+ ```
168
+ .-d:none → display: none;
169
+ .-d:inline-flex → display: inline-flex;
170
+ .-pos:relative → position: relative;
171
+ .-ta:center → text-align: center;
172
+ .-fx:1 → flex: 1;
173
+ .-fxd:column → flex-direction: column;
174
+ ```
175
+
176
+ ### トークン値を利用する場合
177
+
178
+ 対応するトークンがある場合は、トークン値(`--{token}--{value}` の `{value}` 部分)を使う:
179
+
180
+ ```
181
+ .-c:text-2 → color: var(--text-2);
182
+ .-fz:l → font-size: var(--fz--l);
183
+ .-p10 → padding: var(--s10);
184
+ .-fw:bold → font-weight: var(--fw--bold);
185
+ .-bdrs:20 → border-radius: var(--bdrs--20);
186
+ ```
187
+
188
+ トークン値が `-{NUM}` のものも、値をそのまま連結した変数名になる。
189
+
190
+ ```
191
+ .-o:-10 → opacity: var(--o---10);
192
+ ```
193
+
194
+ ### 長いキーワード値の省略
195
+
196
+ 6文字以上かつ省略しても意味が通るものは省略可:
197
+
198
+ | 実際の値 | 省略名 | クラスの例 |
199
+ |--------|------------|-----|
200
+ | `uppercase` | `upper` | `-tt:upper` |
201
+ | `lowercase` | `lower` | `-tt:lower` |
202
+ | `fit-content` | `fit` | `-w:fit`, `-h:fit` |
203
+ | `space-between` | `between` | `-ac:between`, `-jc:between` |
204
+ | `currentColor` | `current` | `-bdc:current` |
@@ -2,7 +2,6 @@
2
2
 
3
3
  Lism CSS では、レイアウトを組み立てる小さな積み木として **Primitive クラス**(`is--` / `l--` / `a--`)を提供します。これらはすべて `@layer lism-primitive` に属します(サブレイヤーは `trait` / `layout` / `atomic`)。
4
4
 
5
- 具体的な UI 部品は **Component クラス**(`c--`)として `@layer lism-component` に配置されますが、コアの `lism-css` には含まれず、`@lism-css/ui` パッケージやユーザー定義として提供されます。
6
5
 
7
6
  ## TOC
8
7
 
@@ -10,7 +9,6 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
10
9
  - [Trait Primitive(`is--`)](#trait-primitiveis--)
11
10
  - [Layout Primitive(`l--`)](#layout-primitivel--)
12
11
  - [Atomic Primitive(`a--`)](#atomic-primitivea--)
13
- - [Component(`c--`)](#componentc--)
14
12
 
15
13
  [詳細](https://lism-css.com/docs/primitives/)
16
14
 
@@ -23,13 +21,11 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
23
21
  | `is--` | Trait Primitive | `lism-primitive.trait` | 要素に静的な構造的特性を付与する汎用クラス |
24
22
  | `l--` | Layout Primitive | `lism-primitive.layout` | レイアウトの構成単位となる Primitive |
25
23
  | `a--` | Atomic Primitive | `lism-primitive.atomic` | レイアウトの最小単位(アイコン・区切り線等) |
26
- | `c--` | Component | `lism-component` | BEM 構造を持つ具体的な UI 部品 |
27
24
 
28
25
  **併用ルール:**
29
- - `is--` は他のすべての Primitive / Component と併用可能(複数の `is--` 同士もOK)
30
- - `l--` と `c--` は併用可能(例: `class="l--flex c--nav"`)
26
+ - `is--` は他のすべての Primitive と併用可能(複数の `is--` 同士もOK)
31
27
  - 同カテゴリ内の併用は不可(例: `l--flex` と `l--grid` は同要素に付けない)
32
- - `c--` のみ Modifier との併記が可能(`.c--button.c--button--outline`)
28
+ - `a--` / `l--` には `variant` の BEM 展開は適用されない(BEM Modifier は `c--` 専用)
33
29
 
34
30
 
35
31
  ## Trait Primitive(`is--`)
@@ -45,11 +41,10 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
45
41
  | `is--layer` | 親要素全体に被さる絶対配置レイヤー(`position: absolute; inset: 0;`)。背景画像・カラーオーバーレイ・フィルターレイヤー・コンテンツ等を重ねて表示する |
46
42
  | `is--boxLink` | ボックス全体をクリッカブルなリンク領域にする。自身を`a`タグにして利用するか、もしくは自身を`div`にして内部の`a`タグに`is--coverLink`を付与して使う |
47
43
  | `is--coverLink` | 親要素全体に被さるクリック領域を持つリンク(`::before` を `inset: 0` で広げる)。`is--boxLink` と併用する |
48
- | `is--vertical` | 縦書きモードを定義する(`writing-mode: var(--vertical-mode)`) |
49
44
  | `is--skipFlow` | `l--flow` 直下で使用し、次の兄弟要素のフロー余白をゼロにする。`l--flow`の中にあるが`position:absolute`にしたい要素などに使用する |
50
45
  | `is--side` | `l--sideMain` 直下で使用し、サイド側の要素であることを示す |
51
46
 
52
- Lism コンポーネントでは `isContainer`, `isLayer` 等の Props として利用できます。
47
+ Lism コンポーネントでは `isContainer`, `isLayer` 等の Props として利用できます。(例: `<Lism isContainer>`)
53
48
 
54
49
 
55
50
  ## Layout Primitive(`l--`)
@@ -87,62 +82,3 @@ Lism コンポーネントでは `isContainer`, `isLayer` 等の Props として
87
82
  | `a--decorator` | 装飾用要素(SCSS定義なし、クラス名のみ出力) |
88
83
 
89
84
  それぞれ対応するコンポーネント(`<Icon>`, `<Divider>`, `<Spacer>`, `<Decorator>`)があります。
90
-
91
-
92
- ## Component(`c--`)
93
-
94
- `c--` プレフィックスで定義する **Component クラス** は、Primitive を組み合わせて作られた具体的な UI 部品です。`@layer lism-component` に配置され、コアの `lism-css` には含まれず、`@lism-css/ui` パッケージやユーザー定義として提供されます。
95
-
96
- `c--` クラスは BEM 構造(Block / Modifier / Element)を持つことができ、それぞれ次の形式で定義します。
97
-
98
- | 分類 | 形式 | 例 |
99
- |---|---|---|
100
- | Block | `.c--{name}` | `.c--button`, `.c--card` |
101
- | Modifier | `.c--{name}--{modifier}` | `.c--button--outline` |
102
- | Element | `.c--{name}_{element}` | `.c--card_header`, `.c--card_body` |
103
-
104
- - Modifier は Block と併記して使用: `.c--button.c--button--outline`
105
- - Element は `_`(アンダースコア)一つ区切り
106
- - Block 同士の併用(`.c--xxx.c--yyy`)は基本 NG。ただし次は許容される:
107
- - Block と自身の Modifier: `.c--xxx.c--xxx--variant`
108
- - Block と他 Block の Element: `.c--xxx.c--yyy_elem`
109
-
110
- `c--`を使った独自コンポーネントを使う場合でも、他の Primitive クラス(`.l--`, `is--`)や Property Class(`-{prop}:{value}`)との組み合わせを前提とした設計にすることでCSSの記述量を削減できます。`c--`クラスにスタイルが全くなく、HTML側での可視性を高める名前付けのためだけに利用しても構いません。
111
-
112
- ### 作成例
113
-
114
- `l--stack` と併用する前提でのカスタムクラス例
115
-
116
- ```css
117
- @layer lism-component {
118
- .c--myCard {
119
- gap: var(--s20);
120
- padding: var(--s30);
121
- border-radius: var(--bdrs--20);
122
- box-shadow: var(--bxsh--20);
123
- border: 1px solid currentColor;
124
- /* ... */
125
- }
126
- }
127
- ```
128
-
129
- ```html
130
- <div class="c--myCard l--stack">
131
- ...
132
- </div>
133
- ```
134
-
135
- 素のHTMLサイトではこのように`c--`クラスにCSSを書いてスタイリングしても大丈夫ですが、Reactなどでコンポーネントを作成できる場合は、特別な理由がない限りProperty Classを活用してください。
136
-
137
- ```jsx
138
- export default function MyCard(props) {
139
- return <Stack lismClass="c--myCard" g="20" p="30" bdrs="20" bxsh="20" bd {...props} />;
140
- }
141
- ```
142
- ```css
143
- @layer lism-component {
144
- .c--myCard {
145
- /* 複雑なスタイルあれば css で書く */
146
- }
147
- }
148
- ```
@@ -1,6 +1,6 @@
1
1
  # a--decorator / `<Decorator>`
2
2
 
3
- コンテンツを装飾するための空要素として使うクラス。`<Decorator>` はデフォルトで `aria-hidden="true"` が付与されます。
3
+ コンテンツを装飾するための空要素として使うクラス。`<Decorator>` `<Lism atomic="decorator" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
5
  ## 基本情報
6
6
 
@@ -13,12 +13,10 @@
13
13
  | Prop | 説明 |
14
14
  |------|------|
15
15
  | `size` | デコレーターのサイズを一括指定。この指定があると `w`(`width`)に値が渡され、自動で `ar="1/1"`(`aspect-ratio:1/1`)が付与される |
16
- | `clipPath` | `style.clipPath` に渡す |
17
- | `boxSizing` | `style.boxSizing` に渡す |
18
16
 
19
17
  ## Usage
20
18
 
21
- ### 使用例(コーナー装飾)
19
+ ### 装飾に使用する例(コーナー装飾)
22
20
 
23
21
  `pos="absolute"` と組み合わせて、親の四隅にコーナー枠を配置する例です。`bdc="current"` で文字色に追随します。
24
22
 
@@ -1,6 +1,6 @@
1
1
  # a--divider / `<Divider>`
2
2
 
3
- コンテンツ間に区切り線を描画するクラス。`--bdc` は `var(--divider)` が初期セットされます。`<Divider>` はデフォルトで `aria-hidden="true"` が付与されます。
3
+ コンテンツ間に区切り線を描画するクラス。`--bdc` は `var(--divider)` が初期セットされます。`<Divider>` `<Lism atomic="divider" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
5
  ## 基本情報
6
6
 
@@ -9,13 +9,6 @@
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/
11
11
 
12
- ## 専用Props
13
-
14
- | Prop | 説明 |
15
- |------|------|
16
- | `bdw` / `bds` / `bdc` | 区切り線のボーダー幅 / スタイル / 色 |
17
- | `isVertical` | 縦方向の区切り線にする(`is--vertical` クラス付与) |
18
-
19
12
  ## Usage
20
13
 
21
14
  ### 基本的な使い方
@@ -44,12 +37,12 @@
44
37
 
45
38
  ### 縦方向の区切り線
46
39
 
47
- `isVertical` を指定すると縦方向の区切り線になります。Flex 子要素として使うなら `aslf="stretch"` で高さいっぱいに伸ばせます。
40
+ Property Class `-wm:vertical-rl`(または `<Divider wm="vertical-rl">`)を指定すると縦方向の区切り線になります。Flex 子要素として使うなら `aslf="stretch"` で高さいっぱいに伸ばせます。
48
41
 
49
42
  ```jsx
50
43
  <Flex ai="center" g="20">
51
44
  <Box fx="1" bgc="base-2" py="40">...Contents...</Box>
52
- <Divider isVertical bds="dashed" bdw="2px" aslf="stretch" />
45
+ <Divider wm="vertical-rl" bds="dashed" bdw="2px" aslf="stretch" />
53
46
  <Box fx="1" bgc="base-2" py="40">...Contents...</Box>
54
47
  </Flex>
55
48
  ```
@@ -57,7 +50,7 @@
57
50
  ```html
58
51
  <div class="l--flex -g:20 -ai:center">
59
52
  <div class="-fx:1 -bgc:base-2 -py:40">...Contents...</div>
60
- <div class="a--divider is--vertical -aslf:stretch" style="--bds: dashed; --bdw: 2px" aria-hidden="true"></div>
53
+ <div class="a--divider -wm:vertical-rl -aslf:stretch" style="--bds: dashed; --bdw: 2px" aria-hidden="true"></div>
61
54
  <div class="-fx:1 -bgc:base-2 -py:40">...Contents...</div>
62
55
  </div>
63
56
  ```
@@ -1,6 +1,6 @@
1
1
  # a--spacer / `<Spacer>`
2
2
 
3
- 要素間のスペースを確保するクラス。`<Spacer>` はデフォルトで `aria-hidden="true"` が付与されます。
3
+ 要素間のスペースを確保するクラス。`<Spacer>` `<Lism atomic="spacer" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
5
  ## 基本情報
6
6
 
@@ -13,52 +13,55 @@
13
13
 
14
14
  | Prop | CSS変数 | 説明 |
15
15
  |------|--------|------|
16
- | `cols` | `--cols` | カラムが維持する最小幅を指定(`12rem`, `320px` など) |
16
+ | `cols` | `--cols` | カラムが維持する最小幅を指定(`16em`, `320px` など) |
17
17
  | `autoFill` | `--autoMode` | `auto-fill` モードに切り替え(デフォルトは `auto-fit`) |
18
18
 
19
19
  ## Usage
20
20
 
21
- ### デフォルト幅で利用する
21
+ ### `--cols`でサイズを指定する
22
22
 
23
23
  ```jsx
24
- <FluidCols g="20">
25
- <Box bxsh="20" p="20"><p>カード1のコンテンツ</p></Box>
26
- <Box bxsh="20" p="20"><p>カード2のコンテンツ</p></Box>
27
- <Box bxsh="20" p="20"><p>カード3のコンテンツ</p></Box>
24
+ <FluidCols 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>
28
29
  </FluidCols>
29
30
  ```
30
31
 
31
32
  ```html
32
- <div class="l--fluidCols -g:20">
33
- <div class="l--box -bxsh:20 -p:20"><p>カード1のコンテンツ</p></div>
34
- <div class="l--box -bxsh:20 -p:20"><p>カード2のコンテンツ</p></div>
35
- <div class="l--box -bxsh:20 -p:20"><p>カード3のコンテンツ</p></div>
33
+ <div class="l--fluidCols -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>
36
38
  </div>
37
39
  ```
38
40
 
39
- ### カラム最小幅と `auto-fill` の指定
41
+ ### `auto-fill`を使用する
42
+
43
+ `l--fluidCols` では、`grid-template-columns` の `repeat()` 関数の第一引数を `--autoMode` で指定できます(デフォルトは `auto-fit`)。`--autoMode:auto-fill`(`autoFill`)を指定することで、要素数が少ない時の挙動が変わります。
40
44
 
41
45
  ```jsx
42
- <FluidCols cols="12rem" autoFill g="20" fz="s">
43
- <Box bxsh="20" p="20"><p>A</p></Box>
44
- <Box bxsh="20" p="20"><p>B</p></Box>
45
- <Box bxsh="20" p="20"><p>C</p></Box>
46
+ <FluidCols 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
+ </FluidCols>
50
+ <FluidCols 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>
46
53
  </FluidCols>
47
54
  ```
48
55
 
49
- ### 2列 → 1列
50
-
51
- カラム最小幅を大きめに設定すれば「2列 コンテナが狭まれば 1列」のような段階的段組も自然に作れます。
52
-
53
- ```jsx
54
- <FluidCols cols="320px" g="20">
55
- <Frame ar="16/9">
56
- <img src="/img/a-1.jpg" width="600" height="400" />
57
- </Frame>
58
- <Frame ar="16/9">
59
- <img src="/img/a-3.jpg" width="600" height="400" />
60
- </Frame>
61
- </FluidCols>
56
+ ```html
57
+ <div class="l--fluidCols -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--fluidCols -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>
62
65
  ```
63
66
 
64
67
  ## 関連プリミティブ
@@ -98,9 +98,9 @@ CSS Layer の外(最も高い詳細度)に配置され、`-{prop}(:{value})`
98
98
  | `sz` | `inline-size` | — | — |
99
99
  | `min-sz` | `min-inline-size` | — | — |
100
100
  | `max-sz` | `max-inline-size` | `-max-sz:xs`, `-max-sz:s`, `-max-sz:m`, `-max-sz:l`, `-max-sz:xl`, `-max-sz:full`, `-max-sz:container` | — |
101
- | `ysz` | `block-size` | — | — |
102
- | `min-ysz` | `min-block-size` | — | — |
103
- | `max-ysz` | `max-block-size` | — | — |
101
+ | `bsz` | `block-size` | — | — |
102
+ | `min-bsz` | `min-block-size` | — | — |
103
+ | `max-bsz` | `max-block-size` | — | — |
104
104
 
105
105
  **`max-sz` の特殊クラス:**
106
106
  - `-max-sz:full` — `max-inline-size: 100%`。`.set--gutter` 内では gutter 分を含めた全幅に拡張
@@ -359,11 +359,11 @@ Lism CSS のボーダーは CSS 変数(`--bds`, `--bdw`, `--bdc`)で管理
359
359
 
360
360
  | Prop | CSS プロパティ | プリセット値クラス | BP クラス |
361
361
  |------|--------------|-------------|-----|
362
- | `ovwrap` | `overflow-wrap` | `-ovwrap:anywhere` | — |
363
- | `whspace` | `white-space` | `-whspace:nowrap` | — |
362
+ | `ovw` | `overflow-wrap` | `-ovw:anywhere` | — |
363
+ | `whs` | `white-space` | `-whs:nowrap` | — |
364
364
  | `float` | `float` | `-float:left`, `-float:right` | — |
365
365
  | `clear` | `clear` | `-clear:both` | — |
366
- | `isolation` | `isolation` | `-isolation:isolate` | — |
366
+ | `iso` | `isolation` | `-iso:isolate` | — |
367
367
 
368
368
 
369
369
  ## 値の省略形(例外一覧)
@@ -13,8 +13,6 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
13
13
  - [`set--transition`](#set--transition)
14
14
  - [`set--gutter`](#set--gutter)
15
15
  - [`set--innerRs`](#set--innerrs)
16
- - [`set--bp`](#set--bp)
17
-
18
16
  [詳細](https://lism-css.com/docs/set-class/)
19
17
 
20
18
  ---
@@ -31,8 +29,6 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
31
29
  | `set--transition` | [`_transition.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_transition.scss) |
32
30
  | `set--gutter` | [`_gutter.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_gutter.scss) |
33
31
  | `set--innerRs` | [`_innerRs.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_innerRs.scss) |
34
- | `set--bp` | [`_bp.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bp.scss) |
35
-
36
32
  ---
37
33
 
38
34
  ## `set--plain`
@@ -86,7 +82,7 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
86
82
  .-hov\:test {
87
83
  color: var(--_isHov, green) var(--_notHov, red); /* hover時はgreen, 非hover時はred*/
88
84
  box-shadow: var(--_isHov, var(--bxsh--30)); /* hover時はshadowをつける(非hover時は無効な値) */
89
- opacity: var(--_notHov, var(--o--n20)); /* 非hover時は不透明度を下げる(hover時は無効な値) */
85
+ opacity: var(--_notHov, var(--o---20)); /* 非hover時は不透明度を下げる(hover時は無効な値) */
90
86
  }
91
87
  ```
92
88
 
@@ -177,16 +173,3 @@ HTML では直接クラスを付与し、Lism コンポーネントでは `set`
177
173
  ```
178
174
 
179
175
 
180
- ## `set--bp`
181
-
182
- ブレークポイント判定用の hack 変数をセットします。コンテナクエリで各ブレークポイントを超えた時に空変数がセットされ、CSS の空変数トリックで条件分岐に使えます。
183
- `sm`, `md`にのみ対応しています。(`--_is_sm`, `--_is_md`が定義されます。)
184
-
185
- smサイズ以上でテキストカラーを赤に変える例:
186
-
187
- ```html
188
- <div class="set--bp -p:20" style="color: var(--_is_sm) red">...</div>
189
- ```
190
- ```jsx
191
- <Lism set="bp" p="20" style={{ color: 'var(--_is_sm) red;' }}>...</Lism>
192
- ```
@@ -28,18 +28,17 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
28
28
 
29
29
  | カテゴリ | トークン値 | CSS変数パターン | 例 |
30
30
  |---|---|---|---|
31
- | 余白 (space) | `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `70`, `80` | `--s{n}` | `--s20` |
31
+ | 余白 (space) | `5`, `10`, `15`, `20`, `30`, `40`, `50`, `60`, `70`, `80` | `--s{N}` | `--s20` |
32
32
  | フォントサイズ (fz) | `root`, `base`, `2xs`, `xs`, `s`, `m`, `l`, `xl`, `2xl`, `3xl`, `4xl`, `5xl` | `--fz--{key}` | `--fz--l` |
33
33
  | ハーフレディング・行間 (lh/hl) | `base`, `xs`, `s`, `l` | `--hl--{key}` | `--hl--s` |
34
34
  | 字間 (lts) | `base`, `s`, `l` | `--lts--{key}` | `--lts--s` |
35
35
  | フォント (ff) | `base`, `accent`, `mono` | `--ff--{key}` | `--ff--mono` |
36
36
  | ウェイト (fw) | `light`, `normal`, `bold` | `--fw--{key}` | `--fw--bold` |
37
- | 透明度 (o) | `-10`, `-20`, `-30` | `--o--n{n}` | `--o--n10` |
37
+ | 透明度 (o) | `-10`, `-20`, `-30` | `--o--{-N}` | `--o---10` |
38
38
  | 角丸 (bdrs) | `10`, `20`, `30`, `40`, `99`, `inner` | `--bdrs--{key}` | `--bdrs--20` |
39
- | 影 (bxsh) | `10`, `20`, `30`, `40` | `--bxsh--{n}` | `--bxsh--20` |
40
- | サイズ (sz) | `xs`, `s`, `m`, `l`, `xl`, `min`, `full`, `container` | `--sz--{key}` | `--sz--l` |
39
+ | 影 (bxsh) | `10`, `20`, `30`, `40` | `--bxsh--{N}` | `--bxsh--20` |
40
+ | サイズ (sz) | `xs`, `s`, `m`, `l`, `xl`, `container` | `--sz--{key}` | `--sz--l` |
41
41
  | アスペクト比 (ar) | `og` | `--ar--{key}` | `--ar--og` |
42
- | 書字方向 (writing) | `vertical` | `--writing--{key}` | `--writing--vertical` |
43
42
  | フロー余白 (flow) | `s`, `l` | `--flow--{key}` | `--flow--s` |
44
43
  | セマンティックカラー (c) | `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent` | `--{name}` | `--brand` |
45
44
  | パレットカラー (palette) | `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `gray`, `white`, `black` | `--{name}` | `--red` |
@@ -135,9 +134,9 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
135
134
 
136
135
  | CSS変数 | 値 | 説明 |
137
136
  |---------|-----|------|
138
- | `--o--n10` | `0.75` | 75%の不透明度 |
139
- | `--o--n20` | `0.5` | 50%の不透明度 |
140
- | `--o--n30` | `0.25` | 25%の不透明度 |
137
+ | `--o---10` | `0.75` | 75%の不透明度 |
138
+ | `--o---20` | `0.5` | 50%の不透明度 |
139
+ | `--o---30` | `0.25` | 25%の不透明度 |
141
140
 
142
141
 
143
142
  ## 角丸 (bdrs)
@@ -154,7 +153,7 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
154
153
 
155
154
  ## 影 (bxsh)
156
155
 
157
- `--shc`(シャドウカラー: `hsl(220 4% 8% / 5%)`)と `--shsz--{n}`(シャドウサイズ)を組み合わせた複合シャドウ。使用時は `set--shadow` クラスの併用が必要(影色 `--shc` の再計算のため)。
156
+ `--shc`(シャドウカラー: `hsl(220 4% 8% / 5%)`)と `--shsz--{N}`(シャドウサイズ)を組み合わせた複合シャドウ。使用時は `set--shadow` クラスの併用が必要(影色 `--shc` の再計算のため)。
158
157
 
159
158
  | CSS変数 | 値 | 説明 |
160
159
  |---------|-----|------|
package/dist/data/meta.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const meta = {
2
- generatedAt: '2026-04-14',
3
- sourceCommit: '9a7c9ffa',
2
+ generatedAt: '2026-04-17',
3
+ sourceCommit: '38761f59',
4
4
  docsVersion: '0.1.0',
5
5
  };
@@ -107,7 +107,7 @@ export function searchDocs(entries, query, options) {
107
107
  * 例:
108
108
  * `primitives/l--tileGrid.mdx` → `primitives/l--tileGrid`
109
109
  * `core-components/Group.mdx` → `core-components/group`
110
- * `ui/DummyImage.mdx` → `ui/dummyimage`
110
+ * `ui/DummyText.mdx` → `ui/dummytext`
111
111
  */
112
112
  function sourcePathToUrlSlug(sourcePath) {
113
113
  const withoutExt = sourcePath.replace(/\.mdx$/, '');
@@ -26,8 +26,8 @@ function parsePrimitiveHeading(md) {
26
26
  let classAliasMap = null;
27
27
  let componentAliasMap = null;
28
28
  /** primitives/*.md を走査して、クラス名由来 / React コンポーネント名由来の alias map を構築する(遅延初期化・キャッシュ)。
29
- * angle-bracket 形式の問い合わせ(`<Vertical>` など)には componentAliasMap のみを照合し、
30
- * クラス専用プリミティブ(例: is--vertical)を誤ってヒットさせないために分離している。 */
29
+ * angle-bracket 形式の問い合わせには componentAliasMap のみを照合し、
30
+ * クラス専用プリミティブへの false positive を避けるために分離している。 */
31
31
  function buildAliasMaps() {
32
32
  if (classAliasMap && componentAliasMap)
33
33
  return;
@@ -78,7 +78,7 @@ export function registerGetComponent(server) {
78
78
  const isAngle = isAngleBracketNotation(name);
79
79
  // --- 1) lism-css コア: primitives/ の個別ファイルを alias map で解決 ---
80
80
  // angle-bracket 形式 (`<Vertical>`) は React コンポーネント alias のみと照合し、
81
- // クラス専用プリミティブ (is--vertical 等) への false positive を避ける。
81
+ // クラス専用プリミティブへの false positive を避ける。
82
82
  if (!pkg || pkg === 'lism-css') {
83
83
  const componentHit = getComponentAliasMap().get(normalizedKey);
84
84
  if (componentHit) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lism-css/mcp",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "MCP server for lism-css documentation and API reference.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,52 +0,0 @@
1
- # is--vertical
2
-
3
- 要素に縦書きモード(`writing-mode`)を適用するクラス。対応するコンポーネントエイリアスはありません(直接クラス指定で使用)。
4
-
5
- ## 基本情報
6
-
7
- - クラス名: `is--vertical`
8
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/trait/_vertical.scss
9
- - ドキュメント(人間向け): https://lism-css.com/docs/primitives/is--vertical/
10
-
11
- ## クラスバリエーション
12
-
13
- 縦書き用の値はトークン(`--vertical-mode`)で管理されており、`lang` 属性に合わせて `vertical-rl` / `vertical-lr` を上書きできます。
14
-
15
- | クラス名 | 説明 |
16
- |---------|------|
17
- | `is--vertical` | 常に縦書きモードにする |
18
- | `is--vertical@sm` | `sm` サイズ以上で縦書きにする |
19
- | `is--vertical@md` | `md` サイズ以上で縦書きにする |
20
-
21
- **注意**: `is--vertical@sm`, `is--vertical@md` を使う場合は、**`set--bp` クラスを併用する必要があります**。
22
-
23
- ## Usage
24
-
25
- ### 常に縦書き
26
-
27
- ```html
28
- <div class="is--vertical">
29
- <p>縦書きテキスト...</p>
30
- </div>
31
- ```
32
-
33
- ### `sm` 以上で縦書きにする
34
-
35
- ```jsx
36
- <Flow set="gutter" py="20" w="100%" h="20em" className="is--vertical@sm set--bp">
37
- <p>本文テキスト...</p>
38
- <p>本文テキスト...</p>
39
- </Flow>
40
- ```
41
-
42
- ```html
43
- <div class="is--vertical@sm set--bp l--flow set--gutter -py:20 -w:100% -h" style="--h: 20em">
44
- <p>本文テキスト...</p>
45
- <p>本文テキスト...</p>
46
- </div>
47
- ```
48
-
49
- ## 関連プリミティブ
50
-
51
- - [l--flow](./l--flow.md) — 縦書きコンテンツと組み合わせる記事フロー
52
- - [is--wrapper](./is--wrapper.md) — コンテンツ幅の制限