skill-bill 0.2.0 → 0.2.2
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/SKILL.md +3 -2
- package/dist/.gen-inputs.json +21 -5
- package/dist/account/accounts.d.ts +98 -0
- package/dist/account/accounts.d.ts.map +1 -0
- package/dist/account/accounts.js +184 -0
- package/dist/account/accounts.js.map +1 -0
- package/dist/account/commands.d.ts +18 -0
- package/dist/account/commands.d.ts.map +1 -0
- package/dist/account/commands.js +21 -0
- package/dist/account/commands.js.map +1 -0
- package/dist/account/declaration.d.ts +9 -0
- package/dist/account/declaration.d.ts.map +1 -0
- package/dist/account/declaration.js +70 -0
- package/dist/account/declaration.js.map +1 -0
- package/dist/account/index.d.ts +15 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +15 -0
- package/dist/account/index.js.map +1 -0
- package/dist/account/pageParts.d.ts +127 -0
- package/dist/account/pageParts.d.ts.map +1 -0
- package/dist/account/pageParts.js +222 -0
- package/dist/account/pageParts.js.map +1 -0
- package/dist/account/params.d.ts +52 -0
- package/dist/account/params.d.ts.map +1 -0
- package/dist/account/params.js +153 -0
- package/dist/account/params.js.map +1 -0
- package/dist/account/query.d.ts +11 -0
- package/dist/account/query.d.ts.map +1 -0
- package/dist/account/query.js +10 -0
- package/dist/account/query.js.map +1 -0
- package/dist/account/read.d.ts +8 -0
- package/dist/account/read.d.ts.map +1 -0
- package/dist/account/read.js +56 -0
- package/dist/account/read.js.map +1 -0
- package/dist/account/scene-add.d.ts +3 -0
- package/dist/account/scene-add.d.ts.map +1 -0
- package/dist/account/scene-add.js +54 -0
- package/dist/account/scene-add.js.map +1 -0
- package/dist/account/scene-transfer.d.ts +3 -0
- package/dist/account/scene-transfer.d.ts.map +1 -0
- package/dist/account/scene-transfer.js +73 -0
- package/dist/account/scene-transfer.js.map +1 -0
- package/dist/account/scene-update.d.ts +3 -0
- package/dist/account/scene-update.d.ts.map +1 -0
- package/dist/account/scene-update.js +56 -0
- package/dist/account/scene-update.js.map +1 -0
- package/dist/account/scene.d.ts +73 -0
- package/dist/account/scene.d.ts.map +1 -0
- package/dist/account/scene.js +34 -0
- package/dist/account/scene.js.map +1 -0
- package/dist/account/template-form.d.ts +52 -0
- package/dist/account/template-form.d.ts.map +1 -0
- package/dist/account/template-form.js +125 -0
- package/dist/account/template-form.js.map +1 -0
- package/dist/account/template-summary.d.ts +38 -0
- package/dist/account/template-summary.d.ts.map +1 -0
- package/dist/account/template-summary.js +179 -0
- package/dist/account/template-summary.js.map +1 -0
- package/dist/account/template-update.d.ts +35 -0
- package/dist/account/template-update.d.ts.map +1 -0
- package/dist/account/template-update.js +193 -0
- package/dist/account/template-update.js.map +1 -0
- package/dist/account/write.d.ts +14 -0
- package/dist/account/write.d.ts.map +1 -0
- package/dist/account/write.js +166 -0
- package/dist/account/write.js.map +1 -0
- package/dist/analysis/agg.d.ts +135 -0
- package/dist/analysis/agg.d.ts.map +1 -0
- package/dist/analysis/agg.js +196 -0
- package/dist/analysis/agg.js.map +1 -0
- package/dist/analysis/cards.d.ts +40 -0
- package/dist/analysis/cards.d.ts.map +1 -0
- package/dist/analysis/cards.js +97 -0
- package/dist/analysis/cards.js.map +1 -0
- package/dist/analysis/commands.d.ts +17 -0
- package/dist/analysis/commands.d.ts.map +1 -0
- package/dist/analysis/commands.js +28 -0
- package/dist/analysis/commands.js.map +1 -0
- package/dist/analysis/declaration.d.ts +9 -0
- package/dist/analysis/declaration.d.ts.map +1 -0
- package/dist/analysis/declaration.js +368 -0
- package/dist/analysis/declaration.js.map +1 -0
- package/dist/analysis/index.d.ts +14 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +14 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/pageParts.d.ts +103 -0
- package/dist/analysis/pageParts.d.ts.map +1 -0
- package/dist/analysis/pageParts.js +158 -0
- package/dist/analysis/pageParts.js.map +1 -0
- package/dist/{policy/analysis.d.ts → analysis/params.d.ts} +1 -1
- package/dist/analysis/params.d.ts.map +1 -0
- package/dist/{policy/analysis.js → analysis/params.js} +10 -4
- package/dist/analysis/params.js.map +1 -0
- package/dist/analysis/read.d.ts +26 -0
- package/dist/analysis/read.d.ts.map +1 -0
- package/dist/analysis/read.js +84 -0
- package/dist/analysis/read.js.map +1 -0
- package/dist/analysis/scene-account.d.ts +3 -0
- package/dist/analysis/scene-account.d.ts.map +1 -0
- package/dist/analysis/scene-account.js +88 -0
- package/dist/analysis/scene-account.js.map +1 -0
- package/dist/analysis/scene-activity.d.ts +3 -0
- package/dist/analysis/scene-activity.d.ts.map +1 -0
- package/dist/analysis/scene-activity.js +108 -0
- package/dist/analysis/scene-activity.js.map +1 -0
- package/dist/analysis/scene-anomaly.d.ts +3 -0
- package/dist/analysis/scene-anomaly.d.ts.map +1 -0
- package/dist/analysis/scene-anomaly.js +173 -0
- package/dist/analysis/scene-anomaly.js.map +1 -0
- package/dist/analysis/scene-cat-compare.d.ts +3 -0
- package/dist/analysis/scene-cat-compare.d.ts.map +1 -0
- package/dist/analysis/scene-cat-compare.js +128 -0
- package/dist/analysis/scene-cat-compare.js.map +1 -0
- package/dist/analysis/scene-cat-trend.d.ts +3 -0
- package/dist/analysis/scene-cat-trend.d.ts.map +1 -0
- package/dist/analysis/scene-cat-trend.js +121 -0
- package/dist/analysis/scene-cat-trend.js.map +1 -0
- package/dist/analysis/scene-category.d.ts +3 -0
- package/dist/analysis/scene-category.d.ts.map +1 -0
- package/dist/analysis/scene-category.js +104 -0
- package/dist/analysis/scene-category.js.map +1 -0
- package/dist/analysis/scene-debt.d.ts +3 -0
- package/dist/analysis/scene-debt.d.ts.map +1 -0
- package/dist/analysis/scene-debt.js +111 -0
- package/dist/analysis/scene-debt.js.map +1 -0
- package/dist/analysis/scene-distribution.d.ts +3 -0
- package/dist/analysis/scene-distribution.d.ts.map +1 -0
- package/dist/analysis/scene-distribution.js +144 -0
- package/dist/analysis/scene-distribution.js.map +1 -0
- package/dist/analysis/scene-insight.d.ts +3 -0
- package/dist/analysis/scene-insight.d.ts.map +1 -0
- package/dist/analysis/scene-insight.js +151 -0
- package/dist/analysis/scene-insight.js.map +1 -0
- package/dist/analysis/scene-installment.d.ts +3 -0
- package/dist/analysis/scene-installment.d.ts.map +1 -0
- package/dist/analysis/scene-installment.js +168 -0
- package/dist/analysis/scene-installment.js.map +1 -0
- package/dist/analysis/scene-ledger.d.ts +3 -0
- package/dist/analysis/scene-ledger.d.ts.map +1 -0
- package/dist/analysis/scene-ledger.js +80 -0
- package/dist/analysis/scene-ledger.js.map +1 -0
- package/dist/analysis/scene-monthly.d.ts +3 -0
- package/dist/analysis/scene-monthly.d.ts.map +1 -0
- package/dist/analysis/scene-monthly.js +79 -0
- package/dist/analysis/scene-monthly.js.map +1 -0
- package/dist/analysis/scene-overview.d.ts +3 -0
- package/dist/analysis/scene-overview.d.ts.map +1 -0
- package/dist/analysis/scene-overview.js +82 -0
- package/dist/analysis/scene-overview.js.map +1 -0
- package/dist/analysis/scene-period-compare.d.ts +3 -0
- package/dist/analysis/scene-period-compare.d.ts.map +1 -0
- package/dist/analysis/scene-period-compare.js +127 -0
- package/dist/analysis/scene-period-compare.js.map +1 -0
- package/dist/analysis/scene-range-compare.d.ts +3 -0
- package/dist/analysis/scene-range-compare.d.ts.map +1 -0
- package/dist/analysis/scene-range-compare.js +144 -0
- package/dist/analysis/scene-range-compare.js.map +1 -0
- package/dist/analysis/scene-refund.d.ts +3 -0
- package/dist/analysis/scene-refund.d.ts.map +1 -0
- package/dist/analysis/scene-refund.js +78 -0
- package/dist/analysis/scene-refund.js.map +1 -0
- package/dist/analysis/scene-reimburse.d.ts +3 -0
- package/dist/analysis/scene-reimburse.d.ts.map +1 -0
- package/dist/analysis/scene-reimburse.js +88 -0
- package/dist/analysis/scene-reimburse.js.map +1 -0
- package/dist/analysis/scene-stats.d.ts +3 -0
- package/dist/analysis/scene-stats.d.ts.map +1 -0
- package/dist/analysis/scene-stats.js +80 -0
- package/dist/analysis/scene-stats.js.map +1 -0
- package/dist/analysis/scene-structure.d.ts +3 -0
- package/dist/analysis/scene-structure.d.ts.map +1 -0
- package/dist/analysis/scene-structure.js +93 -0
- package/dist/analysis/scene-structure.js.map +1 -0
- package/dist/analysis/scene-top-freq.d.ts +3 -0
- package/dist/analysis/scene-top-freq.d.ts.map +1 -0
- package/dist/analysis/scene-top-freq.js +91 -0
- package/dist/analysis/scene-top-freq.js.map +1 -0
- package/dist/analysis/scene-top.d.ts +3 -0
- package/dist/analysis/scene-top.d.ts.map +1 -0
- package/dist/analysis/scene-top.js +69 -0
- package/dist/analysis/scene-top.js.map +1 -0
- package/dist/analysis/scene-trend.d.ts +3 -0
- package/dist/analysis/scene-trend.d.ts.map +1 -0
- package/dist/analysis/scene-trend.js +131 -0
- package/dist/analysis/scene-trend.js.map +1 -0
- package/dist/analysis/scene-week.d.ts +3 -0
- package/dist/analysis/scene-week.d.ts.map +1 -0
- package/dist/analysis/scene-week.js +128 -0
- package/dist/analysis/scene-week.js.map +1 -0
- package/dist/analysis/scene-yearly.d.ts +3 -0
- package/dist/analysis/scene-yearly.d.ts.map +1 -0
- package/dist/analysis/scene-yearly.js +103 -0
- package/dist/analysis/scene-yearly.js.map +1 -0
- package/dist/analysis/scene-yoy.d.ts +3 -0
- package/dist/analysis/scene-yoy.d.ts.map +1 -0
- package/dist/analysis/scene-yoy.js +95 -0
- package/dist/analysis/scene-yoy.js.map +1 -0
- package/dist/analysis/scene.d.ts +240 -0
- package/dist/analysis/scene.d.ts.map +1 -0
- package/dist/analysis/scene.js +47 -0
- package/dist/analysis/scene.js.map +1 -0
- package/dist/analysis/template-bars.d.ts +3 -0
- package/dist/analysis/template-bars.d.ts.map +1 -0
- package/dist/analysis/template-bars.js +64 -0
- package/dist/analysis/template-bars.js.map +1 -0
- package/dist/analysis/template-charts.d.ts +3 -0
- package/dist/analysis/template-charts.d.ts.map +1 -0
- package/dist/analysis/template-charts.js +55 -0
- package/dist/analysis/template-charts.js.map +1 -0
- package/dist/analysis/template-compare.d.ts +3 -0
- package/dist/analysis/template-compare.d.ts.map +1 -0
- package/dist/analysis/template-compare.js +54 -0
- package/dist/analysis/template-compare.js.map +1 -0
- package/dist/analysis/template-insight.d.ts +3 -0
- package/dist/analysis/template-insight.d.ts.map +1 -0
- package/dist/analysis/template-insight.js +56 -0
- package/dist/analysis/template-insight.js.map +1 -0
- package/dist/analysis/template-tables.d.ts +3 -0
- package/dist/analysis/template-tables.d.ts.map +1 -0
- package/dist/analysis/template-tables.js +49 -0
- package/dist/analysis/template-tables.js.map +1 -0
- package/dist/analysis/views.d.ts +35 -0
- package/dist/analysis/views.d.ts.map +1 -0
- package/dist/{render → analysis}/views.js +2 -40
- package/dist/analysis/views.js.map +1 -0
- package/dist/cli/cmd_read.js +54 -302
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/config.d.ts +16 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +81 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/health.d.ts +7 -0
- package/dist/cli/health.d.ts.map +1 -0
- package/dist/cli/health.js +32 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/registry.d.ts +1 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +9 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/config.d.ts +41 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +64 -0
- package/dist/config.js.map +1 -0
- package/dist/fetch/db.d.ts +6 -1
- package/dist/fetch/db.d.ts.map +1 -1
- package/dist/fetch/db.js +8 -3
- package/dist/fetch/db.js.map +1 -1
- package/dist/fetch/index.d.ts +1 -1
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +1 -1
- package/dist/fetch/index.js.map +1 -1
- package/dist/fetch/paths.d.ts +16 -4
- package/dist/fetch/paths.d.ts.map +1 -1
- package/dist/fetch/paths.js +54 -24
- package/dist/fetch/paths.js.map +1 -1
- package/dist/goal/commands.d.ts +18 -0
- package/dist/goal/commands.d.ts.map +1 -0
- package/dist/goal/commands.js +21 -0
- package/dist/goal/commands.js.map +1 -0
- package/dist/goal/declaration.d.ts +9 -0
- package/dist/goal/declaration.d.ts.map +1 -0
- package/dist/goal/declaration.js +71 -0
- package/dist/goal/declaration.js.map +1 -0
- package/dist/goal/goalData.d.ts +126 -0
- package/dist/goal/goalData.d.ts.map +1 -0
- package/dist/goal/goalData.js +228 -0
- package/dist/goal/goalData.js.map +1 -0
- package/dist/goal/index.d.ts +19 -0
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/index.js +19 -0
- package/dist/goal/index.js.map +1 -0
- package/dist/goal/pageParts.d.ts +140 -0
- package/dist/goal/pageParts.d.ts.map +1 -0
- package/dist/goal/pageParts.js +233 -0
- package/dist/goal/pageParts.js.map +1 -0
- package/dist/goal/params.d.ts +63 -0
- package/dist/goal/params.d.ts.map +1 -0
- package/dist/goal/params.js +164 -0
- package/dist/goal/params.js.map +1 -0
- package/dist/goal/query.d.ts +12 -0
- package/dist/goal/query.d.ts.map +1 -0
- package/dist/goal/query.js +10 -0
- package/dist/goal/query.js.map +1 -0
- package/dist/goal/read.d.ts +5 -0
- package/dist/goal/read.d.ts.map +1 -0
- package/dist/goal/read.js +79 -0
- package/dist/goal/read.js.map +1 -0
- package/dist/goal/scene-budget.d.ts +3 -0
- package/dist/goal/scene-budget.d.ts.map +1 -0
- package/dist/goal/scene-budget.js +125 -0
- package/dist/goal/scene-budget.js.map +1 -0
- package/dist/goal/scene-saving.d.ts +3 -0
- package/dist/goal/scene-saving.d.ts.map +1 -0
- package/dist/goal/scene-saving.js +116 -0
- package/dist/goal/scene-saving.js.map +1 -0
- package/dist/goal/scene-set-budget.d.ts +3 -0
- package/dist/goal/scene-set-budget.d.ts.map +1 -0
- package/dist/goal/scene-set-budget.js +94 -0
- package/dist/goal/scene-set-budget.js.map +1 -0
- package/dist/goal/scene-set-saving.d.ts +3 -0
- package/dist/goal/scene-set-saving.d.ts.map +1 -0
- package/dist/goal/scene-set-saving.js +66 -0
- package/dist/goal/scene-set-saving.js.map +1 -0
- package/dist/goal/scene.d.ts +142 -0
- package/dist/goal/scene.d.ts.map +1 -0
- package/dist/goal/scene.js +51 -0
- package/dist/goal/scene.js.map +1 -0
- package/dist/goal/template-form.d.ts +32 -0
- package/dist/goal/template-form.d.ts.map +1 -0
- package/dist/goal/template-form.js +124 -0
- package/dist/goal/template-form.js.map +1 -0
- package/dist/goal/template-progress.d.ts +47 -0
- package/dist/goal/template-progress.d.ts.map +1 -0
- package/dist/goal/template-progress.js +79 -0
- package/dist/goal/template-progress.js.map +1 -0
- package/dist/goal/write.d.ts +6 -0
- package/dist/goal/write.d.ts.map +1 -0
- package/dist/goal/write.js +131 -0
- package/dist/goal/write.js.map +1 -0
- package/dist/health.d.ts +41 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +456 -0
- package/dist/health.js.map +1 -0
- package/dist/help/declaration.d.ts +9 -0
- package/dist/help/declaration.d.ts.map +1 -0
- package/dist/help/declaration.js +28 -0
- package/dist/help/declaration.js.map +1 -0
- package/dist/{render → help}/helpFile.d.ts +5 -2
- package/dist/help/helpFile.d.ts.map +1 -0
- package/dist/{render → help}/helpFile.js +13 -4
- package/dist/help/helpFile.js.map +1 -0
- package/dist/help/helpPaths.d.ts +11 -0
- package/dist/help/helpPaths.d.ts.map +1 -0
- package/dist/help/helpPaths.js +36 -0
- package/dist/help/helpPaths.js.map +1 -0
- package/dist/help/index.d.ts +2 -1
- package/dist/help/index.d.ts.map +1 -1
- package/dist/help/index.js +2 -1
- package/dist/help/index.js.map +1 -1
- package/dist/help/items.d.ts +17 -0
- package/dist/help/items.d.ts.map +1 -0
- package/dist/help/items.js +5 -0
- package/dist/help/items.js.map +1 -0
- package/dist/help/lookup.d.ts +1 -1
- package/dist/help/lookup.d.ts.map +1 -1
- package/dist/help/lookup.js +2 -2
- package/dist/help/lookup.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/link/declaration.d.ts +9 -0
- package/dist/link/declaration.d.ts.map +1 -0
- package/dist/link/declaration.js +40 -0
- package/dist/link/declaration.js.map +1 -0
- package/dist/query/commands.d.ts +0 -2
- package/dist/query/commands.d.ts.map +1 -1
- package/dist/query/commands.js +0 -4
- package/dist/query/commands.js.map +1 -1
- package/dist/query/declaration.d.ts +9 -0
- package/dist/query/declaration.d.ts.map +1 -0
- package/dist/query/declaration.js +251 -0
- package/dist/query/declaration.js.map +1 -0
- package/dist/query/detail.d.ts +4 -2
- package/dist/query/detail.d.ts.map +1 -1
- package/dist/query/detail.js +60 -32
- package/dist/query/detail.js.map +1 -1
- package/dist/query/index.d.ts +8 -2
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js.map +1 -1
- package/dist/query/items.d.ts +22 -0
- package/dist/query/items.d.ts.map +1 -0
- package/dist/query/items.js +7 -0
- package/dist/query/items.js.map +1 -0
- package/dist/query/list.d.ts +31 -9
- package/dist/query/list.d.ts.map +1 -1
- package/dist/query/list.js +192 -55
- package/dist/query/list.js.map +1 -1
- package/dist/query/pageParts.d.ts +6 -0
- package/dist/query/pageParts.d.ts.map +1 -0
- package/dist/query/pageParts.js +18 -0
- package/dist/query/pageParts.js.map +1 -0
- package/dist/query/read.d.ts +8 -12
- package/dist/query/read.d.ts.map +1 -1
- package/dist/query/read.js +86 -63
- package/dist/query/read.js.map +1 -1
- package/dist/render/envelope.d.ts.map +1 -1
- package/dist/render/envelope.js +3 -11
- package/dist/render/envelope.js.map +1 -1
- package/dist/render/html.d.ts +0 -1
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +1 -3
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +5 -6
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +8 -4
- package/dist/render/index.js.map +1 -1
- package/dist/setup/backups.d.ts +52 -0
- package/dist/setup/backups.d.ts.map +1 -0
- package/dist/setup/backups.js +172 -0
- package/dist/setup/backups.js.map +1 -0
- package/dist/setup/blocked.d.ts +12 -0
- package/dist/setup/blocked.d.ts.map +1 -0
- package/dist/setup/blocked.js +65 -0
- package/dist/setup/blocked.js.map +1 -0
- package/dist/setup/commands.d.ts +10 -0
- package/dist/setup/commands.d.ts.map +1 -0
- package/dist/setup/commands.js +12 -0
- package/dist/setup/commands.js.map +1 -0
- package/dist/setup/declaration.d.ts +9 -0
- package/dist/setup/declaration.d.ts.map +1 -0
- package/dist/setup/declaration.js +92 -0
- package/dist/setup/declaration.js.map +1 -0
- package/dist/setup/import.d.ts +8 -0
- package/dist/setup/import.d.ts.map +1 -0
- package/dist/setup/import.js +111 -0
- package/dist/setup/import.js.map +1 -0
- package/dist/setup/importer.d.ts +79 -0
- package/dist/setup/importer.d.ts.map +1 -0
- package/dist/setup/importer.js +231 -0
- package/dist/setup/importer.js.map +1 -0
- package/dist/setup/index.d.ts +8 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +8 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/pageParts.d.ts +93 -0
- package/dist/setup/pageParts.d.ts.map +1 -0
- package/dist/setup/pageParts.js +197 -0
- package/dist/setup/pageParts.js.map +1 -0
- package/dist/setup/params.d.ts +43 -0
- package/dist/setup/params.d.ts.map +1 -0
- package/dist/setup/params.js +94 -0
- package/dist/setup/params.js.map +1 -0
- package/dist/setup/restore.d.ts +5 -0
- package/dist/setup/restore.d.ts.map +1 -0
- package/dist/setup/restore.js +129 -0
- package/dist/setup/restore.js.map +1 -0
- package/dist/setup/run.d.ts +5 -0
- package/dist/setup/run.d.ts.map +1 -0
- package/dist/setup/run.js +188 -0
- package/dist/setup/run.js.map +1 -0
- package/dist/setup/scene-backup-create.d.ts +3 -0
- package/dist/setup/scene-backup-create.d.ts.map +1 -0
- package/dist/setup/scene-backup-create.js +26 -0
- package/dist/setup/scene-backup-create.js.map +1 -0
- package/dist/setup/scene-backup-list.d.ts +3 -0
- package/dist/setup/scene-backup-list.d.ts.map +1 -0
- package/dist/setup/scene-backup-list.js +24 -0
- package/dist/setup/scene-backup-list.js.map +1 -0
- package/dist/setup/scene-import.d.ts +3 -0
- package/dist/setup/scene-import.d.ts.map +1 -0
- package/dist/setup/scene-import.js +36 -0
- package/dist/setup/scene-import.js.map +1 -0
- package/dist/setup/scene-init-status.d.ts +14 -0
- package/dist/setup/scene-init-status.d.ts.map +1 -0
- package/dist/setup/scene-init-status.js +16 -0
- package/dist/setup/scene-init-status.js.map +1 -0
- package/dist/setup/scene-init.d.ts +3 -0
- package/dist/setup/scene-init.d.ts.map +1 -0
- package/dist/setup/scene-init.js +25 -0
- package/dist/setup/scene-init.js.map +1 -0
- package/dist/setup/scene-restore.d.ts +3 -0
- package/dist/setup/scene-restore.d.ts.map +1 -0
- package/dist/setup/scene-restore.js +33 -0
- package/dist/setup/scene-restore.js.map +1 -0
- package/dist/setup/scene.d.ts +26 -0
- package/dist/setup/scene.d.ts.map +1 -0
- package/dist/setup/scene.js +42 -0
- package/dist/setup/scene.js.map +1 -0
- package/dist/setup/status.d.ts +47 -0
- package/dist/setup/status.d.ts.map +1 -0
- package/dist/setup/status.js +68 -0
- package/dist/setup/status.js.map +1 -0
- package/dist/setup/steps.d.ts +66 -0
- package/dist/setup/steps.d.ts.map +1 -0
- package/dist/setup/steps.js +123 -0
- package/dist/setup/steps.js.map +1 -0
- package/dist/setup/template-list.d.ts +29 -0
- package/dist/setup/template-list.d.ts.map +1 -0
- package/dist/setup/template-list.js +187 -0
- package/dist/setup/template-list.js.map +1 -0
- package/dist/setup/template-receipt.d.ts +18 -0
- package/dist/setup/template-receipt.d.ts.map +1 -0
- package/dist/setup/template-receipt.js +93 -0
- package/dist/setup/template-receipt.js.map +1 -0
- package/dist/setup/template-wizard.d.ts +64 -0
- package/dist/setup/template-wizard.d.ts.map +1 -0
- package/dist/setup/template-wizard.js +233 -0
- package/dist/setup/template-wizard.js.map +1 -0
- package/dist/{policy → shared}/category.d.ts +0 -11
- package/dist/shared/category.d.ts.map +1 -0
- package/dist/{policy → shared}/category.js +15 -60
- package/dist/shared/category.js.map +1 -0
- package/dist/shared/commandSpec.d.ts +13 -10
- package/dist/shared/commandSpec.d.ts.map +1 -1
- package/dist/shared/copyArea.d.ts +15 -6
- package/dist/shared/copyArea.d.ts.map +1 -1
- package/dist/shared/copyArea.js +33 -14
- package/dist/shared/copyArea.js.map +1 -1
- package/dist/shared/dateRange.d.ts +31 -0
- package/dist/shared/dateRange.d.ts.map +1 -0
- package/dist/shared/dateRange.js +121 -0
- package/dist/shared/dateRange.js.map +1 -0
- package/dist/shared/docPage.d.ts +13 -1
- package/dist/shared/docPage.d.ts.map +1 -1
- package/dist/shared/docPage.js +65 -53
- package/dist/shared/docPage.js.map +1 -1
- package/dist/shared/kpi.d.ts +21 -0
- package/dist/shared/kpi.d.ts.map +1 -0
- package/dist/shared/kpi.js +20 -0
- package/dist/shared/kpi.js.map +1 -0
- package/dist/shared/pageIdentity.d.ts +11 -2
- package/dist/shared/pageIdentity.d.ts.map +1 -1
- package/dist/shared/pageIdentity.js +14 -2
- package/dist/shared/pageIdentity.js.map +1 -1
- package/dist/shared/pageSections.d.ts +23 -0
- package/dist/shared/pageSections.d.ts.map +1 -0
- package/dist/shared/pageSections.js +52 -0
- package/dist/shared/pageSections.js.map +1 -0
- package/dist/shared/pageShell.d.ts +2 -2
- package/dist/shared/pageShell.d.ts.map +1 -1
- package/dist/shared/pageShell.js +5 -10
- package/dist/shared/pageShell.js.map +1 -1
- package/dist/shared/params.d.ts +11 -0
- package/dist/shared/params.d.ts.map +1 -0
- package/dist/shared/params.js +60 -0
- package/dist/shared/params.js.map +1 -0
- package/dist/shared/sourceLine.d.ts +19 -0
- package/dist/shared/sourceLine.d.ts.map +1 -0
- package/dist/shared/sourceLine.js +52 -0
- package/dist/shared/sourceLine.js.map +1 -0
- package/dist/shared/writeParts.d.ts +5 -3
- package/dist/shared/writeParts.d.ts.map +1 -1
- package/dist/shared/writeParts.js.map +1 -1
- package/dist/triggers/routeSpec.d.ts +109 -0
- package/dist/triggers/routeSpec.d.ts.map +1 -0
- package/dist/triggers/routeSpec.js +19 -0
- package/dist/triggers/routeSpec.js.map +1 -0
- package/dist/triggers/wake-assets.d.ts +4 -26
- package/dist/triggers/wake-assets.d.ts.map +1 -1
- package/dist/triggers/wake-assets.js +52 -936
- package/dist/triggers/wake-assets.js.map +1 -1
- package/dist/triggers/wakeTable.d.ts +18 -0
- package/dist/triggers/wakeTable.d.ts.map +1 -0
- package/dist/triggers/wakeTable.js +135 -0
- package/dist/triggers/wakeTable.js.map +1 -0
- package/dist/write/blockedFold.d.ts +10 -0
- package/dist/write/blockedFold.d.ts.map +1 -0
- package/dist/write/blockedFold.js +31 -0
- package/dist/write/blockedFold.js.map +1 -0
- package/dist/{shared → write}/blockedSlots.d.ts +5 -2
- package/dist/write/blockedSlots.d.ts.map +1 -0
- package/dist/{shared → write}/blockedSlots.js +23 -17
- package/dist/write/blockedSlots.js.map +1 -0
- package/dist/write/candidatePick.d.ts.map +1 -0
- package/dist/{shared → write}/candidatePick.js +5 -4
- package/dist/write/candidatePick.js.map +1 -0
- package/dist/{record → write}/collect.d.ts +6 -4
- package/dist/write/collect.d.ts.map +1 -0
- package/dist/write/collect.js.map +1 -0
- package/dist/{record → write}/collectBody.d.ts +3 -3
- package/dist/write/collectBody.d.ts.map +1 -0
- package/dist/{record → write}/collectBody.js +13 -13
- package/dist/write/collectBody.js.map +1 -0
- package/dist/{shared → write}/collectFrame.d.ts +3 -1
- package/dist/{shared → write}/collectFrame.d.ts.map +1 -1
- package/dist/write/collectFrame.js +36 -0
- package/dist/write/collectFrame.js.map +1 -0
- package/dist/{record → write}/commands.d.ts +0 -1
- package/dist/write/commands.d.ts.map +1 -0
- package/dist/{record → write}/commands.js +0 -2
- package/dist/write/commands.js.map +1 -0
- package/dist/write/declaration.d.ts +9 -0
- package/dist/write/declaration.d.ts.map +1 -0
- package/dist/write/declaration.js +239 -0
- package/dist/write/declaration.js.map +1 -0
- package/dist/write/diffTable.d.ts.map +1 -0
- package/dist/{shared → write}/diffTable.js +2 -2
- package/dist/write/diffTable.js.map +1 -0
- package/dist/write/duplicateNote.d.ts.map +1 -0
- package/dist/{shared → write}/duplicateNote.js +14 -7
- package/dist/write/duplicateNote.js.map +1 -0
- package/dist/write/emptyNote.d.ts.map +1 -0
- package/dist/{shared → write}/emptyNote.js +2 -2
- package/dist/write/emptyNote.js.map +1 -0
- package/dist/{shared → write}/errorReceipt.d.ts +1 -1
- package/dist/write/errorReceipt.d.ts.map +1 -0
- package/dist/{shared → write}/errorReceipt.js +2 -2
- package/dist/write/errorReceipt.js.map +1 -0
- package/dist/write/flowSteps.d.ts.map +1 -0
- package/dist/{shared → write}/flowSteps.js +1 -1
- package/dist/write/flowSteps.js.map +1 -0
- package/dist/{record → write}/index.d.ts +7 -3
- package/dist/write/index.d.ts.map +1 -0
- package/dist/{record → write}/index.js +1 -0
- package/dist/write/index.js.map +1 -0
- package/dist/write/installmentPreview.d.ts.map +1 -0
- package/dist/{shared → write}/installmentPreview.js +3 -3
- package/dist/write/installmentPreview.js.map +1 -0
- package/dist/write/outsideScan.d.ts.map +1 -0
- package/dist/{shared → write}/outsideScan.js +7 -7
- package/dist/write/outsideScan.js.map +1 -0
- package/dist/write/pageParts.d.ts +69 -0
- package/dist/write/pageParts.d.ts.map +1 -0
- package/dist/write/pageParts.js +80 -0
- package/dist/write/pageParts.js.map +1 -0
- package/dist/write/photoEscape.d.ts.map +1 -0
- package/dist/{shared → write}/photoEscape.js +18 -16
- package/dist/write/photoEscape.js.map +1 -0
- package/dist/write/prefillNote.d.ts.map +1 -0
- package/dist/{shared → write}/prefillNote.js +8 -7
- package/dist/write/prefillNote.js.map +1 -0
- package/dist/{record → write}/receipt.d.ts +5 -3
- package/dist/write/receipt.d.ts.map +1 -0
- package/dist/write/receipt.js.map +1 -0
- package/dist/write/receiptBody.d.ts +10 -0
- package/dist/write/receiptBody.d.ts.map +1 -0
- package/dist/{record → write}/receiptBody.js +24 -25
- package/dist/write/receiptBody.js.map +1 -0
- package/dist/write/receiptOut.d.ts +14 -0
- package/dist/write/receiptOut.d.ts.map +1 -0
- package/dist/write/receiptOut.js +13 -0
- package/dist/write/receiptOut.js.map +1 -0
- package/dist/{shared → write}/receiptParts.d.ts +1 -1
- package/dist/write/receiptParts.d.ts.map +1 -0
- package/dist/{shared → write}/receiptParts.js +4 -4
- package/dist/write/receiptParts.js.map +1 -0
- package/dist/{shared → write}/recentPicks.d.ts +14 -6
- package/dist/write/recentPicks.d.ts.map +1 -0
- package/dist/write/recentPicks.js +65 -0
- package/dist/write/recentPicks.js.map +1 -0
- package/dist/write/record.d.ts +13 -0
- package/dist/write/record.d.ts.map +1 -0
- package/dist/write/record.js +46 -0
- package/dist/write/record.js.map +1 -0
- package/dist/write/recordPicker.d.ts.map +1 -0
- package/dist/{shared → write}/recordPicker.js +4 -4
- package/dist/write/recordPicker.js.map +1 -0
- package/dist/write/rowEditorTable.d.ts.map +1 -0
- package/dist/{shared → write}/rowEditorTable.js +1 -1
- package/dist/write/rowEditorTable.js.map +1 -0
- package/dist/write/scene-batch.d.ts.map +1 -0
- package/dist/write/scene-batch.js +37 -0
- package/dist/write/scene-batch.js.map +1 -0
- package/dist/write/scene-borrow.d.ts.map +1 -0
- package/dist/write/scene-borrow.js +166 -0
- package/dist/write/scene-borrow.js.map +1 -0
- package/dist/write/scene-collect.d.ts.map +1 -0
- package/dist/write/scene-collect.js +155 -0
- package/dist/write/scene-collect.js.map +1 -0
- package/dist/write/scene-expense.d.ts.map +1 -0
- package/dist/write/scene-expense.js +50 -0
- package/dist/write/scene-expense.js.map +1 -0
- package/dist/write/scene-income.d.ts.map +1 -0
- package/dist/write/scene-income.js +51 -0
- package/dist/write/scene-income.js.map +1 -0
- package/dist/write/scene-installment.d.ts.map +1 -0
- package/dist/write/scene-installment.js +52 -0
- package/dist/write/scene-installment.js.map +1 -0
- package/dist/write/scene-lend.d.ts.map +1 -0
- package/dist/write/scene-lend.js +165 -0
- package/dist/write/scene-lend.js.map +1 -0
- package/dist/write/scene-photo.d.ts.map +1 -0
- package/dist/write/scene-photo.js +108 -0
- package/dist/write/scene-photo.js.map +1 -0
- package/dist/write/scene-plain.d.ts.map +1 -0
- package/dist/write/scene-plain.js +52 -0
- package/dist/write/scene-plain.js.map +1 -0
- package/dist/write/scene-refund.d.ts.map +1 -0
- package/dist/write/scene-refund.js +139 -0
- package/dist/write/scene-refund.js.map +1 -0
- package/dist/write/scene-reimburse-done.d.ts.map +1 -0
- package/dist/write/scene-reimburse-done.js +151 -0
- package/dist/write/scene-reimburse-done.js.map +1 -0
- package/dist/write/scene-reimburse.d.ts.map +1 -0
- package/dist/write/scene-reimburse.js +65 -0
- package/dist/write/scene-reimburse.js.map +1 -0
- package/dist/write/scene-repay.d.ts.map +1 -0
- package/dist/write/scene-repay.js +155 -0
- package/dist/write/scene-repay.js.map +1 -0
- package/dist/write/scene-restore.d.ts.map +1 -0
- package/dist/write/scene-restore.js +59 -0
- package/dist/write/scene-restore.js.map +1 -0
- package/dist/write/scene-undo.d.ts.map +1 -0
- package/dist/write/scene-undo.js +57 -0
- package/dist/write/scene-undo.js.map +1 -0
- package/dist/write/scene-update.d.ts.map +1 -0
- package/dist/write/scene-update.js +57 -0
- package/dist/write/scene-update.js.map +1 -0
- package/dist/{record → write}/scene.d.ts +16 -9
- package/dist/write/scene.d.ts.map +1 -0
- package/dist/{record → write}/scene.js +6 -1
- package/dist/write/scene.js.map +1 -0
- package/dist/write/slots.d.ts.map +1 -0
- package/dist/{record → write}/slots.js +9 -8
- package/dist/{record → write}/slots.js.map +1 -1
- package/dist/write/sourceNote.d.ts +5 -0
- package/dist/write/sourceNote.d.ts.map +1 -0
- package/dist/write/sourceNote.js +37 -0
- package/dist/write/sourceNote.js.map +1 -0
- package/dist/write/summaryRow.d.ts.map +1 -0
- package/dist/{shared → write}/summaryRow.js +11 -7
- package/dist/write/summaryRow.js.map +1 -0
- package/dist/write/template-batch.d.ts +37 -0
- package/dist/write/template-batch.d.ts.map +1 -0
- package/dist/write/template-batch.js +212 -0
- package/dist/write/template-batch.js.map +1 -0
- package/dist/write/template-expense.d.ts +96 -0
- package/dist/write/template-expense.d.ts.map +1 -0
- package/dist/write/template-expense.js +220 -0
- package/dist/write/template-expense.js.map +1 -0
- package/dist/write/template-flow.d.ts +130 -0
- package/dist/write/template-flow.d.ts.map +1 -0
- package/dist/write/template-flow.js +225 -0
- package/dist/write/template-flow.js.map +1 -0
- package/dist/write/template-installment.d.ts +69 -0
- package/dist/write/template-installment.d.ts.map +1 -0
- package/dist/write/template-installment.js +240 -0
- package/dist/write/template-installment.js.map +1 -0
- package/dist/write/template-update.d.ts +83 -0
- package/dist/write/template-update.d.ts.map +1 -0
- package/dist/write/template-update.js +268 -0
- package/dist/write/template-update.js.map +1 -0
- package/dist/{shared → write}/typeBadge.d.ts +9 -2
- package/dist/write/typeBadge.d.ts.map +1 -0
- package/dist/{shared → write}/typeBadge.js +16 -8
- package/dist/write/typeBadge.js.map +1 -0
- package/dist/{shared → write}/userWording.d.ts +2 -24
- package/dist/write/userWording.d.ts.map +1 -0
- package/dist/{shared → write}/userWording.js +12 -22
- package/dist/write/userWording.js.map +1 -0
- package/dist/write/write.d.ts.map +1 -0
- package/dist/{record → write}/write.js +7 -7
- package/dist/write/write.js.map +1 -0
- package/dist/{help → write}/writeWire.d.ts +1 -1
- package/dist/{help → write}/writeWire.d.ts.map +1 -1
- package/dist/{help → write}/writeWire.js +3 -3
- package/dist/write/writeWire.js.map +1 -0
- package/package.json +3 -3
- package/dist/help/writeWire.js.map +0 -1
- package/dist/policy/accounts.d.ts +0 -13
- package/dist/policy/accounts.d.ts.map +0 -1
- package/dist/policy/accounts.js +0 -31
- package/dist/policy/accounts.js.map +0 -1
- package/dist/policy/analysis.d.ts.map +0 -1
- package/dist/policy/analysis.js.map +0 -1
- package/dist/policy/category.d.ts.map +0 -1
- package/dist/policy/category.js.map +0 -1
- package/dist/policy/goals.d.ts +0 -15
- package/dist/policy/goals.d.ts.map +0 -1
- package/dist/policy/goals.js +0 -33
- package/dist/policy/goals.js.map +0 -1
- package/dist/policy/index.d.ts +0 -13
- package/dist/policy/index.d.ts.map +0 -1
- package/dist/policy/index.js +0 -7
- package/dist/policy/index.js.map +0 -1
- package/dist/policy/record.d.ts +0 -27
- package/dist/policy/record.d.ts.map +0 -1
- package/dist/policy/record.js +0 -89
- package/dist/policy/record.js.map +0 -1
- package/dist/policy/wakewords.d.ts +0 -18
- package/dist/policy/wakewords.d.ts.map +0 -1
- package/dist/policy/wakewords.js +0 -126
- package/dist/policy/wakewords.js.map +0 -1
- package/dist/record/collect.d.ts.map +0 -1
- package/dist/record/collect.js.map +0 -1
- package/dist/record/collectBody.d.ts.map +0 -1
- package/dist/record/collectBody.js.map +0 -1
- package/dist/record/commands.d.ts.map +0 -1
- package/dist/record/commands.js.map +0 -1
- package/dist/record/index.d.ts.map +0 -1
- package/dist/record/index.js.map +0 -1
- package/dist/record/receipt.d.ts.map +0 -1
- package/dist/record/receipt.js.map +0 -1
- package/dist/record/receiptBody.d.ts +0 -5
- package/dist/record/receiptBody.d.ts.map +0 -1
- package/dist/record/receiptBody.js.map +0 -1
- package/dist/record/scene-batch.d.ts.map +0 -1
- package/dist/record/scene-batch.js +0 -211
- package/dist/record/scene-batch.js.map +0 -1
- package/dist/record/scene-borrow.d.ts.map +0 -1
- package/dist/record/scene-borrow.js +0 -285
- package/dist/record/scene-borrow.js.map +0 -1
- package/dist/record/scene-collect.d.ts.map +0 -1
- package/dist/record/scene-collect.js +0 -294
- package/dist/record/scene-collect.js.map +0 -1
- package/dist/record/scene-expense.d.ts.map +0 -1
- package/dist/record/scene-expense.js +0 -21
- package/dist/record/scene-expense.js.map +0 -1
- package/dist/record/scene-income.d.ts.map +0 -1
- package/dist/record/scene-income.js +0 -219
- package/dist/record/scene-income.js.map +0 -1
- package/dist/record/scene-installment.d.ts.map +0 -1
- package/dist/record/scene-installment.js +0 -248
- package/dist/record/scene-installment.js.map +0 -1
- package/dist/record/scene-lend.d.ts.map +0 -1
- package/dist/record/scene-lend.js +0 -273
- package/dist/record/scene-lend.js.map +0 -1
- package/dist/record/scene-photo.d.ts.map +0 -1
- package/dist/record/scene-photo.js +0 -262
- package/dist/record/scene-photo.js.map +0 -1
- package/dist/record/scene-plain.d.ts.map +0 -1
- package/dist/record/scene-plain.js +0 -221
- package/dist/record/scene-plain.js.map +0 -1
- package/dist/record/scene-refund.d.ts.map +0 -1
- package/dist/record/scene-refund.js +0 -281
- package/dist/record/scene-refund.js.map +0 -1
- package/dist/record/scene-reimburse-done.d.ts.map +0 -1
- package/dist/record/scene-reimburse-done.js +0 -288
- package/dist/record/scene-reimburse-done.js.map +0 -1
- package/dist/record/scene-reimburse.d.ts.map +0 -1
- package/dist/record/scene-reimburse.js +0 -224
- package/dist/record/scene-reimburse.js.map +0 -1
- package/dist/record/scene-repay.d.ts.map +0 -1
- package/dist/record/scene-repay.js +0 -294
- package/dist/record/scene-repay.js.map +0 -1
- package/dist/record/scene-restore.d.ts.map +0 -1
- package/dist/record/scene-restore.js +0 -250
- package/dist/record/scene-restore.js.map +0 -1
- package/dist/record/scene-undo.d.ts.map +0 -1
- package/dist/record/scene-undo.js +0 -262
- package/dist/record/scene-undo.js.map +0 -1
- package/dist/record/scene-update.d.ts.map +0 -1
- package/dist/record/scene-update.js +0 -249
- package/dist/record/scene-update.js.map +0 -1
- package/dist/record/scene.d.ts.map +0 -1
- package/dist/record/scene.js.map +0 -1
- package/dist/record/slots.d.ts.map +0 -1
- package/dist/record/write.d.ts.map +0 -1
- package/dist/record/write.js.map +0 -1
- package/dist/render/helpFile.d.ts.map +0 -1
- package/dist/render/helpFile.js.map +0 -1
- package/dist/render/helpPaths.d.ts +0 -19
- package/dist/render/helpPaths.d.ts.map +0 -1
- package/dist/render/helpPaths.js +0 -19
- package/dist/render/helpPaths.js.map +0 -1
- package/dist/render/views.d.ts +0 -64
- package/dist/render/views.d.ts.map +0 -1
- package/dist/render/views.js.map +0 -1
- package/dist/shared/blockedSlots.d.ts.map +0 -1
- package/dist/shared/blockedSlots.js.map +0 -1
- package/dist/shared/candidatePick.d.ts.map +0 -1
- package/dist/shared/candidatePick.js.map +0 -1
- package/dist/shared/collectFrame.js +0 -34
- package/dist/shared/collectFrame.js.map +0 -1
- package/dist/shared/diffTable.d.ts.map +0 -1
- package/dist/shared/diffTable.js.map +0 -1
- package/dist/shared/duplicateNote.d.ts.map +0 -1
- package/dist/shared/duplicateNote.js.map +0 -1
- package/dist/shared/emptyNote.d.ts.map +0 -1
- package/dist/shared/emptyNote.js.map +0 -1
- package/dist/shared/errorReceipt.d.ts.map +0 -1
- package/dist/shared/errorReceipt.js.map +0 -1
- package/dist/shared/flowSteps.d.ts.map +0 -1
- package/dist/shared/flowSteps.js.map +0 -1
- package/dist/shared/installmentPreview.d.ts.map +0 -1
- package/dist/shared/installmentPreview.js.map +0 -1
- package/dist/shared/outsideScan.d.ts.map +0 -1
- package/dist/shared/outsideScan.js.map +0 -1
- package/dist/shared/photoEscape.d.ts.map +0 -1
- package/dist/shared/photoEscape.js.map +0 -1
- package/dist/shared/prefillNote.d.ts.map +0 -1
- package/dist/shared/prefillNote.js.map +0 -1
- package/dist/shared/receiptParts.d.ts.map +0 -1
- package/dist/shared/receiptParts.js.map +0 -1
- package/dist/shared/recentPicks.d.ts.map +0 -1
- package/dist/shared/recentPicks.js +0 -41
- package/dist/shared/recentPicks.js.map +0 -1
- package/dist/shared/recordPicker.d.ts.map +0 -1
- package/dist/shared/recordPicker.js.map +0 -1
- package/dist/shared/rowEditorTable.d.ts.map +0 -1
- package/dist/shared/rowEditorTable.js.map +0 -1
- package/dist/shared/summaryRow.d.ts.map +0 -1
- package/dist/shared/summaryRow.js.map +0 -1
- package/dist/shared/typeBadge.d.ts.map +0 -1
- package/dist/shared/typeBadge.js.map +0 -1
- package/dist/shared/userWording.d.ts.map +0 -1
- package/dist/shared/userWording.js.map +0 -1
- /package/dist/{shared → write}/candidatePick.d.ts +0 -0
- /package/dist/{record → write}/collect.js +0 -0
- /package/dist/{shared → write}/diffTable.d.ts +0 -0
- /package/dist/{shared → write}/duplicateNote.d.ts +0 -0
- /package/dist/{shared → write}/emptyNote.d.ts +0 -0
- /package/dist/{shared → write}/flowSteps.d.ts +0 -0
- /package/dist/{shared → write}/installmentPreview.d.ts +0 -0
- /package/dist/{shared → write}/outsideScan.d.ts +0 -0
- /package/dist/{shared → write}/photoEscape.d.ts +0 -0
- /package/dist/{shared → write}/prefillNote.d.ts +0 -0
- /package/dist/{record → write}/receipt.js +0 -0
- /package/dist/{shared → write}/recordPicker.d.ts +0 -0
- /package/dist/{shared → write}/rowEditorTable.d.ts +0 -0
- /package/dist/{record → write}/scene-batch.d.ts +0 -0
- /package/dist/{record → write}/scene-borrow.d.ts +0 -0
- /package/dist/{record → write}/scene-collect.d.ts +0 -0
- /package/dist/{record → write}/scene-expense.d.ts +0 -0
- /package/dist/{record → write}/scene-income.d.ts +0 -0
- /package/dist/{record → write}/scene-installment.d.ts +0 -0
- /package/dist/{record → write}/scene-lend.d.ts +0 -0
- /package/dist/{record → write}/scene-photo.d.ts +0 -0
- /package/dist/{record → write}/scene-plain.d.ts +0 -0
- /package/dist/{record → write}/scene-refund.d.ts +0 -0
- /package/dist/{record → write}/scene-reimburse-done.d.ts +0 -0
- /package/dist/{record → write}/scene-reimburse.d.ts +0 -0
- /package/dist/{record → write}/scene-repay.d.ts +0 -0
- /package/dist/{record → write}/scene-restore.d.ts +0 -0
- /package/dist/{record → write}/scene-undo.d.ts +0 -0
- /package/dist/{record → write}/scene-update.d.ts +0 -0
- /package/dist/{record → write}/slots.d.ts +0 -0
- /package/dist/{shared → write}/summaryRow.d.ts +0 -0
- /package/dist/{record → write}/write.d.ts +0 -0
package/dist/shared/copyArea.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** 复制与提示共用件:复制 prompt 区、复制区(数据位+日志位)、复制日志的入参。
|
|
2
2
|
*
|
|
3
3
|
* 谁在用(两个能力,指名):
|
|
4
|
-
* ① `src/
|
|
4
|
+
* ① `src/write/`——写入域:过程型采集页(复制 prompt 区 + 复制数据/日志)与结果型回执整页(复制数据/日志);
|
|
5
5
|
* ② `src/query/`——查询域:通用查询列表页的复制数据/日志两条通道(不设 prompt 区——查询不写库,没有要交回助手的一句)。
|
|
6
6
|
* (写域 32 份产物按本件的字面量冻结,查询域只引用、不改这里的任何一句。)
|
|
7
7
|
*
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* - 日志第 3 段的库文件名**由调用方给**(`CopyLogInput.source`),共用件不取本包文件名
|
|
19
19
|
* (`docs/skills/skill-bill/t406-共用件依赖与提升改造清单.md` 第二节 `DB_FILENAME` 行)。
|
|
20
20
|
*/
|
|
21
|
+
import { renderStatusBadge } from 'base-paint';
|
|
21
22
|
import { renderCaliberLine, renderCopyBlock, renderEmptyBlock, renderPreBlock } from 'base-paint/blocks';
|
|
22
23
|
import { buildDataText, buildLogText } from 'base-paint';
|
|
23
24
|
/** 日志第 2 段(助手思考链):本仓页面一律由本地 CLI 渲染,不落 `(未知)` 占位。 */
|
|
@@ -27,7 +28,7 @@ const LOG_EXCEPTION = '无';
|
|
|
27
28
|
/** 复制区空态缺省句(三样全没给时出这一句、不出按钮——点了没反应的死按钮就是问题)。 */
|
|
28
29
|
const COPY_EMPTY_TEXT = '本页没有可复制的数据';
|
|
29
30
|
/** 本次执行时刻串(页面入参 `actionAt`/回执事实 `actionAt` 的**唯一定义地**):本地时钟 `YYYY-MM-DD HH:MM:SS`。
|
|
30
|
-
* 写域与查询域两张页都读它——搬迁前它分别是 `src/
|
|
31
|
+
* 写域与查询域两张页都读它——搬迁前它分别是 `src/write/write.ts` 的文件级函数与查询域现取的钟,
|
|
31
32
|
* 第二个用法(查询域列表页,票 #411)长出来之后收成这一处;**取时钟仍在各域处理体那一步调它**,
|
|
32
33
|
* 共用位不自己在模块顶层取时钟(那样一次调用两次读数会不一致)。 */
|
|
33
34
|
export function actionStamp() {
|
|
@@ -41,6 +42,15 @@ const MENU_HINTS = ['纯文本 粘贴给助手或自己看', 'JSON 结构化存
|
|
|
41
42
|
* (总则②:写清这块复制走给谁;仍含老字串,护栏不断言全等只认包含)。 */
|
|
42
43
|
const PROMPT_COPY_ACTION = 'ilife-copy-prompt';
|
|
43
44
|
const PROMPT_COPY_HINT = '复制给助手:这一句可以直接复制';
|
|
45
|
+
/** 页上那一行可见文本(#728 第二轮)。**prompt 原文不再摊在页面上。**
|
|
46
|
+
*
|
|
47
|
+
* 维护者 2026-09-19 逐字:「这个模板不应该把 prompt 内容给用户看,太繁杂了」。
|
|
48
|
+
* 实测那一块把整套模板平铺出来(`唤醒词:记分期` + `总额:<总额>` 这类尖括号占位符 +
|
|
49
|
+
* 缺项逐条「没给:分期由用户定,不许默认」),390 档占三百多像素高;而 `唤醒词`/尖括号
|
|
50
|
+
* 占位符/「逐项补齐」都是**给助手看的实现词汇**,本不该上用户的屏(本仓「区外内部话」那条)。
|
|
51
|
+
* 改法:页上只留一句人话;**原文一字不改地走 `copyText` 进复制载荷**——
|
|
52
|
+
* 复制得到的还是原来那一整段,载荷文本没动。 */
|
|
53
|
+
const PROMPT_PREVIEW = '点右边的按钮复制,发给助手就行。';
|
|
44
54
|
/** ① 复制 prompt 区:prompt 预览(`renderPreBlock`)+ 它自带的复制按钮。
|
|
45
55
|
* **`actionId` 必给**:公共层的 `renderPreBlock` 只在给了 `actionId` 时才渲染复制按钮
|
|
46
56
|
* (`packages/base-render/src/blocks.ts:729-736`),只给 `copyText` 会出一个「写着复制、其实没有按钮」的
|
|
@@ -50,7 +60,7 @@ export function promptCopyArea(prompt, label) {
|
|
|
50
60
|
const heading = label === undefined ? PROMPT_COPY_HINT : label;
|
|
51
61
|
return renderPreBlock({
|
|
52
62
|
...(heading === null ? {} : { label: heading }),
|
|
53
|
-
command:
|
|
63
|
+
command: PROMPT_PREVIEW,
|
|
54
64
|
actionId: PROMPT_COPY_ACTION,
|
|
55
65
|
copyText: prompt,
|
|
56
66
|
copyLabel: PROMPT_COPY_HINT,
|
|
@@ -105,18 +115,27 @@ export function copyLog(input) {
|
|
|
105
115
|
}
|
|
106
116
|
/** 退出口那枚危险色出口标记的动作号。**故意不绑动作**:动作条场景按钮不带 `data-t`,点了不复制也不写库。 */
|
|
107
117
|
const EXIT_MARK_ACTION = 'ilife-exit-undo';
|
|
108
|
-
/** 退出口的标题与说明(本轮整改:`危险色出口` 是设计自指词,`restore` 是内部词,都不上屏)。
|
|
118
|
+
/** 退出口的标题与说明(本轮整改:`危险色出口` 是设计自指词,`restore` 是内部词,都不上屏)。
|
|
119
|
+
* t728:两句之间的 `;` 换成句号——分号在这里不是并列,是把两件事挤进一句的排版手法
|
|
120
|
+
* (用户逐字要求 5 点名的那类);拆成两句之后读法仍是「怎么做」+「撤销之后会怎样」。 */
|
|
109
121
|
const EXIT_TITLE = '想反悔(撤销这一笔)';
|
|
110
|
-
const EXIT_NOTE = '
|
|
111
|
-
/** ④
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
122
|
+
const EXIT_NOTE = '要撤销这一笔,点下面那颗「复制数据」,里面带着一句撤销的话。撤销之后记录还在,随时可以恢复。';
|
|
123
|
+
/** ④ 回执页退出口:**一枚非交互的 danger 标记 + 一句指路**(#733 改)。
|
|
124
|
+
*
|
|
125
|
+
* 改前这里是一颗 `kind: 'red'` 的 `<button>`(`data-action-id="ilife-exit-undo"`,**故意不带 `data-t`**),
|
|
126
|
+
* 而产物内联委派的第二道 `getAttribute('data-t') === null → return` 就早退 ⇒ **点了零动作、零反馈**;
|
|
127
|
+
* 1280 档它还是整页唯一一块 878×44 的满列实心高饱和红(最响的一块却不响应),
|
|
128
|
+
* 而正下方那行口径又写着「点下面那颗『复制数据』」——同屏两句互相否定(15 张回执页全中,逐页复现过)。
|
|
129
|
+
*
|
|
130
|
+
* 改法=**照它本来的身份办**:它是一件「标记」,不是一颗按钮。现在渲染成
|
|
131
|
+
* `renderStatusBadge(status:'danger')` 的一枚红胶囊(一眼就知道不是可点控件)+ 那句指路口径。
|
|
132
|
+
* 顺带收掉两样债:① 满列红块没了(判据里的「整页最响的一块」);② `docPage.ts` 里那条
|
|
133
|
+
* 专为「单钮独占整行」写的补丁(`EXIT_CSS`)随之失效,一并删掉。
|
|
134
|
+
*
|
|
135
|
+
* 为什么不做成「真能点」:本页下面复制区那颗「复制数据」的载荷里**已经带着**可重跑的撤销指令,
|
|
136
|
+
* 退出口再给一颗同样功能的按钮,就是同一件事两颗按钮(t410 拆掉过一次,不该拆回去)。 */
|
|
116
137
|
export function undoExit(recordId) {
|
|
117
|
-
return
|
|
118
|
-
|
|
119
|
-
buttons: [{ label: '↩︎ 撤销这一笔', kind: 'red', actionId: EXIT_MARK_ACTION }],
|
|
120
|
-
}) + renderCaliberLine(EXIT_NOTE + '(记录编号 ' + recordId + ')');
|
|
138
|
+
return renderStatusBadge({ status: 'danger', text: EXIT_TITLE })
|
|
139
|
+
+ renderCaliberLine(EXIT_NOTE + '(记录编号 ' + recordId + ')');
|
|
121
140
|
}
|
|
122
141
|
//# sourceMappingURL=copyArea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copyArea.js","sourceRoot":"","sources":["../../src/shared/copyArea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGzD,oDAAoD;AACpD,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,4BAA4B;AAC5B,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,gDAAgD;AAChD,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC;;;sCAGsC;AACtC,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,CAAC;AACD;2CAC2C;AAC3C,MAAM,UAAU,GAAsB,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AA4BlF;;yCAEyC;AACzC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAC/C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C;;;;0DAI0D;AAC1D,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,KAAqB;IAClE,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/D,OAAO,cAAc,CAAC;QACpB,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"copyArea.js","sourceRoot":"","sources":["../../src/shared/copyArea.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGzD,oDAAoD;AACpD,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,4BAA4B;AAC5B,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,gDAAgD;AAChD,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC;;;sCAGsC;AACtC,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,CAAC;AACD;2CAC2C;AAC3C,MAAM,UAAU,GAAsB,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AA4BlF;;yCAEyC;AACzC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAC/C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C;;;;;;;4BAO4B;AAC5B,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAE1C;;;;0DAI0D;AAC1D,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,KAAqB;IAClE,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/D,OAAO,cAAc,CAAC;QACpB,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC/C,OAAO,EAAE,cAAc;QACvB,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC,CAAC;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,IAAI,eAAe,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;oEAEoE;AACpE,SAAS,SAAS,CAAC,IAAmB;IAMpC,MAAM,KAAK,GAAG,OAAQ,IAA4B,CAAC,KAAK,KAAK,QAAQ;WAChE,CAAE,IAA2B,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAC3D,CAAC,CAAE,IAA0B,CAAC,KAAK;QACnC,CAAC,CAAC,MAAM,CAAC;IACX,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACvD,IAAI,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChD,GAAG,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC9C,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,aAAa,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;QACjG,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM;QACnH,SAAS,EAAE,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC,OAAO;QAC3H,SAAS,EAAE,aAAa;KACzB,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAC3C;;kDAEkD;AAClD,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,SAAS,GAAG,gDAAgD,CAAC;AAEnE;;;;;;;;;;;;;mDAamD;AACnD,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACvC,OAAO,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;UAC5D,iBAAiB,CAAC,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** 只给日期不给时分秒时的缺省时刻(**唯一定义地**):`validateTime` 补出整串,页面侧的预填标注引这一份。
|
|
2
|
+
* 改这一条就是改全仓的缺省时刻,别处不得再写第二份 `12:00:00` 字面量。 */
|
|
3
|
+
export declare const DEFAULT_TIME_SUFFIX = "12:00:00";
|
|
4
|
+
/** 缺省时刻的整串形态:`YYYY-MM-DD` + 上面那份(页面文案与库内取值同一句)。 */
|
|
5
|
+
export declare function defaultTimeOn(date: string): string;
|
|
6
|
+
export declare const DATETIME_RE: RegExp;
|
|
7
|
+
export declare const DATE_RE: RegExp;
|
|
8
|
+
export declare const MONTH_RE: RegExp;
|
|
9
|
+
export declare function validateTime(raw: unknown): string;
|
|
10
|
+
export declare function normalizeDate(d: unknown, field?: string): string;
|
|
11
|
+
export declare function normalizeMonth(m: unknown, field?: string): string;
|
|
12
|
+
/** 查询某天的入参:不给/给空=今天(UTC 日);给了就归一(`YYYY-MM-DD` 三种写法都认)。 */
|
|
13
|
+
export declare function resolveQueryDate(params: Record<string, unknown>): string;
|
|
14
|
+
/** 区间的入参:`start`/`end` 同给;缺一即缺槽位阻断,起点晚于终点阻断。 */
|
|
15
|
+
export declare function resolveRange(params: Record<string, unknown>): {
|
|
16
|
+
start: string;
|
|
17
|
+
end: string;
|
|
18
|
+
};
|
|
19
|
+
/** 某个月的起止日(`YYYY-MM` → 该月 1 号到月末)。 */
|
|
20
|
+
export declare function monthRange(month: string): {
|
|
21
|
+
start: string;
|
|
22
|
+
end: string;
|
|
23
|
+
};
|
|
24
|
+
/** 昨天(本地日期串 `YYYY-MM-DD`)。 */
|
|
25
|
+
export declare function yesterdayStr(): string;
|
|
26
|
+
/** 本周(周一为第一天)的起止日。 */
|
|
27
|
+
export declare function weekRange(): {
|
|
28
|
+
start: string;
|
|
29
|
+
end: string;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=dateRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateRange.d.ts","sourceRoot":"","sources":["../../src/shared/dateRange.ts"],"names":[],"mappings":"AAiBA;+CAC+C;AAC/C,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,eAAO,MAAM,WAAW,QAA2D,CAAC;AACpF,eAAO,MAAM,OAAO,QAAwB,CAAC;AAC7C,eAAO,MAAM,QAAQ,QAA4B,CAAC;AAQlD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAajD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,SAAS,GAAG,MAAM,CAUhE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,SAAU,GAAG,MAAM,CAKlE;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMxE;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAQ5F;AAOD,sCAAsC;AACtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAKxE;AAED,8BAA8B;AAC9B,wBAAgB,YAAY,IAAI,MAAM,CAIrC;AAED,sBAAsB;AACtB,wBAAgB,SAAS,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAM1D"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/** 共用位·日期与时间窗口口径(#689 结构搬迁第三批):从 `src/policy/category.ts` 的日期函数
|
|
2
|
+
* + `src/policy/record.ts` 的日期与时间窗口两半合并而来——**一件一处**:日期串的归一、月份串的归一、
|
|
3
|
+
* 时刻的补齐,以及「某天/某周/某月/某区间」这些窗口算式都只在这里写一遍。
|
|
4
|
+
*
|
|
5
|
+
* 谁在用(指名,路径随 #689 搬迁改成新家):
|
|
6
|
+
* · `src/write/`——`record.ts`(`validateUpdateInput` 的 `validateTime`)·
|
|
7
|
+
* `prefillNote.ts`/`summaryRow.ts`(`DEFAULT_TIME_SUFFIX`/`defaultTimeOn`);
|
|
8
|
+
* · `src/query/read.ts`——查今天/查昨天(`resolveQueryDate`/`yesterdayStr`)、查区间(`resolveRange`)、
|
|
9
|
+
* 锚点归一(`normalizeDate`);
|
|
10
|
+
* · `src/analysis/`——`needMonth`/`needRange` 的 `normalizeMonth`/`normalizeDate`;
|
|
11
|
+
* · `src/goal/`——预算月份与目标截止日(`normalizeMonth`/`normalizeDate`);
|
|
12
|
+
* · `src/cli/cmd_read.ts`——未迁移的 analysis/goal 两族分支的 `monthRange`/`resolveRange`(外壳);
|
|
13
|
+
* · `src/shared/category.ts`——`validateRecord` 补时刻(`defaultTimeOn`/`validateTime`)。
|
|
14
|
+
* 两域以上在用它 ⇒ 住共用位(归属律 2)。日期函数**不是**按「单消费者」判的:它们是同一条口径的整族
|
|
15
|
+
* (`validateTime` 补出 `DEFAULT_TIME_SUFFIX`,页面侧预填标注引同一份),拆开就会各写一份时刻字面量。 */
|
|
16
|
+
import { BillPolicyError } from '../fetch/errors.js';
|
|
17
|
+
/** 只给日期不给时分秒时的缺省时刻(**唯一定义地**):`validateTime` 补出整串,页面侧的预填标注引这一份。
|
|
18
|
+
* 改这一条就是改全仓的缺省时刻,别处不得再写第二份 `12:00:00` 字面量。 */
|
|
19
|
+
export const DEFAULT_TIME_SUFFIX = '12:00:00';
|
|
20
|
+
/** 缺省时刻的整串形态:`YYYY-MM-DD` + 上面那份(页面文案与库内取值同一句)。 */
|
|
21
|
+
export function defaultTimeOn(date) {
|
|
22
|
+
return date + ' ' + DEFAULT_TIME_SUFFIX;
|
|
23
|
+
}
|
|
24
|
+
export const DATETIME_RE = /^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/;
|
|
25
|
+
export const DATE_RE = /^\d{4}-\d{2}-\d{2}$/;
|
|
26
|
+
export const MONTH_RE = /^\d{4}-(0[1-9]|1[0-2])$/;
|
|
27
|
+
function realDate(y, m, d) {
|
|
28
|
+
const dt = new Date(y, m - 1, d);
|
|
29
|
+
return dt.getFullYear() === y && dt.getMonth() === m - 1 && dt.getDate() === d;
|
|
30
|
+
}
|
|
31
|
+
// 时间:YYYY-MM-DD HH:mm:ss 或 YYYY-MM-DD(补 12:00:00);非法阻断。
|
|
32
|
+
export function validateTime(raw) {
|
|
33
|
+
if (typeof raw !== 'string' || raw.trim().length === 0) {
|
|
34
|
+
throw new BillPolicyError('POLICY_BAD_TIME', 'time 不能为空');
|
|
35
|
+
}
|
|
36
|
+
const s = raw.trim().replace(/\//g, '-');
|
|
37
|
+
const m = DATETIME_RE.exec(s);
|
|
38
|
+
if (!m)
|
|
39
|
+
throw new BillPolicyError('POLICY_BAD_TIME', 'time 格式非法');
|
|
40
|
+
const y = Number(m[1]);
|
|
41
|
+
const mo = Number(m[2]);
|
|
42
|
+
const d = Number(m[3]);
|
|
43
|
+
if (!realDate(y, mo, d))
|
|
44
|
+
throw new BillPolicyError('POLICY_BAD_TIME', 'time 非真实日期');
|
|
45
|
+
if (m[4] === undefined)
|
|
46
|
+
return defaultTimeOn(s);
|
|
47
|
+
const hh = Number(m[4]);
|
|
48
|
+
const mm = Number(m[5]);
|
|
49
|
+
const ss = Number(m[6]);
|
|
50
|
+
if (hh > 23 || mm > 59 || ss > 59)
|
|
51
|
+
throw new BillPolicyError('POLICY_BAD_TIME', 'time 时分秒非法');
|
|
52
|
+
return s;
|
|
53
|
+
}
|
|
54
|
+
export function normalizeDate(d, field = 'date') {
|
|
55
|
+
if (typeof d !== 'string' || d.trim().length === 0) {
|
|
56
|
+
throw new BillPolicyError('POLICY_BAD_TIME', field + ' 须为日期字符串');
|
|
57
|
+
}
|
|
58
|
+
let s = d.trim().replace(/\//g, '-').replace(/\./g, '-');
|
|
59
|
+
if (/^\d{8}$/.test(s))
|
|
60
|
+
s = s.slice(0, 4) + '-' + s.slice(4, 6) + '-' + s.slice(6);
|
|
61
|
+
if (!DATE_RE.test(s))
|
|
62
|
+
throw new BillPolicyError('POLICY_BAD_TIME', field + ' 格式非法');
|
|
63
|
+
const parts2 = s.split('-').map(Number);
|
|
64
|
+
if (!realDate(parts2[0], parts2[1], parts2[2]))
|
|
65
|
+
throw new BillPolicyError('POLICY_BAD_TIME', field + ' 非真实日期');
|
|
66
|
+
return s;
|
|
67
|
+
}
|
|
68
|
+
export function normalizeMonth(m, field = 'month') {
|
|
69
|
+
if (typeof m !== 'string' || !MONTH_RE.test(m.trim())) {
|
|
70
|
+
throw new BillPolicyError('POLICY_BAD_TIME', field + ' 格式非法');
|
|
71
|
+
}
|
|
72
|
+
return m.trim();
|
|
73
|
+
}
|
|
74
|
+
/** 查询某天的入参:不给/给空=今天(UTC 日);给了就归一(`YYYY-MM-DD` 三种写法都认)。 */
|
|
75
|
+
export function resolveQueryDate(params) {
|
|
76
|
+
if (params.date === undefined || params.date === null || params.date === '') {
|
|
77
|
+
return new Date().toISOString().slice(0, 10);
|
|
78
|
+
}
|
|
79
|
+
if (typeof params.date !== 'string')
|
|
80
|
+
throw new BillPolicyError('POLICY_BAD_TIME', 'date 须为字符串');
|
|
81
|
+
return normalizeDate(params.date);
|
|
82
|
+
}
|
|
83
|
+
/** 区间的入参:`start`/`end` 同给;缺一即缺槽位阻断,起点晚于终点阻断。 */
|
|
84
|
+
export function resolveRange(params) {
|
|
85
|
+
if (params.start === undefined || params.end === undefined) {
|
|
86
|
+
throw new BillPolicyError('POLICY_MISSING_SLOT', '缺槽位 start/end(期望 YYYY-MM-DD)');
|
|
87
|
+
}
|
|
88
|
+
const start = normalizeDate(params.start, 'start');
|
|
89
|
+
const end = normalizeDate(params.end, 'end');
|
|
90
|
+
if (start > end)
|
|
91
|
+
throw new BillPolicyError('POLICY_BAD_INPUT', 'start 不得晚于 end:' + start + '~' + end);
|
|
92
|
+
return { start, end };
|
|
93
|
+
}
|
|
94
|
+
/* ── 时间窗口口径(**唯一定义地**,查询域与三个分析命令共用)─────────────────────
|
|
95
|
+
* 这三件原来住在 `src/cli/cmd_read.ts` 的文件级函数里:查询域搬迁(#411)时被两个去处同时需要——
|
|
96
|
+
* 查询的「查周/查月/查昨天」与分析的「看月度/看年度/看对比」——故按口径层的位置摆正;
|
|
97
|
+
* #689 第三批随 `policy/` 拆散落到本件(原来的出口 `src/policy/index.ts` 已删)。 */
|
|
98
|
+
/** 某个月的起止日(`YYYY-MM` → 该月 1 号到月末)。 */
|
|
99
|
+
export function monthRange(month) {
|
|
100
|
+
const [y, m] = month.split('-').map(Number);
|
|
101
|
+
const last = new Date(y, m, 0).getDate();
|
|
102
|
+
const dd = String(last).padStart(2, '0');
|
|
103
|
+
return { start: month + '-01', end: month + '-' + dd };
|
|
104
|
+
}
|
|
105
|
+
/** 昨天(本地日期串 `YYYY-MM-DD`)。 */
|
|
106
|
+
export function yesterdayStr() {
|
|
107
|
+
const d = new Date();
|
|
108
|
+
d.setDate(d.getDate() - 1);
|
|
109
|
+
return d.toISOString().slice(0, 10);
|
|
110
|
+
}
|
|
111
|
+
/** 本周(周一为第一天)的起止日。 */
|
|
112
|
+
export function weekRange() {
|
|
113
|
+
const now = new Date();
|
|
114
|
+
const day = (now.getDay() + 6) % 7;
|
|
115
|
+
const mon = new Date(now);
|
|
116
|
+
mon.setDate(now.getDate() - day);
|
|
117
|
+
const sun = new Date(mon);
|
|
118
|
+
sun.setDate(mon.getDate() + 6);
|
|
119
|
+
return { start: mon.toISOString().slice(0, 10), end: sun.toISOString().slice(0, 10) };
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=dateRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateRange.js","sourceRoot":"","sources":["../../src/shared/dateRange.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;2EAc2E;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;+CAC+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,GAAG,GAAG,GAAG,mBAAmB,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,wDAAwD,CAAC;AACpF,MAAM,CAAC,MAAM,OAAO,GAAG,qBAAqB,CAAC;AAC7C,MAAM,CAAC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAElD,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC/C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACpF,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAC9F,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAU,EAAE,KAAK,GAAG,MAAM;IACtD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IAC/G,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAU,EAAE,KAAK,GAAG,OAAO;IACxD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAQ,CAAY,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,MAA+B;IAC9D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QAC5E,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAChG,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,YAAY,CAAC,MAA+B;IAC1D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,8BAA8B,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,KAAK,GAAG,GAAG;QAAE,MAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,iBAAiB,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IACtG,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;;iEAGiE;AAEjE,sCAAsC;AACtC,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,YAAY;IAC1B,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACxF,CAAC"}
|
package/dist/shared/docPage.d.ts
CHANGED
|
@@ -11,7 +11,19 @@ interface DocPageInput {
|
|
|
11
11
|
/** 已组合好的区块 HTML。 */
|
|
12
12
|
readonly content: string;
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
14
|
+
/** 退出口单钮独占整行(t410 终审 n20)——**#733 起已撤,本段整体删掉,理由是它成了死 CSS**。
|
|
15
|
+
*
|
|
16
|
+
* t410 当时落这条:`copyArea` 的退出口恒只有一颗红钮,而公共层 `.ilife-action-row` 恒两列,
|
|
17
|
+
* 单钮只占半格(390 下实测 175px),故用 `:has([data-action-id="ilife-exit-undo"])` 把它收成单列。
|
|
18
|
+
* #733 把退出口那颗**点了没反应的红钮**换成一枚非交互的 danger 标记(`copyArea.undoExit` 的注释里有完整推导)⇒
|
|
19
|
+
* `ilife-exit-undo` 这个动作号在产物里**一次都不再出现**,本段的两个选择器一条也命中不到。
|
|
20
|
+
* 留着的代价不是零:它会被 grep 进「页上还有没有这个动作号」这类判据,读的人会以为按钮还在。
|
|
21
|
+
* 一并删掉——**删的是失效的补丁,不是那条版面意图**(那颗钮已经不存在了)。 */
|
|
22
|
+
/** 整页装配:区块 HTML + 标题三件套 → 完整文档(文档壳交公共层骨架件)。
|
|
23
|
+
*
|
|
24
|
+
* `pageUi: true` —— 本包 32 页走公共层页面级配方(#525);配套的样式段由本件拼进 `extraCss`
|
|
25
|
+
* (与卡路里同一条路:配方 CSS 走 `extraCss`,`blocksCss()` 仍走 `sharedCssText`)。
|
|
26
|
+
* 产出物有 `.ilife-page-ui` 根类与 `viewport-fit=cover` 两处可见证据,判据 9 的量测就量这两处。 */
|
|
15
27
|
export declare function assembleDocPage(input: DocPageInput): string;
|
|
16
28
|
export {};
|
|
17
29
|
//# sourceMappingURL=docPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docPage.d.ts","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docPage.d.ts","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"AA2BA,eAAe;AACf,UAAU,YAAY;IACpB,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAyED;;;;;;;8CAO8C;AAE9C;;;;2EAI2E;AAC3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAc3D"}
|
package/dist/shared/docPage.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** 整页装配共用件:区块 HTML 拼成完整文档(最后一公里)。
|
|
2
2
|
*
|
|
3
3
|
* 谁在用(两个能力,指名):
|
|
4
|
-
* ① `src/
|
|
4
|
+
* ① `src/write/`——写入域:结果型回执整页与过程型采集页;
|
|
5
5
|
* ② `src/query/`——查询域:通用查询列表页。
|
|
6
6
|
* 两域走的都是 `./pageShell.ts` 那一层,本件是它下面的文档装配层。
|
|
7
7
|
*
|
|
@@ -9,38 +9,48 @@
|
|
|
9
9
|
* 内容=`base-paint/blocks` 的区块;文档=`fillTemplate` 包裹(资产**裸文本**传入+由填充器包裹);
|
|
10
10
|
* `sharedCss = buildStyleSheet().css + blocksCss()`——**`blocksCss()` 必须拼进 `TemplateAssets.sharedCssText`**,
|
|
11
11
|
* 不得走 `StyleSheetInput.extraCss`(硬口径,见 `docs/skills/skill-bill/t406-base组件总表.md` 第 1.1 节 `blocksCss` 行)。
|
|
12
|
+
* **#725 起「文档壳」那一圈(doctype/head 三槽位序/资产拼接)搬去公共层 `base-paint/docShell` 的
|
|
13
|
+
* `renderDocShell`**——本件只留自己的页头语义(下面五个字段)+本包的三段补丁样式(走 `extraCss`),
|
|
14
|
+
* 拼好正文后交给骨架件;五个字段与 `pageShell.ts` 的调用点一行未动。
|
|
12
15
|
* 本文件不做取数、不装命令名与领域常量,只按参数拼页;零包内依赖(只 import `base-paint`)。
|
|
16
|
+
*
|
|
17
|
+
* **#728(写入域 32 页视觉整改)在本件改了三件事**:
|
|
18
|
+
* ① 打开公共层的**页面级配方** `pageUi`(#525)——安全区、44px 触摸区、≤640 单列与安全区内距、
|
|
19
|
+
* 页内导航横滑、KPI 两格、iOS 惯性滚动、≥1001 版心与正文列、参数表单桌面两列,全在那一处;
|
|
20
|
+
* ② 补丁样式按「**样式随它的选择器**」重排:目标选择器由公共层产出的规则迁回公共层
|
|
21
|
+
* (口径行的字面色值、越出圆角闭集的 10px),本件只留**本包自己产出**的那几条;
|
|
22
|
+
* ③ 桌面端不再由本件给「一条宽度补丁」——版心与分栏归 `pageUi` 的 ⑧ 段,本件只留一条表格宽度收口。
|
|
13
23
|
*/
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
+ '</body>\n</html>';
|
|
24
|
-
}
|
|
25
|
-
/** 桌面端补丁(t407 根因整改二 D1:内容列用满宽+卡片网格换大格,只改呈现)。
|
|
24
|
+
import { pageUiCss } from 'base-paint';
|
|
25
|
+
import { renderPageShell } from 'base-paint/blocks';
|
|
26
|
+
import { renderDocShell } from 'base-paint/docShell';
|
|
27
|
+
/** 桌面端补丁(t407 根因整改二 D1;t728 收窄)。
|
|
28
|
+
*
|
|
29
|
+
* t728 为什么收窄到只剩一条:改前本段还写着「内容列放宽到 1120px」与「卡片网格换大格」,
|
|
30
|
+
* 那是**桌面端只有一条宽度补丁、没有版式**的来源(#728 诊断 R5:1200 以下没有专门版式;
|
|
31
|
+
* 1120 的内容列里仍是单列长条,右侧一片空白)。现在版心(1280)与正文列(880)+栅格+
|
|
32
|
+
* 宽屏表单两列都由公共层配方 `pageUi` 的 ⑧/⑪ 段出,本包不再各写一条宽度数字。
|
|
26
33
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* 复量不得回退(见证据件)。 */
|
|
34
|
+
* 唯一留下的一条:公共层 `.ilife-block-data-table` 锁着 `max-width:680px` 居中,880 正文列下
|
|
35
|
+
* 右约 100px 留白(t403 视觉验收 D1 的同一处);那个选择器由公共层产出、但**只在本包这两域**
|
|
36
|
+
* 需要放开(公共层自己在别的调用点仍要 680 的窄表),故按「样式随它的选择器」的例外档留在这里,
|
|
37
|
+
* 并且**只写选择器与属性、零字面色值、零新断点**(1200 是仓内既有值)。 */
|
|
32
38
|
const DESKTOP_CSS = [
|
|
33
|
-
'/*
|
|
39
|
+
'/* t728:桌面端表格用满正文列(只 1200px 以上生效,手机端不动) */',
|
|
34
40
|
'@media (min-width:1200px) {',
|
|
35
|
-
' .ilife-block-page-shell { max-width: 1120px; }',
|
|
36
|
-
' .ilife-block-page-shell .ilife-block-kpi-card-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }',
|
|
37
|
-
/* t403-P1:桌面端数据表与内容列同宽(只 1200px 以上生效,手机端不动)。
|
|
38
|
-
* 为什么落在本件:公共层 `base-paint` 的 `.ilife-block-data-table` 锁 `max-width:680px` 居中,
|
|
39
|
-
* 1120 版心下右约 40% 留白、密集页被迫折行(t403 视觉验收 D1);base 包只建议不动,唯一的落点
|
|
40
|
-
* 就是本件拼 `sharedCssText` 的这一处(与上面 D1 同一条路)。查询域列表/详情与写入域回执
|
|
41
|
-
* 同走本件,两域的表同宽;`≤640px` 行卡化那档一行不动。 */
|
|
42
41
|
' .ilife-block-page-shell .ilife-block-data-table { max-width: none; }',
|
|
43
42
|
'}',
|
|
43
|
+
'/* t728 逐页审计实测:公共层配方 ⑧ 的「宽件满铺」那条写的是',
|
|
44
|
+
' `.ilife-block-page-shell-body > :where(读数卡网格/表/图/…){ grid-column: 1 / -1 }`,',
|
|
45
|
+
' 而本包的 DOM 是 `page-shell-body > section.ilife-write > section#sec-kpi > div.读数卡网格`',
|
|
46
|
+
' ——宽件隔着 `section.ilife-write` 这一层,成了**孙级**,`>` 一个都匹配不到 ⇒',
|
|
47
|
+
' 全部落回「中间 880 列」,1280 档两翼逐点扫描非背景像素 0 行(内容墨迹最外沿 x174–1105)。',
|
|
48
|
+
' 修法:让这层纯分组的包裹节从布局里退场(`display: contents`),宽件重新成为栅格项。',
|
|
49
|
+
' 它挂在**本包产出的选择器**上(`.ilife-write` 由 `src/shared/writeParts.ts` 出),',
|
|
50
|
+
' 所以按「样式随它的选择器」住本件,公共层不认这个类名。 */',
|
|
51
|
+
'@media (min-width: 1001px) {',
|
|
52
|
+
' .ilife-block-page-shell-body > .ilife-write { display: contents; }',
|
|
53
|
+
'}',
|
|
44
54
|
].join('\n');
|
|
45
55
|
/** 手机端黑底说明块补丁(t407 第 3 轮返工 B;与上面 D1 同一处、同一条路)。
|
|
46
56
|
*
|
|
@@ -49,63 +59,65 @@ const DESKTOP_CSS = [
|
|
|
49
59
|
* ① 两栏不等高——标题折了行、胶囊只有一行,整条横幅一边高一边矮(评审判「栏高不齐把整页拖重」);
|
|
50
60
|
* ② 行距偏紧——标题行贴着下面那几行说明,只隔 2px。
|
|
51
61
|
* 只动呈现:两栏拉到同高(`stretch` + 胶囊内的字居中对齐)、标题与说明的行距统一到 1.5 以上、
|
|
52
|
-
* 标题行与说明之间留 6px
|
|
62
|
+
* 标题行与说明之间留 6px。文字、块序、复制载荷一处不动。
|
|
63
|
+
* t728:圆角从 `10px` 收到**闭集里的 `999px`**(`{8,14,20,999}` 之外的值是 R4 那类「同一语义多名值」;
|
|
64
|
+
* 这是一枚标签胶囊,999 与全仓胶囊同一档)。 */
|
|
53
65
|
const TOAST_CSS = [
|
|
54
66
|
'/* t407-r3 B:黑底说明块(.ilife-toast)两栏等高+行距 */',
|
|
55
67
|
'.ilife-toast { line-height: 1.5; }',
|
|
56
68
|
'.ilife-toast-title-row { flex-wrap: nowrap; align-items: stretch; margin-bottom: 6px; }',
|
|
57
69
|
'.ilife-toast-title-row > .ilife-toast-title { flex: 1 1 auto; min-width: 0; margin-bottom: 0; line-height: 1.5; }',
|
|
58
|
-
'.ilife-toast-title-row > .ilife-toast-chip { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border-radius:
|
|
70
|
+
'.ilife-toast-title-row > .ilife-toast-chip { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; }',
|
|
59
71
|
'.ilife-toast-lines { line-height: 1.6; }',
|
|
60
72
|
].join('\n');
|
|
61
73
|
/** 查询详情移动版式(t403-P2:只 640px 以下生效,桌面端不动)。
|
|
62
74
|
*
|
|
63
75
|
* 为什么落在本件:详情字段表(字段/值两列)在窄屏行卡化时会逐行重复表头标签
|
|
64
76
|
* (t403 视觉验收 D2);`renderDataTable` 的 `data-label` 恒取列头、无逐行标签选项,
|
|
65
|
-
*
|
|
66
|
-
* 唯一的落点就是本件拼 `sharedCssText` 的这一处(与上面 D1/TOAST 同一条路)。
|
|
77
|
+
* 唯一的落点就是本件交 `extraCss` 的这一处(与上面 DESKTOP/TOAST 同一条路)。
|
|
67
78
|
* 桌面端(≥641px)只见表格、移动端(≤640px)只见键值列表——两者由 `display` 切换,
|
|
68
|
-
* 每端恰出一套(读屏器同 CSS 一起切,不存在两套同读);打印走桌面那一套。
|
|
79
|
+
* 每端恰出一套(读屏器同 CSS 一起切,不存在两套同读);打印走桌面那一套。
|
|
80
|
+
* t728:分隔线由字面色值 `rgba(210, 210, 215, .6)` 换成 token `var(--line)`——
|
|
81
|
+
* 判据 1 改口径后要求「补丁零字面色值」;同一个值在公共层已有一处定义(`LINE_RGB`),
|
|
82
|
+
* 本包不再抄第二份。 */
|
|
69
83
|
const KV_CSS = [
|
|
70
84
|
'/* t403-P2:详情键值列表(桌面藏,移动端替表格) */',
|
|
71
85
|
'.ilife-query-kv-list { display: none; }',
|
|
72
86
|
'@media (max-width:640px) {',
|
|
73
87
|
' .ilife-query-kv-table { display: none; }',
|
|
74
88
|
' .ilife-query-kv-list { display: block; margin: 16px 0; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }',
|
|
75
|
-
' .ilife-query-kv-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 2px 10px; padding: 8px 12px; border-top: 1px solid
|
|
89
|
+
' .ilife-query-kv-list > div { display: flex; align-items: baseline; justify-content: space-between; gap: 2px 10px; padding: 8px 12px; border-top: 1px solid var(--line); }',
|
|
76
90
|
' .ilife-query-kv-list > div:first-child { border-top: 0; }',
|
|
77
91
|
' .ilife-query-kv-list dt { flex: none; color: var(--fg3); font-size: 11.5px; font-weight: 600; }',
|
|
78
92
|
' .ilife-query-kv-list dd { margin: 0; color: var(--fg); font-size: 12px; text-align: right; overflow-wrap: anywhere; }',
|
|
79
93
|
'}',
|
|
80
94
|
].join('\n');
|
|
81
|
-
/** 退出口单钮独占整行(t410 终审 n20
|
|
95
|
+
/** 退出口单钮独占整行(t410 终审 n20)——**#733 起已撤,本段整体删掉,理由是它成了死 CSS**。
|
|
82
96
|
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
' width: 100%;',
|
|
95
|
-
'}',
|
|
96
|
-
].join('\n');
|
|
97
|
-
/** 整页装配:区块 HTML + 标题三件套 → 完整文档。 */
|
|
97
|
+
* t410 当时落这条:`copyArea` 的退出口恒只有一颗红钮,而公共层 `.ilife-action-row` 恒两列,
|
|
98
|
+
* 单钮只占半格(390 下实测 175px),故用 `:has([data-action-id="ilife-exit-undo"])` 把它收成单列。
|
|
99
|
+
* #733 把退出口那颗**点了没反应的红钮**换成一枚非交互的 danger 标记(`copyArea.undoExit` 的注释里有完整推导)⇒
|
|
100
|
+
* `ilife-exit-undo` 这个动作号在产物里**一次都不再出现**,本段的两个选择器一条也命中不到。
|
|
101
|
+
* 留着的代价不是零:它会被 grep 进「页上还有没有这个动作号」这类判据,读的人会以为按钮还在。
|
|
102
|
+
* 一并删掉——**删的是失效的补丁,不是那条版面意图**(那颗钮已经不存在了)。 */
|
|
103
|
+
/** 整页装配:区块 HTML + 标题三件套 → 完整文档(文档壳交公共层骨架件)。
|
|
104
|
+
*
|
|
105
|
+
* `pageUi: true` —— 本包 32 页走公共层页面级配方(#525);配套的样式段由本件拼进 `extraCss`
|
|
106
|
+
* (与卡路里同一条路:配方 CSS 走 `extraCss`,`blocksCss()` 仍走 `sharedCssText`)。
|
|
107
|
+
* 产出物有 `.ilife-page-ui` 根类与 `viewport-fit=cover` 两处可见证据,判据 9 的量测就量这两处。 */
|
|
98
108
|
export function assembleDocPage(input) {
|
|
99
|
-
const assets = {
|
|
100
|
-
sharedCssText: buildStyleSheet().css + '\n' + blocksCss() + '\n' + DESKTOP_CSS + '\n' + TOAST_CSS + '\n' + KV_CSS + '\n' + EXIT_CSS,
|
|
101
|
-
sharedHelpersJs: buildSharedHelpersJs(),
|
|
102
|
-
};
|
|
103
109
|
const body = renderPageShell({
|
|
104
110
|
title: input.title,
|
|
105
111
|
...(input.eyebrow ? { eyebrow: input.eyebrow } : {}),
|
|
106
112
|
...(input.subtitle ? { subtitle: input.subtitle } : {}),
|
|
107
113
|
content: input.content,
|
|
108
114
|
});
|
|
109
|
-
return
|
|
115
|
+
return renderDocShell({
|
|
116
|
+
docTitle: input.docTitle,
|
|
117
|
+
bodyHtml: body,
|
|
118
|
+
extraCss: [DESKTOP_CSS, TOAST_CSS, KV_CSS, pageUiCss()].join('\n'),
|
|
119
|
+
doctypeCase: 'upper',
|
|
120
|
+
pageUi: true,
|
|
121
|
+
});
|
|
110
122
|
}
|
|
111
123
|
//# sourceMappingURL=docPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docPage.js","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"docPage.js","sourceRoot":"","sources":["../../src/shared/docPage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgBrD;;;;;;;;;;8CAU8C;AAC9C,MAAM,WAAW,GAAG;IAClB,4CAA4C;IAC5C,6BAA6B;IAC7B,wEAAwE;IACxE,GAAG;IACH,qCAAqC;IACrC,iFAAiF;IACjF,qFAAqF;IACrF,4DAA4D;IAC5D,6DAA6D;IAC7D,wDAAwD;IACxD,qEAAqE;IACrE,mCAAmC;IACnC,8BAA8B;IAC9B,sEAAsE;IACtE,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;8BAS8B;AAC9B,MAAM,SAAS,GAAG;IAChB,4CAA4C;IAC5C,oCAAoC;IACpC,yFAAyF;IACzF,mHAAmH;IACnH,0JAA0J;IAC1J,0CAA0C;CAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;gBASgB;AAChB,MAAM,MAAM,GAAG;IACb,kCAAkC;IAClC,yCAAyC;IACzC,4BAA4B;IAC5B,4CAA4C;IAC5C,yIAAyI;IACzI,6KAA6K;IAC7K,6DAA6D;IAC7D,mGAAmG;IACnG,yHAAyH;IACzH,GAAG;CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;8CAO8C;AAE9C;;;;2EAI2E;AAC3E,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAClE,WAAW,EAAE,OAAO;QACpB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** 共用位·收支口径(KPI)(#689 结构搬迁第三批:从 `src/render/views.ts` 拆来)。
|
|
2
|
+
* KPI(转账除外):count/expense/income/net 全 number。
|
|
3
|
+
*
|
|
4
|
+
* `isTransfer`(转账不入收支统计:账本 `转账` 或分类 `转账/*`)**必须与本件的 `calcKpi` 同住一件**——
|
|
5
|
+
* 它是这条口径的唯一判地,`calcKpi`/`calcCategories`/`buildOverview`/`buildTrend` 四处都走它;
|
|
6
|
+
* 各写一份「算不算转账」就是两套口径(#683 §3.9)。
|
|
7
|
+
*
|
|
8
|
+
* 谁在用(指名):
|
|
9
|
+
* · `src/query/read.ts`——四条查询命令的 KPI 胶囊与查分类的占比(`calcKpi`);
|
|
10
|
+
* · `src/analysis/views.ts`——分类聚合/总览/对比/趋势(`calcKpi` + `isTransfer`)。
|
|
11
|
+
* 两域在用它 ⇒ 住共用位(归属律 2)。 */
|
|
12
|
+
import type { BillRow } from '../fetch/db.js';
|
|
13
|
+
/** 这一行算不算转账(转账是同一笔钱换口袋,不入收支统计,余额另计)。 */
|
|
14
|
+
export declare function isTransfer(r: BillRow): boolean;
|
|
15
|
+
export declare function calcKpi(records: BillRow[]): {
|
|
16
|
+
count: number;
|
|
17
|
+
expense: number;
|
|
18
|
+
income: number;
|
|
19
|
+
net: number;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=kpi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kpi.d.ts","sourceRoot":"","sources":["../../src/shared/kpi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;2BAU2B;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wCAAwC;AACxC,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE9C;AAGD,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAU3G"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** 这一行算不算转账(转账是同一笔钱换口袋,不入收支统计,余额另计)。 */
|
|
2
|
+
export function isTransfer(r) {
|
|
3
|
+
return r.ledger === '转账' || r.category.startsWith('转账/');
|
|
4
|
+
}
|
|
5
|
+
// KPI(转账除外):count/expense/income/net 全 number。
|
|
6
|
+
export function calcKpi(records) {
|
|
7
|
+
const real = records.filter((r) => !isTransfer(r));
|
|
8
|
+
let expense = 0;
|
|
9
|
+
let income = 0;
|
|
10
|
+
for (const r of real) {
|
|
11
|
+
if (r.amount < 0)
|
|
12
|
+
expense += Math.abs(r.amount);
|
|
13
|
+
else
|
|
14
|
+
income += r.amount;
|
|
15
|
+
}
|
|
16
|
+
expense = Math.round(expense * 100) / 100;
|
|
17
|
+
income = Math.round(income * 100) / 100;
|
|
18
|
+
return { count: real.length, expense, income, net: Math.round((income - expense) * 100) / 100 };
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=kpi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kpi.js","sourceRoot":"","sources":["../../src/shared/kpi.ts"],"names":[],"mappings":"AAaA,wCAAwC;AACxC,MAAM,UAAU,UAAU,CAAC,CAAU;IACnC,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,OAAO,CAAC,OAAkB;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,OAAO,GAAG,CAAC,CAAC;IAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;;YAC3C,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACxC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;AAClG,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 整页装配的调用方与复制日志都读它,别处只引用、不另写这几个字面量(同一件事实两处就会走散)。
|
|
3
3
|
*
|
|
4
4
|
* 谁在用(两个能力,指名):
|
|
5
|
-
* ① `src/
|
|
5
|
+
* ① `src/write/`——写入域:结果型回执整页与过程型采集页的 envelope 三字段(其中 `key` 过 `sceneKeyOf`)、
|
|
6
6
|
* 复制日志版本、页标题前缀;`src/shared/writeParts.ts` 的 `writeSection` 取技能名做 `data-skill`;
|
|
7
7
|
* ② `src/query/`——查询域:通用查询列表页的同一批取值(envelope 三字段、复制日志版本、页标题前缀)。
|
|
8
8
|
* 两域的页面内置 envelope 都拿本件的 `sceneKeyOf` 把对外命令名收成场景名(`bill.record.today` → `record.today`),
|
|
@@ -15,8 +15,17 @@
|
|
|
15
15
|
export declare const DOC_VERSION = "0.1.0";
|
|
16
16
|
/** 技能名(envelope 的 `skill`,也是 `<section>` 上 `data-skill` 的取值)。 */
|
|
17
17
|
export declare const DOC_SKILL = "bill";
|
|
18
|
-
/**
|
|
18
|
+
/** 技能名(对外名;也是文档标题的站点名那一半,拼法见 `docTitleOf`)。 */
|
|
19
19
|
export declare const DOC_TITLE = "\u997C\u5E72\u8BB0\u8D26";
|
|
20
|
+
/** 文档标题(`<title>` 的文本):`<这一页是什么> - <技能名>`。**本件是唯一拼法**。
|
|
21
|
+
*
|
|
22
|
+
* 为什么不是 `技能名·这一页`(t728 逐页判红的写法):`·` 是**并列分隔符**,按 `#728` 的验收口径
|
|
23
|
+
* (用户逐字要求:「当一个内容需要通过 `;`/`|`/`·` 分割时代表需要进行 UI 上的设计」)
|
|
24
|
+
* 出现在可见文本里即算设计债。而文档标题里的「页名 + 站点名」**不是并列内容**——它就是标题写法
|
|
25
|
+
* 本身(先这一页是什么、再用连字符收站点名),故按标题惯例排,而不是拿并列符去串。
|
|
26
|
+
* 文档标题住 `<head>`、不进正文版面,因此这里只守标题写法,不参与页内版式。
|
|
27
|
+
* 一处定义:页名由调用方给(这一页是什么),站点名取本件的 `DOC_TITLE`;页名空白=只出站点名。 */
|
|
28
|
+
export declare function docTitleOf(what: string): string;
|
|
20
29
|
/** 页面内置 envelope 的 `key`(=**场景名**,技能内的本地名)。
|
|
21
30
|
*
|
|
22
31
|
* 为什么不是对外命令名:公共层的日志第 1 段(`scene`)由 envelope 派生,形如 `{skill}.{key}`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageIdentity.d.ts","sourceRoot":"","sources":["../../src/shared/pageIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gDAAgD;AAChD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,iEAAiE;AACjE,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"pageIdentity.d.ts","sourceRoot":"","sources":["../../src/shared/pageIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gDAAgD;AAChD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,iEAAiE;AACjE,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,+CAA+C;AAC/C,eAAO,MAAM,SAAS,6BAAS,CAAC;AAEhC;;;;;;;2DAO2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}
|