@lism-css/mcp 0.23.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.ja.md +15 -15
  2. package/README.md +5 -5
  3. package/dist/data/docs-index.json +185 -159
  4. package/dist/data/guides/SKILL.md +164 -228
  5. package/dist/data/guides/antipatterns-layout.md +271 -0
  6. package/dist/data/guides/antipatterns.md +121 -196
  7. package/dist/data/guides/base-styles.md +10 -9
  8. package/dist/data/guides/components-core.md +27 -9
  9. package/dist/data/guides/components-ui.md +30 -51
  10. package/dist/data/guides/css-rules.md +104 -107
  11. package/dist/data/guides/customize.md +10 -7
  12. package/dist/data/guides/naming.md +22 -41
  13. package/dist/data/guides/primitive-class.md +5 -5
  14. package/dist/data/guides/primitives/a--decorator.md +2 -28
  15. package/dist/data/guides/primitives/a--divider.md +1 -52
  16. package/dist/data/guides/primitives/a--icon.md +2 -76
  17. package/dist/data/guides/primitives/a--spacer.md +1 -49
  18. package/dist/data/guides/primitives/l--autoColumns.md +7 -54
  19. package/dist/data/guides/primitives/l--box.md +1 -21
  20. package/dist/data/guides/primitives/l--center.md +6 -39
  21. package/dist/data/guides/primitives/l--cluster.md +6 -26
  22. package/dist/data/guides/primitives/l--columns.md +7 -56
  23. package/dist/data/guides/primitives/l--flex.md +5 -62
  24. package/dist/data/guides/primitives/l--flow.md +11 -72
  25. package/dist/data/guides/primitives/l--frame.md +7 -78
  26. package/dist/data/guides/primitives/l--grid.md +5 -56
  27. package/dist/data/guides/primitives/l--stack.md +5 -44
  28. package/dist/data/guides/primitives/l--switchColumns.md +8 -53
  29. package/dist/data/guides/primitives/l--tileGrid.md +7 -44
  30. package/dist/data/guides/primitives/l--withSide.md +9 -79
  31. package/dist/data/guides/property-class/all-props.md +246 -0
  32. package/dist/data/guides/property-class/bd.md +6 -71
  33. package/dist/data/guides/property-class/hov.md +14 -73
  34. package/dist/data/guides/property-class/max-sz.md +3 -39
  35. package/dist/data/guides/property-class.md +33 -250
  36. package/dist/data/guides/references/authoring.md +246 -0
  37. package/dist/data/guides/references/page-sections.md +99 -0
  38. package/dist/data/guides/references/verification.md +75 -0
  39. package/dist/data/guides/responsive.md +44 -15
  40. package/dist/data/guides/set-class.md +2 -12
  41. package/dist/data/guides/tokens.md +20 -16
  42. package/dist/data/guides/trait-class/has--gutter.md +3 -31
  43. package/dist/data/guides/trait-class/has--mask.md +3 -36
  44. package/dist/data/guides/trait-class/has--snap.md +3 -34
  45. package/dist/data/guides/trait-class/has--transition.md +3 -41
  46. package/dist/data/guides/trait-class/is--boxLink.md +2 -63
  47. package/dist/data/guides/trait-class/is--container.md +2 -29
  48. package/dist/data/guides/trait-class/is--layer.md +1 -57
  49. package/dist/data/guides/trait-class/is--wrapper.md +3 -56
  50. package/dist/data/guides/trait-class.md +8 -8
  51. package/dist/data/guides/utility-class.md +1 -1
  52. package/dist/data/meta.js +4 -3
  53. package/dist/index.js +4 -1
  54. package/dist/lib/load-markdown.d.ts +4 -0
  55. package/dist/lib/load-markdown.js +10 -0
  56. package/dist/lib/response.d.ts +5 -0
  57. package/dist/lib/response.js +15 -2
  58. package/dist/lib/schemas.d.ts +35 -0
  59. package/dist/lib/schemas.js +13 -0
  60. package/dist/lib/search.d.ts +2 -0
  61. package/dist/lib/search.js +56 -4
  62. package/dist/lib/types.d.ts +5 -21
  63. package/dist/lib/version.d.ts +2 -0
  64. package/dist/lib/version.js +8 -0
  65. package/dist/tools/convert-css.js +37 -14
  66. package/dist/tools/get-component.js +2 -2
  67. package/dist/tools/get-guide.d.ts +2 -0
  68. package/dist/tools/get-guide.js +41 -18
  69. package/dist/tools/get-overview.js +2 -2
  70. package/dist/tools/get-props-system.js +8 -6
  71. package/dist/tools/get-tokens.js +2 -2
  72. package/dist/tools/search-docs.js +13 -7
  73. package/package.json +21 -6
@@ -2,12 +2,7 @@
2
2
 
3
3
  メディアクエリ・コンテナクエリに依存せず、**維持したいコンテンツ幅を基準にして横並び・縦並びが自動で切り替わる2カラムレイアウト**。「画像 + コンテンツ」「メインエリア + サイドバー」などに活用できる。
4
4
 
5
- ## 基本情報
6
-
7
- - クラス名: `l--withSide`
8
- - コンポーネント: `<WithSide>`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/layout/_withSide.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/primitives/l--withSide.md
5
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/primitives/l--withSide.md
11
6
 
12
7
  ## 動作の仕組み
13
8
 
@@ -15,10 +10,17 @@
15
10
  - メイン側が `--mainW` を維持できる範囲内では横並びを保ち、下回ると自動で縦並びに切り替わる
