@lism-css/mcp 0.22.0 → 0.23.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,9 +22,16 @@
22
22
  "1. パッケージ(lism-css)のインストール",
23
23
  "2. CSS(main.css)の読み込み",
24
24
  "3. コンポーネントの読み込み",
25
+ "Next.js での導入",
26
+ "1. パッケージのインストール",
27
+ "2. `next.config.mjs` を `withLism()` でラップする",
28
+ "3. CSS とコンポーネントの読み込み",
29
+ "4. `lism.config.js` でカスタマイズする(任意)",
30
+ "5. 生成ファイルの扱い",
25
31
  "Lism UI の導入",
26
32
  "パッケージとして利用する",
27
33
  "CLI でプロジェクトにコピーする",
34
+ "未使用CSSの削除(パージ)",
28
35
  "AIツール連携"
29
36
  ],
30
37
  "keywords": [
@@ -40,9 +47,14 @@
40
47
  "template",
41
48
  "テンプレート",
42
49
  "create lism",
43
- "lism-cli"
50
+ "lism-cli",
51
+ "Next.js",
52
+ "withLism",
53
+ "@lism-css/plugin",
54
+ "purge",
55
+ "パージ"
44
56
  ],
45
- "snippet": "CSSを読み込むだけでも導入でき、CDN経由でも利用可能。`create lism` コマンドでテンプレートからプロジェクトを作成できる(minimal-astro, blog-astro-*, lp-astro-* 等のテンプレートを提供)。npm パッケージとしてインストールし、lism-css/react や lism-css/astro からコンポーネントをインポートして使用。UIコンポーネントは別パッケージ @lism-css/ui として提供(パッケージ利用または lism ui add コマンドでCLI追加も可能)。AIコーディングツール向けのSkills・MCPサーバーも提供。"
57
+ "snippet": "CSSを読み込むだけでも導入でき、CDN経由でも利用可能。`create lism` コマンドでテンプレートからプロジェクトを作成できる(minimal-astro, minimal-vite, blog-astro-*, lp-astro-* 等のテンプレートを提供)。npm パッケージとしてインストールし、lism-css/react や lism-css/astro からコンポーネントをインポートして使用。Vite/Astro では @lism-css/plugin(lismCss())を登録して lism.config.js の反映・CSS 動的ビルド・型自動生成を有効化。Next.js(16以降)では `@lism-css/plugin/next` の `withLism()` でセットアップ。UIコンポーネントは別パッケージ @lism-css/ui として提供(パッケージ利用または lism ui add コマンドでCLI追加も可能)。@lism-css/plugin の purge 機能で本番CSS軽量化にも対応。AIコーディングツール向けのSkills・MCPサーバーも提供。"
46
58
  },
47
59
  {
48
60
  "sourcePath": "css-methodology.mdx",
@@ -100,8 +112,8 @@
100
112
  "{prop} の省略ルール",
101
113
  "1文字プロパティ",
102
114
  "プロパティグループ",
103
- "方向指定系の形式",
104
- "方向指定系の例外: p, m のみ、ハイフンを省略",
115
+ "方向指定系の形式: 「グループ略称」 + `-` +「方向指定」",
116
+ "方向指定系の例外: `p`, `m` のみ、ハイフンを省略",
105
117
  "グループ略称の衝突禁止",
106
118
  "max- / min- プロパティ",
107
119
  "その他のプロパティ",
@@ -180,9 +192,9 @@
180
192
  "title": "ハーフレディング(line-height)",
181
193
  "description": "Lism CSS のハーフレディングによる line-height 管理の仕組みと、関連するデザイントークンについて解説します。",
182
194
  "category": "guide",
183
- "headings": ["仕組み", "トークン", "lh クラス", "ハーフレディング管理のメリット"],
184
- "keywords": ["line-height", "half-leading", "ハーフレディング", "行間", "lh", "--hl"],
185
- "snippet": "line-heightをハーフレディング(文字上下の余白)で管理する仕組み。`calc(1em + var(--hl) * 2)` によりフォントサイズに依存しない一定の行間を実現。--hl--xs/s/base/l のトークンと -lh:{token} クラスの使い方を解説。"
195
+ "headings": ["仕組み", "トークン", "hl クラス", "lh(互換ショートカット)", "ハーフレディング管理のメリット"],
196
+ "keywords": ["line-height", "half-leading", "ハーフレディング", "行間", "hl", "lh", "--hl"],
197
+ "snippet": "line-heightをハーフレディング(文字上下の余白)で管理する仕組み。`calc(1em + var(--hl) * 2)` によりフォントサイズに依存しない一定の行間を実現。--hl--xs/s/base/l のトークンと -hl:{token} クラス(正規)・-lh:{token}(互換ショートカット)の使い方を解説。"
186
198
  },
187
199
  {
188
200
  "sourcePath": "tokens/spacing.mdx",
@@ -240,6 +252,7 @@
240
252
  "fz",
241
253
  "fw",
242
254
  "ff",
255
+ "hl",
243
256
  "lh",
244
257
  "d",
245
258
  "ta",
@@ -372,16 +385,40 @@
372
385
  "bdi",
373
386
  "bgs"
374
387
  ],
375
- "snippet": "単一のCSSプロパティに対応するユーティリティクラス。-{prop}:{value} の形式(例: -g:5, -p:20, -fz:l)。HTMLでは class=\"-g:5\" のように使用。レスポンシブ対応の -_{bp} 形式もサポート。BPカラムは sm/md 対応が ✔、lg まで対応が ✔ lg、非対応が - で示される。"
388
+ "snippet": "単一のCSSプロパティに対応するユーティリティクラス。-{prop}:{value} の形式(例: -g:5, -p:20, -fz:l)。HTMLでは class=\"-g:5\" のように使用。レスポンシブ対応の -_{bp} 形式もサポート。BPカラムは sm/md/lg 対応が ✔、非対応が - で示される。"
376
389
  },
377
390
  {
378
391
  "sourcePath": "responsive.mdx",
379
392
  "title": "Responsive",
380
393
  "description": "Lism CSS におけるブレイクポイントとレスポンシブ対応の仕組みについて解説します。",
381
394
  "category": "guide",
382
- "headings": ["レスポンシブ対応", "プロパティによってCSSの実装の中身が少し異なります", "コンテナクエリ・メディアクエリ", "ブレイクポイント"],
383
- "keywords": ["responsive", "レスポンシブ", "ブレークポイント", "breakpoint", "コンテナクエリ", "container query", "sm", "md", "lg", "alwaysVar"],
384
- "snippet": "CSS変数とクラスを組み合わせたレスポンシブ対応。コンテナクエリをデフォルトで採用。p={[20, 30, 40]} のような配列記法で sm/md ブレークポイントの値を指定。CSSの実装パターンは「ブレークポイントごとに上書き」と「常に変数で参照(alwaysVar)」の2種類がある。ブレークポイントは sm(480px) / md(800px) / lg(1120px) の3段階。d・g・cols・グリッド系(gtc/gta/gtr/ga/gc/gr)は lg までサポート。"
395
+ "headings": [
396
+ "レスポンシブ対応",
397
+ "配列記法とオブジェクト記法",
398
+ "プロパティによってCSSの実装の中身が少し異なります",
399
+ "コンテナクエリ・メディアクエリ",
400
+ "ブレイクポイント",
401
+ "型補完で提示されるブレイクポイント"
402
+ ],
403
+ "keywords": [
404
+ "responsive",
405
+ "レスポンシブ",
406
+ "ブレークポイント",
407
+ "breakpoint",
408
+ "コンテナクエリ",
409
+ "container query",
410
+ "sm",
411
+ "md",
412
+ "lg",
413
+ "alwaysVar",
414
+ "xs",
415
+ "xl",
416
+ "配列記法",
417
+ "オブジェクト記法",
418
+ "BreakpointRegistry",
419
+ "lism-env.d.ts"
420
+ ],
421
+ "snippet": "CSS変数とクラスを組み合わせたレスポンシブ対応。コンテナクエリをデフォルトで採用。p={[20, 30, 40, 50]} のような配列記法(base→sm→md→lg→xl の順で固定)またはオブジェクト記法({ base, sm, md, lg })でブレークポイントの値を指定。xs は配列記法では指定できずオブジェクト記法のみ。CSSの実装パターンは「ブレークポイントごとに上書き」と「常に変数で参照(alwaysVar)」の2種類がある。ブレークポイントは sm(480px) / md(800px) / lg(1120px) の3段階で xs / xl は予約済みだがデフォルト無効。型補完は `@lism-css/plugin` 統合プラグイン使用時に lism-env.d.ts で自動生成、不使用時は BreakpointRegistry を手書き拡張。"
385
422
  },
