@lism-css/mcp 0.11.0 → 0.13.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.
Files changed (61) hide show
  1. package/README.ja.md +4 -2
  2. package/README.md +4 -2
  3. package/dist/data/docs-index.json +456 -178
  4. package/dist/data/guides/SKILL.md +154 -0
  5. package/dist/data/guides/base-styles.md +106 -0
  6. package/dist/data/guides/components-core.md +292 -0
  7. package/dist/data/guides/components-ui.md +351 -0
  8. package/dist/data/guides/css-rules.md +166 -0
  9. package/dist/data/guides/primitive-class.md +148 -0
  10. package/dist/data/guides/primitives/a--decorator.md +45 -0
  11. package/dist/data/guides/primitives/a--divider.md +69 -0
  12. package/dist/data/guides/primitives/a--icon.md +105 -0
  13. package/dist/data/guides/primitives/a--spacer.md +63 -0
  14. package/dist/data/guides/primitives/is--boxLink.md +97 -0
  15. package/dist/data/guides/primitives/is--container.md +46 -0
  16. package/dist/data/guides/primitives/is--layer.md +71 -0
  17. package/dist/data/guides/primitives/is--vertical.md +52 -0
  18. package/dist/data/guides/primitives/is--wrapper.md +87 -0
  19. package/dist/data/guides/primitives/l--box.md +31 -0
  20. package/dist/data/guides/primitives/l--center.md +55 -0
  21. package/dist/data/guides/primitives/l--cluster.md +38 -0
  22. package/dist/data/guides/primitives/l--columns.md +72 -0
  23. package/dist/data/guides/primitives/l--flex.md +74 -0
  24. package/dist/data/guides/primitives/l--flow.md +134 -0
  25. package/dist/data/guides/primitives/l--fluidCols.md +68 -0
  26. package/dist/data/guides/primitives/l--frame.md +94 -0
  27. package/dist/data/guides/primitives/l--grid.md +68 -0
  28. package/dist/data/guides/primitives/l--sideMain.md +102 -0
  29. package/dist/data/guides/primitives/l--stack.md +56 -0
  30. package/dist/data/guides/primitives/l--switchCols.md +69 -0
  31. package/dist/data/guides/primitives/l--tileGrid.md +61 -0
  32. package/dist/data/guides/prop-responsive.md +54 -0
  33. package/dist/data/guides/property-class.md +401 -0
  34. package/dist/data/guides/set-class.md +192 -0
  35. package/dist/data/guides/tokens.md +228 -0
  36. package/dist/data/guides/utility-class.md +82 -0
  37. package/dist/data/meta.js +2 -2
  38. package/dist/index.js +4 -0
  39. package/dist/lib/load-data.js +2 -11
  40. package/dist/lib/load-markdown.d.ts +7 -0
  41. package/dist/lib/load-markdown.js +47 -0
  42. package/dist/lib/markdown-utils.d.ts +42 -0
  43. package/dist/lib/markdown-utils.js +158 -0
  44. package/dist/lib/schemas.d.ts +0 -242
  45. package/dist/lib/schemas.js +0 -64
  46. package/dist/lib/search.d.ts +2 -16
  47. package/dist/lib/search.js +29 -69
  48. package/dist/lib/types.d.ts +0 -64
  49. package/dist/tools/convert-css.js +96 -55
  50. package/dist/tools/get-component.js +150 -30
  51. package/dist/tools/get-guide.d.ts +2 -0
  52. package/dist/tools/get-guide.js +45 -0
  53. package/dist/tools/get-overview.js +26 -39
  54. package/dist/tools/get-props-system.js +45 -33
  55. package/dist/tools/get-tokens.js +9 -14
  56. package/dist/tools/search-docs.js +28 -10
  57. package/package.json +2 -2
  58. package/dist/data/components.json +0 -564
  59. package/dist/data/overview.json +0 -114
  60. package/dist/data/props-system.json +0 -1147
  61. package/dist/data/tokens.json +0 -148