16
11
  - 子要素の**一方に `is--side` を付ける必要がある**(コンポーネントでは `isSide` prop)
17
12
 
13
+ ## 既定の挙動
14
+
15
+ - `display:flex`。
16
+ - `flex-wrap:wrap`で折り返しを有効化済み。
17
+ - `--sideW:auto`、`--mainW:max(20rem, 50%)`を初期値にします。
18
+ - 直下の`.is--side`をサイド側、それ以外をメイン側としてflex比率・basis・`min-width:0`を設定します。通常`fxw="wrap"`は足しません。
19
+
18
20
  ## 専用Props
19
21
 
20
22
  | Prop | 出力 | デフォルト | 説明 |
21
- |------|------|-----------|------|
23
+ | --- | --- | --- | --- |
22
24
  | `sideW` | `--sideW` | `auto` | サイド要素の横幅 |
23
25
  | `mainW` | `--mainW` | `max(20rem, 50%)` | メイン要素で維持したい最小幅 |
24
26
 
@@ -31,78 +33,6 @@
31
33
  </div>
32
34
  ```
33
35
 
34
- ## Usage
35
-
36
- ### 基本的な使い方
37
-
38
- ```jsx
39
- <WithSide 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
- </WithSide>
48
- ```
49
-
50
- ```html
51
- <div class="l--withSide -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
- <WithSide 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
- </WithSide>
73
- ```
74
-
75
- ```html
76
- <div class="l--withSide -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
- ### メディアとテキストが交互に並ぶレイアウト
85
-
86
- `l--withSide` は「メディア + テキスト」のペアを複数並べて、横並びの時はメディアの位置(左右)が交互に切り替わりつつも、縦並びの時はメディアが上側に統一されるレイアウトにも活用できる。
87
-
88
- ```jsx
89
- <Stack isContainer g="40">
90
- <WithSide sideW="40%" g="30" ai="center">
91
- <Frame ar="3/2" isSide max-h="50cqw">
92
- <img src="..." alt="" width="960" height="640" />
93
- </Frame>
94
- <Box px="10">本文テキスト...</Box>
95
- </WithSide>
96
-
97
- <WithSide fxd="row-reverse" sideW="40%" g="30" ai="center">
98
- <Frame ar="3/2" isSide max-h="50cqw">
99
- <img src="..." alt="" width="960" height="640" />
100
- </Frame>
101
- <Box px="10">本文テキスト...</Box>
102
- </WithSide>
103
- </Stack>
104
- ```
105
-
106
36
  ## `l--grid` との使い分け
107
37
 
108
38
  - **`l--withSide`**: ブレイクポイントに依存せず、コンテンツ幅で自動切り替え
