@james_sww/metaform-asset-distribution 0.1.2 → 0.1.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/README.md +42 -7
- package/codebase/codebase.json +30 -26
- package/codebase/template/README.md +15 -1
- package/codebase/template/assets.lock.json +1 -146
- package/codebase/template/examples/navigation.html +12 -0
- package/codebase/template/src/components/business/README.md +107 -0
- package/codebase/template/src/components/business/analytics/contribution-list.tsx +134 -0
- package/codebase/template/src/components/business/analytics/index.ts +2 -0
- package/codebase/template/src/components/business/analytics/metric-card.tsx +146 -0
- package/codebase/template/src/components/business/quality/index.ts +1 -0
- package/codebase/template/src/components/business/quality/task-card.tsx +185 -0
- package/codebase/template/src/components/common/semantic-region/semantic-region-scaffold.tsx +4 -2
- package/codebase/template/src/examples/component-examples.tsx +105 -0
- package/codebase/template/src/examples/navigation-example-data.ts +32 -0
- package/codebase/template/src/examples/navigation-example.tsx +49 -0
- package/codebase/template/src/layouts/legacy-role-workspace/README.md +3 -0
- package/codebase/template/{.metaform/asset-baselines/3d1a9a8a1f7ed83eaf3422d1497cac02b643fe1c470b5c5f357f3bd26c585a0f → src/layouts/legacy-role-workspace/role-workspace-account.tsx} +4 -4
- package/codebase/template/{.metaform/asset-baselines/bcc48c05cd912dad5373242ff699cdbec032c8ebb2de45a9df5de79a6daec59c → src/layouts/legacy-role-workspace/role-workspace-shell.tsx} +11 -12
- package/codebase/template/src/layouts/role-workspace-shell.tsx +65 -43
- package/codebase/template/src/layouts/role-workspace-types.ts +5 -8
- package/codebase/template/src/layouts/workspace-breadcrumbs.tsx +62 -0
- package/codebase/template/src/layouts/workspace-navigation-model.ts +44 -0
- package/codebase/template/src/layouts/workspace-navigation.tsx +169 -0
- package/codebase/template/src/platform/region/region-boundary.tsx +28 -0
- package/codebase/template/src/platform/region/region-slot.tsx +16 -0
- package/codebase/template/src/styles/workspace-shell.css +361 -0
- package/codebase/template/src/workspace/default-workspace.tsx +3 -3
- package/codebase/template/tests/workspace-navigation.test.mjs +46 -0
- package/dist/application-source.js +16 -9
- package/dist/asset-selection.d.ts +3 -0
- package/dist/asset-selection.js +37 -0
- package/dist/cli.js +15 -6
- package/dist/contracts.d.ts +18 -0
- package/dist/planner.js +7 -0
- package/dist/prepare.js +3 -0
- package/dist/provenance.js +1 -1
- package/dist/source-map.d.ts +1 -1
- package/dist/source-map.js +7 -13
- package/dist/template.d.ts +3 -0
- package/dist/template.js +21 -0
- package/dist/validate.js +1 -1
- package/package.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/catalog.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/asset-internals-semantic-region-contract.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/asset-internals-semantic-region-semantic-region-scaffold.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-aspect-fit-viewport-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-command-feedback-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-context-pills-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-info-callout-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-query-mode-selector-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-semantic-region-scaffold.json +1 -0
- package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/components-business-role-tasks-icons.json +1 -1
- package/registry/{5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/components-business-role-tasks-types.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/generated-batch-trace-workspace-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/industry-first-piece-inspection-workbench-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/industry-qcvision-station-terminal-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/industry-vision-stream-viewport-variant-current.json +1 -0
- package/registry/{5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/lib-utils.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/npm-react-flow-variant-package.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/npm-tanstack-table-variant-package.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/production-production-schedule-table-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/production-sales-order-table-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-batch-standard-binding-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-ctq-standard-table-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-defect-catalog-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-disposal-history-workspace-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-basis-review-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-evidence-workspace-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-plan-workspace-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-record-audit-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-start-permit-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-task-list-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-task-workspace-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-priority-advice-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-retest-execution-workspace-variant-current.json +1 -0
- package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/quality-role-task-groups.json +1 -1
- package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/quality-role-task-overview.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-sku-standard-selector-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-standard-ctq-workspace-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-standard-summary-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-work-items-table-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-work-summary-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0043e57dd928aad16b1b9b972cfb3173.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-00c8d55005b5a4baf94a341ca69f4966.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-01d553cf16781a023ccec7b18623de40.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-01e6abd3e7b70d221662df07f8c64550.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-02f5c909e4fade199658b380f79a14d9.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-03f02772454e4182c90419e866fa4b7b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-045cb9726ef465fec87b866a11b23265.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-04a453866bc8bb54bea583477487d5ba.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-04ed28e39be259a549c2344334eed6a8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-04f1466dedf9f883f981c656b2c987c8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0518966050dde31ecbc186cca832e483.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-052d30ae55fd30df1cb66f29cd49d062.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-053415eaa293c061aa2c007daed9d4eb.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-057ec59eabb83a4ef69fb3925d6db669.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-06adeb9d2e39787dc33bfceb258891c3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-084866c148ab7f104728b5d6292b6593.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-085d58e1bd5e597d0a08a24d97c6faf5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0895b5b03c4715b03b1bba7e16699884.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-08ae8e8fe37b45ea01d7f27006e04e61.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0a621fd488ce72f1bea91ea3186b8a56.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0afc6bd66f6a5b8a829d284248ec8f9e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0b8f18394cb7280edfde1bb24ca60bd0.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0cbe7c0b8bb0a8ae5e9fbc58b5e305a3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0d09ea83af37be20d289013e66c9a7af.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0d31920a13fd8133a2c5344545be2c54.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0e23f15fd250f0456d35a75ccb3b27b1.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0e43b049179074ae830c244f325310b1.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0f02a59d40323f651a14364eec0b3baf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0f98ecb78bce41a67dea5ab9f0de1ebf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-109c3f38f0954dc1aad9bd36caf2ab75.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-11396a7b8f9c55ff8fc4bcfec197a7aa.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-11a56b7ca0a7ecf3ef172f92a5f46d8c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-126b2a04acd9fef96a5d4b1b3c7c13a8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-126db03a23494d9dba9e4de867425450.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-12c1889085d2348299bae2345c09029d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-130d3fba5483cf6c9c20201c4e143a9a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-138715fa9cfa10866589be59de922731.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1393bf1d36ad11b0bf95b66f5d609e34.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-14873999bfce9c9a559fe496719de5b6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-15d54f45e4fa36818b8c9595039dd476.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-162c4d081e85d330daa56b4a9d5a7a8d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-16fc76b021d2e39ea9eea3b8b98108be.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-191b94675f22b4930760ad50ce023b55.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1979455be25f92b075758b44c471c9b9.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1986d8a6f56623dd9a9b69562f5e01bc.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1a7adfa87c205e52122faa0683198594.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1b294eae05d2546ae0ae330603452eaf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1b4aa8f055028ed8d72a5f91e8d685a4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1b78777776d838f8ddadc544bc2db718.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1c4dbdf22cf45bc9d607e61edb49e19f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1c7e1dbc4c475bd22afe573072ba1180.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1ef22b640d802930fa7379695d54d555.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1fe0c6d6a60b562d510b6d4c30b35e7d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-20166f90e90d394304c0332224be6807.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-20366f62f9161505bede9a404054e09f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-20835cc5098f84e1c6d976d0386cf989.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-21ae566b34a22b344ff9dc0e6466b8c5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2261f4f018e42b86f25f48405bc8f650.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-22e17ea703af0f162d0a3f1211a260fb.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2437594cd128c629f17850fcdfa19d65.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-256a70d159b7d441cf377efb9094ea60.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-25b31ad384aa880a756d82c87b90720b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-27340089a9d0bd156e31bcbed2a38d87.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-27bcc05ec703b73983a2ffe35c9b878e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-27c3f6b28885c9fc7a63d41d56176add.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-286372154a659b36c7997b159acc6b09.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2899fa9a30fdfebb0c36f7fc739d265c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2928cded41993d04705a03de7b7b0d66.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2a38ce44af296ac9d4d900477242158d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2a588d5f252b09addfe0564be890a926.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2a7f0260d05ed8f9b2da80087357feab.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2ac081aec7f278cd7ba3c26ddd282306.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2bb707dc74b4dcffc814a35a01731cfa.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2bbe12cc04a27c9d981dc37fa211c03b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2c822ea0996c634cefbe21b18cb54a73.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2c8d5f4366b691da3a00a7ec48465d91.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2cb32656b5a1534631d8cfb464ff2438.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2da20628695dd758d9543c7d0ced43ac.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2ebddf972f5906fe2ad4c0c165dbb841.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2ece04e85f9c64311da74f397daed140.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2f2c6505c711b9e78785d519b21eec0f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2f57e056c6918c99cdc79dd6db6b986c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2f6bab267cc6396bd652a5f6d2a02632.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-300c0772947f7735f5b64efaa2f62a78.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-312ea7d33a3df77153eae23bda0a0245.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-316c1b92876aacea746d75802c0d7d4c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-31ebebefd8db6f0bdbb0fefbc0389de7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3203b40dd22feb6b65a964742c4d8fce.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3299645447afb4530963b6fc9db681bd.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-333607df2236de223bdb1a9fe19c1945.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-335b719bb04cc0cd9b3ed7e1237ef5e8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3375486fd543cae7f699ade8f27f68f4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3381a38b67374dda3c2944c65314f0cb.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3504e53d7e510ad849e75a1c6aee198d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-354b95055c194ebd541c698ce37302e4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-364ecc0e543346a3427d0dae3bc75794.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-372ca4d177d2e7f6ab467b69d1f57aa1.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-37fc32b645964f6be273aece7f099e38.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3953b1def0cf4a72d71f8ee128951759.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3a6558e7a08015f8b5008a263a1a6911.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3ad6ac3c854f69532e18e57d9b578199.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3b050204881c4d685a2649ff20555873.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3b5cf1e922b3cecb0b57f42da4f49b49.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3ba45deb18affd7688f4b8ddfa84fe14.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3bb19a088b763906019a1116ee9f125d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3bba60e5d0a56cf624b433583a9d2dec.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3bc7c5b3de6c0c7cb8f16383818ea751.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3c007afa59ac91e4b37c7a0402e9a36f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3c8e4372ea66c1f7325cb439f4c91d80.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3c982fd6c3fadf2ae0e4d91a57cf51cf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3d44fadf57d4f71b6034aa68e26a2765.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3d9a2e771e1749d3a745d504f13fe9a2.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3dcbe33586f1ee5a5a6ca57dd5ad0166.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3df27b0f99eaccd6f58a0e2a7cc44b78.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3e9192828cd93fc01494e6f12d659d8a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3ec4790f34cd0fc960ab1ea03ad06b22.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3f93012e2ccc3c3b0103c9aaad4a3a61.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-40954380adf4bc1b07e4fb32c22586f2.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-42ef27404a64c9d46e7833cbb59f3b43.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-42f07227a0a0864abf713f00f353ddfb.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-43512ce77819415759ea198569b0cd34.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-43c5eb7da37eac5893c07cc5d7560301.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4401b21da7ce328daf2fb52cf725484f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4712335a12a493a43a9f3eb4593f551d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-47173e89fcee2564e861628a17cbf05b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-47605e3a6450d5b90c9aad54c8cdfa00.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4818296bc1dabfc966ab8125281e5c71.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4835e4ffc00370c53e75ec26efa6fa17.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4893029edb1db66214d43346fb8d4d5d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-48b4b9b136a8f6307a30264405a95935.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-492ea24370d8a0987f481811eaa80280.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-49739dad3058d32ce94e49658463bea3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4b592074107a8059130912625fb68ad7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4baa0ff20963508031ff0b13899cbaef.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4bb4f111425b3b18b9656b1353681e26.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4bd0221e2d76bda2dad911ab37b6db3e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4c94abc11b5ab99724fe76eec6e78dff.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4ca57ee80dcf3471867ea931de7218d1.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4cfb318d2d7de05bdecc667d1820196b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d187583c7d504f51d7ac5fec8e81b08.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d1fec30e44dd589094311155c86f83b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d25441d03a56e943122365865518a16.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d30620dddcc9c0a0e74253ac9884748.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d5ed560d6cfef0bcb835646a9094e2d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d9f59895f2ee7060f1748ff21349c1e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4da7d38ab74d0654a768f85d230f4814.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4df4c418bdafef34073d7e3a75f5b89a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4e7437aef0ca11fa8d8052aa29a0124a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4eb6cad60f9b3c55325eb1521e58da40.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4ec2156d751e3f1c7bd91a7953f44048.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4ec312a285d651f121d381914420204e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4edbc145facf97071a9ac7f8486a96aa.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4eff2daa0be06d8b37afe8c1f2a6cd3f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4fef9e0091d1e4682871bd560658da2b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-50074d0acffa5bdceee4593f5d860f79.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5057227edac90744c335f606136cab68.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-50afd8db220d2c04b67a849e768be5dd.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-513f193c591b981d671bbe047ffc68e6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-514d80e63e81863f09ef4b9fe290cc0e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-516854d362d8796325a0441b19a20305.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5181f05f6d741b4f8d30e2ccabe4ff72.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-518472089629dfe30e03f96a9c0c8bda.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5205a09a040fad995db87f519d9c6443.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-528316a9f464fc73d9b0a9daa89779b6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-53745e88dcb0cffbf46fe37b79cdc4e5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-537e42c02b47b3eab01a36b4a07f9c68.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-53d05a74bf81252933527736fbb75696.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-54531007d6e56808ec30b8858540c8d7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5611f5fff84bcbad3b67991c1113fc66.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5665b13f43303fb6b9f4ab0694e6c0a2.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-569f3feef27275f8d9324eceb78ef51a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-56bc9279a0e37e2c8402fd165752f988.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-56c6e7fc104772e4ddb652f8d31f7834.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5725f330edb2214a35e9ce511820959a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5767adf55177179a00d3b8de54ce65ea.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-57e4a30465388420b259f0bd5bd9d81d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-58052416630884d1600ace2e01722ff9.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-586d25e8eadc1259574b28e40052c681.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-58bbcee4f6a80d244fa58848f663e6dd.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-593344611bd1ecb7cef4c108108d68c4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5a9f90bca5db1c4da9c3cf9ae666fb84.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5b5733d44f3d557429459e5d900611bf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5c411907331e8b99bd98aeef8d60109f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5d5777d24a45958290a9fe547fc27ec9.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5e0a2f31bd5e40821a0e9817774c20ac.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5e54d019582c3a1841832c0db02add9c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5f0879afcb23d78766ccc4f01095fb71.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5f1c47cd970a4792941514429e589e33.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5f79ab8b9b7ba104e0396a3aea4abc14.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-601fc90bcb7a22e6b2bb7b3a53b159e6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6068b9477fe9481403a2f210420c43bb.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-607f802c9d96bf84c113b1ac909059db.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-611519a2ac7735ad2ba45d9338745040.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-612776cf448168607fea7a93ae04fbd3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-63ac7916f19ba66360592f2ee591d23d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-63b01c2e991e65039ffcd798272e718b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-63c8ebb4097b37a0602eb3ba904f7b1a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-647fe3d6a4df16c7eb98883db8e9096e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-64c6e624e56f458f812cdf78aaf41d12.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-658292e3bd28910e0a8546c9004919ac.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-66d1851f68f856d40c5e403a0fa9c259.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-676dbe89866652c26e49ceafe7ccaa81.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-678e823dc1936062d601ffa5c1b99f92.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6808d8095309d9e0205c5461fc2e8ad1.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6947f7afadb964f09c940d43034dd00a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6bd3aafed17818f8ff04bc980b55931f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6c658b024e9158f114be6eeb06eb6d74.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6c7831487ad281aa9a16e98f6123a4c4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6cdfc648ebbfb643477a06fa4e7b2fb3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6e59e4649f306f837b810dffbb190513.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6e9d4e4c86f4a7e9381bcfe691c626ca.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6ea6ec33318562259288e183026d1350.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6f9041d6fa1e4d2486a09c2a6c9a3fa0.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6f91c2954eba952db8869c1413b279c3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6fa020760266cd59092d5fb241670c33.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6fe6ee80c8a686d14aec364f19ec2e1b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-72c4e5c5dc4754c55220728c0b28207a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-75bb3f06a2b5d07c6e6401d680f6630d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-789cbf76f5cde37cdcc06534c3b68474.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-78f7d1a8d463884e06360211ce56f7b5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-79737b39fc35192c7e65968d1ce90537.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7ad79770ee35fc64a45856162b1bed65.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7c15d0204c215ff38bc542ae7420dd0f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7c98136dc14e18956d6127feb1d65c2b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7c9a6b327c8d64f288445c2b6c9a16a5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7ccae0671e7b68c01357bd7936f20d74.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7cf24d538eb9a2d61f146805e561b806.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d48debbc1ddf9ab86b46c213412cd89.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d8153be23f0c426b89bd726b7505e04.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d9a5bf3f7b01de37da7583f5032be7d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d9d27b1952b4a542239cde16a0d0048.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7e478ac3f527826c8fccc7b9b5f7dfd3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7e9c60ee517ce35fb2baab9beaadf6cb.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7ef75d8d34c9a952892f305c273ccd95.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7f09b25d6e9e672efe7108635e37d1bf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7fb3f16dafaa805b21164996b869e9d6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-81a9af73616553df18569bd2bd1afed6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-83170af386d68d4cdde3a4a85521336b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-83c9eb999c9c78e60a22ae5a248c03de.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-83e98cd293dd4dd4398f5618224c5931.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-846b19f7b160f92c9458ac2787ffc253.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-855cd96281bba53054b204d466e73c11.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-85fe1c99aaca942b17cac401e3a35dab.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-86701544d23d231dec42468e114d446d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-87da11560bbc726c6ea363b6b581c47a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-889746cb16eda2dec7800b4c07b65f1f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-889a5e5032775da6e0088714748d592f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-895ed8de592968a2188f948962d2bbef.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-897cfe0b8129b5879fb0649946643f9e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8984d43da6a7e8c3696849f887673651.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-89cd5f6be9e646419eb2e559022ceede.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-89fe3bdc6452ef49d2ae2d5105d69dda.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8b049a29fbe399422d407b74c69619d6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8bc2043958e00316ab71e8d4c9a78a12.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8c326bf44bff77851e20a70d8ce31328.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8c70a1548e8ed8a2969d2c73185e11a3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8d0ad3a83853c2d514da69a01c53ff43.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8e75077823b410c64e90328b99c5d93a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8ea90af408fe048823aa847b2853c895.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8ef73fcc2c33175df26f9d5b8fafa746.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8fdb75c3da6a5a0c86c3193d025cf6f8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-90b79237b5272ce414e11d7f2c222676.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-91b6c344e59fb18f9d9a43f4ac15c2ec.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-91e7c7b18a4cc1c00206b79e3a875721.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-91f65ded749b71eec77d14c7b72e6e01.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-92734d6dc96c5b03a206672067ed6ad7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-92ccd9fbf8bc9e36c99bac8fe45034e4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-937ad49406c560ed1c2450f48fb63104.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-93db91ccd566c942db3a063bf76da6ec.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-947119e505579579530d80bf84d1d0fa.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-948d2a48eb1beacf64d56c691633d246.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9560776f771679ca4067aa76474856a8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-956b78fd44ecff3e99e4dfcb046b73cf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-96b2515967c3f6fad23c3e74abd6a78d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9757ff8fc1f1e3c29087e671c2c0330a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-976b2ec747d6586ae072e70d8529b919.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-979df5a8937fae87d767f14a16e44a5b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9828c43e30609abe2895da43d965766c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-988ea60de435fbafa4c73475ebda6c26.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-98a31a8e34a7a2c72ddccd9b5ef8f3fc.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9a15c1c7316af78fa93fa6e08527a5b1.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9a705699e5cbb0796d374c7fb5063c55.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9acc2ac78b8d44fb81eb128827d82cac.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9aeeea2ea4e83bba364e89176bea3238.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9bd487a87de48a1eea500492a2e056aa.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9c36248079d89840ddb4bf997d07e04d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9c867e4a8af235bc23b527beba0443e0.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9cd18f9ed6a47dfbdcfc0db54592474a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9cdb964fcb178a3f4be356cf03f7240d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9dd21f3cc913f0547330db095b5a0356.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9e3a37d4c39f1f45334ff7578bd9ae91.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9e83220a1aa446487a28b4fa4ca46301.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9ef543a30c33ca647b210bb53edea882.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9f66a0ca72050bb191480227553e2b19.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a056d0626ce7e3e16affa22ebaddf3a6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a0947a0b8da0b546c5945dbbb84ea6f4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a09bde56c795c855955fdfc9300f181d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a0bb37e5c5f592bba526377ea4e216a0.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a109f50262b145b7e3a98861037d6ae6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a1aac3bde8a654c7084647ce8c0cfe4f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a2893a2b63c012b2eab4bce8d249477f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a2c16deb7841e92bfe3634f0e6888895.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a39a40e6797b71d7259c514321487470.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a466bbdb651c574561407d518fb8d1ae.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a4d288eddc9bee635f182560afcdb613.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a4dded0188c32a527a10942ce10c2ae7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a54edbe3418ee85683fc253bd3308c60.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a575d3eb69ed98388602a5bd4cb12790.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a5a2b81fa9220ecd33fb4466012c4ebe.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a5d66df2f0da571402025a61d18a34d3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a61cc0c3da2ca70f5cd9a7a3e2c9fcad.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a652039820e56754d6ba267f81cc9bf5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a7e66dd63f48847df45681bc17c5e36d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a89b9f693bf7d3d37f99c80de517a807.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aa22883abf0d1e70b882745258324cff.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aa7508f21c3feff58234743bce02b9f9.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aa8d4d7bb79859c3e8ae4b7ac56fb890.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aad5821e7c311d076af8723537e92d2c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ab5f07ff22a7d2a80cff5e85b936eaee.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ac5f76c741e1ad1b7a6e55e820b03669.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ad6e7e5e4e9c1a83221423dfaa07f29f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-adbd578415c340ddd63722eeb698e837.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ae32be1658232408865c15e4c5c1917a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ae732601d1a69598d625ff032f41e2d4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aee843249d0e032fbce9e02ce66016eb.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b043acdd867fde2f2d30cd32f2aa1c4a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b1048cce051a5700238cc71abfe49217.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b1ecf863238627b076c6d771002dbbe7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b23c06b8d0f262d8d64c6006b348486e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b38891aad02120609327bade84d228f7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b3bdd605e4e68224f608b0dc5e7212f4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b3d0b6e41dfd7aa4186463027d73df20.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b53b6d4163ab2ecb127217c7742d0f80.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b54639d6bd40e7e80a0b8e1cba7d8175.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b63cc1b26ce62e4e05763d3fd0db21bd.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b6631f684dc9f17408f948c19f98120c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b70e39461c4d0acdc8a20c256eb61b90.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b72bbc350ce47825ee168d4dc79c4404.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b7863b4bf43d2ac6a6448a1640f407bf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b7e44d63463610dbf31b1e71dfcfaa82.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b879068b882575e7a05c01a27b132c1f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b93b75501bb671e8c30e24c0ae3f89ce.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b98dff2715e2b6ec397176da904f9967.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b9bae4d8a3a66fad7a0370564fa551c8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ba1c1e27009279097c0191f402db1912.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-baf85b004ac086592f4f8aee1f02a60d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bb53c5ecf79435645f937f718e2e87e6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bc25f27686c45fa9f154577d40b0a6f3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bc30814a36665b9e9697087797b05cdf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bc856ae6921e6c9c5d1ba83e79f2f276.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bca5c90b24f7f75dbc273a39090005c5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bca5f45b7881158a473379d622a90e93.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bcc42cd39f7eb60f5b844cc675d46196.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bd68f2abbc2be337e45213261461d490.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c13cc6269a556a80d1c27f3c268fe17d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c1c36aeb116c186a565160ef7fd3056a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c2610888f9acf547989f21f08e8db95a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c2af2648fa9430a9389baa4f8abbe1a4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c2edf592b91afb472af4fc2fc557f274.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c31950b8e086e026e1262d97a1db0a78.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c3df02be19b2b52c9c19bd58101e3cbc.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c49008d7abd71fa463649783b0933918.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c6a27b096a3a2f84fa0491c496814b9a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c6d7dc1088f83ba433c277308437f56b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c7de66e4f505375220bbfab67e0d5231.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c858693143a88d1f099e9b93a3457e0b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c94d2ad67cf8902390bfcffa704c3daa.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c9b6598fe2a43c5873087c955d0df982.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ca3e3889c1051884e5596ab1c68e194f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ca95f0c2b0343641775f2129503d8e63.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-cce33d484b7cb0eb2c075cfa522fce18.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ccf8b3d214278b5f13b2bb6e272e3f30.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ce3eb00d12bf1edc077f3e32313a06ce.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ce7de3361f2663834bfd9bcb95eddecc.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-cfd6f2b1a18cd6c2a197b9ae369bb2a4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d000cc13c2d83030fa1444e5a7b016f1.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d06de2d0f43e99dbc80f7783a18b5a93.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d087a013cd29e26c1ece1985f7fb7f08.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d09ec9cc4b7db3789a5796a85a52c77f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d1a07d71267fab50f0c29d9c1a7d8f71.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d1e11cdacf0e2520f2d67b7daddf48d8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d21b706be557125943c9f9dc556bbdc6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d24799311af1edba648fd1839acdf4c6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d48dfe17536b07eb551b952a6a1db007.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d53d247f465c402be1c6722fd28e366a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d675642d7fbe847f72c4c744b1c27224.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d783f1f05a29a0f30422913500296971.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d83cdda44eff225a61f84ec84b0893aa.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d8ab615e7b3bffcb5dde9462fa06a56c.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da03e138ce5b0d28ec33d998a1e63de9.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da06cbf0c2be5ff90ee3529915fdd3c4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da10406d297c6a83d7b36b0c07a04c11.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da5a292c64c8ca1f9be5a331b8cc9866.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-db3a32be528ce32811d63540db1a79fe.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-db616fb22f489a73ce270f86db43af10.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dc49dcfa36bc2ff1a51597f227c29c7f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dc70cdc0a97e1eebda8c7f633f9e2831.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dc846f139e01017e70c34ba129fe780e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dde527cb54d57a2371957f7daa5e8be7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-df623efdc82a6c063be28bfb706f0e6d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dfc38cf425cbd2f47270dc184702d69b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e0308a75134b78b8c790d7cea32419fc.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e20dc44d260663c63228e8000d44dd12.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e226e52f5b692e925ca7c8e822aba2be.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e24c86d3e064629497090ee1be877d76.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e352c9cdc2918831e866451331107f0e.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e3fdd3a87b70bb56aae2493431e3bcff.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e4b261523d1fbf2d52036ecb6266484d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e6f5658710eb878cd10cdaf5ebd86e93.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e87aeffd798e6b56426103c1f4d7750a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e8aa8286dcc69f6aee60f9e33071ffa0.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e8cf0ca71cc77bf6003f2ea91aeddf90.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e8fe33acb0f2a7f1f670e7a990f5a4a3.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e988e0b5cf8a7084a47dbed764ef94ad.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ea353d5aa27d9c5665a3965d1f4eaa32.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ea676d7d5d7712ceab23ea6798afa137.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ea6c6cd39772c58addeb2875e707c2bd.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-eb11f1491fb89d15420d030899f6d882.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-eb58652be025b3ad6b6b3e91856bda81.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-eb87bce8edb68157d776c6adb1c6cefc.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ebc16f4ab61a3535b87d5f2764bc26a8.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ec18b8d93b7f855897d9b8d3c74affc7.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ec2ef78511d86c6e9e802b3959039652.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ec4293e3bcc16701ed64e69f29fd8c69.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ed83b210c5760cbb173b24e8deb31a2f.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ed98bb0a5cc565d6ef33bfb7b4b3a073.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ee01419f1a9de33b444ce829f9a9489d.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-efbacdd15a8790092301bd69e395cbe0.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-efdcec4cc8ac72684e3857b6fbbee225.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f0ad9856d7da268a53d8170676c6c5c4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f19009edc83cd082bd9092c857d85d68.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f209c9c221ca17971d0e9ef1ccf89f44.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f23386a03780f812899bf8d2b3919b86.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f2446c2eda0215942162ff5526ad0c1b.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f2a05cbda9f98ed1bd25e897a3ebf503.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f385670ac4ddc57a127eb019cae3f8b0.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f4e79fc49ad30bacc0a68272087ade34.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f6d590544d79586d3a5683d97b5384ac.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f75939df8e2ecf19cb2d3517938a5cdf.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f7a67ef7fa1402b86d14c39ac80cc802.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f7b9e113133c9263310f5a56bd7d0ef5.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f7de11b1478062d758160e9c2c5e5260.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f90898fd3cc22a593e32b84b3f10ec00.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f940bb12b4e658bd128b62a8a90bf962.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f957e1e875e98bbc1d5d01803efe7c42.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f964fe6db095cac3b6eecd38621d3498.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f96fee598282aae28999f7c2d9835414.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fa16c119717f0e7bd9a67f615f985135.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fa7bbd792be5708418c463aedd93e408.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-faef819397b5c072a4560d7cd7bad2ed.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-faf20683961782003152b85e6e507350.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fb172d0f0d7a62f8776034a2c05fab01.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fb3e42b52aa5be50fa92ee3f39062c6a.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fca4ebc8175758bd0f9123389fa26bc6.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ffcdc16bb6c8c59a3917e00b8915c844.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-accordion-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-breadcrumb-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-calendar-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-carousel-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-axes-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-default-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-gradient-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-icons-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-interactive-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-legend-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-linear-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-stacked-expand-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-stacked-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-step-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-active-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-default-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-horizontal-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-interactive-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-label-custom-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-label-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-mixed-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-multiple-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-negative-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-stacked-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-default-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-dots-colors-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-dots-custom-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-dots-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-interactive-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-label-custom-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-label-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-linear-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-multiple-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-step-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-donut-active-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-donut-text-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-donut-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-interactive-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-label-custom-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-label-list-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-label-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-legend-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-separator-none-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-simple-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-stacked-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-default-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-dots-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-circle-fill-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-circle-no-lines-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-circle-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-custom-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-fill-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-none-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-icons-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-label-custom-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-legend-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-lines-only-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-multiple-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-radius-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-grid-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-label-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-shape-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-simple-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-stacked-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-text-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-advanced-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-default-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-formatter-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-icons-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-indicator-line-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-indicator-none-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-label-custom-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-label-formatter-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-label-none-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-checkbox-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-combobox-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-command-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-context-menu-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-data-table-demo-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-date-picker-demo-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-date-picker-with-presets-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-date-picker-with-range-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-dialog-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-dropdown-menu-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-form-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-otp-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-menubar-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-scroller-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-native-select-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-navigation-menu-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-pagination-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-select-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-sheet-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-sidebar-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-sonner-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-spinner-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-aria.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-base.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-radix.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-blockquote-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-demo-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h1-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h2-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h3-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h4-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-inline-code-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-large-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-lead-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-list-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-muted-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-p-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-small-variant-new-york-v4.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-table-variant-new-york-v4.json +1 -0
- package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/styles-styles.json +1 -1
- package/registry/{5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/styles-theme-tokens.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-accordion-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-area-chart-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-badge-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-bar-chart-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-bar-list-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-button-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-calendar-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-callout-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-card-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-category-bar-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-checkbox-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-combo-chart-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-date-picker-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-dialog-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-divider-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-donut-chart-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-drawer-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-dropdown-menu-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-input-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-label-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-line-chart-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-popover-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-progress-bar-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-progress-circle-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-radio-card-group-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-radio-group-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-select-native-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-select-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-slider-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-spark-chart-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-switch-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tab-navigation-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-table-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tabs-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-textarea-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-toast-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-toaster-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-toggle-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tooltip-variant-raw.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tracker-variant-raw.json +1 -0
- package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-badge.json +1 -1
- package/registry/{5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-button.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-card-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-empty-state-variant-current.json +1 -0
- package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-empty.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-input-variant-current.json +1 -0
- package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-sheet.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-skeleton-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-table-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-tabs-variant-current.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/registry.json +1 -0
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/release.json +1 -0
- package/registry/release.json +1 -1
- package/codebase/template/.metaform/asset-baselines/0e7bb494140c2c4118b919496a4246b26935367453282bd654fedecd2b16f1a5 +0 -373
- package/codebase/template/.metaform/asset-baselines/4acbc7165a8d54738ff62b51414e772c08fe78434e524e6d8770180d3ba2925f +0 -6
- package/codebase/template/.metaform/asset-baselines/567f039384fb23a20a4cd5e1d4fda56255abda6fc04d80b36c4bb6f6c040691b +0 -152
- package/codebase/template/.metaform/asset-baselines/5f56cd15afc07567f7b80b8b4d9e89da405e070a562583bbbc2414fd981af324 +0 -52
- package/codebase/template/.metaform/asset-baselines/7b725132bcc0688429adae31cb0ba872421d87eab5ae118fab88292e2c6e3fd3 +0 -227
- package/codebase/template/.metaform/asset-baselines/89d01af0d566e2f42b4653d75be97356896ade09dbfb8de2865d941ade16b398 +0 -13
- package/codebase/template/.metaform/asset-baselines/8d4794e5500b7f577ad5c5676d27a7796cdb32984b40ec41a25acbba17c7a425 +0 -67
- package/codebase/template/.metaform/asset-baselines/92cd18a919b549b4827f611c3a4157652c4a6ae034850da1254ca422693c759d +0 -173
- package/codebase/template/.metaform/asset-baselines/b48c73f51ff3e148f20ad2c9dbd2847235e4fdf1cdb304d5e2feec9c2febd65e +0 -125
- package/codebase/template/.metaform/asset-baselines/bf9e1bbb252c1fa5da20a17eeee1ac163c7d3a0b6deff817d30ba04b766fb8a1 +0 -51
- package/codebase/template/.metaform/asset-baselines/e9d4784c2ad5bceccdc4f2f19f367fdc37537a10e3f99f510e42c0226adfbf8f +0 -43
- package/codebase/template/.metaform/asset-baselines/f3ce568d1ede383d9cb0d11dcc2acb6ce7984cbef8e2db0feec310df76303ccd +0 -19
- package/codebase/template/.metaform/asset-baselines/fc763d53079b51a789c1cfff23d40e00f844a9a093a2ad112f0ac68ab46fe080 +0 -135
- package/codebase/template/.metaform/template-overrides.json +0 -24
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/catalog.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/common-semantic-region-scaffold.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/components-business-role-tasks-types.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/components-common-semantic-region-contract.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-account.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-icons.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-routes.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-types.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/lib-utils.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/role-workspace-shell.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/styles-theme-tokens.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-avatar.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-button.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-collapsible.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-dropdown-menu.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-skeleton.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-tooltip.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/registry.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/release.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/catalog.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/common-semantic-region-scaffold.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/components-business-role-tasks-icons.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/components-common-semantic-region-contract.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-account.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-icons.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-routes.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-types.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/quality-role-task-groups.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/quality-role-task-overview.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/role-workspace-shell.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/styles-styles.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-avatar.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-badge.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-collapsible.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-dropdown-menu.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-empty.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-sheet.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-skeleton.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-tooltip.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/registry.json +0 -1
- package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/release.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/catalog.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/common-semantic-region-scaffold.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/components-business-role-tasks-icons.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/components-business-role-tasks-types.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/components-common-semantic-region-contract.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/lib-utils.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/quality-role-task-groups.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/quality-role-task-overview.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/styles-styles.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/styles-theme-tokens.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-badge.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-button.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-collapsible.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-empty.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/registry.json +0 -1
- package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/release.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/catalog.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/common-semantic-region-scaffold.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/components-business-role-tasks-icons.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/components-business-role-tasks-types.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/components-common-semantic-region-contract.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/lib-utils.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/quality-role-task-groups.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/quality-role-task-overview.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/styles-styles.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/styles-theme-tokens.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-badge.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-button.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-collapsible.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-empty.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/registry.json +0 -1
- package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/release.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/catalog.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/common-semantic-region-scaffold.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/components-business-role-tasks-icons.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/components-business-role-tasks-types.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/components-common-semantic-region-contract.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-account.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-icons.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-routes.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-types.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/lib-utils.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/quality-role-task-groups.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/quality-role-task-overview.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/role-workspace-shell.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/styles-styles.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/styles-theme-tokens.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-avatar.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-badge.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-button.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-collapsible.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-dropdown-menu.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-empty.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-sheet.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-skeleton.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-tooltip.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/registry.json +0 -1
- package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/release.json +0 -1
- /package/codebase/template/{.metaform/asset-baselines/4b8ea69ef28a9699c0c3b28e12590a7521f91aa1a4a3d618fc0778455d39cbcc → src/layouts/legacy-role-workspace/role-workspace-icons.tsx} +0 -0
- /package/codebase/template/{.metaform/asset-baselines/0551d7ee067550cd2757cf693414c5e180adbb5efe3af4f5f9b1242aa9cd788e → src/layouts/legacy-role-workspace/role-workspace-routes.ts} +0 -0
- /package/codebase/template/{.metaform/asset-baselines/b9e31158082ce71a2b3bdb904d9462619e3690735e73e138b1ce57f8f036347f → src/layouts/legacy-role-workspace/role-workspace-types.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.846b19f7b160f92c9458ac2787ffc253","files":[{"content":"{\n \"title\": \"视觉质检工位终端:源码 reference 场景与交互\",\n \"originalScenario\": \"在视觉质检工位按检测组采集、冻结、确认或重拍结果,展示叠加标注、服务状态和测量复核,完成后将汇总测量值交回宿主。\",\n \"usageBoundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\",\n \"source\": {\n \"implementation\": \"components/business/industry/vision/src/qcvision-station-terminal.tsx\",\n \"provenanceStatus\": \"以当前维护源码为核对依据;未另行认定原型来源或完整还原程度\",\n \"scope\": \"在视觉质检工位按检测组采集、冻结、确认或重拍结果,展示叠加标注、服务状态和测量复核,完成后将汇总测量值交回宿主。\",\n \"evidence\": [\n {\n \"path\": \"components/business/industry/vision/src/qcvision-station-terminal.tsx\",\n \"symbols\": [\n \"QcVisionStationTerminal\",\n \"handleBackfill\",\n \"markReview\"\n ]\n },\n {\n \"path\": \"components/business/industry/vision/src/types.ts\",\n \"symbols\": [\n \"QcVisionStationTerminalProps\",\n \"QcVisionDemoAdapter\"\n ]\n },\n {\n \"path\": \"components/business/industry/vision/src/use-qcvision-station.ts\",\n \"symbols\": [\n \"useQcVisionStation\",\n \"demoAdapter\"\n ]\n },\n {\n \"path\": \"components/business/industry/vision/src/station-measurements.ts\",\n \"symbols\": [\n \"resolveStationMeasurements\"\n ]\n },\n {\n \"path\": \"components/business/industry/vision/src/qcvision-api-client.ts\",\n \"symbols\": [\n \"QcVisionApiClient\",\n \"buildQcVisionEndpoints\"\n ]\n }\n ]\n },\n \"preview\": {\n \"entry\": \"preview/playground/owned-industry.tsx\",\n \"status\": \"example\",\n \"description\": \"本地预览使用示例状态和回调,只用于理解界面;不构成当前业务映射或真实设备、服务验证。\"\n },\n \"ontologyAlignment\": {\n \"authority\": \"当前应用本体的对象、属性、关系、状态、单位与操作为依据;源码本身作为 reference,不能从组件数据模型反推目标本体。\",\n \"applicability\": \"以下角色仅解释原参考场景,不是待创建的对象清单。按当前本体映射,可拆分、组合、改写或不采用。\",\n \"objects\": [\n {\n \"role\": \"stationSession\",\n \"meaning\": \"工位采集会话\"\n },\n {\n \"role\": \"sampleContext\",\n \"meaning\": \"当前受检对象与生产上下文\"\n },\n {\n \"role\": \"measurement\",\n \"meaning\": \"服务返回的指标测量与人工复核\"\n },\n {\n \"role\": \"capture\",\n \"meaning\": \"帧及算法结果\"\n }\n ],\n \"relations\": [\n \"采集会话关联受检上下文\",\n \"测量关联检测组和采集结果\"\n ],\n \"mappingRequired\": [\n \"核对当前对象、属性及实例的稳定标识与采用版本\",\n \"核对属性类型、单位、枚举和空值含义\",\n \"核对关系标识、方向、基数、查询范围和关联键\",\n \"核对本体操作的输入输出、权限、失败、并发与重复请求语义\",\n \"确定受控展示状态与真实业务状态的转换,保留未确定部分\"\n ],\n \"gapsInOriginalComponent\": [\n \"不包含相机、量具、算法、语音识别或标定后端;前端连接代码不等于设备已接通\",\n \"测量使用名称作键并按总长/长度、总宽/宽度回退,重名可能覆盖且不能替代目标属性 ID\",\n \"无算法值时可回退 item.val,应用须区分旧值、采集失败和新证据\",\n \"回填回调为 void,没有业务持久化成功确认协议\",\n \"硬件灯及演示状态不能作为真实在线证据;Catalog 的 onStepChange / onVoiceCorrect 和槽位不是当前 Props\"\n ]\n },\n \"interaction\": {\n \"summary\": \"视觉质检工位终端\",\n \"summarySupport\": \"existing\",\n \"existingCapabilities\": [\n \"按检测组采集、确认、重拍和完成回填\",\n \"演示适配器与 live 服务连接模式\",\n \"帧、算法、会话和语音消息接收代码\",\n \"叠加图层、侧栏与相机、污点、标定设置界面\",\n \"总长与总宽的人工复核标记\",\n \"onBackfill 返回测量字典与复核字典\"\n ],\n \"steps\": [\n {\n \"id\": \"step-1\",\n \"support\": \"existing\",\n \"intent\": \"打开工位并开始采集\",\n \"effect\": \"isOpen 后 idle 会自动尝试 start;live 使用 HTTP / WebSocket,演示模式依赖 demoAdapter。\"\n },\n {\n \"id\": \"step-2\",\n \"support\": \"existing\",\n \"intent\": \"拍摄、确认本组或重拍\",\n \"effect\": \"capture / confirm / cancel 调用服务或演示适配器;本地记录已确认步骤并推进组。\"\n },\n {\n \"id\": \"step-3\",\n \"support\": \"existing\",\n \"intent\": \"复核测量值\",\n \"effect\": \"markReview 为总长、总宽写入固定复核说明;不是任意指标的手动数值编辑器。\"\n },\n {\n \"id\": \"step-4\",\n \"support\": \"existing\",\n \"intent\": \"完成并回填\",\n \"effect\": \"所有步骤确认后允许 handleBackfill,onBackfill 以指标名称为键回传值和 reviews;随后停止会话并关闭。\"\n },\n {\n \"id\": \"step-5\",\n \"support\": \"host-extension\",\n \"intent\": \"写入真实检验记录\",\n \"effect\": \"回填不是业务提交;宿主必须校验样本、指标稳定键、单位、版本、授权与重复请求。\"\n }\n ],\n \"states\": [\n \"idle\",\n \"capturing\",\n \"inspecting\",\n \"continuous(会话类型)\",\n \"done(本地步骤汇总)\",\n \"busy / error\",\n \"demo / live\",\n \"stream connectionState\"\n ],\n \"applicationStatesToDesign\": [\n \"当前查询或操作未绑定时的待接入状态\",\n \"真实授权、失败恢复与上下文失效处理\",\n \"目标本体要求而原实现缺少的状态和门禁\"\n ]\n },\n \"adaptation\": {\n \"preserve\": [\n \"业务对象语义\",\n \"原始数据、判定与业务操作的边界\",\n \"关键交互及其真实源码依据\"\n ],\n \"variable\": [\n \"当前本体映射\",\n \"属性与关联投影\",\n \"布局、区域拆合与视觉细节\",\n \"宿主回调绑定和补充状态\"\n ],\n \"exampleOnly\": [\n \"预览中的实例、计数和固定业务值\",\n \"演示适配器和本地操作结果\",\n \"未经当前本体确认的原组件命名和默认文案\"\n ]\n },\n \"pattern\": {\n \"schemaVersion\": 1,\n \"readingGuide\": \"先结合当前应用本体阅读业务目的、ASCII 布局和对象角色,判断整体、局部或组合参考价值;再按 sourceReadingOrder 直接读取源码。界面相似不是采用充分条件,没有近乎同名的组件也允许参考其中一部分。\",\n \"business\": {\n \"actor\": \"工位操作员或现场检验员\",\n \"trigger\": \"在选定样本上下文中打开采集终端\",\n \"goal\": \"在视觉质检工位按检测组采集、冻结、确认或重拍结果,展示叠加标注、服务状态和测量复核,完成后将汇总测量值交回宿主。\",\n \"workUnit\": \"一个工位会话中的检测组\",\n \"boundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\"\n },\n \"layout\": {\n \"basis\": \"source-observed\",\n \"summary\": \"context-and-actions / group-progress / viewport / runtime-sidebar\",\n \"desktopAscii\": \"+--------------------------------------------------------------------+\\n| 模态终端: 对象/SKU/批次 | 设备灯 / 服务状态 |\\n| [开始] [抓拍] [确认组] [重拍] [语音] [设置] [回填] [关闭] |\\n| 检测组步骤条 / 当前步骤 |\\n| 语音或服务消息条 |\\n| 主画面: 帧 + 算法叠加 + HUD | 可关闭的实时信息侧栏 |\\n| | 会话/判定/语音/测量/日志 |\\n+--------------------------------------------------------------------+\",\n \"zones\": [\n \"context-and-actions\",\n \"group-progress\",\n \"viewport\",\n \"runtime-sidebar\"\n ],\n \"narrow\": {\n \"basis\": \"source-observed\",\n \"ascii\": \"+--------------------------------------------------------------------+\\n| 上下分行的上下文与操作条 |\\n| 步骤条与服务消息 |\\n| 主画面 |\\n| 实时信息侧栏(下移,可关闭) |\\n+--------------------------------------------------------------------+\",\n \"description\": \"按源码已有规则概括;图中附加建议仍待实现,未做本轮浏览器响应式验收。\"\n },\n \"evidencePaths\": [\n \"components/business/industry/vision/src/qcvision-station-terminal.tsx\",\n \"components/business/industry/vision/src/qcvision-station.css\",\n \"components/business/industry/vision/src/qcvision-station-responsive.css\"\n ],\n \"interpretation\": \"ASCII 概括实际分区与信息顺序,不固定尺寸、数据量、字段或页面区域;问号表示可选入口,括号注明条件。\"\n },\n \"objectRequirements\": {\n \"interpretation\": \"以下是原范式所需的业务信息角色,不是目标本体对象表或必建清单。当前应用本体决定对象、关系、属性、单位、版本及操作;展示聚合可由现有多个对象投影而来。\",\n \"core\": [\n {\n \"role\": \"stationSession\",\n \"meaning\": \"工位采集会话\",\n \"information\": \"会话状态、采集/确认能力和错误\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n },\n {\n \"role\": \"measurement\",\n \"meaning\": \"服务返回的指标测量与人工复核\",\n \"information\": \"检测组指标、测量值与复核记录\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n },\n {\n \"role\": \"sampleContext\",\n \"meaning\": \"当前受检对象与生产上下文\",\n \"information\": \"本次测量所属的受检上下文\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n }\n ],\n \"supporting\": [\n {\n \"role\": \"capture\",\n \"meaning\": \"帧及算法结果\",\n \"requirementScope\": \"按当前任务需要决定是否采用;不自动新建同名对象。\"\n }\n ],\n \"relations\": [\n \"采集会话关联受检上下文\",\n \"测量关联检测组和采集结果\"\n ],\n \"presentationOnly\": [\n \"context-and-actions\",\n \"group-progress\",\n \"viewport\",\n \"runtime-sidebar\",\n \"currentStepIndex、confirmedSteps、reviews、sideOpen、settingsDialog、logs\"\n ],\n \"mappingQuestions\": [\n \"工位会话与当前受检上下文\",\n \"帧与算法结果对应关系\",\n \"指标稳定键、单位、版本和采集来源\"\n ]\n },\n \"dataProjection\": {\n \"inputs\": [\n \"pipelineGroups、hardwareLamps、production 和连接配置\",\n \"服务帧、算法结果、会话状态、语音消息;或显式 demoAdapter\"\n ],\n \"derived\": [\n \"当前检测组、确认组数和本轮完成标记\",\n \"currentResultValues:当前组算法值投影;最终回填由累计缓存与原输入合成\",\n \"画面宽高比\"\n ],\n \"localUiState\": [\n \"currentStepIndex、confirmedSteps、measuredValues(跨组确认值缓存)、reviews、sideOpen、settingsDialog、logs\"\n ],\n \"outputs\": [\n \"onBackfill(results, reviews)\",\n \"onClose;live 服务会话及配置请求\"\n ],\n \"scope\": \"仅解释当前源码的数据流;查询、持久化及授权均须按当前本体操作另行核对,空数组不等于未知业务计数。\"\n },\n \"interactionFlow\": {\n \"ascii\": \"打开 -> 尝试开始会话 -> 抓拍 -> 等待算法结果\\n确认当前组 -> 缓存值并推进;重拍 -> 丢弃当前结果\\n全部组确认 -> onBackfill -> 宿主处理业务写入\",\n \"existingStates\": [\n \"idle\",\n \"capturing\",\n \"inspecting\",\n \"continuous(会话类型)\",\n \"done(本地步骤汇总)\",\n \"busy / error\",\n \"demo / live\",\n \"stream connectionState\"\n ],\n \"hostResponsibilities\": [\n \"回填不是业务提交;宿主必须校验样本、指标稳定键、单位、版本、授权与重复请求。\"\n ],\n \"stateDistinction\": \"界面选择、展开、忙态不自动等于业务状态迁移;回调已触发不证明写入成功。静态展示项没有输出命令。\"\n },\n \"composition\": {\n \"parts\": [\n \"实时画面与运行信息分栏\",\n \"逐检测组确认与重拍\",\n \"采集结果和复核信息分离\"\n ],\n \"with\": [\n {\n \"assetId\": \"industry.vision-stream-viewport\",\n \"support\": \"source-composed\",\n \"coordination\": \"源码实际嵌入帧与叠加视口;终端管理采集,视口只负责画面。\"\n },\n {\n \"assetId\": \"industry.first-piece-inspection-workbench\",\n \"support\": \"adaptation-proposal\",\n \"coordination\": \"由宿主协调弹窗与当前样本;回填字典再映射为当前本体测量明细。\"\n }\n ],\n \"sharedContext\": [\n \"工位会话与当前受检上下文\",\n \"帧与算法结果对应关系\",\n \"指标稳定键、单位、版本和采集来源\"\n ],\n \"coordination\": \"source-composed 表示可在实际源码中定位的父子采用关系(可能由对方作为父组件);adaptation-proposal 是可选组合建议,尚无自动接线。由页面协调器按当前本体传递稳定上下文、数据与动作。\"\n },\n \"reuse\": {\n \"wholeWhen\": [\n \"已有匹配的 QCVision 服务协议或显式演示适配器,目标确实需要逐组采集、复核和回填。\",\n \"仍须核对真实 Props、必需回调、metadata.selection 的采用/排除条件、版本和依赖;参考价值不代表 CLI 可安装。\"\n ],\n \"parts\": [\n \"实时画面与运行信息分栏\",\n \"逐检测组确认与重拍\",\n \"采集结果和复核信息分离\"\n ],\n \"adaptWhen\": [\n \"其他采集服务可参考主画面侧栏和步骤确认,但需要改写协议适配、名称键回填及会话控制。\"\n ],\n \"avoidWhen\": [\n \"仅需手工表单,或要求前端本身提供算法/量具驱动时不适合整体采用。\"\n ],\n \"decision\": \"先说明哪些业务语义和信息组织相近,再列采用部分、改写部分、缺口和源码依据;最终可复用/需组合/无匹配由 AI 对照当前合同判断,不由名称或相似度阈值直接决定。\"\n },\n \"sourceReadingOrder\": [\n {\n \"path\": \"components/business/industry/vision/src/qcvision-station-terminal.tsx\",\n \"symbols\": [],\n \"purpose\": \"先看真实渲染分区、受控输入和事件出口,与 ASCII 对照;不要从图示推断额外能力。\"\n },\n {\n \"path\": \"components/business/industry/vision/src/types.ts\",\n \"symbols\": [\n \"QcVisionStationTerminalProps\",\n \"QcVisionDemoAdapter\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/industry/vision/src/use-qcvision-station.ts\",\n \"symbols\": [\n \"useQcVisionStation\",\n \"demoAdapter\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/industry/vision/src/station-measurements.ts\",\n \"symbols\": [\n \"resolveStationMeasurements\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/industry/vision/src/qcvision-api-client.ts\",\n \"symbols\": [\n \"QcVisionApiClient\",\n \"buildQcVisionEndpoints\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/industry/vision/src/qcvision-station.css\",\n \"symbols\": [\n \".qcb-main\",\n \".qcb-side\"\n ],\n \"purpose\": \"主画面与侧栏布局\"\n },\n {\n \"path\": \"components/business/industry/vision/src/qcvision-station-responsive.css\",\n \"symbols\": [\n \"@media\"\n ],\n \"purpose\": \"实际窄屏重排规则\"\n }\n ]\n }\n}\n","path":"references/metaform/components/business/industry/vision/src/qcvision-station-terminal.reference.json","target":"~/references/metaform/components/business/industry/vision/src/qcvision-station-terminal.reference.json","type":"registry:file"}],"meta":{"assetId":"resource.file.846b19f7b160f92c9458ac2787ffc253","contractRef":"components/business/industry/vision/src/qcvision-station-terminal.reference.json","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-846b19f7b160f92c9458ac2787ffc253","registryDependencies":[],"title":"resource.file.846b19f7b160f92c9458ac2787ffc253","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.855cd96281bba53054b204d466e73c11","files":[{"content":"// Tremor Select [v1.0.0]\n\nimport React from \"react\"\nimport * as SelectPrimitives from \"@radix-ui/react-select\"\nimport {\n RiArrowDownSLine,\n RiArrowUpSLine,\n RiCheckLine,\n RiExpandUpDownLine,\n} from \"@remixicon/react\"\n\nimport { cx } from \"../../utils/cx\"\nimport { focusInput } from \"../../utils/focusInput\"\nimport { hasErrorInput } from \"../../utils/hasErrorInput\"\n\nconst Select = SelectPrimitives.Root\nSelect.displayName = \"Select\"\n\nconst SelectGroup = SelectPrimitives.Group\nSelectGroup.displayName = \"SelectGroup\"\n\nconst SelectValue = SelectPrimitives.Value\nSelectValue.displayName = \"SelectValue\"\n\nconst selectTriggerStyles = [\n cx(\n // base\n \"group/trigger flex w-full select-none items-center justify-between gap-2 truncate rounded-md border px-3 py-2 shadow-xs outline-hidden transition sm:text-sm\",\n // border color\n \"border-gray-300 dark:border-gray-800\",\n // text color\n \"text-gray-900 dark:text-gray-50\",\n // placeholder\n \"data-placeholder:text-gray-500 dark:data-placeholder:text-gray-500\",\n // background color\n \"bg-white dark:bg-gray-950\",\n // hover\n \"hover:bg-gray-50 dark:hover:bg-gray-950/50\",\n // disabled\n \"data-disabled:bg-gray-100 data-disabled:text-gray-400\",\n \"dark:data-disabled:border-gray-700 dark:data-disabled:bg-gray-800 dark:data-disabled:text-gray-500\",\n focusInput,\n // invalid (optional)\n // \"dark:aria-invalid:ring-red-400/20 aria-invalid:ring-2 aria-invalid:ring-red-200 aria-invalid:border-red-500 invalid:ring-2 invalid:ring-red-200 invalid:border-red-500\"\n ),\n]\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitives.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitives.Trigger> & {\n hasError?: boolean\n }\n>(({ className, hasError, children, ...props }, forwardedRef) => {\n return (\n <SelectPrimitives.Trigger\n ref={forwardedRef}\n className={cx(\n selectTriggerStyles,\n hasError ? hasErrorInput : \"\",\n className,\n )}\n tremor-id=\"tremor-raw\"\n {...props}\n >\n <span className=\"truncate\">{children}</span>\n <SelectPrimitives.Icon asChild>\n <RiExpandUpDownLine\n className={cx(\n // base\n \"size-4 shrink-0\",\n // text color\n \"text-gray-400 dark:text-gray-600\",\n // disabled\n \"group-data-disabled/trigger:text-gray-300 dark:group-data-disabled/trigger:text-gray-600\",\n )}\n />\n </SelectPrimitives.Icon>\n </SelectPrimitives.Trigger>\n )\n})\n\nSelectTrigger.displayName = \"SelectTrigger\"\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitives.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitives.ScrollUpButton>\n>(({ className, ...props }, forwardedRef) => (\n <SelectPrimitives.ScrollUpButton\n ref={forwardedRef}\n className={cx(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <RiArrowUpSLine className=\"size-3 shrink-0\" aria-hidden=\"true\" />\n </SelectPrimitives.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitives.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitives.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitives.ScrollDownButton>\n>(({ className, ...props }, forwardedRef) => (\n <SelectPrimitives.ScrollDownButton\n ref={forwardedRef}\n className={cx(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <RiArrowDownSLine className=\"size-3 shrink-0\" aria-hidden=\"true\" />\n </SelectPrimitives.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitives.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitives.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitives.Content>\n>(\n (\n {\n className,\n position = \"popper\",\n children,\n sideOffset = 8,\n collisionPadding = 10,\n ...props\n },\n forwardedRef,\n ) => (\n <SelectPrimitives.Portal>\n <SelectPrimitives.Content\n ref={forwardedRef}\n className={cx(\n // base\n \"relative z-50 overflow-hidden rounded-md border shadow-xl shadow-black/[2.5%]\",\n // widths\n \"min-w-[calc(var(--radix-select-trigger-width)-2px)] max-w-[95vw]\",\n // heights\n \"max-h-(--radix-select-content-available-height)\",\n // background color\n \"bg-white dark:bg-gray-950\",\n // text color\n \"text-gray-900 dark:text-gray-50\",\n // border color\n \"border-gray-200 dark:border-gray-800\",\n // transition\n \"will-change-[transform,opacity]\",\n // \"data-[state=open]:animate-slide-down-and-fade\",\n \"data-[state=closed]:animate-hide\",\n \"data-[side=bottom]:animate-slide-down-and-fade data-[side=left]:animate-slide-left-and-fade data-[side=right]:animate-slide-right-and-fade data-[side=top]:animate-slide-up-and-fade\",\n className,\n )}\n sideOffset={sideOffset}\n position={position}\n collisionPadding={collisionPadding}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitives.Viewport\n className={cx(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[calc(var(--radix-select-trigger-width))]\",\n )}\n >\n {children}\n </SelectPrimitives.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitives.Content>\n </SelectPrimitives.Portal>\n ),\n)\n\nSelectContent.displayName = \"SelectContent\"\n\nconst SelectGroupLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitives.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitives.Label>\n>(({ className, ...props }, forwardedRef) => (\n <SelectPrimitives.Label\n ref={forwardedRef}\n className={cx(\n // base\n \"px-3 py-2 text-xs font-medium tracking-wide\",\n // text color\n \"text-gray-500 dark:text-gray-500\",\n className,\n )}\n {...props}\n />\n))\n\nSelectGroupLabel.displayName = \"SelectGroupLabel\"\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitives.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitives.Item>\n>(({ className, children, ...props }, forwardedRef) => {\n return (\n <SelectPrimitives.Item\n ref={forwardedRef}\n className={cx(\n // base\n \"grid cursor-pointer grid-cols-[1fr_20px] gap-x-2 rounded-sm px-3 py-2 outline-hidden transition-colors data-[state=checked]:font-semibold sm:text-sm\",\n // text color\n \"text-gray-900 dark:text-gray-50\",\n // disabled\n \"data-disabled:pointer-events-none data-disabled:text-gray-400 data-disabled:hover:bg-none dark:data-disabled:text-gray-600\",\n // focus\n \"focus-visible:bg-gray-100 dark:focus-visible:bg-gray-900\",\n // hover\n \"hover:bg-gray-100 dark:hover:bg-gray-900\",\n className,\n )}\n {...props}\n >\n <SelectPrimitives.ItemText className=\"flex-1 truncate\">\n {children}\n </SelectPrimitives.ItemText>\n <SelectPrimitives.ItemIndicator>\n <RiCheckLine\n className=\"size-5 shrink-0 text-gray-800 dark:text-gray-200\"\n aria-hidden=\"true\"\n />\n </SelectPrimitives.ItemIndicator>\n </SelectPrimitives.Item>\n )\n})\n\nSelectItem.displayName = \"SelectItem\"\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitives.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitives.Separator>\n>(({ className, ...props }, forwardedRef) => (\n <SelectPrimitives.Separator\n ref={forwardedRef}\n className={cx(\n // base\n \"-mx-1 my-1 h-px\",\n // background color\n \"bg-gray-300 dark:bg-gray-700\",\n className,\n )}\n {...props}\n />\n))\n\nSelectSeparator.displayName = \"SelectSeparator\"\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectGroupLabel,\n SelectItem,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n","path":"src/components/vendor/tremor/components/Select/Select.tsx","target":"~/src/components/vendor/tremor/components/Select/Select.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.855cd96281bba53054b204d466e73c11","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/components/Select/Select.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-855cd96281bba53054b204d466e73c11","registryDependencies":[],"title":"resource.file.855cd96281bba53054b204d466e73c11","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.85fe1c99aaca942b17cac401e3a35dab","files":[{"content":"import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\nimport { Slot } from \"radix-ui\"\n\nconst markerVariants = cva(\n \"cn-marker group/marker relative flex w-full items-center\",\n {\n variants: {\n variant: {\n default: \"cn-marker-variant-default\",\n separator: \"cn-marker-variant-separator\",\n border: \"cn-marker-variant-border\",\n },\n },\n }\n)\n\nfunction Marker({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof markerVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"div\"\n\n return (\n <Comp\n data-slot=\"marker\"\n data-variant={variant}\n className={cn(markerVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction MarkerIcon({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"marker-icon\"\n aria-hidden=\"true\"\n className={cn(\"cn-marker-icon shrink-0\", className)}\n {...props}\n />\n )\n}\n\nfunction MarkerContent({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"marker-content\"\n className={cn(\"cn-marker-content min-w-0 wrap-break-word\", className)}\n {...props}\n />\n )\n}\n\nexport { Marker, MarkerIcon, MarkerContent, markerVariants }\n","path":"src/components/vendor/shadcn/radix/ui/marker.tsx","target":"~/src/components/vendor/shadcn/radix/ui/marker.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.85fe1c99aaca942b17cac401e3a35dab","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/radix/ui/marker.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-85fe1c99aaca942b17cac401e3a35dab","registryDependencies":[],"title":"resource.file.85fe1c99aaca942b17cac401e3a35dab","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.86701544d23d231dec42468e114d446d","files":[{"content":"\"use client\"\n\nimport { TrendingUp } from \"lucide-react\"\nimport { LabelList, RadialBar, RadialBarChart } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A radial chart with a label\"\n\nconst chartData = [\n { browser: \"chrome\", visitors: 275, fill: \"var(--color-chrome)\" },\n { browser: \"safari\", visitors: 200, fill: \"var(--color-safari)\" },\n { browser: \"firefox\", visitors: 187, fill: \"var(--color-firefox)\" },\n { browser: \"edge\", visitors: 173, fill: \"var(--color-edge)\" },\n { browser: \"other\", visitors: 90, fill: \"var(--color-other)\" },\n]\n\nconst chartConfig = {\n visitors: {\n label: \"Visitors\",\n },\n chrome: {\n label: \"Chrome\",\n color: \"var(--chart-1)\",\n },\n safari: {\n label: \"Safari\",\n color: \"var(--chart-2)\",\n },\n firefox: {\n label: \"Firefox\",\n color: \"var(--chart-3)\",\n },\n edge: {\n label: \"Edge\",\n color: \"var(--chart-4)\",\n },\n other: {\n label: \"Other\",\n color: \"var(--chart-5)\",\n },\n} satisfies ChartConfig\n\nexport function ChartRadialLabel() {\n return (\n <Card className=\"flex flex-col\">\n <CardHeader className=\"items-center pb-0\">\n <CardTitle>Radial Chart - Label</CardTitle>\n <CardDescription>January - June 2024</CardDescription>\n </CardHeader>\n <CardContent className=\"flex-1 pb-0\">\n <ChartContainer\n config={chartConfig}\n className=\"mx-auto aspect-square max-h-[250px]\"\n >\n <RadialBarChart\n data={chartData}\n startAngle={-90}\n endAngle={380}\n innerRadius={30}\n outerRadius={110}\n >\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel nameKey=\"browser\" />}\n />\n <RadialBar dataKey=\"visitors\" background>\n <LabelList\n position=\"insideStart\"\n dataKey=\"browser\"\n className=\"fill-white capitalize mix-blend-luminosity\"\n fontSize={11}\n />\n </RadialBar>\n </RadialBarChart>\n </ChartContainer>\n </CardContent>\n <CardFooter className=\"flex-col gap-2 text-sm\">\n <div className=\"flex items-center gap-2 leading-none font-medium\">\n Trending up by 5.2% this month <TrendingUp className=\"h-4 w-4\" />\n </div>\n <div className=\"leading-none text-muted-foreground\">\n Showing total visitors for the last 6 months\n </div>\n </CardFooter>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-radial-label.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-radial-label.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.86701544d23d231dec42468e114d446d","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-radial-label.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-86701544d23d231dec42468e114d446d","registryDependencies":[],"title":"resource.file.86701544d23d231dec42468e114d446d","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.87da11560bbc726c6ea363b6b581c47a","files":[{"content":"import type { ReactNode } from 'react';\n\nimport { Info, PackageCheck } from 'lucide-react';\n\nimport { Badge } from '@metaform/design-system/components/ui/badge';\nimport { cn } from '@metaform/design-system/lib/utils';\n\nimport type { BatchSamplingPlan, ShiftSamplingAllocation } from './inspection-plan-types';\n\nexport interface SampleProgressData {\n required: number;\n inspected: number;\n passed: number;\n failed: number;\n acceptanceNumber: number;\n passRateThreshold: number;\n}\n\nexport interface SamplingPlanProps {\n plan: BatchSamplingPlan;\n batchId?: string;\n quantity?: number;\n currentShiftId?: string;\n inspectionItemCount?: number;\n intensified?: boolean;\n sampleProgress?: SampleProgressData;\n}\n\nconst factBadgeClass = 'rounded-md px-2 py-0.5 text-xs font-normal tabular-nums border';\n\nexport function SamplingPlan({\n plan,\n batchId,\n quantity,\n currentShiftId,\n inspectionItemCount,\n intensified,\n sampleProgress,\n}: SamplingPlanProps) {\n const currentShift = plan.shifts.find((shift) => shift.id === currentShiftId);\n\n return (\n <section\n className=\"rounded-lg bg-muted/40 p-3 text-xs\"\n data-asset=\"quality.sampling-plan\"\n aria-label={batchId ? `${batchId} 抽检方案` : '抽检方案'}\n >\n <div className=\"flex flex-wrap items-baseline justify-between gap-2\">\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-1\">\n <span className=\"font-semibold text-foreground\">\n 抽检方案{batchId ? ` · 所属批次 ${batchId}` : ''}\n </span>\n {quantity !== undefined && (\n <span className=\"text-xs text-muted-foreground tabular-nums\">\n ({quantity.toLocaleString()} 片{intensified ? ' · 首批' : ''} · 排班{' '}\n {plan.shifts.length} 班)\n </span>\n )}\n </div>\n\n <div className=\"flex flex-wrap items-center gap-1.5 text-xs\">\n {currentShift && (\n <Badge\n variant=\"outline\"\n className={cn(\n factBadgeClass,\n 'border-brand/30 bg-brand-soft/60 text-brand font-medium',\n )}\n >\n <span>{currentShift.name}抽 </span>\n <strong className=\"font-semibold text-brand\">{currentShift.sampleSize} 片</strong>\n </Badge>\n )}\n <Badge\n variant=\"outline\"\n className={cn(factBadgeClass, 'border-border/60 bg-card text-foreground')}\n >\n <span>批次共 </span>\n <strong className=\"font-semibold text-foreground\">{plan.batchSampleSize} 片</strong>\n </Badge>\n <Badge variant=\"warning\" className={cn(factBadgeClass, 'border-warning/20')}>\n <span>合格率 ≥ </span>\n <strong className=\"font-semibold\">{plan.passRateThreshold}%</strong>\n </Badge>\n <Badge variant=\"danger\" className={cn(factBadgeClass, 'border-danger/20')}>\n <span>关键项 </span>\n <strong className=\"font-semibold\">Ac {plan.criticalAcceptanceNumber}</strong>\n </Badge>\n <Badge\n variant=\"outline\"\n className={cn(factBadgeClass, 'border-border/60 bg-card text-foreground')}\n >\n <span>主要项 </span>\n <strong className=\"font-semibold\">\n Ac {plan.acceptanceNumber} / Re {plan.rejectionNumber}\n </strong>\n </Badge>\n {inspectionItemCount !== undefined && (\n <Badge\n variant=\"outline\"\n className={cn(factBadgeClass, 'border-border/60 bg-card text-foreground')}\n >\n <span>检测 </span>\n <strong className=\"font-semibold text-foreground\">{inspectionItemCount} 项</strong>\n </Badge>\n )}\n {intensified && (\n <Badge\n variant=\"outline\"\n className={cn(\n factBadgeClass,\n 'border-brand/30 bg-brand-soft/60 text-brand font-semibold',\n )}\n >\n 首批加严\n </Badge>\n )}\n </div>\n </div>\n\n <div className=\"mt-2.5 space-y-1\">\n <div\n className=\"hidden items-center gap-2 px-3 py-1 text-[11px] font-medium text-muted-foreground md:grid md:grid-cols-[minmax(6.5rem,1.2fr)_minmax(6.5rem,1.2fr)_minmax(5.5rem,1fr)_minmax(5rem,1fr)_minmax(4rem,0.8fr)_minmax(7rem,1.5fr)]\"\n aria-hidden=\"true\"\n >\n <div>班次</div>\n <div>时间</div>\n <div>该班产量</div>\n <div>本班抽检</div>\n <div>点位</div>\n <div className=\"text-right\">每点抽样</div>\n </div>\n <div className=\"space-y-1\">\n {plan.shifts.map((shift) => {\n const current = shift.id === currentShiftId;\n return <ShiftRow key={shift.id} shift={shift} current={current} />;\n })}\n </div>\n </div>\n\n <div className=\"mt-2.5 flex items-start gap-1.5 border-t border-border/40 pt-2 text-xs leading-relaxed text-muted-foreground\">\n <Info className=\"mt-0.5 size-3.5 shrink-0 text-muted-foreground/70\" aria-hidden=\"true\" />\n <p>\n 批次内分布:前段{' '}\n <strong className=\"font-semibold text-foreground\">{plan.pointDistribution.front}</strong>{' '}\n / 中段{' '}\n <strong className=\"font-semibold text-foreground\">{plan.pointDistribution.middle}</strong>{' '}\n / 末段{' '}\n <strong className=\"font-semibold text-foreground\">{plan.pointDistribution.tail}</strong>{' '}\n 片 · <span className=\"text-foreground/80\">关键项检出 1 片即判不合格</span>\n </p>\n </div>\n\n {sampleProgress && <SamplingProgress progress={sampleProgress} />}\n </section>\n );\n}\n\nfunction ShiftRow({ shift, current }: { shift: ShiftSamplingAllocation; current: boolean }) {\n return (\n <div\n className={cn(\n 'grid grid-cols-2 gap-x-3 gap-y-1.5 rounded-md bg-card/90 px-3 py-1.5 text-xs tabular-nums transition-colors',\n 'sm:grid-cols-3',\n 'md:grid-cols-[minmax(6.5rem,1.2fr)_minmax(6.5rem,1.2fr)_minmax(5.5rem,1fr)_minmax(5rem,1fr)_minmax(4rem,0.8fr)_minmax(7rem,1.5fr)] md:items-center md:gap-2',\n current ? 'border border-brand/30 bg-brand-soft/30' : 'border border-border/40',\n )}\n >\n <div className=\"col-span-2 flex min-w-0 items-center gap-1.5 font-medium text-foreground sm:col-span-3 md:col-span-1\">\n <span className=\"truncate\">{shift.name}</span>\n {current && (\n <span className=\"inline-flex shrink-0 items-center rounded bg-brand px-1.5 py-0.5 text-[10px] font-medium leading-none text-primary-foreground\">\n 我的班次\n </span>\n )}\n </div>\n <ShiftValue label=\"时间\" muted>\n {shift.timeRange}\n </ShiftValue>\n <ShiftValue label=\"产量\" muted>\n {shift.quantity.toLocaleString()} 片\n </ShiftValue>\n <ShiftValue label=\"抽检\" className=\"font-semibold text-brand\">\n {shift.sampleSize} 片\n </ShiftValue>\n <ShiftValue label=\"点位\" muted>\n {shift.pointCount} 点\n </ShiftValue>\n <ShiftValue\n label=\"每点抽样\"\n className=\"col-span-2 text-foreground sm:col-span-3 md:col-span-1 md:text-right\"\n >\n {shift.perPoint.join(' / ')}\n </ShiftValue>\n </div>\n );\n}\n\nfunction ShiftValue({\n label,\n className,\n muted = false,\n children,\n}: {\n label: string;\n className?: string;\n muted?: boolean;\n children: ReactNode;\n}) {\n return (\n <div className={cn('min-w-0 truncate', muted && 'text-muted-foreground', className)}>\n <span className=\"mr-1.5 text-muted-foreground md:hidden\">{label}</span>\n <span>{children}</span>\n </div>\n );\n}\n\nexport function SamplingProgress({ progress }: { progress: SampleProgressData }) {\n const { required, inspected, passed, failed, acceptanceNumber, passRateThreshold } = progress;\n\n const waiting = Math.max(0, required - inspected);\n const inspectedPct = required > 0 ? Math.round((inspected / required) * 100) : 0;\n const passRate = inspected > 0 ? Math.round((passed / inspected) * 1000) / 10 : 0;\n const isFull = inspected >= required;\n\n // Verdict evaluation\n const isRejectedByFailed = failed > acceptanceNumber;\n const isRejectedByRate = passRate < passRateThreshold;\n const isFailed = isFull && (isRejectedByFailed || isRejectedByRate);\n const isPassed = isFull && !isFailed;\n\n let verdictTone: 'success' | 'danger' | 'warning' = 'warning';\n let verdictText = `检测进行中:已检 ${inspected}/${required} 片`;\n\n if (isPassed) {\n verdictTone = 'success';\n verdictText = `✓ 抽样达标:不合格 ${failed} 片 ≤ Ac ${acceptanceNumber},合格率 ${passRate}% ≥ ${passRateThreshold}%`;\n } else if (isFailed) {\n verdictTone = 'danger';\n if (isRejectedByFailed) {\n verdictText = `✕ 不合格 ${failed} 片 > Ac ${acceptanceNumber},整批拒收`;\n } else {\n verdictText = `✕ 合格率 ${passRate}% < 门槛 ${passRateThreshold}%,整批拒收`;\n }\n }\n\n // Generate sample units array (up to max 125 units to prevent layout blowout)\n const unitCount = Math.min(required, 125);\n const units = Array.from({ length: unitCount }, (_, i) => {\n if (i < inspected) {\n return { id: i + 1, status: i < failed ? 'failed' : 'passed' } as const;\n }\n return { id: i + 1, status: 'waiting' } as const;\n });\n\n return (\n <div\n className=\"mt-3.5 border-t border-dashed border-border/80 pt-3\"\n data-asset=\"quality.sampling-progress\"\n >\n <div className=\"flex items-center gap-1.5 text-xs font-semibold text-foreground\">\n <PackageCheck className=\"size-4 shrink-0 text-brand\" aria-hidden=\"true\" />\n <span>抽样执行进度(本班)</span>\n </div>\n\n {/* 绿/红比例柱状条 */}\n <div className=\"mt-2.5 flex h-2 w-full overflow-hidden rounded-full bg-muted\">\n <div\n className=\"h-full bg-success transition-all duration-300\"\n style={{ width: `${(passed / Math.max(required, 1)) * 100}%` }}\n />\n <div\n className=\"h-full bg-danger transition-all duration-300\"\n style={{ width: `${(failed / Math.max(required, 1)) * 100}%` }}\n />\n </div>\n\n {/* 颗粒方块阵列 */}\n <div className=\"mt-2.5 flex flex-wrap gap-1\">\n {units.map(({ id, status }) => (\n <span\n key={id}\n className={cn(\n 'size-2.5 shrink-0 rounded-xs border transition-colors',\n status === 'passed' && 'border-success bg-success',\n status === 'failed' && 'border-danger bg-danger',\n status === 'waiting' && 'border-border/60 bg-muted/60',\n )}\n title={`第 ${id} 片: ${\n status === 'passed' ? '合格' : status === 'failed' ? '不合格' : '待检'\n }`}\n />\n ))}\n </div>\n\n {/* 数据指标汇总行 */}\n <div className=\"mt-2.5 flex flex-wrap items-center gap-x-3.5 gap-y-1 text-xs text-muted-foreground tabular-nums\">\n <span>\n 应抽 <strong className=\"font-semibold text-foreground\">{required}</strong> 片\n </span>\n <span>\n 已检 <strong className=\"font-semibold text-foreground\">{inspected}</strong> 片 (\n {inspectedPct}%)\n </span>\n <span>\n 合格 <strong className=\"font-semibold text-success\">{passed}</strong>\n </span>\n <span>\n 不合格{' '}\n <strong className={cn('font-semibold', failed > 0 ? 'text-danger' : 'text-foreground')}>\n {failed}\n </strong>\n </span>\n <span>\n 待检 <strong className=\"font-semibold text-foreground\">{waiting}</strong>\n </span>\n <span>\n 合格率 <strong className=\"font-semibold text-foreground\">{passRate}%</strong> (门槛 ≥\n {passRateThreshold}%)\n </span>\n <span>\n 主要项{' '}\n <strong className=\"font-semibold text-foreground\">\n Ac {acceptanceNumber} / Re {acceptanceNumber + 1}\n </strong>\n </span>\n </div>\n\n {/* 判定结论条 */}\n <div\n className={cn(\n 'mt-2.5 flex items-center gap-2 rounded-md border px-3 py-2 text-xs font-semibold',\n verdictTone === 'success' &&\n 'border-success/30 bg-success-soft/70 text-success-foreground',\n verdictTone === 'danger' && 'border-danger/30 bg-danger-soft/70 text-danger-foreground',\n verdictTone === 'warning' &&\n 'border-warning/30 bg-warning-soft/70 text-warning-foreground',\n )}\n >\n <span>{verdictText}</span>\n </div>\n </div>\n );\n}\n","path":"references/metaform/components/business/quality/src/sampling-plan.tsx","target":"~/references/metaform/components/business/quality/src/sampling-plan.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.87da11560bbc726c6ea363b6b581c47a","contractRef":"components/business/quality/src/sampling-plan.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-87da11560bbc726c6ea363b6b581c47a","registryDependencies":[],"title":"resource.file.87da11560bbc726c6ea363b6b581c47a","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.889746cb16eda2dec7800b4c07b65f1f","files":[{"content":"{\n \"title\": \"缺陷批次追溯:源码 reference 场景与交互\",\n \"originalScenario\": \"从缺陷批次查询结果进入批次档案,联合查看生产、原料、工艺、人员、设备、质量证据和历史追溯记录。\",\n \"usageBoundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\",\n \"source\": {\n \"implementation\": \"components/business/quality/src/batch-trace/batch-trace-workspace.tsx\",\n \"provenanceStatus\": \"以当前维护源码为核对依据;未另行认定原型来源或完整还原程度\",\n \"scope\": \"从缺陷批次查询结果进入批次档案,联合查看生产、原料、工艺、人员、设备、质量证据和历史追溯记录。\",\n \"evidence\": [\n {\n \"path\": \"components/business/quality/src/batch-trace/batch-trace-workspace.tsx\",\n \"symbols\": [\n \"BatchTraceWorkspace\",\n \"historyCategory\",\n \"openInspectionRecord\"\n ]\n },\n {\n \"path\": \"components/business/quality/src/batch-trace/batch-trace-types.ts\",\n \"symbols\": [\n \"BatchTraceWorkspaceModel\",\n \"BatchTraceWorkspaceCommands\"\n ]\n }\n ]\n },\n \"preview\": {\n \"entry\": \"preview/playground/owned-quality.tsx\",\n \"status\": \"example\",\n \"description\": \"本地预览使用示例状态和回调,只用于理解界面;不构成当前业务映射或真实设备、服务验证。\"\n },\n \"ontologyAlignment\": {\n \"authority\": \"当前应用本体的对象、属性、关系、状态、单位与操作为依据;源码本身作为 reference,不能从组件数据模型反推目标本体。\",\n \"applicability\": \"以下角色仅解释原参考场景,不是待创建的对象清单。按当前本体映射,可拆分、组合、改写或不采用。\",\n \"objects\": [\n {\n \"role\": \"batch\",\n \"meaning\": \"追溯中心批次\"\n },\n {\n \"role\": \"traceLink\",\n \"meaning\": \"与批次有关的生产和上游记录\"\n },\n {\n \"role\": \"evidence\",\n \"meaning\": \"检测证据与追溯结论\"\n }\n ],\n \"relations\": [\n \"批次关联上游记录\",\n \"批次关联检测记录与历史追溯\"\n ],\n \"mappingRequired\": [\n \"核对当前对象、属性及实例的稳定标识与采用版本\",\n \"核对属性类型、单位、枚举和空值含义\",\n \"核对关系标识、方向、基数、查询范围和关联键\",\n \"核对本体操作的输入输出、权限、失败、并发与重复请求语义\",\n \"确定受控展示状态与真实业务状态的转换,保留未确定部分\"\n ],\n \"gapsInOriginalComponent\": [\n \"缺陷分类、片数单位和阶段四文案固定,需核对当前业务\",\n \"各分区为展示用 cells 元组,不是本体表结构或关系查询引擎\",\n \"结论由宿主提供,不会自动根因分析\"\n ]\n },\n \"interaction\": {\n \"summary\": \"缺陷批次追溯\",\n \"summarySupport\": \"existing\",\n \"existingCapabilities\": [\n \"受控关键词查询与缺陷分类回调\",\n \"查询结果进入详情和返回列表回调\",\n \"生产主数据与六类关联分区展示\",\n \"详情内历史缺陷分类本地筛选\",\n \"加载、空、失败与无权查看状态展示及重试回调\"\n ],\n \"steps\": [\n {\n \"id\": \"step-1\",\n \"support\": \"existing\",\n \"intent\": \"查询缺陷批次\",\n \"effect\": \"setQueryText、setDefectCategory、search 交给宿主查询;组件不推导企业关联。\"\n },\n {\n \"id\": \"step-2\",\n \"support\": \"existing\",\n \"intent\": \"进入批次档案并返回结果\",\n \"effect\": \"openBatch / closeDetail 控制详情;详情由 selectedDetail 提供。\"\n },\n {\n \"id\": \"step-3\",\n \"support\": \"existing\",\n \"intent\": \"筛选历史追溯记录\",\n \"effect\": \"historyCategory 在组件内过滤当前详情的 history;不发起新查询。\"\n },\n {\n \"id\": \"step-4\",\n \"support\": \"existing\",\n \"intent\": \"打开关联检测记录\",\n \"effect\": \"openInspectionRecord 传递 taskId,由宿主定位实际记录。\"\n },\n {\n \"id\": \"step-5\",\n \"support\": \"host-extension\",\n \"intent\": \"导出或处置批次\",\n \"effect\": \"源码没有导出、审批或隔离写操作;需要当前本体对应操作和权限。\"\n }\n ],\n \"states\": [\n \"loading\",\n \"ready\",\n \"empty\",\n \"error\",\n \"forbidden\",\n \"detailOpen\",\n \"历史分类选择\"\n ],\n \"applicationStatesToDesign\": [\n \"当前查询或操作未绑定时的待接入状态\",\n \"真实授权、失败恢复与上下文失效处理\",\n \"目标本体要求而原实现缺少的状态和门禁\"\n ]\n },\n \"adaptation\": {\n \"preserve\": [\n \"业务对象语义\",\n \"原始数据、判定与业务操作的边界\",\n \"关键交互及其真实源码依据\"\n ],\n \"variable\": [\n \"当前本体映射\",\n \"属性与关联投影\",\n \"布局、区域拆合与视觉细节\",\n \"宿主回调绑定和补充状态\"\n ],\n \"exampleOnly\": [\n \"预览中的实例、计数和固定业务值\",\n \"演示适配器和本地操作结果\",\n \"未经当前本体确认的原组件命名和默认文案\"\n ]\n },\n \"pattern\": {\n \"schemaVersion\": 1,\n \"readingGuide\": \"先结合当前应用本体阅读业务目的、ASCII 布局和对象角色,判断整体、局部或组合参考价值;再按 sourceReadingOrder 直接读取源码。界面相似不是采用充分条件,没有近乎同名的组件也允许参考其中一部分。\",\n \"business\": {\n \"actor\": \"追溯人员或质量人员\",\n \"trigger\": \"从缺陷批次发起查询\",\n \"goal\": \"从缺陷批次查询结果进入批次档案,联合查看生产、原料、工艺、人员、设备、质量证据和历史追溯记录。\",\n \"workUnit\": \"一个查询范围及其中一个批次档案\",\n \"boundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\"\n },\n \"layout\": {\n \"basis\": \"source-observed\",\n \"summary\": \"query / results-or-detail / relation-sections / history\",\n \"desktopAscii\": \"+--------------------------------------------------------------------+\\n| 标题 / 岗位说明 |\\n| 查询态: [结果批次数 | 关键项批次 | 不合格片数] |\\n| 关键词 [输入] [查询] 缺陷分类 [选择] |\\n| 结果卡片 A | 结果卡片 B |\\n| ---------------- 选择批次后切换为详情 ---------------- |\\n| [返回查询结果] |\\n| 批次异常摘要 / 状态 / 关联任务 |\\n| 批次 -> 生产 -> 原料 -> 工艺 -> 人员 -> 设备(输入节点) |\\n| 生产主数据 [打开检测记录] |\\n| 原料表 | 工艺表 |\\n| 人员表 | 设备表 |\\n| 质量证据 / 追溯结论 |\\n| 历史缺陷分类 [选择] / 历史记录表 |\\n+--------------------------------------------------------------------+\",\n \"zones\": [\n \"query\",\n \"results-or-detail\",\n \"relation-sections\",\n \"history\"\n ],\n \"narrow\": {\n \"basis\": \"source-observed\",\n \"ascii\": \"+--------------------------------------------------------------------+\\n| 查询或详情单列 |\\n| 关系节点纵向排列 |\\n| 关联分区逐块向下阅读 |\\n| 宽表保留滚动 |\\n+--------------------------------------------------------------------+\",\n \"description\": \"按源码已有规则概括;图中附加建议仍待实现,未做本轮浏览器响应式验收。\"\n },\n \"evidencePaths\": [\n \"components/business/quality/src/batch-trace/batch-trace-workspace.tsx\"\n ],\n \"interpretation\": \"ASCII 概括实际分区与信息顺序,不固定尺寸、数据量、字段或页面区域;问号表示可选入口,括号注明条件。\"\n },\n \"objectRequirements\": {\n \"interpretation\": \"以下是原范式所需的业务信息角色,不是目标本体对象表或必建清单。当前应用本体决定对象、关系、属性、单位、版本及操作;展示聚合可由现有多个对象投影而来。\",\n \"core\": [\n {\n \"role\": \"batch\",\n \"meaning\": \"追溯中心批次\",\n \"information\": \"批次标识、产品说明、缺陷和结果摘要\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n },\n {\n \"role\": \"traceLink\",\n \"meaning\": \"与批次有关的生产和上游记录\",\n \"information\": \"生产、原料、工艺、人员和设备的关联记录\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n }\n ],\n \"supporting\": [\n {\n \"role\": \"evidence\",\n \"meaning\": \"检测证据与追溯结论\",\n \"requirementScope\": \"按当前任务需要决定是否采用;不自动新建同名对象。\"\n }\n ],\n \"relations\": [\n \"批次关联上游记录\",\n \"批次关联检测记录与历史追溯\"\n ],\n \"presentationOnly\": [\n \"query\",\n \"results-or-detail\",\n \"relation-sections\",\n \"history\",\n \"历史类型筛选 historyCategory\"\n ],\n \"mappingQuestions\": [\n \"批次稳定标识与关联记录版本\",\n \"查询条件和返回位置\",\n \"检测任务标识与只读/编辑模式\"\n ]\n },\n \"dataProjection\": {\n \"inputs\": [\n \"受控查询文字、缺陷类型和结果集合\",\n \"宿主选择的批次详情、关联节点、分区记录和结论\"\n ],\n \"derived\": [\n \"当前结果的关键批次数、不合格数量\",\n \"已提供历史记录按本地类型筛选\"\n ],\n \"localUiState\": [\n \"历史类型筛选 historyCategory\"\n ],\n \"outputs\": [\n \"查询条件变化、查询、打开批次、关闭详情、打开检测记录、重试\"\n ],\n \"scope\": \"仅解释当前源码的数据流;查询、持久化及授权均须按当前本体操作另行核对,空数组不等于未知业务计数。\"\n },\n \"interactionFlow\": {\n \"ascii\": \"输入条件 -> search 回调 -> 宿主返回查询结果\\n打开批次 -> openBatch 回调 -> 宿主提供详情\\n历史分类 -> 本地过滤;返回 -> closeDetail 回调\",\n \"existingStates\": [\n \"loading\",\n \"ready\",\n \"empty\",\n \"error\",\n \"forbidden\",\n \"detailOpen\",\n \"历史分类选择\"\n ],\n \"hostResponsibilities\": [\n \"源码没有导出、审批或隔离写操作;需要当前本体对应操作和权限。\"\n ],\n \"stateDistinction\": \"界面选择、展开、忙态不自动等于业务状态迁移;回调已触发不证明写入成功。静态展示项没有输出命令。\"\n },\n \"composition\": {\n \"parts\": [\n \"查询结果卡片与档案下钻\",\n \"多种业务关联分区的组织\",\n \"历史记录的局部筛选\"\n ],\n \"with\": [\n {\n \"assetId\": \"quality.inspection-evidence-workspace\",\n \"support\": \"adaptation-proposal\",\n \"coordination\": \"由宿主以 taskId 定位执行记录;证据工作台是录入参考,不能直接当作只读历史详情。\"\n }\n ],\n \"sharedContext\": [\n \"批次稳定标识与关联记录版本\",\n \"查询条件和返回位置\",\n \"检测任务标识与只读/编辑模式\"\n ],\n \"coordination\": \"source-composed 表示可在实际源码中定位的父子采用关系(可能由对方作为父组件);adaptation-proposal 是可选组合建议,尚无自动接线。由页面协调器按当前本体传递稳定上下文、数据与动作。\"\n },\n \"reuse\": {\n \"wholeWhen\": [\n \"当前需求围绕一个缺陷批次联合查阅多类关联证据,查询与详情由宿主提供。\",\n \"仍须核对真实 Props、必需回调、metadata.selection 的采用/排除条件、版本和依赖;参考价值不代表 CLI 可安装。\"\n ],\n \"parts\": [\n \"查询结果卡片与档案下钻\",\n \"多种业务关联分区的组织\",\n \"历史记录的局部筛选\"\n ],\n \"adaptWhen\": [\n \"其他追溯领域可参考查询下钻及多关联分区;必须重写分类、单位、关联投影和结论文案。\"\n ],\n \"avoidWhen\": [\n \"需要编辑处置、归因算法或审批流时,不能因界面有结论区就判为已覆盖。\"\n ],\n \"decision\": \"先说明哪些业务语义和信息组织相近,再列采用部分、改写部分、缺口和源码依据;最终可复用/需组合/无匹配由 AI 对照当前合同判断,不由名称或相似度阈值直接决定。\"\n },\n \"sourceReadingOrder\": [\n {\n \"path\": \"components/business/quality/src/batch-trace/batch-trace-workspace.tsx\",\n \"symbols\": [],\n \"purpose\": \"先看真实渲染分区、受控输入和事件出口,与 ASCII 对照;不要从图示推断额外能力。\"\n },\n {\n \"path\": \"components/business/quality/src/batch-trace/batch-trace-types.ts\",\n \"symbols\": [\n \"BatchTraceWorkspaceModel\",\n \"BatchTraceWorkspaceCommands\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/quality/src/batch-trace/batch-trace-selector.tsx\",\n \"symbols\": [\n \"BatchTraceSelector\"\n ],\n \"purpose\": \"结果卡片与下钻入口\"\n },\n {\n \"path\": \"components/business/quality/src/batch-trace/batch-trace-relation-chain.tsx\",\n \"symbols\": [\n \"BatchTraceRelationChain\"\n ],\n \"purpose\": \"关系节点的排列与响应式\"\n }\n ]\n }\n}\n","path":"references/metaform/components/business/quality/src/batch-trace/batch-trace-workspace.reference.json","target":"~/references/metaform/components/business/quality/src/batch-trace/batch-trace-workspace.reference.json","type":"registry:file"}],"meta":{"assetId":"resource.file.889746cb16eda2dec7800b4c07b65f1f","contractRef":"components/business/quality/src/batch-trace/batch-trace-workspace.reference.json","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-889746cb16eda2dec7800b4c07b65f1f","registryDependencies":[],"title":"resource.file.889746cb16eda2dec7800b4c07b65f1f","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.889a5e5032775da6e0088714748d592f","files":[{"content":"// Tremor Table [v1.0.0]\n\nimport React from \"react\"\n\nimport { cx } from \"../../utils/cx\"\n\nconst TableRoot = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, children, ...props }, forwardedRef) => (\n <div\n ref={forwardedRef}\n // Activate if table is used in a float environment\n // className=\"flow-root\"\n >\n <div\n // make table scrollable on mobile\n className={cx(\"w-full overflow-auto whitespace-nowrap\", className)}\n {...props}\n >\n {children}\n </div>\n </div>\n))\n\nTableRoot.displayName = \"TableRoot\"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.TableHTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, forwardedRef) => (\n <table\n ref={forwardedRef}\n tremor-id=\"tremor-raw\"\n className={cx(\n // base\n \"w-full caption-bottom border-b\",\n // border color\n \"border-gray-200 dark:border-gray-800\",\n className,\n )}\n {...props}\n />\n))\n\nTable.displayName = \"Table\"\n\nconst TableHead = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, forwardedRef) => (\n <thead ref={forwardedRef} className={cx(className)} {...props} />\n))\n\nTableHead.displayName = \"TableHead\"\n\nconst TableHeaderCell = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, forwardedRef) => (\n <th\n ref={forwardedRef}\n className={cx(\n // base\n \"border-b px-4 py-3.5 text-left text-sm font-semibold\",\n // text color\n \"text-gray-900 dark:text-gray-50\",\n // border color\n \"border-gray-200 dark:border-gray-800\",\n className,\n )}\n {...props}\n />\n))\n\nTableHeaderCell.displayName = \"TableHeaderCell\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, forwardedRef) => (\n <tbody\n ref={forwardedRef}\n className={cx(\n // base\n \"divide-y\",\n // divide color\n \"divide-gray-200 dark:divide-gray-800\",\n className,\n )}\n {...props}\n />\n))\n\nTableBody.displayName = \"TableBody\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, forwardedRef) => (\n <tr\n ref={forwardedRef}\n className={cx(\n \"[&_td:last-child]:pr-4 [&_th:last-child]:pr-4\",\n \"[&_td:first-child]:pl-4 [&_th:first-child]:pl-4\",\n className,\n )}\n {...props}\n />\n))\n\nTableRow.displayName = \"TableRow\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, forwardedRef) => (\n <td\n ref={forwardedRef}\n className={cx(\n // base\n \"p-4 text-sm\",\n // text color\n \"text-gray-600 dark:text-gray-400\",\n className,\n )}\n {...props}\n />\n))\n\nTableCell.displayName = \"TableCell\"\n\nconst TableFoot = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, forwardedRef) => {\n return (\n <tfoot\n ref={forwardedRef}\n className={cx(\n // base\n \"border-t text-left font-medium\",\n // text color\n \"text-gray-900 dark:text-gray-50\",\n // border color\n \"border-gray-200 dark:border-gray-800\",\n className,\n )}\n {...props}\n />\n )\n})\n\nTableFoot.displayName = \"TableFoot\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, forwardedRef) => (\n <caption\n ref={forwardedRef}\n className={cx(\n // base\n \"mt-3 px-3 text-center text-sm\",\n // text color\n \"text-gray-500 dark:text-gray-500\",\n className,\n )}\n {...props}\n />\n))\n\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableFoot,\n TableHead,\n TableHeaderCell,\n TableRoot,\n TableRow,\n}\n","path":"src/components/vendor/tremor/components/Table/Table.tsx","target":"~/src/components/vendor/tremor/components/Table/Table.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.889a5e5032775da6e0088714748d592f","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/components/Table/Table.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-889a5e5032775da6e0088714748d592f","registryDependencies":[],"title":"resource.file.889a5e5032775da6e0088714748d592f","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.895ed8de592968a2188f948962d2bbef","files":[{"content":"\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\nimport { cn } from \"../../lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"cn-tooltip-content cn-tooltip-content-logical z-50 w-fit max-w-xs origin-(--transform-origin) bg-foreground text-background\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"cn-tooltip-arrow cn-tooltip-arrow-logical z-50 bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","path":"src/components/vendor/shadcn/base/ui/tooltip.tsx","target":"~/src/components/vendor/shadcn/base/ui/tooltip.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.895ed8de592968a2188f948962d2bbef","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/base/ui/tooltip.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-895ed8de592968a2188f948962d2bbef","registryDependencies":[],"title":"resource.file.895ed8de592968a2188f948962d2bbef","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.897cfe0b8129b5879fb0649946643f9e","files":[{"content":"\"use client\"\n\nimport { TrendingUp } from \"lucide-react\"\nimport { Bar, BarChart, CartesianGrid, Rectangle, XAxis } from \"recharts\"\nimport type { BarShapeProps } from \"recharts/types/cartesian/Bar\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A bar chart with an active bar\"\n\nconst chartData = [\n { browser: \"chrome\", visitors: 187, fill: \"var(--color-chrome)\" },\n { browser: \"safari\", visitors: 200, fill: \"var(--color-safari)\" },\n { browser: \"firefox\", visitors: 275, fill: \"var(--color-firefox)\" },\n { browser: \"edge\", visitors: 173, fill: \"var(--color-edge)\" },\n { browser: \"other\", visitors: 90, fill: \"var(--color-other)\" },\n]\n\nconst chartConfig = {\n visitors: {\n label: \"Visitors\",\n },\n chrome: {\n label: \"Chrome\",\n color: \"var(--chart-1)\",\n },\n safari: {\n label: \"Safari\",\n color: \"var(--chart-2)\",\n },\n firefox: {\n label: \"Firefox\",\n color: \"var(--chart-3)\",\n },\n edge: {\n label: \"Edge\",\n color: \"var(--chart-4)\",\n },\n other: {\n label: \"Other\",\n color: \"var(--chart-5)\",\n },\n} satisfies ChartConfig\n\nconst ACTIVE_INDEX = 2\n\nexport function ChartBarActive() {\n return (\n <Card>\n <CardHeader>\n <CardTitle>Bar Chart - Active</CardTitle>\n <CardDescription>January - June 2024</CardDescription>\n </CardHeader>\n <CardContent>\n <ChartContainer config={chartConfig}>\n <BarChart accessibilityLayer data={chartData}>\n <CartesianGrid vertical={false} />\n <XAxis\n dataKey=\"browser\"\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n tickFormatter={(value) =>\n chartConfig[value as keyof typeof chartConfig]?.label\n }\n />\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel />}\n />\n <Bar\n dataKey=\"visitors\"\n strokeWidth={2}\n radius={8}\n shape={({ index, ...props }: BarShapeProps) =>\n index === ACTIVE_INDEX ? (\n <Rectangle\n {...props}\n fillOpacity={0.8}\n stroke={props.payload.fill}\n strokeDasharray={4}\n strokeDashoffset={4}\n />\n ) : (\n <Rectangle {...props} />\n )\n }\n />\n </BarChart>\n </ChartContainer>\n </CardContent>\n <CardFooter className=\"flex-col items-start gap-2 text-sm\">\n <div className=\"flex gap-2 leading-none font-medium\">\n Trending up by 5.2% this month <TrendingUp className=\"h-4 w-4\" />\n </div>\n <div className=\"leading-none text-muted-foreground\">\n Showing total visitors for the last 6 months\n </div>\n </CardFooter>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-bar-active.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-bar-active.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.897cfe0b8129b5879fb0649946643f9e","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-bar-active.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-897cfe0b8129b5879fb0649946643f9e","registryDependencies":[],"title":"resource.file.897cfe0b8129b5879fb0649946643f9e","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8984d43da6a7e8c3696849f887673651","files":[{"content":"// Tremor cx [v0.0.0]\n\nimport clsx, { type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cx(...args: ClassValue[]) {\n return twMerge(clsx(...args))\n}\n","path":"src/components/vendor/tremor/utils/cx.ts","target":"~/src/components/vendor/tremor/utils/cx.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.8984d43da6a7e8c3696849f887673651","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/utils/cx.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8984d43da6a7e8c3696849f887673651","registryDependencies":[],"title":"resource.file.8984d43da6a7e8c3696849f887673651","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.89cd5f6be9e646419eb2e559022ceede","files":[{"content":"import { useId, useState } from \"react\";\n\nimport {\n ArrowLeft,\n ClipboardList,\n Factory,\n FlaskConical,\n History,\n Package,\n RotateCcw,\n Search,\n Settings2,\n ShieldAlert,\n Users,\n} from \"lucide-react\";\n\nimport { Badge } from \"@metaform/design-system/components/ui/badge\";\nimport { Button } from \"@metaform/design-system/components/ui/button\";\nimport {\n Card,\n CardContent,\n CardHeader,\n CardTitle,\n} from \"@metaform/design-system/components/ui/card\";\nimport {\n Empty,\n EmptyDescription,\n EmptyHeader,\n EmptyTitle,\n} from \"@metaform/design-system/components/ui/empty\";\nimport { Input } from \"@metaform/design-system/components/ui/input\";\n\nimport { TraceSectionTable } from \"../trace-section-table\";\nimport { BatchTraceRelationChain } from \"./batch-trace-relation-chain\";\nimport { BatchTraceSelector } from \"./batch-trace-selector\";\nimport type {\n BatchTraceDefectCategory,\n BatchTraceWorkspaceProps,\n} from \"./batch-trace-types\";\n\nconst categories: BatchTraceDefectCategory[] = [\n \"all\",\n \"封合\",\n \"尺寸\",\n \"外观\",\n \"卫生安全\",\n \"结构\",\n];\nconst sectionPairClass = \"grid min-w-0 gap-4 @4xl:grid-cols-2\";\nconst stateCopy = {\n loading: [\"正在查询批次档案\", \"正在关联生产、质量与上游记录。\"],\n empty: [\"未找到批次档案\", \"调整批次号、SKU 或缺陷类型后重新查询。\"],\n error: [\"批次查询失败\", \"请重试以重新获取批次档案。\"],\n forbidden: [\"无权查看批次档案\", \"请联系管理员开通批次追溯权限。\"],\n} as const;\n\nfunction CategoryFilters({\n label,\n selected,\n onSelect,\n}: {\n label: string;\n selected: BatchTraceDefectCategory;\n onSelect(value: BatchTraceDefectCategory): void;\n}) {\n return (\n <div\n role=\"group\"\n aria-label={label}\n className=\"flex flex-wrap items-center gap-1\"\n >\n <span className=\"mr-2 text-xs text-muted-foreground\">缺陷类型</span>\n {categories.map((category) => (\n <Button\n key={category}\n variant=\"ghost-neutral\"\n aria-pressed={selected === category}\n className={\n selected === category\n ? \"bg-muted font-semibold text-foreground\"\n : \"\"\n }\n onClick={() => onSelect(category)}\n >\n {category === \"all\" ? \"全部\" : category}\n </Button>\n ))}\n </div>\n );\n}\n\nexport function BatchTraceWorkspace({\n model,\n commands,\n slots,\n}: BatchTraceWorkspaceProps) {\n const titleId = useId();\n const [historyCategory, setHistoryCategory] =\n useState<BatchTraceDefectCategory>(\"all\");\n const detail = model.detailOpen ? model.selectedDetail : undefined;\n const state =\n model.state === \"ready\" &&\n (model.detailOpen ? !detail : model.results.length === 0)\n ? \"empty\"\n : model.state;\n const historyRows =\n detail?.history.filter(\n (row) =>\n historyCategory === \"all\" || row.defectCategory === historyCategory,\n ) ?? [];\n let criticalCount = 0;\n let failedCount = 0;\n for (const result of model.results) {\n if (result.severity === \"关键\") criticalCount++;\n failedCount += result.failedCount;\n }\n\n const surface = (\n <section\n aria-labelledby={titleId}\n className=\"@container min-w-0 space-y-4 text-foreground tabular-nums\"\n >\n <header className=\"flex flex-wrap items-center justify-between gap-3 py-3\">\n <div>\n <h2 id={titleId} className=\"text-lg font-semibold\">\n 缺陷批次追溯工作台\n </h2>\n <p className=\"mt-1 text-xs text-muted-foreground\">\n {model.roleLabel} · 从批次查看生产、质量与上游关系\n </p>\n </div>\n {slots?.headerExtra}\n </header>\n\n {model.detailOpen ? (\n <Button variant=\"outline\" onClick={commands.closeDetail}>\n <ArrowLeft className=\"size-4\" aria-hidden=\"true\" />\n 返回查询结果\n </Button>\n ) : (\n <>\n <dl className=\"grid grid-cols-1 divide-y divide-border rounded-lg border border-border bg-card @sm:grid-cols-3 @sm:divide-x @sm:divide-y-0\">\n {[\n [\n \"当前结果批次\",\n state === \"ready\" ? `${model.results.length} 批` : \"—\",\n ],\n [\"关键项批次\", state === \"ready\" ? `${criticalCount} 批` : \"—\"],\n [\"不合格片数\", state === \"ready\" ? `${failedCount} 片` : \"—\"],\n ].map(([label, value]) => (\n <div key={label} className=\"px-4 py-3\">\n <dt className=\"text-xs text-muted-foreground\">{label}</dt>\n <dd className=\"mt-1 text-xl font-semibold\">{value}</dd>\n </div>\n ))}\n </dl>\n {state !== \"forbidden\" ? (\n <Card className=\"shadow-none\">\n <CardContent className=\"space-y-3\">\n <form\n role=\"search\"\n aria-label=\"查询批次档案\"\n className=\"flex flex-wrap gap-2\"\n onSubmit={(event) => {\n event.preventDefault();\n commands.search(model.queryText);\n }}\n >\n <Input\n aria-label=\"批次查询\"\n placeholder=\"输入批次号、SKU 或检测任务\"\n className=\"min-w-0 flex-1 basis-56\"\n value={model.queryText}\n onChange={(event) =>\n commands.setQueryText(event.target.value)\n }\n />\n <Button type=\"submit\" disabled={state === \"loading\"}>\n <Search className=\"size-4\" aria-hidden=\"true\" />\n 查询批次\n </Button>\n </form>\n <CategoryFilters\n label=\"当前批次缺陷类型\"\n selected={model.defectCategory}\n onSelect={commands.setDefectCategory}\n />\n </CardContent>\n </Card>\n ) : null}\n </>\n )}\n\n {state !== \"ready\" ? (\n <Card className=\"shadow-none\" data-testid={`batch-trace-${state}`}>\n <Empty\n role={state === \"error\" ? \"alert\" : \"status\"}\n aria-busy={state === \"loading\"}\n >\n <EmptyHeader>\n <EmptyTitle>{stateCopy[state][0]}</EmptyTitle>\n <EmptyDescription>\n {state === \"error\"\n ? (model.errorMessage ?? stateCopy.error[1])\n : stateCopy[state][1]}\n </EmptyDescription>\n </EmptyHeader>\n {state === \"error\" ? (\n <Button onClick={commands.retry}>\n <RotateCcw className=\"size-4\" aria-hidden=\"true\" />\n 重试\n </Button>\n ) : null}\n </Empty>\n </Card>\n ) : detail ? (\n <>\n <Card\n className=\"border-danger/30 bg-danger-soft shadow-none\"\n role=\"status\"\n >\n <CardContent className=\"flex items-start gap-3\">\n <ShieldAlert\n className=\"mt-0.5 size-5 shrink-0 text-danger-foreground\"\n aria-hidden=\"true\"\n />\n <div className=\"min-w-0 space-y-2\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <h3 className=\"break-words text-sm font-semibold\">\n <span className=\"font-mono\">{detail.batchId}</span> ·{\" \"}\n {detail.skuName}\n </h3>\n <Badge\n variant={detail.severity === \"关键\" ? \"danger\" : \"warning\"}\n >\n {detail.severity}项不合格\n </Badge>\n <Badge variant=\"neutral\">{detail.status}</Badge>\n </div>\n <p className=\"text-sm\">{detail.reason}</p>\n <p className=\"text-xs text-muted-foreground\">\n 关联检测任务{\" \"}\n <span className=\"font-mono\">{detail.taskId}</span>\n </p>\n </div>\n </CardContent>\n </Card>\n <BatchTraceRelationChain nodes={detail.relationNodes} />\n <Card className=\"shadow-none\">\n <CardHeader className=\"border-b border-border\">\n <CardTitle className=\"flex items-center gap-2\">\n <Factory\n className=\"size-4 text-foreground/70\"\n aria-hidden=\"true\"\n />\n 生产主数据 · 批次档案\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <dl className=\"grid grid-cols-1 gap-4 @sm:grid-cols-2 @3xl:grid-cols-4\">\n {detail.masterFields.map((field) => (\n <div key={field.id} className=\"min-w-0\">\n <dt className=\"text-xs text-muted-foreground\">\n {field.label}\n </dt>\n <dd className=\"mt-1 break-words text-sm font-medium\">\n {field.value}\n </dd>\n </div>\n ))}\n </dl>\n <div className=\"flex flex-wrap justify-end gap-2\">\n <Button\n variant=\"outline\"\n onClick={() => commands.openInspectionRecord(detail.taskId)}\n >\n <ClipboardList className=\"size-4\" aria-hidden=\"true\" />\n 打开阶段四检测记录\n </Button>\n </div>\n </CardContent>\n </Card>\n <div className={sectionPairClass}>\n <TraceSectionTable\n icon={Package}\n title=\"原料批次关联\"\n description=\"投料批次 / 供应商 / 状态\"\n columns={[\"原料\", \"原料批次\", \"供应商\", \"入厂日期\"]}\n rows={detail.materials}\n />\n <TraceSectionTable\n icon={FlaskConical}\n title=\"工艺参数与异常窗口\"\n description=\"工艺记录 / 参数 / 异常\"\n columns={[\n \"记录类型\",\n \"记录编号\",\n \"时间 / 位置\",\n \"关键参数\",\n \"异常 / 结论\",\n ]}\n rows={detail.processRecords}\n />\n </div>\n <div className={sectionPairClass}>\n <TraceSectionTable\n icon={Users}\n title=\"人员关联\"\n description=\"谁在什么环节负责\"\n columns={[\"角色\", \"人员\", \"关联范围\", \"作业时段 / 任务\"]}\n rows={detail.people}\n />\n <TraceSectionTable\n icon={Settings2}\n title=\"设备关联\"\n description=\"设备 / 工位 / 采集记录\"\n columns={[\"设备类型\", \"设备编号\", \"功能\", \"关联数据\"]}\n rows={detail.equipment}\n />\n </div>\n <div className=\"min-w-0 space-y-3\">\n <TraceSectionTable\n icon={ClipboardList}\n title=\"质量证据与追溯结论\"\n description=\"检测结果 / 隔离记录 / 追溯日志\"\n columns={[\"追溯节点\", \"编号\", \"内容\"]}\n rows={detail.evidence}\n />\n <p className=\"rounded-md border border-border bg-muted/30 px-4 py-3 text-sm\">\n <span className=\"font-semibold\">结论:</span>\n {detail.conclusion}\n </p>\n {detail.traceResponseTime ? (\n <p className=\"text-xs text-muted-foreground\">\n 追溯响应时间:{detail.traceResponseTime}\n </p>\n ) : null}\n </div>\n <section\n aria-label=\"历史不合格追溯记录\"\n className=\"min-w-0 space-y-3\"\n >\n <CategoryFilters\n label=\"历史缺陷类型\"\n selected={historyCategory}\n onSelect={setHistoryCategory}\n />\n <TraceSectionTable\n icon={History}\n title=\"历史不合格追溯记录\"\n description={`共 ${historyRows.length} 条 / 全部 ${detail.history.length} 条`}\n columns={[\n \"批次\",\n \"日期\",\n \"SKU\",\n \"缺陷\",\n \"不合格\",\n \"原料批次\",\n \"工艺记录\",\n \"责任人员\",\n \"设备记录\",\n \"检测记录\",\n \"响应时间\",\n ]}\n rows={historyRows}\n />\n {historyRows.length === 0 ? (\n <p role=\"status\" className=\"text-sm text-muted-foreground\">\n 暂无该类型历史记录\n </p>\n ) : null}\n </section>\n {slots?.detailExtra?.(detail)}\n </>\n ) : (\n <BatchTraceSelector\n results={model.results}\n openBatch={commands.openBatch}\n />\n )}\n {slots?.footerExtra}\n </section>\n );\n\n return surface;\n}\n","path":"references/metaform/components/business/quality/src/batch-trace/batch-trace-workspace.tsx","target":"~/references/metaform/components/business/quality/src/batch-trace/batch-trace-workspace.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.89cd5f6be9e646419eb2e559022ceede","contractRef":"components/business/quality/src/batch-trace/batch-trace-workspace.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-89cd5f6be9e646419eb2e559022ceede","registryDependencies":[],"title":"resource.file.89cd5f6be9e646419eb2e559022ceede","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.89fe3bdc6452ef49d2ae2d5105d69dda","files":[{"content":"\"use client\"\n\nimport { Bar, BarChart, XAxis } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A stacked bar chart with a legend\"\n\nconst chartData = [\n { date: \"2024-07-15\", running: 450, swimming: 300 },\n { date: \"2024-07-16\", running: 380, swimming: 420 },\n { date: \"2024-07-17\", running: 520, swimming: 120 },\n { date: \"2024-07-18\", running: 140, swimming: 550 },\n { date: \"2024-07-19\", running: 600, swimming: 350 },\n { date: \"2024-07-20\", running: 480, swimming: 400 },\n]\n\nconst chartConfig = {\n running: {\n label: \"Running\",\n color: \"var(--chart-1)\",\n },\n swimming: {\n label: \"Swimming\",\n color: \"var(--chart-2)\",\n },\n} satisfies ChartConfig\n\nexport function ChartTooltipFormatter() {\n return (\n <Card>\n <CardHeader>\n <CardTitle>Tooltip - Formatter</CardTitle>\n <CardDescription>Tooltip with custom formatter .</CardDescription>\n </CardHeader>\n <CardContent>\n <ChartContainer config={chartConfig}>\n <BarChart accessibilityLayer data={chartData}>\n <XAxis\n dataKey=\"date\"\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n tickFormatter={(value) => {\n return new Date(value).toLocaleDateString(\"en-US\", {\n weekday: \"short\",\n })\n }}\n />\n <Bar\n dataKey=\"running\"\n stackId=\"a\"\n fill=\"var(--color-running)\"\n radius={[0, 0, 4, 4]}\n />\n <Bar\n dataKey=\"swimming\"\n stackId=\"a\"\n fill=\"var(--color-swimming)\"\n radius={[4, 4, 0, 0]}\n />\n <ChartTooltip\n content={\n <ChartTooltipContent\n hideLabel\n formatter={(value, name) => (\n <div className=\"flex min-w-[130px] items-center text-xs text-muted-foreground\">\n {chartConfig[name as keyof typeof chartConfig]?.label ||\n name}\n <div className=\"ml-auto flex items-baseline gap-0.5 font-mono font-medium text-foreground tabular-nums\">\n {value}\n <span className=\"font-normal text-muted-foreground\">\n kcal\n </span>\n </div>\n </div>\n )}\n />\n }\n cursor={false}\n defaultIndex={1}\n />\n </BarChart>\n </ChartContainer>\n </CardContent>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-tooltip-formatter.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-tooltip-formatter.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.89fe3bdc6452ef49d2ae2d5105d69dda","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-tooltip-formatter.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-89fe3bdc6452ef49d2ae2d5105d69dda","registryDependencies":[],"title":"resource.file.89fe3bdc6452ef49d2ae2d5105d69dda","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8b049a29fbe399422d407b74c69619d6","files":[{"content":"import type { ComponentProps } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nexport function Skeleton({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('animate-pulse rounded-md bg-muted/60', className)}\n {...props}\n />\n );\n}\n","path":"src/components/ui/skeleton.tsx","target":"~/src/components/ui/skeleton.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.8b049a29fbe399422d407b74c69619d6","contractRef":"vendor/design-system/src/components/ui/skeleton.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8b049a29fbe399422d407b74c69619d6","registryDependencies":[],"title":"resource.file.8b049a29fbe399422d407b74c69619d6","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8bc2043958e00316ab71e8d4c9a78a12","files":[{"content":"export type VerdictKind = 'hold' | 'rework' | 'concess' | 'down' | 'scrap' | 'pass';\n\nexport interface VerdictOption {\n key: VerdictKind;\n label: string;\n badge: string;\n icon: string;\n description: string;\n badgeClass: string;\n activeClass: string;\n bg?: string;\n color?: string;\n}\n\nexport const VERDICT_OPTIONS: Record<VerdictKind, VerdictOption> = {\n hold: {\n key: 'hold',\n label: '隔离待复检',\n badge: '隔离',\n icon: '⏸',\n description: '暂停放行并整批封存,组织技术攻关或加倍复测确认。',\n badgeClass: 'border-brand/30 bg-brand-soft/80 text-brand',\n activeClass: 'border-brand bg-brand-soft/80 text-brand ring-1 ring-brand/40 shadow-xs',\n },\n rework: {\n key: 'rework',\n label: '返工处理',\n badge: '返工',\n icon: '🔧',\n description: '返工重新加工或分选挑拣,返工后必须按首批规程复检合格。',\n badgeClass: 'border-brand/30 bg-brand-soft text-brand',\n activeClass:\n 'border-brand bg-brand-soft text-brand ring-1 ring-brand/40 shadow-xs',\n },\n concess: {\n key: 'concess',\n label: '让步接收',\n badge: '让步',\n icon: '🔸',\n description: '轻微偏差不影响最终功能,经质量与客户书面签字后特许放行。',\n badgeClass: 'border-warning/30 bg-warning-soft text-warning-foreground',\n activeClass:\n 'border-warning bg-warning-soft text-warning-foreground ring-1 ring-warning/40 shadow-xs',\n },\n down: {\n key: 'down',\n label: '降级销售',\n badge: '降级',\n icon: '⬇',\n description: '不满足正品等级但达到副牌质量,调整包装标识降级分销。',\n badgeClass: 'border-brand-support/30 bg-brand-support-soft text-brand-support-strong',\n activeClass:\n 'border-brand-support bg-brand-support-soft text-brand-support-strong ring-1 ring-brand-support/40 shadow-xs',\n },\n scrap: {\n key: 'scrap',\n label: '整批报废',\n badge: '报废',\n icon: '⛔',\n description: '关键项严重不合格或超出让步阈值,全批销毁并启动 8D 整改。',\n badgeClass: 'border-destructive/30 bg-destructive/10 text-destructive',\n activeClass:\n 'border-destructive bg-destructive/10 text-destructive ring-1 ring-destructive/40 shadow-xs',\n },\n pass: {\n key: 'pass',\n label: '合格放行',\n badge: '合格',\n icon: '✓',\n description: '抽样达标,全部指标符合生效质量标准,正常放行入库。',\n badgeClass: 'border-success/30 bg-success/10 text-success',\n activeClass: 'border-success bg-success/10 text-success ring-1 ring-success/40 shadow-xs',\n },\n};\n\nexport interface DisposalHistoryRecord {\n id: string;\n date: string;\n sku: string;\n defect: string;\n badCount: number;\n rate: string;\n verdict: VerdictKind;\n note: string;\n qaSign: string;\n prodSign: string;\n closedAt: string;\n verificationResult: string;\n // 可选扩展属性\n batchId?: string;\n quantity?: string;\n badItem?: string;\n badRate?: string;\n resolvedAt?: string;\n similarity?: string;\n rootCause?: string;\n firstBatch?: boolean;\n}\n","path":"references/metaform/components/business/quality/src/disposal-history-types.ts","target":"~/references/metaform/components/business/quality/src/disposal-history-types.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.8bc2043958e00316ab71e8d4c9a78a12","contractRef":"components/business/quality/src/disposal-history-types.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8bc2043958e00316ab71e8d4c9a78a12","registryDependencies":[],"title":"resource.file.8bc2043958e00316ab71e8d4c9a78a12","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8c326bf44bff77851e20a70d8ce31328","files":[{"content":"import { Card, CardContent } from '@metaform/design-system/components/ui/card';\n\nimport type { InspectionPlanAggregate } from './inspection-plan-types';\n\nfunction Metric({ label, value, detail }: { label: string; value: string; detail: string }) {\n return (\n <Card className=\"shadow-none\">\n <CardContent className=\"py-3\">\n <div className=\"text-xs text-muted-foreground\">{label}</div>\n <div className=\"mt-1 text-xl font-semibold text-foreground\">{value}</div>\n <div className=\"mt-0.5 text-xs text-muted-foreground\">{detail}</div>\n </CardContent>\n </Card>\n );\n}\n\nexport function InspectionPlanSummary({ aggregate }: { aggregate: InspectionPlanAggregate }) {\n const scheduled = aggregate.batches.filter(\n (batch) => batch.scheduleStatus === 'scheduled',\n ).length;\n const waiting = aggregate.batches.length - scheduled;\n return (\n <div className=\"grid grid-cols-3 gap-3\" data-asset=\"common.metric-group\">\n <Metric label=\"本周批次\" value={`${aggregate.batches.length} 个`} detail={aggregate.period} />\n <Metric label=\"已排程\" value={`${scheduled} 个`} detail=\"已生成质检安排\" />\n <Metric label=\"待排程\" value={`${waiting} 个`} detail=\"需确认班次与抽样\" />\n </div>\n );\n}\n","path":"references/metaform/components/business/quality/src/inspection-plan-summary.tsx","target":"~/references/metaform/components/business/quality/src/inspection-plan-summary.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.8c326bf44bff77851e20a70d8ce31328","contractRef":"components/business/quality/src/inspection-plan-summary.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8c326bf44bff77851e20a70d8ce31328","registryDependencies":[],"title":"resource.file.8c326bf44bff77851e20a70d8ce31328","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8c70a1548e8ed8a2969d2c73185e11a3","files":[{"content":"\"use client\"\n\nimport { TrendingUp } from \"lucide-react\"\nimport { Bar, BarChart, CartesianGrid, LabelList, XAxis, YAxis } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A bar chart with a custom label\"\n\nconst chartData = [\n { month: \"January\", desktop: 186, mobile: 80 },\n { month: \"February\", desktop: 305, mobile: 200 },\n { month: \"March\", desktop: 237, mobile: 120 },\n { month: \"April\", desktop: 73, mobile: 190 },\n { month: \"May\", desktop: 209, mobile: 130 },\n { month: \"June\", desktop: 214, mobile: 140 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"var(--chart-2)\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"var(--chart-2)\",\n },\n label: {\n color: \"var(--background)\",\n },\n} satisfies ChartConfig\n\nexport function ChartBarLabelCustom() {\n return (\n <Card>\n <CardHeader>\n <CardTitle>Bar Chart - Custom Label</CardTitle>\n <CardDescription>January - June 2024</CardDescription>\n </CardHeader>\n <CardContent>\n <ChartContainer config={chartConfig}>\n <BarChart\n accessibilityLayer\n data={chartData}\n layout=\"vertical\"\n margin={{\n right: 16,\n }}\n >\n <CartesianGrid horizontal={false} />\n <YAxis\n dataKey=\"month\"\n type=\"category\"\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n tickFormatter={(value) => value.slice(0, 3)}\n hide\n />\n <XAxis dataKey=\"desktop\" type=\"number\" hide />\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent indicator=\"line\" />}\n />\n <Bar dataKey=\"desktop\" fill=\"var(--color-desktop)\" radius={4}>\n <LabelList\n dataKey=\"month\"\n position=\"insideLeft\"\n offset={8}\n className=\"fill-(--color-label)\"\n fontSize={12}\n />\n <LabelList\n dataKey=\"desktop\"\n position=\"right\"\n offset={8}\n className=\"fill-foreground\"\n fontSize={12}\n />\n </Bar>\n </BarChart>\n </ChartContainer>\n </CardContent>\n <CardFooter className=\"flex-col items-start gap-2 text-sm\">\n <div className=\"flex gap-2 leading-none font-medium\">\n Trending up by 5.2% this month <TrendingUp className=\"h-4 w-4\" />\n </div>\n <div className=\"leading-none text-muted-foreground\">\n Showing total visitors for the last 6 months\n </div>\n </CardFooter>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-bar-label-custom.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-bar-label-custom.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.8c70a1548e8ed8a2969d2c73185e11a3","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-bar-label-custom.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8c70a1548e8ed8a2969d2c73185e11a3","registryDependencies":[],"title":"resource.file.8c70a1548e8ed8a2969d2c73185e11a3","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8d0ad3a83853c2d514da69a01c53ff43","files":[{"content":"\"use client\"\n\nimport { cn } from \"../../lib/utils\"\nimport {\n Popover as PopoverPrimitive,\n PreviewTrigger as PreviewTriggerPrimitive,\n type PopoverProps as PopoverPrimitiveProps,\n type PreviewTriggerProps,\n} from \"react-aria-components\"\n\nfunction HoverCardTrigger({ children, ...props }: PreviewTriggerProps) {\n return (\n <PreviewTriggerPrimitive data-slot=\"hover-card-trigger\" {...props}>\n {children}\n </PreviewTriggerPrimitive>\n )\n}\n\nfunction HoverCard({\n className,\n placement = \"bottom\",\n offset = 4,\n crossOffset = 0,\n ...props\n}: Omit<PopoverPrimitiveProps, \"className\"> & {\n className?: string\n}) {\n return (\n <PopoverPrimitive\n data-slot=\"hover-card-content\"\n placement={placement}\n offset={offset}\n crossOffset={crossOffset}\n className={cn(\n \"cn-hover-card-content-aria z-50 origin-(--trigger-anchor-point) outline-hidden\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { HoverCard, HoverCardTrigger }\n","path":"src/components/vendor/shadcn/aria/ui/hover-card.tsx","target":"~/src/components/vendor/shadcn/aria/ui/hover-card.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.8d0ad3a83853c2d514da69a01c53ff43","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/aria/ui/hover-card.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8d0ad3a83853c2d514da69a01c53ff43","registryDependencies":[],"title":"resource.file.8d0ad3a83853c2d514da69a01c53ff43","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8e75077823b410c64e90328b99c5d93a","files":[{"content":"\"use client\"\n\nimport { Bar, BarChart, XAxis } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A stacked bar chart with a legend\"\nexport const iframeHeight = \"600px\"\nexport const containerClassName =\n \"[&>div]:w-full [&>div]:max-w-md flex items-center justify-center min-h-svh\"\n\nconst chartData = [\n { date: \"2024-07-15\", running: 450, swimming: 300 },\n { date: \"2024-07-16\", running: 380, swimming: 420 },\n { date: \"2024-07-17\", running: 520, swimming: 120 },\n { date: \"2024-07-18\", running: 140, swimming: 550 },\n { date: \"2024-07-19\", running: 600, swimming: 350 },\n { date: \"2024-07-20\", running: 480, swimming: 400 },\n]\n\nconst chartConfig = {\n running: {\n label: \"Running\",\n color: \"var(--chart-1)\",\n },\n swimming: {\n label: \"Swimming\",\n color: \"var(--chart-2)\",\n },\n} satisfies ChartConfig\n\nexport function ChartTooltipDefault() {\n return (\n <Card>\n <CardHeader>\n <CardTitle>Tooltip - Default</CardTitle>\n <CardDescription>\n Default tooltip with ChartTooltipContent.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <ChartContainer config={chartConfig}>\n <BarChart accessibilityLayer data={chartData}>\n <XAxis\n dataKey=\"date\"\n tickLine={false}\n tickMargin={10}\n axisLine={false}\n tickFormatter={(value) => {\n return new Date(value).toLocaleDateString(\"en-US\", {\n weekday: \"short\",\n })\n }}\n />\n <Bar\n dataKey=\"running\"\n stackId=\"a\"\n fill=\"var(--color-running)\"\n radius={[0, 0, 4, 4]}\n />\n <Bar\n dataKey=\"swimming\"\n stackId=\"a\"\n fill=\"var(--color-swimming)\"\n radius={[4, 4, 0, 0]}\n />\n <ChartTooltip\n content={<ChartTooltipContent />}\n cursor={false}\n defaultIndex={1}\n />\n </BarChart>\n </ChartContainer>\n </CardContent>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-tooltip-default.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-tooltip-default.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.8e75077823b410c64e90328b99c5d93a","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-tooltip-default.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8e75077823b410c64e90328b99c5d93a","registryDependencies":[],"title":"resource.file.8e75077823b410c64e90328b99c5d93a","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8ea90af408fe048823aa847b2853c895","files":[{"content":"import type { ComponentProps } from 'react';\n\nimport { type VariantProps, cva } from 'class-variance-authority';\n\nimport { cn } from '@metaform/design-system/lib/utils';\n\nfunction Empty({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n 'flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyHeader({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn('flex max-w-sm flex-col items-center gap-2 text-center', className)}\n {...props}\n />\n );\n}\n\nconst emptyMediaVariants = cva(\n 'mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction EmptyMedia({\n className,\n variant = 'default',\n ...props\n}: ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction EmptyTitle({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn('text-lg font-medium tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction EmptyDescription({ className, ...props }: ComponentProps<'p'>) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n 'text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-brand',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyContent({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n 'flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia };\n","path":"references/metaform/vendor/design-system/src/components/ui/empty.tsx","target":"~/references/metaform/vendor/design-system/src/components/ui/empty.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.8ea90af408fe048823aa847b2853c895","contractRef":"vendor/design-system/src/components/ui/empty.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8ea90af408fe048823aa847b2853c895","registryDependencies":[],"title":"resource.file.8ea90af408fe048823aa847b2853c895","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8ef73fcc2c33175df26f9d5b8fafa746","files":[{"content":"\"use client\"\n\nimport { TrendingUp } from \"lucide-react\"\nimport { LabelList, Pie, PieChart } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A pie chart with a label list\"\n\nconst chartData = [\n { browser: \"chrome\", visitors: 275, fill: \"var(--color-chrome)\" },\n { browser: \"safari\", visitors: 200, fill: \"var(--color-safari)\" },\n { browser: \"firefox\", visitors: 187, fill: \"var(--color-firefox)\" },\n { browser: \"edge\", visitors: 173, fill: \"var(--color-edge)\" },\n { browser: \"other\", visitors: 90, fill: \"var(--color-other)\" },\n]\n\nconst chartConfig = {\n visitors: {\n label: \"Visitors\",\n },\n chrome: {\n label: \"Chrome\",\n color: \"var(--chart-1)\",\n },\n safari: {\n label: \"Safari\",\n color: \"var(--chart-2)\",\n },\n firefox: {\n label: \"Firefox\",\n color: \"var(--chart-3)\",\n },\n edge: {\n label: \"Edge\",\n color: \"var(--chart-4)\",\n },\n other: {\n label: \"Other\",\n color: \"var(--chart-5)\",\n },\n} satisfies ChartConfig\n\nexport function ChartPieLabelList() {\n return (\n <Card className=\"flex flex-col\">\n <CardHeader className=\"items-center pb-0\">\n <CardTitle>Pie Chart - Label List</CardTitle>\n <CardDescription>January - June 2024</CardDescription>\n </CardHeader>\n <CardContent className=\"flex-1 pb-0\">\n <ChartContainer\n config={chartConfig}\n className=\"mx-auto aspect-square max-h-[250px] [&_.recharts-text]:fill-background\"\n >\n <PieChart>\n <ChartTooltip\n content={<ChartTooltipContent nameKey=\"visitors\" hideLabel />}\n />\n <Pie data={chartData} dataKey=\"visitors\">\n <LabelList\n dataKey=\"browser\"\n className=\"fill-background\"\n stroke=\"none\"\n fontSize={12}\n formatter={(value) =>\n chartConfig[value as keyof typeof chartConfig]?.label\n }\n />\n </Pie>\n </PieChart>\n </ChartContainer>\n </CardContent>\n <CardFooter className=\"flex-col gap-2 text-sm\">\n <div className=\"flex items-center gap-2 leading-none font-medium\">\n Trending up by 5.2% this month <TrendingUp className=\"h-4 w-4\" />\n </div>\n <div className=\"leading-none text-muted-foreground\">\n Showing total visitors for the last 6 months\n </div>\n </CardFooter>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-pie-label-list.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-pie-label-list.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.8ef73fcc2c33175df26f9d5b8fafa746","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-pie-label-list.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8ef73fcc2c33175df26f9d5b8fafa746","registryDependencies":[],"title":"resource.file.8ef73fcc2c33175df26f9d5b8fafa746","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8fdb75c3da6a5a0c86c3193d025cf6f8","files":[{"content":"{\n \"title\": \"检验计划审阅与排程:源码 reference 场景与交互\",\n \"originalScenario\": \"审阅已提供的生产批次计划、适用标准和抽样分配,切换计划与标准对照视图,发出批次排程并展示失败重试反馈。\",\n \"usageBoundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\",\n \"source\": {\n \"implementation\": \"components/business/quality/src/inspection-plan-workspace.tsx\",\n \"provenanceStatus\": \"以当前维护源码为核对依据;未另行认定原型来源或完整还原程度\",\n \"scope\": \"审阅已提供的生产批次计划、适用标准和抽样分配,切换计划与标准对照视图,发出批次排程并展示失败重试反馈。\",\n \"evidence\": [\n {\n \"path\": \"components/business/quality/src/inspection-plan-workspace.tsx\",\n \"symbols\": [\n \"InspectionPlanWorkspace\",\n \"normalizedProps\",\n \"flow\"\n ]\n },\n {\n \"path\": \"components/business/quality/src/production-batch-plan-table.tsx\",\n \"symbols\": [\n \"ProductionBatchPlanTable\",\n \"pendingBatchId\"\n ]\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-asset-contract.ts\",\n \"symbols\": [\n \"InspectionPlanWorkspaceCommands\"\n ]\n }\n ]\n },\n \"preview\": {\n \"entry\": \"preview/playground/owned-quality.tsx\",\n \"status\": \"example\",\n \"description\": \"本地预览使用示例状态和回调,只用于理解界面;不构成当前业务映射或真实设备、服务验证。\"\n },\n \"ontologyAlignment\": {\n \"authority\": \"当前应用本体的对象、属性、关系、状态、单位与操作为依据;源码本身作为 reference,不能从组件数据模型反推目标本体。\",\n \"applicability\": \"以下角色仅解释原参考场景,不是待创建的对象清单。按当前本体映射,可拆分、组合、改写或不采用。\",\n \"objects\": [\n {\n \"role\": \"plan\",\n \"meaning\": \"带版本与周期的计划上下文\"\n },\n {\n \"role\": \"batch\",\n \"meaning\": \"被排程的生产批次\"\n },\n {\n \"role\": \"sampling\",\n \"meaning\": \"批次抽样与班次点位分配\"\n },\n {\n \"role\": \"standardVersion\",\n \"meaning\": \"批次采用的标准版本\"\n }\n ],\n \"relations\": [\n \"计划组织批次\",\n \"批次采用标准及抽样安排\"\n ],\n \"mappingRequired\": [\n \"核对当前对象、属性及实例的稳定标识与采用版本\",\n \"核对属性类型、单位、枚举和空值含义\",\n \"核对关系标识、方向、基数、查询范围和关联键\",\n \"核对本体操作的输入输出、权限、失败、并发与重复请求语义\",\n \"确定受控展示状态与真实业务状态的转换,保留未确定部分\"\n ],\n \"gapsInOriginalComponent\": [\n \"没有完整计划 CRUD、抽样算法或任务下发服务\",\n \"固定片数单位、阶段一及今日任务文案需依当前业务调整\",\n \"没有统一 loading / forbidden 页面分支\"\n ]\n },\n \"interaction\": {\n \"summary\": \"检验计划审阅与排程\",\n \"summarySupport\": \"existing\",\n \"existingCapabilities\": [\n \"model / commands 或 aggregate 回调接口\",\n \"批次汇总、计划与标准视图切换\",\n \"受控展开抽样方案、标准跳转\",\n \"排程回调、处理中禁用和失败重试/关闭\"\n ],\n \"steps\": [\n {\n \"id\": \"step-1\",\n \"support\": \"existing\",\n \"intent\": \"切换计划与标准视图\",\n \"effect\": \"changeView / onViewChange 改变受控 activeView。\"\n },\n {\n \"id\": \"step-2\",\n \"support\": \"existing\",\n \"intent\": \"展开抽样并查看标准\",\n \"effect\": \"toggleSampling / openStandard 由宿主管理,组件只展示输入分配。\"\n },\n {\n \"id\": \"step-3\",\n \"support\": \"existing\",\n \"intent\": \"请求批次排程并处理失败\",\n \"effect\": \"scheduleBatch 传 batchId;pendingBatchId 存在时禁用排程;retrySchedule / dismissFailure 发出动作。\"\n },\n {\n \"id\": \"step-4\",\n \"support\": \"host-extension\",\n \"intent\": \"创建计划或自动生成抽样任务\",\n \"effect\": \"页面底部 flow 是说明链路,不是执行引擎;生成、下发、增删改、下载需宿主业务操作。\"\n }\n ],\n \"states\": [\n \"plan / standards\",\n \"expandedBatchId\",\n \"pendingBatchId\",\n \"commandFailure\",\n \"scheduled / waiting 展示\"\n ],\n \"applicationStatesToDesign\": [\n \"当前查询或操作未绑定时的待接入状态\",\n \"真实授权、失败恢复与上下文失效处理\",\n \"目标本体要求而原实现缺少的状态和门禁\"\n ]\n },\n \"adaptation\": {\n \"preserve\": [\n \"业务对象语义\",\n \"原始数据、判定与业务操作的边界\",\n \"关键交互及其真实源码依据\"\n ],\n \"variable\": [\n \"当前本体映射\",\n \"属性与关联投影\",\n \"布局、区域拆合与视觉细节\",\n \"宿主回调绑定和补充状态\"\n ],\n \"exampleOnly\": [\n \"预览中的实例、计数和固定业务值\",\n \"演示适配器和本地操作结果\",\n \"未经当前本体确认的原组件命名和默认文案\"\n ]\n },\n \"pattern\": {\n \"schemaVersion\": 1,\n \"readingGuide\": \"先结合当前应用本体阅读业务目的、ASCII 布局和对象角色,判断整体、局部或组合参考价值;再按 sourceReadingOrder 直接读取源码。界面相似不是采用充分条件,没有近乎同名的组件也允许参考其中一部分。\",\n \"business\": {\n \"actor\": \"计划编制或审核人员\",\n \"trigger\": \"已有生产计划及标准,需要审阅抽样和发出排程\",\n \"goal\": \"审阅已提供的生产批次计划、适用标准和抽样分配,切换计划与标准对照视图,发出批次排程并展示失败重试反馈。\",\n \"workUnit\": \"一个版本计划中的生产批次\",\n \"boundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\"\n },\n \"layout\": {\n \"basis\": \"source-observed\",\n \"summary\": \"plan-summary / command-feedback / view-tabs / batch-table / flow-explanation\",\n \"desktopAscii\": \"+--------------------------------------------------------------------+\\n| 计划批次汇总 |\\n| 排程失败反馈(有失败时) [重试] [关闭] |\\n| 检验计划工作台 / 周期 / 版本 |\\n| [生产计划] [批次关联标准] |\\n| 计划视图: 批次 | SKU | 计划时间/量 | 标准 | 状态 | [排程] |\\n| 可展开: 抽样阈值 / 班次 / 点位分配 |\\n| 标准视图: 批次与标准版本对照表(切换显示) |\\n| 生成链路说明: 生产计划 -> 标准 -> 抽样 -> 下发(说明图) |\\n| footerActions(可选扩展) |\\n+--------------------------------------------------------------------+\",\n \"zones\": [\n \"plan-summary\",\n \"command-feedback\",\n \"view-tabs\",\n \"batch-table\",\n \"flow-explanation\"\n ],\n \"narrow\": {\n \"basis\": \"source-observed\",\n \"ascii\": \"+--------------------------------------------------------------------+\\n| 表格容器可滚动 |\\n| 固定 max-height 表区保留 |\\n| 摘要固定三列,底部链路仍横排 |\\n+--------------------------------------------------------------------+\",\n \"description\": \"仅概括源码已有规则;改写建议单列,未做本轮浏览器响应式验收。\",\n \"adaptationNotes\": [\n \"建议窄屏重排摘要与底部链路,目标应用另行实现和验证。\"\n ]\n },\n \"evidencePaths\": [\n \"components/business/quality/src/inspection-plan-workspace.tsx\"\n ],\n \"interpretation\": \"ASCII 概括实际分区与信息顺序,不固定尺寸、数据量、字段或页面区域;问号表示可选入口,括号注明条件。\"\n },\n \"objectRequirements\": {\n \"interpretation\": \"以下是原范式所需的业务信息角色,不是目标本体对象表或必建清单。当前应用本体决定对象、关系、属性、单位、版本及操作;展示聚合可由现有多个对象投影而来。\",\n \"core\": [\n {\n \"role\": \"plan\",\n \"meaning\": \"带版本与周期的计划上下文\",\n \"information\": \"计划标识、版本和周期\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n },\n {\n \"role\": \"batch\",\n \"meaning\": \"被排程的生产批次\",\n \"information\": \"批次及排程状态\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n },\n {\n \"role\": \"sampling\",\n \"meaning\": \"批次抽样与班次点位分配\",\n \"information\": \"已提供的批次抽样与班次分配\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n }\n ],\n \"supporting\": [\n {\n \"role\": \"standardVersion\",\n \"meaning\": \"批次采用的标准版本\",\n \"requirementScope\": \"按当前任务需要决定是否采用;不自动新建同名对象。\"\n }\n ],\n \"relations\": [\n \"计划组织批次\",\n \"批次采用标准及抽样安排\"\n ],\n \"presentationOnly\": [\n \"plan-summary\",\n \"command-feedback\",\n \"view-tabs\",\n \"batch-table\",\n \"flow-explanation\"\n ],\n \"mappingQuestions\": [\n \"计划标识与版本\",\n \"批次及标准采用版本\",\n \"排程操作身份与失败类型\"\n ]\n },\n \"dataProjection\": {\n \"inputs\": [\n \"aggregate.batches 与其标准、抽样数据\",\n \"activeView、expandedBatchId、pendingBatchId、commandFailure\"\n ],\n \"derived\": [\n \"汇总区由输入计划计算展示指标\"\n ],\n \"localUiState\": [],\n \"outputs\": [\n \"视图切换、展开抽样、打开标准、排程、重试与关闭反馈\"\n ],\n \"scope\": \"仅解释当前源码的数据流;查询、持久化及授权均须按当前本体操作另行核对,空数组不等于未知业务计数。\"\n },\n \"interactionFlow\": {\n \"ascii\": \"宿主提供计划 -> 审阅批次/标准/抽样\\n请求排程 -> 宿主处理中 -> 成功更新或失败反馈\\n页面链路说明本身不会生成计划或下发任务\",\n \"existingStates\": [\n \"plan / standards\",\n \"expandedBatchId\",\n \"pendingBatchId\",\n \"commandFailure\",\n \"scheduled / waiting 展示\"\n ],\n \"hostResponsibilities\": [\n \"页面底部 flow 是说明链路,不是执行引擎;生成、下发、增删改、下载需宿主业务操作。\"\n ],\n \"stateDistinction\": \"界面选择、展开、忙态不自动等于业务状态迁移;回调已触发不证明写入成功。静态展示项没有输出命令。\"\n },\n \"composition\": {\n \"parts\": [\n \"带版本的计划审阅组织\",\n \"批次表与按行抽样展开\",\n \"查询视图和操作反馈分离\"\n ],\n \"with\": [\n {\n \"assetId\": \"quality.batch-standard-binding\",\n \"support\": \"source-composed\",\n \"coordination\": \"standards 视图实际使用该对照表。\"\n },\n {\n \"assetId\": \"quality.inspection-task-workspace\",\n \"support\": \"adaptation-proposal\",\n \"coordination\": \"仅在宿主排程/下发业务完成后读取任务;两组件不自动创建或共享任务。\"\n }\n ],\n \"sharedContext\": [\n \"计划标识与版本\",\n \"批次及标准采用版本\",\n \"排程操作身份与失败类型\"\n ],\n \"coordination\": \"source-composed 表示可在实际源码中定位的父子采用关系(可能由对方作为父组件);adaptation-proposal 是可选组合建议,尚无自动接线。由页面协调器按当前本体传递稳定上下文、数据与动作。\"\n },\n \"reuse\": {\n \"wholeWhen\": [\n \"目标已有计划聚合、抽样分配及排程操作,需求是审阅和发出受控命令。\",\n \"仍须核对真实 Props、必需回调、metadata.selection 的采用/排除条件、版本和依赖;参考价值不代表 CLI 可安装。\"\n ],\n \"parts\": [\n \"带版本的计划审阅组织\",\n \"批次表与按行抽样展开\",\n \"查询视图和操作反馈分离\"\n ],\n \"adaptWhen\": [\n \"其他计划审阅可参考版本上下文、双视图和按行展开;重写抽样、状态、单位与操作。\"\n ],\n \"avoidWhen\": [\n \"需要完整计划增删改、抽样算法和任务下发服务时,现有实现仅部分覆盖。\"\n ],\n \"decision\": \"先说明哪些业务语义和信息组织相近,再列采用部分、改写部分、缺口和源码依据;最终可复用/需组合/无匹配由 AI 对照当前合同判断,不由名称或相似度阈值直接决定。\"\n },\n \"sourceReadingOrder\": [\n {\n \"path\": \"components/business/quality/src/inspection-plan-workspace.tsx\",\n \"symbols\": [],\n \"purpose\": \"先看真实渲染分区、受控输入和事件出口,与 ASCII 对照;不要从图示推断额外能力。\"\n },\n {\n \"path\": \"components/business/quality/src/production-batch-plan-table.tsx\",\n \"symbols\": [\n \"ProductionBatchPlanTable\",\n \"pendingBatchId\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-asset-contract.ts\",\n \"symbols\": [\n \"InspectionPlanWorkspaceCommands\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-types.ts\",\n \"symbols\": [\n \"InspectionPlanAggregate\",\n \"ProductionBatch\"\n ],\n \"purpose\": \"计划、批次、标准与抽样输入契约\"\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-summary.tsx\",\n \"symbols\": [\n \"InspectionPlanSummary\"\n ],\n \"purpose\": \"汇总派生值及固定三列布局\"\n }\n ]\n }\n}\n","path":"references/metaform/components/business/quality/src/inspection-plan-workspace.reference.json","target":"~/references/metaform/components/business/quality/src/inspection-plan-workspace.reference.json","type":"registry:file"}],"meta":{"assetId":"resource.file.8fdb75c3da6a5a0c86c3193d025cf6f8","contractRef":"components/business/quality/src/inspection-plan-workspace.reference.json","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8fdb75c3da6a5a0c86c3193d025cf6f8","registryDependencies":[],"title":"resource.file.8fdb75c3da6a5a0c86c3193d025cf6f8","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.90b79237b5272ce414e11d7f2c222676","files":[{"content":"import type { ReactNode } from 'react';\n\nimport type { BatchSamplingPlan } from './inspection-plan-types';\n\nexport type InspectionTaskStatus = 'todo' | 'doing' | 'done';\nexport interface InspectionTask {\n id: string;\n type: string;\n batchId: string;\n skuName: string;\n quantity: number;\n dueAt: string;\n standardId: string;\n standardVersion: string;\n firstBatch: boolean;\n intensified: boolean;\n status: InspectionTaskStatus;\n assignee?: string;\n currentShiftId?: string;\n standardCtqCount: number;\n inspectionItemCount: number;\n samplingPlan: BatchSamplingPlan;\n requirements: { label: string; value: string }[];\n}\nexport interface InspectionTaskAggregate {\n id: string;\n version: number;\n date: string;\n inspectorName?: string;\n intensifiedBatchCount?: number;\n tasks: InspectionTask[];\n metrics: { total: number; unclaimed: number; inProgress: number };\n}\nexport interface InspectionTaskWorkspaceSlots {\n headerExtra?: ReactNode | ((aggregate: InspectionTaskAggregate) => ReactNode);\n taskExtra?: (task: InspectionTask) => ReactNode;\n}\nexport interface InspectionTaskWorkspaceProps {\n aggregate: InspectionTaskAggregate;\n expandedTaskIds: string[];\n pendingTaskId?: string;\n commandFailure?: { taskId: string; message: string; operation?: 'claim' | 'openExecution' };\n slots?: InspectionTaskWorkspaceSlots;\n onToggleRequirements: (taskId: string) => void;\n onOpenStandard: (id: string, version: string) => void;\n onClaimTask: (taskId: string) => void;\n onRetryClaim: () => void;\n onDismissFailure: () => void;\n onOpenExecution: (taskId: string) => void;\n}\n","path":"references/metaform/components/business/quality/src/inspection-task-types.ts","target":"~/references/metaform/components/business/quality/src/inspection-task-types.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.90b79237b5272ce414e11d7f2c222676","contractRef":"components/business/quality/src/inspection-task-types.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-90b79237b5272ce414e11d7f2c222676","registryDependencies":[],"title":"resource.file.90b79237b5272ce414e11d7f2c222676","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.91b6c344e59fb18f9d9a43f4ac15c2ec","files":[{"content":"import React from 'react';\n\nimport './first-inspection-entry.css';\nimport type { CTQItem, InspectionTask, Package, Piece } from './types';\n\nfunction renderToleranceAnalysis(item: CTQItem) {\n // Qualitative items (appearance, defects, heat seal integrity)\n if (item.unit === '-' || item.min === '-' || item.max === '-') {\n if (item.val === 'wait' || item.judge === 'wait') {\n return (\n <div className=\"ctq-analysis wait\">\n <span className=\"analysis-dot\" />\n <span className=\"analysis-text\">待目视 / AI分析</span>\n </div>\n );\n }\n if (item.judge === 'ok' || item.val === 'ok') {\n let desc = '符合标准要求 · 优';\n if (item.name.includes('污点') || item.name.includes('黑点')) {\n desc = '未检出异色缺陷 · 正常';\n } else if (\n item.name.includes('异物') ||\n item.name.includes('破损') ||\n item.name.includes('褶皱')\n ) {\n desc = '外观完整无破损 · 优';\n } else if (item.name.includes('封合')) {\n desc = '热力压纹连续达标 · 优';\n }\n return (\n <div className=\"ctq-analysis-qual ok\">\n <span className=\"analysis-dot\" />\n <span>{desc}</span>\n </div>\n );\n }\n return (\n <div className=\"ctq-analysis-qual bad\">\n <span className=\"analysis-dot\" />\n <span>发现缺陷 · 待现场处置</span>\n </div>\n );\n }\n\n // Non-standard multi-dim formats like \"80×40\"\n if (item.target.includes('×') || item.val.includes('×')) {\n const isOk = item.judge === 'ok';\n return (\n <div className={`ctq-analysis-qual ${isOk ? 'ok' : 'bad'}`}>\n <span className=\"analysis-dot\" />\n <span>{isOk ? '双向尺寸吻合基准 · 优' : '护翼外形超公差'}</span>\n </div>\n );\n }\n\n // Numerical metrics\n const numVal = parseFloat(item.val);\n const minVal = parseFloat(item.min);\n const maxVal = parseFloat(item.max);\n const numTarget = parseFloat(item.target.replace(/[^\\d.-]/g, ''));\n\n if (isNaN(numVal)) {\n return (\n <div className=\"ctq-analysis wait\">\n <span className=\"analysis-dot\" />\n <span className=\"analysis-text\">待设备采集数值</span>\n </div>\n );\n }\n\n const hasTarget = !isNaN(numTarget);\n const diff = hasTarget ? +(numVal - numTarget).toFixed(2) : 0;\n const diffSign = diff > 0 ? `+${diff}` : `${diff}`;\n const isOutOfRange = (!isNaN(minVal) && numVal < minVal) || (!isNaN(maxVal) && numVal > maxVal);\n\n // Calculate gauge position: 0% at minVal, 100% at maxVal\n let gaugePos = 50;\n let isSevereOutOfRange = false;\n if (!isNaN(minVal) && !isNaN(maxVal) && maxVal > minVal) {\n const range = maxVal - minVal;\n // Map min to 20%, max to 80% to allow out-of-bounds to visually show at ends\n const pct = ((numVal - minVal) / range) * 60 + 20;\n // 严格限制在 [8%, 92%] 安全区间,防止圆点和光晕溢出穿透轨道边缘\n gaugePos = Math.max(8, Math.min(92, pct));\n if (numVal < minVal - range * 1.5 || numVal > maxVal + range * 1.5) {\n isSevereOutOfRange = true;\n }\n } else if (!isNaN(maxVal) && minVal === 0) {\n gaugePos = Math.max(8, Math.min(92, (numVal / maxVal) * 80));\n if (numVal > maxVal * 2) {\n isSevereOutOfRange = true;\n }\n }\n\n let statusText = '公差受控';\n if (isOutOfRange) {\n if (!isNaN(minVal) && numVal < minVal) {\n statusText = `${isSevereOutOfRange ? '◀ 严重偏低' : '◀ 偏低'} ${(minVal - numVal).toFixed(2)}${item.unit}`;\n } else if (!isNaN(maxVal) && numVal > maxVal) {\n statusText = `${isSevereOutOfRange ? '▶ 严重偏高' : '▶ 偏高'} ${(numVal - maxVal).toFixed(2)}${item.unit}`;\n }\n } else if (diff === 0) {\n statusText = '精准居中';\n } else {\n statusText = '公差受控';\n }\n\n return (\n <div className={`ctq-analysis ${isOutOfRange ? 'bad' : 'ok'}`}>\n <div className=\"ctq-gauge-track\">\n {/* 公差合格安全区区间带 (20% ~ 80%) */}\n <div\n className=\"ctq-gauge-safe-zone\"\n style={{ left: '20%', width: '60%' }}\n title=\"标准合格公差带\"\n />\n <div\n className=\"ctq-gauge-target\"\n style={{ left: '50%' }}\n title={`基准目标: ${item.target}`}\n />\n <div\n className={`ctq-gauge-point ${isOutOfRange ? 'bad' : 'ok'}`}\n style={{ left: `${gaugePos}%` }}\n title={`实测值: ${numVal}${item.unit}`}\n />\n </div>\n <div className=\"ctq-gauge-meta\">\n <span className=\"ctq-diff-badge\">\n Δ {diffSign} {item.unit}\n </span>\n <span className=\"ctq-status-tag\">{statusText}</span>\n </div>\n </div>\n );\n}\n\nexport interface FirstPieceInspectionWorkbenchProps {\n task: InspectionTask;\n copy: FirstPieceInspectionWorkbenchCopy;\n onBackToList?: () => void;\n onOpenStationModal: () => void;\n onSelectPiece: (index: number) => void;\n onSelectPackage: (index: number) => void;\n onSwitchMode: (mode: 'piece' | 'pack') => void;\n onAddPiece: () => void;\n onAddPackage: () => void;\n onUpdateItemValue: (pieceIndex: number, itemId: string, val: string) => void;\n onUpdatePackageItemValue: (packageIndex: number, itemId: string, val: string) => void;\n onUpdateItemReason: (pieceIndex: number, itemId: string, reason: string) => void;\n onVoiceCorrectItem: (pieceIndex: number, itemId: string) => void;\n onVoiceCorrectWholePiece: (pieceIndex: number) => void;\n onRejectAuto?: (pieceIndex: number, itemId: string) => void;\n onAddPhoto: (pieceIndex: number, itemName?: string) => void;\n onAddPackagePhoto: (packageIndex: number, itemName?: string) => void;\n onConfirmPiece: (pieceIndex: number) => void;\n onConfirmPackage: (packageIndex: number) => void;\n onSubmitInspection: () => void;\n isSubmitting?: boolean;\n}\n\nexport interface FirstPieceInspectionWorkbenchCopy {\n title: string;\n subtitle: string;\n criticalLabel: string;\n pieceModeLabel: string;\n packageModeLabel: string;\n submitLabel: string;\n blockedLabel: string;\n readyLabel: string;\n}\n\nexport const FirstPieceInspectionWorkbench: React.FC<FirstPieceInspectionWorkbenchProps> = ({\n task,\n copy,\n onOpenStationModal,\n onSelectPiece,\n onSelectPackage,\n onSwitchMode,\n onAddPiece,\n onAddPackage,\n onUpdateItemValue,\n onUpdatePackageItemValue,\n onUpdateItemReason,\n onVoiceCorrectItem,\n onVoiceCorrectWholePiece,\n onRejectAuto,\n onAddPhoto,\n onAddPackagePhoto,\n onConfirmPiece,\n onConfirmPackage,\n onSubmitInspection,\n isSubmitting = false,\n}) => {\n const labels = copy;\n const currentPiece: Piece = task.pieces[task.activePieceIndex] || task.pieces[0];\n const currentPackage: Package = task.packages[task.activePackageIndex] || task.packages[0];\n\n const pieceCompletedCount = task.pieces.filter((p) => p.done).length;\n const pieceTotalCount = task.pieces.length;\n const pieceBadCount = task.pieces.filter((p) => p.status === 'bad').length;\n const pieceOkCount = task.pieces.filter((p) => p.status === 'ok').length;\n\n const packageCompletedCount = task.packages.filter((p) => p.done).length;\n const packageTotalCount = task.packages.length;\n const packageBadCount = task.packages.filter((p) => p.status === 'bad').length;\n\n // 逐片指标统计\n const okItems = currentPiece.items.filter((i) => i.judge === 'ok').length;\n const badItems = currentPiece.items.filter((i) => i.judge === 'bad').length;\n const waitItems = currentPiece.items.filter((i) => i.judge === 'wait').length;\n\n // 逐包指标统计\n const pkgOkItems = currentPackage.items.filter((i) => i.judge === 'ok').length;\n const pkgBadItems = currentPackage.items.filter((i) => i.judge === 'bad').length;\n const pkgWaitItems = currentPackage.items.filter((i) => i.judge === 'wait').length;\n\n const hasBad = pieceBadCount > 0 || packageBadCount > 0;\n const allComplete =\n pieceCompletedCount === pieceTotalCount && packageCompletedCount === packageTotalCount;\n\n return (\n <div className=\"first-card\">\n <div className=\"first-card-h\">\n <b>{labels.title}</b>\n <span>{labels.subtitle}</span>\n <span className=\"first-card-tag\">{labels.criticalLabel}</span>\n </div>\n\n {/* 模式切换 (按片 / 按包) */}\n <div className=\"first-mode-tabs\">\n <button\n type=\"button\"\n className={`first-mode-tab ${task.activeMode === 'piece' ? 'on' : ''}`}\n onClick={() => onSwitchMode('piece')}\n >\n {labels.pieceModeLabel}{' '}\n <span>\n {pieceCompletedCount}/{pieceTotalCount}\n </span>\n </button>\n <button\n type=\"button\"\n className={`first-mode-tab ${task.activeMode === 'pack' ? 'on' : ''}`}\n onClick={() => onSwitchMode('pack')}\n >\n {labels.packageModeLabel}{' '}\n <span>\n {packageCompletedCount}/{packageTotalCount}\n </span>\n </button>\n </div>\n\n {task.activeMode === 'piece' ? (\n /* =================== 逐片检验面板 =================== */\n <>\n {/* 逐片进度条 */}\n <div className=\"piece-overview\">\n <div className=\"piece-overview-title\">\n 🔬 逐片检验 · 共 {pieceTotalCount} 片\n <span>\n 已完成 {pieceCompletedCount}/{pieceTotalCount}\n </span>\n </div>\n <div className=\"piece-overview-bar\">\n <i className=\"ok\" style={{ width: `${(pieceOkCount / pieceTotalCount) * 100}%` }} />\n <i className=\"bad\" style={{ width: `${(pieceBadCount / pieceTotalCount) * 100}%` }} />\n </div>\n </div>\n\n {/* 逐片药丸导航 */}\n <div className=\"piece-nav\">\n {task.pieces.map((piece, idx) => {\n const isSelected = idx === task.activePieceIndex;\n const stateCls = piece.done ? (piece.status === 'bad' ? 'bad' : 'done') : 'wait';\n const label = piece.done\n ? piece.status === 'bad'\n ? '不合格'\n : '合格'\n : isSelected\n ? '检验中'\n : '待检';\n\n return (\n <button\n type=\"button\"\n key={piece.index}\n className={`piece-tab ${stateCls} ${isSelected ? 'on' : ''}`}\n onClick={() => onSelectPiece(idx)}\n >\n <b>第 {piece.index} 片</b>\n <strong>{label}</strong>\n </button>\n );\n })}\n <button\n type=\"button\"\n className=\"piece-add\"\n onClick={onAddPiece}\n title=\"增加一片检测样品\"\n >\n <b>+</b>\n <span>添加</span>\n </button>\n </div>\n\n {/* 片操作栏 */}\n <div className=\"piece-work-h\">\n <div className=\"piece-work-title-wrap\">\n <div className=\"title\">\n 第 {currentPiece.index} 片 · {currentPiece.items.length} 项全检\n </div>\n <div className=\"sub\">\n 已检 {okItems + badItems} 项 · 合格 {okItems} · 不合格 {badItems} · 待检测{' '}\n {waitItems}\n </div>\n </div>\n\n {/* 利用横向空白:首件达标率与公差态势 */}\n <div className=\"piece-work-stat-bar-box\">\n <div className=\"piece-stat-bar-header\">\n <span className=\"piece-stat-bar-label\">\n CTQ 合格率{' '}\n <b>{Math.round((okItems / (currentPiece.items.length || 1)) * 100)}%</b>\n </span>\n {badItems > 0 ? (\n <span className=\"piece-stat-badge-bad\">存在 {badItems} 项超差</span>\n ) : (\n <span className=\"piece-stat-badge-ok\">全项受控</span>\n )}\n </div>\n <div className=\"piece-stat-progress\">\n <div\n className=\"fill ok\"\n style={{ width: `${(okItems / (currentPiece.items.length || 1)) * 100}%` }}\n />\n <div\n className=\"fill bad\"\n style={{ width: `${(badItems / (currentPiece.items.length || 1)) * 100}%` }}\n />\n </div>\n </div>\n\n <div className=\"piece-work-actions\">\n <button\n type=\"button\"\n className=\"btn\"\n onClick={() => onVoiceCorrectWholePiece(task.activePieceIndex)}\n >\n 🎤 整片语音修正\n </button>\n <button type=\"button\" className=\"btn pri\" onClick={onOpenStationModal}>\n 设备自动检测\n </button>\n </div>\n </div>\n\n {/* 整片语音修正提示气泡 */}\n {currentPiece.voiceTranscript && (\n <div className=\"piece-whole-voice\">\n <div className=\"voice-icon-box\">\n <svg\n className=\"size-4\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" />\n <path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" />\n <line x1=\"12\" x2=\"12\" y1=\"19\" y2=\"22\" />\n </svg>\n </div>\n <div className=\"voice-copy\">\n <div className=\"voice-header\">\n <b>整片语音已识别</b>\n <span className=\"voice-badge\">智能解析回填</span>\n </div>\n <div className=\"voice-text\">“{currentPiece.voiceTranscript}”</div>\n {currentPiece.voiceChanged && currentPiece.voiceChanged.length > 0 && (\n <div className=\"voice-tags\">\n <span className=\"voice-tag-label\">已联动更新:</span>\n {currentPiece.voiceChanged.map((tag) => (\n <span key={tag} className=\"voice-tag-item\">\n {tag}\n </span>\n ))}\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* CTQ 表格 */}\n <div className=\"piece-table-wrap\">\n <table className=\"piece-table\">\n <thead>\n <tr>\n <th style={{ width: '80px', minWidth: '80px' }}>类别</th>\n <th style={{ width: '160px', minWidth: '160px' }}>检验项目</th>\n <th style={{ width: '100px', minWidth: '95px' }}>规格值</th>\n <th style={{ width: '120px', minWidth: '115px' }}>标准范围</th>\n <th style={{ minWidth: '260px' }}>检测结果</th>\n <th style={{ minWidth: '210px' }}>偏差与公差带</th>\n <th\n className=\"col-sticky-judge\"\n style={{ width: '75px', minWidth: '75px', textAlign: 'center' }}\n >\n 判定\n </th>\n <th\n className=\"col-sticky-photo\"\n style={{ width: '85px', minWidth: '85px', textAlign: 'center' }}\n >\n 照片\n </th>\n </tr>\n </thead>\n <tbody>\n {currentPiece.items.map((item) => {\n const isCorrected = !!item.review;\n\n return (\n <tr key={item.id}>\n <td className=\"category\">{item.category}</td>\n <td>\n <span className=\"metric\">{item.name}</span>\n </td>\n <td className=\"spec\">\n {item.target.includes(item.unit) || item.unit === '-'\n ? item.target\n : `${item.target} ${item.unit}`}\n </td>\n <td className=\"standard\">\n {item.min !== '-' && item.max !== '-'\n ? `${item.min}—${item.max} ${item.unit !== '-' ? item.unit : ''}`\n : item.target}\n </td>\n <td>\n <div className=\"result-edit\">\n {item.unit === '-' ? (\n <select\n className=\"piece-input\"\n value={item.val || 'wait'}\n onChange={(e) =>\n onUpdateItemValue(task.activePieceIndex, item.id, e.target.value)\n }\n >\n <option value=\"wait\">待检测</option>\n <option value=\"ok\">无缺陷</option>\n <option value=\"bad\">发现缺陷</option>\n </select>\n ) : (\n <input\n className=\"piece-input\"\n value={item.val}\n placeholder=\"待设备采集\"\n onChange={(e) =>\n onUpdateItemValue(task.activePieceIndex, item.id, e.target.value)\n }\n />\n )}\n <button\n type=\"button\"\n className=\"voice-correct\"\n title=\"语音修改结果并说明原因\"\n onClick={() => onVoiceCorrectItem(task.activePieceIndex, item.id)}\n >\n <svg\n className=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" />\n <path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" />\n <line x1=\"12\" x2=\"12\" y1=\"19\" y2=\"22\" />\n </svg>\n </button>\n {item.source.includes('自动') || item.source.includes('回填') ? (\n <button\n type=\"button\"\n className=\"item-reject-btn\"\n title=\"不采纳智能采集值,转为人工复核\"\n onClick={() => onRejectAuto?.(task.activePieceIndex, item.id)}\n >\n <svg\n className=\"size-3\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\" />\n <path d=\"M3 3v5h5\" />\n </svg>\n 不采纳\n </button>\n ) : null}\n </div>\n\n <div className=\"piece-source\">\n <svg\n className=\"size-3 shrink-0 text-muted-foreground\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0 2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\" />\n </svg>\n <span>{item.source}</span>\n {isCorrected && <span className=\"source-corrected\">· 已人工修正</span>}\n </div>\n\n {isCorrected && (\n <div className=\"correction-note\">\n <div className=\"correction-note-head\">\n <div className=\"correction-head-left\">\n <span className=\"correction-pill\">人工修正</span>\n <span className=\"correction-orig\">\n 原设备值 <del>{item.origVal || '—'}</del>\n </span>\n </div>\n <span className=\"correction-head-right\">已现场复测</span>\n </div>\n <input\n className=\"correction-reason\"\n value={item.review?.reason || ''}\n placeholder=\"说明修改原因(例如:产品拉伸结构阻力超标导致折痕偏宽,已现场复测)\"\n onChange={(e) =>\n onUpdateItemReason(task.activePieceIndex, item.id, e.target.value)\n }\n />\n </div>\n )}\n </td>\n <td className=\"ctq-analysis-col\">{renderToleranceAnalysis(item)}</td>\n <td className=\"col-sticky-judge\" style={{ textAlign: 'center' }}>\n <span className={`piece-judge ${item.judge}`}>\n {item.judge === 'ok' ? '合格' : item.judge === 'bad' ? '不合格' : '待检'}\n </span>\n </td>\n <td className=\"col-sticky-photo\" style={{ textAlign: 'center' }}>\n <button\n type=\"button\"\n className=\"piece-photo row\"\n onClick={() => onAddPhoto(task.activePieceIndex, item.name)}\n >\n 📷 {item.photosCount > 0 ? `${item.photosCount}张` : '拍照'}\n </button>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n\n {/* 本片照片存证 */}\n <div className=\"photo-evidence\">\n <div className=\"photo-evidence-copy\">\n <b>📷 本片照片证据</b>\n <span>\n {currentPiece.photos.reduce((acc, p) => acc + p.count, 0)} 张 · 结论确认前留证\n </span>\n </div>\n <div className=\"photo-evidence-list\">\n {currentPiece.photos.map((photo) => (\n <span key={photo.name} className=\"photo-evidence-thumb\">\n <i>\n <svg\n className=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" />\n <circle cx=\"9\" cy=\"9\" r=\"2\" />\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" />\n </svg>\n </i>\n <em>{photo.name}</em>\n <small>{photo.count}张</small>\n </span>\n ))}\n </div>\n <button\n type=\"button\"\n className=\"evidence-add\"\n onClick={() => onAddPhoto(task.activePieceIndex)}\n >\n + 添加照片\n </button>\n </div>\n\n {/* 本片结论底栏 */}\n <div className=\"piece-foot\">\n <div className=\"summary\">\n <span className={`piece-result ${currentPiece.status}`}>\n 本片结论:\n {currentPiece.status === 'ok'\n ? '合格'\n : currentPiece.status === 'bad'\n ? '不合格'\n : '待确认'}\n </span>\n <span>\n {okItems} 项合格 · {badItems} 项不合格 · {waitItems} 项待检\n </span>\n </div>\n <button\n type=\"button\"\n className=\"btn pri\"\n onClick={() => onConfirmPiece(task.activePieceIndex)}\n >\n 确认本片结论\n </button>\n </div>\n </>\n ) : (\n /* =================== 逐包检验面板 =================== */\n <>\n <div className=\"piece-overview\">\n <div className=\"piece-overview-title\">\n 📦 逐包检验 · 共 {packageTotalCount} 包\n <span>\n 已完成 {packageCompletedCount}/{packageTotalCount}\n </span>\n </div>\n <div className=\"piece-overview-bar\">\n <i\n className=\"ok\"\n style={{\n width: `${((packageCompletedCount - packageBadCount) / packageTotalCount) * 100}%`,\n }}\n />\n <i\n className=\"bad\"\n style={{ width: `${(packageBadCount / packageTotalCount) * 100}%` }}\n />\n </div>\n </div>\n\n <div className=\"piece-nav\">\n {task.packages.map((pkg, idx) => {\n const isSelected = idx === task.activePackageIndex;\n const stateCls = pkg.done ? (pkg.status === 'bad' ? 'bad' : 'done') : 'wait';\n const label = pkg.done\n ? pkg.status === 'bad'\n ? '不合格'\n : '合格'\n : isSelected\n ? '检验中'\n : '待检';\n\n return (\n <button\n type=\"button\"\n key={pkg.index}\n className={`piece-tab ${stateCls} ${isSelected ? 'on' : ''}`}\n onClick={() => onSelectPackage(idx)}\n >\n <b>第 {pkg.index} 包</b>\n <strong>{label}</strong>\n </button>\n );\n })}\n <button\n type=\"button\"\n className=\"piece-add\"\n onClick={onAddPackage}\n title=\"增加一包检测样品\"\n >\n <b>+</b>\n <span>添加</span>\n </button>\n </div>\n\n <div className=\"piece-work-h\">\n <div className=\"piece-work-title-wrap\">\n <div className=\"title\">\n 第 {currentPackage.index} 包 · {currentPackage.items.length} 项包装检查\n </div>\n <div className=\"sub\">\n 已检 {pkgOkItems + pkgBadItems} 项 · 合格 {pkgOkItems} · 不合格 {pkgBadItems} · 待检{' '}\n {pkgWaitItems}\n </div>\n </div>\n\n {/* 利用横向空白:逐包合格率态势 */}\n <div className=\"piece-work-stat-bar-box\">\n <div className=\"piece-stat-bar-header\">\n <span className=\"piece-stat-bar-label\">\n 包装合格率{' '}\n <b>{Math.round((pkgOkItems / (currentPackage.items.length || 1)) * 100)}%</b>\n </span>\n {pkgBadItems > 0 ? (\n <span className=\"piece-stat-badge-bad\">存在 {pkgBadItems} 项不合格</span>\n ) : (\n <span className=\"piece-stat-badge-ok\">全部符合</span>\n )}\n </div>\n <div className=\"piece-stat-progress\">\n <div\n className=\"fill ok\"\n style={{ width: `${(pkgOkItems / (currentPackage.items.length || 1)) * 100}%` }}\n />\n <div\n className=\"fill bad\"\n style={{ width: `${(pkgBadItems / (currentPackage.items.length || 1)) * 100}%` }}\n />\n </div>\n </div>\n\n <div className=\"piece-work-actions\">\n <button type=\"button\" className=\"btn pri\" onClick={onOpenStationModal}>\n 设备检测包装\n </button>\n </div>\n </div>\n\n <div className=\"piece-table-wrap\">\n <table className=\"piece-table\">\n <thead>\n <tr>\n <th style={{ width: '80px', minWidth: '80px' }}>类别</th>\n <th style={{ width: '160px', minWidth: '160px' }}>检查项目</th>\n <th style={{ minWidth: '200px' }}>标准要求</th>\n <th style={{ width: '160px', minWidth: '150px' }}>检测方式与来源</th>\n <th style={{ width: '130px', minWidth: '120px' }}>检测结果</th>\n <th\n className=\"col-sticky-judge\"\n style={{ width: '80px', minWidth: '80px', textAlign: 'center' }}\n >\n 判定\n </th>\n <th\n className=\"col-sticky-photo\"\n style={{ width: '85px', minWidth: '85px', textAlign: 'center' }}\n >\n 照片\n </th>\n </tr>\n </thead>\n <tbody>\n {currentPackage.items.map((item) => (\n <tr key={item.id}>\n <td className=\"category\">{item.category}</td>\n <td>\n <span className=\"metric\">{item.name}</span>\n </td>\n <td className=\"standard\">{item.standard}</td>\n <td>\n <div>{item.method}</div>\n <div className=\"piece-source\">设备检测后人工确认</div>\n </td>\n <td>\n <select\n className=\"piece-input\"\n value={item.val}\n onChange={(e) =>\n onUpdatePackageItemValue(task.activePackageIndex, item.id, e.target.value)\n }\n >\n <option value=\"wait\">待检</option>\n <option value=\"ok\">符合</option>\n <option value=\"bad\">不符合</option>\n </select>\n </td>\n <td className=\"col-sticky-judge\" style={{ textAlign: 'center' }}>\n <span className={`piece-judge ${item.judge}`}>\n {item.judge === 'ok' ? '合格' : item.judge === 'bad' ? '不合格' : '待检'}\n </span>\n </td>\n <td className=\"col-sticky-photo\" style={{ textAlign: 'center' }}>\n <button\n type=\"button\"\n className=\"piece-photo row\"\n onClick={() => onAddPackagePhoto(task.activePackageIndex, item.name)}\n >\n 📷 {item.photosCount > 0 ? `${item.photosCount}张` : '拍照'}\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n <div className=\"photo-evidence\">\n <div className=\"photo-evidence-copy\">\n <b>📷 本包照片证据</b>\n <span>\n {currentPackage.photos.reduce((acc, p) => acc + p.count, 0)} 张 · 结论确认前留证\n </span>\n </div>\n <div className=\"photo-evidence-list\">\n {currentPackage.photos.map((photo) => (\n <span key={photo.name} className=\"photo-evidence-thumb\">\n <i>\n <svg\n className=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" />\n <circle cx=\"9\" cy=\"9\" r=\"2\" />\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" />\n </svg>\n </i>\n <em>{photo.name}</em>\n <small>{photo.count}张</small>\n </span>\n ))}\n </div>\n <button\n type=\"button\"\n className=\"evidence-add\"\n onClick={() => onAddPackagePhoto(task.activePackageIndex)}\n >\n + 添加照片\n </button>\n </div>\n\n <div className=\"piece-foot\">\n <div className=\"summary\">\n <span className={`piece-result ${currentPackage.status}`}>\n 本包结论:\n {currentPackage.status === 'ok'\n ? '合格'\n : currentPackage.status === 'bad'\n ? '不合格'\n : '待确认'}\n </span>\n <span>\n {pkgOkItems} 项合格 · {pkgBadItems} 项不合格 · {pkgWaitItems} 项待检\n </span>\n </div>\n <button\n type=\"button\"\n className=\"btn pri\"\n onClick={() => onConfirmPackage(task.activePackageIndex)}\n >\n 确认本包结论\n </button>\n </div>\n </>\n )}\n\n {/* 6. 首件综合结论与处置底栏 */}\n <div className=\"first-final\">\n <div className=\"copy\">\n <b>{hasBad ? labels.blockedLabel : allComplete ? labels.readyLabel : '首件检验进行中'}</b>\n <span>\n {hasBad\n ? `单片不合格 ${pieceBadCount} 片 · 包装不合格 ${packageBadCount} 包;请调整后重新执行对应检验。`\n : `按片 ${pieceCompletedCount}/${pieceTotalCount} · 按包 ${packageCompletedCount}/${packageTotalCount} · 两类检验全部合格后方可量产`}\n </span>\n </div>\n <button\n type=\"button\"\n className=\"btn pri\"\n onClick={onSubmitInspection}\n disabled={isSubmitting}\n aria-busy={isSubmitting}\n >\n {labels.submitLabel}\n </button>\n </div>\n </div>\n );\n};\n","path":"references/metaform/components/business/industry/inspection/src/first-piece-inspection-workbench.tsx","target":"~/references/metaform/components/business/industry/inspection/src/first-piece-inspection-workbench.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.91b6c344e59fb18f9d9a43f4ac15c2ec","contractRef":"components/business/industry/inspection/src/first-piece-inspection-workbench.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-91b6c344e59fb18f9d9a43f4ac15c2ec","registryDependencies":[],"title":"resource.file.91b6c344e59fb18f9d9a43f4ac15c2ec","type":"registry:block"}
|