required-doc 0.0.6 → 0.0.8
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/README.md +57 -19
- package/dist/index.js +338 -316
- package/package.json +1 -1
- package/types.d.ts +8 -1
package/README.md
CHANGED
|
@@ -99,6 +99,16 @@ createSpecViewer({
|
|
|
99
99
|
components: [Input, Button],
|
|
100
100
|
pages: [loginPage],
|
|
101
101
|
colors,
|
|
102
|
+
options: {
|
|
103
|
+
devices: [
|
|
104
|
+
{ id: 'pc', label: 'PC', frame: 'pc', minWidth: 1024, maxWidth: 1920 },
|
|
105
|
+
{ id: 'phone', label: 'Phone', frame: 'phone', minWidth: 320, maxWidth: 1023 },
|
|
106
|
+
],
|
|
107
|
+
baseColors: {
|
|
108
|
+
light: { bg: '#f5f6f8', font: '#1f2937' },
|
|
109
|
+
dark: { bg: '#131313', font: '#f3f3f3' },
|
|
110
|
+
},
|
|
111
|
+
},
|
|
102
112
|
}).mount('#app')
|
|
103
113
|
```
|
|
104
114
|
|
|
@@ -159,8 +169,30 @@ const meta: ItemMeta = {
|
|
|
159
169
|
export default meta
|
|
160
170
|
```
|
|
161
171
|
|
|
162
|
-
- `view`:
|
|
163
|
-
- `
|
|
172
|
+
- `view`: 単一 mock のとき。**HTML 文字列(`?raw`)** または Vue コンポーネント。
|
|
173
|
+
- `variants`: 状態別 mock(例: 0件 / 10件)。**2 件以上**で mock 内にタブが出る。`variants` を使う場合 `view` は省略可。
|
|
174
|
+
- `req`: 要件 Markdown(状態共通)。
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
const meta: ItemMeta = {
|
|
178
|
+
name: 'CollageListPage',
|
|
179
|
+
kind: 'page',
|
|
180
|
+
title: 'コラージュ一覧',
|
|
181
|
+
desc: '…',
|
|
182
|
+
latest: 'v1',
|
|
183
|
+
versions: {
|
|
184
|
+
v1: {
|
|
185
|
+
req: CollageListReq,
|
|
186
|
+
variants: [
|
|
187
|
+
{ id: 'empty', label: '0件', view: CollageListEmptyMock },
|
|
188
|
+
{ id: 'full', label: '10件', view: CollageListFullMock },
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
単一 mock の従来形(`view` のみ)もそのまま使える。
|
|
164
196
|
|
|
165
197
|
作ったら `main.ts` の `components` / `pages` 配列に 1 行足す。
|
|
166
198
|
|
|
@@ -207,19 +239,19 @@ export const colors: ColorToken[] = [
|
|
|
207
239
|
|
|
208
240
|
## オプション(`createSpecViewer({ ..., options })`)
|
|
209
241
|
|
|
210
|
-
|
|
242
|
+
`showThemeToggle` 以外は**省略時デフォルトなし**。`devices` と `baseColors` は利用側で必ず指定する。
|
|
211
243
|
|
|
212
244
|
```ts
|
|
213
245
|
createSpecViewer({
|
|
214
246
|
components, pages, colors,
|
|
215
247
|
options: {
|
|
216
|
-
showThemeToggle: true, //
|
|
217
|
-
devices: [ // mock
|
|
218
|
-
{ id: 'pc', label: 'PC', frame: 'pc',
|
|
219
|
-
{ id: 'tablet', label: 'Tablet', frame: 'tablet',
|
|
220
|
-
{ id: 'phone', label: 'Phone', frame: 'phone',
|
|
248
|
+
showThemeToggle: true, // ダーク/ライト切替ボタン(省略時 true)
|
|
249
|
+
devices: [ // mock の端末タブ(必須)
|
|
250
|
+
{ id: 'pc', label: 'PC', frame: 'pc', minWidth: 1024, maxWidth: 1920 },
|
|
251
|
+
{ id: 'tablet', label: 'Tablet', frame: 'tablet', minWidth: 768, maxWidth: 1024 },
|
|
252
|
+
{ id: 'phone', label: 'Phone', frame: 'phone', minWidth: 320, maxWidth: 1023 },
|
|
221
253
|
],
|
|
222
|
-
baseColors: { //
|
|
254
|
+
baseColors: { // モック画面の基本色(必須)
|
|
223
255
|
light: { bg: '#f5f6f8', font: '#1f2937' },
|
|
224
256
|
dark: { bg: '#131313', font: '#f3f3f3' },
|
|
225
257
|
},
|
|
@@ -233,29 +265,36 @@ createSpecViewer({
|
|
|
233
265
|
|
|
234
266
|
### devices
|
|
235
267
|
|
|
236
|
-
mock
|
|
268
|
+
mock 上部のタブに出る端末リスト。**タブごとに min〜max の範囲が独立**している(Phone の max を超えて PC 幅にはならない)。
|
|
237
269
|
|
|
238
270
|
| フィールド | 説明 |
|
|
239
271
|
| --- | --- |
|
|
240
272
|
| `id` | タブ識別子(例 `'pc'`) |
|
|
241
273
|
| `label` | タブ表示名(例 `'PC'`) |
|
|
242
274
|
| `frame` | 枠の見た目。`'pc'`=ブラウザ風 / `'phone'`=ノッチ付き / `'tablet'`=ノッチなしベゼル |
|
|
243
|
-
| `
|
|
275
|
+
| `minWidth` | mock の **viewport 最小幅**(px)。端末枠・ノッチは含まない |
|
|
276
|
+
| `maxWidth` | mock の **viewport 最大幅**(px)。端末枠・ノッチは含まない |
|
|
244
277
|
|
|
245
278
|
- 配列を 1 件だけ(例: PC のみ)にすると端末タブ自体が消える。
|
|
246
|
-
- `
|
|
279
|
+
- `minWidth === maxWidth` の端末は幅固定(リサイズハンドル非表示)。
|
|
280
|
+
- 表示幅は **mock が描画される viewport 幅**。Phone の黒ベゼル・ノッチはその外側の装飾として重ねる(mock の左右 padding は付けない)。
|
|
281
|
+
- 詳細画面: 右端ドラッグで **選択中タブの min〜max** の範囲内に変更。ペースに収まらなければ**端末枠込みで縮尺**(最大 1x)。
|
|
282
|
+
- タブ切替時は現在幅を引き継ぎ、新タブの min〜max に clamp する。
|
|
247
283
|
|
|
248
284
|
### baseColors
|
|
249
285
|
|
|
250
|
-
モック画面(PC/Tablet/Phone
|
|
286
|
+
モック画面(PC/Tablet/Phone の画面・プレビュー)の**背景色と基本文字色**を、ライト/ダークごとに指定する。
|
|
251
287
|
ここで指定した値は `/colors` の一覧に `baseBg` / `baseFont` として自動表示される(情報源が二重化しない)。
|
|
252
288
|
|
|
253
289
|
---
|
|
254
290
|
|
|
255
291
|
## プレビューモード
|
|
256
292
|
|
|
257
|
-
-
|
|
258
|
-
-
|
|
293
|
+
- ヘッダの「プレビュー」ボタンで、**要件パネルを隠して全画面表示**する。
|
|
294
|
+
- **詳細画面と同じ端末枠・同じ viewport 幅**で mock を **1:1** 表示する(縮尺なし。はみ出す場合はスクロール)。
|
|
295
|
+
- mock の viewport がブラウザより**狭い**ときだけ、外側に境界線(グレー背景 + ボーダー)を出す。**同幅なら枠なし**。
|
|
296
|
+
- 右端ドラッグで幅変更可能(詳細と同じく、**プレビュー前に選んだ端末タブの min〜max 内**)。
|
|
297
|
+
- 端末タブはプレビュー中は出ない(詳細で選んだ端末を引き継ぐ)。
|
|
259
298
|
- 退室は **`Esc`** または右上の「閉じる」ボタン。
|
|
260
299
|
|
|
261
300
|
---
|
|
@@ -264,7 +303,7 @@ mock 上部のタブに出る端末リスト。
|
|
|
264
303
|
|
|
265
304
|
- `createSpecViewer(config)` が `config` を `registryStore` に注入し、ルータ付き Vue アプリを返す。
|
|
266
305
|
- ルート: `/catalog`, `/components/:name/:ver?`, `/pages/:name/:ver?`, `/colors`。
|
|
267
|
-
- `ReqScreen.vue` が額縁(ヘッダ /
|
|
306
|
+
- `ReqScreen.vue` が額縁(ヘッダ / 左 mock / 右要件)と端末枠・縮尺・プレビューを担当。端末枠は `MockDeviceFrame.vue`。
|
|
268
307
|
- Tailwind ユーティリティはパッケージに同梱せず、**利用側の `@source` 経由で生成**(`dist/index.js` 内のクラス文字列を走査)。パッケージ同梱の `style.css` は req-md 等の独自スタイルのみ。
|
|
269
308
|
|
|
270
309
|
### 公開 API / 型
|
|
@@ -290,9 +329,8 @@ import {
|
|
|
290
329
|
| --- | --- |
|
|
291
330
|
| 部品/画面を追加 | `meta.ts` + `v1/*.html` + `v1/*.req.md` を作り、`main.ts` の配列に追加 |
|
|
292
331
|
| バージョンを増やす | `v2/` を足して `meta.ts` の `versions` と `latest` を更新 |
|
|
293
|
-
| 端末を変える | `options.devices`
|
|
294
|
-
| 端末の幅を変える |
|
|
332
|
+
| 端末を変える | 詳細画面の mock 上部タブ、または `options.devices` を編集 |
|
|
333
|
+
| 端末の幅を変える | 詳細 / プレビューで右端ドラッグ(選択中タブの `minWidth`〜`maxWidth` 内) |
|
|
295
334
|
| ダーク切替を隠す | `options.showThemeToggle: false` |
|
|
296
335
|
| モックの基本色を変える | `options.baseColors`(`/colors` にも反映) |
|
|
297
336
|
| ビューア本体を直した | `cd npm_pack && npm run build` で再ビルド |
|
|
298
|
-
```
|