@@ -0,0 +1,246 @@
1
+ # Property Class 全Prop一覧
2
+
3
+ [property-class.md](../property-class.md)の分冊。全Propのプリセット値クラス・BP対応の詳細表。
4
+
5
+ ソース: [props.ts](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/config/defaults/props.ts)
6
+
7
+ ## 表の読み方
8
+
9
+ | カラム | 説明 |
10
+ | --- | --- |
11
+ | **Prop** | クラス名に使う省略名(例: `-fz:l` の `fz` 部分)。Lism コンポーネントの Props 名でもある |
12
+ | **CSS プロパティ** | 実際に制御される CSS プロパティ |
13
+ | **プリセット値クラス** | そのまま使えるクラス名の一覧(`-{prop}:{value}` 形式)。`—` はカスタム値のみ対応 |
14
+ | **BP** | ブレークポイント対応クラス(`-{prop}_{bp}` 形式)のサポート状況。`✔` は `sm`・`md`・`lg` に対応、`—` は非対応 |
15
+
16
+
17
+ ## 全 Prop 一覧
18
+
19
+ ### タイポグラフィ
20
+
21
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
22
+ | --- | --- | --- | --- |
23
+ | `f` | `font` | `-f:inherit` | — |
24
+ | `fz` | `font-size` | `-fz:base`, `-fz:5xl`〜`-fz:2xs` | ✔ |
25
+ | `fw` | `font-weight` | `-fw:light`, `-fw:normal`, `-fw:bold`, `-fw:100`〜`-fw:900` | — |
26
+ | `ff` | `font-family` | `-ff:base`, `-ff:accent`, `-ff:mono` | — |
27
+ | `fs` | `font-style` | `-fs:italic` | — |
28
+ | `hl` | `--hl`(ハーフレディング) | `-hl:base`, `-hl:xs`, `-hl:s`, `-hl:l`, `-hl:0` | ✔ |
29
+ | `lh` | `line-height`(`--hl` 経由・互換) | `-lh:base`, `-lh:xs`, `-lh:s`, `-lh:l`, `-lh:1` | — |
30
+ | `lts` | `letter-spacing` | `-lts:base`, `-lts:s`, `-lts:l`, `-lts:xl` | — |
31
+ | `ta` | `text-align` | `-ta:center`, `-ta:left`, `-ta:right` | — |
32
+ | `td` | `text-decoration` | `-td:none` | — |
33
+ | `tt` | `text-transform` | `-tt:upper`, `-tt:lower` | — |
34
+
35
+ **注意:** 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` を推奨します。
36
+
37
+ ### 表示・可視性
38
+
39
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
40
+ | --- | --- | --- | --- |
41
+ | `d` | `display` | `-d:none`, `-d:block`, `-d:flex`, `-d:inline-flex`, `-d:grid`, `-d:inline-grid`, `-d:inline`, `-d:inline-block` | ✔ |
42
+ | `o` | `opacity` | `-o:0`, `-o:mp`, `-o:p`, `-o:pp`, `-o:ppp` | — |
43
+ | `v` | `visibility` | `-v:hidden` | — |
44
+ | `ov` | `overflow` | `-ov:hidden`, `-ov:auto`, `-ov:clip` | — |
45
+ | `ov-x` | `overflow-x` | `-ov-x:clip`, `-ov-x:auto`, `-ov-x:scroll` | — |
46
+ | `ov-y` | `overflow-y` | `-ov-y:clip`, `-ov-y:auto`, `-ov-y:scroll` | — |
47
+ | `ar` | `aspect-ratio` | `-ar:21/9`, `-ar:16/9`, `-ar:3/2`, `-ar:1/1`, `-ar:og` | ✔ |
48
+
49
+ ### サイズ
50
+
51
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
52
+ | --- | --- | --- | --- |
53
+ | `w` | `width` | `-w:100%`, `-w:fit` | ✔ |
54
+ | `h` | `height` | `-h:100%`, `-h:fit` | ✔ |
55
+ | `min-w` | `min-width` | `-min-w:100%` | ✔ |
56
+ | `max-w` | `max-width` | `-max-w:100%` | ✔ |
57
+ | `min-h` | `min-height` | `-min-h:100%` | ✔ |
58
+ | `max-h` | `max-height` | `-max-h:100%` | ✔ |
59
+ | `sz` | `inline-size` | — | — |
60
+ | `min-sz` | `min-inline-size` | — | — |
61
+ | `max-sz` | `max-inline-size` | `-max-sz:xs`, `-max-sz:s`, `-max-sz:m`, `-max-sz:l`, `-max-sz:xl`, `-max-sz:full`, `-max-sz:bleed` | — |
62
+ | `bsz` | `block-size` | — | — |
63
+ | `min-bsz` | `min-block-size` | — | — |
64
+ | `max-bsz` | `max-block-size` | — | — |
65
+ | `contentSize` | `--contentSize` 変数のみ | `-contentSize:s`, `-contentSize:m`, `-contentSize:l`, `-contentSize:xl` | — |
66
+
67
+ **`max-sz` の特殊クラス:**
68
+ - `-max-sz:full` — `has--gutter` 内では gutter 分を含めた全幅に拡張
69
+ - `-max-sz:bleed` — 最外側の `is--container` 幅まで広がる(`margin-inline` で中央配置、`is--container` 祖先がなければ `100svi` まで広がる)
70
+
71
+ → 詳細は [property-class/max-sz.md](./max-sz.md) 参照
72
+
73
+ **`contentSize` について:**
74
+ `--contentSize` 変数をセットする isVar タイプの Prop です。`is--wrapper` と組み合わせるとコンテンツ幅の上限となり、`set--bleed` と組み合わせると `--bleed` の計算基準値として使われます。
75
+ プリセット値(`s`, `m`, `l`, `xl`)は `-contentSize:{value}` クラスを出力し、それ以外の任意値は `--contentSize: {value}` をスタイル属性として出力します。
76
+
77
+ ### 背景
78
+
79
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
80
+ | --- | --- | --- | --- |
81
+ | `bg` | `background` | — | — |
82
+ | `bgi` | `background-image` | — | — |
83
+ | `bgr` | `background-repeat` | `-bgr:no-repeat` | — |
84
+ | `bgp` | `background-position` | `-bgp:center` | — |
85
+ | `bgsz` | `background-size` | `-bgsz:cover`, `-bgsz:contain` | — |
86
+ | `bgc` | `background-color` | `-bgc:base`, `-bgc:base-2`, `-bgc:text`, `-bgc:brand`, `-bgc:accent`, `-bgc:keycolor`, `-bgc:inherit`, `-bgc:transparent`, `-bgc:current` | — |
87
+
88
+ ### カラー
89
+
90
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
91
+ | --- | --- | --- | --- |
92
+ | `c` | `color` | `-c:base`, `-c:text`, `-c:text-2`, `-c:brand`, `-c:accent`, `-c:keycolor`, `-c:inherit` | — |
93
+ | `keycolor` | `--keycolor` 変数のみ | — | — |
94
+
95
+ セマンティック/パレットの全カラートークンは [tokens.md のカラー](../tokens.md#カラー)を参照。<br />
96
+ キーカラー変数: `keycolor`(ユーザー定義の `--keycolor` を参照する独立変数。詳細は `tokens.md` を参照)
97
+
98
+ `c` / `bgc` / `bdc` に `keycolor` を指定すると、`--keycolor` を参照する `-c:keycolor` のようなクラスが出力される(`style` 属性ではない)。
99
+
100
+ ### 角丸
101
+
102
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
103
+ | --- | --- | --- | --- |
104
+ | `bdrs` | `border-radius` | `-bdrs:0`, `-bdrs:10`, `-bdrs:20`, `-bdrs:30`, `-bdrs:40`, `-bdrs:99`, `-bdrs:inner` | ✔ |
105
+ | `bdrs-tl` | `border-top-left-radius` | — | — |
106
+ | `bdrs-tr` | `border-top-right-radius` | — | — |
107
+ | `bdrs-br` | `border-bottom-right-radius` | — | — |
108
+ | `bdrs-bl` | `border-bottom-left-radius` | — | — |
109
+ | `bdrs-ss` | `border-start-start-radius` | — | — |
110
+ | `bdrs-se` | `border-start-end-radius` | — | — |
111
+ | `bdrs-es` | `border-end-start-radius` | — | — |
112
+ | `bdrs-ee` | `border-end-end-radius` | — | — |
113
+
114
+ ### 影
115
+
116
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
117
+ | --- | --- | --- | --- |
118
+ | `bxsh` | `box-shadow` | `-bxsh:0`, `-bxsh:10`, `-bxsh:20`, `-bxsh:30`, `-bxsh:40`, `-bxsh:50` | ✔ |
119
+
120
+ **補足:** 影色(`--shc`)を要素内で上書きして再計算させたい場合は、`set--bxsh` クラスを併用する。
121
+
122
+ ### ポジション
123
+
124
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
125
+ | --- | --- | --- | --- |
126
+ | `pos` | `position` | `-pos:static`, `-pos:fixed`, `-pos:sticky`, `-pos:relative`, `-pos:absolute` | ✔ |
127
+ | `z` | `z-index` | `-z:-1`, `-z:0`, `-z:1`, `-z:99` | — |
128
+ | `t` | `top` | `-t:0`, `-t:50%`, `-t:100%` | — |
129
+ | `l` | `left` | `-l:0`, `-l:50%`, `-l:100%` | — |
130
+ | `r` | `right` | `-r:0`, `-r:50%`, `-r:100%` | — |
131
+ | `b` | `bottom` | `-b:0`, `-b:50%`, `-b:100%` | — |
132
+ | `i` | `inset` | `-i:0` | — |
133
+ | `i-x` | `inset-inline` | — | — |
134
+ | `i-y` | `inset-block` | — | — |
135
+ | `i-s` | `inset-inline-start` | — | — |
136
+ | `i-e` | `inset-inline-end` | — | — |
137
+ | `i-bs` | `inset-block-start` | — | — |
138
+ | `i-be` | `inset-block-end` | — | — |
139
+
140
+ ### 余白 — Padding
141
+
142
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
143
+ | --- | --- | --- | --- |
144
+ | `p` | `padding` | `-p:0`, `-p:5`, `-p:10`, `-p:20`, ... (SPACEトークン) | ✔ |
145
+ | `px` | `padding-inline` | `-px:0`, `-px:5`, `-px:10`, `-px:20`, ... (SPACEトークン) | ✔ |
146
+ | `py` | `padding-block` | `-py:0`, `-py:5`, `-py:10`, `-py:20`, ... (SPACEトークン) | ✔ |
147
+ | `ps` | `padding-inline-start` | `-ps:5`, `-ps:10`, `-ps:20`, ... (SPACEトークン) | ✔ |
148
+ | `pe` | `padding-inline-end` | `-pe:5`, `-pe:10`, `-pe:20`, ... (SPACEトークン) | ✔ |
149
+ | `pbs` | `padding-block-start` | `-pbs:5`, `-pbs:10`, `-pbs:20`, ... (SPACEトークン) | ✔ |
150
+ | `pbe` | `padding-block-end` | `-pbe:5`, `-pbe:10`, `-pbe:20`, ... (SPACEトークン) | ✔ |
151
+ | `pl` | `padding-left` | `-pl:5`, `-pl:10`, `-pl:20`, ... (SPACEトークン) | ✔ |
152
+ | `pr` | `padding-right` | `-pr:5`, `-pr:10`, `-pr:20`, ... (SPACEトークン) | ✔ |
153
+ | `pt` | `padding-top` | `-pt:5`, `-pt:10`, `-pt:20`, ... (SPACEトークン) | ✔ |
154
+ | `pb` | `padding-bottom` | `-pb:5`, `-pb:10`, `-pb:20`, ... (SPACEトークン) | ✔ |
155
+
156
+ SPACEトークンの全値(`5`〜`80`の離散値)は [tokens.md の余白 (space)](../tokens.md#余白-space) を参照。
157
+
158
+ ### 余白 — Margin
159
+
160
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
161
+ | --- | --- | --- | --- |
162
+ | `m` | `margin` | `-m:auto`, `-m:0`, `-m:5`, `-m:10`, `-m:20`, ... (SPACEトークン) | ✔ |
163
+ | `mx` | `margin-inline` | `-mx:auto`, `-mx:0`, `-mx:5`, `-mx:10`, `-mx:20`, ... (SPACEトークン) | ✔ |
164
+ | `my` | `margin-block` | `-my:auto`, `-my:0`, `-my:5`, `-my:10`, `-my:20`, ... (SPACEトークン) | ✔ |
165
+ | `ms` | `margin-inline-start` | `-ms:auto`, `-ms:5`, `-ms:10`, `-ms:20`, ... (SPACEトークン) | ✔ |
166
+ | `me` | `margin-inline-end` | `-me:auto`, `-me:5`, `-me:10`, `-me:20`, ... (SPACEトークン) | ✔ |
167
+ | `mbs` | `margin-block-start` | `-mbs:auto`, `-mbs:0`, `-mbs:5`, `-mbs:10`, `-mbs:20`, ... (SPACEトークン) | ✔ |
168
+ | `mbe` | `margin-block-end` | `-mbe:auto`, `-mbe:5`, `-mbe:10`, `-mbe:20`, ... (SPACEトークン) | ✔ |
169
+ | `ml` | `margin-left` | `-ml:5`, `-ml:10`, `-ml:20`, ... (SPACEトークン) | ✔ |
170
+ | `mr` | `margin-right` | `-mr:5`, `-mr:10`, `-mr:20`, ... (SPACEトークン) | ✔ |
171
+ | `mt` | `margin-top` | `-mt:5`, `-mt:10`, `-mt:20`, ... (SPACEトークン) | ✔ |
172
+ | `mb` | `margin-bottom` | `-mb:5`, `-mb:10`, `-mb:20`, ... (SPACEトークン) | ✔ |
173
+
174
+ ### Gap
175
+
176
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
177
+ | --- | --- | --- | --- |
178
+ | `g` | `gap` | `-g:0`, `-g:inherit`, `-g:5`, `-g:10`, `-g:20`, ... (SPACEトークン) | ✔ |
179
+ | `cg` | `column-gap` | `-cg:5`, `-cg:10`, `-cg:20`, ... (SPACEトークン) | ✔ |
180
+ | `rg` | `row-gap` | `-rg:5`, `-rg:10`, `-rg:20`, ... (SPACEトークン) | ✔ |
181
+
182
+ ### Flex
183
+
184
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
185
+ | --- | --- | --- | --- |
186
+ | `fxf` | `flex-flow` | — | — |
187
+ | `fxw` | `flex-wrap` | `-fxw:wrap` | ✔ |
188
+ | `fxd` | `flex-direction` | `-fxd:column`, `-fxd:column-reverse`, `-fxd:row-reverse` | ✔ |
189
+ | `fx` | `flex` | `-fx:1` | ✔ |
190
+ | `fxg` | `flex-grow` | `-fxg:1` | — |
191
+ | `fxsh` | `flex-shrink` | `-fxsh:0` | — |
192
+ | `fxb` | `flex-basis` | — | ✔ |
193
+
194
+ ### Grid
195
+
196
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
197
+ | --- | --- | --- | --- |
198
+ | `gt` | `grid-template` | — | ✔ |
199
+ | `gta` | `grid-template-areas` | — | ✔ |
200
+ | `gtc` | `grid-template-columns` | `-gtc:subgrid` | ✔ |
201
+ | `gtr` | `grid-template-rows` | `-gtr:subgrid` | ✔ |
202
+ | `gaf` | `grid-auto-flow` | `-gaf:row`, `-gaf:column` | ✔ |
203
+ | `gac` | `grid-auto-columns` | — | — |
204
+ | `gar` | `grid-auto-rows` | — | — |
205
+ | `cols` | `--cols` 変数 | — | ✔ |
206
+ | `rows` | `--rows` 変数 | — | ✔ |
207
+
208
+ ### Grid アイテム
209
+
210
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
211
+ | --- | --- | --- | --- |
212
+ | `ga` | `grid-area` | `-ga:1/1` | ✔ |
213
+ | `gc` | `grid-column` | `-gc:1/-1` | ✔ |
214
+ | `gr` | `grid-row` | `-gr:1/-1` | ✔ |
215
+ | `gcs` | `grid-column-start` | — | — |
216
+ | `gce` | `grid-column-end` | — | — |
217
+ | `grs` | `grid-row-start` | — | — |
218
+ | `gre` | `grid-row-end` | — | — |
219
+
220
+ ### 配置(Places)
221
+
222
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
223
+ | --- | --- | --- | --- |
224
+ | `ai` | `align-items` | `-ai:start`, `-ai:center`, `-ai:end`, `-ai:stretch`, `-ai:flex-start`, `-ai:flex-end` | ✔ |
225
+ | `ac` | `align-content` | `-ac:start`, `-ac:center`, `-ac:end`, `-ac:flex-start`, `-ac:flex-end`, `-ac:between` | ✔ |
226
+ | `ji` | `justify-items` | `-ji:start`, `-ji:center`, `-ji:end`, `-ji:stretch`, `-ji:flex-start`, `-ji:flex-end` | ✔ |
227
+ | `jc` | `justify-content` | `-jc:start`, `-jc:center`, `-jc:end`, `-jc:flex-start`, `-jc:flex-end`, `-jc:between` | ✔ |
228
+ | `pi` | `place-items` | `-pi:start`, `-pi:center`, `-pi:end` | — |
229
+ | `pc` | `place-content` | `-pc:start`, `-pc:center`, `-pc:end` | — |
230
+ | `aslf` | `align-self` | `-aslf:start`, `-aslf:center`, `-aslf:end`, `-aslf:stretch` | — |
231
+ | `jslf` | `justify-self` | `-jslf:start`, `-jslf:center`, `-jslf:end`, `-jslf:stretch` | — |
232
+ | `pslf` | `place-self` | `-pslf:start`, `-pslf:center`, `-pslf:end` | — |
233
+ | `order` | `order` | `-order:0`, `-order:-1`, `-order:1` | ✔ |
234
+
235
+ **コンポーネント用ショートハンド:** `ai`, `ac`, `ji`, `jc`, `aslf`, `jslf` では `s`→`start`, `e`→`end`, `c`→`center`, `fs`→`flex-start`, `fe`→`flex-end` のショートハンドが使えます。
236
+
237
+ ### その他
238
+
239
+ | Prop | CSS プロパティ | プリセット値クラス | BP |
240
+ | --- | --- | --- | --- |
241
+ | `ovw` | `overflow-wrap` | `-ovw:anywhere` | — |
242
+ | `whs` | `white-space` | `-whs:nowrap` | — |
243
+ | `float` | `float` | `-float:left`, `-float:right` | — |
244
+ | `clear` | `clear` | `-clear:both` | — |
245
+ | `iso` | `isolation` | `-iso:isolate` | — |
246
+ | `wm` | `writing-mode` | `-wm:vertical-rl` | ✔ |
@@ -2,12 +2,10 @@
2
2
 
3
3
  Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理される特殊仕様の Property Class。`-bd` または `-bd-{side}` クラスで変数管理を有効化し、`bds` / `bdc` / `bdw` Prop で個別に上書きする。
4
4
 
5
- ## 基本情報
6
-
7
5
  - クラス名: `-bd` / `-bd-{side}` / `-bds:*` / `-bdc:*` / `-bdw` など
8
6
  - Lism props: `bd`, `bd-{side}`, `bds`, `bdc`, `bdw`
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_border.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/property-class/bd.md
7
+
8
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/property-class/bd.md
11
9
 
12
10
  ## 仕組み
13
11
 
@@ -32,7 +30,7 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
32
30
  ## 方向指定クラス
33
31
 
34
32
  | Prop | CSS プロパティ |
35
- |------|--------------|
33
+ | --- | --- |
36
34
  | `bd` | `border`(変数管理を有効化) |
37
35
  | `bd-x` | `border-inline` |
38
36
  | `bd-y` | `border-block` |
@@ -50,78 +48,15 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
50
48
  ## 値プロパティ
51
49
 
52
50
  | Prop | 変数 | プリセット値クラス | BP クラス |
53
- |------|------|-------------|-----|
51
+ | --- | --- | --- | --- |
54
52
  | `bd` | — | `-bd:none` | — |
55
53
  | `bds` | `--bds` | `-bds:dashed`, `-bds:dotted`, `-bds:double` | — |
56
- | `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` | — |
54
+ | `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:keycolor`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` | — |
57
55
  | `bdw` | `--bdw` | — | `-bdw_sm`, `-bdw_md` |
