@lism-css/mcp 0.24.0 → 0.27.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 +279 -139
- package/dist/data/guides/SKILL.md +87 -114
- package/dist/data/guides/antipatterns-layout.md +39 -40
- package/dist/data/guides/antipatterns.md +16 -12
- package/dist/data/guides/base-styles.md +1 -1
- package/dist/data/guides/components-core.md +9 -8
- package/dist/data/guides/components-ui.md +82 -35
- package/dist/data/guides/css-rules.md +103 -97
- package/dist/data/guides/customize.md +12 -26
- package/dist/data/guides/naming.md +8 -24
- package/dist/data/guides/property-class/all-props.md +25 -23
- package/dist/data/guides/property-class/bd.md +4 -1
- package/dist/data/guides/property-class.md +2 -1
- package/dist/data/guides/references/authoring.md +40 -52
- package/dist/data/guides/references/page-sections.md +5 -5
- package/dist/data/guides/references/verification.md +6 -4
- package/dist/data/guides/responsive.md +4 -24
- package/dist/data/guides/set-class.md +1 -1
- package/dist/data/guides/tokens.md +44 -18
- package/dist/data/guides/trait-class/has--transition.md +17 -2
- package/dist/data/guides/trait-class.md +2 -13
- package/dist/data/meta.js +2 -2
- package/dist/lib/markdown-utils.d.ts +3 -22
- package/dist/lib/markdown-utils.js +7 -30
- package/dist/lib/search.d.ts +1 -4
- package/dist/lib/search.js +17 -36
- package/dist/tools/convert-css.js +8 -25
- package/dist/tools/get-guide.js +2 -2
- package/package.json +5 -5
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
詳細(公式ドキュメント):
|
|
13
13
|
|
|
14
14
|
- 概要: [https://lism-css.com/docs/customize/](https://lism-css.com/docs/customize/)
|
|
15
|
-
- CSS
|
|
16
|
-
- `lism.config.js`(props / tokens / traits・breakpoints
|
|
15
|
+
- CSSファイルの種類(`@layer` なし版 / `full.css`): [https://lism-css.com/docs/css-files/](https://lism-css.com/docs/css-files/)
|
|
16
|
+
- `lism.config.js`(props / tokens / traits・breakpoints・`isFullMode`・追加スタイル): [https://lism-css.com/docs/customize/config/](https://lism-css.com/docs/customize/config/)
|
|
17
17
|
- SCSS(`$setting` / `$props`・BP上書き): [https://lism-css.com/docs/customize/scss/](https://lism-css.com/docs/customize/scss/)
|
|
18
18
|
- CSS Purge: [https://lism-css.com/docs/customize/purge/](https://lism-css.com/docs/customize/purge/)
|
|
19
19
|
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
## `@layer` をオフにする
|
|
23
23
|
|
|
24
24
|
`lism-css/main.css` の代わりに `lism-css/main_no_layer.css` を読み込むだけで、`@layer` を使わない CSS に切り替えられます。
|
|
25
|
+
no-layer版は既存サイトや WordPress テーマなど、カスケードを制御できない環境向けです。レイヤーの代わりに、Property Class は常に `!important` 付き、`u--trim` / `u--trimAll` / `u--cbox` / `u--divide` / `u--enclose` はセレクタ二重化(`.u--trim.u--trim` = 0-2-0)で出力され、「Property Class > Utility Class > 単一クラス」の序列を再現します。`lism.config.js` の `defaultImportant: false`・`$default_important: 0`・`props` の個別 `important: 0` を指定しても `!important` は外れません。`b--` など上記以外のクラス同士の優先度は読み込み順・詳細度に依存します。
|
|
25
26
|
|
|
26
27
|
```js
|
|
27
28
|
// 通常
|
|
@@ -47,7 +48,7 @@ import 'lism-css/main_no_layer.css';
|
|
|
47
48
|
| --- | --- | --- |
|
|
48
49
|
| `$breakpoints` | ブレイクポイント数値の定義(`0` は無効=クエリを出力しない) | `('xs': 0, 'sm': '480px', 'md': '800px', 'lg': '1120px', 'xl': 0)` |
|
|
49
50
|
| `$is_container_query` | コンテナクエリで出力するか(`1` = container query, `0` = media query) | `1` |
|
|
50
|
-
| `$default_important` | Property Class にデフォルトで `!important`
|
|
51
|
+
| `$default_important` | Property Class にデフォルトで `!important` を付与するか(no-layer版では無視され、常に付与) | `0` |
|
|
51
52
|
| `$props` | Property Class ごとの個別出力設定 | `prop-config` のデフォルト |
|
|
52
53
|
|
|
53
54
|
### 基本フォーマット
|
|
@@ -182,9 +183,9 @@ export default {
|
|
|
182
183
|
|
|
183
184
|
これだけで、ブレイクポイント対応の全 Property Class が `xs` / `xl` のレスポンシブクラス(`-p_xs` / `-p_xl` 等)も出力するようになります。prop ごとの個別指定は不要です。
|
|
184
185
|
|
|
185
|
-
|
|
186
|
+
統合プラグイン使用時は有効化したブレイクポイントがプロジェクト直下の `lism-env.d.ts` に自動反映され、`BreakpointRegistry` の手書き拡張は不要です。`lism-env.d.ts` は git にコミットしてください(`astro check` 等の型チェックがこのファイルを拠り所にします)。
|
|
186
187
|
|
|
187
|
-
> SCSS を直接利用する構成では、`@use 'lism-css/scss/setting' with ($breakpoints: ...)`
|
|
188
|
+
> SCSS を直接利用する構成では、`@use 'lism-css/scss/setting' with ($breakpoints: ...)` で有効化する方法も利用できます([SCSS でのカスタマイズ](#scss-でのカスタマイズ) を参照)。
|
|
188
189
|
|
|
189
190
|
### フォーマット
|
|
190
191
|
|
|
@@ -256,31 +257,18 @@ export default {
|
|
|
256
257
|
|
|
257
258
|
### 追加した prop / trait の型解禁
|
|
258
259
|
|
|
259
|
-
|
|
260
|
+
統合プラグイン使用時は、追加した prop / trait も `lism-env.d.ts`(`CustomPropRegistry` / `CustomTraitRegistry` の拡張)で自動解禁され、手書きの型拡張は不要です。
|
|
260
261
|
|
|
261
262
|
なお、既存 prop への値追加(`ta="justify"` 等)はもともと任意の文字列を受け付けるため、型エラーにはなりません(ただし補完候補には出ません)。
|
|
262
263
|
|
|
263
264
|
|
|
264
265
|
## 追加スタイルを読み込ませる方法
|
|
265
266
|
|
|
266
|
-
`lism.config.js` で props
|
|
267
|
+
`lism.config.js` で props を増やしただけでは、対応するユーティリティクラスのスタイルが必要になります。構成によって反映方法が異なります。`traits` はクラス名だけを追加するため、`is--*` のスタイルはどの構成でも手動追記 / SCSS で用意します。
|
|
267
268
|
|
|
268
269
|
### Vite / Astro(統合プラグイン使用時)は自動反映(手動ビルド不要)
|
|
269
270
|
|
|
270
|
-
`@lism-css/plugin` の統合プラグインを登録している場合、`lism.config.js` に props / tokens を追加すると、**dev サーバ / ビルドの CSS
|
|
271
|
-
|
|
272
|
-
参照先の **CSS 変数の値そのもの**(`:root { --lts--2xl: .5em }` のような定義)も、`tokens` に値を書けば自動生成されます。値の定義・ユーティリティ生成・props 受理がまとめて反映されるため、`global.css` への手書きは不要です(既定値の上書きも可能)。
|
|
273
|
-
|
|
274
|
-
```js
|
|
275
|
-
// lism.config.js — 値そのものも config に集約できる
|
|
276
|
-
export default {
|
|
277
|
-
tokens: {
|
|
278
|
-
lts: { '2xl': '.5em' }, // :root { --lts--2xl: .5em } + .-lts:2xl を自動生成
|
|
279
|
-
},
|
|
280
|
-
};
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
> `is--*` クラスのスタイルは `traits` ではクラス名のみを追加するため、対応するスタイルは別途必要です(後述の手動追記 / SCSS を参照)。
|
|
271
|
+
`@lism-css/plugin` の統合プラグインを登録している場合、`lism.config.js` に props / tokens を追加すると、**dev サーバ / ビルドの CSS に自動反映されます**。手動追記や `npx lism-css build` は不要で、dev 中の変更は HMR で CSS と型 `.d.ts` が追従します。`tokens` に書いた値は CSS 変数の定義(`:root { --lts--2xl: .5em }`)・ユーティリティクラス・props 受理がまとめて反映されるため、`global.css` への手書きも不要です(既定値の上書きも可)。
|
|
284
272
|
|
|
285
273
|
軽微な追加であれば、props を増やさず Lism Props の `:value` 記法(→ [property-class.md](./property-class.md))と `global.css` への手書きだけで済ませることもできます。
|
|
286
274
|
|
|
@@ -316,8 +304,7 @@ npx lism-css build --full # full.css / full_no_layer.css も生成
|
|
|
316
304
|
```
|
|
317
305
|
|
|
318
306
|
> **注意**:
|
|
319
|
-
> - `tokens`
|
|
320
|
-
> - `is--*` クラスのスタイルは自動生成されないため、手動で追加してください。
|
|
307
|
+
> - `tokens` の値は CLI ビルドでも CSS 変数とユーティリティクラスの両方が出力されます。値が `'-'` のキーはカタログ登録のみで `:root` 宣言を出力しません(`flow` や `bdrs.inner` のように実値を手書きSCSS側へ置くもの)。
|
|
321
308
|
> - `lism-css` パッケージ自体を上書きする処理のため、**パッケージ更新ごとに再実行**が必要です。
|
|
322
309
|
|
|
323
310
|
### 手動で CSS を追記
|
|
@@ -336,16 +323,15 @@ CLI を使わず、追加クラス分の CSS をプロジェクト側で書い
|
|
|
336
323
|
}
|
|
337
324
|
```
|
|
338
325
|
|
|
339
|
-
### SCSS
|
|
326
|
+
### SCSS だけで値を追加する(`lism.config.js` を使わない構成)
|
|
340
327
|
|
|
341
|
-
|
|
328
|
+
`@lism-css/plugin` を使わない構成では `lism.config.js` は読み込まれない。SCSS の `$props` の `utilities` で値を追加し、コンポーネントからは `:value` 記法(`p=":box"`)で強制クラス化するか、HTML に直接クラスを書いて使う。
|
|
342
329
|
|
|
343
330
|
```scss
|
|
344
331
|
@use '../path-to/node_modules/lism-css/scss/setting' with (
|
|
345
332
|
$props: (
|
|
346
333
|
'ta': ( utilities: ( 'justify': 'justify' ) ),
|
|
347
334
|
'p': ( utilities: ( 'box': '2em' ) ),
|
|
348
|
-
'filter': ( utilities: ( 'blur': 'blur(3px)' ) ),
|
|
349
335
|
'lts': ( utilities: ( '2xl': 'var(--lts--2xl)' ) ),
|
|
350
336
|
)
|
|
351
337
|
);
|
|
@@ -28,12 +28,11 @@
|
|
|
28
28
|
| 表記 | 条件 | 例 |
|
|
29
29
|
| --- | --- | --- |
|
|
30
30
|
| `s`, `m`, `l`, `xl`... | ベース値を中心に大小の段階を示す | `--fz--s`, `--fz--l` |
|
|
31
|
-
| `base` | `:root`/`body` の初期値にセットされるもの | `--fz--base`, `--
|
|
31
|
+
| `base` | `:root`/`body` の初期値にセットされるもの | `--fz--base`, `--hl--base` |
|
|
32
32
|
| `10`, `20`, `30`... | `0`(`none`)基準で段階的に増加 | `--bdrs--20`, `--bxsh--30` |
|
|
33
33
|
| セマンティック名 | 上記に当てはまらない場合 | `--ar--og` |
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
> opacity(`--o--mp` / `--o--p` / `--o--pp` / `--o--ppp`)は、音楽の強弱記号(piano 系列)に由来するセマンティック命名を採用している。`p`(piano / 弱く)の反復回数が多いほど透明度が増す構造で、「文字の反復回数で段階を表す」命名は Lism 内で opacity のみの例外。
|
|
35
|
+
例外: opacity トークン(`--o--mp` / `--o--p` / `--o--pp` / `--o--ppp`)は文字の反復回数で段階を表す(由来は [tokens.md](./tokens.md#透明度-o))。
|
|
37
36
|
|
|
38
37
|
### Property Class 用の変数
|
|
39
38
|
|
|
@@ -53,13 +52,13 @@
|
|
|
53
52
|
|
|
54
53
|
## クラスの命名規則
|
|
55
54
|
|
|
56
|
-
クラス分類ごとのプレフィックス(`c--`/`a--`/`l--`/`is--`/`has--`/`set--`/`u--`)と各分類の責務・所属レイヤーは、[css-rules.md](./css-rules.md#クラス分類とプレフィックス)
|
|
55
|
+
クラス分類ごとのプレフィックス(`b--`/`c--`/`a--`/`l--`/`is--`/`has--`/`set--`/`u--`)と各分類の責務・所属レイヤーは、[css-rules.md](./css-rules.md#クラス分類とプレフィックス)の分類表を正本とします。ユーザー定義クラスの2分類(`b--`/`c--`)の使い分けは[css-rules.md](./css-rules.md#独自クラスの選び方2分類)を参照してください。
|
|
57
56
|
|
|
58
|
-
プレフィックスに続く名称は camelCase(例: `c--myComponent`)。`is--`/`has--`/`set--`/`u
|
|
57
|
+
プレフィックスに続く名称は camelCase(例: `c--myComponent`)。`is--`/`has--`/`set--`/`u--`にも同じ規則が適用されます。ページ固有の要素は、ページslug等を含めると名前だけで由来がわかります(例: `c--landingHero`)。
|
|
59
58
|
|
|
60
|
-
### `c--*`の命名
|
|
59
|
+
### `c--*`/`b--*`の命名
|
|
61
60
|
|
|
62
|
-
Block/Element/Modifierの形式(Block=`c--{name}`、Element=`_`ひとつ、Modifier=`--`ふたつ)は[css-rules.md](./css-rules.md
|
|
61
|
+
Block/Element/Modifierの形式(Block=`c--{name}` / `b--{name}`、Element=`_`ひとつ、Modifier=`--`ふたつ)は[css-rules.md の独自クラスの選び方](./css-rules.md#独自クラスの選び方2分類)を参照。Block名はcamelCaseを第一候補にし、既存コードがアンダースコア区切りならそれに合わせます。単語区切りのハイフン(`c--feature-card`)とBEM風の`__`は使いません(NG→OK例は[antipatterns-layout.md](./antipatterns-layout.md#クラス名の命名ミス)を参照)。
|
|
63
62
|
|
|
64
63
|
Property Class の形式:
|
|
65
64
|
|
|
@@ -185,23 +184,8 @@ NG例: `flex` → `fx` としたうえで `flex-shrink` を `fsh` にする(`f
|
|
|
185
184
|
.-bdrs:20 → border-radius: var(--bdrs--20);
|
|
186
185
|
```
|
|
187
186
|
|
|
188
|
-
opacity
|
|
189
|
-
|
|
190
|
-
```
|
|
191
|
-
.-o:mp → opacity: var(--o--mp);
|
|
192
|
-
.-o:p → opacity: var(--o--p);
|
|
193
|
-
.-o:pp → opacity: var(--o--pp);
|
|
194
|
-
.-o:ppp → opacity: var(--o--ppp);
|
|
195
|
-
```
|
|
187
|
+
opacity トークンもそのままクラス化される(`.-o:p` → `opacity: var(--o--p)`)。
|
|
196
188
|
|
|
197
189
|
### 長いキーワード値の省略
|
|
198
190
|
|
|
199
|
-
6
|
|
200
|
-
|
|
201
|
-
| 実際の値 | 省略名 | クラスの例 |
|
|
202
|
-
| --- | --- | --- |
|
|
203
|
-
| `uppercase` | `upper` | `-tt:upper` |
|
|
204
|
-
| `lowercase` | `lower` | `-tt:lower` |
|
|
205
|
-
| `fit-content` | `fit` | `-w:fit`, `-h:fit` |
|
|
206
|
-
| `space-between` | `between` | `-ac:between`, `-jc:between` |
|
|
207
|
-
| `currentColor` | `current` | `-bdc:current` |
|
|
191
|
+
6文字以上かつ省略しても意味が通るものは省略可(`uppercase` → `-tt:upper` 等)。一覧は [property-class.md](./property-class.md#値の省略形例外一覧) を参照。
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
| `fw` | `font-weight` | `-fw:light`, `-fw:normal`, `-fw:bold`, `-fw:100`〜`-fw:900` | — |
|
|
26
26
|
| `ff` | `font-family` | `-ff:base`, `-ff:accent`, `-ff:mono` | — |
|
|
27
27
|
| `fs` | `font-style` | `-fs:italic` | — |
|
|
28
|
-
| `hl` | `--hl`(ハーフレディング) | `-hl:base`, `-hl:xs`, `-hl:s`, `-hl:l`, `-hl:0` | ✔ |
|
|
29
|
-
| `lh` | `line-height
|
|
28
|
+
| `hl` | `--hl`(ハーフレディング) | `-hl:base`, `-hl:xs`, `-hl:s`, `-hl:l`, `-hl:xl`, `-hl:0` | ✔ |
|
|
29
|
+
| `lh` | `line-height`(倍率・`--lh` 経由) | `-lh:xs`, `-lh:s`, `-lh:m`, `-lh:l`, `-lh:xl`, `-lh:1` | — |
|
|
30
30
|
| `lts` | `letter-spacing` | `-lts:base`, `-lts:s`, `-lts:l`, `-lts:xl` | — |
|
|
31
31
|
| `ta` | `text-align` | `-ta:center`, `-ta:left`, `-ta:right` | — |
|
|
32
32
|
| `td` | `text-decoration` | `-td:none` | — |
|
|
33
33
|
| `tt` | `text-transform` | `-tt:upper`, `-tt:lower` | — |
|
|
34
34
|
|
|
35
|
-
**注意:**
|
|
35
|
+
**注意:** `line-height` は全要素で `var(--lh, calc(1em + var(--hl) * 2))` として管理されます。基本は `hl`(fz 非依存の固定量)を使い、fz に比例した行送りを保ちたい場合だけ `lh`(倍率)を使います。`lh` を指定した要素の子孫では `hl` は効きません。
|
|
36
36
|
|
|
37
37
|
### 表示・可視性
|
|
38
38
|
|
|
@@ -83,23 +83,25 @@
|
|
|
83
83
|
| `bgr` | `background-repeat` | `-bgr:no-repeat` | — |
|
|
84
84
|
| `bgp` | `background-position` | `-bgp:center` | — |
|
|
85
85
|
| `bgsz` | `background-size` | `-bgsz:cover`, `-bgsz:contain` | — |
|
|
86
|
-
| `bgc` | `background-color` | `-bgc:base`, `-bgc:base-2`, `-bgc:text`, `-bgc:brand`, `-bgc:accent`, `-bgc:inherit`, `-bgc:transparent` | — |
|
|
86
|
+
| `bgc` | `background-color` | `-bgc:base`, `-bgc:base-2`, `-bgc:text`, `-bgc:brand`, `-bgc:accent`, `-bgc:keycolor`, `-bgc:inherit`, `-bgc:transparent`, `-bgc:current` | — |
|
|
87
87
|
|
|
88
88
|
### カラー
|
|
89
89
|
|
|
90
90
|
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
91
91
|
| --- | --- | --- | --- |
|
|
92
|
-
| `c` | `color` | `-c:base`, `-c:text`, `-c:text-2`, `-c:brand`, `-c:accent`, `-c:inherit` | — |
|
|
92
|
+
| `c` | `color` | `-c:base`, `-c:text`, `-c:text-2`, `-c:brand`, `-c:accent`, `-c:keycolor`, `-c:inherit` | — |
|
|
93
93
|
| `keycolor` | `--keycolor` 変数のみ | — | — |
|
|
94
94
|
|
|
95
95
|
セマンティック/パレットの全カラートークンは [tokens.md のカラー](../tokens.md#カラー)を参照。<br />
|
|
96
96
|
キーカラー変数: `keycolor`(ユーザー定義の `--keycolor` を参照する独立変数。詳細は `tokens.md` を参照)
|
|
97
97
|
|
|
98
|
+
`c` / `bgc` / `bdc` に `keycolor` を指定すると、`--keycolor` を参照する `-c:keycolor` のようなクラスが出力される(`style` 属性ではない)。
|
|
99
|
+
|
|
98
100
|
### 角丸
|
|
99
101
|
|
|
100
102
|
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
101
103
|
| --- | --- | --- | --- |
|
|
102
|
-
| `bdrs` | `border-radius` | `-bdrs:0`, `-bdrs:10`, `-bdrs:20`, `-bdrs:30`, `-bdrs:40`, `-bdrs:99`, `-bdrs:inner` | ✔ |
|
|
104
|
+
| `bdrs` | `border-radius` | `-bdrs:0`, `-bdrs:10`, `-bdrs:20`, `-bdrs:30`, `-bdrs:40`, `-bdrs:50`, `-bdrs:99`, `-bdrs:inner` | ✔ |
|
|
103
105
|
| `bdrs-tl` | `border-top-left-radius` | — | — |
|
|
104
106
|
| `bdrs-tr` | `border-top-right-radius` | — | — |
|
|
105
107
|
| `bdrs-br` | `border-bottom-right-radius` | — | — |
|
|
@@ -142,14 +144,14 @@
|
|
|
142
144
|
| `p` | `padding` | `-p:0`, `-p:5`, `-p:10`, `-p:20`, ... (SPACEトークン) | ✔ |
|
|
143
145
|
| `px` | `padding-inline` | `-px:0`, `-px:5`, `-px:10`, `-px:20`, ... (SPACEトークン) | ✔ |
|
|
144
146
|
| `py` | `padding-block` | `-py:0`, `-py:5`, `-py:10`, `-py:20`, ... (SPACEトークン) | ✔ |
|
|
145
|
-
| `ps` | `padding-inline-start` |
|
|
146
|
-
| `pe` | `padding-inline-end` |
|
|
147
|
-
| `pbs` | `padding-block-start` |
|
|
148
|
-
| `pbe` | `padding-block-end` |
|
|
149
|
-
| `pl` | `padding-left` |
|
|
150
|
-
| `pr` | `padding-right` |
|
|
151
|
-
| `pt` | `padding-top` |
|
|
152
|
-
| `pb` | `padding-bottom` |
|
|
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トークン) | ✔ |
|
|
153
155
|
|
|
154
156
|
SPACEトークンの全値(`5`〜`80`の離散値)は [tokens.md の余白 (space)](../tokens.md#余白-space) を参照。
|
|
155
157
|
|
|
@@ -160,22 +162,22 @@ SPACEトークンの全値(`5`〜`80`の離散値)は [tokens.md の余白 (
|
|
|
160
162
|
| `m` | `margin` | `-m:auto`, `-m:0`, `-m:5`, `-m:10`, `-m:20`, ... (SPACEトークン) | ✔ |
|
|
161
163
|
| `mx` | `margin-inline` | `-mx:auto`, `-mx:0`, `-mx:5`, `-mx:10`, `-mx:20`, ... (SPACEトークン) | ✔ |
|
|
162
164
|
| `my` | `margin-block` | `-my:auto`, `-my:0`, `-my:5`, `-my:10`, `-my:20`, ... (SPACEトークン) | ✔ |
|
|
163
|
-
| `ms` | `margin-inline-start` | `-ms:auto
|
|
164
|
-
| `me` | `margin-inline-end` | `-me:auto
|
|
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トークン) | ✔ |
|
|
165
167
|
| `mbs` | `margin-block-start` | `-mbs:auto`, `-mbs:0`, `-mbs:5`, `-mbs:10`, `-mbs:20`, ... (SPACEトークン) | ✔ |
|
|
166
|
-
| `mbe` | `margin-block-end` | `-mbe:auto
|
|
167
|
-
| `ml` | `margin-left` |
|
|
168
|
-
| `mr` | `margin-right` |
|
|
169
|
-
| `mt` | `margin-top` |
|
|
170
|
-
| `mb` | `margin-bottom` |
|
|
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トークン) | ✔ |
|
|
171
173
|
|
|
172
174
|
### Gap
|
|
173
175
|
|
|
174
176
|
| Prop | CSS プロパティ | プリセット値クラス | BP |
|
|
175
177
|
| --- | --- | --- | --- |
|
|
176
178
|
| `g` | `gap` | `-g:0`, `-g:inherit`, `-g:5`, `-g:10`, `-g:20`, ... (SPACEトークン) | ✔ |
|
|
177
|
-
| `cg` | `column-gap` |
|
|
178
|
-
| `rg` | `row-gap` |
|
|
179
|
+
| `cg` | `column-gap` | `-cg:5`, `-cg:10`, `-cg:20`, ... (SPACEトークン) | ✔ |
|
|
180
|
+
| `rg` | `row-gap` | `-rg:5`, `-rg:10`, `-rg:20`, ... (SPACEトークン) | ✔ |
|
|
179
181
|
|
|
180
182
|
### Flex
|
|
181
183
|
|
|
@@ -12,10 +12,13 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
12
12
|
`-bd` または `-bd-{side}` クラスが付くと、以下の初期値がセットされる。
|
|
13
13
|
|
|
14
14
|
```scss
|
|
15
|
+
/* 変数の初期値だけ弱い位置に置く(@layer ビルドでは @layer lism-base、no_layer ビルドでは :where()) */
|
|
15
16
|
:where(.-bd, [class*=" -bd-"], [class^="-bd-"]) {
|
|
16
17
|
--bds: solid;
|
|
17
18
|
--bdw: 1px;
|
|
18
19
|
--bdc: var(--divider);
|
|
20
|
+
}
|
|
21
|
+
.-bd, [class*=" -bd-"], [class^="-bd-"] {
|
|
19
22
|
border-width: var(--bdw);
|
|
20
23
|
border-color: var(--bdc);
|
|
21
24
|
}
|
|
@@ -51,7 +54,7 @@ Lism CSS のボーダーは、CSS 変数(`--bds` / `--bdw` / `--bdc`)で管
|
|
|
51
54
|
| --- | --- | --- | --- |
|
|
52
55
|
| `bd` | — | `-bd:none` | — |
|
|
53
56
|
| `bds` | `--bds` | `-bds:dashed`, `-bds:dotted`, `-bds:double` | — |
|
|
54
|
-
| `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` | — |
|
|
57
|
+
| `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:keycolor`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` | — |
|
|
55
58
|
| `bdw` | `--bdw` | — | `-bdw_sm`, `-bdw_md` |
|
|
56
59
|
|
|
57
60
|
`bdw` はブレイクポイント指定に対応。`--bdw` の値を BP で切り替えることで、ボーダーの方向自体を変化させることもできる。
|
|
@@ -92,7 +92,7 @@ Lism CSS のボーダーは CSS 変数(`--bds` / `--bdw` / `--bdc`)で管理
|
|
|
92
92
|
| --- | --- | --- |
|
|
93
93
|
| `bd` | `border`(変数管理を有効化) | `-bd`, `-bd-{x\|y\|s\|e\|bs\|be\|t\|b\|l\|r}`, `-bd:none` |
|
|
94
94
|
| `bds` | `--bds` | `-bds:dashed`, `-bds:dotted`, `-bds:double` |
|
|
95
|
-
| `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` |
|
|
95
|
+
| `bdc` | `--bdc` | `-bdc:brand`, `-bdc:accent`, `-bdc:divider`, `-bdc:keycolor`, `-bdc:inherit`, `-bdc:transparent`, `-bdc:current` |
|
|
96
96
|
| `bdw` | `--bdw` | BP クラス: ✔(`-bdw_sm` / `-bdw_md`) |
|
|
97
97
|
|
|
98
98
|
→ 詳細(方向ごとのスタイル指定、BP での方向切り替え等)は [property-class/bd.md](./property-class/bd.md) 参照
|
|
@@ -125,6 +125,7 @@ Property Class の値名は基本的に CSS の実値と同じですが、以下
|
|
|
125
125
|
| `-w:fit` | `width: fit-content` | `w`, `h` |
|
|
126
126
|
| `-ac:between` | `align-content: space-between` | `ac`, `jc` |
|
|
127
127
|
| `-bdc:current` | `border-color: currentColor` | `bdc` |
|
|
128
|
+
| `-bgc:current` | `background-color: currentColor` | `bgc` |
|
|
128
129
|
|
|
129
130
|
|
|
130
131
|
## Property Class の特殊な出力タイプ
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
# 実装プランの作り方(C0–C8詳細・出力フォーマット)
|
|
2
2
|
|
|
3
|
-
Lism CSSで新規UI
|
|
4
|
-
|
|
5
|
-
判定記号(✅/🔁/⏸、`✅新規`・`✅例外`の注記を含む)の定義は`SKILL.md`の「判定記号」を参照してください。
|
|
3
|
+
Lism CSSで新規UI・セクション・コンポーネントを書く前に作る「実装プラン」の詳細編。実装フロー・資料確認トリガー・判定記号(✅/🔁/⏸と注記)は`SKILL.md`が正本で、ここではC0–C8の詳細とプランの出力フォーマットだけを扱う。
|
|
6
4
|
|
|
7
5
|
## 資料確認
|
|
8
6
|
|
|
9
|
-
どの操作の手前で何を読むかは`SKILL.md`の「資料確認トリガー」を正本とする。
|
|
10
|
-
|
|
11
7
|
### 初期確認(C0前に実行)
|
|
12
8
|
|
|
13
9
|
新規UI/コンポーネント/セクション、またはスクショ/Figma等のデザイン再現では、C0に入る前に対象へ明らかに関係する最小限の詳細ファイルを実際に開く。
|
|
@@ -18,15 +14,15 @@ Lism CSSで新規UI・セクション・コンポーネントを書く前に作
|
|
|
18
14
|
初期確認した資料: primitives/l--stack.md, primitives/l--columns.md, tokens.md
|
|
19
15
|
```
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
空のまま、または「必要なら参照」とだけ書いて実装に入らない。既存コード確認だけで足りる軽微な修正では、その旨を書く。
|
|
22
18
|
|
|
23
19
|
### 資料確認の記録
|
|
24
20
|
|
|
25
|
-
|
|
21
|
+
読んだ資料は「初期確認」「実装中」を区別して資料確認ログ(「出力フォーマット」参照)に記録する。
|
|
26
22
|
|
|
27
23
|
## C0–C8 実装前チェック詳細
|
|
28
24
|
|
|
29
|
-
各C
|
|
25
|
+
各Cは「列挙/照合・判定/決め方/参照先/よい例・避けたい例」の観点で判断する。
|
|
30
26
|
|
|
31
27
|
### C0: 入力整理
|
|
32
28
|
|
|
@@ -40,8 +36,7 @@ Lism CSSで新規UI・セクション・コンポーネントを書く前に作
|
|
|
40
36
|
|
|
41
37
|
- **列挙**: 縦並び/横並び/カラム/メディア枠/幅制御/オーバーレイ/全体リンクなどの構造、要素、heading level、landmark。
|
|
42
38
|
- **照合・判定**: 標準Primitiveで組める→✅。カラム系など迷う→🔁。`@lism-css/ui`で済む→✅または🔁。使うPrimitive詳細を未読なら🔁のまま実装しない。
|
|
43
|
-
- **決め方**: Layout Primitive→Trait→Atomic→UI
|
|
44
|
-
- **Primitive優先ガード**: `<div>`+CSSで押し切らず、`SKILL.md`の「目的別実装ガイド」で候補を先に確認する。この判断を書かずに実装しない。
|
|
39
|
+
- **決め方**: `SKILL.md`の「目的別実装ガイド」で候補を先に確認し、Layout Primitive→Trait→Atomic→UIコンポーネントの順に選ぶ。`<div>`+Property ClassやCSSで押し切らない。この判断を書かずに実装しない。
|
|
45
40
|
- **参照先**: `SKILL.md`の「目的別実装ガイド」、`primitive-class.md`、`primitives/l--*.md`、`trait-class.md`、`components-core.md`、`components-ui.md`、`antipatterns-layout.md#レイアウト選択ミス`。
|
|
46
41
|
- **よい例・避けたい例**: OK=`<Columns cols={3}>`、`<Frame ar="16/9">`、Astroなら`import { Stack, Columns, Frame } from 'lism-css/astro'`。罠=素の`<div>`だらけ、`<div -d:grid gtc=...>`、手組みメディア枠、最外殻Wrapper。
|
|
47
42
|
|
|
@@ -50,47 +45,47 @@ Lism CSSで新規UI・セクション・コンポーネントを書く前に作
|
|
|
50
45
|
- **列挙**: 同じ部品が3箇所以上になりそうか、値差分・slot構造があるか。
|
|
51
46
|
- **照合・判定**: 3+反復見込みかつ同じ意味のUI部品として安定→`✅新規`(コンポーネント化して着手)。1〜2回・局所・一時的重複→✅そのまま。Props設計が必要→⏸。
|
|
52
47
|
- **決め方**: CSSの`c--`新設でなくReact/Astroコンポーネント抽出を優先。`className`/`style`/`data-*`/ARIA/イベントハンドラの受け渡しを最初から設計する。
|
|
53
|
-
- **参照先**: `components-core.md`、`components-ui.md`、`css-rules.md#
|
|
48
|
+
- **参照先**: `components-core.md`、`components-ui.md`、`css-rules.md#custom-classc--`、`property-class.md`、本ファイルの「出力フォーマット」。
|
|
54
49
|
- **よい例・避けたい例**: OK=反復するTagをTagコンポーネント化。罠=Property Classの組み合わせをコピペ展開。
|
|
55
50
|
|
|
56
51
|
### C3: 命名設計
|
|
57
52
|
|
|
58
|
-
- **列挙**: 新設する`c
|
|
59
|
-
- **照合・判定**: プレフィックス後の名前が規約に合う→✅。ハイフンや`__
|
|
60
|
-
- **決め方**:
|
|
61
|
-
- **参照先**: `naming.md`、`css-rules.md#
|
|
62
|
-
- **よい例・避けたい例**: OK=`c--featureCard`、`c--featureCard_body`、既存命名がアンダースコア寄せなら`c--feature_card`。罠=`c--feature-card`、`c--hero__inner`(正しくは`c--hero_inner`)、`c--feature-card__body`(正しくは`c--featureCard_body
|
|
53
|
+
- **列挙**: 新設する`b--`/`c--`のクラス名とBlock/Element/Modifier構造、独自CSSを置くLayer。
|
|
54
|
+
- **照合・判定**: プレフィックス後の名前が規約に合う→✅。ハイフンや`__`がある→🔁。CSSで参照しないElement(`c--name_elem`)を付けている→🔁(外す)。ベーススタイルを CSS 側で管理する共通基礎部品→`✅新規`(`b--`)。それ以外のカスタムクラス→`✅新規`(`c--`)。公開API・CMS・外部JS・E2E依存→⏸。独自CSSがLayer外になる→🔁。
|
|
55
|
+
- **決め方**: 記法とBlock名の付け方は`naming.md`、`b--`/`c--`の分類(`b--`は3条件をすべて満たす時だけ)と置くLayerは`css-rules.md`に従う。
|
|
56
|
+
- **参照先**: `naming.md`、`css-rules.md#block-classb--`、`css-rules.md#custom-classc--`、`css-rules.md#独自クラスの選び方2分類`、`antipatterns-layout.md#クラス名の命名ミス`、`antipatterns-layout.md#css-の無い-element-クラスを付ける`。
|
|
57
|
+
- **よい例・避けたい例**: OK=`c--featureCard`、`c--featureCard_body`、既存命名がアンダースコア寄せなら`c--feature_card`。罠=`c--feature-card`、`c--hero__inner`(正しくは`c--hero_inner`)、`c--feature-card__body`(正しくは`c--featureCard_body`)、CSSで参照しない`c--featureCard_title`(外す)。
|
|
63
58
|
|
|
64
59
|
### C4: 状態・バリエーション設計
|
|
65
60
|
|
|
66
61
|
- **列挙**: active/open/disabled/currentなどの状態、solid/outlineなどの見た目違い。
|
|
67
|
-
- **照合・判定**: 状態→`✅新規`(`data-*`/ARIA
|
|
68
|
-
- **決め方**: 状態は属性セレクタ、バリエーションはBEM Modifier
|
|
69
|
-
- **参照先**: `trait-class.md`、`trait-class/is--*.md`、`antipatterns-layout.md#is---の誤用状態バリエーション`、`css-rules.md#
|
|
70
|
-
- **よい例・避けたい例**: OK=`data-is-active`+`[data-is-active]`、`c--
|
|
62
|
+
- **照合・判定**: 状態→`✅新規`(`data-*`/ARIA)。見た目違い→`✅新規`(C3で決めたBlockと同じプレフィックスのModifier。`c--`なら`c--name--variant`、`b--`なら`b--name--variant`)。Blockと異なるプレフィックスのModifierになっている→🔁。正規Traitが当たる→✅。
|
|
63
|
+
- **決め方**: 状態は属性セレクタ、バリエーションはBEM Modifier。ModifierのプレフィックスはC3で決めたBlockに合わせ、`c--`と`b--`を混在させない。`is--`を状態/バリエーションに流用しない。
|
|
64
|
+
- **参照先**: `trait-class.md`、`trait-class/is--*.md`、`antipatterns-layout.md#is---の誤用状態バリエーション`、`css-rules.md#custom-classc--`、`css-rules.md#block-classb--`。
|
|
65
|
+
- **よい例・避けたい例**: OK=`data-is-active`+`[data-is-active]`、`c--pricing--featured`、`b--btn--outline`。罠=`is--active`、`is--solid`、`b--btn`に対する`c--btn--outline`(Blockと違うプレフィックス)。
|
|
71
66
|
|
|
72
67
|
### C5: 値・トークン照合
|
|
73
68
|
|
|
74
69
|
- **列挙**: spacing/color/fz/radius/shadow/size/lh/ltsなど、使う予定の値をすべて列挙。
|
|
75
|
-
- **照合・判定**:
|
|
70
|
+
- **照合・判定**: 「照合の手順」の3に従う(完全一致→✅/typo等の明確な置換→🔁にして`tokens.md`で確認後✅/近似丸め・任意色・ブランド色→⏸/許可リスト該当→`✅例外`)。
|
|
76
71
|
- **決め方**: トークン値を流用。⏸は本ファイルの「デザインデータ取り込みフロー」に従い、トークン候補と差分表を出して確認まで書かない。CSSへ書く前に、Lism Props/Property Classで表せる値かも同時に確認する。インストール済みの`lism-css`がある環境では、実CSS(`main.css`)やコンポーネント実装でトークン・クラスの実在を確認してから採用するとtypoを防げる。
|
|
77
72
|
- **参照先**: `tokens.md`、`property-class.md`、`antipatterns.md#token-typo存在しない値`、`antipatterns.md#px--固定値の直書き`。
|
|
78
73
|
- **よい例・避けたい例**: OK=`-fz:xs -p:10 -bgc:base-2 -bdrs:10`。罠=`padding:13px`、`bgc="secondary"`。
|
|
79
74
|
|
|
80
75
|
### C6: レスポンシブ方針
|
|
81
76
|
|
|
82
|
-
- **列挙**: 各値のbase
|
|
83
|
-
- **照合・判定**:
|
|
84
|
-
- **決め方**:
|
|
77
|
+
- **列挙**: 各値のbaseと切替BP(sm/md/lg)、container queryかmedia queryか、container運用なら祖先`isContainer`の有無、固定Grid化していないか。
|
|
78
|
+
- **照合・判定**: 標準BP・必要な祖先あり→✅。xs誤用→🔁。`$is_container_query:0`等でmedia query運用が確認できる場合は`isContainer`必須にしない→✅。固定列をレスポンシブ化するなど挙動変更→⏸。
|
|
79
|
+
- **決め方**: 標準BPへ寄せる。同じ値の繰り返しは省略する。等幅カラムはまず`Columns cols={[1, null, 3]}`などPrimitiveのレスポンシブAPIで表せるか確認し、できない場合だけ`@container`/`@media`を自分で書く。
|
|
85
80
|
- **参照先**: `responsive.md`、`trait-class/is--container.md`、`property-class.md`、`primitive-class.md#カラムレイアウト-primitive-の使い分けガイド`。
|
|
86
|
-
- **よい例・避けたい例**: OK=`p={{ base: '20', md: '30' }}`+祖先`isContainer`、`<Columns cols={[1, null, 3]}>`。罠=`gtc="repeat(3,1fr)"`固定、カード列数のためだけに`@container`直書き、
|
|
81
|
+
- **よい例・避けたい例**: OK=`p={{ base: '20', md: '30' }}`+祖先`isContainer`、`<Columns cols={[1, null, 3]}>`。罠=`gtc="repeat(3,1fr)"`固定、カード列数のためだけに`@container`直書き、container祖先なし。
|
|
87
82
|
|
|
88
83
|
### C7: CSSに書くもの/Propsに移すもの
|
|
89
84
|
|
|
90
85
|
- **列挙**: CSSへ書く予定の各宣言を「Property Class/Propsへ移す宣言」と「CSSにしか書けない宣言」に分ける。`c--*`のCSSに残る宣言を実装プランに明記する。
|
|
91
|
-
- **照合・判定**: 1つの要素にだけ効く見た目の指定→✅マークアップへ。擬似クラス・擬似要素・状態切替・子孫セレクタ→✅CSS
|
|
92
|
-
- **決め方**: `-{prop}:{value}`またはLism Props
|
|
93
|
-
- **参照先**: `property-class.md`、`css-rules.md#
|
|
86
|
+
- **照合・判定**: `c--*`のクラスで1つの要素にだけ効く見た目の指定→✅マークアップへ。擬似クラス・擬似要素・状態切替・子孫セレクタ→✅CSSへ残す。C3で`b--`と決めた部品のベーススタイル→✅`@layer lism-block`へ残す(トークン使用。BP切替・hover・例外調整はProperty Class)。下表の宣言が`.c--*` CSSに残る→🔁未通過。
|
|
87
|
+
- **決め方**: `-{prop}:{value}`またはLism Propsへ移す。本体クラス`c--name`はCSSが空でも何のパーツかを示す名前として残す。ElementはCSSで参照しなくなったら外す。
|
|
88
|
+
- **参照先**: `property-class.md`、`css-rules.md#custom-classc--`、`antipatterns.md#property-class-で書けるのに-css-で書く`。
|
|
94
89
|
- **移行表**:
|
|
95
90
|
|
|
96
91
|
| CSSでの記述 | Lism Props/Property Class |
|
|
@@ -110,23 +105,19 @@ Lism CSSで新規UI・セクション・コンポーネントを書く前に作
|
|
|
110
105
|
|
|
111
106
|
### C8: 既定値の確認
|
|
112
107
|
|
|
113
|
-
- **列挙**: 使うPrimitiveが既に持つ既定CSSを確認し、同値をProps/Property Class
|
|
108
|
+
- **列挙**: 使うPrimitiveが既に持つ既定CSSを確認し、同値をProps/Property Classで重ねていないか。セマンティックコンポーネント(`Text`/`Inline`/`Group`等)にデフォルト要素と同じ`as`を付けていないか。
|
|
114
109
|
- **照合・判定**: 既定と同値→足さない。既定と違う意図的上書き→✅。ガイドに未整備のPrimitive既定→今後の整備対象にする。
|
|
115
110
|
- **決め方**: `primitives/l--*.md`の「既定の挙動」を見る。念のための`ai="center"`/`ov="hidden"`/直下img`w/h/object-fit`を足さない。
|
|
116
|
-
- **参照先**: `primitives/l--cluster.md`、`primitives/l--frame.md`、`primitive-class.md`、`components-core.md
|
|
117
|
-
- **よい例・避けたい例**: OK=`<Cluster g="15">`、`<Frame ar="16/9"><img /></Frame>`。罠=`<Cluster fxw="wrap" ai="center">`、Frame直下imgに`-w:100%`や`object-fit
|
|
111
|
+
- **参照先**: `primitives/l--cluster.md`、`primitives/l--frame.md`、`primitive-class.md`、`components-core.md#セマンティックコンポーネント`。
|
|
112
|
+
- **よい例・避けたい例**: OK=`<Cluster g="15">`、`<Frame ar="16/9"><img /></Frame>`。罠=`<Cluster fxw="wrap" ai="center">`、Frame直下imgに`-w:100%`や`object-fit`、`<Text as="p">`。
|
|
118
113
|
|
|
119
114
|
## 出力フォーマット
|
|
120
115
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
値照合付きレベルでは、実装プラン全体をチャットの返答としてではなく`.lism/plan.md`として保存します(固定名・上書き。冒頭のメタデータヘッダに日時・対象タスク・スケール前提とその判定根拠を書く)。規約は[`verification.md`](./verification.md)を参照してください。
|
|
116
|
+
実装前チェックの成果物を実装プランと呼ぶ。各行に判定記号を付ける。値照合付きレベルでは`.lism/plan.md`へ保存する(規約は[`verification.md`](./verification.md))。
|
|
124
117
|
|
|
125
118
|
### 軽量レベル
|
|
126
119
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
例:
|
|
120
|
+
例(3〜5行):
|
|
130
121
|
|
|
131
122
|
```md
|
|
132
123
|
- ✅ 構造: 既存`Stack`内へ1項目追加。Primitive変更なし。
|
|
@@ -138,7 +129,7 @@ Lism CSSで新規UI・セクション・コンポーネントを書く前に作
|
|
|
138
129
|
|
|
139
130
|
#### 資料確認ログ
|
|
140
131
|
|
|
141
|
-
SKILL.md以外に実際に開いたファイルや外部サイトのページurl
|
|
132
|
+
SKILL.md以外に実際に開いたファイルや外部サイトのページurlを、「初期確認」と「実装中」に分けて列挙する。
|
|
142
133
|
|
|
143
134
|
例:
|
|
144
135
|
| タイミング | 種類 | 確認した資料 | 用途 |
|
|
@@ -147,19 +138,17 @@ SKILL.md以外に実際に開いたファイルや外部サイトのページurl
|
|
|
147
138
|
| 実装中 | 📄 | `tokens.md` | デザイン値とトークン照合(トークン丸めトリガー) |
|
|
148
139
|
| 実装中 | URL | `https://lism-css.com/docs/naming.md` | `c--*`命名トリガー |
|
|
149
140
|
|
|
150
|
-
|
|
141
|
+
各行を実装プランの判断項目(特に🔁)と対応させる。
|
|
151
142
|
|
|
152
143
|
#### 🔁判断行
|
|
153
144
|
|
|
154
|
-
|
|
145
|
+
未読の判断項目そのものに🔁と読む資料を紐づける。資料を読んだら同じ行を✅または⏸へ更新する。
|
|
155
146
|
|
|
156
147
|
| 判断項目 | 採用案 | 読む資料 | 判定 |
|
|
157
148
|
| --- | --- | --- | --- |
|
|
158
149
|
| カード一覧 | `Columns cols={[1, null, 3]}` | `primitives/l--columns.md` | 🔁 |
|
|
159
150
|
| hover指定 | `hov={{ bgc: 'base-2' }}` | `property-class/hov.md` | 🔁 |
|
|
160
151
|
|
|
161
|
-
対応資料を読んだら、同じ判断行を✅または⏸へ更新します。提出前に🔁が残っている場合は未通過です。
|
|
162
|
-
|
|
163
152
|
#### 構造表
|
|
164
153
|
|
|
165
154
|
| 対象領域 | 採用Primitive・コンポーネント | 理由 | 参照先 | 判定 |
|
|
@@ -168,7 +157,7 @@ SKILL.md以外に実際に開いたファイルや外部サイトのページurl
|
|
|
168
157
|
|
|
169
158
|
#### トークン表
|
|
170
159
|
|
|
171
|
-
|
|
160
|
+
値照合付きでは`デザイン値`と`差分`列を必須にする。
|
|
172
161
|
|
|
173
162
|
| 用途 | デザイン値 | 採用トークン | 差分 | 判定 |
|
|
174
163
|
| --- | --- | --- | --- | --- |
|
|
@@ -197,9 +186,9 @@ SKILL.md以外に実際に開いたファイルや外部サイトのページurl
|
|
|
197
186
|
|
|
198
187
|
#### 入力種別と既定動作
|
|
199
188
|
|
|
200
|
-
|
|
189
|
+
デザイン値の扱いは、入力の種類とプロジェクトの段階で決まる。「正確に再現して」等の指示があってもこの分岐が既定動作。
|
|
201
190
|
|
|
202
|
-
|
|
191
|
+
この表は⏸確認を省略する許可ではない。既定動作は、確認時に第一候補として出す案と、確認が取れない時に`✅前提`として選ぶ選択肢(`SKILL.md`「判定記号」の⏸の項)を定める。
|
|
203
192
|
|
|
204
193
|
| 入力 | 既定動作 |
|
|
205
194
|
| --- | --- |
|
|
@@ -215,28 +204,27 @@ SKILL.md以外に実際に開いたファイルや外部サイトのページurl
|
|
|
215
204
|
- 完全一致→✅そのまま採用。
|
|
216
205
|
- typo・既存規約上明確な置換(`secondary`→`base-2`など)→`tokens.md`で正規トークンを確認して置換し、✅にする(ユーザー確認は不要)。
|
|
217
206
|
- 近似丸め・任意色・ブランド色・密度/再現度の判断→⏸。A=最寄りトークンに丸める/B=カスタムトークン化または基準値(`--s-unit`等)の上書き/C=px直書き(例外)を提示する。この選択肢の定義はここが正本。
|
|
207
|
+
- `antipatterns.md`の「直書きしてよい例外」に該当→`✅例外`(条件は`SKILL.md`「判定記号」)。
|
|
218
208
|
4. **カスタムトークン化の条件**: 同値が複数箇所で再利用される、またはデザインシステム上の意味を持つ場合は候補にする。1回限りの局所値は丸めか例外で済ませる。
|
|
219
209
|
5. **デザインデータが無い場合**: 差分表は省略し、既存トークンから意味が近い値を選ぶ。新規数値が必要な時だけ⏸にする。
|
|
220
210
|
|
|
221
|
-
`--s-unit`などの基準値をプロジェクトが上書きしているとpx
|
|
222
|
-
|
|
223
|
-
プロセス違反の実例(NG):
|
|
211
|
+
`--s-unit`などの基準値をプロジェクトが上書きしているとpxの完全一致判定が変わる。値照合付きでは上書きの有無を先に確認する。
|
|
224
212
|
|
|
225
|
-
|
|
213
|
+
実測pxを包括的に例外化するNG例は[`antipatterns.md`](../antipatterns.md#px--固定値の直書き)の「実測pxの包括例外化」。
|
|
226
214
|
|
|
227
215
|
#### 値マッピングの初期すり合わせ
|
|
228
216
|
|
|
229
|
-
|
|
217
|
+
デザインシステムが未確立のプロジェクトで初期実装を任された場合は、値ごとに⏸を出すのではなく、実装前にマッピング方針を一括ですり合わせる。トークン差分表と確認事項表をこの一括確認の提出物として使う。
|
|
230
218
|
|
|
231
219
|
- スペース・サイズ・タイポグラフィ: どの範囲を最寄りトークンへ丸め、どこを具体値(px直書き・カスタムトークン)にするかの境界。
|
|
232
220
|
- カラー: デザイン内の各色をどのセマンティックカラー(`--brand`/`--accent`/`--base`/`--base-2`/`--text`/`--text-2`等)へ割り当てるか。
|
|
233
221
|
- デザイン画像しか無い場合は、書き出し倍率・想定キャンバス幅の前提もここで確認する。倍率はC0の実測・整合チェックで確定してから提示する。
|
|
234
222
|
|
|
235
|
-
|
|
223
|
+
確認が取れない場合の進め方は`SKILL.md`「判定記号」の⏸の項。
|
|
236
224
|
|
|
237
225
|
### 提出前セルフチェックへの接続
|
|
238
226
|
|
|
239
|
-
|
|
227
|
+
`SKILL.md`「提出前セルフチェック」で実装プランと実装を照合した時の分類例:
|
|
240
228
|
|
|
241
229
|
| 計画項目 | 実装結果 | 分類 | 対応 |
|
|
242
230
|
| --- | --- | --- | --- |
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
共通の考え方:
|
|
6
6
|
|
|
7
|
-
- セクションの外殻は`Group`(`as="header"`/`as="section"`/`as="footer"
|
|
7
|
+
- セクションの外殻は`Group`(`as="header"`/`as="section"`/`as="footer"`)で意味付けし、`c--siteHeader`のような何のパーツかを示す独自クラス名を付ける(ページ固有の領域も`c--frontHero`のようにslug等を含めて`c--`で命名する。[`css-rules.md`](../css-rules.md#独自クラスの選び方2分類))。
|
|
8
8
|
- 「全幅の背景+中央寄せの本文幅」は、外殻`Group`(背景色・縦padding)+`hasGutter`(サイト共通の左右余白)+内側`Wrapper`(コンテンツ幅)の組み合わせで作る。`max-width`をpxで直書きしない。
|
|
9
9
|
- 縦の並びは`Stack`、横並びは`Cluster`に任せ、余白はすべて`g`/`py`などのトークンPropsで表す。
|
|
10
10
|
- セクションの高さをデザインpxで固定しない。高さは余白(`py`)とコンテンツが決める。
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
```jsx
|
|
17
17
|
import { Group, Wrapper, Cluster, Link } from 'lism-css/astro';
|
|
18
18
|
|
|
19
|
-
<Group as="header" className="
|
|
19
|
+
<Group as="header" className="c--siteHeader" bgc="base" py="20" hasGutter>
|
|
20
20
|
<Wrapper contentSize="xl">
|
|
21
21
|
<Cluster jc="between" g="20">
|
|
22
22
|
<Link href="/" fw="bold" fz="l">Site Name</Link>
|
|
@@ -40,7 +40,7 @@ import { Group, Wrapper, Cluster, Link } from 'lism-css/astro';
|
|
|
40
40
|
```jsx
|
|
41
41
|
import { Group, Wrapper, Stack, Cluster, Heading, Text } from 'lism-css/astro';
|
|
42
42
|
|
|
43
|
-
<Group as="section" className="
|
|
43
|
+
<Group as="section" className="c--frontHero" bgc="base-2" py={['60', null, '80']} hasGutter isContainer>
|
|
44
44
|
<Wrapper contentSize="l">
|
|
45
45
|
<Stack g="30" ai="center" ta="center">
|
|
46
46
|
<Heading level="1" fz={['3xl', null, '5xl']}>キャッチコピー</Heading>
|
|
@@ -60,7 +60,7 @@ import { Group, Wrapper, Stack, Cluster, Heading, Text } from 'lism-css/astro';
|
|
|
60
60
|
```jsx
|
|
61
61
|
import { Group, Wrapper, Stack, AutoColumns, Text, Divider } from 'lism-css/astro';
|
|
62
62
|
|
|
63
|
-
<Group as="footer" className="
|
|
63
|
+
<Group as="footer" className="c--siteFooter" bgc="text" c="base" py="60" hasGutter isContainer>
|
|
64
64
|
<Wrapper contentSize="xl">
|
|
65
65
|
<Stack g="40">
|
|
66
66
|
<AutoColumns cols="12rem" g="40">
|
|
@@ -82,7 +82,7 @@ import { Group, Wrapper, Stack, AutoColumns, Text, Divider } from 'lism-css/astr
|
|
|
82
82
|
```jsx
|
|
83
83
|
import { Group, Wrapper, Stack, Heading, Columns } from 'lism-css/astro';
|
|
84
84
|
|
|
85
|
-
<Group as="section" className="
|
|
85
|
+
<Group as="section" className="c--frontFeatures" py="70" hasGutter isContainer>
|
|
86
86
|
<Wrapper contentSize="l">
|
|
87
87
|
<Stack g="40">
|
|
88
88
|
<Heading level="2" fz="2xl" ta="center">Features</Heading>
|