386
423
  {
387
424
  "sourcePath": "reset-css.mdx",
@@ -395,27 +432,108 @@
395
432
  {
396
433
  "sourcePath": "customize.mdx",
397
434
  "title": "Customize",
398
- "description": "SCSS変数の上書きや@layerの切り替えなど、Lism CSS をカスタマイズする方法について解説します。",
435
+ "description": "Lism CSS のカスタマイズ方法の全体像。ビルドCSSの選択・lism.config.js・SCSS・CSS Purge のどれを使うべきかを目的別に案内します。",
436
+ "category": "guide",
437
+ "headings": ["カスタマイズの入口"],
438
+ "keywords": ["customize", "カスタマイズ", "設定", "config", "テーマ", "theme", "SCSS", "full.css", "isFullMode", "purge"],
439
+ "snippet": "Lism CSS のカスタマイズ方法の全体像。目的に応じて「CSSビルドの選択」「lism.config.js でのカスタマイズ」「SCSS でのカスタマイズ」「CSS Purge」の4つの入口を案内する概要ハブページ。"
440
+ },
441
+ {
442
+ "sourcePath": "customize/build.mdx",
443
+ "title": "CSSビルドの選択",
444
+ "description": "@layer のオン / オフや full.css への切り替えなど、読み込むビルド済みCSSを選ぶ方法を解説します。",
445
+ "category": "guide",
446
+ "headings": ["@layer をオフにする", "全部入りビルド(full.css)を使う", "isFullMode"],
447
+ "keywords": [
448
+ "customize",
449
+ "カスタマイズ",
450
+ "build",
451
+ "ビルド",
452
+ "CSS",
453
+ "@layer",
454
+ "full.css",
455
+ "isFullMode",
456
+ "main.css",
457
+ "main_no_layer.css",
458
+ "full_no_layer.css"
459
+ ],
460
+ "snippet": "lism-css パッケージに同梱された複数のビルド済みCSSの使い分けを解説。main.css(標準)/ main_no_layer.css(@layerなし)/ full.css(全部入り、purge前提)/ full_no_layer.css から選択可能。full.css には main.css 非収録の全 Property Class ブレイクポイント対応クラスやスペーシング系トークンユーティリティを含む。isFullMode(lism.config.js で設定)でコンポーネント出力も full.css に合わせられる。@lism-css/plugin の統合プラグイン使用時は型も isFullMode に自動追従(lism-env.d.ts 生成)。"
461
+ },
462
+ {
463
+ "sourcePath": "customize/config.mdx",
464
+ "title": "lism.config.js でのカスタマイズ",
465
+ "description": "lism.config.js と @lism-css/plugin を使って、コンポーネントの props / tokens / traits やブレイクポイントを拡張する方法を解説します。",
399
466
  "category": "guide",
400
467
  "headings": [
401
- "@layerをオフにする",
402
- "SCSS でのカスタマイズ",
403
- "上書き可能な変数",
404
- "基本フォーマット",
405
- "$props の個別カスタマイズ",
406
- "SCSSのコンパイル処理について",
407
- "lism.config.js でのカスタマイズ",
408
- "Vite プラグインの登録(必須)",
468
+ "Vite / Astro プラグインの登録(必須)",
409
469
  "フォーマット",
410
470
  "カスタマイズ例",
471
+ "ブレイクポイント(xs / xl)の有効化",
411
472
  "追加スタイルを読み込ませる方法",
473
+ "Vite / Astro プラグイン使用時は自動反映される",
412
474
  "軽微な追加なら手書きで済ませる",
413
475
  "lism-css のCLIコマンドでCSSビルドする",
414
- "手動で追加する方法",
415
476
  "SCSSファイルへの追加上書き"
416
477
  ],
417
- "keywords": ["customize", "カスタマイズ", "設定", "config", "テーマ", "theme", "SCSS"],
418
- "snippet": "Lism CSS のトークンやスタイルのカスタマイズ方法について解説。SCSSの変数上書きやlism.config.jsでのコンポーネント挙動のカスタマイズが可能。"
478
+ "keywords": [
479
+ "customize",
480
+ "カスタマイズ",
481
+ "config",
482
+ "lism.config.js",
483
+ "@lism-css/plugin",
484
+ "props",
485
+ "tokens",
486
+ "traits",
487
+ "breakpoints",
488
+ "ブレイクポイント",
489
+ "xs",
490
+ "xl"
491
+ ],
492
+ "snippet": "lism.config.js を使ったコンポーネントの挙動カスタマイズ方法。@lism-css/plugin の統合プラグイン登録(必須)から props / tokens / traits の追加・拡張、ブレイクポイント(xs / xl)の有効化、追加スタイルの読み込み方法(自動反映・CLI・手書き・SCSS)まで解説。"
493
+ },
494
+ {
495
+ "sourcePath": "customize/scss.mdx",
496
+ "title": "SCSS でのカスタマイズ",
497
+ "description": "lism-css の SCSS 変数(setting モジュールの $breakpoints / $props など)を上書きして、出力されるクラスやブレイクポイントを調整する方法を解説します。",
498
+ "category": "guide",
499
+ "headings": [
500
+ "上書き可能な変数",
501
+ "基本フォーマット",
502
+ "$props の個別カスタマイズ",
503
+ "ブレイクポイント(xs / xl)の有効化",
504
+ "SCSSのコンパイル処理について"
505
+ ],
506
+ "keywords": [
507
+ "customize",
508
+ "カスタマイズ",
509
+ "SCSS",
510
+ "setting",
511
+ "$props",
512
+ "$breakpoints",
513
+ "Property Class",
514
+ "出力クラス",
515
+ "ブレイクポイント",
516
+ "CSS出力"
517
+ ],
518
+ "snippet": "lism-css の setting モジュールの SCSS 変数を @use ... with (...) で上書きして、出力されるクラスやブレイクポイントを調整する方法。$breakpoints / $is_container_query / $default_important / $props の個別カスタマイズ(bp・important・utilities)、ブレイクポイント(xs / xl)の有効化などを解説。純 SCSS 構成向け。"
519
+ },
520
+ {
521
+ "sourcePath": "customize/purge.mdx",
522
+ "title": "CSS Purge",
523
+ "description": "ビルド時に未使用の Lism CSS クラスを削除し、本番 CSS を軽量化するパージプラグインのセットアップと使い方。",
524
+ "category": "guide",
525
+ "headings": [
526
+ "推奨セットアップ(統合プラグイン経由)",
527
+ "仕組み",
528
+ "単体プラグインを直接使う場合",
529
+ "full.css と組み合わせる",
530
+ "オプション",
531
+ "safelist",
532
+ "report",
533
+ "注意事項"
534
+ ],
535
+ "keywords": ["purge", "CSS purge", "パージ", "軽量化", "未使用", "full.css", "@lism-css/plugin", "lismPurge", "safelist", "build"],
536
+ "snippet": "ビルド成果物をスキャンして使用中の Lism CSS クラスだけを残すパージ機能。@lism-css/plugin の統合プラグインで purge: true を渡すだけで有効化可能。仕組み・単体プラグイン直接利用・full.css との併用・safelist / report オプション・注意事項を解説。"
419
537
  },
420
538
  {
421
539
  "sourcePath": "utility-class.mdx",
@@ -522,58 +640,77 @@
522
640
  "description": "Lism CSS の各バージョンにおける変更履歴をまとめています。",
523
641
  "category": "guide",
524
642
  "headings": [
643
+ "lism-css v.0.23.0 (2026.06.19)",
644
+ "ビルド/プラグイン層を `@lism-css/plugin` へ分離 (#439)",
645
+ "トークンを値付きの単一情報源に刷新 (#434)",
646
+ "ブレイクポイント / フルビルド",
647
+ "その他",
648
+ "`@lism-css/plugin` v.0.3.0 (2026.06.19)",
649
+ "`@lism-css/ui` v.0.23.0 (2026.06.19)",
650
+ "lism-css v.0.22.2 (2026.06.03)",
651
+ "`@lism-css/ui` v.0.22.2 (2026.06.03)",
652
+ "lism-css v.0.22.1 (2026.05.30)",
653
+ "`@lism-css/ui` v.0.22.1 (2026.06.02)",
525
654
  "lism-css v.0.22.0 (2026.05.28)",
526
655
  "AutoColumns のデフォルトモード変更 (#408)",
527
656
  "ユーティリティ・トークン名の整理",
528
657
  "フォームコントロールのスタイル調整",
529
658
  "その他",
530
- "@lism-css/ui v.0.22.0 (2026.05.28)",
659
+ "`@lism-css/ui` v.0.22.0 (2026.05.28)",
531
660
  "lism-css v.0.21.0 (2026.05.26)",
532
661
  "set クラスの命名変更 (#404)",
533
662
  "contentSize Prop と set--bleed の追加 (#405)",
534
- "@lism-css/ui v.0.21.0 (2026.05.26)",
663
+ "その他",
664
+ "`@lism-css/ui` v.0.21.0 (2026.05.26)",
535
665
  "lism-css v.0.20.0 (2026.05.20)",
536
666
  "方向系 Property Class の命名整理 (#378)",
537
667
  "ブレークポイント対応プロパティの整理 (#394)",
538
668
  "hover 色のデフォルト変更 (#381)",
539
- "@lism-css/ui v.0.20.0 (2026.05.20)",
669
+ "その他",
670
+ "`@lism-css/ui` v.0.20.0 (2026.05.20)",
540
671
  "lism-css v.0.18.0 (2026.05.17)",
541
- "--sz--* トークンを px 統一・80px 刻みで再設計 (#364)",
542
- "spacing tokens 拡充と set--var:s の新設 (#377)",
672
+ "`--sz--*` トークンを px 統一・80px 刻みで再設計 (#364)",
673
+ "spacing tokens 拡充と `set--var:s` の新設 (#377)",
674
+ "その他",
543
675
  "lism-css v.0.17.0 (2026.05.09)",
544
- "-max-sz:bleed の新設 (#360)",
545
- "--REM 廃止と --fz--base の簡素化",
546
- "a タグのリンク装飾スタイル廃止",
676
+ "`-max-sz:bleed` の新設 (#360)",
677
+ "`--REM` 廃止と `--fz--base` の簡素化",
678
+ "`a` タグのリンク装飾スタイル廃止",
547
679
  "Bug Fixes",
548
- "@lism-css/ui v.0.17.0 (2026.05.09)",
680
+ "その他",
681
+ "`@lism-css/ui` v.0.17.0 (2026.05.09)",
549
682
  "lism-css v.0.16.1 (2026.04.29)",
550
683
  "lism-css v.0.16.0 (2026.04.21)",
551
- "u--trimChildren のリネームと除外方式の整理 (#324, #326)",
552
- "u--collapseGrid のリネームと u--divide の追加 (#323)",
684
+ "`u--trimChildren` のリネームと除外方式の整理 (#324, #326)",
685
+ "`u--collapseGrid` のリネームと `u--divide` の追加 (#323)",
553
686
  "opacity トークンの命名変更 (#316)",
554
687
  "Layout Primitive の命名整理 (#319)",
555
- "@lism-css/ui v.0.16.0 (2026.04.21)",
688
+ "その他",
689
+ "`@lism-css/ui` v.0.16.0 (2026.04.21)",
556
690
  "lism-css v.0.15.0 (2026.04.21)",
557
691
  "CSSレイヤー構造の再編 (#304)",
558
- "set-- クラスの刷新 (#304)",
559
- "-hov: クラスの命名整理 (#300)",
692
+ "`set--` クラスの刷新 (#304)",
693
+ "`-hov:` クラスの命名整理 (#300)",
560
694
  "シャドウトークンの刷新 (#311)",
561
- "@lism-css/ui v.0.15.0 (2026.04.21)",
695
+ "その他",
696
+ "`@lism-css/ui` v.0.15.0 (2026.04.21)",
562
697
  "lism-css v.0.14.0 (2026.04.17)",
563
698
  "Props システムの整理",
564
699
  "Property Class のリネーム",
565
700
  "Trait Class / トークンの整理",
566
- "@lism-css/ui v.0.14.0 (2026.04.17)",
701
+ "その他",
702
+ "`@lism-css/ui` v.0.14.0 (2026.04.17)",
567
703
  "lism-css v.0.13.1 (2026.04.15)",
568
- "@lism-css/ui v.0.13.1 (2026.04.15)",
704
+ "`@lism-css/ui` v.0.13.1 (2026.04.15)",
569
705
  "lism-css v.0.13.0 (2026.04.14)",
570
706
  "Module → Primitive 概念リネーム",
571
707
  "State → Trait 識別子の統一",
572
708
  "set / util props の統一",
573
709
  "Trait Class / 命名整理",
574
- "@lism-css/ui v.0.13.0 (2026.04.14)",
575
- "@lism-css/ui v.0.12.0 (2026.04.10)",
576
- "@lism-css/ui v.0.11.0 (2026.04.05)",
710
+ "その他",
711
+ "`@lism-css/ui` v.0.13.0 (2026.04.14)",
712
+ "`@lism-css/ui` v.0.12.0 (2026.04.10)",
713
+ "`@lism-css/ui` v.0.11.0 (2026.04.05)",
577
714
  "v.0.12.0 (2026.04.10)",
578
715
  "v.0.11.0 (2026.04.05)",
579
716
  "v.0.10.5 (2026.04.05)",
@@ -581,17 +718,25 @@
581
718
  "v.0.10.3 (2026.04.04)",
582
719
  "v.0.10.2 (2026.04.04)",
583
720
  "v.0.10.1 (2026.04.03)",
721
+ "`<HTML.xxx>` を廃止し、セマンティックラッパーコンポーネントに置き換え",
584
722
  "lism-css v.0.9.4 (2026.03.31)",
585
- "@lism-css/ui v.0.9.3 (2026.03.30)",
723
+ "`@lism-css/ui` v.0.9.3 (2026.03.30)",
586
724
  "v.0.9.2 (2026.03.18)",
587
725
  "v.0.9.1 (2026.03.18)",
588
726
  "v.0.9.0 (2026.03.17)",
589
727
  "v.0.8.3",
590
728
  "v.0.8.2",
591
- "v.0.8 (大幅な変更)"
729
+ "v.0.8 (大幅な変更)",
730
+ "[重要] line-heightの仕様を変更しました。",
731
+ "レイアウトモジュールの変更点",
732
+ "ダイナミックモジュールの削除",
733
+ "トークン・CSS変数の変更点",
734
+ "Property Class の変更点",
735
+ "ユーティリティクラスの変更点",
736
+ "コンテンツサイズ管理クラスの変更点"
592
737
  ],
593
738
  "keywords": ["changelog", "変更履歴", "更新", "バージョン", "u--cells", "u--enclose", "rename", "リネーム", "migration", "移行"],
594
- "snippet": "Lism CSS の各バージョンにおける変更内容を記載。v.0.22.0 (2026.05.28) では AutoColumns のデフォルトを auto-fit から auto-fill へ変更、ユーティリティ・トークン名の整理(u--cells → u--enclose, テーブルセル変数を --cells-p に整理, --gutter-size を --gutter/--gutter--base 構造へ整理)、フォームコントロールのスタイル調整(border-radius 削除・padding を em 単位に変更)。v.0.21.0 では set クラスの命名変更(set--var:xxx → set--xxx、#404)、contentSize Prop と set--bleed の追加(#405)。v.0.20.0 の破壊的変更として方向系 Property Class の命名整理(px-s/px-e → ps/pe、bd-x-s → bd-s 等、#378)、bp デフォルトサポート見直し(pl/pr/pt/pb 等廃止、d/g/cols/グリッド系は lg まで拡張、#394)、-hov:-bgc のデフォルト色変更と --neutral トークン追加(#381)など。v.0.18.0 では --sz--* トークンの px 統一・80px 刻みでの再設計(#364)、spacing tokens 拡充と set--s 新設(s25/s35 追加、#377)。v.0.17.0 では -max-sz:container 廃止と -max-sz:bleed 新設(#360)、--REM 廃止と --fz--base の 1rem 統一、a タグのリンク装飾スタイル廃止など。v.0.16.0 では Layout Primitive 命名整理(l--sideMain → l--withSide, l--fluidCols → l--autoColumns, l--switchCols → l--switchColumns)などがある。"
739
+ "snippet": "Lism CSS の各バージョンにおける変更内容を記載。v.0.23.0 (2026.06.19) では破壊的変更としてビルド/プラグイン層を新パッケージ @lism-css/plugin へ分離(lism-css/vite 等のエクスポートを廃止)、tokens を「キー: 値」のフラットマップに刷新(tokenValues チャンネル廃止・c を color に改名)、xs ブレイクポイントのオプトイン対応・full.css / isFullMode の追加(#428, #423, #425)、標準 BP デフォルトを md → lg に拡大など。@lism-css/ui v.0.23.0 では Badge/Button/Chat の lh を hl へ移行。v.0.22.2 (2026.06.03) では --green 彩度微調整・alert アイコン変更、@lism-css/ui で Alert/Callout に tip プリセット追加・プリセット整理。v.0.22.1 (2026.05.30) では ':' 単体を true 相当のフラグとして対応・0.22.0 パッケージング修正、@lism-css/ui で NavMenu.Link にデフォルト hov 付与・Accordion.Item に isOpen prop 追加・Modal スクロールバーがたつき防止。v.0.22.0 (2026.05.28) では AutoColumns のデフォルトを auto-fit から auto-fill へ変更、ユーティリティ・トークン名の整理(u--cells → u--enclose, --cells-p に整理, --gutter/--gutter--base 構造へ整理)、フォームコントロールのスタイル調整(border-radius 削除・padding を em 単位に変更)。v.0.21.0 では set クラスの命名変更(set--var:xxx → set--xxx、#404)、contentSize Prop と set--bleed の追加(#405)。v.0.20.0 の破壊的変更として方向系 Property Class の命名整理(ps/pe/pbs/pbe、bd-s/bd-e/bd-bs/bd-be 等、#378)、bp デフォルトサポート見直し(pl/pr/pt/pb 等廃止、d/g/cols/グリッド系は lg まで拡張、#394)、-hov:-bgc のデフォルト色変更と --neutral トークン追加(#381)など。v.0.18.0 では --sz--* トークンの px 統一・80px 刻みでの再設計(#364)、spacing tokens 拡充と set--s 新設(s25/s35 追加、#377)。v.0.17.0 では -max-sz:bleed 新設(#360)、--REM 廃止と --fz--base の 1rem 統一、a タグのリンク装飾スタイル廃止など。v.0.16.0 では Layout Primitive 命名整理(l--sideMain → l--withSide, l--fluidCols → l--autoColumns, l--switchCols → l--switchColumns)などがある。"
595
740
  },
596
741
  {
597
742
  "sourcePath": "property-class/bd.mdx",
@@ -672,6 +817,7 @@
672
817
  "CSS Props",
673
818
  "コード例",
674
819
  ": でクラスとして強制的に出力",
820
+ ": 単体を指定した場合",
675
821
  "レスポンシブ指定",
676
822
  "exProps",
677
823
  "クラスの出力順"
@@ -1164,10 +1310,23 @@
1164
1310
  "ソースコード",
1165
1311
  "Examples",
1166
1312
  "見出しタグを変更する",
1167
- "アニメーション時間を変更し、複数同時展開を許可する"
1313
+ "アニメーション時間を変更する",
1314
+ "最初の一つを開いた状態にする",
1315
+ "複数同時展開を許可する"
1316
+ ],
1317
+ "keywords": [
1318
+ "Accordion",
1319
+ "アコーディオン",
1320
+ "開閉",
1321
+ "toggle",
1322
+ "FAQ",
1323
+ "折りたたみ",
1324
+ "collapsible",
1325
+ "isOpen",
1326
+ "allowMultiple",
1327
+ "hidden until-found"
1168
1328
  ],
1169
- "keywords": ["Accordion", "アコーディオン", "開閉", "toggle", "FAQ", "折りたたみ", "collapsible"],
1170
- "snippet": "クリックでコンテンツの開閉を切り替えるアコーディオンUI。@lism-css/uiパッケージで提供。"
1329
+ "snippet": "クリックでコンテンツの開閉を切り替えるアコーディオンUI。div/button ベースで JS により開閉アニメーションを制御。hidden=\"until-found\" によりブラウザのページ内検索対応。isOpen で初期展開、allowMultiple で複数同時展開が可能。@lism-css/uiパッケージで提供。"
1171
1330
  },
