@lism-css/mcp 0.13.0 → 0.15.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 (42) hide show
  1. package/dist/data/docs-index.json +176 -85
  2. package/dist/data/guides/SKILL.md +29 -15
  3. package/dist/data/guides/base-styles.md +2 -0
  4. package/dist/data/guides/components-core.md +25 -20
  5. package/dist/data/guides/components-ui.md +16 -23
  6. package/dist/data/guides/css-rules.md +101 -26
  7. package/dist/data/guides/customize.md +220 -0
  8. package/dist/data/guides/naming.md +218 -0
  9. package/dist/data/guides/primitive-class.md +3 -90
  10. package/dist/data/guides/primitives/a--decorator.md +3 -5
  11. package/dist/data/guides/primitives/a--divider.md +4 -11
  12. package/dist/data/guides/primitives/a--spacer.md +1 -1
  13. package/dist/data/guides/primitives/l--box.md +1 -1
  14. package/dist/data/guides/primitives/l--flex.md +1 -1
  15. package/dist/data/guides/primitives/l--flow.md +1 -1
  16. package/dist/data/guides/primitives/l--fluidCols.md +31 -28
  17. package/dist/data/guides/primitives/l--frame.md +1 -1
  18. package/dist/data/guides/primitives/l--sideMain.md +1 -1
  19. package/dist/data/guides/prop-responsive.md +28 -3
  20. package/dist/data/guides/property-class/bd.md +127 -0
  21. package/dist/data/guides/property-class/hov.md +140 -0
  22. package/dist/data/guides/property-class/max-sz.md +99 -0
  23. package/dist/data/guides/property-class.md +52 -86
  24. package/dist/data/guides/set-class.md +62 -94
  25. package/dist/data/guides/tokens.md +24 -15
  26. package/dist/data/guides/trait-class/has--gutter.md +48 -0
  27. package/dist/data/guides/trait-class/has--mask.md +66 -0
  28. package/dist/data/guides/trait-class/has--snap.md +68 -0
  29. package/dist/data/guides/trait-class/has--transition.md +73 -0
  30. package/dist/data/guides/{primitives → trait-class}/is--boxLink.md +8 -8
  31. package/dist/data/guides/{primitives → trait-class}/is--container.md +2 -2
  32. package/dist/data/guides/{primitives → trait-class}/is--layer.md +2 -2
  33. package/dist/data/guides/{primitives → trait-class}/is--wrapper.md +2 -2
  34. package/dist/data/guides/trait-class.md +77 -0
  35. package/dist/data/guides/utility-class.md +0 -1
  36. package/dist/data/meta.js +2 -2
  37. package/dist/lib/load-markdown.js +1 -1
  38. package/dist/lib/search.js +8 -5
  39. package/dist/tools/get-component.js +7 -6
  40. package/dist/tools/get-guide.js +1 -1
  41. package/package.json +2 -2
  42. package/dist/data/guides/primitives/is--vertical.md +0 -52