@@ -0,0 +1,102 @@
1
+ # l--sideMain / `<SideMain>`
2
+
3
+ メディアクエリ・コンテナクエリに依存せず、**維持したいコンテンツ幅を基準にして横並び・縦並びが自動で切り替わる2カラムレイアウト**。「画像 + コンテンツ」「メインエリア + サイドバー」などに活用できる。
4
+
5
+ ## 基本情報
6
+
7
+ - クラス名: `l--sideMain`
8
+ - コンポーネント: `<SideMain>`
9
+ - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_sideMain.scss
10
+ - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--sideMain/
11
+
12
+ ## 動作の仕組み
13
+
14
+ - サイド側の横幅を `--sideW` で、メイン側で維持したい最小横幅を `--mainW` で指定
15
+ - メイン側が `--mainW` を維持できる範囲内では横並びを保ち、下回ると自動で縦並びに切り替わる
16
+ - 子要素の**一方に `is--side` を付ける必要がある**(コンポーネントでは `isSide` prop)
17
+
18
+ ## 専用Props
19
+
20
+ | Prop | 出力 | 説明 |
21
+ |------|------|------|
22
+ | `sideW` | `--sideW` | サイド要素の横幅 |
23
+ | `mainW` | `--mainW` | メイン要素で維持したい最小幅 |
24
+
25
+ ## HTML構造
26
+
27
+ ```html
28
+ <div class="l--sideMain">
29
+ <div>Main Content</div>
30
+ <div class="is--side">Side Content</div>
31
+ </div>
32
+ ```
33
+
34
+ ## Usage
35
+
36
+ ### 基本的な使い方
37
+
38
+ ```jsx
39
+ <SideMain sideW="12rem" mainW="20rem" g="20">
40
+ <Box p="15" bd bdc="blue">
41
+ <p>Main Content</p>
42
+ <p>メインコンテンツ本文...</p>
43
+ </Box>
44
+ <Box isSide p="15" bd bdc="red">
45
+ <p>Side Content</p>
46
+ </Box>
47
+ </SideMain>
48
+ ```
49
+
50
+ ```html
51
+ <div class="l--sideMain -g:20" style="--sideW:12rem;--mainW:20rem">
52
+ <div class="l--box -p:15 -bd" style="--bdc:var(--blue)">
53
+ <p>Main Content</p>
54
+ <p>メインコンテンツ本文...</p>
55
+ </div>
56
+ <div class="l--box is--side -p:15 -bd" style="--bdc:var(--red)">
57
+ <p>Side Content</p>
58
+ </div>
59
+ </div>
60
+ ```
61
+
62
+ ### Side 要素の位置を反転(`-fxd:row-reverse`)
63
+
64
+ `flex-direction: row-reverse` を併用することで、横並びの時だけ順序を反転できます。**横並びで左側・縦並びで下側に Side を配置**したいときに便利。
65
+
66
+ ```jsx
67
+ <SideMain fxd="row-reverse" sideW="10rem" mainW="16rem" g="20">
68
+ <Box>
69
+ <p>Main content...</p>
70
+ </Box>
71
+ <Box isSide bgc="blue:20%">Side Content</Box>
72
+ </SideMain>
73
+ ```
74
+
75
+ ```html
76
+ <div class="l--sideMain -fxd:row-reverse -g:20" style="--sideW:10rem;--mainW:16rem">
77
+ <div class="l--box">
78
+ <p>Main content...</p>
79
+ </div>
80
+ <div class="l--box is--side">Side Content</div>
81
+ </div>
82
+ ```
83
+
84
+ ## `l--grid` との使い分け
85
+
86
+ - **`l--sideMain`**: ブレイクポイントに依存せず、コンテンツ幅で自動切り替え
87
+ - **`l--grid`** (`<Grid gta={[...]} gtc={[...]} />`): ブレイクポイント(`sm`/`md`)で明示的に切り替えたい場合
88
+
89
+ ```jsx
90
+ // ブレイクポイント依存で似たレイアウトを構築する例
91
+ <Grid gta={[`'.' 'side'`, `'. side'`]} gtc={[null, '1fr 10rem']} g="20">
92
+ <Box>メインコンテンツ</Box>
93
+ <Box ga="side">サイドコンテンツ</Box>
94
+ </Grid>
95
+ ```
96
+
97
+ ## 関連プリミティブ
98
+
99
+ - [l--grid](./l--grid.md) — ブレイクポイント切り替え型の2カラム構築に使用
100
+ - [l--fluidCols](./l--fluidCols.md) — カラム幅ベースの自動段組
101
+ - [l--switchCols](./l--switchCols.md) — ブレイクポイント一括切り替え型カラム
102
+ - [is--container](./is--container.md) — レスポンシブ Property Class 利用時に必要
@@ -0,0 +1,56 @@
1
+ # l--stack / `<Stack>`
2
+
3
+ 複数の要素を Flex レイアウトで縦並びに配置するクラス。`gap` で余白を管理します。
4
+
5
+ ## 基本情報
6
+
7
+ - クラス名: `l--stack`
8
+ - コンポーネント: `<Stack>`
9
+ - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_stack.scss
10
+ - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--stack/
11
+
12
+ ## Usage
13
+
14
+ ### 基本的な使い方
15
+
16
+ ```jsx
17
+ <Stack g="20">
18
+ <p>コンテンツ</p>
19
+ <p>コンテンツ</p>
20
+ <p>コンテンツ</p>
21
+ </Stack>
22
+ ```
23
+
24
+ ```html
25
+ <div class="l--stack -g:20">
26
+ <p>コンテンツ</p>
27
+ <p>コンテンツ</p>
28
+ <p>コンテンツ</p>
29
+ </div>
30
+ ```
31
+
32
+ ### 内在的な中央寄せ(`ai="center"`)
33
+
34
+ `ai="center"` を併用すると、Every Layout で言うところの**内在的な中央寄せ**(コンテンツ幅が短い要素だけ中央揃え、長い要素はそのまま)になります。
35
+
36
+ ```jsx
37
+ <Stack ai="center" g="20" p="30">
38
+ <h3>見出し</h3>
39
+ <p>短いテキスト</p>
40
+ <p>長めのテキスト...</p>
41
+ </Stack>
42
+ ```
43
+
44
+ ```html
45
+ <div class="l--stack -ai:center -p:30 -g:20">
46
+ <h3>見出し</h3>
47
+ <p>短いテキスト</p>
48
+ <p>長めのテキスト...</p>
49
+ </div>
50
+ ```
51
+
52
+ ## 関連プリミティブ
53
+
54
+ - [l--flex](./l--flex.md) — 汎用 Flex 横並び
55
+ - [l--flow](./l--flow.md) — `margin-block-start` で余白を管理するテキスト向けフロー
56
+ - [l--cluster](./l--cluster.md) — 折り返し前提の横並び
@@ -0,0 +1,69 @@
1
+ # l--switchCols / `<SwitchCols>`
2
+
3
+ 複数列 ↔ 1列の切り替えをコンテナクエリやメディアクエリを使わずに実装するクラス。Flexbox ベースで、親コンテナ幅に応じて自動的に折り返します。
4
+
5
+ ## 基本情報
6
+
7
+ - クラス名: `l--switchCols`
8
+ - コンポーネント: `<SwitchCols>`
9
+ - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_switchCols.scss
10
+ - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--switchCols/
11
+
12
+ ## 専用Props
13
+
14
+ | Prop | CSS変数 | 説明 |
15
+ |------|--------|------|
16
+ | `breakSize` | `--breakSize` | 横並びを維持するのに必要な親コンテナ幅を指定。`sz` トークンが使える |
17
+
18
+ ## Usage
19
+
20
+ ### デフォルト幅で利用する
21
+
22
+ ```jsx
23
+ <SwitchCols g="20">
24
+ <div class="-bgc:base-2 -p:20">Box</div>
25
+ <div class="-bgc:base-2 -p:20">Box</div>
26
+ <div class="-bgc:base-2 -p:20">Box</div>
27
+ </SwitchCols>
28
+ ```
29
+
30
+ ```html
31
+ <div class="l--switchCols -g:20">
32
+ <div class="-bgc:base-2 -p:20">Box</div>
33
+ <div class="-bgc:base-2 -p:20">Box</div>
34
+ <div class="-bgc:base-2 -p:20">Box</div>
35
+ </div>
36
+ ```
37
+
38
+ ### `breakSize` の指定
39
+
40
+ ```jsx
41
+ <SwitchCols breakSize="s" g="20">
42
+ <div class="-bgc:base-2 -p:20">Box</div>
43
+ <div class="-bgc:base-2 -p:20">Box</div>
44
+ </SwitchCols>
45
+ ```
46
+
47
+ ```html
48
+ <div class="l--switchCols -g:20" style="--breakSize: var(--sz--s)">
49
+ <div class="-bgc:base-2 -p:20">Box</div>
50
+ <div class="-bgc:base-2 -p:20">Box</div>
51
+ </div>
52
+ ```
53
+
54
+ ### `flex-grow` で比率を調整
55
+
56
+ 子要素に `flex-grow` を指定すると、横並び時の幅の比率を個別に調整できます。
57
+
58
+ ```jsx
59
+ <SwitchCols breakSize="s" g="20">
60
+ <div class="-bgc:base-2 -p:20">Box</div>
61
+ <div class="-bgc:base-2 -p:20" style={{ flexGrow: 2 }}>Box</div>
62
+ </SwitchCols>
63
+ ```
64
+
65
+ ## 関連プリミティブ
66
+
67
+ - [l--fluidCols](./l--fluidCols.md) — 最小幅ベースの自動段組
68
+ - [l--columns](./l--columns.md) — ブレイクポイント指定の等幅カラム
69
+ - [l--sideMain](./l--sideMain.md) — コンテンツ幅基準の2カラム切り替え
@@ -0,0 +1,61 @@
1
+ # l--tileGrid / `<TileGrid>`
2
+
3
+ `cols`(列数)と `rows`(行数)を指定して、**均等なタイル型グリッドレイアウト**を構成するクラス。内部的には `grid-template: repeat(rows, minmax(0, 1fr)) / repeat(cols, minmax(0, 1fr))` を使用します。
4
+
5
+ ## 基本情報
6
+
7
+ - クラス名: `l--tileGrid`
8
+ - コンポーネント: `<TileGrid>`
9
+ - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_tileGrid.scss
10
+ - ドキュメント(人間向け): https://lism-css.com/docs/primitives/l--tileGrid/
11
+
12
+ ## 専用Props
13
+
14
+ | Prop | CSS変数 | 説明 | デフォルト |
15
+ |------|--------|------|------------|
16
+ | `cols` | `--cols` | 列数を指定。配列でブレイクポイント指定可 | `1` |
17
+ | `rows` | `--rows` | 行数を指定。配列でブレイクポイント指定可 | `1` |
18
+
19
+ ## Usage
20
+
21
+ ### 基本的な使い方
22
+
23
+ ```jsx
24
+ <TileGrid cols="3" rows="3" g="5" min-h="50svh">
25
+ <Box p="20" bgc="base-2">item1</Box>
26
+ <Box p="20" bgc="base-2">item2</Box>
27
+ <Box p="20" bgc="base-2">item3</Box>
28
+ <Box p="20" bgc="base-2">item4</Box>
29
+ <Box p="20" bgc="base-2" gc="span 2">item5</Box>
30
+ <Center gc="3" gr="1 / -1" p="20" bgc="blue">item6</Center>
31
+ </TileGrid>
32
+ ```
33
+
34
+ ```html
35
+ <div class="l--tileGrid -g:5 -min-h:50svh" style="--cols: 3; --rows: 3">
36
+ <div class="l--box -p:20 -bgc:base-2">item1</div>
37
+ <div class="l--box -p:20 -bgc:base-2">item2</div>
38
+ <div class="l--box -p:20 -bgc:base-2">item3</div>
39
+ <div class="l--box -p:20 -bgc:base-2">item4</div>
40
+ <div class="l--box -p:20 -bgc:base-2 -gc:span 2">item5</div>
41
+ <div class="l--center -p:20 -bgc:blue" style="grid-column: 3; grid-row: 1 / -1">item6</div>
42
+ </div>
43
+ ```
44
+
45
+ ### ブレイクポイント別指定
46
+
47
+ `cols` / `rows` をブレイクポイントで切り替え、`gaf`(`grid-auto-flow`)と組み合わせて動的レイアウトも構築できます。
48
+
49
+ ```jsx
50
+ <TileGrid cols={['2', '3']} rows="4" min-h="50svh" gaf="row dense">
51
+ <Box gc={['1 / -1', 'span 2']} gr={['span 2', '1 / -1']} p="20" bgc="base-2">A</Box>
52
+ <Box p="20" bgc="green:20%">B</Box>
53
+ <Box p="20" bgc="blue:20%">C</Box>
54
+ </TileGrid>
55
+ ```
56
+
57
+ ## 関連プリミティブ
58
+
59
+ - [l--columns](./l--columns.md) — 等幅列のみ(1D)のカラム
60
+ - [l--fluidCols](./l--fluidCols.md) — 自動折り返し型段組
61
+ - [l--grid](./l--grid.md) — 汎用 CSS Grid
@@ -0,0 +1,54 @@
1
+ # レスポンシブ対応
2
+
3
+ Lism CSS はコンテナクエリをデフォルトで採用しています。
4
+ ブレークポイント: `sm: 480px`, `md: 800px`(`lg: 1120px` はカスタマイズにより利用可能)
5
+
6
+ ## TOC
7
+
8
+ - [HTML / Property Class での指定](#html--property-class-での指定)
9
+ - [Lism コンポーネントでの指定](#lism-コンポーネントでの指定)
10
+
11
+ [詳細](https://lism-css.com/docs/responsive/)
12
+
13
+ ---
14
+
15
+ ## HTML / Property Class での指定
16
+
17
+ ブレークポイント用のクラス `-{prop}_{bp}` と CSS変数 `--{prop}_{bp}` を組み合わせます。
18
+
19
+ ```html
20
+ <!-- sm 以上で p:30, md 以上で p:40 に切り替え -->
21
+ <div class="-p:20 -p_sm -p_md" style="--p_sm: var(--s30); --p_md: var(--s40)">
22
+ ...
23
+ </div>
24
+
25
+ <!-- sm 以上で fz を l に切り替え -->
26
+ <div class="-fz:s -fz_sm" style="--fz_sm: var(--fz--l)">
27
+ ...
28
+ </div>
29
+ ```
30
+
31
+ **仕組み:**
32
+ 1. `-p_sm` クラスは `@container (min-width: 480px)` 内で `padding: var(--p_sm)` を適用
33
+ 2. `--p_sm` 変数で切り替え先の値を指定
34
+ 3. `overwriteBaseVar` 対応の Prop はベース変数(`--p`)も上書きされる
35
+
36
+ ## Lism コンポーネントでの指定
37
+
38
+ 配列形式またはオブジェクト形式でレスポンシブ値を指定します。
39
+
40
+ ```jsx
41
+ // 配列形式: [デフォルト, sm, md]
42
+ <Box p={[20, 30, 40]} fz={['s', 'm', 'l']} />
43
+
44
+ // オブジェクト形式
45
+ <Box p={{ base: '20', sm: '30', md: '40' }} />
46
+ ```
47
+
48
+ 出力される HTML:
49
+
50
+ ```html
51
+ <div class="l--box -p:20 -p_sm -p_md -fz:s -fz_sm -fz_md"
52
+ style="--p_sm: var(--s30); --p_md: var(--s40); --fz_sm: var(--fz--m); --fz_md: var(--fz--l)">
53
+ </div>
54
+ ```