1172
1331
  {
1173
1332
  "sourcePath": "ui/Modal.mdx",
@@ -1244,22 +1403,24 @@
1244
1403
  "Props",
1245
1404
  "ソースコード",
1246
1405
  "Examples",
1247
- "layout を切り替える",
1248
- "type一覧",
1249
1406
  "カラーとアイコンを指定する例",
1407
+ "`l--withSide` を使ってレスポンシブ対応",
1408
+ "ボタン付き + ブレイクポイントによるレスポンシブ対応",
1409
+ "`l--withSide` を使ったレスポンシブ対応",
1410
+ "type一覧",
1250
1411
  "Only lism-css"
1251
1412
  ],
1252
- "keywords": ["Alert", "アラート", "注意", "notice", "warning", "info", "お知らせ", "通知"],
1253
- "snippet": "短めの文言を目立たせて強調表示したい時に使えるコンポーネント。アイコンとキーカラーでバリエーション。"
1413
+ "keywords": ["Alert", "アラート", "注意", "notice", "warning", "info", "お知らせ", "通知", "type", "keycolor", "icon", "withSide", "layout"],
1414
+ "snippet": "短めの文言を目立たせて強調表示したい時に使えるコンポーネント。type prop(alert/point/warning/check/info/help/note/tip)でアイコンとキーカラーをまとめて設定。layout=\"withSide\" でコンテナ幅が狭い時に縦並び対応。@lism-css/uiパッケージで提供。"
1254
1415
  },
1255
1416
  {
1256
1417
  "sourcePath": "ui/Callout.mdx",
1257
1418
  "title": "Callout",
1258
1419
  "description": "@lism-css/ui で提供する Callout コンポーネントについて解説します。",
1259
1420
  "category": "ui",
1260
- "headings": ["How to use", "Import", "Props", "ソースコード", "Examples", "type一覧", "iconkeycolorを指定", "Only lism-css"],
1261
- "keywords": ["Callout", "コールアウト", "補足", "note", "注意書き", "強調ボックス", "highlight"],
1262
- "snippet": "記事の中で重要なポイントを示すためのコンポーネント。@lism-css/uiパッケージで提供。"
1421
+ "headings": ["How to use", "Import", "Props", "ソースコード", "Examples", "type一覧", "`icon`、`keycolor`を指定", "Only lism-css"],
1422
+ "keywords": ["Callout", "コールアウト", "補足", "note", "注意書き", "強調ボックス", "highlight", "type", "keycolor", "icon", "title"],
1423
+ "snippet": "記事の中で重要なポイントを示すためのコンポーネント。type prop(info/alert/warning/point/check/help/note/tip)でアイコンとキーカラーをまとめて設定。title でタイトルテキストを表示。@lism-css/uiパッケージで提供。"
1263
1424
  },