@@ -0,0 +1,218 @@
1
+ # 命名規則
2
+
3
+ ## TOC
4
+
5
+ - [CSS変数の命名規則](#css変数の命名規則)
6
+ - [クラスの命名規則](#クラスの命名規則)
7
+ - [`{prop}` の省略ルール](#prop-の省略ルール)
8
+ - [`{value}` の省略ルール](#value-の省略ルール)
9
+
10
+ [詳細](https://lism-css.com/docs/naming/)
11
+
12
+ ---
13
+
14
+ ## CSS変数の命名規則
15
+
16
+ 各ブロックは camelCase で `{varName}` の形式が基本。
17
+
18
+ ### トークン変数
19
+
20
+ | 種類 | 形式 | 例 |
21
+ |------|------|-----|
22
+ | 基本 | `--{prop}--{token}` | `--fz--l`, `--bdrs--20`, `--bxsh--10`, `--sz--s` |
23
+ | カラー | `--{color}` | `--brand`, `--text`, `--text-2`, `--red` |
24
+ | スペーシング | `--s{Token}` | `--s10`, `--s40` |
25
+
26
+ トークンのバリエーション:
27
+
28
+ | 表記 | 条件 | 例 |
29
+ |------|------|-----|
30
+ | `s`, `m`, `l`, `xl`... | ベース値を中心に大小の段階を示す | `--fz--s`, `--fz--l` |
31
+ | `base` | `:root`/`body` の初期値にセットされるもの | `--fz--base`, `--lh--base` |
32
+ | `10`, `20`, `30`... | `0`(`none`)基準で段階的に増加 | `--bdrs--20`, `--bxsh--30` |
33
+ | `-10`, `-20`, `-30`... | `0`(`none`)基準で段階的に減少 | `--o---10`, `--o---20` |
34
+ | セマンティック名 | 上記に当てはまらない場合 | `--ar--og` |
35
+
36
+ ### Property Class 用の変数
37
+
38
+ | 形式 | 説明 | 例 |
39
+ |------|------|-----|
40
+ | `--{prop}` | クラスの `{prop}` 部分と同じ省略名 | `--p`, `--bgc`, `--bdrs`, `--max-sz` |
41
+ | `--{prop}_{bp}` | ブレークポイント値 | `--p_sm`, `--mx_md` |
42
+
43
+ ### その他の変数
44
+
45
+ | 形式 | 用途 | 例 |
46
+ |------|------|-----|
47
+ | `--{target}-{prop}` | 要素・クラスに対するプロパティ(`:root`で上書き可) | `--link-td`, `--headings-ff` |
48
+ | `--{propName}` | クラス自身の主要機能を制御する変数。要素側で値が初期化され、`:root` からは初期値の定義ができないもの | `--sideW`, `--mainW` |
49
+ | `--_{item}-{propName}` | `c--` の子要素プロパティ | `--_icon-size` |
50
+ | `--_{varName}` | 状態管理用の内部変数 | `--_isHov`, `--_notHov` |
51
+
52
+
53
+ ## クラスの命名規則
54
+
55
+ プレフィックスとクラス分類の対応:
56
+
57
+ - Component: `c--`
58
+ - Atomic Primitives: `a--`
59
+ - Layout Primitives: `l--`
60
+ - Trait(役割宣言): `is--`
61
+ - Trait(機能付与): `has--`
62
+ - Set Class: `set--`
63
+ - Utility Class: `u--`
64
+
65
+ プレフィックスに続く名称は camelCase(例: `c--myComponent`)。
66
+
67
+ **使い分けの判断軸:**
68
+
69
+ | プレフィックス | 責務 | 代表例 |
70
+ |---|---|---|
71
+ | `set--` | HTML 要素の基礎スタイリング / 変数セット | `set--plain`, `set--revert`, `set--var:hov`, `set--var:bxsh` |
72
+ | `is--` | 〜である(役割・存在の宣言)。CSS 変数は必須ではない | `is--container`, `is--wrapper`, `is--layer` |
73
+ | `has--` | 〜を持つ(単一機能 trait の付与)。CSS 変数でカスタマイズ可 | `has--transition`, `has--gutter`, `has--snap`, `has--mask` |
74
+ | `u--` | 装飾的効果(単独 or 子要素の装飾) | `u--trim`, `u--cbox`, `u--collapseGrid` |
75
+
76
+ - `set--` は `@lism-base` 層で HTML 要素の基礎スタイル・変数を提供するもの。
77
+ - `is--` / `has--` は `@lism-trait` 層に属する。
78
+
79
+ Property Class の形式:
80
+
81
+ - 特定の値とセット: `-{prop}:{value}`
82
+ - `--{prop}` 変数を受け取る: `-{prop}`
83
+ - ブレークポイント値を受け取る: `-{prop}_{bp}`
84
+ - 修飾子 + Property Class 合成: `-{modifier}:-{prop}`(例: `-hov:-c` は `-c` の hover バリアント)
85
+
86
+
87
+ ## `{prop}` の省略ルール
88
+
89
+ 基本は [Emmet](https://docs.emmet.io/cheat-sheet/) 準拠。
90
+
91
+ > **Note**: 「1文字プロパティ」セクション以外の表は **代表例** であり、全プロパティの一覧ではない。記載のないプロパティは本ページのルールに沿って省略する。
92
+
93
+ ### 1文字プロパティ
94
+
95
+ 1文字に省略する主要プロパティは以下の通り(このリストが全て)。
96
+
97
+ | 省略 | プロパティ | 省略 | プロパティ |
98
+ |------|-----------|------|-----------|
99
+ | `p` | `padding` | `i` | `inset` |
100
+ | `m` | `margin` | `t` | `top` |
101
+ | `g` | `gap` | `b` | `bottom` |
102
+ | `c` | `color` | `l` | `left` |
103
+ | `f` | `font` | `r` | `right` |
104
+ | `w` | `width` | `o` | `opacity` |
105
+ | `h` | `height` | `v` | `visibility` |
106
+ | `d` | `display` | `z` | `z-index` |
107
+
108
+ Emmet と異なるのは `o` (`opacity`) のみ。
109
+
110
+ ### プロパティグループ
111
+
112
+ #### 基本形式: 「グループ略称」+「サブプロパティ名の省略形」
113
+
114
+ | CSS プロパティ | Prop |
115
+ |-------------|------|
116
+ | font-size | `fz` |
117
+ | font-weight | `fw` |
118
+ | background-color | `bgc` |
119
+ | background-image | `bgi` |
120
+ | flex | `fx` |
121
+ | flex-shrink | `fxsh` |
122
+ | flex-grow | `fxg` |
123
+ | grid-template-columns | `gtc` |
124
+ | grid-template-rows | `gtr` |
125
+
126
+ #### 方向指定系: 「グループ略称」 + `-` +「方向指定」
127
+
128
+ | 方向 | サフィックス | 例 |
129
+ |------|-----------|-----|
130
+ | physical | `-t` / `-b` / `-l` / `-r` | `bd-t`, `bd-b`, `bd-l`, `bd-r` |
131
+ | inline / block | `-x` / `-y` | `bd-x`, `bd-y` |
132
+ | start / end | `-s` / `-e` | `bd-x-s`, `bd-x-e`, `bd-y-s`, `bd-y-e` |
133
+ | x / y | `-x` / `-y` | `ov-x`, `ov-y` |
134
+
135
+ 例外: `p`, `m` のみ最初のハイフンを省略 → `pt`, `px`, `my`, `mx-s` 等。
136
+
137
+ #### グループ略称の衝突禁止
138
+
139
+ 一つのグループで使用された略称は他のグループで再利用しない。
140
+ NG例: `flex` → `fx` としたうえで `flex-shrink` を `fsh` にする(`fx` グループの一貫性を崩すため)。
141
+
142
+ ### max- / min- プロパティ
143
+
144
+ `max-`, `min-` プレフィックスはハイフンを保持: `max-w`, `min-w`, `max-h`, `min-h`。
145
+
146
+ ### その他のプロパティ
147
+
148
+ 1. 1単語: そのまま使用 or 省略
149
+ 2. ハイフン繋がり、または6文字以上: Emmet形式または認識しやすい範囲で省略
150
+
151
+ | CSS プロパティ | Prop | 分類 |
152
+ |-------------|------|------|
153
+ | float | `float` | そのまま |
154
+ | order | `order` | そのまま |
155
+ | position | `pos` | 省略 |
156
+ | overflow | `ov` | 省略 |
157
+ | inline-size | `sz` | 省略 |
158
+ | block-size | `bsz` | 省略 |
159
+ | aspect-ratio | `ar` | 省略 |
160
+ | writing-mode | `wm` | 省略 |
161
+ | white-space | `whs` | 省略 |
162
+
163
+ ### 1文字プロパティの短縮名の再利用
164
+
165
+ グループを持たない1文字プロパティや、方向プロパティのみをサブプロパティに持つ場合は、衝突しない範囲で再利用可。
166
+
167
+ | 1文字 Prop | 再利用先 | 展開例 |
168
+ |-----------|---------|--------|
169
+ | `t`(`top`) | `text-*` | `ta`(`text-align`) |
170
+ | `l`(`left`) | `line-*` | `lh`(`line-height`) |
171
+ | `w`(`width`) | `writing-*` | `wm`(`writing-mode`) |
172
+ | `p`(`padding`) | `place-*` | `pi`(`place-items`) |
173
+
174
+
175
+ ## `{value}` の省略ルール
176
+
177
+ ### 基本: CSS の実値をそのまま使う
178
+
179
+ `{prop}` は既に省略されているため、`{value}` はそのまま残して組み合わせから推測可能にする。
180
+
181
+ ```
182
+ .-d:none → display: none;
183
+ .-d:inline-flex → display: inline-flex;
184
+ .-pos:relative → position: relative;
185
+ .-ta:center → text-align: center;
186
+ .-fx:1 → flex: 1;
187
+ .-fxd:column → flex-direction: column;
188
+ ```
189
+
190
+ ### トークン値を利用する場合
191
+
192
+ 対応するトークンがある場合は、トークン値(`--{token}--{value}` の `{value}` 部分)を使う:
193
+
194
+ ```
195
+ .-c:text-2 → color: var(--text-2);
196
+ .-fz:l → font-size: var(--fz--l);
197
+ .-p10 → padding: var(--s10);
198
+ .-fw:bold → font-weight: var(--fw--bold);
199
+ .-bdrs:20 → border-radius: var(--bdrs--20);
200
+ ```
201
+
202
+ トークン値が `-{NUM}` のものも、値をそのまま連結した変数名になる。
203
+
204
+ ```
205
+ .-o:-10 → opacity: var(--o---10);
206
+ ```
207
+
208
+ ### 長いキーワード値の省略
209
+
210
+ 6文字以上かつ省略しても意味が通るものは省略可:
211
+
212
+ | 実際の値 | 省略名 | クラスの例 |
213
+ |--------|------------|-----|
214
+ | `uppercase` | `upper` | `-tt:upper` |
215
+ | `lowercase` | `lower` | `-tt:lower` |
216
+ | `fit-content` | `fit` | `-w:fit`, `-h:fit` |
217
+ | `space-between` | `between` | `-ac:between`, `-jc:between` |
218
+ | `currentColor` | `current` | `-bdc:current` |
@@ -1,16 +1,14 @@
1
1
  # Primitive クラス
2
2
 
3
- Lism CSS では、レイアウトを組み立てる小さな積み木として **Primitive クラス**(`is--` / `l--` / `a--`)を提供します。これらはすべて `@layer lism-primitive` に属します(サブレイヤーは `trait` / `layout` / `atomic`)。
3
+ Lism CSS では、レイアウトを組み立てる小さな積み木として **Primitive クラス**(`l--` / `a--`)を提供します。
4
+ これらは `@layer lism-primitive` に属します(サブレイヤーは `layout` / `atomic`)。
4
5
 
5
- 具体的な UI 部品は **Component クラス**(`c--`)として `@layer lism-component` に配置されますが、コアの `lism-css` には含まれず、`@lism-css/ui` パッケージやユーザー定義として提供されます。
6
6
 
7
7
  ## TOC
8
8
 
9
9
  - [プレフィックス一覧](#プレフィックス一覧)
10
- - [Trait Primitive(`is--`)](#trait-primitiveis--)
11
10
  - [Layout Primitive(`l--`)](#layout-primitivel--)
12
11
  - [Atomic Primitive(`a--`)](#atomic-primitivea--)
13
- - [Component(`c--`)](#componentc--)
14
12
 
15
13
  [詳細](https://lism-css.com/docs/primitives/)
16
14
 
@@ -20,36 +18,10 @@ Lism CSS では、レイアウトを組み立てる小さな積み木として *
20
18
 
21
19
  | プレフィックス | 種類 | サブレイヤー | 役割 |
22
20
  |--------------|------|------------|------|
23
- | `is--` | Trait Primitive | `lism-primitive.trait` | 要素に静的な構造的特性を付与する汎用クラス |
24
21
  | `l--` | Layout Primitive | `lism-primitive.layout` | レイアウトの構成単位となる Primitive |
25
22
  | `a--` | Atomic Primitive | `lism-primitive.atomic` | レイアウトの最小単位(アイコン・区切り線等) |
26
- | `c--` | Component | `lism-component` | BEM 構造を持つ具体的な UI 部品 |
27
23
 
28
- **併用ルール:**
29
- - `is--` は他のすべての Primitive / Component と併用可能(複数の `is--` 同士もOK)
30
- - `l--` と `c--` は併用可能(例: `class="l--flex c--nav"`)
31
- - 同カテゴリ内の併用は不可(例: `l--flex` と `l--grid` は同要素に付けない)
32
- - `c--` のみ Modifier との併記が可能(`.c--button.c--button--outline`)
33
-
34
-
35
- ## Trait Primitive(`is--`)
36
-
37
- [詳細](https://lism-css.com/docs/primitives/#trait-primitives)
38
-
39
- 要素に**静的な構造的特性 (trait)** を付与するクラスです。他の Primitive / Component と自由に組み合わせられます。
40
-
41
- | クラス | 用途 |
42
- |--------|------|
43
- | `is--container` | コンテナクエリの基準要素を定義する(`container-type: inline-size`を付与する)。Lism のレスポンシブ機能の判定基準となるラッパーに付与する |
44
- | `is--wrapper` | 直下の子要素のコンテンツ幅を一括で制限する。`-contentSize:s` / `-contentSize:l` で事前定義したプリセットサイズを指定可能(デフォルト: `--sz--m`)。セクション・ヘッダー・フッター・記事コンテンツなどで、共通したコンテンツ幅を使用する |
45
- | `is--layer` | 親要素全体に被さる絶対配置レイヤー(`position: absolute; inset: 0;`)。背景画像・カラーオーバーレイ・フィルターレイヤー・コンテンツ等を重ねて表示する |
46
- | `is--boxLink` | ボックス全体をクリッカブルなリンク領域にする。自身を`a`タグにして利用するか、もしくは自身を`div`にして内部の`a`タグに`is--coverLink`を付与して使う |
47
- | `is--coverLink` | 親要素全体に被さるクリック領域を持つリンク(`::before` を `inset: 0` で広げる)。`is--boxLink` と併用する |
48
- | `is--vertical` | 縦書きモードを定義する(`writing-mode: var(--vertical-mode)`) |
49
- | `is--skipFlow` | `l--flow` 直下で使用し、次の兄弟要素のフロー余白をゼロにする。`l--flow`の中にあるが`position:absolute`にしたい要素などに使用する |
50
- | `is--side` | `l--sideMain` 直下で使用し、サイド側の要素であることを示す |
51
-
52
- Lism コンポーネントでは `isContainer`, `isLayer` 等の Props として利用できます。
24
+ 併用ルールは [css-rules.md](./css-rules.md#プレフィックスとクラス分類) を参照してください。
53
25
 
54
26
 
55
27
  ## Layout Primitive(`l--`)
@@ -87,62 +59,3 @@ Lism コンポーネントでは `isContainer`, `isLayer` 等の Props として
87
59
  | `a--decorator` | 装飾用要素(SCSS定義なし、クラス名のみ出力) |
88
60
 
89
61
  それぞれ対応するコンポーネント(`<Icon>`, `<Divider>`, `<Spacer>`, `<Decorator>`)があります。
90
-
91
-
92
- ## Component(`c--`)
93
-
94
- `c--` プレフィックスで定義する **Component クラス** は、Primitive を組み合わせて作られた具体的な UI 部品です。`@layer lism-component` に配置され、コアの `lism-css` には含まれず、`@lism-css/ui` パッケージやユーザー定義として提供されます。
95
-
96
- `c--` クラスは BEM 構造(Block / Modifier / Element)を持つことができ、それぞれ次の形式で定義します。
97
-
98
- | 分類 | 形式 | 例 |
99
- |---|---|---|
100
- | Block | `.c--{name}` | `.c--button`, `.c--card` |
101
- | Modifier | `.c--{name}--{modifier}` | `.c--button--outline` |
102
- | Element | `.c--{name}_{element}` | `.c--card_header`, `.c--card_body` |
103
-
104
- - Modifier は Block と併記して使用: `.c--button.c--button--outline`
105
- - Element は `_`(アンダースコア)一つ区切り
106
- - Block 同士の併用(`.c--xxx.c--yyy`)は基本 NG。ただし次は許容される:
107
- - Block と自身の Modifier: `.c--xxx.c--xxx--variant`
108
- - Block と他 Block の Element: `.c--xxx.c--yyy_elem`
109
-
110
- `c--`を使った独自コンポーネントを使う場合でも、他の Primitive クラス(`.l--`, `is--`)や Property Class(`-{prop}:{value}`)との組み合わせを前提とした設計にすることでCSSの記述量を削減できます。`c--`クラスにスタイルが全くなく、HTML側での可視性を高める名前付けのためだけに利用しても構いません。
111
-
112
- ### 作成例
113
-
114
- `l--stack` と併用する前提でのカスタムクラス例
115
-
116
- ```css
117
- @layer lism-component {
118
- .c--myCard {
119
- gap: var(--s20);
120
- padding: var(--s30);
121
- border-radius: var(--bdrs--20);
122
- box-shadow: var(--bxsh--20);
123
- border: 1px solid currentColor;
124
- /* ... */
125
- }
126
- }
127
- ```
128
-
129
- ```html
130
- <div class="c--myCard l--stack">
131
- ...
132
- </div>
133
- ```
134
-
135
- 素のHTMLサイトではこのように`c--`クラスにCSSを書いてスタイリングしても大丈夫ですが、Reactなどでコンポーネントを作成できる場合は、特別な理由がない限りProperty Classを活用してください。
136
-
137
- ```jsx
138
- export default function MyCard(props) {
139
- return <Stack lismClass="c--myCard" g="20" p="30" bdrs="20" bxsh="20" bd {...props} />;
140
- }
141
- ```
142
- ```css
143
- @layer lism-component {
144
- .c--myCard {
145
- /* 複雑なスタイルあれば css で書く */
146
- }
147
- }
148
- ```
@@ -1,6 +1,6 @@
1
1
  # a--decorator / `<Decorator>`
2
2
 
3
- コンテンツを装飾するための空要素として使うクラス。`<Decorator>` はデフォルトで `aria-hidden="true"` が付与されます。
3
+ コンテンツを装飾するための空要素として使うクラス。`<Decorator>` `<Lism atomic="decorator" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
5
  ## 基本情報
6
6
 
@@ -13,12 +13,10 @@
13
13
  | Prop | 説明 |
14
14
  |------|------|
15
15
  | `size` | デコレーターのサイズを一括指定。この指定があると `w`(`width`)に値が渡され、自動で `ar="1/1"`(`aspect-ratio:1/1`)が付与される |
16
- | `clipPath` | `style.clipPath` に渡す |
17
- | `boxSizing` | `style.boxSizing` に渡す |
18
16
 
19
17
  ## Usage
20
18
 
21
- ### 使用例(コーナー装飾)
19
+ ### 装飾に使用する例(コーナー装飾)
22
20
 
23
21
  `pos="absolute"` と組み合わせて、親の四隅にコーナー枠を配置する例です。`bdc="current"` で文字色に追随します。
24
22
 
@@ -42,4 +40,4 @@
42
40
 
43
41
  - [a--spacer](./a--spacer.md) — 要素間スペース
44
42
  - [a--divider](./a--divider.md) — 区切り線
45
- - [is--layer](./is--layer.md) — `position: absolute` のオーバーレイ
43
+ - [is--layer](../trait-class/is--layer.md) — `position: absolute` のオーバーレイ
@@ -1,6 +1,6 @@
1
1
  # a--divider / `<Divider>`
2
2
 
3
- コンテンツ間に区切り線を描画するクラス。`--bdc` は `var(--divider)` が初期セットされます。`<Divider>` はデフォルトで `aria-hidden="true"` が付与されます。
3
+ コンテンツ間に区切り線を描画するクラス。`--bdc` は `var(--divider)` が初期セットされます。`<Divider>` `<Lism atomic="divider" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
5
  ## 基本情報
6
6
 
@@ -9,13 +9,6 @@
9
9
  - SCSSソース: https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/src/scss/primitives/atomic/_divider.scss
10
10
  - ドキュメント(人間向け): https://lism-css.com/docs/primitives/a--divider/
11
11
 
12
- ## 専用Props
13
-
14
- | Prop | 説明 |
15
- |------|------|
16
- | `bdw` / `bds` / `bdc` | 区切り線のボーダー幅 / スタイル / 色 |
17
- | `isVertical` | 縦方向の区切り線にする(`is--vertical` クラス付与) |
18
-
19
12
  ## Usage
20
13
 
21
14
  ### 基本的な使い方
@@ -44,12 +37,12 @@
44
37
 
45
38
  ### 縦方向の区切り線
46
39
 
47
- `isVertical` を指定すると縦方向の区切り線になります。Flex 子要素として使うなら `aslf="stretch"` で高さいっぱいに伸ばせます。
40
+ Property Class `-wm:vertical-rl`(または `<Divider wm="vertical-rl">`)を指定すると縦方向の区切り線になります。Flex 子要素として使うなら `aslf="stretch"` で高さいっぱいに伸ばせます。
48
41
 
49
42
  ```jsx
50
43
  <Flex ai="center" g="20">
51
44
  <Box fx="1" bgc="base-2" py="40">...Contents...</Box>
52
- <Divider isVertical bds="dashed" bdw="2px" aslf="stretch" />
45
+ <Divider wm="vertical-rl" bds="dashed" bdw="2px" aslf="stretch" />
53
46
  <Box fx="1" bgc="base-2" py="40">...Contents...</Box>
54
47
  </Flex>
55
48
  ```
@@ -57,7 +50,7 @@
57
50
  ```html
58
51
  <div class="l--flex -g:20 -ai:center">
59
52
  <div class="-fx:1 -bgc:base-2 -py:40">...Contents...</div>
60
- <div class="a--divider is--vertical -aslf:stretch" style="--bds: dashed; --bdw: 2px" aria-hidden="true"></div>
53
+ <div class="a--divider -wm:vertical-rl -aslf:stretch" style="--bds: dashed; --bdw: 2px" aria-hidden="true"></div>
61
54
  <div class="-fx:1 -bgc:base-2 -py:40">...Contents...</div>
62
55
  </div>
63
56
  ```
@@ -1,6 +1,6 @@
1
1
  # a--spacer / `<Spacer>`
2
2
 
3
- 要素間のスペースを確保するクラス。`<Spacer>` はデフォルトで `aria-hidden="true"` が付与されます。
3
+ 要素間のスペースを確保するクラス。`<Spacer>` `<Lism atomic="spacer" aria-hidden="true" />` のエイリアスとして用意されています。
4
4
 
5
5
  ## 基本情報
6
6
 
@@ -28,4 +28,4 @@
28
28
 
29
29
  - [l--flow](./l--flow.md) — テキスト主体のフローレイアウト
30
30
  - [l--stack](./l--stack.md) — Flex 縦並び
31
- - [is--wrapper](./is--wrapper.md) — コンテンツ幅ラッパー
31
+ - [is--wrapper](../trait-class/is--wrapper.md) — コンテンツ幅ラッパー
@@ -51,7 +51,7 @@ Property Class や Lism Props で Flex 関連プロパティ(`g`, `fxw`, `jc`,
51
51
 
52
52
  ### 子要素の Flex プロパティ
53
53
 
54
- 子要素側も `fx`(flex shorthand), `fxb`(flex-basis), `fxg`(flex-grow), `fxs`(flex-shrink)などで個別制御できます。
54
+ 子要素側も `fx`(flex shorthand), `fxb`(flex-basis), `fxg`(flex-grow), `fxsh`(flex-shrink)などで個別制御できます。
55
55
 
56
56
  ```jsx
57
57
  <Flex g="20">
@@ -131,4 +131,4 @@
131
131
  ## 関連プリミティブ
132
132
 
133
133
  - [l--stack](./l--stack.md) — `gap` で余白を管理する縦積み(こちらは Flexbox)
134
- - [is--wrapper](./is--wrapper.md) — 記事コンテンツ幅の制限用ラッパー(`l--flow` とセットで使うことが多い)
134
+ - [is--wrapper](../trait-class/is--wrapper.md) — 記事コンテンツ幅の制限用ラッパー(`l--flow` とセットで使うことが多い)
@@ -13,52 +13,55 @@
13
13
 
14
14
  | Prop | CSS変数 | 説明 |
15
15
  |------|--------|------|
16
- | `cols` | `--cols` | カラムが維持する最小幅を指定(`12rem`, `320px` など) |
16
+ | `cols` | `--cols` | カラムが維持する最小幅を指定(`16em`, `320px` など) |
17
17
  | `autoFill` | `--autoMode` | `auto-fill` モードに切り替え(デフォルトは `auto-fit`) |
18
18
 
19
19
  ## Usage
20
20
 
21
- ### デフォルト幅で利用する
21
+ ### `--cols`でサイズを指定する
22
22
 
23
23
  ```jsx
24
- <FluidCols g="20">
25
- <Box bxsh="20" p="20"><p>カード1のコンテンツ</p></Box>
26
- <Box bxsh="20" p="20"><p>カード2のコンテンツ</p></Box>
27
- <Box bxsh="20" p="20"><p>カード3のコンテンツ</p></Box>
24
+ <FluidCols cols="16em" g="20">
25
+ <Lism as="div" p="20" bd>Item A</Lism>
26
+ <Lism as="div" p="20" bd>Item B</Lism>
27
+ <Lism as="div" p="20" bd>Item C</Lism>
28
+ <Lism as="div" p="20" bd>Item D</Lism>
28
29
  </FluidCols>
29
30
  ```
30
31
 
31
32
  ```html
32
- <div class="l--fluidCols -g:20">
33
- <div class="l--box -bxsh:20 -p:20"><p>カード1のコンテンツ</p></div>
34
- <div class="l--box -bxsh:20 -p:20"><p>カード2のコンテンツ</p></div>
35
- <div class="l--box -bxsh:20 -p:20"><p>カード3のコンテンツ</p></div>
33
+ <div class="l--fluidCols -g:20" style="--cols: 16em">
34
+ <div class="-p:20 -bd">Item A</div>
35
+ <div class="-p:20 -bd">Item B</div>
36
+ <div class="-p:20 -bd">Item C</div>
37
+ <div class="-p:20 -bd">Item D</div>
36
38
  </div>
37
39
  ```
38
40
 
39
- ### カラム最小幅と `auto-fill` の指定
41
+ ### `auto-fill`を使用する
42
+
43
+ `l--fluidCols` では、`grid-template-columns` の `repeat()` 関数の第一引数を `--autoMode` で指定できます(デフォルトは `auto-fit`)。`--autoMode:auto-fill`(`autoFill`)を指定することで、要素数が少ない時の挙動が変わります。
40
44
 
41
45
  ```jsx
42
- <FluidCols cols="12rem" autoFill g="20" fz="s">
43
- <Box bxsh="20" p="20"><p>A</p></Box>
44
- <Box bxsh="20" p="20"><p>B</p></Box>
45
- <Box bxsh="20" p="20"><p>C</p></Box>
46
+ <FluidCols cols="12em" autoFill g="20" fz="s">
47
+ <Lism as="div" p="20" bd>auto-fill</Lism>
48
+ <Lism as="div" p="20" bd>auto-fill</Lism>
49
+ </FluidCols>
50
+ <FluidCols cols="12em" g="20" fz="s">
51
+ <Lism as="div" p="20" bd>auto-fit</Lism>
52
+ <Lism as="div" p="20" bd>auto-fit</Lism>
46
53
  </FluidCols>
47
54
  ```
48
55
 
49
- ### 2列 → 1列
50
-
51
- カラム最小幅を大きめに設定すれば「2列 コンテナが狭まれば 1列」のような段階的段組も自然に作れます。
52
-
53
- ```jsx
54
- <FluidCols cols="320px" g="20">
55
- <Frame ar="16/9">
56
- <img src="/img/a-1.jpg" width="600" height="400" />
57
- </Frame>
58
- <Frame ar="16/9">
59
- <img src="/img/a-3.jpg" width="600" height="400" />
60
- </Frame>
61
- </FluidCols>
56
+ ```html
57
+ <div class="l--fluidCols -g:20 -fz:s" style="--cols:12em; --autoMode:auto-fill">
58
+ <div class="-p:20 -bd">auto-fill</div>
59
+ <div class="-p:20 -bd">auto-fill</div>
60
+ </div>
61
+ <div class="l--fluidCols -g:20 -fz:s" style="--cols:12em">
62
+ <div class="-p:20 -bd">auto-fit</div>
63
+ <div class="-p:20 -bd">auto-fit</div>
64
+ </div>
62
65
  ```
63
66
 
64
67
  ## 関連プリミティブ
@@ -89,6 +89,6 @@
89
89
 
90
90
  ## 関連プリミティブ
91
91
 
92
- - [is--layer](./is--layer.md) — `l--frame` 内のオーバーレイ配置に使用
92
+ - [is--layer](../trait-class/is--layer.md) — `l--frame` 内のオーバーレイ配置に使用
93
93
  - [l--center](./l--center.md) — フレーム内でテキストを中央配置する時に組み合わせる
94
94
  - [a--icon](./a--icon.md) — アイコン画像の表示(`src` 指定)
@@ -99,4 +99,4 @@
99
99
  - [l--grid](./l--grid.md) — ブレイクポイント切り替え型の2カラム構築に使用
100
100
  - [l--fluidCols](./l--fluidCols.md) — カラム幅ベースの自動段組
101
101
  - [l--switchCols](./l--switchCols.md) — ブレイクポイント一括切り替え型カラム
102
- - [is--container](./is--container.md) — レスポンシブ Property Class 利用時に必要
102
+ - [is--container](../trait-class/is--container.md) — レスポンシブ Property Class 利用時に必要
@@ -29,9 +29,34 @@ Lism CSS はコンテナクエリをデフォルトで採用しています。
29
29
  ```
30
30
 
31
31
  **仕組み:**
32
- 1. `-p_sm` クラスは `@container (min-width: 480px)` 内で `padding: var(--p_sm)` を適用
33
- 2. `--p_sm` 変数で切り替え先の値を指定
34
- 3. `overwriteBaseVar` 対応の Prop はベース変数(`--p`)も上書きされる
32
+ - BPクラス `-{prop}_{bp}` `@container (min-width: ...)` 内で発火し、`--{prop}_{bp}` 変数で切り替え先の値を指定
33
+ - 出力形式はプロパティによって 2 パターン(基本 / 例外)
34
+
35
+ **基本パターン** — BP 用変数を直接読む:
36
+
37
+ ```css
38
+ .-d { display: var(--d) }
39
+ @container (min-width: 480px) {
40
+ .-d_sm { display: var(--d_sm) }
41
+ }
42
+ @container (min-width: 800px) {
43
+ .-d_md { display: var(--d_md) }
44
+ }
45
+ ```
46
+
47
+ **例外パターン** — `alwaysVar` 対応の `c`, `bgc`, `p`, `m`, `bdrs` のみ。ベース変数 `--p` が常に現在適用中の値を指すように上書きされる(state 変数扱い):
48
+
49
+ ```css
50
+ .-p { padding: var(--p) }
51
+ @container (min-width: 480px) {
52
+ .-p_sm { padding: var(--p); --p: var(--p_sm) !important }
53
+ }
54
+ @container (min-width: 800px) {
55
+ .-p_md { padding: var(--p); --p: var(--p_md) !important }
56
+ }
57
+ ```
58
+
59
+ ソースコードの [props.ts](https://raw.githubusercontent.com/lism-css/lism-css/main/packages/lism-css/config/defaults/props.ts) で `alwaysVar: 1` がセットされているプロパティがこのパターンで出力されます。
35
60
 
36
61
  ## Lism コンポーネントでの指定
37
62