58
56
 
59
57
  `bdw` はブレイクポイント指定に対応。`--bdw` の値を BP で切り替えることで、ボーダーの方向自体を変化させることもできる。
60
58
 
61
- ## Usage
62
-
63
- ### 全方向にボーダー + カスタマイズ
64
-
65
- ```jsx
66
- <Box bd p="10">...</Box>
67
- <Box bd bds="dashed" bdw="4px" bdc="red" p="15">...</Box>
68
- ```
69
- ```html
70
- <div class="l--box -bd -p:10">...</div>
71
- <div class="l--box -bd -bds:dashed -p:15" style="--bdw: 4px; --bdc: var(--red)">...</div>
72
- ```
73
-
74
- ### 単一方向
75
-
76
- ```jsx
77
- <Box bd-t px="10">-t: Top</Box>
78
- <Box bd-x bdw="2px" px="10">inline</Box>
79
- <Box bd-s bdw="2px" px="10">inline-start</Box>
80
- ```
81
- ```html
82
- <div class="l--box -bd-t -px:10">-t: Top</div>
83
- <div class="l--box -bd-x -px:10" style="--bdw: 2px">inline</div>
84
- <div class="l--box -bd-s -px:10" style="--bdw: 2px">inline-start</div>
85
- ```
86
-
87
- ### 方向ごとに異なるスタイル
88
-
89
- `-bd` + `--bdw` / `--bds` / `--bdc` を複数値指定すると、方向ごとにスタイルを変えられる。
90
-
91
- ```jsx
92
- <Box bd bdw="0 0 1px .5em" bds="dashed solid" bdc="var(--purple) var(--blue)" p="15">
93
- border
94
- </Box>
95
- ```
96
- ```html
97
- <div class="l--box -bd -p:15"
98
- style="--bdw: 0 0 1px 0.5em; --bds: dashed solid; --bdc: var(--purple) var(--blue)">
99
- border
100
- </div>
101
- ```
102
-
103
- ### ブレイクポイントで `bdw` を切り替え
104
-
105
- ```jsx
106
- <Box bd bdw={['1px', '3px', '6px']} p="15">border</Box>
107
- ```
108
- ```html
109
- <div class="l--box -bd -bdw_sm -bdw_md -p:15"
110
- style="--bdw: 1px; --bdw_sm: 3px; --bdw_md: 6px">border</div>
111
- ```
112
-
113
- ### BP でボーダー方向を切り替える
114
-
115
- `bd-s` + `bd-bs` に `bdw` の複数値を BP で差し替えると、「縦並び時は上下線・横並び時は左右線」のように方向を切り替えられる。
116
-
117
- ```jsx
118
- <Flex fxd={['column', 'row']}>
119
- <Box px="15" py="5">Box</Box>
120
- <Box px="15" py="5" bd-s bd-bs bdw={['1px 0', '0 1px']}>Box</Box>
121
- </Flex>
122
- ```
123
-
124
59
  ## 関連
