@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.
- package/dist/data/docs-index.json +218 -57
- package/dist/data/guides/SKILL.md +7 -2
- package/dist/data/guides/antipatterns.md +2 -2
- package/dist/data/guides/base-styles.md +4 -3
- package/dist/data/guides/components-ui.md +8 -4
- package/dist/data/guides/customize.md +116 -34
- package/dist/data/guides/naming.md +1 -1
- package/dist/data/guides/primitives/a--icon.md +2 -2
- package/dist/data/guides/property-class.md +14 -14
- package/dist/data/guides/responsive.md +24 -5
- package/dist/data/guides/set-class.md +2 -2
- package/dist/data/guides/tokens.md +16 -16
- package/dist/data/guides/trait-class/is--boxLink.md +6 -6
- package/dist/data/guides/trait-class/is--wrapper.md +8 -4
- package/dist/data/meta.js +2 -2
- package/dist/lib/markdown-utils.d.ts +1 -1
- package/dist/tools/convert-css.js +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
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
|
|
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": ["仕組み", "トークン", "
|
|
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 対応が
|
|
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": [
|
|
383
|
-
|
|
384
|
-
|
|
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": "
|
|
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
|
-
"
|
|
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": [
|
|
418
|
-
|
|
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
|
-
"
|
|
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
|
-
"
|
|
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
|
-
"
|
|
669
|
+
"その他",
|
|
670
|
+
"`@lism-css/ui` v.0.20.0 (2026.05.20)",
|
|
540
671
|
"lism-css v.0.18.0 (2026.05.17)",
|
|
541
|
-
"
|
|
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
|
-
"
|
|
545
|
-
"
|
|
546
|
-
"a タグのリンク装飾スタイル廃止",
|
|
676
|
+
"`-max-sz:bleed` の新設 (#360)",
|
|
677
|
+
"`--REM` 廃止と `--fz--base` の簡素化",
|
|
678
|
+
"`a` タグのリンク装飾スタイル廃止",
|
|
547
679
|
"Bug Fixes",
|
|
548
|
-
"
|
|
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
|
-
"
|
|
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
|
|
559
|
-
"
|
|
692
|
+
"`set--` クラスの刷新 (#304)",
|
|
693
|
+
"`-hov:` クラスの命名整理 (#300)",
|
|
560
694
|
"シャドウトークンの刷新 (#311)",
|
|
561
|
-
"
|
|
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
|
-
"
|
|
701
|
+
"その他",
|
|
702
|
+
"`@lism-css/ui` v.0.14.0 (2026.04.17)",
|
|
567
703
|
"lism-css v.0.13.1 (2026.04.15)",
|
|
568
|
-
"
|
|
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
|
-
"
|
|
575
|
-
"
|
|
576
|
-
"
|
|
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
|
-
"
|
|
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,
|
|
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
|
-
"
|
|
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一覧", "icon
|
|
1261
|
-
"keywords": ["Callout", "コールアウト", "補足", "note", "注意書き", "強調ボックス", "highlight"],
|
|
1262
|
-
"snippet": "
|
|
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
|
-
"
|
|
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.
|
|
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
|
|
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`
|
|
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]` までが有効。`
|
|
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
|
|
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` | `'
|
|
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='
|
|
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
|
|
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
|
-
|
|
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` |
|
|
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: '
|
|
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
|
-
|
|
107
|
+
### Vite / Astro プラグインの登録(推奨セットアップ)
|
|
104
108
|
|
|
105
|
-
|
|
109
|
+
`lism.config.js` を読み込ませるには、Vite(または Astro)の設定ファイルで `@lism-css/plugin` の統合プラグインを登録します。**未登録の場合、ファイルを置いてもデフォルト設定のまま**になります。
|
|
106
110
|
|
|
107
|
-
|
|
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/
|
|
128
|
+
import { lismCss } from '@lism-css/plugin/astro';
|
|
113
129
|
|
|
114
130
|
export default defineConfig({
|
|
115
|
-
|
|
116
|
-
plugins: [lismCss()],
|
|
117
|
-
},
|
|
131
|
+
integrations: [lismCss()],
|
|
118
132
|
});
|
|
119
133
|
```
|
|
120
134
|
|
|
121
|
-
|
|
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
|
|
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
|
-
//
|
|
168
|
-
lts:
|
|
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
|
-
###
|
|
266
|
+
### Vite / Astro(統合プラグイン使用時)は自動反映(手動ビルド不要)
|
|
197
267
|
|
|
198
|
-
|
|
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
|
-
|
|
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
|
-
|
|
296
|
+
### CLI コマンドで CSS を再ビルド(Vite / Astro を使わない構成)
|
|
297
|
+
|
|
298
|
+
純 SCSS 構成や他バンドラなど、Vite / Astro の統合プラグインを使わない構成では、`@lism-css/plugin` が提供する `npx lism-css build` が `lism.config.js` を CSS に反映するための正規の手段です。
|
|
219
299
|
|
|
220
|
-
|
|
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
|
-
> -
|
|
317
|
+
> - `tokens` に値を書けば、`-lts:2xl` の **ユーティリティクラス**と、参照先の CSS 変数(`:root { --lts--2xl: .5em }` のような **値そのもの**)の両方が CLI ビルドでも出力されます。値が `'-'` のキーはカタログ登録のみで `:root` 宣言を出力しません(実値は手書きSCSS側)。
|
|
318
|
+
> - `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
|
|
237
319
|
> - `lism-css` パッケージ自体を上書きする処理のため、**パッケージ更新ごとに再実行**が必要です。
|
|
238
320
|
|
|
239
|
-
###
|
|
321
|
+
### 手動で CSS を追記
|
|
240
322
|
|
|
241
323
|
CLI を使わず、追加クラス分の CSS をプロジェクト側で書いて読み込ませる方法でも問題ありません。
|
|
242
324
|
|
|
@@ -252,7 +334,7 @@ CLI を使わず、追加クラス分の CSS をプロジェクト側で書い
|
|
|
252
334
|
}
|
|
253
335
|
```
|
|
254
336
|
|
|
255
|
-
###
|
|
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`, `--
|
|
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>` には**
|
|
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>`
|
|
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
|
|
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:
|
|
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
|
-
| `
|
|
85
|
-
| `
|
|
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
|
-
**注意:**
|
|
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` | ✔
|
|
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トークン) | ✔
|
|
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` | — | ✔
|
|
255
|
-
| `gtc` | `grid-template-columns` | `-gtc:subgrid` | ✔
|
|
256
|
-
| `gtr` | `grid-template-rows` | `-gtr:subgrid` | ✔
|
|
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` 変数 | — | ✔
|
|
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` | ✔
|
|
268
|
-
| `gc` | `grid-column` | `-gc:1/-1` | ✔
|
|
269
|
-
| `gr` | `grid-row` | `-gr:1/-1` | ✔
|
|
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
|
|
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
|
-
|
|
|
30
|
+
| `lg` | 1120px | lg 以上 |
|
|
31
|
+
| `xl` | 0(無効) | (opt-in) |
|
|
30
32
|
|
|
31
|
-
**レスポンシブ対応の Property Class
|
|
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
|
-
// 配列形式: [
|
|
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` | [`
|
|
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` | [`
|
|
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
|
|
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) | `
|
|
35
|
-
| ハーフレディング・行間 (lh
|
|
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
|
|
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
|
-
| セマンティックカラー (
|
|
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
|
|
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
|
|
138
|
-
| `--ff--accent` | `
|
|
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
|
-
| `--
|
|
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(
|
|
234
|
-
| `--base-2` | `hsl(
|
|
235
|
-
| `--text` | `hsl(
|
|
236
|
-
| `--text-2` | `hsl(
|
|
237
|
-
| `--divider` | `hsl(
|
|
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.
|
|
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
|
|
32
|
-
<Group fz="s" c="text-2" ta="right"
|
|
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 -
|
|
42
|
-
<p class="-fz:s -c:text-2 -ta:right -
|
|
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"
|
|
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 -
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
@@ -56,7 +56,7 @@ function parseCssDeclarations(cssText) {
|
|
|
56
56
|
}
|
|
57
57
|
return declarations;
|
|
58
58
|
}
|
|
59
|
-
/** プリセット値列から値を抽出する(例: "-fz:
|
|
59
|
+
/** プリセット値列から値を抽出する(例: "-fz:base, -fz:5xl" → ["base", "5xl"]) */
|
|
60
60
|
function extractPresetValues(presetColumn, propName) {
|
|
61
61
|
if (!presetColumn || presetColumn === '—' || presetColumn === '-')
|
|
62
62
|
return [];
|