1264
1425
  {
1265
1426
  "sourcePath": "ui/Button.mdx",
@@ -1334,7 +1495,7 @@
1334
1495
  "Examples",
1335
1496
  "シンプルな例",
1336
1497
  "アイコンやバッジを表示する例",
1337
- "各リストのpaddingを一括で調整する方法",
1498
+ "各リストの共通スタイルを一括で指定する方法",
1338
1499
  "メニューのネスト",
1339
1500
  "ネストしたメニューをアコーディオンで展開する",
1340
1501
  "横並びメニューでホバー時に子メニューを表示する例"
@@ -9,7 +9,7 @@ description: "Lism CSS の設計・実装に関するガイド。CSSの編集・
9
9
 
10
10
  調和と統一感を生み出すデザイントークン設計、`@layer`で管理されるプリミティブ設計、CSS変数を活かした柔軟でレスポンシブなユーティリティ設計が特徴です。
11
11
 
12
- > **バージョン情報:** このガイドは `lism-css@0.22.0` / `@lism-css/ui@0.22.0` 時点の情報に基づいています。プロジェクトで使用中のバージョンを確認し、このガイドのバージョンと異なる場合はユーザーに通知してください。
12
+ > **バージョン情報:** このガイドは `lism-css@0.23.0` / `@lism-css/ui@0.23.0` 時点の情報に基づいています。プロジェクトで使用中のバージョンを確認し、このガイドのバージョンと異なる場合はユーザーに通知してください。
13
13
 
14
14
  公式ドキュメント: https://lism-css.com/docs/overview.md
15
15
 
@@ -19,12 +19,13 @@ description: "Lism CSS の設計・実装に関するガイド。CSSの編集・
19
19
  ### CDNでCSSファイルのみ読み込む場合
20
20
 
21
21
  ```html
22
- <link href="https://cdn.jsdelivr.net/npm/lism-css@0.16.0/dist/css/main.css" rel="stylesheet" />
22
+ <link href="https://cdn.jsdelivr.net/npm/lism-css@0/dist/css/main.css" rel="stylesheet" />
23
23
  ```
24
24
 
25
25
  ### npm パッケージ
26
26
 
27
27
  - `lism-css` — コアパッケージ。Lism CSS本体となるCSSファイル、レイアウトプリミティブ、デザイントークン、Property Class、React/Astroコンポーネントを提供。
28
+ - `@lism-css/plugin` — Vite / Astro / Next.js 統合、動的CSSビルド、CSS purge、`lism-css build` CLIを提供。
28
29
  - `@lism-css/ui` — `lism-css` を使って構築された UI コンポーネントライブラリ。Accordion, Modal, Tabs, Button, Badge, Callout 等を React/Astro で提供。
29
30
 
30
31
  ### CSS 読み込み
@@ -49,6 +50,10 @@ import { Tabs } from '@lism-css/ui/astro/Tabs';
49
50
  import { Button } from '@lism-css/ui/astro/Button';
50
51
  ```
51
52
 
53
+ ### CSS Purge(未使用CSSの削除)
54
+
55
+ 本番ビルド時に未使用の Lism CSS クラスを取り除いて出力 CSS を軽量化できます。`@lism-css/plugin/vite` / `@lism-css/plugin/astro` の統合プラグインを使っている場合は、各エントリの `lismCss({ purge: true })` で有効化するのが簡単です。統合プラグインを使わない場合は単体プラグイン `@lism-css/plugin/purge/vite`(Vite)/ `@lism-css/plugin/purge/astro`(Astro)も利用できます。詳細は https://lism-css.com/docs/customize/purge/ を参照。
56
+
52
57
 
53
58
  ## 実装ルール
54
59
 
@@ -327,9 +327,9 @@ BP 専用クラス(`-{prop}_{bp}`)やコンポーネントの BP キー(`{
327
327
 
328
328
  ### ブレイクポイントの誤用
329
329
 
330
- Lism CSS の標準出力で有効な BP は `sm: 480px` / `md: 800px` まで。`lg` 以降を使う場合は SCSS 設定で出力範囲を拡張する必要がある。`xs` は BP キーとして存在しない。
330
+ Lism CSS の標準出力で有効な BP は `sm: 480px` / `md: 800px` / `lg: 1120px`。`xs` は BP キーとして存在しない。
331
331
 
332
332
  | NG | OK | 理由 |
333
333
  |---|---|---|
334
334
  | `<Box p={{ xs: 10, sm: 20 }}>` | `<Box p={{ base: 10, sm: 20 }}>` | デフォルトは `base`(`xs` キーは無い) |
335
- | `cols={[1, 2, 3, 4]}` | `cols={[1, 2, 3]}` | 標準出力では `[base, sm, md]` までが有効。`lg` 以降は SCSS 設定が必要 |
335
+ | `cols={[1, 2, 3, 4, 5]}` | `cols={[1, 2, 3, 4]}` | 標準出力では `[base, sm, md, lg]` までが有効。`xl` 以降は SCSS 設定が必要 |
@@ -21,9 +21,10 @@ Lism CSS は `@layer lism-base` レイヤーで、Reset CSS・HTML要素のベ
21
21
 
22
22
  - `box-sizing: border-box` の全要素適用
23
23
  - `margin: 0` の全要素適用(`<dialog>` を除く)
24
- - `overflow: clip` を `<html>` に適用(横スクロール防止)
25
- - `body` に `min-height: 100dvh`
26
- - メディア要素(`img`, `video`, `iframe`)に `max-inline-size: 100%`, `block-size: auto`
24
+ - `overflow-x: clip` を `<html>` に適用(横スクロール防止)。`:modal[open]` がある間は `overflow: clip`
25
+ - `body` に `min-height: 100dvh`、`overflow: inherit`
26
+ - メディア要素(`svg`, `img`, `video`, `audio`, `iframe`, `object`, `canvas`)に `max-inline-size: 100%`。`img` / `video` には `block-size: auto`
27
+ - クラスを持つリスト(`menu`, `:is(ul, ol)[class]`)は `list-style: none` + `padding: 0`
27
28
  - フォーム要素のフォント・カラー継承
28
29
 
29
30
 
@@ -50,6 +50,7 @@ import { Button } from '@lism-css/ui/astro/Button';
50
50
  | Prop | 対象 | 型 | デフォルト | 説明 |
51
51
  |------|------|-----|----------|------|
52
52
  | `allowMultiple` | Root | `boolean` | — | 複数アイテムの同時展開を許可 |
53
+ | `isOpen` | Item / Button / Panel | `boolean` | `false` | アイテムを初期展開。Item・Button・Panel の3つ揃えて指定(Item=`data-opened` 付与、Button=`aria-expanded`、Panel=`hidden` 解除) |
53
54
  | `as` | Heading | `string` | `div` | 見出しのHTMLタグ。`div` 時は `role='heading'` が自動付与。`h2`〜`h6` 指定時は role なし |
54
55
  | `flow` | Panel | `string` | — | パネル内コンテンツ領域(`c--accordion_content`)のフロー余白 |
55
56
 
@@ -70,10 +71,11 @@ import { Button } from '@lism-css/ui/astro/Button';
70
71
  ソース: [Alert/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Alert)
71
72
 
72
73
  短めの文言を目立たせて強調表示するアラートボックス。`type` プリセットによりアイコンとカラーが自動設定される。
74
+ プリセット: `alert`=alert/red, `point`=lightbulb/orange(`tip`も同じ), `warning`=warning/yellow, `check`=check-circle/green, `help`=question/purple, `info`=info/blue, `note`=note/gray。
73
75
 
74
76
  | Prop | 型 | デフォルト | 説明 |
75
77
  |------|-----|----------|------|
76
- | `type` | `'alert' \| 'point' \| 'warning' \| 'check' \| 'help' \| 'info'` | `'alert'` | アラートタイプ。keycolor と icon の組み合わせプリセット |
78
+ | `type` | `'alert' \| 'point' \| 'tip' \| 'warning' \| 'check' \| 'help' \| 'info' \| 'note'` | `'alert'` | アラートタイプ。keycolor と icon の組み合わせプリセット |
77
79
  | `keycolor` | `string` | — | キーカラー |
78
80
  | `icon` | `ReactNode \| string` | — | カスタムアイコン |
79
81
  | `layout` | `'flex' \| 'withSide'` | `'flex'` | レイアウトプリミティブ |
@@ -139,17 +141,18 @@ import { Button } from '@lism-css/ui/astro/Button';
139
141
  ソース: [Callout/](https://github.com/lism-css/lism-css/tree/main/packages/lism-ui/src/components/Callout)
140
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
145
 
143
146
  | Prop | 型 | デフォルト | 説明 |
144
147
  |------|-----|----------|------|
145
- | `type` | `'note' \| 'alert' \| 'point' \| 'warning' \| 'check' \| 'help'` | `'note'` | コールアウトタイプ |
148
+ | `type` | `'alert' \| 'point' \| 'tip' \| 'warning' \| 'check' \| 'help' \| 'info' \| 'note'` | `'note'` | コールアウトタイプ |
146
149
  | `keycolor` | `string` | — | キーカラー |
147
150
  | `icon` | `ReactNode \| string` | — | カスタムアイコン |
148
151
  | `title` | `string` | — | タイトルテキスト |
149
152
  | `flow` | `string` | `'s'` | コンテンツ部分のフロー余白 |
150
153
 
151
154
  ```jsx
152
- <Callout type='note' title='Important' keycolor='blue'>Important note</Callout>
155
+ <Callout type='note' title='Note'>Supplemental note</Callout>
153
156
  ```
154
157
 
155
158
 
@@ -237,7 +240,8 @@ HTML の `details/summary` 要素をラップしたコンポーネント。Accor
237
240
  | `hovBgc` | Root | `string` | — | ホバー時の背景カラー。`--hov-bgc` 変数として出力 |
238
241
  | `hovC` | Root | `string` | — | ホバー時のテキストカラー。`--hov-c` 変数として出力 |
239
242
  | `itemP` | Root | `string` | — | 各アイテムのパディング。`--_item-p` 変数として出力 |
240
- | `href` | Link | `string` | — | リンク先URL。指定ありで `a` 要素、なしで `span` 要素 |
243
+ | `href` | Link | `string` | — | リンク先URL(Link は常に `a` 要素として出力) |
244
+ | `hov` | Link | `string` | `-bgc` | ホバー時のスタイル。デフォルトで背景色が変化 |
241
245
 
242
246
  ```jsx
243
247
  <NavMenu.Root>
@@ -9,7 +9,13 @@
9
9
  - [`lism.config.js` でのカスタマイズ](#lismconfigjs-でのカスタマイズ)
10
10
  - [追加スタイルを読み込ませる方法](#追加スタイルを読み込ませる方法)
11
11
 
12
- [詳細](https://lism-css.com/docs/customize.md)
12
+ 詳細(公式ドキュメント):
13
+
14
+ - 概要: [https://lism-css.com/docs/customize/](https://lism-css.com/docs/customize/)
15
+ - CSSビルドの選択(`@layer` / `full.css` / `isFullMode`): [https://lism-css.com/docs/customize/build/](https://lism-css.com/docs/customize/build/)
16
+ - `lism.config.js`(props / tokens / traits・breakpoints・追加スタイル): [https://lism-css.com/docs/customize/config/](https://lism-css.com/docs/customize/config/)
17
+ - SCSS(`$setting` / `$props`・BP上書き): [https://lism-css.com/docs/customize/scss/](https://lism-css.com/docs/customize/scss/)
18
+ - CSS Purge: [https://lism-css.com/docs/customize/purge/](https://lism-css.com/docs/customize/purge/)
13
19
 
14
20
  ---
15
21
 
@@ -39,8 +45,7 @@ import 'lism-css/main_no_layer.css';
39
45
 
40
46
  | 変数 | 用途 | デフォルト |
41
47
  |------|------|-----------|
42
- | `$breakpoints` | ブレイクポイント数値の定義 | `('sm': '480px', 'md': '800px', 'lg': '1120px')` |
43
- | `$common_support_bp` | 主要な Property Class が共通サポートするブレイクポイント上限 | `'md'` |
48
+ | `$breakpoints` | ブレイクポイント数値の定義(`0` は無効=クエリを出力しない) | `('xs': 0, 'sm': '480px', 'md': '800px', 'lg': '1120px', 'xl': 0)` |
44
49
  | `$is_container_query` | コンテナクエリで出力するか(`1` = container query, `0` = media query) | `1` |
45
50
  | `$default_important` | Property Class にデフォルトで `!important` を付与するか | `0` |
46
51
  | `$props` | Property Class ごとの個別出力設定 | `prop-config` のデフォルト |
@@ -53,7 +58,6 @@ import 'lism-css/main_no_layer.css';
53
58
  $breakpoints: (
54
59
  'sm': '400px', // 個別キーの上書き可
55
60
  ),
56
- $common_support_bp: 'lg',
57
61
  $is_container_query: 0,
58
62
  $default_important: 1,
59
63
  $props: (
@@ -69,7 +73,7 @@ import 'lism-css/main_no_layer.css';
69
73
 
70
74
  ### `$props` の個別カスタマイズ
71
75
 
72
- 各 Property Class について、出力範囲やユーティリティクラスを追加できます。
76
+ 各 Property Class について、出力するブレイクポイントを絞ったり、ユーティリティクラスを追加したりできます。
73
77
 
74
78
  ```scss
75
79
  @use '../path-to/node_modules/lism-css/scss/setting' with (
@@ -81,7 +85,7 @@ import 'lism-css/main_no_layer.css';
81
85
  bp: 0, // .-h_sm 等のブレイクポイント版を出力しない
82
86
  ),
83
87
  'p': (
84
- bp: 'lg', // .-p_sm / .-p_md / .-p_lg まで出力
88
+ bp: ('sm', 'md'), // BP対応クラスを .-p_sm / .-p_md だけに限定(bp は 0 / 1 / BPキーのリストのみ)
85
89
  utilities: (
86
90
  'box': '2em', // .-p:box { --p: 2em } を追加
87
91
  ),
@@ -100,30 +104,86 @@ SCSS を直接読み込む構成では、コンパイル時に `lism-css` 本体
100
104
 
101
105
  プロジェクトのルート直下に `lism.config.js`(または `lism.config.mjs`)を置くことで、**コンポーネントの挙動**(受け付ける props の値や、出力されるクラス名)をカスタマイズできます。
102
106
 
103
- > **注意**: `lism.config.js` HTML 出力(クラス名)を変えるだけで、追加されたクラスに対する CSS は別途読み込ませる必要があります([追加スタイルを読み込ませる方法](#追加スタイルを読み込ませる方法) を参照)。
107
+ ### Vite / Astro プラグインの登録(推奨セットアップ)
104
108
 
105
- ### Vite プラグインの登録(必須)
109
+ `lism.config.js` を読み込ませるには、Vite(または Astro)の設定ファイルで `@lism-css/plugin` の統合プラグインを登録します。**未登録の場合、ファイルを置いてもデフォルト設定のまま**になります。
106
110
 
107
- `lism.config.js` を読み込ませるには、Vite(または Astro)の設定ファイルで `lism-css/vite-plugin` を登録する必要があります。**未登録の場合、ファイルを置いてもデフォルト設定のまま**になります。
111
+ ```bash
112
+ pnpm add -D @lism-css/plugin
113
+ ```
114
+
115
+ ```js
116
+ // vite.config.js
117
+ import { defineConfig } from 'vite';
118
+ import { lismCss } from '@lism-css/plugin/vite';
119
+
120
+ export default defineConfig({
121
+ plugins: [lismCss()],
122
+ });
123
+ ```
108
124
 
109
125
  ```js
110
126
  // astro.config.mjs
111
127
  import { defineConfig } from 'astro/config';
112
- import lismCss from 'lism-css/vite-plugin';
128
+ import { lismCss } from '@lism-css/plugin/astro';
113
129
 
114
130
  export default defineConfig({
115
- vite: {
116
- plugins: [lismCss()],
117
- },
131
+ integrations: [lismCss()],
118
132
  });
119
133
  ```
120
134
 
121
- プラグインはプロジェクトルートから `lism.config.js` → `lism.config.mjs` の順で自動検出します。別の場所に置く場合は `configPath` で指定できます。
135
+ この統合プラグイン1つで、以下がまとめて有効になります。
136
+
137
+ - **config alias**: コンポーネント(JS ランタイム)が `lism.config.js` を読み込めるようになる
138
+ - **動的CSSビルド**: `import 'lism-css/main.css'` 等を捕捉し、`lism.config.js` を反映済みの CSS をその場で生成する(props / tokens を追加すると CSS に自動反映される)
139
+ - **型の自動生成**: 有効化したブレイクポイント・追加した props / traits を反映した `lism-env.d.ts` を起動時に自動生成する
140
+
141
+ `lism.config.js` はプロジェクトルートから `lism.config.js` → `lism.config.mjs` の順で自動検出します。別の場所に置く場合は `configPath` で指定できます。
122
142
 
123
143
  ```js
144
+ // Vite
124
145
  plugins: [lismCss({ configPath: './config/lism.config.js' })],
146
+ // Astro
147
+ integrations: [lismCss({ configPath: './config/lism.config.js' })],
148
+ ```
149
+
150
+ ### Next.js(16 以降)での導入
151
+
152
+ Next.js には Vite / Astro のような「import をその場で変換する仕組み」が無いため、`@lism-css/plugin/next` の `withLism()` で `next.config.mjs` をラップします。`lism.config.js` を反映した CSS を `.lism-css/css/` へ事前生成し、`lism-css/main.css` 等の import をその生成物へ alias します(型生成・dev 中の config 変更追従も含む)。
153
+
154
+ ```js
155
+ // next.config.mjs
156
+ import { withLism } from '@lism-css/plugin/next';
157
+
158
+ export default withLism({ /* nextConfig */ });
159
+ ```
160
+
161
+ - `app/layout.tsx` などで `import 'lism-css/main.css'` をグローバル読み込みする。
162
+ - `.lism-css/` は `.gitignore`、`lism-env.d.ts` は `tsconfig.json` の `include` に追加してコミットする。
163
+ - CSS purge は現状 Vite / Astro のみ対応(Next.js は未対応)。
164
+
165
+ ### ブレイクポイントの有効化(xs / xl)
166
+
167
+ デフォルトのブレイクポイントは **`xs: 0`(無効) / `sm: 480px` / `md: 800px` / `lg: 1120px` / `xl: 0`(無効)** です。値 `0` は「無効=CSSクエリを出力しない」を表します。
168
+
169
+ `xs` / `xl` を有効にするには、`lism.config.js` の `breakpoints` にサイズを差分指定するだけで済みます。
170
+
171
+ ```js
172
+ // lism.config.js
173
+ export default {
174
+ breakpoints: {
175
+ xs: '360px', // xs を有効化
176
+ xl: '1400px', // xl を有効化
177
+ },
178
+ };
125
179
  ```
126
180
 
181
+ これだけで、ブレイクポイント対応の全 Property Class が `xs` / `xl` のレスポンシブクラス(`-p_xs` / `-p_xl` 等)も出力するようになります。prop ごとの個別指定は不要です。
182
+
183
+ 統合プラグイン(型自動生成が有効)を使っている場合、有効化したブレイクポイントを反映した `lism-env.d.ts` がプロジェクト直下に**自動生成**されます。型補完も有効化したブレイクポイントのキーを自動で提示するため、`BreakpointRegistry` をプロジェクト側の `.d.ts` で手書き拡張する必要はありません。`lism-env.d.ts` は git にコミットしてください(`astro check` 等の型チェックがこのファイルを拠り所にします)。
184
+
185
+ > SCSS を直接利用する構成では、`@use 'lism-css/scss/setting' with ($breakpoints: ...)` で有効化する方法も引き続き利用できます([SCSS でのカスタマイズ](#scss-でのカスタマイズ) を参照)。
186
+
127
187
  ### フォーマット
128
188
 
129
189
  ```js
@@ -133,7 +193,7 @@ export default {
133
193
  // Property Class の出力をカスタマイズ
134
194
  },
135
195
  tokens: {
136
- // トークン値を追加
196
+ // トークンを { key: value } の値マップで定義(CSS変数の値出力・ユーティリティ生成・props受理を一括)
137
197
  },
138
198
  traits: {
139
199
  // Trait(is--* / has--*)用の props を追加
@@ -152,7 +212,7 @@ export default {
152
212
  ```js
153
213
  // lism.config.js
154
214
  import DEFAULT_CONFIG from 'lism-css/default-config';
155
- const { props, tokens } = DEFAULT_CONFIG;
215
+ const { props } = DEFAULT_CONFIG;
156
216
 
157
217
  export default {
158
218
  props: {
@@ -164,8 +224,12 @@ export default {
164
224
  filter: { utils: { blur: 'blur(3px)' } },
165
225
  },
166
226
  tokens: {
167
- // tokenClass:1 のpropは、tokens を追加するだけで自動でユーティリティ化される
168
- lts: [...(tokens.lts || []), '2xl'],
227
+ // トークンは { key: value } の値マップで定義(既定に deep-merge される)
228
+ // → :root { --lts--2xl: .5em } を出力し、tokenClass:1 の lts -lts:2xl も自動生成される
229
+ lts: { '2xl': '.5em' },
230
+ // space は --s{key}、color は --{key} の変数名で出力される
231
+ space: { '90': '6rem' }, // → --s90: 6rem
232
+ color: { success: 'oklch(0.6 0.15 150)' }, // → --success: ...
169
233
  },
170
234
  traits: {
171
235
  isHoge: 'is--hoge',
@@ -188,23 +252,37 @@ export default {
188
252
  // → <div class="l--box is--hoge -p:box -ta:justify -filter:blur -lts:2xl">Box</div>
189
253
  ```
190
254
 
255
+ ### 追加した prop / trait の型解禁
256
+
257
+ 統合プラグイン(型自動生成が有効)を使っている場合、`lism.config.js` で追加した **prop / trait も `lism-env.d.ts` 経由で型側に自動解禁**されます(`CustomPropRegistry` / `CustomTraitRegistry` の拡張として出力)。そのため上記の `<Box filter="blur" ... isHoge>` のような新規 prop / trait も、エディタや `astro check` で型エラーになりません。手書きの型拡張は不要です(`lism-env.d.ts` は git にコミットしてください)。
258
+
259
+ なお、既存 prop への値追加(`ta="justify"` 等)はもともと任意の文字列を受け付けるため、型エラーにはなりません(ただし補完候補には出ません)。
260
+
191
261
 
192
262
  ## 追加スタイルを読み込ませる方法
193
263
 
194
- `lism.config.js` で props を増やしただけでは、対応するユーティリティクラスのスタイルは存在しません。次のいずれかでスタイルを追加してください。
264
+ `lism.config.js` で props を増やしただけでは、対応するユーティリティクラスのスタイルが必要になります。構成によって反映方法が異なります。
195
265
 
196
- ### 1. 軽微な追加であれば手書きで済ませる(推奨ライト)
266
+ ### Vite / Astro(統合プラグイン使用時)は自動反映(手動ビルド不要)
197
267
 
198
- カスタムトークンが少数で済むなら、CLI 再ビルドや SCSS 構成変更まで踏み込まず、Lism Props `:value` 記法(→ [property-class.md](./property-class.md))と `global.css` への手書きで十分。
268
+ `@lism-css/plugin` の統合プラグインを登録している場合、`lism.config.js` props / tokens を追加すると、**dev サーバ / ビルドの CSS に自動反映されます**。追加クラス分の CSS を手動で追記したり `npx lism-css build` を回したりする必要はありません。dev 中に `lism.config.js` を変更すると HMR で CSS が再生成され、型 `.d.ts` も追従します。
199
269
 
200
- ```css
201
- /* global.css */
202
- @layer lism-base {
203
- :root {
204
- --lts--2xl: 0.15em;
205
- }
206
- }
270
+ 参照先の **CSS 変数の値そのもの**(`:root { --lts--2xl: .5em }` のような定義)も、`tokens` に値を書けば自動生成されます。値の定義・ユーティリティ生成・props 受理がまとめて反映されるため、`global.css` への手書きは不要です(既定値の上書きも可能)。
207
271
 
272
+ ```js
273
+ // lism.config.js — 値そのものも config に集約できる
274
+ export default {
275
+ tokens: {
276
+ lts: { '2xl': '.5em' }, // :root { --lts--2xl: .5em } + .-lts:2xl を自動生成
277
+ },
278
+ };
279
+ ```
280
+
281
+ > `is--*` クラスのスタイルは `traits` ではクラス名のみを追加するため、対応するスタイルは別途必要です(後述の手動追記 / SCSS を参照)。
282
+
283
+ 軽微な追加であれば、props を増やさず Lism Props の `:value` 記法(→ [property-class.md](./property-class.md))と `global.css` への手書きだけで済ませることもできます。
284
+
285
+ ```css
208
286
  /* Property Class は @layer を付けない */
209
287
  .-lts\:2xl {
210
288
  letter-spacing: var(--lts--2xl);
@@ -215,12 +293,15 @@ export default {
215
293
  <Text lts=":2xl">...</Text>
216
294
  ```
217
295
 
218
- トークンを体系的に拡張したい場合のみ、後述の CLI / SCSS 経由に切り替える。
296
+ ### CLI コマンドで CSS を再ビルド(Vite / Astro を使わない構成)
297
+
298
+ 純 SCSS 構成や他バンドラなど、Vite / Astro の統合プラグインを使わない構成では、`@lism-css/plugin` が提供する `npx lism-css build` が `lism.config.js` を CSS に反映するための正規の手段です。
219
299
 
220
- ### 2. CLI コマンドで CSS を再ビルド
300
+ webpack 主導のバンドラ(`@wordpress/scripts` 等)では `@lism-css/plugin/webpack` `withLismWebpack()` で webpack config をラップできます。自前の SCSS ビルドで config 適用済みの `setting` を `@use` したい構成では、`@lism-css/plugin/builder` の `generateLismScss()` が bridge SCSS(`@use 'lism-setting'`)を生成します。
221
301
 
222
302
  ```bash
223
- npx lism-css build
303
+ npx lism-css build # lism.config.js 反映の CSS を再生成
304
+ npx lism-css build --full # full.css / full_no_layer.css も生成
224
305
  ```
225
306
 
226
307
  `lism.config.js` の内容に基づいて `lism-css/main.css` を再生成します。上記カスタマイズ例だと、以下のスタイルが自動生成されます:
@@ -233,10 +314,11 @@ npx lism-css build
233
314
  ```
234
315
 
235
316
  > **注意**:
236
- > - 生成されるのはあくまで `var(--lts--2xl)` を参照する **ユーティリティクラスまで**。参照先の CSS 変数(`:root { --lts--2xl: ... }` のような **値そのもの** の定義)と `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
317
+ > - `tokens` に値を書けば、`-lts:2xl` **ユーティリティクラス**と、参照先の CSS 変数(`:root { --lts--2xl: .5em }` のような **値そのもの**)の両方が CLI ビルドでも出力されます。値が `'-'` のキーはカタログ登録のみで `:root` 宣言を出力しません(実値は手書きSCSS側)。
318
+ > - `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
237
319
  > - `lism-css` パッケージ自体を上書きする処理のため、**パッケージ更新ごとに再実行**が必要です。
238
320
 
239
- ### 3. 手動で CSS を追記
321
+ ### 手動で CSS を追記
240
322
 
241
323
  CLI を使わず、追加クラス分の CSS をプロジェクト側で書いて読み込ませる方法でも問題ありません。
242
324
 
@@ -252,7 +334,7 @@ CLI を使わず、追加クラス分の CSS をプロジェクト側で書い
252
334
  }
253
335
  ```
254
336
 
255
- ### 4. SCSS で `lism.config.js` と整合させる
337
+ ### SCSS で `lism.config.js` と整合させる
256
338
 
257
339
  SCSS 経由で読み込む構成なら、`lism.config.js` と同じ追加分を `$props` の `utilities` 設定として書いておけば、ビルドコマンドなしで反映できます。
258
340
 
@@ -39,7 +39,7 @@
39
39
 
40
40
  | 形式 | 説明 | 例 |
41
41
  |------|------|-----|
42
- | `--{prop}` | クラスの `{prop}` 部分と同じ省略名 | `--p`, `--bgc`, `--bdrs`, `--max-sz` |
42
+ | `--{prop}` | クラスの `{prop}` 部分と同じ省略名 | `--p`, `--bgc`, `--bdrs`, `--m` |
43
43
  | `--{prop}_{bp}` | ブレークポイント値 | `--p_sm`, `--mx_md` |
44
44
 
45
45
  ### その他の変数
@@ -31,7 +31,7 @@
31
31
 
32
32
  ## Usage
33
33
 
34
- `<Icon>` には**4つの使い方**があります。
34
+ `<Icon>` には**5つの使い方**があります。
35
35
 
36
36
  ### 1. 外部パッケージのアイコンを使う(`as` + `exProps`)
37
37
 
@@ -92,7 +92,7 @@ import { phIcons, logoIcons } from 'lism-css/react/atomic/Icon/presets';
92
92
 
93
93
  ### 5. `src` で画像をアイコンとして使う
94
94
 
95
- `src` を指定すると `<img>` として出力されます(厳密には4パターンに加えて画像指定も可能)。
95
+ `src` を指定すると `<img>` として出力されます。
96
96
 
97
97
  ```jsx
98
98
  <Icon fz="4xl" src="/img/avatar01.jpg" alt="avatar" />
@@ -65,7 +65,7 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
65
65
  | **Prop** | クラス名に使う省略名(例: `-fz:l` の `fz` 部分)。Lism コンポーネントの Props 名でもある |
66
66
  | **CSS プロパティ** | 実際に制御される CSS プロパティ |
67
67
  | **プリセット値クラス** | そのまま使えるクラス名の一覧(`-{prop}:{value}` 形式)。`—` はカスタム値のみ対応 |
68
- | **BP** | ブレークポイント対応クラス(`-{prop}_{bp}` 形式)のサポート状況。`✔` は `sm`・`md`、`✔ lg` `lg` まで対応、`—` は非対応 |
68
+ | **BP** | ブレークポイント対応クラス(`-{prop}_{bp}` 形式)のサポート状況。`✔` は `sm`・`md`・`lg` に対応、`—` は非対応 |
69
69
 
70
70
 
71
71
  ## 全 Prop 一覧
@@ -77,24 +77,24 @@ Lism コンポーネントの Propsに渡す値の頭に `:` を付けると、
77
77
  | Prop | CSS プロパティ | プリセット値クラス | BP |
78
78
  |------|--------------|-------------|-----|
79
79
  | `f` | `font` | `-f:inherit` | — |
80
- | `fz` | `font-size` | `-fz:root`, `-fz:base`, `-fz:5xl`〜`-fz:2xs` | ✔ |
80
+ | `fz` | `font-size` | `-fz:base`, `-fz:5xl`〜`-fz:2xs` | ✔ |
81
81
  | `fw` | `font-weight` | `-fw:light`, `-fw:normal`, `-fw:bold`, `-fw:100`〜`-fw:900` | — |
82
82
  | `ff` | `font-family` | `-ff:base`, `-ff:accent`, `-ff:mono` | — |
83
83
  | `fs` | `font-style` | `-fs:italic` | — |
84
- | `lh` | `line-height`(`--hl` 経由) | `-lh:base`, `-lh:xs`, `-lh:s`, `-lh:l`, `-lh:1` | |
85
- | `hl` | `--hl` 変数のみ | | — |
84
+ | `hl` | `--hl`(ハーフレディング) | `-hl:base`, `-hl:xs`, `-hl:s`, `-hl:l`, `-hl:0` | |
85
+ | `lh` | `line-height`(`--hl` 経由・互換) | `-lh:base`, `-lh:xs`, `-lh:s`, `-lh:l`, `-lh:1` | — |
86
86
  | `lts` | `letter-spacing` | `-lts:base`, `-lts:s`, `-lts:l`, `-lts:xl` | — |
87
87
  | `ta` | `text-align` | `-ta:center`, `-ta:left`, `-ta:right` | — |
88
88
  | `td` | `text-decoration` | `-td:none` | — |
89
89
  | `tt` | `text-transform` | `-tt:upper`, `-tt:lower` | — |
90
90
 
91
- **注意:** `lh` `--hl`(half-leading)変数を介して `line-height: calc(1em + var(--hl) * 2)` を制御します。`hl` は `--hl` 変数を直接セットするだけの isVar タイプです。
91
+ **注意:** Lism はハーフレディングで `line-height` を管理します(`line-height: calc(1em + var(--hl) * 2)`)。正規のプロパティは `hl` で、`--hl` にトークン値をセットします(`hl="0"` でハーフレディングなし、BP 指定可)。`lh` は互換ショートカットで、トークン値・`1` は `--hl` を制御し、`lh="1.7"` のような任意値はそのまま CSS `line-height` を出力します。新規コードでは `hl` を推奨します。
92
92
 
93
93
  ### 表示・可視性
94
94
 
95
95
  | Prop | CSS プロパティ | プリセット値クラス | BP |
96
96
  |------|--------------|-------------|-----|
97
- | `d` | `display` | `-d:none`, `-d:block`, `-d:flex`, `-d:inline-flex`, `-d:grid`, `-d:inline-grid`, `-d:inline`, `-d:inline-block` | ✔ lg |
97
+ | `d` | `display` | `-d:none`, `-d:block`, `-d:flex`, `-d:inline-flex`, `-d:grid`, `-d:inline-grid`, `-d:inline`, `-d:inline-block` | ✔ |
98
98
  | `o` | `opacity` | `-o:0`, `-o:mp`, `-o:p`, `-o:pp`, `-o:ppp` | — |
99
99
  | `v` | `visibility` | `-v:hidden` | — |
100
100
  | `ov` | `overflow` | `-ov:hidden`, `-ov:auto`, `-ov:clip` | — |
@@ -230,7 +230,7 @@ SPACEトークン(全値): `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `5
230
230
 
231
231
  | Prop | CSS プロパティ | プリセット値クラス | BP |
232
232
  |------|--------------|-------------|-----|
233
- | `g` | `gap` | `-g:0`, `-g:inherit`, `-g:5`, `-g:10`, `-g:20`, ... (SPACEトークン) | ✔ lg |
233
+ | `g` | `gap` | `-g:0`, `-g:inherit`, `-g:5`, `-g:10`, `-g:20`, ... (SPACEトークン) | ✔ |
234
234
  | `cg` | `column-gap` | — | — |
235
235
  | `rg` | `row-gap` | — | — |
236
236
 
@@ -251,22 +251,22 @@ SPACEトークン(全値): `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `5
251
251
  | Prop | CSS プロパティ | プリセット値クラス | BP |
252
252
  |------|--------------|-------------|-----|
253
253
  | `gt` | `grid-template` | — | ✔ |
254
- | `gta` | `grid-template-areas` | — | ✔ lg |
255
- | `gtc` | `grid-template-columns` | `-gtc:subgrid` | ✔ lg |
256
- | `gtr` | `grid-template-rows` | `-gtr:subgrid` | ✔ lg |
254
+ | `gta` | `grid-template-areas` | — | ✔ |
255
+ | `gtc` | `grid-template-columns` | `-gtc:subgrid` | ✔ |
256
+ | `gtr` | `grid-template-rows` | `-gtr:subgrid` | ✔ |
257
257
  | `gaf` | `grid-auto-flow` | `-gaf:row`, `-gaf:column` | ✔ |
258
258
  | `gac` | `grid-auto-columns` | — | — |
259
259
  | `gar` | `grid-auto-rows` | — | — |
260
- | `cols` | `--cols` 変数 | — | ✔ lg |
260
+ | `cols` | `--cols` 変数 | — | ✔ |
261
261
  | `rows` | `--rows` 変数 | — | ✔ |
262
262
 
263
263
  ### Grid アイテム
264
264
 
265
265
  | Prop | CSS プロパティ | プリセット値クラス | BP |
266
266
  |------|--------------|-------------|-----|
267
- | `ga` | `grid-area` | `-ga:1/1` | ✔ lg |
268
- | `gc` | `grid-column` | `-gc:1/-1` | ✔ lg |
269
- | `gr` | `grid-row` | `-gr:1/-1` | ✔ lg |
267
+ | `ga` | `grid-area` | `-ga:1/1` | ✔ |
268
+ | `gc` | `grid-column` | `-gc:1/-1` | ✔ |
269
+ | `gr` | `grid-row` | `-gr:1/-1` | ✔ |
270
270
  | `gcs` | `grid-column-start` | — | — |
271
271
  | `gce` | `grid-column-end` | — | — |
272
272
  | `grs` | `grid-row-start` | — | — |
@@ -19,16 +19,35 @@ Lism CSS は**コンテナクエリ**をデフォルトで採用しています
19
19
  ```
20
20
  Smartphone ──┬── Tablet (Portrait) ──┬── Tablet (Landscape) ──┬── Laptop and up
21
21
  │ │ │
22
- sm:480px md:800px (lg:1120px)
22
+ sm:480px md:800px lg:1120px
23
23
  ```
24
24
 
25
25
  | BP | 値 | 効くタイミング |
26
26
  |----|-----|----------------|
27
+ | `xs` | 0(無効) | (opt-in) |
27
28
  | `sm` | 480px | sm 以上 |
28
29
  | `md` | 800px | md 以上 |
29
- | (`lg`) | 1120px | lg 以上 |
30
+ | `lg` | 1120px | lg 以上 |
31
+ | `xl` | 0(無効) | (opt-in) |
30
32
 
31
- **レスポンシブ対応の Property Class は、基本的に標準では `sm` / `md` まで対応。** ただし `d`(display)/ `g`(gap)/ `cols` / グリッド系(`gta` `gtc` `gtr` `ga` `gc` `gr`)など、大枠のレイアウト構造に関わる一部のプロパティは `lg` まで対応。それ以外のプロパティで `lg` 以降を使う場合は customize.md 参照の SCSS カスタマイズが必要です。
33
+ **レスポンシブ対応の Property Class は、標準で `sm` / `md` / `lg` のすべてに対応。** どの Prop がレスポンシブ対応かは property-class.md BP 列を参照。レスポンシブ非対応の Prop でブレイクポイント指定を使う場合は customize.md 参照の SCSS カスタマイズが必要です。
34
+
35
+ **`xs` / `xl` は opt-in**:
36
+ - デフォルト値は `0`(無効)で、CSS は出力されません。`lism.config.js` の `breakpoints` でサイズを与えると有効化されます(customize.md 参照)。
37
+ - 型(Lism コンポーネント)でも `sm` / `md` / `lg` のみがデフォルトで補完・許可されます。`xs` / `xl` を使う場合は `declare module 'lism-css'` で `BreakpointRegistry` を拡張して解禁します。
38
+
39
+ ```ts
40
+ // src/lism.d.ts など
41
+ import 'lism-css';
42
+ declare module 'lism-css' {
43
+ interface BreakpointRegistry {
44
+ xl: true; // 配列の 5 要素目 [..., xl] と { xl: ... } を解禁
45
+ xs: true; // { xs: ... } を解禁(xs は配列記法では書けない)
46
+ }
47
+ }
48
+ ```
49
+
50
+ - `xs` は配列記法では書けません(配列のインデックス → BP の対応が `[base, sm, md, lg, xl]` で固定のため)。オブジェクト記法(`{ xs: ... }`)でのみ指定します。`xl` は配列記法・オブジェクト記法の両方で利用できます。
32
51
 
33
52
  例: `-d:none -d_sm:block` → デフォルト非表示、`sm` 以上で表示。
34
53
 
@@ -99,10 +118,10 @@ Smartphone ──┬── Tablet (Portrait) ──┬── Tablet (Landscape)
99
118
  配列形式またはオブジェクト形式でレスポンシブ値を指定します。
100
119
 
101
120
  ```jsx
102
- // 配列形式: [デフォルト, sm, md]
121
+ // 配列形式: 位置は [base, sm, md, lg, xl] で固定(xs は配列記法では書けない)
103
122
  <Box p={[20, 30, 40]} fz={['s', 'm', 'l']} />
104
123
 
105
- // オブジェクト形式
124
+ // オブジェクト形式(xs を使う場合はこちら)
106
125
  <Box p={{ base: '20', sm: '30', md: '40' }} />
107
126
  ```
108
127
 
@@ -36,11 +36,11 @@ set-- は目的別に 2 カテゴリに分かれます。
36
36
  |--------|---------------|
37
37
  | `set--plain` | [`_plain.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_plain.scss) |
38
38
  | `set--revert` | [`_revert.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_revert.scss) |
39
- | `set--bxsh` | [`_shadow.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_shadow.scss) |
39
+ | `set--bxsh` | [`_tokens.gen.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_tokens.gen.scss) |
40
40
  | `set--hov` | [`_hov.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_hov.scss) |
41
41
  | `set--bdrsInner` | [`_bdrsInner.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bdrsInner.scss) |
42
42
  | `set--bleed` | [`_bleed.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/set/_bleed.scss) |
43
- | `set--s` | [`_space.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_space.scss) |
43
+ | `set--s` | [`_tokens.gen.scss`](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/base/tokens/_tokens.gen.scss) |
44
44
 
45
45
  ---
46
46
 
@@ -10,7 +10,7 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
10
10
  - [トークン概要テーブル](#トークン概要テーブル)
11
11
  - [余白 (space)](#余白-space)
12
12
  - [フォントサイズ (fz)](#フォントサイズ-fz)
13
- - [行間 (lh/hl)](#行間-lhhl)
13
+ - [行間 (hl/lh)](#行間-hllh)
14
14
  - [字間 (lts)](#字間-lts)
15
15
  - [フォント (ff)](#フォント-ff)
16
16
  - [ウェイト (fw)](#ウェイト-fw)
@@ -31,18 +31,18 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
31
31
  | カテゴリ | トークン値 | CSS変数パターン | 例 |
32
32
  |---|---|---|---|
33
33
  | 余白 (space) | `5`, `10`, `15`, `20`, `25`, `30`, `35`, `40`, `50`, `60`, `70`, `80` | `--s{N}` | `--s20` |
34
- | フォントサイズ (fz) | `root`, `base`, `2xs`, `xs`, `s`, `m`, `l`, `xl`, `2xl`, `3xl`, `4xl`, `5xl` | `--fz--{key}` | `--fz--l` |
35
- | ハーフレディング・行間 (lh/hl) | `base`, `xs`, `s`, `l` | `--hl--{key}` | `--hl--s` |
34
+ | フォントサイズ (fz) | `base`, `2xs`, `xs`, `s`, `m`, `l`, `xl`, `2xl`, `3xl`, `4xl`, `5xl` | `--fz--{key}` | `--fz--l` |
35
+ | ハーフレディング・行間 (hl/lh) | `base`, `xs`, `s`, `l` | `--hl--{key}` | `--hl--s` |
36
36
  | 字間 (lts) | `base`, `s`, `l`, `xl` | `--lts--{key}` | `--lts--s` |
37
37
  | フォント (ff) | `base`, `accent`, `mono` | `--ff--{key}` | `--ff--mono` |
38
38
  | ウェイト (fw) | `light`, `normal`, `bold` | `--fw--{key}` | `--fw--bold` |
39
39
  | 透明度 (o) | `mp`, `p`, `pp`, `ppp` | `--o--{key}` | `--o--p` |
40
40
  | 角丸 (bdrs) | `10`, `20`, `30`, `40`, `99`, `inner` | `--bdrs--{key}` | `--bdrs--20` |
41
41
  | 影 (bxsh) | `10`, `20`, `30`, `40`, `50` | `--bxsh--{N}` | `--bxsh--20` |
42
- | サイズ (sz) | `xs`, `s`, `m`, `l`, `xl`, `bleed` | `--sz--{key}` | `--sz--l` |
42
+ | サイズ (sz) | `xs`, `s`, `m`, `l`, `xl` | `--sz--{key}` | `--sz--l` |
43
43
  | アスペクト比 (ar) | `og` | `--ar--{key}` | `--ar--og` |
44
44
  | フロー余白 (flow) | `base`, `s` | `--flow--{key}` | `--flow--base` |
45
- | セマンティックカラー (c) | `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent`, `neutral` | `--{name}` | `--brand` |
45
+ | セマンティックカラー (color) | `base`, `base-2`, `text`, `text-2`, `divider`, `link`, `brand`, `accent`, `neutral` | `--{name}` | `--brand` |
46
46
  | パレットカラー (palette) | `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `gray`, `white`, `black` | `--{name}` | `--red` |
47
47
 
48
48
 
@@ -103,12 +103,11 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
103
103
  | `--fz--xs` | `calc(1em * var(--fz-mol) / (var(--fz-mol) + 2))` | XS(mol/(mol+2)) |
104
104
  | `--fz--2xs` | `calc(1em * var(--fz-mol) / (var(--fz-mol) + 3))` | 最小(mol/(mol+3)) |
105
105
  | `--fz--base` | `1rem` | 本文の基本フォントサイズ |
106
- | `--fz--root` | — | `:root` のフォントサイズ |
107
106
 
108
107
  `--fz-mol` を上書きすることでスケール全体を調整可能(7以上の値に対応)。
109
108
 
110
109
 
111
- ## 行間 (lh/hl)
110
+ ## 行間 (hl/lh)
112
111
 
113
112
  ハーフレディングの大きさ。Lism CSSでは、`line-height` は `calc(1em + var(--hl) * 2)` で算出される。`--hl-unit`(≒ 2px)を基準単位とする。
114
113
 
@@ -134,8 +133,8 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
134
133
 
135
134
  | CSS変数 | 値 |
136
135
  |---------|-----|
137
- | `--ff--base` | `-apple-system, 'BlinkMacSystemFont', 'Hiragino Sans', sans-serif, 'Segoe UI Emoji'` |
138
- | `--ff--accent` | `'Garamond', 'Baskerville', 'Times New Roman', serif` |
136
+ | `--ff--base` | `-apple-system, 'BlinkMacSystemFont', 'Hiragino Sans', sans-serif` |
137
+ | `--ff--accent` | `Georgia, serif` |
139
138
  | `--ff--mono` | `ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace` |
140
139
 
141
140
 
@@ -188,7 +187,8 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
188
187
 
189
188
  | CSS変数 | 初期値 |
190
189
  |---------|-----|
191
- | `--shc` | `hsl(220 4% 8% / 15%)` |
190
+ | `--shadow` | `hsl(220 4% 8% / 12%)` |
191
+ | `--shc` | `var(--shadow)` |
192
192
  | `--shsz--10` | `0px 1px 3px` |
193
193
  | `--shsz--20` | `0px 2px 6px` |
194
194
  | `--shsz--30` | `0px 4px 12px` |
@@ -230,11 +230,11 @@ CSSコードを書く場合やコンポーネントのPropsに値を指定する
230
230
 
231
231
  | CSS変数 | デフォルト値 | 説明 |
232
232
  |---------|------------|------|
233
- | `--base` | `hsl(224 4% 99%)` | ベース背景色 |
234
- | `--base-2` | `hsl(224 8% 95%)` | 代替背景色 |
235
- | `--text` | `hsl(224 4% 8%)` | 基本テキスト色 |
236
- | `--text-2` | `hsl(224 6% 32%)` | 補助テキスト色 |
237
- | `--divider` | `hsl(224 8% 88%)` | 区切り線色 |
233
+ | `--base` | `hsl(220 0% 99%)` | ベース背景色 |
234
+ | `--base-2` | `hsl(220 4% 95%)` | 代替背景色 |
235
+ | `--text` | `hsl(220 0% 8%)` | 基本テキスト色 |
236
+ | `--text-2` | `hsl(220 4% 32%)` | 補助テキスト色 |
237
+ | `--divider` | `hsl(220 4% 88%)` | 区切り線色 |
238
238
  | `--link` | `oklch(50% 0.3 240)` | リンク色 |
239
239
  | `--brand` | `#1e5f8c` | ブランド色 |
240
240
  | `--accent` | `#d94a6a` | アクセント色 |
@@ -249,7 +249,7 @@ OKLCH で定義されたカラーパレット。`--L`(明度)と `--C`(彩
249
249
  | `--red` | `oklch(var(--L) var(--C) 20)` |
250
250
  | `--orange` | `oklch(calc(var(--L) + 6%) calc(var(--C) - 0.01) 48)` |
251
251
  | `--yellow` | `oklch(calc(var(--L) + 12%) calc(var(--C) - 0.02) 80)` |
252
- | `--green` | `oklch(calc(var(--L) + 4%) calc(var(--C) - 0.01) 152)` |
252
+ | `--green` | `oklch(calc(var(--L) + 4%) calc(var(--C) - 0.02) 152)` |
253
253
  | `--blue` | `oklch(calc(var(--L) - 4%) calc(var(--C) + 0.01) 264)` |
254
254
  | `--purple` | `oklch(calc(var(--L) - 4%) calc(var(--C) + 0.01) 288)` |
255
255
  | `--pink` | `oklch(calc(var(--L) + 2%) calc(var(--C) + 0.01) 352)` |
@@ -28,8 +28,8 @@ BoxLink には主に2通りの使い方があります。
28
28
  ```jsx
29
29
  <BoxLink href="/article/1" p="30" bgc="base" bd bdrs="30" hov="-o">
30
30
  <Group fz="xl" fw="bold">Heading text</Group>
31
- <Text lh="s" mbs="15">記事の抜粋テキスト...</Text>
32
- <Group fz="s" c="text-2" ta="right" lh="1" mbs="10">
31
+ <Text hl="s" mbs="15">記事の抜粋テキスト...</Text>
32
+ <Group fz="s" c="text-2" ta="right" hl="0" mbs="10">
33
33
  MORE →
34
34
  </Group>
35
35
  </BoxLink>
@@ -38,8 +38,8 @@ BoxLink には主に2通りの使い方があります。
38
38
  ```html
39
39
  <a class="is--boxLink -hov:-o -p:30 -bgc:base -bd -bdrs:30" href="/article/1">
40
40
  <p class="-fz:xl -fw:bold">Heading text</p>
41
- <p class="-c:text-2 -lh:s -mbs:15">記事の抜粋テキスト...</p>
42
- <p class="-fz:s -c:text-2 -ta:right -lh:1 -mbs:10">MORE →</p>
41
+ <p class="-c:text-2 -hl:s -mbs:15">記事の抜粋テキスト...</p>
42
+ <p class="-fz:s -c:text-2 -ta:right -hl:0 -mbs:10">MORE →</p>
43
43
  </a>
44
44
  ```
45
45
 
@@ -54,7 +54,7 @@ BoxLink には主に2通りの使い方があります。
54
54
  Heading link text
55
55
  </Link>
56
56
  </Group>
57
- <Text c="text-2" lh="s" mbs="15">記事の抜粋テキスト...</Text>
57
+ <Text c="text-2" hl="s" mbs="15">記事の抜粋テキスト...</Text>
58
58
  <Group mbs="10">
59
59
  <a href="/tag/foo" className="-hov:-o">Inner Link</a>
60
60
  </Group>
@@ -66,7 +66,7 @@ BoxLink には主に2通りの使い方があります。
66
66
  <div class="-fz:xl -fw:bold">
67
67
  <a class="is--coverLink" href="/article/1">Heading link text</a>
68
68
  </div>
69
- <p class="-c:text-2 -lh:s -mbs:15">記事の抜粋テキスト...</p>
69
+ <p class="-c:text-2 -hl:s -mbs:15">記事の抜粋テキスト...</p>
70
70
  <div class="-mbs:10">
71
71
  <a href="/tag/foo" class="-hov:-o">Inner Link</a>
72
72
  </div>
@@ -87,13 +87,17 @@
87
87
  `is--wrapper` 直下の子要素には次のスタイルが当たる:
88
88
 
89
89
  ```scss
90
- .is--wrapper > * {
91
- inline-size: 100%;
92
- max-inline-size: min(100%, var(--contentSize));
93
- margin-inline: auto;
90
+ .is--wrapper {
91
+ --contentSize: var(--sz--m, 100%);
92
+ > * {
93
+ inline-size: 100%;
94
+ max-inline-size: min(100%, var(--contentSize));
95
+ margin-inline: auto;
96
+ }
94
97
  }
95
98
  ```
96
99
 
100
+ - `--contentSize` の初期値は `var(--sz--m, 100%)`(`m` 相当)。`-contentSize:s` / `-contentSize:m` / `-contentSize:l` / `-contentSize:xl` のプリセットクラスは `contentSize` Prop の auto-generated 出力から props 層へ自動生成される
97
101
  - `inline-size: 100%` により、自然幅が `--contentSize` 未満の要素(短い段落、`<table>` など)も常に親幅まで広げてから `max-inline-size` で制限される。これにより `l--stack` などの flex 縦並び配下でも横幅が揃い、ガタつきが起きない
98
102
  - `<table>` を直下に置くと内容依存の自然幅にはならず、常に wrapper 幅まで広がる。テーブルの自然幅を保ちたい場合は `is--wrapper` を直接の親にしないように、間に別の要素を挟む
99
103
 
package/dist/data/meta.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const meta = {
2
- generatedAt: '2026-05-28',
3
- sourceCommit: '3c46037f',
2
+ generatedAt: '2026-06-19',
3
+ sourceCommit: '2fa37425',
4
4
  docsVersion: '0.1.0',
5
5
  };
@@ -20,7 +20,7 @@ export interface PropRow {
20
20
  cssProperty: string;
21
21
  /** 所属する ### セクション名 */
22
22
  sectionName: string;
23
- /** プリセット値クラス列の生テキスト(例: "-fz:root, -fz:base, ...") */
23
+ /** プリセット値クラス列の生テキスト(例: "-fz:base, -fz:5xl, ...") */
24
24
  presetColumn: string;
25
25
  }
26
26
  /**
@@ -56,7 +56,7 @@ function parseCssDeclarations(cssText) {
56
56
  }
57
57
  return declarations;
58
58
  }
59
- /** プリセット値列から値を抽出する(例: "-fz:root, -fz:base" → ["root", "base"]) */
59
+ /** プリセット値列から値を抽出する(例: "-fz:base, -fz:5xl" → ["base", "5xl"]) */
60
60
  function extractPresetValues(presetColumn, propName) {
61
61
  if (!presetColumn || presetColumn === '—' || presetColumn === '-')
62
62
  return [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lism-css/mcp",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "description": "MCP server for lism-css documentation and API reference.",
5
5
  "type": "module",
6
6
  "bin": {