125
60
 
126
- - [`-bdrs`](https://lism-css.com/docs/property-class.md) — 角丸(`border-radius`)
61
+ - [`-bdrs`](../property-class.md) — 角丸(`border-radius`)
127
62
  - [`-bd-{side}` + `has--gutter`](../trait-class/has--gutter.md) — セクション区切りに使うと相性が良い
@@ -2,17 +2,15 @@
2
2
 
3
3
  hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで動作する系と、親の `set--hov` に連動する系の 2 系統に分かれる。
4
4
 
5
- ## 基本情報
6
-
7
5
  - クラス名: `-hov:-{prop}` / `-hov:{preset}` / `-hov:in:{preset}`
8
6
  - Lism props: `hov`(`<Lism hov="-c">` / `<Box hov={{ bgc: 'brand' }}>` 等)
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_hover.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/property-class/hov.md
7
+
8
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/property-class/hov.md
11
9
 
12
10
  ## 3 つの形式
13
11
 
14
12
  | 形式 | 役割 |
15
- |------|------|
13
+ | --- | --- |
16
14
  | `-hov:-{prop}` | `--hov-{prop}` 変数を受け取り、hover 時に該当プロパティを変化させる |
17
15
  | `-hov:{preset}` | hover 時のスタイルセットをプリセット名でまとめて適用する |
18
16
  | `-hov:in:{preset}` | 親要素の `set--hov` を起点に、子要素のスタイルを変化させる |
@@ -27,7 +25,7 @@ hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで
27
25
  `:hover` で直接動作する。クラスを付けるだけで初期値で変化する。
28
26
 
29
27
  | クラス | 変化するプロパティ | 初期値 |
30
- |--------|----------------------|--------|
28
+ | --- | --- | --- |
31
29
  | `-hov:-c` | `color` | `var(--hov-c, var(--link))` |
32
30
  | `-hov:-bdc` | `border-color` | `var(--hov-bdc, currentColor)` |
33
31
  | `-hov:-bgc` | `background-color` | `var(--hov-bgc, var(--hov-bgc--default, color-mix(in srgb, var(--bgc, var(--base)), var(--neutral) 25%)))` |
@@ -40,102 +38,45 @@ hover 時の挙動を制御する Property Class。`:hover` 擬似クラスで
40
38
 
41
39
  プロジェクト全体で `-hov:-bgc` のデフォルト値を差し替えたい場合は、`:root` 等で `--hov-bgc--default` を定義する。フォールバック順は `--hov-bgc`(要素ごとの明示指定)→ `--hov-bgc--default`(プロジェクト全体)→ `color-mix(...)`(フレームワーク既定)の 3 段。
42
40
 
43
- ```html
44
- <!-- 初期値のまま使用 -->
45
- <a class="is--boxLink -hov:-o -bgc:base-2 -bd -p:20" href="###">...</a>
46
-
47
- <!-- 任意値を指定 -->
48
- <a class="is--boxLink -hov:-bgc -hov:-c -bgc:base-2 -p:20"
49
- style="--hov-bgc: var(--brand); --hov-c: var(--white)" href="###">...</a>
50
- ```
51
-
52
41
  ## `-hov:{preset}` — プリセット
53
42
 
54
43
  hover 時のスタイルセットをプリセット名でまとめて適用する。
55
44
 
56
45
  | クラス | 内容 |
57
- |--------|------|
46
+ | --- | --- |
58
47
  | `-hov:underline` | テキストに下線を表示 |
59
48
 
60
- プロジェクト固有のプリセットは、以下のように自作して追加できる。
61
-
62
- ```scss
63
- @media (any-hover: hover) {
64
- .-hov\:shadowUp:hover {
65
- box-shadow: var(--bxsh--40);
66
- translate: 0 -3px;
67
- }
68
- }
69
- ```
49
+ プロジェクト固有のプリセットを自作して追加することもできる(実装例は公式ドキュメント参照)。
70
50
 
71
51
  ## `-hov:in:{preset}` — 親連動
72
52
 
73
53
  親要素に `set--hov` を付けると、`--_isHov` / `--_notHov` 変数が hover 状態に応じて切り替わる。`-hov:in:*` はこの変数を参照する仕組み。
74
54
 
75
55
  | クラス | 効果 | 仕組み |
76
- |--------|------|--------|
56
+ | --- | --- | --- |
77
57
  | `-hov:in:hide` | 親 hover 時にフェードアウト | `opacity: var(--_isHov, 0)` |
78
58
  | `-hov:in:show` | 親 hover 時にフェードイン | `opacity: var(--_notHov, 0)` / `visibility: var(--_notHov, hidden)` |
79
59
  | `-hov:in:zoom` | 親 hover 時にズーム | `scale: var(--_isHov, 1.1)` |
80
60
 
81
- ```jsx
82
- <Frame set="hov" isBoxLink href="#" ar="16/9">
83
- <Media isLayer hasTransition hov="in:zoom" src="..." />
84
- <Layer hasTransition hov="in:show" bgc="rgb(0 0 0 / 40%)">...</Layer>
85
- </Frame>
86
- ```
87
-
88
61
  ## `<Lism>` コンポーネントでの `hov` 指定
89
62
 
90
63
  `<Lism>`(およびその継承コンポーネント)の `hov` prop は、文字列・オブジェクトの 2 通りで指定できる。
91
64
 
92
- ### 文字列指定
93
-
94
- 入力した文字列がそのまま `-hov:{入力文字列}` クラスとして出力される。カンマ区切りで複数指定可能。**自動変換は行われない**(`"c"` → `-hov:-c` のような省略はサポートしない)。
65
+ - **文字列指定**: 入力した文字列がそのまま `-hov:{入力文字列}` クラスとして出力される。カンマ区切りで複数指定可。**自動変換は行われない**(`"c"` → `-hov:-c` のような省略はサポートしない)。
66
+ - **オブジェクト指定**: 主に `-hov:-{prop}` へ任意の値を渡す用途。`hov={{ prop: value }}` で `-hov:-{prop}` クラス + `--hov-{prop}` 変数を出力。値に `true` を指定すると `-hov:{key}` クラスのみ出力され、任意値プロップとプリセット/自作クラスを同時に指定できる。
95
67
 
96
68
  ```jsx
97
- <Lism hov="-o">...</Lism>
98
- // → <div class="-hov:-o">...</div>
99
-
100
- <Lism hov="shadowUp">...</Lism>
101
- // → <div class="-hov:shadowUp">...</div>
102
-
103
- <Lism hov="-c,-bxsh">...</Lism>
104
- // → <div class="-hov:-c -hov:-bxsh">...</div>
105
- ```
106
-
107
- ### オブジェクト指定
108
-
109
- 主に `-hov:-{prop}` に任意の値を渡す用途。`hov={{ prop: value }}` で `-hov:-{prop}` クラス + `--hov-{prop}` 変数を出力。
110
-
111
- ```jsx
112
- <Lism hov={{ c: 'red' }}>...</Lism>
113
- // → <div class="-hov:-c" style="--hov-c: var(--red)">...</div>
114
- ```
115
-
116
- 値に `true` を指定すると `-hov:{key}` クラスのみ出力される。任意値プロップとプリセット/自作クラスを**同時に**指定したい時に使う。
117
-
118
- ```jsx
119
- <Lism hov={{ shadowUp: true }}>...</Lism>
120
- // → <div class="-hov:shadowUp">...</div>
121
-
122
- <Lism hov={{ c: 'red', shadowUp: true }}>...</Lism>
123
- // → <div class="-hov:-c -hov:shadowUp" style="--hov-c: var(--red)">...</div>
69
+ // 文字列指定(自動変換なし)
70
+ <Lism hov="-c,-bxsh"> // → <div class="-hov:-c -hov:-bxsh">
71
+ // オブジェクト指定(任意値 → クラス + 変数)
72
+ <Lism hov={{ c: 'red', shadowUp: true }}>
73
+ // → <div class="-hov:-c -hov:shadowUp" style="--hov-c: var(--red)">
124
74
  ```
125
75
 
126
76
  ## `has--transition` との併用
127
77
 
128
78
  `-hov:*` による変化は即時に切り替わる。なめらかなトランジションを付けたい場合は `has--transition` を併用し、`--duration` で所要時間を調整する。
129
79
 
130
- ```jsx
131
- <BoxLink href="###" hasTransition bxsh="10" hov={{ bxsh: '40' }} bd p="20">...</BoxLink>
132
- // → <a class="is--boxLink has--transition -bxsh:10 -hov:-bxsh -bd -p:20"
133
- // style="--hov-bxsh: var(--bxsh--40)" href="###">...</a>
134
-
135
- <BoxLink href="###" hasTransition hov={{ bdc: 'red' }} bd p="20"
136
- style={{ '--duration': '.5s' }}>...</BoxLink>
137
- ```
138
-
139
80
  ## 関連
140
81
 
141
82
  - [`has--transition`](../trait-class/has--transition.md) — hover 時の変化にトランジションを付ける
@@ -2,19 +2,17 @@
2
2
 
3
3
  コンテンツの最大幅(`max-inline-size`)を制御する Property Class。標準のコンテンツサイズトークン(`xs`〜`xl`)に加え、特殊挙動の `full` / `bleed` を持つ。
4
4
 
5
- ## 基本情報
6
-
7
5
  - クラス名: `-max-sz:{xs|s|m|l|xl|full|bleed}`
8
6
  - Lism props: `max-sz`(`<Lism max-sz="m">` 等)
9
- - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/props/_size.scss
10
- - 公式ドキュメント: https://lism-css.com/docs/property-class/max-sz.md
7
+
8
+ 公式ドキュメント(使い方・コード例): https://lism-css.com/docs/property-class/max-sz.md
11
9
 
12
10
  ## トークン対応クラス
13
11
 
14
12
  コンテンツサイズ用のトークン `--sz--{xs|s|m|l|xl}` にそのまま対応するクラスが用意されている。
15
13
 
16
14
  | クラス | 値 |
17
- |--------|-----|
15
+ | --- | --- |
18
16
  | `-max-sz:xs` | `var(--sz--xs)` |
19
17
  | `-max-sz:s` | `var(--sz--s)` |
20
18
  | `-max-sz:m` | `var(--sz--m)` |
@@ -57,40 +55,6 @@
57
55
 
58
56
  `margin-inline` で中央配置されるので、`is--wrapper` の内側にあっても最外側 container 基準の幅に広げつつ中央に揃う。`inline-size: auto` も同じく、`is--wrapper > *` で当たる `inline-size: 100%` を打ち消すためのリセット。
59
57
 
60
- ## Usage
61
-
62
- ### トークン値での使用
63
-
64
- ```jsx
65
- <Lism max-sz="m" mx="auto">...</Lism>
66
- ```
67
- ```html
68
- <div class="-max-sz:m -mx:auto" style="max-inline-size: var(--sz--m)">...</div>
69
- ```
70
-
71
- ### `has--gutter` 内の全幅要素
72
-
73
- ```html
74
- <div class="has--gutter">
75
- <p>通常の gutter 内コンテンツ</p>
76
- <img class="-max-sz:full" src="..." alt="" />
77
- <p>通常の gutter 内コンテンツ</p>
78
- </div>
79
- ```
80
-
81
- ### 最外側 container 基準のサイズ(full-bleed)
82
-
83
- ```html
84
- <div class="is--container">
85
- <div class="is--wrapper -contentSize:s">
86
- <p>狭めのコンテンツ</p>
87
- <div class="-max-sz:bleed">
88
- 最外側 container 幅まで広がる要素(ネストされた is--container も突き抜ける)
89
- </div>
90
- </div>
91
- </div>
92
- ```
93
-
94
58
  ## DEMO
95
59
 
96
60
  `-max-sz:*` の挙動確認用デモ: