skill-calorie 0.2.2 → 0.2.4
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 +477 -123
- package/dist/.gen-inputs.json +170 -0
- package/dist/analysis/commands.d.ts +62 -0
- package/dist/analysis/commands.d.ts.map +1 -0
- package/dist/analysis/commands.js +386 -0
- package/dist/analysis/commands.js.map +1 -0
- package/dist/analysis/contraindications.d.ts.map +1 -1
- package/dist/analysis/contraindications.js +16 -12
- package/dist/analysis/contraindications.js.map +1 -1
- package/dist/analysis/cross.d.ts +3 -0
- package/dist/analysis/cross.d.ts.map +1 -1
- package/dist/analysis/cross.js +57 -29
- package/dist/analysis/cross.js.map +1 -1
- package/dist/analysis/dashboard.d.ts.map +1 -1
- package/dist/analysis/dashboard.js +3 -2
- package/dist/analysis/dashboard.js.map +1 -1
- package/dist/analysis/exerciseReview.js +1 -1
- package/dist/analysis/exerciseReview.js.map +1 -1
- package/dist/analysis/healthPlate.d.ts +21 -0
- package/dist/analysis/healthPlate.d.ts.map +1 -0
- package/dist/analysis/healthPlate.js +41 -0
- package/dist/analysis/healthPlate.js.map +1 -0
- package/dist/analysis/historyStore.d.ts +30 -0
- package/dist/analysis/historyStore.d.ts.map +1 -0
- package/dist/analysis/historyStore.js +32 -0
- package/dist/analysis/historyStore.js.map +1 -0
- package/dist/analysis/index.d.ts +23 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +23 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/multiTrend.d.ts +67 -0
- package/dist/analysis/multiTrend.d.ts.map +1 -0
- package/dist/analysis/multiTrend.js +106 -0
- package/dist/analysis/multiTrend.js.map +1 -0
- package/dist/analysis/multiTrendPage.d.ts +4 -0
- package/dist/analysis/multiTrendPage.d.ts.map +1 -0
- package/dist/analysis/multiTrendPage.js +502 -0
- package/dist/analysis/multiTrendPage.js.map +1 -0
- package/dist/analysis/reportDoc.d.ts +12 -0
- package/dist/analysis/reportDoc.d.ts.map +1 -0
- package/dist/analysis/reportDoc.js +244 -0
- package/dist/analysis/reportDoc.js.map +1 -0
- package/dist/analysis/reportDocBmi.d.ts +4 -0
- package/dist/analysis/reportDocBmi.d.ts.map +1 -0
- package/dist/analysis/reportDocBmi.js +104 -0
- package/dist/analysis/reportDocBmi.js.map +1 -0
- package/dist/analysis/reportDocParts.d.ts +77 -0
- package/dist/analysis/reportDocParts.d.ts.map +1 -0
- package/dist/analysis/reportDocParts.js +249 -0
- package/dist/analysis/reportDocParts.js.map +1 -0
- package/dist/analysis/reportDocScore.d.ts +8 -0
- package/dist/analysis/reportDocScore.d.ts.map +1 -0
- package/dist/analysis/reportDocScore.js +223 -0
- package/dist/analysis/reportDocScore.js.map +1 -0
- package/dist/analysis/reportDocScoreSeries.d.ts +3 -0
- package/dist/analysis/reportDocScoreSeries.d.ts.map +1 -0
- package/dist/analysis/reportDocScoreSeries.js +27 -0
- package/dist/analysis/reportDocScoreSeries.js.map +1 -0
- package/dist/analysis/reportDocTracked.d.ts +10 -0
- package/dist/analysis/reportDocTracked.d.ts.map +1 -0
- package/dist/analysis/reportDocTracked.js +195 -0
- package/dist/analysis/reportDocTracked.js.map +1 -0
- package/dist/analysis/reportPlate.d.ts +163 -0
- package/dist/analysis/reportPlate.d.ts.map +1 -0
- package/dist/analysis/reportPlate.js +251 -0
- package/dist/analysis/reportPlate.js.map +1 -0
- package/dist/analysis/routes.d.ts +18 -0
- package/dist/analysis/routes.d.ts.map +1 -0
- package/dist/analysis/routes.js +178 -0
- package/dist/analysis/routes.js.map +1 -0
- package/dist/analysis/series.d.ts +31 -6
- package/dist/analysis/series.d.ts.map +1 -1
- package/dist/analysis/series.js +124 -27
- package/dist/analysis/series.js.map +1 -1
- package/dist/analysis/simulate.d.ts.map +1 -1
- package/dist/analysis/simulate.js +17 -6
- package/dist/analysis/simulate.js.map +1 -1
- package/dist/analysis/simulate2.d.ts.map +1 -1
- package/dist/analysis/simulate2.js +43 -11
- package/dist/analysis/simulate2.js.map +1 -1
- package/dist/analysis/trend.d.ts +9 -1
- package/dist/analysis/trend.d.ts.map +1 -1
- package/dist/analysis/trend.js +24 -8
- package/dist/analysis/trend.js.map +1 -1
- package/dist/analysis/utils.d.ts +50 -1
- package/dist/analysis/utils.d.ts.map +1 -1
- package/dist/analysis/utils.js +73 -1
- package/dist/analysis/utils.js.map +1 -1
- package/dist/body/bodyDocs.d.ts +4 -0
- package/dist/body/bodyDocs.d.ts.map +1 -0
- package/dist/body/bodyDocs.js +284 -0
- package/dist/body/bodyDocs.js.map +1 -0
- package/dist/body/bodyPlate.d.ts +145 -0
- package/dist/body/bodyPlate.d.ts.map +1 -0
- package/dist/body/bodyPlate.js +243 -0
- package/dist/body/bodyPlate.js.map +1 -0
- package/dist/body/bodyReadUi.d.ts +47 -0
- package/dist/body/bodyReadUi.d.ts.map +1 -0
- package/dist/body/bodyReadUi.js +164 -0
- package/dist/body/bodyReadUi.js.map +1 -0
- package/dist/body/commands.d.ts +29 -0
- package/dist/body/commands.d.ts.map +1 -0
- package/dist/body/commands.js +18 -0
- package/dist/body/commands.js.map +1 -0
- package/dist/body/compare.d.ts +62 -0
- package/dist/body/compare.d.ts.map +1 -0
- package/dist/body/compare.js +162 -0
- package/dist/body/compare.js.map +1 -0
- package/dist/body/compareCompositionDoc.d.ts +3 -0
- package/dist/body/compareCompositionDoc.d.ts.map +1 -0
- package/dist/body/compareCompositionDoc.js +99 -0
- package/dist/body/compareCompositionDoc.js.map +1 -0
- package/dist/body/compareMeasureDoc.d.ts +3 -0
- package/dist/body/compareMeasureDoc.d.ts.map +1 -0
- package/dist/body/compareMeasureDoc.js +91 -0
- package/dist/body/compareMeasureDoc.js.map +1 -0
- package/dist/body/compareUi.d.ts +12 -0
- package/dist/body/compareUi.d.ts.map +1 -0
- package/dist/body/compareUi.js +27 -0
- package/dist/body/compareUi.js.map +1 -0
- package/dist/body/index.d.ts +21 -0
- package/dist/body/index.d.ts.map +1 -0
- package/dist/body/index.js +22 -0
- package/dist/body/index.js.map +1 -0
- package/dist/body/log.d.ts +29 -0
- package/dist/body/log.d.ts.map +1 -0
- package/dist/body/log.js +196 -0
- package/dist/body/log.js.map +1 -0
- package/dist/body/receipt.d.ts +52 -0
- package/dist/body/receipt.d.ts.map +1 -0
- package/dist/body/receipt.js +248 -0
- package/dist/body/receipt.js.map +1 -0
- package/dist/body/receiptData.d.ts +46 -0
- package/dist/body/receiptData.d.ts.map +1 -0
- package/dist/body/receiptData.js +107 -0
- package/dist/body/receiptData.js.map +1 -0
- package/dist/body/receiptUi.d.ts +9 -0
- package/dist/body/receiptUi.d.ts.map +1 -0
- package/dist/body/receiptUi.js +75 -0
- package/dist/body/receiptUi.js.map +1 -0
- package/dist/body/remove.d.ts +21 -0
- package/dist/body/remove.d.ts.map +1 -0
- package/dist/body/remove.js +78 -0
- package/dist/body/remove.js.map +1 -0
- package/dist/body/routes.d.ts +10 -0
- package/dist/body/routes.d.ts.map +1 -0
- package/dist/body/routes.js +20 -0
- package/dist/body/routes.js.map +1 -0
- package/dist/body/view.d.ts +21 -0
- package/dist/body/view.d.ts.map +1 -0
- package/dist/body/view.js +50 -0
- package/dist/body/view.js.map +1 -0
- package/dist/body/wizard.d.ts +14 -0
- package/dist/body/wizard.d.ts.map +1 -0
- package/dist/body/wizard.js +21 -0
- package/dist/body/wizard.js.map +1 -0
- package/dist/body/wizardDocs.d.ts +4 -0
- package/dist/body/wizardDocs.d.ts.map +1 -0
- package/dist/body/wizardDocs.js +260 -0
- package/dist/body/wizardDocs.js.map +1 -0
- package/dist/body/wizardPlate.d.ts +146 -0
- package/dist/body/wizardPlate.d.ts.map +1 -0
- package/dist/body/wizardPlate.js +260 -0
- package/dist/body/wizardPlate.js.map +1 -0
- package/dist/body/wizardPrompt.d.ts +52 -0
- package/dist/body/wizardPrompt.d.ts.map +1 -0
- package/dist/body/wizardPrompt.js +146 -0
- package/dist/body/wizardPrompt.js.map +1 -0
- package/dist/body/wizardUi.d.ts +11 -0
- package/dist/body/wizardUi.d.ts.map +1 -0
- package/dist/body/wizardUi.js +35 -0
- package/dist/body/wizardUi.js.map +1 -0
- package/dist/cli/cmd_read.d.ts +7 -21
- package/dist/cli/cmd_read.d.ts.map +1 -1
- package/dist/cli/cmd_read.js +45 -1044
- package/dist/cli/cmd_read.js.map +1 -1
- package/dist/cli/delivery.d.ts +34 -0
- package/dist/cli/delivery.d.ts.map +1 -0
- package/dist/cli/delivery.js +223 -0
- package/dist/cli/delivery.js.map +1 -0
- package/dist/cli/keys.d.ts +305 -163
- package/dist/cli/keys.d.ts.map +1 -1
- package/dist/cli/keys.js +101 -74
- package/dist/cli/keys.js.map +1 -1
- package/dist/cli/legacy/index.d.ts +25 -0
- package/dist/cli/legacy/index.d.ts.map +1 -0
- package/dist/cli/legacy/index.js +37 -0
- package/dist/cli/legacy/index.js.map +1 -0
- package/dist/cli/legacy/routes/index.d.ts +8 -0
- package/dist/cli/legacy/routes/index.d.ts.map +1 -0
- package/dist/cli/legacy/routes/index.js +23 -0
- package/dist/cli/legacy/routes/index.js.map +1 -0
- package/dist/cli/legacy/routes/scene-01.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-01.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-01.js +2 -0
- package/dist/cli/legacy/routes/scene-01.js.map +1 -0
- package/dist/cli/legacy/routes/scene-02.d.ts +18 -0
- package/dist/cli/legacy/routes/scene-02.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-02.js +2 -0
- package/dist/cli/legacy/routes/scene-02.js.map +1 -0
- package/dist/cli/legacy/routes/scene-03.d.ts +13 -0
- package/dist/cli/legacy/routes/scene-03.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-03.js +2 -0
- package/dist/cli/legacy/routes/scene-03.js.map +1 -0
- package/dist/cli/legacy/routes/scene-04.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-04.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-04.js +2 -0
- package/dist/cli/legacy/routes/scene-04.js.map +1 -0
- package/dist/cli/legacy/routes/scene-05.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-05.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-05.js +2 -0
- package/dist/cli/legacy/routes/scene-05.js.map +1 -0
- package/dist/cli/legacy/routes/scene-06.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-06.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-06.js +2 -0
- package/dist/cli/legacy/routes/scene-06.js.map +1 -0
- package/dist/cli/legacy/routes/scene-07.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-07.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-07.js +2 -0
- package/dist/cli/legacy/routes/scene-07.js.map +1 -0
- package/dist/cli/legacy/routes/scene-08.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-08.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-08.js +2 -0
- package/dist/cli/legacy/routes/scene-08.js.map +1 -0
- package/dist/cli/legacy/routes/scene-09.d.ts +12 -0
- package/dist/cli/legacy/routes/scene-09.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-09.js +2 -0
- package/dist/cli/legacy/routes/scene-09.js.map +1 -0
- package/dist/cli/legacy/routes/scene-10.d.ts +10 -0
- package/dist/cli/legacy/routes/scene-10.d.ts.map +1 -0
- package/dist/cli/legacy/routes/scene-10.js +2 -0
- package/dist/cli/legacy/routes/scene-10.js.map +1 -0
- package/dist/cli/legacy/scene-01.d.ts +13 -0
- package/dist/cli/legacy/scene-01.d.ts.map +1 -0
- package/dist/cli/legacy/scene-01.js +2 -0
- package/dist/cli/legacy/scene-01.js.map +1 -0
- package/dist/cli/legacy/scene-02.d.ts +12 -0
- package/dist/cli/legacy/scene-02.d.ts.map +1 -0
- package/dist/cli/legacy/scene-02.js +2 -0
- package/dist/cli/legacy/scene-02.js.map +1 -0
- package/dist/cli/legacy/scene-03.d.ts +14 -0
- package/dist/cli/legacy/scene-03.d.ts.map +1 -0
- package/dist/cli/legacy/scene-03.js +2 -0
- package/dist/cli/legacy/scene-03.js.map +1 -0
- package/dist/cli/legacy/scene-04.d.ts +12 -0
- package/dist/cli/legacy/scene-04.d.ts.map +1 -0
- package/dist/cli/legacy/scene-04.js +2 -0
- package/dist/cli/legacy/scene-04.js.map +1 -0
- package/dist/cli/legacy/scene-05.d.ts +14 -0
- package/dist/cli/legacy/scene-05.d.ts.map +1 -0
- package/dist/cli/legacy/scene-05.js +2 -0
- package/dist/cli/legacy/scene-05.js.map +1 -0
- package/dist/cli/legacy/scene-06.d.ts +15 -0
- package/dist/cli/legacy/scene-06.d.ts.map +1 -0
- package/dist/cli/legacy/scene-06.js +2 -0
- package/dist/cli/legacy/scene-06.js.map +1 -0
- package/dist/cli/legacy/scene-07.d.ts +15 -0
- package/dist/cli/legacy/scene-07.d.ts.map +1 -0
- package/dist/cli/legacy/scene-07.js +2 -0
- package/dist/cli/legacy/scene-07.js.map +1 -0
- package/dist/cli/legacy/scene-08.d.ts +13 -0
- package/dist/cli/legacy/scene-08.d.ts.map +1 -0
- package/dist/cli/legacy/scene-08.js +2 -0
- package/dist/cli/legacy/scene-08.js.map +1 -0
- package/dist/cli/legacy/scene-09.d.ts +13 -0
- package/dist/cli/legacy/scene-09.d.ts.map +1 -0
- package/dist/cli/legacy/scene-09.js +2 -0
- package/dist/cli/legacy/scene-09.js.map +1 -0
- package/dist/cli/legacy/scene-10.d.ts +13 -0
- package/dist/cli/legacy/scene-10.d.ts.map +1 -0
- package/dist/cli/legacy/scene-10.js +2 -0
- package/dist/cli/legacy/scene-10.js.map +1 -0
- package/dist/cli/legacy/types.d.ts +16 -0
- package/dist/cli/legacy/types.d.ts.map +1 -0
- package/dist/cli/legacy/types.js +2 -0
- package/dist/cli/legacy/types.js.map +1 -0
- package/dist/cli/readArgs.d.ts +21 -0
- package/dist/cli/readArgs.d.ts.map +1 -0
- package/dist/cli/readArgs.js +72 -0
- package/dist/cli/readArgs.js.map +1 -0
- package/dist/cli/registry.d.ts +12 -0
- package/dist/cli/registry.d.ts.map +1 -0
- package/dist/cli/registry.js +38 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/cli/write.d.ts +17 -15
- package/dist/cli/write.d.ts.map +1 -1
- package/dist/cli/write.js +38 -902
- package/dist/cli/write.js.map +1 -1
- package/dist/diet/commands.d.ts +37 -0
- package/dist/diet/commands.d.ts.map +1 -0
- package/dist/diet/commands.js +44 -0
- package/dist/diet/commands.js.map +1 -0
- package/dist/diet/dietEngine.d.ts +79 -0
- package/dist/diet/dietEngine.d.ts.map +1 -0
- package/dist/diet/dietEngine.js +171 -0
- package/dist/diet/dietEngine.js.map +1 -0
- package/dist/diet/dietUi.d.ts +9 -0
- package/dist/diet/dietUi.d.ts.map +1 -0
- package/dist/diet/dietUi.js +45 -0
- package/dist/diet/dietUi.js.map +1 -0
- package/dist/diet/edit.d.ts +22 -0
- package/dist/diet/edit.d.ts.map +1 -0
- package/dist/diet/edit.js +96 -0
- package/dist/diet/edit.js.map +1 -0
- package/dist/diet/fieldLabels.d.ts +5 -0
- package/dist/diet/fieldLabels.d.ts.map +1 -0
- package/dist/diet/fieldLabels.js +44 -0
- package/dist/diet/fieldLabels.js.map +1 -0
- package/dist/diet/index.d.ts +26 -0
- package/dist/diet/index.d.ts.map +1 -0
- package/dist/diet/index.js +22 -0
- package/dist/diet/index.js.map +1 -0
- package/dist/diet/library.d.ts +20 -0
- package/dist/diet/library.d.ts.map +1 -0
- package/dist/diet/library.js +52 -0
- package/dist/diet/library.js.map +1 -0
- package/dist/diet/libraryDocs.d.ts +7 -0
- package/dist/diet/libraryDocs.d.ts.map +1 -0
- package/dist/diet/libraryDocs.js +361 -0
- package/dist/diet/libraryDocs.js.map +1 -0
- package/dist/diet/libraryPlate.d.ts +41 -0
- package/dist/diet/libraryPlate.d.ts.map +1 -0
- package/dist/diet/libraryPlate.js +57 -0
- package/dist/diet/libraryPlate.js.map +1 -0
- package/dist/diet/log.d.ts +18 -0
- package/dist/diet/log.d.ts.map +1 -0
- package/dist/diet/log.js +152 -0
- package/dist/diet/log.js.map +1 -0
- package/dist/diet/nutrition.d.ts +37 -0
- package/dist/diet/nutrition.d.ts.map +1 -0
- package/dist/diet/nutrition.js +135 -0
- package/dist/diet/nutrition.js.map +1 -0
- package/dist/diet/nutritionPort.d.ts +129 -0
- package/dist/diet/nutritionPort.d.ts.map +1 -0
- package/dist/diet/nutritionPort.js +246 -0
- package/dist/diet/nutritionPort.js.map +1 -0
- package/dist/diet/nutritionPortDocs.d.ts +106 -0
- package/dist/diet/nutritionPortDocs.d.ts.map +1 -0
- package/dist/diet/nutritionPortDocs.js +651 -0
- package/dist/diet/nutritionPortDocs.js.map +1 -0
- package/dist/diet/precheck.d.ts +7 -0
- package/dist/diet/precheck.d.ts.map +1 -0
- package/dist/diet/precheck.js +194 -0
- package/dist/diet/precheck.js.map +1 -0
- package/dist/diet/precheckLabel.d.ts +4 -0
- package/dist/diet/precheckLabel.d.ts.map +1 -0
- package/dist/diet/precheckLabel.js +191 -0
- package/dist/diet/precheckLabel.js.map +1 -0
- package/dist/diet/precheckParts.d.ts +49 -0
- package/dist/diet/precheckParts.d.ts.map +1 -0
- package/dist/diet/precheckParts.js +69 -0
- package/dist/diet/precheckParts.js.map +1 -0
- package/dist/diet/precheckPort.d.ts +82 -0
- package/dist/diet/precheckPort.d.ts.map +1 -0
- package/dist/diet/precheckPort.js +176 -0
- package/dist/diet/precheckPort.js.map +1 -0
- package/dist/diet/productImport.d.ts +28 -0
- package/dist/diet/productImport.d.ts.map +1 -0
- package/dist/diet/productImport.js +152 -0
- package/dist/diet/productImport.js.map +1 -0
- package/dist/diet/productStore.d.ts +62 -0
- package/dist/diet/productStore.d.ts.map +1 -0
- package/dist/diet/productStore.js +73 -0
- package/dist/diet/productStore.js.map +1 -0
- package/dist/diet/products.d.ts +15 -0
- package/dist/diet/products.d.ts.map +1 -0
- package/dist/diet/products.js +87 -0
- package/dist/diet/products.js.map +1 -0
- package/dist/diet/ranking.d.ts +18 -0
- package/dist/diet/ranking.d.ts.map +1 -0
- package/dist/diet/ranking.js +23 -0
- package/dist/diet/ranking.js.map +1 -0
- package/dist/diet/rankingDocs.d.ts +13 -0
- package/dist/diet/rankingDocs.d.ts.map +1 -0
- package/dist/diet/rankingDocs.js +341 -0
- package/dist/diet/rankingDocs.js.map +1 -0
- package/dist/diet/rankingPlate.d.ts +42 -0
- package/dist/diet/rankingPlate.d.ts.map +1 -0
- package/dist/diet/rankingPlate.js +96 -0
- package/dist/diet/rankingPlate.js.map +1 -0
- package/dist/diet/receipt.d.ts +34 -0
- package/dist/diet/receipt.d.ts.map +1 -0
- package/dist/diet/receipt.js +371 -0
- package/dist/diet/receipt.js.map +1 -0
- package/dist/diet/review.d.ts +36 -0
- package/dist/diet/review.d.ts.map +1 -0
- package/dist/diet/review.js +152 -0
- package/dist/diet/review.js.map +1 -0
- package/dist/diet/reviewDocs.d.ts +72 -0
- package/dist/diet/reviewDocs.d.ts.map +1 -0
- package/dist/diet/reviewDocs.js +312 -0
- package/dist/diet/reviewDocs.js.map +1 -0
- package/dist/diet/routes.d.ts +12 -0
- package/dist/diet/routes.d.ts.map +1 -0
- package/dist/diet/routes.js +108 -0
- package/dist/diet/routes.js.map +1 -0
- package/dist/diet/sourceStatsDocs.d.ts +3 -0
- package/dist/diet/sourceStatsDocs.d.ts.map +1 -0
- package/dist/diet/sourceStatsDocs.js +115 -0
- package/dist/diet/sourceStatsDocs.js.map +1 -0
- package/dist/diet/today.d.ts +14 -0
- package/dist/diet/today.d.ts.map +1 -0
- package/dist/diet/today.js +87 -0
- package/dist/diet/today.js.map +1 -0
- package/dist/diet/todayDocs.d.ts +53 -0
- package/dist/diet/todayDocs.d.ts.map +1 -0
- package/dist/diet/todayDocs.js +238 -0
- package/dist/diet/todayDocs.js.map +1 -0
- package/dist/exercise/cardio.d.ts +11 -0
- package/dist/exercise/cardio.d.ts.map +1 -0
- package/dist/exercise/cardio.js +14 -0
- package/dist/exercise/cardio.js.map +1 -0
- package/dist/exercise/categoryColors.d.ts +23 -0
- package/dist/exercise/categoryColors.d.ts.map +1 -0
- package/dist/exercise/categoryColors.js +28 -0
- package/dist/exercise/categoryColors.js.map +1 -0
- package/dist/exercise/commands.d.ts +20 -0
- package/dist/exercise/commands.d.ts.map +1 -0
- package/dist/exercise/commands.js +22 -0
- package/dist/exercise/commands.js.map +1 -0
- package/dist/exercise/distribution.d.ts +11 -0
- package/dist/exercise/distribution.d.ts.map +1 -0
- package/dist/exercise/distribution.js +14 -0
- package/dist/exercise/distribution.js.map +1 -0
- package/dist/exercise/edit.d.ts +22 -0
- package/dist/exercise/edit.d.ts.map +1 -0
- package/dist/exercise/edit.js +148 -0
- package/dist/exercise/edit.js.map +1 -0
- package/dist/exercise/exerciseStore.d.ts +87 -0
- package/dist/exercise/exerciseStore.d.ts.map +1 -0
- package/dist/exercise/exerciseStore.js +287 -0
- package/dist/exercise/exerciseStore.js.map +1 -0
- package/dist/exercise/fieldLabels.d.ts +5 -0
- package/dist/exercise/fieldLabels.d.ts.map +1 -0
- package/dist/exercise/fieldLabels.js +34 -0
- package/dist/exercise/fieldLabels.js.map +1 -0
- package/dist/exercise/goal.d.ts +16 -0
- package/dist/exercise/goal.d.ts.map +1 -0
- package/dist/exercise/goal.js +46 -0
- package/dist/exercise/goal.js.map +1 -0
- package/dist/exercise/index.d.ts +22 -0
- package/dist/exercise/index.d.ts.map +1 -0
- package/dist/exercise/index.js +22 -0
- package/dist/exercise/index.js.map +1 -0
- package/dist/exercise/log.d.ts +19 -0
- package/dist/exercise/log.d.ts.map +1 -0
- package/dist/exercise/log.js +102 -0
- package/dist/exercise/log.js.map +1 -0
- package/dist/exercise/precheck.d.ts +19 -0
- package/dist/exercise/precheck.d.ts.map +1 -0
- package/dist/exercise/precheck.js +127 -0
- package/dist/exercise/precheck.js.map +1 -0
- package/dist/exercise/recap.d.ts +11 -0
- package/dist/exercise/recap.d.ts.map +1 -0
- package/dist/exercise/recap.js +14 -0
- package/dist/exercise/recap.js.map +1 -0
- package/dist/exercise/receipt.d.ts +43 -0
- package/dist/exercise/receipt.d.ts.map +1 -0
- package/dist/exercise/receipt.js +401 -0
- package/dist/exercise/receipt.js.map +1 -0
- package/dist/exercise/records.d.ts +60 -0
- package/dist/exercise/records.d.ts.map +1 -0
- package/dist/exercise/records.js +317 -0
- package/dist/exercise/records.js.map +1 -0
- package/dist/exercise/routes.d.ts +21 -0
- package/dist/exercise/routes.d.ts.map +1 -0
- package/dist/exercise/routes.js +38 -0
- package/dist/exercise/routes.js.map +1 -0
- package/dist/exercise/sportUi.d.ts +77 -0
- package/dist/exercise/sportUi.d.ts.map +1 -0
- package/dist/exercise/sportUi.js +268 -0
- package/dist/exercise/sportUi.js.map +1 -0
- package/dist/exercise/strength.d.ts +11 -0
- package/dist/exercise/strength.d.ts.map +1 -0
- package/dist/exercise/strength.js +14 -0
- package/dist/exercise/strength.js.map +1 -0
- package/dist/exercise/trend.d.ts +11 -0
- package/dist/exercise/trend.d.ts.map +1 -0
- package/dist/exercise/trend.js +14 -0
- package/dist/exercise/trend.js.map +1 -0
- package/dist/fetch/audit.d.ts +2 -0
- package/dist/fetch/audit.d.ts.map +1 -1
- package/dist/fetch/audit.js +11 -10
- package/dist/fetch/audit.js.map +1 -1
- package/dist/fetch/batch.js +1 -1
- package/dist/fetch/batch.js.map +1 -1
- package/dist/fetch/body.d.ts +104 -1
- package/dist/fetch/body.d.ts.map +1 -1
- package/dist/fetch/body.js +200 -31
- package/dist/fetch/body.js.map +1 -1
- package/dist/fetch/cli.js +11 -5
- package/dist/fetch/cli.js.map +1 -1
- package/dist/fetch/exercise.d.ts.map +1 -1
- package/dist/fetch/exercise.js +7 -3
- package/dist/fetch/exercise.js.map +1 -1
- package/dist/fetch/index.d.ts +5 -7
- package/dist/fetch/index.d.ts.map +1 -1
- package/dist/fetch/index.js +7 -6
- package/dist/fetch/index.js.map +1 -1
- package/dist/fetch/nutritionGoal.d.ts.map +1 -1
- package/dist/fetch/nutritionGoal.js +15 -4
- package/dist/fetch/nutritionGoal.js.map +1 -1
- package/dist/fetch/profile.d.ts +24 -3
- package/dist/fetch/profile.d.ts.map +1 -1
- package/dist/fetch/profile.js +43 -14
- package/dist/fetch/profile.js.map +1 -1
- package/dist/fetch/xunji-catalog.d.ts +5 -0
- package/dist/fetch/xunji-catalog.d.ts.map +1 -1
- package/dist/fetch/xunji-catalog.js +22 -1
- package/dist/fetch/xunji-catalog.js.map +1 -1
- package/dist/goal/commands.d.ts +31 -0
- package/dist/goal/commands.d.ts.map +1 -0
- package/dist/goal/commands.js +20 -0
- package/dist/goal/commands.js.map +1 -0
- package/dist/goal/goalExtraPlate.d.ts +45 -0
- package/dist/goal/goalExtraPlate.d.ts.map +1 -0
- package/dist/goal/goalExtraPlate.js +95 -0
- package/dist/goal/goalExtraPlate.js.map +1 -0
- package/dist/goal/goalHistory.d.ts +24 -0
- package/dist/goal/goalHistory.d.ts.map +1 -0
- package/dist/goal/goalHistory.js +51 -0
- package/dist/goal/goalHistory.js.map +1 -0
- package/dist/goal/goalPlate.d.ts +24 -0
- package/dist/goal/goalPlate.d.ts.map +1 -0
- package/dist/goal/goalPlate.js +34 -0
- package/dist/goal/goalPlate.js.map +1 -0
- package/dist/goal/goalPlates.d.ts +66 -0
- package/dist/goal/goalPlates.d.ts.map +1 -0
- package/dist/goal/goalPlates.js +114 -0
- package/dist/goal/goalPlates.js.map +1 -0
- package/dist/goal/goalRecommendDoc.d.ts +6 -0
- package/dist/goal/goalRecommendDoc.d.ts.map +1 -0
- package/dist/goal/goalRecommendDoc.js +107 -0
- package/dist/goal/goalRecommendDoc.js.map +1 -0
- package/dist/goal/goalStore.d.ts +56 -0
- package/dist/goal/goalStore.d.ts.map +1 -0
- package/dist/goal/goalStore.js +111 -0
- package/dist/goal/goalStore.js.map +1 -0
- package/dist/goal/goalWeightDoc.d.ts +7 -0
- package/dist/goal/goalWeightDoc.d.ts.map +1 -0
- package/dist/goal/goalWeightDoc.js +107 -0
- package/dist/goal/goalWeightDoc.js.map +1 -0
- package/dist/goal/index.d.ts +17 -0
- package/dist/goal/index.d.ts.map +1 -0
- package/dist/goal/index.js +21 -0
- package/dist/goal/index.js.map +1 -0
- package/dist/goal/nutritionGoal.d.ts +115 -0
- package/dist/goal/nutritionGoal.d.ts.map +1 -0
- package/dist/goal/nutritionGoal.js +165 -0
- package/dist/goal/nutritionGoal.js.map +1 -0
- package/dist/goal/precheck.d.ts +14 -0
- package/dist/goal/precheck.d.ts.map +1 -0
- package/dist/goal/precheck.js +213 -0
- package/dist/goal/precheck.js.map +1 -0
- package/dist/goal/read.d.ts +53 -0
- package/dist/goal/read.d.ts.map +1 -0
- package/dist/goal/read.js +154 -0
- package/dist/goal/read.js.map +1 -0
- package/dist/goal/receipt.d.ts +38 -0
- package/dist/goal/receipt.d.ts.map +1 -0
- package/dist/goal/receipt.js +290 -0
- package/dist/goal/receipt.js.map +1 -0
- package/dist/goal/resultDocs.d.ts +23 -0
- package/dist/goal/resultDocs.d.ts.map +1 -0
- package/dist/goal/resultDocs.js +279 -0
- package/dist/goal/resultDocs.js.map +1 -0
- package/dist/goal/routes.d.ts +12 -0
- package/dist/goal/routes.d.ts.map +1 -0
- package/dist/goal/routes.js +29 -0
- package/dist/goal/routes.js.map +1 -0
- package/dist/goal/set.d.ts +97 -0
- package/dist/goal/set.d.ts.map +1 -0
- package/dist/goal/set.js +103 -0
- package/dist/goal/set.js.map +1 -0
- package/dist/goal/write.d.ts +30 -0
- package/dist/goal/write.d.ts.map +1 -0
- package/dist/goal/write.js +102 -0
- package/dist/goal/write.js.map +1 -0
- package/dist/help-missing.json +35 -0
- package/dist/home/commands.d.ts +11 -0
- package/dist/home/commands.d.ts.map +1 -0
- package/dist/home/commands.js +8 -0
- package/dist/home/commands.js.map +1 -0
- package/dist/home/exercise.d.ts +27 -0
- package/dist/home/exercise.d.ts.map +1 -0
- package/dist/home/exercise.js +60 -0
- package/dist/home/exercise.js.map +1 -0
- package/dist/home/goalProgressDocs.d.ts +27 -0
- package/dist/home/goalProgressDocs.d.ts.map +1 -0
- package/dist/home/goalProgressDocs.js +363 -0
- package/dist/home/goalProgressDocs.js.map +1 -0
- package/dist/home/home.d.ts +38 -0
- package/dist/home/home.d.ts.map +1 -0
- package/dist/home/home.js +78 -0
- package/dist/home/home.js.map +1 -0
- package/dist/home/homeDocs.d.ts +8 -0
- package/dist/home/homeDocs.d.ts.map +1 -0
- package/dist/home/homeDocs.js +307 -0
- package/dist/home/homeDocs.js.map +1 -0
- package/dist/home/homeViewParts.d.ts +42 -0
- package/dist/home/homeViewParts.d.ts.map +1 -0
- package/dist/home/homeViewParts.js +316 -0
- package/dist/home/homeViewParts.js.map +1 -0
- package/dist/home/index.d.ts +14 -0
- package/dist/home/index.d.ts.map +1 -0
- package/dist/home/index.js +13 -0
- package/dist/home/index.js.map +1 -0
- package/dist/home/routes.d.ts +10 -0
- package/dist/home/routes.d.ts.map +1 -0
- package/dist/home/routes.js +47 -0
- package/dist/home/routes.js.map +1 -0
- package/dist/home/today.d.ts +50 -0
- package/dist/home/today.d.ts.map +1 -0
- package/dist/home/today.js +255 -0
- package/dist/home/today.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/migrate/migrate.js +1 -1
- package/dist/output.d.ts +31 -16
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +118 -143
- package/dist/output.js.map +1 -1
- package/dist/photo/commands.d.ts +55 -0
- package/dist/photo/commands.d.ts.map +1 -0
- package/dist/photo/commands.js +25 -0
- package/dist/photo/commands.js.map +1 -0
- package/dist/photo/compare.d.ts +24 -0
- package/dist/photo/compare.d.ts.map +1 -0
- package/dist/photo/compare.js +48 -0
- package/dist/photo/compare.js.map +1 -0
- package/dist/photo/compareDoc.d.ts +5 -0
- package/dist/photo/compareDoc.d.ts.map +1 -0
- package/dist/photo/compareDoc.js +221 -0
- package/dist/photo/compareDoc.js.map +1 -0
- package/dist/photo/dir.d.ts +5 -0
- package/dist/photo/dir.d.ts.map +1 -0
- package/dist/photo/dir.js +22 -0
- package/dist/photo/dir.js.map +1 -0
- package/dist/photo/gallery.d.ts +16 -0
- package/dist/photo/gallery.d.ts.map +1 -0
- package/dist/photo/gallery.js +45 -0
- package/dist/photo/gallery.js.map +1 -0
- package/dist/photo/galleryDoc.d.ts +12 -0
- package/dist/photo/galleryDoc.d.ts.map +1 -0
- package/dist/photo/galleryDoc.js +291 -0
- package/dist/photo/galleryDoc.js.map +1 -0
- package/dist/photo/gif.d.ts +28 -0
- package/dist/photo/gif.d.ts.map +1 -0
- package/dist/photo/gif.js +281 -0
- package/dist/photo/gif.js.map +1 -0
- package/dist/photo/gifDoc.d.ts +52 -0
- package/dist/photo/gifDoc.d.ts.map +1 -0
- package/dist/photo/gifDoc.js +311 -0
- package/dist/photo/gifDoc.js.map +1 -0
- package/dist/photo/help.d.ts +4 -0
- package/dist/photo/help.d.ts.map +1 -0
- package/dist/photo/help.js +87 -0
- package/dist/photo/help.js.map +1 -0
- package/dist/photo/helpCenter.d.ts +137 -0
- package/dist/photo/helpCenter.d.ts.map +1 -0
- package/dist/photo/helpCenter.js +475 -0
- package/dist/photo/helpCenter.js.map +1 -0
- package/dist/photo/helpDoc.d.ts +5 -0
- package/dist/photo/helpDoc.d.ts.map +1 -0
- package/dist/photo/helpDoc.js +205 -0
- package/dist/photo/helpDoc.js.map +1 -0
- package/dist/photo/helpDocContent.d.ts +77 -0
- package/dist/photo/helpDocContent.d.ts.map +1 -0
- package/dist/photo/helpDocContent.js +120 -0
- package/dist/photo/helpDocContent.js.map +1 -0
- package/dist/photo/helpDocCss.d.ts +5 -0
- package/dist/photo/helpDocCss.d.ts.map +1 -0
- package/dist/photo/helpDocCss.js +119 -0
- package/dist/photo/helpDocCss.js.map +1 -0
- package/dist/photo/helpFile.d.ts +26 -0
- package/dist/photo/helpFile.d.ts.map +1 -0
- package/dist/photo/helpFile.js +90 -0
- package/dist/photo/helpFile.js.map +1 -0
- package/dist/photo/helpLookup.d.ts +18 -0
- package/dist/photo/helpLookup.d.ts.map +1 -0
- package/dist/photo/helpLookup.js +58 -0
- package/dist/photo/helpLookup.js.map +1 -0
- package/dist/photo/helpPaths.d.ts +22 -0
- package/dist/photo/helpPaths.d.ts.map +1 -0
- package/dist/photo/helpPaths.js +22 -0
- package/dist/photo/helpPaths.js.map +1 -0
- package/dist/photo/index.d.ts +17 -0
- package/dist/photo/index.d.ts.map +1 -0
- package/dist/photo/index.js +21 -0
- package/dist/photo/index.js.map +1 -0
- package/dist/photo/manage.d.ts +13 -0
- package/dist/photo/manage.d.ts.map +1 -0
- package/dist/photo/manage.js +64 -0
- package/dist/photo/manage.js.map +1 -0
- package/dist/photo/photo.d.ts +118 -0
- package/dist/photo/photo.d.ts.map +1 -0
- package/dist/photo/photo.js +279 -0
- package/dist/photo/photo.js.map +1 -0
- package/dist/photo/photoThumb.d.ts +38 -0
- package/dist/photo/photoThumb.d.ts.map +1 -0
- package/dist/photo/photoThumb.js +83 -0
- package/dist/photo/photoThumb.js.map +1 -0
- package/dist/photo/photoUi.d.ts +39 -0
- package/dist/photo/photoUi.d.ts.map +1 -0
- package/dist/photo/photoUi.js +233 -0
- package/dist/photo/photoUi.js.map +1 -0
- package/dist/photo/photos.d.ts +76 -0
- package/dist/photo/photos.d.ts.map +1 -0
- package/dist/photo/photos.js +193 -0
- package/dist/photo/photos.js.map +1 -0
- package/dist/photo/picker.d.ts +41 -0
- package/dist/photo/picker.d.ts.map +1 -0
- package/dist/photo/picker.js +132 -0
- package/dist/photo/picker.js.map +1 -0
- package/dist/photo/pickerDoc.d.ts +12 -0
- package/dist/photo/pickerDoc.d.ts.map +1 -0
- package/dist/photo/pickerDoc.js +231 -0
- package/dist/photo/pickerDoc.js.map +1 -0
- package/dist/photo/receipt.d.ts +23 -0
- package/dist/photo/receipt.d.ts.map +1 -0
- package/dist/photo/receipt.js +331 -0
- package/dist/photo/receipt.js.map +1 -0
- package/dist/photo/receiptUi.d.ts +42 -0
- package/dist/photo/receiptUi.d.ts.map +1 -0
- package/dist/photo/receiptUi.js +147 -0
- package/dist/photo/receiptUi.js.map +1 -0
- package/dist/photo/routes.d.ts +10 -0
- package/dist/photo/routes.d.ts.map +1 -0
- package/dist/photo/routes.js +29 -0
- package/dist/photo/routes.js.map +1 -0
- package/dist/photo/store.d.ts +10 -0
- package/dist/photo/store.d.ts.map +1 -0
- package/dist/photo/store.js +44 -0
- package/dist/photo/store.js.map +1 -0
- package/dist/photo/viewerDoc.d.ts +5 -0
- package/dist/photo/viewerDoc.d.ts.map +1 -0
- package/dist/photo/viewerDoc.js +255 -0
- package/dist/photo/viewerDoc.js.map +1 -0
- package/dist/photo/wizard.d.ts +15 -0
- package/dist/photo/wizard.d.ts.map +1 -0
- package/dist/photo/wizard.js +25 -0
- package/dist/photo/wizard.js.map +1 -0
- package/dist/photo/wizardUi.d.ts +24 -0
- package/dist/photo/wizardUi.d.ts.map +1 -0
- package/dist/photo/wizardUi.js +101 -0
- package/dist/photo/wizardUi.js.map +1 -0
- package/dist/profile/commands.d.ts +28 -0
- package/dist/profile/commands.d.ts.map +1 -0
- package/dist/profile/commands.js +10 -0
- package/dist/profile/commands.js.map +1 -0
- package/dist/profile/index.d.ts +23 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +22 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/profile/labels.d.ts +10 -0
- package/dist/profile/labels.d.ts.map +1 -0
- package/dist/profile/labels.js +52 -0
- package/dist/profile/labels.js.map +1 -0
- package/dist/profile/read.d.ts +13 -0
- package/dist/profile/read.d.ts.map +1 -0
- package/dist/profile/read.js +24 -0
- package/dist/profile/read.js.map +1 -0
- package/dist/profile/receipt.d.ts +10 -0
- package/dist/profile/receipt.d.ts.map +1 -0
- package/dist/profile/receipt.js +19 -0
- package/dist/profile/receipt.js.map +1 -0
- package/dist/profile/routes.d.ts +8 -0
- package/dist/profile/routes.d.ts.map +1 -0
- package/dist/profile/routes.js +9 -0
- package/dist/profile/routes.js.map +1 -0
- package/dist/profile/setup.d.ts +67 -0
- package/dist/profile/setup.d.ts.map +1 -0
- package/dist/profile/setup.js +396 -0
- package/dist/profile/setup.js.map +1 -0
- package/dist/profile/update.d.ts +5 -0
- package/dist/profile/update.d.ts.map +1 -0
- package/dist/profile/update.js +85 -0
- package/dist/profile/update.js.map +1 -0
- package/dist/profile/view.d.ts +64 -0
- package/dist/profile/view.d.ts.map +1 -0
- package/dist/profile/view.js +204 -0
- package/dist/profile/view.js.map +1 -0
- package/dist/profile/write.d.ts +16 -0
- package/dist/profile/write.d.ts.map +1 -0
- package/dist/profile/write.js +75 -0
- package/dist/profile/write.js.map +1 -0
- package/dist/render/analysisPlate.d.ts +1 -1
- package/dist/render/analysisPlate.d.ts.map +1 -1
- package/dist/render/analysisPlate.js +1 -1
- package/dist/render/analysisPlate.js.map +1 -1
- package/dist/render/dietDocs.d.ts +19 -19
- package/dist/render/dietDocs.d.ts.map +1 -1
- package/dist/render/dietDocs.js +173 -435
- package/dist/render/dietDocs.js.map +1 -1
- package/dist/render/exercisePort.d.ts +3 -1
- package/dist/render/exercisePort.d.ts.map +1 -1
- package/dist/render/exercisePort.js +4 -3
- package/dist/render/exercisePort.js.map +1 -1
- package/dist/render/goalExtra.d.ts.map +1 -1
- package/dist/render/goalExtra.js +2 -1
- package/dist/render/goalExtra.js.map +1 -1
- package/dist/render/goalPlate.d.ts +2 -2
- package/dist/render/goalPlate.d.ts.map +1 -1
- package/dist/render/goalPlate.js +3 -3
- package/dist/render/goalPlate.js.map +1 -1
- package/dist/render/helpCenter.d.ts.map +1 -1
- package/dist/render/helpCenter.js +4 -2
- package/dist/render/helpCenter.js.map +1 -1
- package/dist/render/helpFile.d.ts +26 -0
- package/dist/render/helpFile.d.ts.map +1 -0
- package/dist/render/helpFile.js +60 -0
- package/dist/render/helpFile.js.map +1 -0
- package/dist/render/helpPaths.d.ts +22 -0
- package/dist/render/helpPaths.d.ts.map +1 -0
- package/dist/render/helpPaths.js +22 -0
- package/dist/render/helpPaths.js.map +1 -0
- package/dist/render/helpShell.d.ts +16 -0
- package/dist/render/helpShell.d.ts.map +1 -0
- package/dist/render/helpShell.js +27 -0
- package/dist/render/helpShell.js.map +1 -0
- package/dist/render/html.d.ts +37 -21
- package/dist/render/html.d.ts.map +1 -1
- package/dist/render/html.js +37 -45
- package/dist/render/html.js.map +1 -1
- package/dist/render/index.d.ts +37 -33
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +32 -18
- package/dist/render/index.js.map +1 -1
- package/dist/render/insightPlate.d.ts +17 -0
- package/dist/render/insightPlate.d.ts.map +1 -1
- package/dist/render/insightPlate.js +109 -1
- package/dist/render/insightPlate.js.map +1 -1
- package/dist/render/nutritionPortDocs.d.ts.map +1 -1
- package/dist/render/nutritionPortDocs.js +41 -48
- package/dist/render/nutritionPortDocs.js.map +1 -1
- package/dist/render/pageChromeCss.d.ts +24 -0
- package/dist/render/pageChromeCss.d.ts.map +1 -0
- package/dist/render/pageChromeCss.js +45 -0
- package/dist/render/pageChromeCss.js.map +1 -0
- package/dist/render/planCopyBlock.d.ts +32 -0
- package/dist/render/planCopyBlock.d.ts.map +1 -0
- package/dist/render/planCopyBlock.js +34 -0
- package/dist/render/planCopyBlock.js.map +1 -0
- package/dist/render/planEditor.d.ts +94 -0
- package/dist/render/planEditor.d.ts.map +1 -0
- package/dist/render/planEditor.js +38 -0
- package/dist/render/planEditor.js.map +1 -0
- package/dist/render/planEditorCss.d.ts +13 -0
- package/dist/render/planEditorCss.d.ts.map +1 -0
- package/dist/render/planEditorCss.js +140 -0
- package/dist/render/planEditorCss.js.map +1 -0
- package/dist/render/planEditorDocs.d.ts +7 -0
- package/dist/render/planEditorDocs.d.ts.map +1 -0
- package/dist/render/planEditorDocs.js +56 -0
- package/dist/render/planEditorDocs.js.map +1 -0
- package/dist/render/planEditorPort.d.ts +45 -0
- package/dist/render/planEditorPort.d.ts.map +1 -0
- package/dist/render/planEditorPort.js +217 -0
- package/dist/render/planEditorPort.js.map +1 -0
- package/dist/render/planEditorRuntime.d.ts +15 -0
- package/dist/render/planEditorRuntime.d.ts.map +1 -0
- package/dist/render/planEditorRuntime.js +427 -0
- package/dist/render/planEditorRuntime.js.map +1 -0
- package/dist/render/planPlate.d.ts +84 -4
- package/dist/render/planPlate.d.ts.map +1 -1
- package/dist/render/planPlate.js +155 -7
- package/dist/render/planPlate.js.map +1 -1
- package/dist/render/planWizardCss.d.ts +21 -0
- package/dist/render/planWizardCss.d.ts.map +1 -0
- package/dist/render/planWizardCss.js +121 -0
- package/dist/render/planWizardCss.js.map +1 -0
- package/dist/render/planWizardDocs.d.ts +8 -0
- package/dist/render/planWizardDocs.d.ts.map +1 -0
- package/dist/render/planWizardDocs.js +151 -0
- package/dist/render/planWizardDocs.js.map +1 -0
- package/dist/render/receipt.d.ts +4 -0
- package/dist/render/receipt.d.ts.map +1 -1
- package/dist/render/receipt.js +4 -1
- package/dist/render/receipt.js.map +1 -1
- package/dist/render/reviewDocs.d.ts +3 -0
- package/dist/render/reviewDocs.d.ts.map +1 -0
- package/dist/render/reviewDocs.js +222 -0
- package/dist/render/reviewDocs.js.map +1 -0
- package/dist/render/reviewDocsCss.d.ts +5 -0
- package/dist/render/reviewDocsCss.d.ts.map +1 -0
- package/dist/render/reviewDocsCss.js +128 -0
- package/dist/render/reviewDocsCss.js.map +1 -0
- package/dist/render/sportDocs.d.ts +17 -12
- package/dist/render/sportDocs.d.ts.map +1 -1
- package/dist/render/sportDocs.js +370 -497
- package/dist/render/sportDocs.js.map +1 -1
- package/dist/render/sportPortDocs.d.ts +3 -2
- package/dist/render/sportPortDocs.d.ts.map +1 -1
- package/dist/render/sportPortDocs.js +825 -397
- package/dist/render/sportPortDocs.js.map +1 -1
- package/dist/render/trendDocs.d.ts +16 -6
- package/dist/render/trendDocs.d.ts.map +1 -1
- package/dist/render/trendDocs.js +310 -262
- package/dist/render/trendDocs.js.map +1 -1
- package/dist/render/trendMiscPort.d.ts +9 -24
- package/dist/render/trendMiscPort.d.ts.map +1 -1
- package/dist/render/trendMiscPort.js +7 -30
- package/dist/render/trendMiscPort.js.map +1 -1
- package/dist/render/trendMiscPortDocs.d.ts +1 -2
- package/dist/render/trendMiscPortDocs.d.ts.map +1 -1
- package/dist/render/trendMiscPortDocs.js +303 -133
- package/dist/render/trendMiscPortDocs.js.map +1 -1
- package/dist/render/trendPredictDocs.d.ts +16 -0
- package/dist/render/trendPredictDocs.d.ts.map +1 -0
- package/dist/render/trendPredictDocs.js +1131 -0
- package/dist/render/trendPredictDocs.js.map +1 -0
- package/dist/render/wizardPort.d.ts +9 -62
- package/dist/render/wizardPort.d.ts.map +1 -1
- package/dist/render/wizardPort.js +20 -180
- package/dist/render/wizardPort.js.map +1 -1
- package/dist/render/wizardPortDocs.d.ts +5 -5
- package/dist/render/wizardPortDocs.d.ts.map +1 -1
- package/dist/render/wizardPortDocs.js +282 -234
- package/dist/render/wizardPortDocs.js.map +1 -1
- package/dist/render/workoutMovementTable.d.ts +10 -0
- package/dist/render/workoutMovementTable.d.ts.map +1 -0
- package/dist/render/workoutMovementTable.js +153 -0
- package/dist/render/workoutMovementTable.js.map +1 -0
- package/dist/render/workoutPlanCss.d.ts +15 -0
- package/dist/render/workoutPlanCss.d.ts.map +1 -0
- package/dist/render/workoutPlanCss.js +217 -0
- package/dist/render/workoutPlanCss.js.map +1 -0
- package/dist/render/workoutPlanDocs.d.ts +23 -0
- package/dist/render/workoutPlanDocs.d.ts.map +1 -0
- package/dist/render/workoutPlanDocs.js +244 -0
- package/dist/render/workoutPlanDocs.js.map +1 -0
- package/dist/render/workoutPlanLook.d.ts +16 -0
- package/dist/render/workoutPlanLook.d.ts.map +1 -0
- package/dist/render/workoutPlanLook.js +135 -0
- package/dist/render/workoutPlanLook.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +11 -0
- package/dist/schema.js.map +1 -1
- package/dist/shared/commandSpec.d.ts +73 -0
- package/dist/shared/commandSpec.d.ts.map +1 -0
- package/dist/shared/commandSpec.js +2 -0
- package/dist/shared/commandSpec.js.map +1 -0
- package/dist/shared/conclusionLine.d.ts +3 -0
- package/dist/shared/conclusionLine.d.ts.map +1 -0
- package/dist/shared/conclusionLine.js +21 -0
- package/dist/shared/conclusionLine.js.map +1 -0
- package/dist/shared/contentSuffix.d.ts +17 -0
- package/dist/shared/contentSuffix.d.ts.map +1 -0
- package/dist/shared/contentSuffix.js +125 -0
- package/dist/shared/contentSuffix.js.map +1 -0
- package/dist/shared/copyArea.d.ts +73 -0
- package/dist/shared/copyArea.d.ts.map +1 -0
- package/dist/shared/copyArea.js +144 -0
- package/dist/shared/copyArea.js.map +1 -0
- package/dist/shared/docPage.d.ts +42 -0
- package/dist/shared/docPage.d.ts.map +1 -0
- package/dist/shared/docPage.js +129 -0
- package/dist/shared/docPage.js.map +1 -0
- package/dist/shared/emptyGuide.d.ts +9 -0
- package/dist/shared/emptyGuide.d.ts.map +1 -0
- package/dist/shared/emptyGuide.js +31 -0
- package/dist/shared/emptyGuide.js.map +1 -0
- package/dist/shared/fieldLabel.d.ts +5 -0
- package/dist/shared/fieldLabel.d.ts.map +1 -0
- package/dist/shared/fieldLabel.js +42 -0
- package/dist/shared/fieldLabel.js.map +1 -0
- package/dist/shared/operationHead.d.ts +21 -0
- package/dist/shared/operationHead.d.ts.map +1 -0
- package/dist/shared/operationHead.js +73 -0
- package/dist/shared/operationHead.js.map +1 -0
- package/dist/shared/pageKit.d.ts +25 -0
- package/dist/shared/pageKit.d.ts.map +1 -0
- package/dist/shared/pageKit.js +56 -0
- package/dist/shared/pageKit.js.map +1 -0
- package/dist/shared/params.d.ts +54 -0
- package/dist/shared/params.d.ts.map +1 -0
- package/dist/shared/params.js +176 -0
- package/dist/shared/params.js.map +1 -0
- package/dist/shared/receiptParts.d.ts +9 -0
- package/dist/shared/receiptParts.d.ts.map +1 -0
- package/dist/shared/receiptParts.js +40 -0
- package/dist/shared/receiptParts.js.map +1 -0
- package/dist/shared/sceneEnvelope.d.ts +32 -0
- package/dist/shared/sceneEnvelope.d.ts.map +1 -0
- package/dist/shared/sceneEnvelope.js +12 -0
- package/dist/shared/sceneEnvelope.js.map +1 -0
- package/dist/shared/sourceLine.d.ts +10 -0
- package/dist/shared/sourceLine.d.ts.map +1 -0
- package/dist/shared/sourceLine.js +37 -0
- package/dist/shared/sourceLine.js.map +1 -0
- package/dist/shared/writeParts.d.ts +61 -0
- package/dist/shared/writeParts.d.ts.map +1 -0
- package/dist/shared/writeParts.js +79 -0
- package/dist/shared/writeParts.js.map +1 -0
- package/dist/triggers/help-lookup.d.ts +41 -5
- package/dist/triggers/help-lookup.d.ts.map +1 -1
- package/dist/triggers/help-lookup.js +100 -51
- package/dist/triggers/help-lookup.js.map +1 -1
- package/dist/triggers/index.js +1 -1
- package/dist/triggers/routeSpec.d.ts +66 -0
- package/dist/triggers/routeSpec.d.ts.map +1 -0
- package/dist/triggers/routeSpec.js +21 -0
- package/dist/triggers/routeSpec.js.map +1 -0
- package/dist/triggers/routes.generated.d.ts +17 -0
- package/dist/triggers/routes.generated.d.ts.map +1 -0
- package/dist/triggers/routes.generated.js +519 -0
- package/dist/triggers/routes.generated.js.map +1 -0
- package/dist/triggers/routing.d.ts +17 -38
- package/dist/triggers/routing.d.ts.map +1 -1
- package/dist/triggers/routing.js +13 -527
- package/dist/triggers/routing.js.map +1 -1
- package/dist/triggers/scene-01-home.js +9 -9
- package/dist/triggers/scene-01-home.js.map +1 -1
- package/dist/triggers/scene-02-diet.js +62 -62
- package/dist/triggers/scene-02-diet.js.map +1 -1
- package/dist/triggers/scene-03-weight.js +54 -54
- package/dist/triggers/scene-03-weight.js.map +1 -1
- package/dist/triggers/scene-04-exercise.js +33 -33
- package/dist/triggers/scene-04-exercise.js.map +1 -1
- package/dist/triggers/scene-05-workout.js +32 -32
- package/dist/triggers/scene-05-workout.js.map +1 -1
- package/dist/triggers/scene-06-goal.d.ts +1 -1
- package/dist/triggers/scene-06-goal.d.ts.map +1 -1
- package/dist/triggers/scene-06-goal.js +25 -24
- package/dist/triggers/scene-06-goal.js.map +1 -1
- package/dist/triggers/scene-07-profile.js +4 -4
- package/dist/triggers/scene-07-profile.js.map +1 -1
- package/dist/triggers/scene-08-body.js +10 -10
- package/dist/triggers/scene-08-body.js.map +1 -1
- package/dist/triggers/scene-09-photo.js +10 -10
- package/dist/triggers/scene-09-photo.js.map +1 -1
- package/dist/triggers/scene-10-analysis.js +176 -176
- package/dist/triggers/scene-10-analysis.js.map +1 -1
- package/dist/triggers/wake-assets.d.ts +47 -0
- package/dist/triggers/wake-assets.d.ts.map +1 -0
- package/dist/triggers/wake-assets.js +4725 -0
- package/dist/triggers/wake-assets.js.map +1 -0
- package/dist/weight/commands.d.ts +21 -0
- package/dist/weight/commands.d.ts.map +1 -0
- package/dist/weight/commands.js +18 -0
- package/dist/weight/commands.js.map +1 -0
- package/dist/weight/compare.d.ts +60 -0
- package/dist/weight/compare.d.ts.map +1 -0
- package/dist/weight/compare.js +570 -0
- package/dist/weight/compare.js.map +1 -0
- package/dist/weight/edit.d.ts +13 -0
- package/dist/weight/edit.d.ts.map +1 -0
- package/dist/weight/edit.js +87 -0
- package/dist/weight/edit.js.map +1 -0
- package/dist/weight/fieldLabels.d.ts +5 -0
- package/dist/weight/fieldLabels.d.ts.map +1 -0
- package/dist/weight/fieldLabels.js +23 -0
- package/dist/weight/fieldLabels.js.map +1 -0
- package/dist/weight/figures.d.ts +87 -0
- package/dist/weight/figures.d.ts.map +1 -0
- package/dist/weight/figures.js +219 -0
- package/dist/weight/figures.js.map +1 -0
- package/dist/weight/history.d.ts +85 -0
- package/dist/weight/history.d.ts.map +1 -0
- package/dist/weight/history.js +771 -0
- package/dist/weight/history.js.map +1 -0
- package/dist/weight/index.d.ts +27 -0
- package/dist/weight/index.d.ts.map +1 -0
- package/dist/weight/index.js +23 -0
- package/dist/weight/index.js.map +1 -0
- package/dist/weight/log.d.ts +40 -0
- package/dist/weight/log.d.ts.map +1 -0
- package/dist/weight/log.js +355 -0
- package/dist/weight/log.js.map +1 -0
- package/dist/weight/logReceipt.d.ts +28 -0
- package/dist/weight/logReceipt.d.ts.map +1 -0
- package/dist/weight/logReceipt.js +259 -0
- package/dist/weight/logReceipt.js.map +1 -0
- package/dist/weight/plate.d.ts +77 -0
- package/dist/weight/plate.d.ts.map +1 -0
- package/dist/weight/plate.js +60 -0
- package/dist/weight/plate.js.map +1 -0
- package/dist/weight/plateDocs.d.ts +83 -0
- package/dist/weight/plateDocs.d.ts.map +1 -0
- package/dist/weight/plateDocs.js +179 -0
- package/dist/weight/plateDocs.js.map +1 -0
- package/dist/weight/receipt.d.ts +23 -0
- package/dist/weight/receipt.d.ts.map +1 -0
- package/dist/weight/receipt.js +178 -0
- package/dist/weight/receipt.js.map +1 -0
- package/dist/weight/records.d.ts +109 -0
- package/dist/weight/records.d.ts.map +1 -0
- package/dist/weight/records.js +210 -0
- package/dist/weight/records.js.map +1 -0
- package/dist/weight/review.d.ts +114 -0
- package/dist/weight/review.d.ts.map +1 -0
- package/dist/weight/review.js +651 -0
- package/dist/weight/review.js.map +1 -0
- package/dist/weight/routes.d.ts +7 -0
- package/dist/weight/routes.d.ts.map +1 -0
- package/dist/weight/routes.js +68 -0
- package/dist/weight/routes.js.map +1 -0
- package/dist/weight/volatility.d.ts +78 -0
- package/dist/weight/volatility.d.ts.map +1 -0
- package/dist/weight/volatility.js +203 -0
- package/dist/weight/volatility.js.map +1 -0
- package/dist/weight/volatilityDoc.d.ts +10 -0
- package/dist/weight/volatilityDoc.d.ts.map +1 -0
- package/dist/weight/volatilityDoc.js +395 -0
- package/dist/weight/volatilityDoc.js.map +1 -0
- package/dist/weight/weightCompare.d.ts +70 -0
- package/dist/weight/weightCompare.d.ts.map +1 -0
- package/dist/weight/weightCompare.js +221 -0
- package/dist/weight/weightCompare.js.map +1 -0
- package/dist/weight/weightCompare2.d.ts +66 -0
- package/dist/weight/weightCompare2.d.ts.map +1 -0
- package/dist/weight/weightCompare2.js +218 -0
- package/dist/weight/weightCompare2.js.map +1 -0
- package/dist/weight/weightCompare3.d.ts +18 -0
- package/dist/weight/weightCompare3.d.ts.map +1 -0
- package/dist/weight/weightCompare3.js +222 -0
- package/dist/weight/weightCompare3.js.map +1 -0
- package/dist/weight/weightUi.d.ts +114 -0
- package/dist/weight/weightUi.d.ts.map +1 -0
- package/dist/weight/weightUi.js +256 -0
- package/dist/weight/weightUi.js.map +1 -0
- package/dist/workout/commands.d.ts +29 -0
- package/dist/workout/commands.d.ts.map +1 -0
- package/dist/workout/commands.js +35 -0
- package/dist/workout/commands.js.map +1 -0
- package/dist/workout/contraindication.d.ts +11 -0
- package/dist/workout/contraindication.d.ts.map +1 -0
- package/dist/workout/contraindication.js +11 -0
- package/dist/workout/contraindication.js.map +1 -0
- package/dist/workout/dayPhrase.d.ts +13 -0
- package/dist/workout/dayPhrase.d.ts.map +1 -0
- package/dist/workout/dayPhrase.js +15 -0
- package/dist/workout/dayPhrase.js.map +1 -0
- package/dist/workout/fieldLabels.d.ts +5 -0
- package/dist/workout/fieldLabels.d.ts.map +1 -0
- package/dist/workout/fieldLabels.js +45 -0
- package/dist/workout/fieldLabels.js.map +1 -0
- package/dist/workout/index.d.ts +30 -0
- package/dist/workout/index.d.ts.map +1 -0
- package/dist/workout/index.js +34 -0
- package/dist/workout/index.js.map +1 -0
- package/dist/workout/land.d.ts +45 -0
- package/dist/workout/land.d.ts.map +1 -0
- package/dist/workout/land.js +280 -0
- package/dist/workout/land.js.map +1 -0
- package/dist/workout/landBatch.d.ts +60 -0
- package/dist/workout/landBatch.d.ts.map +1 -0
- package/dist/workout/landBatch.js +225 -0
- package/dist/workout/landBatch.js.map +1 -0
- package/dist/workout/landBatchPages.d.ts +31 -0
- package/dist/workout/landBatchPages.d.ts.map +1 -0
- package/dist/workout/landBatchPages.js +132 -0
- package/dist/workout/landBatchPages.js.map +1 -0
- package/dist/workout/landPages.d.ts +41 -0
- package/dist/workout/landPages.d.ts.map +1 -0
- package/dist/workout/landPages.js +153 -0
- package/dist/workout/landPages.js.map +1 -0
- package/dist/workout/landRunner.d.ts +42 -0
- package/dist/workout/landRunner.d.ts.map +1 -0
- package/dist/workout/landRunner.js +155 -0
- package/dist/workout/landRunner.js.map +1 -0
- package/dist/workout/movementType.d.ts +14 -0
- package/dist/workout/movementType.d.ts.map +1 -0
- package/dist/workout/movementType.js +16 -0
- package/dist/workout/movementType.js.map +1 -0
- package/dist/workout/plan.d.ts +21 -0
- package/dist/workout/plan.d.ts.map +1 -0
- package/dist/workout/plan.js +44 -0
- package/dist/workout/plan.js.map +1 -0
- package/dist/workout/planStore.d.ts +157 -0
- package/dist/workout/planStore.d.ts.map +1 -0
- package/dist/workout/planStore.js +282 -0
- package/dist/workout/planStore.js.map +1 -0
- package/dist/workout/precheckPrompt.d.ts +7 -0
- package/dist/workout/precheckPrompt.d.ts.map +1 -0
- package/dist/workout/precheckPrompt.js +35 -0
- package/dist/workout/precheckPrompt.js.map +1 -0
- package/dist/workout/progress.d.ts +12 -0
- package/dist/workout/progress.d.ts.map +1 -0
- package/dist/workout/progress.js +16 -0
- package/dist/workout/progress.js.map +1 -0
- package/dist/workout/receipt.d.ts +15 -0
- package/dist/workout/receipt.d.ts.map +1 -0
- package/dist/workout/receipt.js +128 -0
- package/dist/workout/receipt.js.map +1 -0
- package/dist/workout/review.d.ts +12 -0
- package/dist/workout/review.d.ts.map +1 -0
- package/dist/workout/review.js +15 -0
- package/dist/workout/review.js.map +1 -0
- package/dist/workout/routes.d.ts +13 -0
- package/dist/workout/routes.d.ts.map +1 -0
- package/dist/workout/routes.js +49 -0
- package/dist/workout/routes.js.map +1 -0
- package/dist/workout/wizard.d.ts +14 -0
- package/dist/workout/wizard.d.ts.map +1 -0
- package/dist/workout/wizard.js +20 -0
- package/dist/workout/wizard.js.map +1 -0
- package/dist/workout/write.d.ts +78 -0
- package/dist/workout/write.d.ts.map +1 -0
- package/dist/workout/write.js +607 -0
- package/dist/workout/write.js.map +1 -0
- package/dist/workout/xunjiBackfill.d.ts +36 -0
- package/dist/workout/xunjiBackfill.d.ts.map +1 -0
- package/dist/workout/xunjiBackfill.js +198 -0
- package/dist/workout/xunjiBackfill.js.map +1 -0
- package/dist/workout/xunjiPush.d.ts +33 -0
- package/dist/workout/xunjiPush.d.ts.map +1 -0
- package/dist/workout/xunjiPush.js +236 -0
- package/dist/workout/xunjiPush.js.map +1 -0
- package/dist/workout/xunjiRunner.d.ts +29 -0
- package/dist/workout/xunjiRunner.d.ts.map +1 -0
- package/dist/workout/xunjiRunner.js +110 -0
- package/dist/workout/xunjiRunner.js.map +1 -0
- package/dist/xunji/backfill.d.ts +63 -0
- package/dist/xunji/backfill.d.ts.map +1 -0
- package/dist/xunji/backfill.js +150 -0
- package/dist/xunji/backfill.js.map +1 -0
- package/dist/xunji/catalog.d.ts +53 -0
- package/dist/xunji/catalog.d.ts.map +1 -0
- package/dist/xunji/catalog.js +126 -0
- package/dist/xunji/catalog.js.map +1 -0
- package/dist/xunji/cli.d.ts +3 -0
- package/dist/xunji/cli.d.ts.map +1 -0
- package/dist/xunji/cli.js +15 -0
- package/dist/xunji/cli.js.map +1 -0
- package/dist/xunji/exitMap.d.ts +37 -0
- package/dist/xunji/exitMap.d.ts.map +1 -0
- package/dist/xunji/exitMap.js +42 -0
- package/dist/xunji/exitMap.js.map +1 -0
- package/dist/xunji/fetch.d.ts +77 -0
- package/dist/xunji/fetch.d.ts.map +1 -0
- package/dist/xunji/fetch.js +160 -0
- package/dist/xunji/fetch.js.map +1 -0
- package/dist/xunji/index.d.ts +21 -0
- package/dist/xunji/index.d.ts.map +1 -0
- package/dist/xunji/index.js +18 -0
- package/dist/xunji/index.js.map +1 -0
- package/dist/xunji/key.d.ts +77 -0
- package/dist/xunji/key.d.ts.map +1 -0
- package/dist/xunji/key.js +160 -0
- package/dist/xunji/key.js.map +1 -0
- package/dist/xunji/overlay-plan.d.ts +79 -0
- package/dist/xunji/overlay-plan.d.ts.map +1 -0
- package/dist/xunji/overlay-plan.js +145 -0
- package/dist/xunji/overlay-plan.js.map +1 -0
- package/dist/xunji/planSource.d.ts +40 -0
- package/dist/xunji/planSource.d.ts.map +1 -0
- package/dist/xunji/planSource.js +78 -0
- package/dist/xunji/planSource.js.map +1 -0
- package/dist/xunji/push.d.ts +55 -0
- package/dist/xunji/push.d.ts.map +1 -0
- package/dist/xunji/push.js +69 -0
- package/dist/xunji/push.js.map +1 -0
- package/dist/xunji/rateLimit.d.ts +44 -0
- package/dist/xunji/rateLimit.d.ts.map +1 -0
- package/dist/xunji/rateLimit.js +99 -0
- package/dist/xunji/rateLimit.js.map +1 -0
- package/dist/xunji/request.d.ts +48 -0
- package/dist/xunji/request.d.ts.map +1 -0
- package/dist/xunji/request.js +60 -0
- package/dist/xunji/request.js.map +1 -0
- package/dist/xunji/retry.d.ts +50 -0
- package/dist/xunji/retry.d.ts.map +1 -0
- package/dist/xunji/retry.js +106 -0
- package/dist/xunji/retry.js.map +1 -0
- package/dist/xunji/rows.d.ts +32 -0
- package/dist/xunji/rows.d.ts.map +1 -0
- package/dist/xunji/rows.js +74 -0
- package/dist/xunji/rows.js.map +1 -0
- package/dist/xunji/run-sync.d.ts +106 -0
- package/dist/xunji/run-sync.d.ts.map +1 -0
- package/dist/xunji/run-sync.js +223 -0
- package/dist/xunji/run-sync.js.map +1 -0
- package/dist/xunji/run.d.ts +56 -0
- package/dist/xunji/run.d.ts.map +1 -0
- package/dist/xunji/run.js +300 -0
- package/dist/xunji/run.js.map +1 -0
- package/dist/xunji/store.d.ts +31 -0
- package/dist/xunji/store.d.ts.map +1 -0
- package/dist/xunji/store.js +60 -0
- package/dist/xunji/store.js.map +1 -0
- package/dist/xunji/subcommands.d.ts +64 -0
- package/dist/xunji/subcommands.d.ts.map +1 -0
- package/dist/xunji/subcommands.js +203 -0
- package/dist/xunji/subcommands.js.map +1 -0
- package/dist/xunji/upsert.d.ts +61 -0
- package/dist/xunji/upsert.d.ts.map +1 -0
- package/dist/xunji/upsert.js +100 -0
- package/dist/xunji/upsert.js.map +1 -0
- package/package.json +7 -3
- package/src/xunji/data//350/256/255/350/256/260/345/256/230/346/226/271/345/212/250/344/275/234.json +1099 -0
- package/templates/help.html +1 -1
- package/workflows/08-/350/272/253/344/275/223/347/273/206/350/212/202.md +60 -0
- package/workflows/09-/350/272/253/346/235/220/347/205/247/347/211/207.md +98 -0
- package/dist/render/profilePlate.d.ts +0 -17
- package/dist/render/profilePlate.d.ts.map +0 -1
- package/dist/render/profilePlate.js +0 -18
- package/dist/render/profilePlate.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/photo/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** 存身材照(HELP 一级分组「身材照片」下一级):`calorie.photo.add` 写命令。
|
|
2
|
+
*
|
|
3
|
+
* 老口径照旧:**只做引用、不碰二进制**——`addPhotos` 只登记文件名与标签,照片本体留在
|
|
4
|
+
* 用户给的照片目录里。`case` 逐字搬自旧分派层 `cli/write.ts`(#314 纯搬迁,行为不变)。
|
|
5
|
+
*/
|
|
6
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
7
|
+
import type { WriteOut } from '../shared/commandSpec.js';
|
|
8
|
+
/** `calorie.photo.add` · 记身材照(至多 20 张;源文件都不存在即 missing-data,不写半条空记录)。 */
|
|
9
|
+
export declare function writePhotoAdd(params: Record<string, unknown>, db: DatabaseSync): WriteOut;
|
|
10
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/photo/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKzD,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,GAAG,QAAQ,CA2BzF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { addPhotos, daysSinceTagPhoto } from './photos.js';
|
|
2
|
+
import { buildAddReceipt } from './photo.js';
|
|
3
|
+
import { withM5 } from '../render/receipt.js';
|
|
4
|
+
import { CalorieRenderError } from '../render/errors.js';
|
|
5
|
+
import { todayISO } from '../analysis/utils.js';
|
|
6
|
+
import { F, commandLine, totalChanges } from '../shared/writeParts.js';
|
|
7
|
+
import { assertISO, fail, needStr, optStr, wday } from '../shared/params.js';
|
|
8
|
+
import { photoDirOrThrow } from './dir.js';
|
|
9
|
+
import { embedPhotos } from './photoThumb.js';
|
|
10
|
+
import { buildPhotoAddDoc } from './receipt.js';
|
|
11
|
+
/** `calorie.photo.add` · 记身材照(至多 20 张;源文件都不存在即 missing-data,不写半条空记录)。 */
|
|
12
|
+
export function writePhotoAdd(params, db) {
|
|
13
|
+
const raw = params['srcPaths'] ?? params['srcPath'];
|
|
14
|
+
const srcPaths = (Array.isArray(raw) ? raw : [raw]).filter((s) => typeof s === 'string' && s.length > 0);
|
|
15
|
+
if (srcPaths.length === 0)
|
|
16
|
+
fail(2, '缺参数 srcPaths(照片源文件路径数组)');
|
|
17
|
+
if (srcPaths.length > 20)
|
|
18
|
+
fail(2, 'srcPaths 至多 20 张');
|
|
19
|
+
const tag = needStr(params, 'tag');
|
|
20
|
+
const dir = photoDirOrThrow(params);
|
|
21
|
+
const today = wday(params, 'date') ?? todayISO();
|
|
22
|
+
assertISO(today, 'date');
|
|
23
|
+
const note = optStr(params, 'note');
|
|
24
|
+
const before = totalChanges(db);
|
|
25
|
+
const added = addPhotos(db, dir, { srcPaths, tag, note, today, nowTime: optStr(params, 'time') });
|
|
26
|
+
if (added.length === 0)
|
|
27
|
+
throw new CalorieRenderError('missing-data', '照片源文件均不存在,未存入');
|
|
28
|
+
let distance = null;
|
|
29
|
+
try {
|
|
30
|
+
const days = daysSinceTagPhoto(db, tag, today);
|
|
31
|
+
distance = days === null ? null : { tag, days };
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
distance = null;
|
|
35
|
+
}
|
|
36
|
+
// #476:把源文件清单交给回执层——失败张要点名上页(原来只传个数,页上看不见是哪张)。
|
|
37
|
+
const receipt = withM5(buildAddReceipt(added, { tag, note, distance, srcPaths }), {
|
|
38
|
+
ids: added.map((a) => a.id), writtenFields: [...F.photo],
|
|
39
|
+
affectedRows: totalChanges(db) - before,
|
|
40
|
+
});
|
|
41
|
+
const embeds = embedPhotos(dir, added.map((a) => ({ photoPath: a.file })));
|
|
42
|
+
return { data: { ok: true, message: receipt.summary, receipt }, html: buildPhotoAddDoc(receipt, { embeds, tag, note, date: today, command: commandLine('calorie.photo.add', params) }) };
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/photo/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ViewerData } from './photo.js';
|
|
2
|
+
/** 单张整页:完整文档(doctype 起、charset、版面、复制区)+大图内嵌+翻页链+这张照片的信息。
|
|
3
|
+
* #654:`command`=本次命令原文(命令层 `gallery.ts` 的 `commandLine()` 派生),进复制日志第 4 段。 */
|
|
4
|
+
export declare function buildPhotoViewerDoc(v: ViewerData, photosDir: string | null | undefined, command: string): string;
|
|
5
|
+
//# sourceMappingURL=viewerDoc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewerDoc.d.ts","sourceRoot":"","sources":["../../src/photo/viewerDoc.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,YAAY,CAAC;AAgNxD;+EAC+E;AAC/E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAShH"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/** #281 · 查身材照单张整页文档(完整文档+内嵌照片+复制区,兼任删流程快照)。
|
|
2
|
+
*
|
|
3
|
+
* 取数仍是 `photo.ts` 的 `buildViewerData`(同标签 prev/next,首尾 null 口径不变),
|
|
4
|
+
* 本件只做呈现组装:上下张翻页链(可点,中张双链,首尾无空 href)→大图卡(黑底 75vh contain,
|
|
5
|
+
* 老页 `body_photo_viewer.html:28-29` 规则)→这张照片的信息→删这张照片+回画廊→复制区,
|
|
6
|
+
* 经共用件 `assembleDocPage` 包成 `<!doctype html>` 起的完整文档。
|
|
7
|
+
*
|
|
8
|
+
* **#473(B 组)**:眉标整行删;「翻页禁用」「超预算未嵌」「未校验」「硬删除,不可恢复」这些系统
|
|
9
|
+
* 口吻与专业话一律出页面;图注收成「什么时候 + 标签 + 文件名」;文件在位时不再写「文件存在」。
|
|
10
|
+
* 复制区(给 AI 的机器内容)一字不动。
|
|
11
|
+
*
|
|
12
|
+
* **#526(读侧族重排 · 本票)**——四条改动,体积退让行为(超 1 MiB 不内嵌,`#438` 口径)一行未改:
|
|
13
|
+
* ① **分隔符债归零**(节点级命中 10 → 0):图注四件事串一行 ⇒ 拆成「时刻(一行)+ 徽章列
|
|
14
|
+
* (编号/标签/相对时间)」;`← 上一张 #16 · 下一张 #23 →` 两个动作串一行 ⇒ 两枚各自的
|
|
15
|
+
* 翻页块;标题 `身材照查看 #19` 与读数卡 `编号 #19` 的裸 `#` 号 ⇒ 页头改人话标题
|
|
16
|
+
* (`2026-05-30 的身材照`)+身份徽章 `编号 19`;
|
|
17
|
+
* ② **机器话下屏**:两条命令原文(`calorie-cmd-read …`)从可见的 `<pre>` 撤到复制按钮的
|
|
18
|
+
* `data-t` 里——读者要的是「点一下复制、粘给我就能跑」,不是让一条命令占半屏;
|
|
19
|
+
* ③ **文案去冗余**:删掉「内嵌 0/1 张」这种内部读数、「照片没显示(太大放不下:…)」与
|
|
20
|
+
* 「这张图太大放不下(超过 1 MB)…」两句同一件事、以及六列单行表(一张照片用六列表,
|
|
21
|
+
* 窄屏被备注列撑爆);改由一句结论条(多大/放没放进本页)+键值行(文件/备注)承担;
|
|
22
|
+
* ④ **手机端**:本族页内样式住 `photoUi.ts`(断点 820/640,触摸区 ≥44px),键值行窄屏塌纵向。
|
|
23
|
+
*
|
|
24
|
+
* **#654(读页复制日志 · 本席位)**:底部 ghost 行补回**真**「复制日志」——本页以前只有
|
|
25
|
+
* `dataCopyArea`(只出数据那颗),日志那颗靠公共层 #336 兜底补的禁用占位(#654 已撤那条兜底路径)。
|
|
26
|
+
* 现在本页自己给:`copyArea({ data, log })` 双位齐全,第 4 段=本次命令原文(命令层 `gallery.ts` 传
|
|
27
|
+
* `commandLine()`)。页内那两个动作按钮(删这张/回画廊)一字未动。
|
|
28
|
+
*/
|
|
29
|
+
import { escapeHtml, renderStatusBadge } from 'base-paint';
|
|
30
|
+
import { renderMediaPlaceholder } from 'base-paint';
|
|
31
|
+
import { renderConclusionBar } from 'base-paint/blocks';
|
|
32
|
+
import { COPY_ACTION_IDS, renderActionBar } from 'base-paint';
|
|
33
|
+
import { assembleDocPage } from '../shared/docPage.js';
|
|
34
|
+
import { copyArea, copyLog } from '../shared/copyArea.js';
|
|
35
|
+
import { nowStamp } from '../render/receipt.js';
|
|
36
|
+
import { CALORIE_COPY_ACTION } from '../render/copy.js';
|
|
37
|
+
import { todayISO } from '../analysis/utils.js';
|
|
38
|
+
import { PHOTO_LIST_PAGE_MAX_BYTES } from './galleryDoc.js';
|
|
39
|
+
import { embedPhoto } from './photoThumb.js';
|
|
40
|
+
import { chipRow, factRows, noteSegments, photoUiCss } from './photoUi.js';
|
|
41
|
+
/** envelope 头(值冻结对齐 cli/keys.ts ENVELOPE_VERSION/CALORIE_SKILL;测试钉死一致)。 */
|
|
42
|
+
const DOC_VERSION = '0.1.0';
|
|
43
|
+
const DOC_SKILL = 'calorie';
|
|
44
|
+
/** 本页 head 标题(整页模板住 `src/shared/docPage.ts`,标题走参数)。
|
|
45
|
+
* #526:`卡路里·身材照片` 里的 `·` 是符号顶替版面,改空格。 */
|
|
46
|
+
const DOC_TITLE = '卡路里 身材照片';
|
|
47
|
+
/** 本页小节标题的类名(#467 先例:KPI 区那把尺,不新造样式)。 */
|
|
48
|
+
const H2_CLASS = 'ilife-block-kpi-card-title';
|
|
49
|
+
/** 复制日志第 3 段后半的数据来源(前半=库文件名,由 `shared/copyArea.ts` 的 `copyLog` 拼)。 */
|
|
50
|
+
const LOG_SOURCE = 'body_photos(单张照片记录)';
|
|
51
|
+
/** 删这张照片那两句(人话+安全感):全页「不可恢复」只说这一次,说成「找不回来」。 */
|
|
52
|
+
const DELETE_HEADING = '删掉这张照片';
|
|
53
|
+
const DELETE_SAFETY = '删了就找不回来,先确认上面那张是不是它';
|
|
54
|
+
const DELETE_HINT = '点一下复制,粘到对话里发我就能跑';
|
|
55
|
+
/** 翻页命令原文(落盘静态页无稳定单图路由:锚点给可点形态,`data-command` 给照抄重跑命令)。
|
|
56
|
+
* #526:命令原文只住属性(`<pre>` 那两处已撤,见件头 ②)——读者可见的是两枚复制按钮。 */
|
|
57
|
+
function detailCommand(id) {
|
|
58
|
+
return 'calorie-cmd-read calorie.photo.detail --params \'{"id": ' + id + '}\'';
|
|
59
|
+
}
|
|
60
|
+
/** 相对时间(人话):今天/昨天/N 天前/N 个月前/N 年前;按自然日粗算,不追求精确日历。
|
|
61
|
+
* 「今天」取自 `todayISO()`(唯一出处;`CALORIE_TODAY` 可把它钉死,测试与基线用得上)。 */
|
|
62
|
+
function relTime(date, today) {
|
|
63
|
+
const days = Math.round((Date.parse(today + 'T12:00:00Z') - Date.parse(date + 'T12:00:00Z')) / 86400000);
|
|
64
|
+
if (days <= 0)
|
|
65
|
+
return '今天';
|
|
66
|
+
if (days === 1)
|
|
67
|
+
return '昨天';
|
|
68
|
+
if (days < 30)
|
|
69
|
+
return days + ' 天前';
|
|
70
|
+
if (days < 365)
|
|
71
|
+
return Math.round(days / 30) + ' 个月前';
|
|
72
|
+
return Math.round(days / 365) + ' 年前';
|
|
73
|
+
}
|
|
74
|
+
/** 什么时候拍的:`2026-05-30 17:44`(秒位不进页面)。 */
|
|
75
|
+
function whenText(p) {
|
|
76
|
+
const hhmm = (p.time ?? '').slice(0, 5);
|
|
77
|
+
return p.date + (hhmm === '' ? '' : ' ' + hhmm);
|
|
78
|
+
}
|
|
79
|
+
/** 文件大小(人话):一位小数的 MB/整数 KB/「字节」兜底;读不出即空串。 */
|
|
80
|
+
function sizeText(bytes) {
|
|
81
|
+
if (bytes === null || !Number.isFinite(bytes))
|
|
82
|
+
return '';
|
|
83
|
+
if (bytes < 1024)
|
|
84
|
+
return bytes + ' 字节';
|
|
85
|
+
if (bytes < 1024 * 1024)
|
|
86
|
+
return Math.round(bytes / 1024) + ' KB';
|
|
87
|
+
return (bytes / (1024 * 1024)).toFixed(1) + ' MB';
|
|
88
|
+
}
|
|
89
|
+
/** 上一张/下一张(老页 `:74-77` 链接+`:137`/`:142` 置灰):有邻即锚点,无邻即一句人话
|
|
90
|
+
* (无空 href,不出坏链;不写「翻页禁用」这种系统口吻)。
|
|
91
|
+
* #484:裸 `<a>` 在手机上只有 20px 高(低于 44px 下限)——给足触摸区(`min-height:44px` +
|
|
92
|
+
* 行内 flex 居中),两邻共用同一条约束。
|
|
93
|
+
* #526:两个动作各自成形(不再是 `上一张 #16 · 下一张 #23` 那一行),编号进小字块。 */
|
|
94
|
+
const NAV_LINK_STYLE = 'min-height:44px;display:inline-flex;align-items:center';
|
|
95
|
+
function navHtml(v) {
|
|
96
|
+
const prev = v.prevId === null
|
|
97
|
+
? '<span aria-disabled="true">已是第一张</span>'
|
|
98
|
+
: '<a style="' + NAV_LINK_STYLE + '" href="#photo-' + v.prevId + '" data-command="' + escapeHtml(detailCommand(v.prevId)) + '">← 上一张<span class="phu-nav-id">编号 ' + v.prevId + '</span></a>';
|
|
99
|
+
const next = v.nextId === null
|
|
100
|
+
? '<span aria-disabled="true">已是最后一张</span>'
|
|
101
|
+
: '<a style="' + NAV_LINK_STYLE + '" href="#photo-' + v.nextId + '" data-command="' + escapeHtml(detailCommand(v.nextId)) + '"><span class="phu-nav-id">编号 ' + v.nextId + '</span>下一张 →</a>';
|
|
102
|
+
return '<div data-nav>' + prev + next + '</div>';
|
|
103
|
+
}
|
|
104
|
+
/** 结论条那一句(全页只此一处说「能不能看/多大/为什么」):四态各归各的说法。
|
|
105
|
+
* 图正常显示时**不出结论条**(看图就能看出来,见 `contentOf`)——那时「多大」由键值行说。 */
|
|
106
|
+
function verdictOf(e, dropped, p) {
|
|
107
|
+
const size = sizeText(e.bytes);
|
|
108
|
+
if (p.fileExists === false)
|
|
109
|
+
return '这份原图不在照片目录里,图放不出来';
|
|
110
|
+
if (dropped)
|
|
111
|
+
return '这张原图 ' + (size === '' ? '' : size + ',') + '一页放不下,图没放进本页';
|
|
112
|
+
if (e.dataUri !== null)
|
|
113
|
+
return '这张原图 ' + size + ',已经放在本页,可以直接看';
|
|
114
|
+
if (e.missing !== null && e.missing.includes('未配照片目录'))
|
|
115
|
+
return '还没设照片目录,读不到这份原图';
|
|
116
|
+
return '这张原图读不出来,下面留着文件名';
|
|
117
|
+
}
|
|
118
|
+
/** 占位那一格说什么(#526 收口第二轮 · 编排者转来的必改项):**同一事实一页一处**。
|
|
119
|
+
* 页顶那条结论条说**结果与原因**(放没放进本页/多大/为什么);这一格只说**哪一份文件 +
|
|
120
|
+
* 下一步做什么**——上一版这里还挂了一枚「原图太大」徽标,与结论条的「一页装不下」是同一件事,
|
|
121
|
+
* 且「超过一页能装的量,没进这一页」与结论条那句逐字相近,全页复读两遍。现在两处各说各的。 */
|
|
122
|
+
function missHint(p, e, dropped) {
|
|
123
|
+
if (dropped)
|
|
124
|
+
return { next: '想看原图:自己打开这份文件' };
|
|
125
|
+
if (p.fileExists === false)
|
|
126
|
+
return { next: '把文件放回照片目录就会有图' };
|
|
127
|
+
if (e.missing !== null && e.missing.includes('未配照片目录'))
|
|
128
|
+
return { next: '先设好照片目录,再跑一次' };
|
|
129
|
+
return { next: '把文件放回照片目录就会有图' };
|
|
130
|
+
}
|
|
131
|
+
/** 大图卡(黑底 75vh contain,老页 `:28-29` 规则);没图那态给占位——**明写哪一份文件与下一步**。 */
|
|
132
|
+
function figureHtml(p, e, dropped) {
|
|
133
|
+
const fileName = e.fileName;
|
|
134
|
+
if (!dropped && e.dataUri !== null) {
|
|
135
|
+
return '<figure data-id="' + p.id + '" id="photo-' + p.id + '">'
|
|
136
|
+
+ '<div style="background:#000;display:flex;align-items:center;justify-content:center;max-height:75vh;overflow:hidden">'
|
|
137
|
+
+ '<img src="' + e.dataUri + '" alt="身材照 ' + p.id
|
|
138
|
+
+ '" style="max-width:100%;max-height:75vh;object-fit:contain" /></div></figure>';
|
|
139
|
+
}
|
|
140
|
+
const m = missHint(p, e, dropped);
|
|
141
|
+
// #526 收口第二轮:占位改用公共层同规格媒体占位件(框体与真图同一段装配,规格由代码保证)。
|
|
142
|
+
return '<figure data-id="' + p.id + '" id="photo-' + p.id + '" class="phu-hero-miss">'
|
|
143
|
+
+ renderMediaPlaceholder({
|
|
144
|
+
alt: '身材照 ' + p.id, ratio: '4-5',
|
|
145
|
+
reason: '这张原图没显示:' + fileName, next: m.next,
|
|
146
|
+
})
|
|
147
|
+
+ '</figure>';
|
|
148
|
+
}
|
|
149
|
+
/** 这张照片的信息(#526 把六列单行表换成键值行):文件 + 原图大小 + 备注。
|
|
150
|
+
*
|
|
151
|
+
* 两处分工(2026-09-15 收口第二轮 · 必改项:结论条与事实条说同一件事):
|
|
152
|
+
* · **大小**只在图已显示时给——那时页顶没有结论条,大小属于「事实」;图没显示时大小由结论条说。
|
|
153
|
+
* · **文件在不在照片目录里**只在**真有事**时给(「不在照片目录里」/「没核对」):
|
|
154
|
+
* 图正常显示时这一枚「在照片目录里」既与结论条/图重复,又是零信息值(不出问题就不必印)。
|
|
155
|
+
* 于是同一页上「能不能看、为什么」全在结论条一处,「文件叫什么、多大、在哪」全在键值行一处。 */
|
|
156
|
+
function infoHtml(p, e, shown) {
|
|
157
|
+
const place = p.fileExists === false
|
|
158
|
+
? renderStatusBadge({ status: 'danger', text: '不在照片目录里' })
|
|
159
|
+
: (p.fileExists === null ? renderStatusBadge({ status: 'empty', text: '没核对' }) : '');
|
|
160
|
+
const rows = [
|
|
161
|
+
{ k: '文件', vHtml: '<code>' + escapeHtml(e.fileName) + '</code> ' + place },
|
|
162
|
+
{ k: '原图大小', v: shown ? sizeText(e.bytes) : '' },
|
|
163
|
+
{ k: '备注', vHtml: p.note === null || p.note === '' ? '' : '<span class="phu-segs">' + noteSegments(p.note) + '</span>' },
|
|
164
|
+
];
|
|
165
|
+
return '<section><h2 class="' + H2_CLASS + '">这张照片的信息</h2>' + factRows(rows) + '</section>';
|
|
166
|
+
}
|
|
167
|
+
/** 删这张照片 + 回画廊(#526):两句人话 + 一条动作行(两颗复制按钮,命令住 `data-t`,
|
|
168
|
+
* 可见面上不出现命令原文)。actionId 取**冻结表**:删那条走 `CALORIE_COPY_ACTION`(「复制指令」
|
|
169
|
+
* 的既有 id),回画廊那条借冻结的**数据位** id——同一次渲染内两颗 id 必须不同,
|
|
170
|
+
* 「复制回画廊指令」这个标签由本页给。
|
|
171
|
+
* #654:回画廊那颗原来借的是**日志位** id(`ilife-copy-log`);页尾复制区现在有了一颗**真**日志按钮
|
|
172
|
+
* (公共层 `renderActionBar` 的冻结位就是 `ilife-copy-log`),两颗同 id 会让「同一次渲染内 id 唯一」
|
|
173
|
+
* 这条判据与运行时按 id 的委派都分不清谁是谁,故改借**数据位** id——本页真正的数据那颗是三格式菜单的
|
|
174
|
+
* 开合器(不写 `data-action-id`),这一位在本页是空的。 */
|
|
175
|
+
function actionHtml(p) {
|
|
176
|
+
const tag = p.tagList[0] ?? '';
|
|
177
|
+
const backParams = tag ? '{"tag": "' + tag + '"}' : '{}';
|
|
178
|
+
const backCmd = 'calorie-cmd-read calorie.photo.list --params \'' + backParams + '\'';
|
|
179
|
+
const delCmd = 'calorie-cmd-read calorie.photo.remove --params \'{"id": ' + p.id + '}\'';
|
|
180
|
+
return '<section><h2 class="' + H2_CLASS + '">' + DELETE_HEADING + '</h2>'
|
|
181
|
+
+ '<p class="phu-act-s">' + DELETE_SAFETY + '</p>'
|
|
182
|
+
+ renderActionBar({
|
|
183
|
+
copyData: { actionId: CALORIE_COPY_ACTION.actionId, label: '复制删除指令', text: delCmd },
|
|
184
|
+
copyLog: { actionId: COPY_ACTION_IDS.actionBar.copyData, label: '复制回画廊指令', text: backCmd },
|
|
185
|
+
})
|
|
186
|
+
+ '<p class="phu-note">' + DELETE_HINT + '</p></section>';
|
|
187
|
+
}
|
|
188
|
+
/** 复制区(#654):三格式数据 + 复制日志六段(口径与 `galleryDoc.copyAreaOf` 同形:
|
|
189
|
+
* `log` 位收 `LogTextInput`=`{ envelope, copyLog }`,给错形状那颗按钮就落成点不动的死按钮)。 */
|
|
190
|
+
function copyAreaOf(v, command) {
|
|
191
|
+
const envelope = {
|
|
192
|
+
version: DOC_VERSION, skill: DOC_SKILL, shape: 'detail', key: 'calorie.photo.detail',
|
|
193
|
+
data: {
|
|
194
|
+
item: {
|
|
195
|
+
id: v.photo.id, date: v.photo.date, photoPath: v.photo.photoPath,
|
|
196
|
+
tagList: [...v.photo.tagList], fileExists: v.photo.fileExists, prevId: v.prevId, nextId: v.nextId,
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
return copyArea({
|
|
201
|
+
data: { envelope },
|
|
202
|
+
log: {
|
|
203
|
+
envelope,
|
|
204
|
+
copyLog: copyLog({ command, source: LOG_SOURCE, actionAt: nowStamp(), version: DOC_VERSION }),
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
function contentOf(v, e, dropped, command) {
|
|
209
|
+
const p = v.photo;
|
|
210
|
+
const today = todayISO();
|
|
211
|
+
const shown = !dropped && e.dataUri !== null;
|
|
212
|
+
const parts = [photoUiCss()];
|
|
213
|
+
parts.push(chipRow(['编号 ' + p.id, ...(p.tagList.length > 0 ? [...p.tagList] : ['无标签']),
|
|
214
|
+
whenText(p), relTime(p.date, today)]));
|
|
215
|
+
// 结论条只在**有事要说**时出(2026-09-15 收口):图没显示时说清「为什么/多大」;图正常显示时
|
|
216
|
+
// 「已经放在本页,可以直接看」这句是看图就能看出来的话(原图大小改由信息段的「原图大小」键值行承担),
|
|
217
|
+
// 撤掉它,图就贴着页头上来。
|
|
218
|
+
if (!shown)
|
|
219
|
+
parts.push(renderConclusionBar(verdictOf(e, dropped, p)));
|
|
220
|
+
parts.push(navHtml(v));
|
|
221
|
+
parts.push(figureHtml(p, e, dropped));
|
|
222
|
+
parts.push(infoHtml(p, e, shown));
|
|
223
|
+
parts.push(actionHtml(p));
|
|
224
|
+
parts.push(copyAreaOf(v, command));
|
|
225
|
+
return parts.join('');
|
|
226
|
+
}
|
|
227
|
+
function shellOf(v, content) {
|
|
228
|
+
const p = v.photo;
|
|
229
|
+
return assembleDocPage({
|
|
230
|
+
docTitle: DOC_TITLE,
|
|
231
|
+
// #526:标题改人话(原来是「身材照查看 #19」——`#19` 既撞内部标识符判据,也是给机器看的编号);
|
|
232
|
+
// 编号与标签改由页头身份徽章承载,两处各说各的、不重复。
|
|
233
|
+
title: p.date + ' 的身材照',
|
|
234
|
+
eyebrow: '',
|
|
235
|
+
subtitle: null,
|
|
236
|
+
content,
|
|
237
|
+
charts: false,
|
|
238
|
+
// #526 收口:接上 #525 的页面级移动端配方(`viewport-fit=cover`/安全区/44px 触摸区/
|
|
239
|
+
// 窄屏字号下限/页内定位)。不传即老路,本票传真——用户第 2 条要的就是它。
|
|
240
|
+
pageUi: true,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
/** 单张整页:完整文档(doctype 起、charset、版面、复制区)+大图内嵌+翻页链+这张照片的信息。
|
|
244
|
+
* #654:`command`=本次命令原文(命令层 `gallery.ts` 的 `commandLine()` 派生),进复制日志第 4 段。 */
|
|
245
|
+
export function buildPhotoViewerDoc(v, photosDir, command) {
|
|
246
|
+
const e = embedPhoto(photosDir ?? null, v.photo.photoPath);
|
|
247
|
+
let dropped = false;
|
|
248
|
+
let html = shellOf(v, contentOf(v, e, dropped, command));
|
|
249
|
+
if (Buffer.byteLength(html, 'utf8') > PHOTO_LIST_PAGE_MAX_BYTES && e.dataUri !== null) {
|
|
250
|
+
dropped = true;
|
|
251
|
+
html = shellOf(v, contentOf(v, e, dropped, command));
|
|
252
|
+
}
|
|
253
|
+
return html;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=viewerDoc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewerDoc.js","sourceRoot":"","sources":["../../src/photo/viewerDoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** 向导与规划器(HELP 一级分组「身材照片」下一级,唤醒词「看身材照向导」/「看GIF规划器」):
|
|
2
|
+
* 身材照向导 + GIF规划器两条读命令——填表前的取数与预检页。
|
|
3
|
+
*
|
|
4
|
+
* 两条 `case` 逐字搬自旧分派层 `cli/cmd_read.ts`(#314 纯搬迁,行为不变);
|
|
5
|
+
* 视图数据与整页文档走共用件 `render/wizardPort.ts`/`render/wizardPortDocs.ts`,
|
|
6
|
+
* 照片目录走本能力内部件 `dir.ts` 的读侧口径(缺目录不抛)。
|
|
7
|
+
*/
|
|
8
|
+
import type { DatabaseSync } from 'node:sqlite';
|
|
9
|
+
import type { ViewOut } from '../shared/commandSpec.js';
|
|
10
|
+
/** `calorie.view.photo-log-wizard` · 身材照向导:待存文件数与标签是否已给。
|
|
11
|
+
* #654:复制日志第 4 段的命令原文由命令层共用件 `commandLine()` 派生(含本次 `--params`),页面件不自己拼。 */
|
|
12
|
+
export declare function viewPhotoLogWizard(params: Record<string, unknown>): ViewOut;
|
|
13
|
+
/** `calorie.view.gif-planner` · GIF规划器:候选张数/已选/缺失/裁剪项。 */
|
|
14
|
+
export declare function viewGifPlanner(params: Record<string, unknown>, db: DatabaseSync): ViewOut;
|
|
15
|
+
//# sourceMappingURL=wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/photo/wizard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGxD;6EAC6E;AAC7E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAM3E;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,GAAG,OAAO,CAQzF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { buildGifPlannerView, buildPhotoLogWizardView } from '../render/wizardPort.js';
|
|
2
|
+
import { buildGifPlannerDoc, buildPhotoLogWizardDoc } from '../render/wizardPortDocs.js';
|
|
3
|
+
import { nums } from '../shared/params.js';
|
|
4
|
+
import { commandLine } from '../shared/writeParts.js';
|
|
5
|
+
import { photoDir } from './dir.js';
|
|
6
|
+
/** `calorie.view.photo-log-wizard` · 身材照向导:待存文件数与标签是否已给。
|
|
7
|
+
* #654:复制日志第 4 段的命令原文由命令层共用件 `commandLine()` 派生(含本次 `--params`),页面件不自己拼。 */
|
|
8
|
+
export function viewPhotoLogWizard(params) {
|
|
9
|
+
const v = buildPhotoLogWizardView(params);
|
|
10
|
+
const metrics = nums({
|
|
11
|
+
fileCount: v.srcPaths.length, hasTag: v.tag ? 1 : 0,
|
|
12
|
+
});
|
|
13
|
+
return { data: { metrics }, html: buildPhotoLogWizardDoc(v, commandLine('calorie.view.photo-log-wizard', params)) };
|
|
14
|
+
}
|
|
15
|
+
/** `calorie.view.gif-planner` · GIF规划器:候选张数/已选/缺失/裁剪项。 */
|
|
16
|
+
export function viewGifPlanner(params, db) {
|
|
17
|
+
const dir = photoDir(params);
|
|
18
|
+
const v = buildGifPlannerView(db, params, dir ?? null);
|
|
19
|
+
const metrics = nums({
|
|
20
|
+
photoCount: v.photos.length, selectedCount: v.selectedIds.length,
|
|
21
|
+
missingCount: v.missingIds.length, cropCount: v.photos.filter((p) => p.crop).length,
|
|
22
|
+
});
|
|
23
|
+
return { data: { metrics }, html: buildGifPlannerDoc(v, commandLine('calorie.view.gif-planner', params)) };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=wizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/photo/wizard.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;6EAC6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,MAA+B;IAChE,MAAM,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC;QACnB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpD,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,CAAC,CAAC,EAAE,WAAW,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;AACtH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,cAAc,CAAC,MAA+B,EAAE,EAAgB;IAC9E,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC;QACnB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM;QAChE,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;KACpF,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;AAC7G,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** 本件两张页的页内样式。用法:放进整页 `parts` 的第一项(`assembleDocPage` 没有页内 CSS 入口,
|
|
2
|
+
* 同 `photoUi.ts`/`weightUi.ts` 的处置)。 */
|
|
3
|
+
export declare function wizardUiCss(): string;
|
|
4
|
+
/** 确认清单的一项:右栏是**当刻值**(只读),`bodyHtml` 是**点开后才出现**的编辑体。 */
|
|
5
|
+
export interface EditRowInput {
|
|
6
|
+
/** 行名(辅助档 12px/600/弱色)。 */
|
|
7
|
+
readonly k: string;
|
|
8
|
+
/** 当刻值(正文档 14px/400/主色);`\n` 分段(每段各自成一个文本节点,见 `.phu-line`)。 */
|
|
9
|
+
readonly v: string;
|
|
10
|
+
/** `v` 为空时显示的那句话(缺省「还没填」;可选栏写「没填」)。 */
|
|
11
|
+
readonly emptyText?: string;
|
|
12
|
+
/** 值尾的角标(如张数);空串/缺省=不出这一格(零信息值不留位)。 */
|
|
13
|
+
readonly badge?: string;
|
|
14
|
+
/** 展开后的编辑体(受信 HTML:一处参数表单;本件原样透传,调用方自行转义插值)。 */
|
|
15
|
+
readonly bodyHtml: string;
|
|
16
|
+
}
|
|
17
|
+
/** 确认清单(#655 两页共用):一行一个「名字 + 当刻值」,行本体就是原生 `<details>` 的
|
|
18
|
+
* `<summary>` —— **值是只读一行,只有点开的那一行才出输入框**(零 JS)。
|
|
19
|
+
* 为什么不用 `renderDisclosure`:那个件只收一个标题串,装不下「行名 + 值」这个形状。 */
|
|
20
|
+
export declare function editRows(rows: readonly EditRowInput[]): string;
|
|
21
|
+
/** 浅色提示条(#655):那句「改了不会自动生效」原来用加粗长句当标题使,视觉重量压过字段 ——
|
|
22
|
+
* 换浅底条 + 13px + 不上粗体。**文本原样**(措辞归调用方,本件只管形状)。 */
|
|
23
|
+
export declare function noticeBar(text: string): string;
|
|
24
|
+
//# sourceMappingURL=wizardUi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizardUi.d.ts","sourceRoot":"","sources":["../../src/photo/wizardUi.ts"],"names":[],"mappings":"AA2BA;yCACyC;AACzC,wBAAgB,WAAW,IAAI,MAAM,CAkDpC;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;2DAE2D;AAC3D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAa9D;AAED;kDACkD;AAClD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/** #655 · 身材照片**两张过程型页**(09-06 记身材照预检确认页/09-07 生成身材照GIF 规划器)
|
|
2
|
+
* 的确认清单形状与页内样式件(唯一产出者)。
|
|
3
|
+
*
|
|
4
|
+
* ── 为什么另立一件,不并进 `photoUi.ts` ──────────────────────────────────────────────
|
|
5
|
+
* `photoUi.ts` 是**读侧族**(看身材照/查身材照/对比两张照片/删照候选)的形状件,本族另外
|
|
6
|
+
* 七页与它同生共死。本票要治的是「名+空框+灰示例」那种三层噪音 —— 治法只服务这两张过程型页;
|
|
7
|
+
* 样式并进 `photoUiCss()` 会让那七页的**产物字节**跟着变(css 串进了它们每一个 `<style>`),
|
|
8
|
+
* 等于本票顺手动了别人的页。故样式与形状同住这一件,只有这两页取用。
|
|
9
|
+
* 同族先例:`weight/weightUi.ts`、`exercise/sportUi.ts`、`src/render/reviewDocsCss.ts` —— 一族一件。
|
|
10
|
+
*
|
|
11
|
+
* ── 口径(负责人 2026-09-16 验收打回的那张图,逐条落到形状上)──────────────────────
|
|
12
|
+
* ① 值先以**只读一行**出现;点开哪一行,才出哪一行的输入(行本体是原生 `<details>`,零 JS)。
|
|
13
|
+
* 这一页的定位是「确认 AI 已经用好的值」,不是「让人逐个核对的空表单」。
|
|
14
|
+
* ② 三档层级定死,不再一屏同档:块标题 15/600(`.phu-sec`,住 `photoUi.ts`)、
|
|
15
|
+
* 行名 12/600 弱色(`.phu-edit-k`)、值 14/400 主色(`.phu-edit-v`)。
|
|
16
|
+
* ③ 只读位与可编辑位**形状分得开**:只读值住白卡里的细线行,输入框只在展开后出现、走细边白底。
|
|
17
|
+
* ④ 那句「改了不会自动生效」原来是加粗长句当标题使 —— 改浅底提示条(`noticeBar`),
|
|
18
|
+
* 降一档字号、不上粗体,视觉重量退回字段之下。
|
|
19
|
+
*
|
|
20
|
+
* ── 共享位边界(不许越)──
|
|
21
|
+
* 徽章走 `base-paint/blocks` 的 `renderChips`,参数表单走公共层 `renderParamForm`(本件不重写
|
|
22
|
+
* `min/max/step/options` 的落位口径),字号与色值只用冻结 token;`packages/base-render/**` 一行不碰。
|
|
23
|
+
*/
|
|
24
|
+
import { escapeHtml } from 'base-paint';
|
|
25
|
+
const esc = (s) => escapeHtml(s);
|
|
26
|
+
/** 本件两张页的页内样式。用法:放进整页 `parts` 的第一项(`assembleDocPage` 没有页内 CSS 入口,
|
|
27
|
+
* 同 `photoUi.ts`/`weightUi.ts` 的处置)。 */
|
|
28
|
+
export function wizardUiCss() {
|
|
29
|
+
return '<style>'
|
|
30
|
+
// ── 块标题行:标题在左(`.phu-sec` 的 15/600 住 photoUi.ts),右侧一句辅助档小字(不上加粗)──
|
|
31
|
+
+ '.phu-sechead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;margin:22px 0 8px}'
|
|
32
|
+
+ '.phu-sechead .phu-sec{margin:0}'
|
|
33
|
+
+ '.phu-sechead-s{font-size:12px;font-weight:400;color:var(--fg3)}'
|
|
34
|
+
// ── 提示条:浅底 + 左侧一道主色细线(页面底色 `--bg` 与 `--soft` 只差几个色阶,
|
|
35
|
+
// 只铺底色看不出这是「一条」)──
|
|
36
|
+
+ '.phu-alert{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--soft);'
|
|
37
|
+
+ 'border-left:3px solid var(--blue2);font-size:13px;font-weight:400;line-height:1.65;color:var(--fg2)}'
|
|
38
|
+
// ── 清单本体:一张白卡 + 行间细线(块与块之间有分割,行不悬空)──
|
|
39
|
+
+ '.phu-edits{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 14px}'
|
|
40
|
+
+ '.phu-edit{border-top:1px solid var(--line)}'
|
|
41
|
+
+ '.phu-edit:first-child{border-top:0}'
|
|
42
|
+
// 行=`<summary>`,四格栅格:行名 | 值 | 角标 | 折角(后两格缺位时自然收成 0 宽)。
|
|
43
|
+
// `min-height:44px` 是手机端的触摸面下限;窄屏(≤640)塌成「名字一行、值一行」,见下方媒体段。
|
|
44
|
+
+ '.phu-edit-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto auto;align-items:center;'
|
|
45
|
+
+ 'gap:4px 12px;min-height:44px;padding:9px 0;cursor:pointer;list-style:none}'
|
|
46
|
+
+ '.phu-edit-row::-webkit-details-marker{display:none}'
|
|
47
|
+
+ '.phu-edit-row::after{content:"";grid-column:4;justify-self:end;width:7px;height:7px;'
|
|
48
|
+
+ 'border-right:1.6px solid var(--fg3);border-bottom:1.6px solid var(--fg3);transform:rotate(45deg);'
|
|
49
|
+
+ 'transition:transform .15s}'
|
|
50
|
+
+ '.phu-edit[open]>.phu-edit-row::after{transform:rotate(225deg)}'
|
|
51
|
+
+ '.phu-edit-k{grid-column:1;font-size:12px;font-weight:600;color:var(--fg3)}'
|
|
52
|
+
+ '.phu-edit-v{grid-column:2;min-width:0;font-size:14px;font-weight:400;color:var(--fg);overflow-wrap:anywhere}'
|
|
53
|
+
+ '.phu-edit-v.is-empty{color:var(--fg3)}'
|
|
54
|
+
// 一个值里的多行(多张照片路径):一行一件,**一行一个文本节点** —— 不是排版讲究,
|
|
55
|
+
// 是让「一个值」与「一串并列」在节点级分得开(`audit-separators.mjs` 的 R3 判据)。
|
|
56
|
+
+ '.phu-edit-v>.phu-line{display:block}'
|
|
57
|
+
+ '.phu-edit-n{grid-column:3;justify-self:end;font-size:12px;font-weight:600;color:var(--blue2);'
|
|
58
|
+
+ 'background:var(--soft);border-radius:999px;padding:2px 9px;font-variant-numeric:tabular-nums}'
|
|
59
|
+
// ── 展开后的编辑位:与只读行的白卡形状分得开 —— 细边 + 白底 + 一点点浮起 ──
|
|
60
|
+
+ '.phu-edit-body{padding:0 0 12px}'
|
|
61
|
+
+ '.phu-edits .ilife-block-param-form{margin:0}'
|
|
62
|
+
+ '.phu-edits .ilife-block-param-form-field{margin:0}'
|
|
63
|
+
+ '.phu-edits .ilife-block-param-form-input{border:1px solid var(--line);background:var(--card);'
|
|
64
|
+
+ 'box-shadow:0 1px 2px rgba(0,0,0,.03)}'
|
|
65
|
+
// ── 手机端(断点与 `photoUi.ts` 同值:820 管触摸面、640 管塌列)──
|
|
66
|
+
+ '@media (max-width:820px){'
|
|
67
|
+
+ ' .phu-edit-row{-webkit-tap-highlight-color:transparent;touch-action:manipulation}'
|
|
68
|
+
+ '}'
|
|
69
|
+
+ '@media (max-width:640px){'
|
|
70
|
+
// 名字(+角标+折角)一行、值另起一行满宽:长路径不再挤在 76px 的窄柱里换成四行。
|
|
71
|
+
+ ' .phu-edit-row{grid-template-columns:minmax(0,1fr) auto auto;row-gap:3px}'
|
|
72
|
+
+ ' .phu-edit-k{grid-column:1;grid-row:1}'
|
|
73
|
+
+ ' .phu-edit-n{grid-column:2;grid-row:1}'
|
|
74
|
+
+ ' .phu-edit-row::after{grid-column:3;grid-row:1}'
|
|
75
|
+
+ ' .phu-edit-v{grid-column:1/-1;grid-row:2}'
|
|
76
|
+
+ '}'
|
|
77
|
+
+ '</style>';
|
|
78
|
+
}
|
|
79
|
+
/** 确认清单(#655 两页共用):一行一个「名字 + 当刻值」,行本体就是原生 `<details>` 的
|
|
80
|
+
* `<summary>` —— **值是只读一行,只有点开的那一行才出输入框**(零 JS)。
|
|
81
|
+
* 为什么不用 `renderDisclosure`:那个件只收一个标题串,装不下「行名 + 值」这个形状。 */
|
|
82
|
+
export function editRows(rows) {
|
|
83
|
+
const body = rows.map((r) => {
|
|
84
|
+
const empty = r.v === '';
|
|
85
|
+
const lines = (empty ? [r.emptyText ?? '还没填'] : r.v.split('\n'))
|
|
86
|
+
.map((s) => '<span class="phu-line">' + esc(s) + '</span>').join('');
|
|
87
|
+
const badge = r.badge === undefined || r.badge === ''
|
|
88
|
+
? '' : '<span class="phu-edit-n">' + esc(r.badge) + '</span>';
|
|
89
|
+
return '<details class="phu-edit"><summary class="phu-edit-row">'
|
|
90
|
+
+ '<span class="phu-edit-k">' + esc(r.k) + '</span>'
|
|
91
|
+
+ '<span class="phu-edit-v' + (empty ? ' is-empty' : '') + '">' + lines + '</span>'
|
|
92
|
+
+ badge + '</summary><div class="phu-edit-body">' + r.bodyHtml + '</div></details>';
|
|
93
|
+
}).join('');
|
|
94
|
+
return body === '' ? '' : '<div class="phu-edits">' + body + '</div>';
|
|
95
|
+
}
|
|
96
|
+
/** 浅色提示条(#655):那句「改了不会自动生效」原来用加粗长句当标题使,视觉重量压过字段 ——
|
|
97
|
+
* 换浅底条 + 13px + 不上粗体。**文本原样**(措辞归调用方,本件只管形状)。 */
|
|
98
|
+
export function noticeBar(text) {
|
|
99
|
+
return '<p class="phu-alert">' + esc(text) + '</p>';
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=wizardUi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wizardUi.js","sourceRoot":"","sources":["../../src/photo/wizardUi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEjD;yCACyC;AACzC,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS;QACd,mEAAmE;UACjE,6HAA6H;UAC7H,iCAAiC;UACjC,iEAAiE;QACnE,sDAAsD;QACtD,oBAAoB;UAClB,yFAAyF;UACzF,sGAAsG;QACxG,uCAAuC;UACrC,mGAAmG;UACnG,6CAA6C;UAC7C,qCAAqC;QACvC,uDAAuD;QACvD,4DAA4D;UAC1D,mGAAmG;UACnG,4EAA4E;UAC5E,qDAAqD;UACrD,sFAAsF;UACtF,mGAAmG;UACnG,4BAA4B;UAC5B,gEAAgE;UAChE,4EAA4E;UAC5E,8GAA8G;UAC9G,wCAAwC;QAC1C,+CAA+C;QAC/C,yDAAyD;UACvD,sCAAsC;UACtC,+FAA+F;UAC/F,+FAA+F;QACjG,gDAAgD;UAC9C,kCAAkC;UAClC,8CAA8C;UAC9C,oDAAoD;UACpD,+FAA+F;UAC/F,uCAAuC;QACzC,iDAAiD;UAC/C,2BAA2B;UAC3B,oFAAoF;UACpF,GAAG;UACH,2BAA2B;QAC7B,8CAA8C;UAC5C,4EAA4E;UAC5E,yCAAyC;UACzC,yCAAyC;UACzC,kDAAkD;UAClD,4CAA4C;UAC5C,GAAG;UACH,UAAU,CAAC;AACjB,CAAC;AAgBD;;2DAE2D;AAC3D,MAAM,UAAU,QAAQ,CAAC,IAA6B;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QAChE,OAAO,0DAA0D;cAC7D,2BAA2B,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;cAClD,yBAAyB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS;cACjF,KAAK,GAAG,uCAAuC,GAAG,CAAC,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IACxF,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,GAAG,IAAI,GAAG,QAAQ,CAAC;AACxE,CAAC;AAED;kDACkD;AAClD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,uBAAuB,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { viewProfile, viewProfileWizard } from './read.js';
|
|
2
|
+
import { writeProfileActivity } from './write.js';
|
|
3
|
+
export declare const PROFILE_COMMANDS: ({
|
|
4
|
+
kind: "write";
|
|
5
|
+
key: string;
|
|
6
|
+
shape: "receipt";
|
|
7
|
+
title: string;
|
|
8
|
+
wakeWord: string;
|
|
9
|
+
run: typeof writeProfileActivity;
|
|
10
|
+
example: string;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "read";
|
|
13
|
+
key: string;
|
|
14
|
+
shape: "stat";
|
|
15
|
+
title: string;
|
|
16
|
+
run: typeof viewProfile;
|
|
17
|
+
example: string;
|
|
18
|
+
wakeWord?: undefined;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "read";
|
|
21
|
+
key: string;
|
|
22
|
+
shape: "stat";
|
|
23
|
+
title: string;
|
|
24
|
+
wakeWord: string;
|
|
25
|
+
run: typeof viewProfileWizard;
|
|
26
|
+
example: string;
|
|
27
|
+
})[];
|
|
28
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/profile/commands.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAuC,MAAM,YAAY,CAAC;AAEvF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;IAMK,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { viewProfile, viewProfileWizard } from './read.js';
|
|
2
|
+
import { writeProfileActivity, writeProfileSet, writeProfileUpdate } from './write.js';
|
|
3
|
+
export const PROFILE_COMMANDS = [
|
|
4
|
+
{ kind: 'write', key: 'calorie.profile.activity', shape: 'receipt', title: '设活动量', wakeWord: '设活动量', run: writeProfileActivity, example: 'calorie-cmd-read calorie.profile.activity --params \'{"activityLevel":"active"}\'' },
|
|
5
|
+
{ kind: 'write', key: 'calorie.profile.set', shape: 'receipt', title: '设置档案', wakeWord: '设置档案', run: writeProfileSet, example: 'calorie-cmd-read calorie.profile.set --params \'{"heightCm":175,"activityLevel":"moderate"}\'' },
|
|
6
|
+
{ kind: 'write', key: 'calorie.profile.update', shape: 'receipt', title: '改档案', wakeWord: '改档案', run: writeProfileUpdate, example: 'calorie-cmd-read calorie.profile.update --params \'{"field":"heightCm","value":176}\'' },
|
|
7
|
+
{ kind: 'read', key: 'calorie.view.profile', shape: 'stat', title: '档案视图', run: viewProfile, example: 'calorie-cmd-read calorie.view.profile' },
|
|
8
|
+
{ kind: 'read', key: 'calorie.view.profile-wizard', shape: 'stat', title: '档案预检', wakeWord: '看档案预检', run: viewProfileWizard, example: 'calorie-cmd-read calorie.view.profile-wizard' },
|
|
9
|
+
];
|
|
10
|
+
//# sourceMappingURL=commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/profile/commands.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,0BAA0B,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,mFAAmF,EAAE;IAC9N,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,+FAA+F,EAAE;IAChO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,uFAAuF,EAAE;IAC5N,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,uCAAuC,EAAE;IAC/I,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,6BAA6B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,8CAA8C,EAAE;CACtJ,CAAC"}
|