@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.
- package/dist/data/docs-index.json +176 -85
- package/dist/data/guides/SKILL.md +29 -15
- package/dist/data/guides/base-styles.md +2 -0
- package/dist/data/guides/components-core.md +25 -20
- package/dist/data/guides/components-ui.md +16 -23
- package/dist/data/guides/css-rules.md +101 -26
- package/dist/data/guides/customize.md +220 -0
- package/dist/data/guides/naming.md +218 -0
- package/dist/data/guides/primitive-class.md +3 -90
- package/dist/data/guides/primitives/a--decorator.md +3 -5
- package/dist/data/guides/primitives/a--divider.md +4 -11
- package/dist/data/guides/primitives/a--spacer.md +1 -1
- package/dist/data/guides/primitives/l--box.md +1 -1
- package/dist/data/guides/primitives/l--flex.md +1 -1
- package/dist/data/guides/primitives/l--flow.md +1 -1
- package/dist/data/guides/primitives/l--fluidCols.md +31 -28
- package/dist/data/guides/primitives/l--frame.md +1 -1
- package/dist/data/guides/primitives/l--sideMain.md +1 -1
- package/dist/data/guides/prop-responsive.md +28 -3
- package/dist/data/guides/property-class/bd.md +127 -0
- package/dist/data/guides/property-class/hov.md +140 -0
- package/dist/data/guides/property-class/max-sz.md +99 -0
- package/dist/data/guides/property-class.md +52 -86
- package/dist/data/guides/set-class.md +62 -94
- package/dist/data/guides/tokens.md +24 -15
- package/dist/data/guides/trait-class/has--gutter.md +48 -0
- package/dist/data/guides/trait-class/has--mask.md +66 -0
- package/dist/data/guides/trait-class/has--snap.md +68 -0
- package/dist/data/guides/trait-class/has--transition.md +73 -0
- package/dist/data/guides/{primitives → trait-class}/is--boxLink.md +8 -8
- package/dist/data/guides/{primitives → trait-class}/is--container.md +2 -2
- package/dist/data/guides/{primitives → trait-class}/is--layer.md +2 -2
- package/dist/data/guides/{primitives → trait-class}/is--wrapper.md +2 -2
- package/dist/data/guides/trait-class.md +77 -0
- package/dist/data/guides/utility-class.md +0 -1
- package/dist/data/meta.js +2 -2
- package/dist/lib/load-markdown.js +1 -1
- package/dist/lib/search.js +8 -5
- package/dist/tools/get-component.js +7 -6
- package/dist/tools/get-guide.js +1 -1
- package/package.json +2 -2
- 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 クラス**(`
|
|
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>`
|
|
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](
|
|
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>`
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
```
|
|
@@ -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), `
|
|
54
|
+
子要素側も `fx`(flex shorthand), `fxb`(flex-basis), `fxg`(flex-grow), `fxsh`(flex-shrink)などで個別制御できます。
|
|
55
55
|
|
|
56
56
|
```jsx
|
|
57
57
|
<Flex g="20">
|
|
@@ -13,52 +13,55 @@
|
|
|
13
13
|
|
|
14
14
|
| Prop | CSS変数 | 説明 |
|
|
15
15
|
|------|--------|------|
|
|
16
|
-
| `cols` | `--cols` | カラムが維持する最小幅を指定(`
|
|
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
|
-
<
|
|
26
|
-
<
|
|
27
|
-
<
|
|
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="
|
|
34
|
-
<div class="
|
|
35
|
-
<div class="
|
|
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
|
-
###
|
|
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="
|
|
43
|
-
<
|
|
44
|
-
<
|
|
45
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
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](
|
|
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](
|
|
102
|
+
- [is--container](../trait-class/is--container.md) — レスポンシブ Property Class 利用時に必要
|
|
@@ -29,9 +29,34 @@ Lism CSS はコンテナクエリをデフォルトで採用しています。
|
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
**仕組み:**
|
|
32
|
-
|
|
33
|
-
2
|
|
34
|
-
|
|
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
|
|