@james_sww/metaform-asset-distribution 0.1.3 → 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 +35 -5
- package/dist/application-source.js +1 -1
- package/dist/asset-selection.d.ts +3 -0
- package/dist/asset-selection.js +37 -0
- package/dist/cli.js +13 -5
- package/dist/contracts.d.ts +18 -0
- package/dist/planner.js +1 -0
- package/dist/validate.js +1 -1
- package/package.json +1 -1
- package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/catalog.json +1 -0
- package/registry/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/asset-internals-semantic-region-contract.json +1 -1
- package/registry/{7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/asset-internals-semantic-region-semantic-region-scaffold.json +1 -1
- 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/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/common-semantic-region-scaffold.json +1 -1
- package/registry/{7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/components-business-role-tasks-icons.json +1 -1
- package/registry/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 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/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/quality-role-task-groups.json +1 -1
- package/registry/{7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118 → 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/{ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86 → 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/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-icons.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/quality-role-task-groups.json +0 -1
- package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/quality-role-task-overview.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-business-role-tasks-types.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/styles-theme-tokens.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/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/catalog.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/asset-internals-semantic-region-contract.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/common-semantic-region-scaffold.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/components-business-role-tasks-types.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/lib-utils.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/quality-role-task-groups.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/styles-styles.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/styles-theme-tokens.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-badge.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-button.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-empty.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-sheet.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/registry.json +0 -1
- package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/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/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/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/catalog.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/asset-internals-semantic-region-semantic-region-scaffold.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/components-business-role-tasks-icons.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/lib-utils.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/quality-role-task-overview.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/styles-styles.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/styles-theme-tokens.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-badge.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-button.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-empty.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-sheet.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/registry.json +0 -1
- package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4d30620dddcc9c0a0e74253ac9884748","files":[{"content":"import React, { useEffect, useState } from 'react';\n\nimport {\n AlertTriangle,\n ArrowRight,\n CheckCircle2,\n ChevronRight,\n ExternalLink,\n FileCheck,\n FileText,\n ShieldAlert,\n Sparkles,\n UserCheck,\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 Field,\n FieldDescription,\n FieldGroup,\n FieldLabel,\n} from '@metaform/design-system/components/ui/field';\nimport { Textarea } from '@metaform/design-system/components/ui/textarea';\n\nimport {\n type DisposalBatch,\n type DisposalDefaults,\n type DisposalHistoryRecord,\n VERDICT_OPTIONS,\n type VerdictKind,\n} from './disposal-types';\n\nexport interface BatchDisposalWorkbenchProps {\n activeRole?: 'qc' | 'qa' | 'prod' | 'all';\n batches?: DisposalBatch[];\n defaults?: DisposalDefaults;\n qaSignerName?: string;\n prodSignerName?: string;\n reusedHistoryRecord?: DisposalHistoryRecord | null;\n onNavigateToExecutionTask?: (taskId: string) => void;\n onDisposalCompleted?: (\n batchId: string,\n verdict: VerdictKind,\n note: string,\n signatures: { qa?: string; prod?: string },\n ) => void;\n}\n\nexport function BatchDisposalWorkbench({\n activeRole = 'qc',\n batches: propBatches,\n defaults,\n qaSignerName = '质量主管 · 张琳',\n prodSignerName = '生产主管 · 黄强',\n reusedHistoryRecord,\n onNavigateToExecutionTask,\n onDisposalCompleted,\n}: BatchDisposalWorkbenchProps) {\n const [batches, setBatches] = useState<DisposalBatch[]>(() => propBatches ?? []);\n\n useEffect(() => {\n if (propBatches) {\n setBatches(propBatches);\n }\n }, [propBatches]);\n\n const [selectedBatchId, setSelectedBatchId] = useState<string>(() => propBatches?.[0]?.id ?? '');\n const [selectedVerdicts, setSelectedVerdicts] = useState<Record<string, VerdictKind>>(\n () => defaults?.selectedVerdicts ?? {},\n );\n const [disposalNotes, setDisposalNotes] = useState<Record<string, string>>(\n () => defaults?.disposalNotes ?? {},\n );\n const [signatures, setSignatures] = useState<Record<string, { qa?: string; prod?: string }>>(\n () => defaults?.signatures ?? {},\n );\n const [noticeMessage, setNoticeMessage] = useState<string | null>(null);\n\n // 监听复用历史记录,自动带入到当前批次中\n useEffect(() => {\n if (reusedHistoryRecord && selectedBatchId) {\n setSelectedVerdicts((prev) => ({\n ...prev,\n [selectedBatchId]: reusedHistoryRecord.verdict,\n }));\n setDisposalNotes((prev) => ({\n ...prev,\n [selectedBatchId]: `【参考历史批次 ${reusedHistoryRecord.id} 方案】${reusedHistoryRecord.note}`,\n }));\n }\n }, [reusedHistoryRecord, selectedBatchId]);\n\n const showToast = (msg: string) => {\n setNoticeMessage(msg);\n setTimeout(() => setNoticeMessage(null), 3500);\n };\n\n const pendingBatches = batches.filter((b) => b.status === 'pending');\n const currentBatch = batches.find((b) => b.id === selectedBatchId) ?? pendingBatches[0];\n\n if (!currentBatch) {\n return (\n <div className=\"flex h-96 flex-col items-center justify-center p-8 text-center text-muted-foreground\">\n <CheckCircle2 className=\"size-12 text-success mb-2\" />\n <p className=\"text-base font-medium text-foreground\">当前没有待处置的不合格批次</p>\n <p className=\"text-xs text-muted-foreground mt-1\">所有检测异常已完成双签处置并归档入库。</p>\n </div>\n );\n }\n\n const currentVerdict = selectedVerdicts[currentBatch.id] ?? currentBatch.suggestedVerdict;\n const currentNote = disposalNotes[currentBatch.id] ?? currentBatch.note;\n const currentSign = signatures[currentBatch.id] ?? {};\n const isQaSigned = Boolean(currentSign.qa);\n const isProdSigned = Boolean(currentSign.prod);\n const isBothSigned = isQaSigned && isProdSigned;\n const isReadyToClose = isBothSigned && currentNote.trim().length > 0;\n\n // 处置方法切换(方法变更时清空双签以保证安全)\n const handleSelectVerdict = (verdictKey: VerdictKind) => {\n setSelectedVerdicts((prev) => ({ ...prev, [currentBatch.id]: verdictKey }));\n setSignatures((prev) => ({\n ...prev,\n [currentBatch.id]: {},\n }));\n showToast(`处置方式已变更为【${VERDICT_OPTIONS[verdictKey].label}】,请重新进行双方签名确认`);\n };\n\n // 签字操作(感知当前角色权限)\n const handleSign = (roleType: 'qa' | 'prod') => {\n if (activeRole !== 'all' && activeRole !== roleType) {\n const needed = roleType === 'qa' ? '质量主管' : '生产主管';\n showToast(\n `当前协同视角为【${activeRole === 'qc' ? '质检员' : activeRole === 'qa' ? '质量主管' : '生产主管'}】,请切换到【${needed}】或【全部成员】完成此项签字`,\n );\n return;\n }\n\n const signerName = roleType === 'qa' ? qaSignerName : prodSignerName;\n\n setSignatures((prev) => ({\n ...prev,\n [currentBatch.id]: {\n ...prev[currentBatch.id],\n [roleType]: signerName,\n },\n }));\n\n showToast(`${signerName} 签字确认成功`);\n };\n\n // 提交并关闭异常\n const handleSubmitVerdict = () => {\n if (!isReadyToClose) return;\n\n setBatches((prev) =>\n prev.map((b) =>\n b.id === currentBatch.id\n ? {\n ...b,\n status: 'resolved',\n resolvedAt: '刚刚',\n qaSign: currentSign.qa,\n prodSign: currentSign.prod,\n }\n : b,\n ),\n );\n\n onDisposalCompleted?.(currentBatch.id, currentVerdict, currentNote, currentSign);\n showToast(`批次 ${currentBatch.id} 处置完成并已关闭异常,档案已归档!`);\n\n // 自动切到下一个待处置批次\n const remaining = batches.filter((b) => b.id !== currentBatch.id && b.status === 'pending');\n if (remaining.length > 0) {\n setSelectedBatchId(remaining[0].id);\n }\n };\n\n const selectedVerdictConfig = VERDICT_OPTIONS[currentVerdict];\n const suggestedVerdictConfig = VERDICT_OPTIONS[currentBatch.suggestedVerdict];\n\n return (\n <div\n className=\"space-y-4 text-foreground animate-in fade-in-50 duration-200\"\n data-asset=\"quality.batch-disposal-workbench\"\n >\n {/* 顶部轻提示 Toast */}\n {noticeMessage && (\n <div className=\"fixed top-14 right-6 z-50 flex items-center gap-2 rounded-lg border border-brand/30 bg-card px-4 py-2.5 text-xs font-medium text-foreground shadow-xl animate-in slide-in-from-top-2\">\n <Sparkles className=\"size-4 text-brand\" />\n <span>{noticeMessage}</span>\n </div>\n )}\n\n {/* 1. 头部概览卡片 */}\n <div className=\"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-brand/20 bg-brand-soft/40 p-3.5 shadow-2xs\">\n <div className=\"flex items-center gap-3\">\n <div className=\"flex size-9 shrink-0 items-center justify-center rounded-lg bg-brand text-primary-foreground font-bold shadow-xs\">\n 处\n </div>\n <div>\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm font-bold text-foreground\">不合格品处置协同工作台</span>\n <Badge\n variant=\"outline\"\n className=\"border-brand/30 bg-background text-brand text-[11px]\"\n >\n {pendingBatches.length} 批待闭环\n </Badge>\n </div>\n <p className=\"mt-0.5 text-xs text-muted-foreground\">\n 严格执行质量三不原则(不接收、不制造、不流出);质量主管与生产主管会签确认后关闭异常。\n </p>\n </div>\n </div>\n\n <div className=\"text-xs text-muted-foreground\">\n 当前协同视角:\n <span className=\"font-semibold text-foreground ml-1\">\n {activeRole === 'qa'\n ? '质量主管 · 张琳'\n : activeRole === 'prod'\n ? '生产主管 · 黄强'\n : activeRole === 'all'\n ? '全局主管协同'\n : '质检员 · 陈丽'}\n </span>\n </div>\n </div>\n\n {/* 2. 四步流转指示器 */}\n <div className=\"grid grid-cols-2 gap-2 sm:grid-cols-4\">\n <div className=\"flex items-center gap-2.5 rounded-lg border border-brand/40 bg-brand-soft/50 p-2.5\">\n <span className=\"flex size-6 shrink-0 items-center justify-center rounded-full bg-brand text-[11px] font-bold text-primary-foreground\">\n 1\n </span>\n <div className=\"min-w-0\">\n <div className=\"text-xs font-semibold text-foreground\">确认异常</div>\n <div className=\"text-[10.5px] text-muted-foreground truncate\">检测证据与影响范围</div>\n </div>\n </div>\n\n <div\n className={`flex items-center gap-2.5 rounded-lg border p-2.5 transition-colors ${\n currentVerdict\n ? 'border-brand/40 bg-brand-soft/50 text-foreground'\n : 'border-border bg-card text-muted-foreground'\n }`}\n >\n <span\n className={`flex size-6 shrink-0 items-center justify-center rounded-full text-[11px] font-bold ${\n currentVerdict ? 'bg-brand text-primary-foreground' : 'bg-muted text-muted-foreground'\n }`}\n >\n 2\n </span>\n <div className=\"min-w-0\">\n <div className=\"text-xs font-semibold\">选择方法</div>\n <div className=\"text-[10.5px] text-muted-foreground truncate\">明确产品处置方式</div>\n </div>\n </div>\n\n <div\n className={`flex items-center gap-2.5 rounded-lg border p-2.5 transition-colors ${\n isBothSigned\n ? 'border-success/40 bg-success/10 text-foreground'\n : 'border-border bg-card text-muted-foreground'\n }`}\n >\n <span\n className={`flex size-6 shrink-0 items-center justify-center rounded-full text-[11px] font-bold ${\n isBothSigned ? 'bg-success text-white' : 'bg-muted text-muted-foreground'\n }`}\n >\n 3\n </span>\n <div className=\"min-w-0\">\n <div className=\"text-xs font-semibold\">双方签字</div>\n <div className=\"text-[10.5px] text-muted-foreground truncate\">质量与生产共同确认</div>\n </div>\n </div>\n\n <div\n className={`flex items-center gap-2.5 rounded-lg border p-2.5 transition-colors ${\n currentBatch.status === 'resolved'\n ? 'border-success/40 bg-success/10 text-foreground'\n : 'border-border bg-card text-muted-foreground'\n }`}\n >\n <span\n className={`flex size-6 shrink-0 items-center justify-center rounded-full text-[11px] font-bold ${\n currentBatch.status === 'resolved'\n ? 'bg-success text-white'\n : 'bg-muted text-muted-foreground'\n }`}\n >\n 4\n </span>\n <div className=\"min-w-0\">\n <div className=\"text-xs font-semibold\">关闭异常</div>\n <div className=\"text-[10.5px] text-muted-foreground truncate\">生成记录并安排后续</div>\n </div>\n </div>\n </div>\n\n {/* 3. 待处置批次选择器 */}\n <Card className=\"border-border bg-card shadow-xs\">\n <CardHeader className=\"py-3 px-4 border-b border-border\">\n <CardTitle className=\"text-xs font-semibold flex items-center justify-between text-muted-foreground\">\n <span>待处置批次(选择一个异常继续处理)</span>\n <span>共 {pendingBatches.length} 批需要决策</span>\n </CardTitle>\n </CardHeader>\n <CardContent className=\"p-3\">\n <div className=\"grid grid-cols-1 gap-2.5 sm:grid-cols-2 lg:grid-cols-4\">\n {batches.map((batch) => {\n const isSelected = batch.id === currentBatch.id;\n const hasKeyBad = batch.keyBad > 0;\n return (\n <button\n key={batch.id}\n type=\"button\"\n onClick={() => setSelectedBatchId(batch.id)}\n className={`flex flex-col rounded-xl border p-3 text-left transition-all cursor-pointer ${\n isSelected\n ? 'border-brand bg-brand-soft/70 shadow-xs ring-1 ring-brand/40'\n : 'border-border bg-card hover:border-brand/40 hover:bg-muted/40'\n }`}\n >\n <div className=\"flex items-center justify-between\">\n <span className=\"text-xs font-bold text-foreground flex items-center gap-1.5\">\n {batch.id}\n {batch.firstBatch && (\n <span className=\"rounded bg-brand/10 px-1 py-0.2 text-[10px] font-semibold text-brand\">\n 首批\n </span>\n )}\n </span>\n <Badge\n variant=\"outline\"\n className={`text-[10px] font-semibold ${\n batch.status === 'resolved'\n ? 'border-success/30 bg-success/10 text-success'\n : 'border-danger/30 bg-danger/10 text-danger'\n }`}\n >\n {batch.status === 'resolved' ? '已处置' : '待处置'}\n </Badge>\n </div>\n\n <div className=\"mt-1 text-[11px] text-muted-foreground\">\n {batch.sku} · {batch.quantity}\n </div>\n\n <div className=\"mt-2 flex items-center gap-1 text-[11px]\">\n <span className=\"text-muted-foreground\">抽检 {batch.sampled}</span>\n <span className=\"text-muted-foreground\">·</span>\n <span\n className={\n hasKeyBad ? 'font-bold text-danger' : 'font-semibold text-amber-600'\n }\n >\n 不合格 {batch.bad} 片\n </span>\n {hasKeyBad && (\n <span className=\"text-[10px] text-danger font-medium\">\n (关键 {batch.keyBad})\n </span>\n )}\n </div>\n </button>\n );\n })}\n </div>\n </CardContent>\n </Card>\n\n {/* 4. 当前选中批次的异常明细与系统智能建议 */}\n <Card className=\"border-border bg-card shadow-xs\">\n <CardHeader className=\"py-3 px-4 border-b border-border flex flex-row items-center justify-between\">\n <div>\n <div className=\"text-xs font-bold text-foreground flex items-center gap-2\">\n <span>\n {currentBatch.id} · {currentBatch.sku}\n </span>\n <span className=\"text-[11px] font-normal text-muted-foreground\">\n {currentBatch.quantity} · 抽检 {currentBatch.sampled} 片 · 不合格 {currentBatch.bad}{' '}\n 片 ({((currentBatch.bad / currentBatch.sampled) * 100).toFixed(1)}%)\n {currentBatch.keyBad > 0 && ` · 关键项 ${currentBatch.keyBad} 片`}\n </span>\n </div>\n </div>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs gap-1 h-7 border-border hover:bg-muted\"\n onClick={() => onNavigateToExecutionTask?.(currentBatch.taskId)}\n >\n <FileText className=\"size-3\" />\n 查看检测记录\n </Button>\n </CardHeader>\n <CardContent className=\"p-4 space-y-3\">\n {/* 异常指标与证据表格 */}\n <div className=\"overflow-x-auto rounded-lg border border-border\">\n <table className=\"w-full text-left text-sm\">\n <thead className=\"border-b border-border bg-muted/40 text-muted-foreground\">\n <tr className=\"h-11\">\n <th className=\"px-4 py-3 font-semibold text-left\">异常指标</th>\n <th className=\"px-4 py-3 font-semibold text-left\">不合格数量</th>\n <th className=\"px-4 py-3 font-semibold text-left\">严重等级</th>\n <th className=\"px-4 py-3 font-semibold text-left\">检测证据</th>\n </tr>\n </thead>\n <tbody className=\"divide-y divide-border\">\n {currentBatch.details.map((detail, idx) => (\n <tr key={`${detail.name}-${idx}`} className=\"hover:bg-muted/30\">\n <td className=\"px-4 py-3 font-semibold text-foreground\">{detail.name}</td>\n <td className=\"px-4 py-3 text-muted-foreground\">{detail.count} 片</td>\n <td className=\"px-4 py-3\">\n <span\n className={`inline-flex items-center rounded px-2 py-0.5 text-xs font-semibold border ${\n detail.level === '关键'\n ? 'border-destructive/30 bg-destructive/10 text-destructive'\n : 'border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-400'\n }`}\n >\n {detail.level}\n </span>\n </td>\n <td className=\"px-4 py-3 text-muted-foreground\">{detail.evidence}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n {/* 系统智能建议卡片 */}\n <div className=\"flex items-start gap-3 rounded-xl border border-brand/25 bg-brand-soft/30 p-3 shadow-2xs\">\n <span className=\"flex size-7 shrink-0 items-center justify-center rounded-lg bg-brand text-primary-foreground font-bold text-xs shadow-xs\">\n AI\n </span>\n <div className=\"min-w-0 flex-1 text-xs\">\n <div className=\"flex items-center gap-2\">\n <span className=\"font-bold text-foreground\">\n 系统推荐处置方案:【{suggestedVerdictConfig.label}】\n </span>\n <Badge\n variant=\"outline\"\n className=\"border-brand/25 bg-brand-soft/60 text-brand text-[10px]\"\n >\n 根据历史相似 8D 案例文档匹配\n </Badge>\n </div>\n <div className=\"mt-1 text-muted-foreground leading-relaxed\">\n {currentBatch.suggestReason}\n </div>\n </div>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"text-xs h-7 shrink-0 border-brand/30 text-brand hover:bg-brand-soft/60\"\n onClick={() => handleSelectVerdict(currentBatch.suggestedVerdict)}\n >\n 采纳此建议\n </Button>\n </div>\n </CardContent>\n </Card>\n\n {/* 5. 处置方法与双方共同确认 */}\n <Card className=\"border-border bg-card shadow-xs\">\n <CardHeader className=\"py-3 px-4 border-b border-border\">\n <CardTitle className=\"text-xs font-semibold flex items-center justify-between text-muted-foreground\">\n <span>处置方法与共同确认(方法变更后需要重新签字)</span>\n <span className=\"text-[11px] text-brand\">质量与生产双签合规闭环</span>\n </CardTitle>\n </CardHeader>\n <CardContent className=\"p-4 space-y-4\">\n {/* 五种处置方式快捷按钮 */}\n <div>\n <div className=\"mb-2 text-xs font-medium text-muted-foreground\">选择处置方案:</div>\n <div className=\"grid grid-cols-2 gap-2 sm:grid-cols-5\">\n {(['hold', 'rework', 'concess', 'down', 'scrap'] as VerdictKind[]).map((key) => {\n const opt = VERDICT_OPTIONS[key];\n const isSelected = currentVerdict === key;\n return (\n <button\n key={key}\n type=\"button\"\n onClick={() => handleSelectVerdict(key)}\n className={`flex items-center justify-center gap-1.5 rounded-lg border py-2 px-3 text-xs font-semibold transition-all cursor-pointer ${\n isSelected\n ? opt.activeClass\n : 'border-border bg-muted/40 text-muted-foreground hover:bg-muted hover:text-foreground'\n }`}\n >\n <span>{opt.icon}</span>\n <span>{opt.label}</span>\n </button>\n );\n })}\n </div>\n </div>\n\n {/* 处置说明输入框 (采用标准 FieldGroup / Field / FieldLabel / FieldDescription 组件) */}\n <FieldGroup>\n <Field className=\"space-y-1.5\">\n <div className=\"flex items-center justify-between\">\n <FieldLabel\n htmlFor=\"disposal-note\"\n className=\"text-xs font-semibold text-foreground\"\n >\n 处置说明与复检要求\n </FieldLabel>\n <FieldDescription className=\"text-[11px] text-muted-foreground font-normal\">\n 请详述处置范围、现场执行方法和后续复检要求\n </FieldDescription>\n </div>\n <Textarea\n id=\"disposal-note\"\n rows={3}\n value={currentNote}\n onChange={(e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const val = e.target.value;\n setDisposalNotes((prev) => ({ ...prev, [currentBatch.id]: val }));\n }}\n className=\"w-full text-xs placeholder:text-muted-foreground focus-visible:ring-brand leading-relaxed bg-muted/20\"\n placeholder=\"说明处置范围、执行方法和后续复检要求...\"\n />\n </Field>\n </FieldGroup>\n\n {/* 双主管会签确认标题 */}\n <div className=\"text-xs font-semibold text-foreground pt-1\">\n 双主管会签确认(点击签名卡片即可完成电子签名):\n </div>\n\n {/* 双方签名卡片 */}\n <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n {/* 质量主管确认卡片 */}\n <div\n className={`flex items-center justify-between rounded-xl border p-3.5 transition-all ${\n isQaSigned\n ? 'border-success/40 bg-success/5 shadow-2xs'\n : 'border-border/80 bg-card hover:border-brand/40 shadow-2xs'\n }`}\n >\n <div className=\"flex items-center gap-3\">\n <div\n className={`flex size-8 shrink-0 items-center justify-center rounded-lg text-xs font-bold shadow-2xs ${\n isQaSigned\n ? 'bg-success text-white'\n : 'bg-brand-soft text-brand border border-brand/20'\n }`}\n >\n {isQaSigned ? '✓' : '质'}\n </div>\n <div>\n <div className=\"text-xs font-bold text-foreground\">\n 质量主管核准\n <span className=\"text-[11px] text-muted-foreground font-normal ml-1\">\n (确认质量标准与让步风险)\n </span>\n </div>\n <div className=\"text-[11px] text-muted-foreground mt-0.5\">\n {isQaSigned\n ? `${currentSign.qa} · 已完成电子签名`\n : '待签:核准缺陷等级与隔离复检方案'}\n </div>\n </div>\n </div>\n\n {isQaSigned ? (\n <Badge\n variant=\"outline\"\n className=\"border-success/40 bg-success/20 text-success text-xs font-semibold\"\n >\n 已确认\n </Badge>\n ) : (\n <Button\n size=\"sm\"\n className=\"bg-brand text-primary-foreground hover:bg-brand/90 text-sm h-9 px-3 gap-1.5 shadow-xs cursor-pointer\"\n onClick={() => handleSign('qa')}\n >\n ✍ 点击签署\n </Button>\n )}\n </div>\n\n {/* 生产主管确认卡片 */}\n <div\n className={`flex items-center justify-between rounded-xl border p-3.5 transition-all ${\n isProdSigned\n ? 'border-success/40 bg-success/5 shadow-2xs'\n : 'border-border/80 bg-card hover:border-brand/40 shadow-2xs'\n }`}\n >\n <div className=\"flex items-center gap-3\">\n <div\n className={`flex size-8 shrink-0 items-center justify-center rounded-lg text-xs font-bold shadow-2xs ${\n isProdSigned\n ? 'bg-success text-white'\n : 'bg-brand-soft text-brand border border-brand/20'\n }`}\n >\n {isProdSigned ? '✓' : '产'}\n </div>\n <div>\n <div className=\"text-xs font-bold text-foreground\">\n 生产主管核准\n <span className=\"text-[11px] text-muted-foreground font-normal ml-1\">\n (确认隔离实物与返工排程)\n </span>\n </div>\n <div className=\"text-[11px] text-muted-foreground mt-0.5\">\n {isProdSigned\n ? `${currentSign.prod} · 已完成电子签名`\n : '待签:确认隔离实物数量与现场整改责任人'}\n </div>\n </div>\n </div>\n\n {isProdSigned ? (\n <Badge\n variant=\"outline\"\n className=\"border-success/40 bg-success/20 text-success text-xs font-semibold\"\n >\n 已确认\n </Badge>\n ) : (\n <Button\n size=\"sm\"\n className=\"bg-brand text-primary-foreground hover:bg-brand/90 text-sm h-9 px-3 gap-1.5 shadow-xs cursor-pointer\"\n onClick={() => handleSign('prod')}\n >\n ✍ 点击签署\n </Button>\n )}\n </div>\n </div>\n\n {/* 底部确认与关闭操作栏 */}\n <div className=\"flex flex-wrap items-center justify-between gap-3 border-t border-border pt-4\">\n <div className=\"text-xs\">\n <span className=\"text-muted-foreground\">当前选择:</span>\n <span className=\"font-bold text-foreground mr-2\">\n {selectedVerdictConfig.icon} {selectedVerdictConfig.label}\n </span>\n <span className=\"text-[11px] text-muted-foreground\">\n {isBothSigned\n ? '双方已确认签字,可以关闭异常并生成处置记录。'\n : '还需完成处置说明和双方签字。'}\n </span>\n </div>\n\n <Button\n className=\"bg-brand text-primary-foreground hover:bg-brand/90 gap-1.5 shadow-sm\"\n disabled={!isReadyToClose}\n onClick={handleSubmitVerdict}\n >\n <FileCheck className=\"size-4\" />\n 确认处置并关闭异常\n </Button>\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n","path":"references/metaform/components/business/industry/inspection/src/batch-disposal-workbench.tsx","target":"~/references/metaform/components/business/industry/inspection/src/batch-disposal-workbench.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4d30620dddcc9c0a0e74253ac9884748","contractRef":"components/business/industry/inspection/src/batch-disposal-workbench.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4d30620dddcc9c0a0e74253ac9884748","registryDependencies":[],"title":"resource.file.4d30620dddcc9c0a0e74253ac9884748","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4d5ed560d6cfef0bcb835646a9094e2d","files":[{"content":"\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\nimport { ScrollArea as ScrollAreaPrimitive } from \"radix-ui\"\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n","path":"src/components/vendor/shadcn/new-york-v4/ui/scroll-area.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/scroll-area.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4d5ed560d6cfef0bcb835646a9094e2d","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/scroll-area.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4d5ed560d6cfef0bcb835646a9094e2d","registryDependencies":[],"title":"resource.file.4d5ed560d6cfef0bcb835646a9094e2d","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4d9f59895f2ee7060f1748ff21349c1e","files":[{"content":"import type { FramePacket, StreamClientOptions, StreamConnectionState } from './types';\n\nexport class WebSocketFrameClient {\n private ws: WebSocket | null = null;\n private state: StreamConnectionState = 'idle';\n private reconnectAttempts = 0;\n private reconnectTimer: ReturnType<typeof setTimeout> | null = null;\n private pendingBlob: Blob | null = null;\n private pendingFrame: { blob: Blob; meta: Record<string, any> } | null = null;\n private isProcessing = false;\n private lastBitmap: ImageBitmap | null = null;\n private disposed = false;\n\n constructor(private readonly options: StreamClientOptions) {}\n\n public connect(): void {\n if (this.disposed || this.ws) return;\n\n this.setState('connecting');\n try {\n this.ws = new WebSocket(this.options.url);\n this.ws.binaryType = this.options.binaryType || 'blob';\n\n this.ws.onopen = () => {\n this.reconnectAttempts = 0;\n this.setState('connected');\n };\n\n this.ws.onclose = () => {\n this.ws = null;\n this.setState('disconnected');\n this.scheduleReconnect();\n };\n\n this.ws.onerror = (_ev) => {\n const err = new Error(`WebSocket error on ${this.options.url}`);\n this.options.onError?.(err);\n this.setState('error');\n };\n\n this.ws.onmessage = (ev: MessageEvent) => {\n this.handleMessage(ev);\n };\n } catch (err) {\n this.setState('error');\n this.options.onError?.(err instanceof Error ? err : new Error(String(err)));\n this.scheduleReconnect();\n }\n }\n\n private handleMessage(ev: MessageEvent): void {\n if (ev.data instanceof Blob) {\n // QCVision sends each frame as Blob followed by its JSON metadata.\n this.pendingBlob = ev.data;\n return;\n }\n\n if (typeof ev.data === 'string') {\n try {\n const meta = JSON.parse(ev.data);\n if (meta.ping) return;\n // 如果有暂存的 Blob,与该 meta 组合\n if (this.pendingBlob) {\n const blob = this.pendingBlob;\n this.pendingBlob = null;\n if (this.options.grabLatest && this.isProcessing) {\n this.pendingFrame = { blob, meta };\n } else {\n void this.processBlob(blob, meta);\n }\n }\n } catch {\n // ignore malformed metadata\n }\n }\n }\n\n private async processBlob(blob: Blob, meta: Record<string, any> = {}): Promise<void> {\n this.isProcessing = true;\n try {\n if (typeof createImageBitmap === 'function') {\n const bmp = await createImageBitmap(blob);\n if (this.disposed) {\n bmp.close();\n return;\n }\n\n // 释放上一帧位图显存,防止高频内存泄漏\n if (this.lastBitmap) {\n this.lastBitmap.close();\n }\n this.lastBitmap = bmp;\n\n const packet: FramePacket = {\n image: bmp,\n rawBlob: blob,\n meta,\n timestamp: Date.now(),\n };\n this.options.onFrame?.(packet);\n } else {\n const packet: FramePacket = {\n image: null,\n rawBlob: blob,\n meta,\n timestamp: Date.now(),\n };\n this.options.onFrame?.(packet);\n }\n } catch (_err) {\n // frame decode error, drop frame\n } finally {\n this.isProcessing = false;\n // If decoding fell behind, consume the latest complete Blob + metadata pair.\n if (this.pendingFrame && !this.disposed) {\n const nextFrame = this.pendingFrame;\n this.pendingFrame = null;\n void this.processBlob(nextFrame.blob, nextFrame.meta);\n }\n }\n }\n\n private setState(state: StreamConnectionState): void {\n if (this.state === state) return;\n this.state = state;\n this.options.onStateChange?.(state);\n }\n\n private scheduleReconnect(): void {\n if (this.disposed) return;\n if (this.options.autoReconnect === false) return;\n\n const maxAttempts = this.options.maxReconnectAttempts ?? 10;\n if (this.reconnectAttempts >= maxAttempts) return;\n\n this.reconnectAttempts++;\n const interval =\n (this.options.reconnectIntervalMs ?? 1500) * Math.min(this.reconnectAttempts, 4);\n\n if (this.reconnectTimer) clearTimeout(this.reconnectTimer);\n this.reconnectTimer = setTimeout(() => {\n this.connect();\n }, interval);\n }\n\n public disconnect(): void {\n this.disposed = true;\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n if (this.ws) {\n this.ws.onclose = null;\n this.ws.onerror = null;\n this.ws.onmessage = null;\n this.ws.close();\n this.ws = null;\n }\n if (this.lastBitmap) {\n this.lastBitmap.close();\n this.lastBitmap = null;\n }\n this.pendingBlob = null;\n this.pendingFrame = null;\n this.setState('disconnected');\n }\n\n public getState(): StreamConnectionState {\n return this.state;\n }\n}\n","path":"references/metaform/components/business/industry/vision/src/runtime/websocket-frame-client.ts","target":"~/references/metaform/components/business/industry/vision/src/runtime/websocket-frame-client.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.4d9f59895f2ee7060f1748ff21349c1e","contractRef":"components/business/industry/vision/src/runtime/websocket-frame-client.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4d9f59895f2ee7060f1748ff21349c1e","registryDependencies":[],"title":"resource.file.4d9f59895f2ee7060f1748ff21349c1e","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4da7d38ab74d0654a768f85d230f4814","files":[{"content":"import * as React from \"react\"\nimport { mergeProps } from \"@base-ui/react/merge-props\"\nimport { useRender } from \"@base-ui/react/use-render\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nfunction BubbleGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"bubble-group\"\n className={cn(\"cn-bubble-group flex min-w-0 flex-col\", className)}\n {...props}\n />\n )\n}\n\nconst bubbleVariants = cva(\n \"cn-bubble group/bubble relative flex w-fit min-w-0 flex-col\",\n {\n variants: {\n variant: {\n default: \"cn-bubble-variant-default\",\n secondary: \"cn-bubble-variant-secondary\",\n muted: \"cn-bubble-variant-muted\",\n tinted: \"cn-bubble-variant-tinted\",\n outline: \"cn-bubble-variant-outline\",\n ghost: \"cn-bubble-variant-ghost\",\n destructive: \"cn-bubble-variant-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Bubble({\n variant = \"default\",\n align = \"start\",\n className,\n ...props\n}: React.ComponentProps<\"div\"> &\n VariantProps<typeof bubbleVariants> & {\n align?: \"start\" | \"end\"\n }) {\n return (\n <div\n data-slot=\"bubble\"\n data-variant={variant}\n data-align={align}\n className={cn(bubbleVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction BubbleContent({\n className,\n render,\n ...props\n}: useRender.ComponentProps<\"div\">) {\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n \"cn-bubble-content w-fit max-w-full min-w-0 overflow-hidden wrap-break-word [button]:text-left [button,a]:transition-colors\",\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"bubble-content\",\n },\n })\n}\n\nconst bubbleReactionsVariants = cva(\n \"cn-bubble-reactions absolute z-10 flex w-fit items-center justify-center\",\n {\n variants: {\n side: {\n top: \"cn-bubble-reactions-side-top\",\n bottom: \"cn-bubble-reactions-side-bottom\",\n },\n align: {\n start: \"cn-bubble-reactions-align-start\",\n end: \"cn-bubble-reactions-align-end\",\n },\n },\n defaultVariants: {\n side: \"bottom\",\n align: \"end\",\n },\n }\n)\n\nfunction BubbleReactions({\n side = \"bottom\",\n align = \"end\",\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n align?: \"start\" | \"end\"\n side?: \"top\" | \"bottom\"\n}) {\n return (\n <div\n data-slot=\"bubble-reactions\"\n data-align={align}\n data-side={side}\n className={cn(bubbleReactionsVariants({ side, align }), className)}\n {...props}\n />\n )\n}\n\nexport { BubbleGroup, Bubble, BubbleContent, BubbleReactions }\n","path":"src/components/vendor/shadcn/base/ui/bubble.tsx","target":"~/src/components/vendor/shadcn/base/ui/bubble.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4da7d38ab74d0654a768f85d230f4814","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/base/ui/bubble.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4da7d38ab74d0654a768f85d230f4814","registryDependencies":[],"title":"resource.file.4da7d38ab74d0654a768f85d230f4814","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4df4c418bdafef34073d7e3a75f5b89a","files":[{"content":"import type { ReactNode } from 'react';\n\nexport type CtqLevel = 'critical' | 'major' | 'normal';\n\nexport interface CtqItem {\n id: string;\n category: string;\n name: string;\n specification: string;\n lowerLimit?: string;\n upperLimit?: string;\n unit?: string;\n method: string;\n frequency: string;\n level: CtqLevel;\n relatedDefectIds: string[];\n defects?: Array<{ id: string; name: string; severity: CtqLevel }>;\n provenance?: { standardId: string; standardVersion: string; relation: string };\n}\n\nexport interface DefectClass {\n id: string;\n name: string;\n category: string;\n severity: CtqLevel;\n description: string;\n relatedCtqIds: string[];\n provenance?: { ontologyId: string; ontologyVersion: string; relation?: string };\n}\n\nexport interface StandardRecommendation {\n id: string;\n title: string;\n rationale: string;\n status: 'pending' | 'accepted' | 'revision-requested';\n}\n\nexport interface StandardImage {\n id: string;\n label: string;\n uri: string;\n}\n\nexport interface CustomerRequirement {\n id: string;\n customerCode: string;\n requirement: string;\n note?: string;\n}\n\nexport interface QualityStandardSnapshot {\n standardId: string;\n skuId: string;\n skuName: string;\n skuCode: string;\n standardVersion: string;\n ctqs: CtqItem[];\n defects: DefectClass[];\n recommendations: StandardRecommendation[];\n images?: StandardImage[];\n customerRequirements?: CustomerRequirement[];\n productName?: string;\n standardStatus?: string;\n provenance?: {\n ontologyId: string;\n ontologyVersion: string;\n standardId: string;\n standardVersion: string;\n };\n source?: { ontologyId: string; ontologyVersion: string };\n fieldSources?: Record<string, { object: string; path: string; versionField?: string }>;\n}\n\nexport interface QualityStandardWorkspaceSlots {\n headerExtra?: ReactNode | ((snapshot: QualityStandardSnapshot) => ReactNode);\n skuMetadataExtra?: ReactNode;\n summaryExtra?: ReactNode;\n ctqExtraColumns?: (item: CtqItem) => ReactNode;\n defectMedia?: (defect: DefectClass) => ReactNode;\n detailExtraTab?: ReactNode;\n recommendationActions?: (recommendation: StandardRecommendation) => ReactNode;\n footerExtra?: ReactNode;\n}\n\nexport interface QualityStandardCtqWorkspaceProps {\n snapshots: QualityStandardSnapshot[];\n selectedSkuId: string;\n state?: 'loading' | 'ready' | 'empty' | 'forbidden' | 'error';\n errorMessage?: string;\n busyRecommendationId?: string;\n busySkuId?: string;\n slots?: QualityStandardWorkspaceSlots;\n onSelectSku: (skuId: string) => void;\n onAcceptRecommendation: (recommendationId: string) => void;\n onRequestRevision: (recommendationId: string) => void;\n onRetry?: () => void;\n}\n","path":"references/metaform/components/business/quality/src/quality-standard-ctq-types.ts","target":"~/references/metaform/components/business/quality/src/quality-standard-ctq-types.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.4df4c418bdafef34073d7e3a75f5b89a","contractRef":"components/business/quality/src/quality-standard-ctq-types.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4df4c418bdafef34073d7e3a75f5b89a","registryDependencies":[],"title":"resource.file.4df4c418bdafef34073d7e3a75f5b89a","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4e7437aef0ca11fa8d8052aa29a0124a","files":[{"content":"import * as React from 'react';\n\nimport { Switch as SwitchPrimitive } from 'radix-ui';\n\nimport { cn } from '@metaform/design-system/lib/utils';\n\nfunction Switch({\n className,\n size = 'default',\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n 'peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-action data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80',\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-action-foreground dark:data-[state=unchecked]:bg-foreground',\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","path":"references/metaform/vendor/design-system/src/components/ui/switch.tsx","target":"~/references/metaform/vendor/design-system/src/components/ui/switch.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4e7437aef0ca11fa8d8052aa29a0124a","contractRef":"vendor/design-system/src/components/ui/switch.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4e7437aef0ca11fa8d8052aa29a0124a","registryDependencies":[],"title":"resource.file.4e7437aef0ca11fa8d8052aa29a0124a","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4eb6cad60f9b3c55325eb1521e58da40","files":[{"content":"import type { PipelineGroup, VisionInspectResult } from './types';\n\nfunction normalized(value: string | number | undefined): string | undefined {\n if (value === undefined) return undefined;\n return typeof value === 'number' ? String(Number(value.toFixed(4))) : value;\n}\n\nexport function resolveStationMeasurements(\n group: PipelineGroup,\n result: VisionInspectResult | null,\n): Record<string, string> {\n const values: Record<string, string> = {};\n const object = result?.objects?.[0];\n\n for (const item of group.items) {\n let value = normalized(result?.measurements?.[item.name]);\n if (value === undefined && /总长|长度/.test(item.name)) {\n value = normalized(object?.size_mm?.length);\n }\n if (value === undefined && /总宽|宽度/.test(item.name)) {\n value = normalized(object?.size_mm?.width);\n }\n values[item.name] = value ?? item.val;\n }\n\n return values;\n}\n","path":"references/metaform/components/business/industry/vision/src/station-measurements.ts","target":"~/references/metaform/components/business/industry/vision/src/station-measurements.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.4eb6cad60f9b3c55325eb1521e58da40","contractRef":"components/business/industry/vision/src/station-measurements.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4eb6cad60f9b3c55325eb1521e58da40","registryDependencies":[],"title":"resource.file.4eb6cad60f9b3c55325eb1521e58da40","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4ec2156d751e3f1c7bd91a7953f44048","files":[{"content":"\"use client\"\n\nimport { TrendingUp } from \"lucide-react\"\nimport { Area, AreaChart, CartesianGrid, XAxis } 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 linear area chart\"\n\nconst chartData = [\n { month: \"January\", desktop: 186 },\n { month: \"February\", desktop: 305 },\n { month: \"March\", desktop: 237 },\n { month: \"April\", desktop: 73 },\n { month: \"May\", desktop: 209 },\n { month: \"June\", desktop: 214 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"var(--chart-1)\",\n },\n} satisfies ChartConfig\n\nexport function ChartAreaLinear() {\n return (\n <Card>\n <CardHeader>\n <CardTitle>Area Chart - Linear</CardTitle>\n <CardDescription>\n Showing total visitors for the last 6 months\n </CardDescription>\n </CardHeader>\n <CardContent>\n <ChartContainer config={chartConfig}>\n <AreaChart\n accessibilityLayer\n data={chartData}\n margin={{\n left: 12,\n right: 12,\n }}\n >\n <CartesianGrid vertical={false} />\n <XAxis\n dataKey=\"month\"\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n tickFormatter={(value) => value.slice(0, 3)}\n />\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent indicator=\"dot\" hideLabel />}\n />\n <Area\n dataKey=\"desktop\"\n type=\"linear\"\n fill=\"var(--color-desktop)\"\n fillOpacity={0.4}\n stroke=\"var(--color-desktop)\"\n />\n </AreaChart>\n </ChartContainer>\n </CardContent>\n <CardFooter>\n <div className=\"flex w-full items-start gap-2 text-sm\">\n <div className=\"grid gap-2\">\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=\"flex items-center gap-2 leading-none text-muted-foreground\">\n January - June 2024\n </div>\n </div>\n </div>\n </CardFooter>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-area-linear.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-area-linear.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4ec2156d751e3f1c7bd91a7953f44048","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-area-linear.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4ec2156d751e3f1c7bd91a7953f44048","registryDependencies":[],"title":"resource.file.4ec2156d751e3f1c7bd91a7953f44048","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4ec312a285d651f121d381914420204e","files":[{"content":"import { Button } from '@metaform/design-system/components/ui/button';\n\nexport function RelationFocus({ label, onClear }: { label: string; onClear: () => void }) {\n return (\n <div\n className=\"flex min-h-12 items-center gap-2 border-t border-border bg-brand-soft px-4 py-1 text-xs\"\n data-asset=\"quality.relation-focus\"\n >\n <span className=\"flex-1\">{label}</span>\n <Button variant=\"ghost-neutral\" onClick={onClear}>\n 清除筛选\n </Button>\n </div>\n );\n}\n","path":"references/metaform/components/business/quality/src/relation-focus.tsx","target":"~/references/metaform/components/business/quality/src/relation-focus.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4ec312a285d651f121d381914420204e","contractRef":"components/business/quality/src/relation-focus.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4ec312a285d651f121d381914420204e","registryDependencies":[],"title":"resource.file.4ec312a285d651f121d381914420204e","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4edbc145facf97071a9ac7f8486a96aa","files":[{"content":"\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\nimport { Drawer as DrawerPrimitive } from \"vaul\"\n\nfunction Drawer({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot=\"drawer\" {...props} />\n}\n\nfunction DrawerTrigger({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />\n}\n\nfunction DrawerPortal({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />\n}\n\nfunction DrawerClose({\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />\n}\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DrawerContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot=\"drawer-portal\">\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n \"group/drawer-content fixed z-50 flex h-auto flex-col bg-background\",\n \"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b\",\n \"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t\",\n \"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm\",\n \"data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]/drawer-content:block\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n )\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn(\n \"flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction DrawerTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn(\"font-semibold text-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction DrawerDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","path":"src/components/vendor/shadcn/new-york-v4/ui/drawer.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/drawer.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4edbc145facf97071a9ac7f8486a96aa","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/drawer.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4edbc145facf97071a9ac7f8486a96aa","registryDependencies":[],"title":"resource.file.4edbc145facf97071a9ac7f8486a96aa","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4eff2daa0be06d8b37afe8c1f2a6cd3f","files":[{"content":"// Tremor Divider [v1.0.0]\n\nimport React from \"react\"\n\nimport { cx } from \"../../utils/cx\"\n\ntype DividerProps = React.ComponentPropsWithoutRef<\"div\">\n\nconst Divider = React.forwardRef<HTMLDivElement, DividerProps>(\n ({ className, children, ...props }, forwardedRef) => (\n <div\n ref={forwardedRef}\n className={cx(\n // base\n \"mx-auto my-6 flex w-full items-center justify-between gap-3 text-sm\",\n // text color\n \"text-gray-500 dark:text-gray-500\",\n className,\n )}\n tremor-id=\"tremor-raw\"\n {...props}\n >\n {children ? (\n <>\n <div\n className={cx(\n // base\n \"h-[1px] w-full\",\n // background color\n \"bg-gray-200 dark:bg-gray-800\",\n )}\n />\n <div className=\"whitespace-nowrap text-inherit\">{children}</div>\n <div\n className={cx(\n // base\n \"h-[1px] w-full\",\n // background color\n \"bg-gray-200 dark:bg-gray-800\",\n )}\n />\n </>\n ) : (\n <div\n className={cx(\n // base\n \"h-[1px] w-full\",\n // background color\n \"bg-gray-200 dark:bg-gray-800\",\n )}\n />\n )}\n </div>\n ),\n)\n\nDivider.displayName = \"Divider\"\n\nexport { Divider }\n","path":"src/components/vendor/tremor/components/Divider/Divider.tsx","target":"~/src/components/vendor/tremor/components/Divider/Divider.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4eff2daa0be06d8b37afe8c1f2a6cd3f","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/components/Divider/Divider.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4eff2daa0be06d8b37afe8c1f2a6cd3f","registryDependencies":[],"title":"resource.file.4eff2daa0be06d8b37afe8c1f2a6cd3f","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.4fef9e0091d1e4682871bd560658da2b","files":[{"content":"\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\nimport { Progress as ProgressPrimitive } from \"radix-ui\"\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn(\n \"relative h-2 w-full overflow-hidden rounded-full bg-primary/20\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress }\n","path":"src/components/vendor/shadcn/new-york-v4/ui/progress.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/progress.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.4fef9e0091d1e4682871bd560658da2b","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/progress.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-4fef9e0091d1e4682871bd560658da2b","registryDependencies":[],"title":"resource.file.4fef9e0091d1e4682871bd560658da2b","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.50074d0acffa5bdceee4593f5d860f79","files":[{"content":"\"use client\"\n\nimport { ArrowDownFromLine, ArrowUpFromLine, TrendingUp } from \"lucide-react\"\nimport { PolarAngleAxis, PolarGrid, Radar, RadarChart } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A radar chart with icons\"\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-1)\",\n icon: ArrowDownFromLine,\n },\n mobile: {\n label: \"Mobile\",\n color: \"var(--chart-2)\",\n icon: ArrowUpFromLine,\n },\n} satisfies ChartConfig\n\nexport function ChartRadarIcons() {\n return (\n <Card>\n <CardHeader className=\"items-center pb-4\">\n <CardTitle>Radar Chart - Icons</CardTitle>\n <CardDescription>\n Showing total visitors for the last 6 months\n </CardDescription>\n </CardHeader>\n <CardContent>\n <ChartContainer\n config={chartConfig}\n className=\"mx-auto aspect-square max-h-[250px]\"\n >\n <RadarChart\n data={chartData}\n margin={{\n top: -40,\n bottom: -10,\n left: 0,\n right: 0,\n }}\n >\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent indicator=\"line\" />}\n />\n <PolarAngleAxis dataKey=\"month\" />\n <PolarGrid />\n <Radar\n dataKey=\"desktop\"\n fill=\"var(--color-desktop)\"\n fillOpacity={0.6}\n />\n <Radar dataKey=\"mobile\" fill=\"var(--color-mobile)\" />\n <ChartLegend className=\"mt-8\" content={<ChartLegendContent />} />\n </RadarChart>\n </ChartContainer>\n </CardContent>\n <CardFooter className=\"flex-col gap-2 pt-4 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=\"flex items-center gap-2 leading-none text-muted-foreground\">\n January - June 2024\n </div>\n </CardFooter>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-radar-icons.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-radar-icons.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.50074d0acffa5bdceee4593f5d860f79","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-radar-icons.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-50074d0acffa5bdceee4593f5d860f79","registryDependencies":[],"title":"resource.file.50074d0acffa5bdceee4593f5d860f79","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.5057227edac90744c335f606136cab68","files":[{"content":"import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nconst alertVariants = cva(\"cn-alert group/alert relative w-full\", {\n variants: {\n variant: {\n default: \"cn-alert-variant-default\",\n destructive: \"cn-alert-variant-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n})\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"cn-alert-title [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"cn-alert-description [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-action\"\n className={cn(\"cn-alert-action\", className)}\n {...props}\n />\n )\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction }\n","path":"src/components/vendor/shadcn/radix/ui/alert.tsx","target":"~/src/components/vendor/shadcn/radix/ui/alert.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.5057227edac90744c335f606136cab68","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/radix/ui/alert.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-5057227edac90744c335f606136cab68","registryDependencies":[],"title":"resource.file.5057227edac90744c335f606136cab68","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.50afd8db220d2c04b67a849e768be5dd","files":[{"content":"// Tremor TabNavigation [v1.0.0]\n\nimport React from \"react\"\nimport * as NavigationMenuPrimitives from \"@radix-ui/react-navigation-menu\"\n\nimport { cx } from \"../../utils/cx\"\nimport { focusRing } from \"../../utils/focusRing\"\n\nfunction getSubtree(\n options: { asChild: boolean | undefined; children: React.ReactNode },\n content: React.ReactNode | ((children: React.ReactNode) => React.ReactNode),\n) {\n const { asChild, children } = options\n if (!asChild)\n return typeof content === \"function\" ? content(children) : content\n\n const firstChild = React.Children.only(children) as React.ReactElement<{ children?: React.ReactNode }>\n return React.cloneElement(firstChild, {\n children:\n typeof content === \"function\"\n ? content(firstChild.props.children)\n : content,\n })\n}\n\nconst TabNavigation = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitives.Root>,\n Omit<\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitives.Root>,\n \"orientation\" | \"defaultValue\" | \"dir\"\n >\n>(({ className, children, ...props }, forwardedRef) => (\n <NavigationMenuPrimitives.Root\n ref={forwardedRef}\n {...props}\n tremor-id=\"tremor-raw\"\n asChild={false}\n >\n <NavigationMenuPrimitives.List\n className={cx(\n // base\n \"flex items-center justify-start whitespace-nowrap border-b [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\",\n // border color\n \"border-gray-200 dark:border-gray-800\",\n className,\n )}\n >\n {children}\n </NavigationMenuPrimitives.List>\n </NavigationMenuPrimitives.Root>\n))\n\nTabNavigation.displayName = \"TabNavigation\"\n\nconst TabNavigationLink = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitives.Link>,\n Omit<\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitives.Link>,\n \"onSelect\"\n > & { disabled?: boolean }\n>(({ asChild, disabled, className, children, ...props }, forwardedRef) => (\n <NavigationMenuPrimitives.Item className=\"flex\" aria-disabled={disabled}>\n <NavigationMenuPrimitives.Link\n aria-disabled={disabled}\n className={cx(\n \"group relative flex shrink-0 select-none items-center justify-center\",\n disabled ? \"pointer-events-none\" : \"\",\n )}\n ref={forwardedRef}\n onSelect={() => {}}\n asChild={asChild}\n {...props}\n >\n {getSubtree({ asChild, children }, (children) => (\n <span\n className={cx(\n // base\n \"-mb-px flex items-center justify-center whitespace-nowrap border-b-2 border-transparent px-3 pb-2 text-sm font-medium transition-all\",\n // text color\n \"text-gray-500 dark:text-gray-500\",\n // hover\n \"group-hover:text-gray-700 dark:group-hover:text-gray-400\",\n // border hover\n \"group-hover:border-gray-300 dark:group-hover:border-gray-400\",\n // selected\n \"group-data-active:border-blue-500 group-data-active:text-blue-500\",\n \"dark:group-data-active:border-blue-500 dark:group-data-active:text-blue-500\",\n // disabled\n disabled\n ? \"pointer-events-none text-gray-300 dark:text-gray-700\"\n : \"\",\n focusRing,\n className,\n )}\n >\n {children}\n </span>\n ))}\n </NavigationMenuPrimitives.Link>\n </NavigationMenuPrimitives.Item>\n))\n\nTabNavigationLink.displayName = \"TabNavigationLink\"\n\nexport { TabNavigation, TabNavigationLink }\n","path":"src/components/vendor/tremor/components/TabNavigation/TabNavigation.tsx","target":"~/src/components/vendor/tremor/components/TabNavigation/TabNavigation.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.50afd8db220d2c04b67a849e768be5dd","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/components/TabNavigation/TabNavigation.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-50afd8db220d2c04b67a849e768be5dd","registryDependencies":[],"title":"resource.file.50afd8db220d2c04b67a849e768be5dd","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.513f193c591b981d671bbe047ffc68e6","files":[{"content":"import { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport {\n Camera,\n ChevronDown,\n Grid3X3,\n Mic,\n PanelRightClose,\n PanelRightOpen,\n ScanSearch,\n Settings2,\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 DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@metaform/design-system/components/ui/dropdown-menu';\nimport { cn } from '@metaform/design-system/lib/utils';\n\nimport { type QcVisionSettingsDialog, QcVisionSettingsDialogs } from './qcvision-settings-dialogs';\nimport './qcvision-station-entry.css';\nimport { resolveStationMeasurements } from './station-measurements';\nimport type {\n PipelineGroup,\n QcVisionStationStatus,\n QcVisionStationTerminalProps,\n StationBackfillReview,\n} from './types';\nimport { useQcVisionStation } from './use-qcvision-station';\nimport { VisionStreamViewport } from './vision-stream-viewport';\n\nconst STATUS_LABEL: Record<QcVisionStationStatus, string> = {\n idle: '未开始',\n capturing: '采集状态 · 实时监控',\n inspecting: '算法处理状态 · 画面已冻结',\n continuous: '连续采集与算法处理',\n done: '本轮采集已完成',\n};\n\nfunction verdictOf(group: PipelineGroup, values: Record<string, string>): 'OK' | 'NG' | 'WAIT' {\n if (group.items.some((item) => values[item.name] === undefined)) return 'WAIT';\n return group.items.some((item) => item.judge === 'bad') ? 'NG' : 'OK';\n}\n\nexport function QcVisionStationTerminal({\n isOpen,\n targetName = '当前检测样件',\n sku = '生产规格标准件',\n batch = '当前批次',\n pipelineGroups,\n hardwareLamps,\n connection,\n demoAdapter,\n production,\n onClose,\n onBackfill,\n}: QcVisionStationTerminalProps) {\n const groups = pipelineGroups;\n const emptyGroup: PipelineGroup = {\n step: 0,\n code: 'empty',\n name: '未配置检测流程',\n device: '未配置',\n method: '未配置',\n items: [],\n verdict: 'WAIT',\n confirmed: false,\n };\n interface StationLogItem {\n id: string;\n time: string;\n action: string;\n target?: string;\n tag?: 'OK' | 'NG' | 'NA';\n }\n\n const [currentStepIndex, setCurrentStepIndex] = useState(0);\n const [measuredValues, setMeasuredValues] = useState<Record<string, string>>({});\n const [reviews, setReviews] = useState<Record<string, StationBackfillReview>>({});\n const [confirmedSteps, setConfirmedSteps] = useState<Set<number>>(() => new Set());\n const [logs, setLogs] = useState<StationLogItem[]>([]);\n const [sideOpen, setSideOpen] = useState(true);\n const [settingsDialog, setSettingsDialog] = useState<QcVisionSettingsDialog>(null);\n const currentGroup = groups[currentStepIndex] ?? emptyGroup;\n const productionContext = useMemo(\n () => ({\n batch,\n line: production?.line,\n task: production?.task,\n oper: production?.operator,\n }),\n [batch, production?.line, production?.operator, production?.task],\n );\n const station = useQcVisionStation({\n enabled: isOpen,\n connection,\n group: currentGroup,\n demoAdapter,\n production: productionContext,\n });\n const { start, stop, capture, confirm, cancel, toggleAsr, session, result } = station;\n const currentResultValues = useMemo(\n () => resolveStationMeasurements(currentGroup, result),\n [currentGroup, result],\n );\n const appendLog = useCallback((action: string, target?: string, tag?: 'OK' | 'NG' | 'NA') => {\n const time = new Date().toLocaleTimeString('zh-CN', {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n });\n const newEntry: StationLogItem = {\n id: `${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,\n time,\n action,\n target,\n tag,\n };\n setLogs((current) => [newEntry, ...current].slice(0, 12));\n }, []);\n\n useEffect(() => {\n if (isOpen) return;\n setCurrentStepIndex(0);\n setMeasuredValues({});\n setReviews({});\n setConfirmedSteps(new Set());\n setLogs([]);\n setSideOpen(true);\n setSettingsDialog(null);\n }, [isOpen]);\n\n const handleStart = useCallback(async () => {\n await start();\n appendLog('开始采集', currentGroup.name);\n }, [appendLog, currentGroup.name, start]);\n\n // 打开工位弹窗后自动启动采集,进入 LIVE 取景监控态(消除冷冰冰的全置灰按钮与离线假死感)\n useEffect(() => {\n if (!isOpen) return;\n if (session.state === 'idle') {\n const timer = setTimeout(() => {\n void handleStart();\n }, 50);\n return () => clearTimeout(timer);\n }\n }, [handleStart, isOpen, session.state]);\n\n const handleCapture = useCallback(async () => {\n await capture();\n appendLog('拍摄并冻结', currentGroup.name);\n }, [appendLog, capture, currentGroup.name]);\n\n const handleConfirm = useCallback(async () => {\n if (!result) return;\n const values = resolveStationMeasurements(currentGroup, result);\n setMeasuredValues((current) => ({ ...current, ...values }));\n setConfirmedSteps((current) => {\n const next = new Set(current);\n next.add(currentStepIndex);\n return next;\n });\n appendLog('确认本组', currentGroup.name, result.verdict ?? 'NA');\n await confirm();\n if (currentStepIndex < groups.length - 1) setCurrentStepIndex((index) => index + 1);\n }, [appendLog, confirm, currentGroup, currentStepIndex, groups.length, result]);\n\n const handleRetake = useCallback(async () => {\n await cancel();\n appendLog('放弃重拍', currentGroup.name);\n }, [appendLog, cancel, currentGroup.name]);\n\n const handleClose = useCallback(async () => {\n if (session.running) await stop();\n onClose();\n }, [onClose, session.running, stop]);\n\n const handleBackfill = useCallback(async () => {\n const finalValues: Record<string, string> = {};\n for (const group of groups) {\n for (const item of group.items)\n finalValues[item.name] = measuredValues[item.name] ?? item.val;\n }\n onBackfill(finalValues, reviews);\n appendLog('完成回填', `共 ${Object.keys(finalValues).length} 项`);\n if (session.running) await stop();\n onClose();\n }, [appendLog, groups, measuredValues, onBackfill, onClose, reviews, session.running, stop]);\n\n const markReview = useCallback(\n (name: string) => {\n const value = measuredValues[name] ?? currentResultValues[name];\n if (value === undefined) return;\n setReviews((current) => ({\n ...current,\n [name]: { val: value, reason: '人工复核确认设备采集值' },\n }));\n appendLog('人工复核', `${name}=${value}`);\n },\n [appendLog, currentResultValues, measuredValues],\n );\n\n useEffect(() => {\n if (!isOpen) return;\n const onKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement | null;\n if (target?.matches('input, textarea, select, [contenteditable=\"true\"]')) return;\n const key = event.key.toLowerCase();\n if (key === 'c' && session.state === 'idle') void handleStart();\n else if ((key === 't' || key === ' ') && session.state === 'capturing') {\n event.preventDefault();\n void handleCapture();\n } else if (key === 'enter' && session.state === 'inspecting' && result) {\n event.preventDefault();\n void handleConfirm();\n } else if (key === 'escape' && session.state === 'inspecting') {\n event.preventDefault();\n void handleRetake();\n } else if (key === 'v') {\n event.preventDefault();\n void toggleAsr();\n }\n };\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [\n handleCapture,\n handleConfirm,\n handleRetake,\n handleStart,\n isOpen,\n result,\n session.state,\n toggleAsr,\n ]);\n\n if (!isOpen) return null;\n\n if (!groups.length) {\n return (\n <div className=\"qcb on\" role=\"dialog\" aria-modal=\"true\" aria-label=\"QCVision 工位终端\">\n <div className=\"qcb-empty-state\">\n <strong>未提供检测流程配置</strong>\n <span>请由页面 provider 注入 pipelineGroups 和 hardwareLamps。</span>\n <button type=\"button\" onClick={onClose}>\n 关闭\n </button>\n </div>\n </div>\n );\n }\n\n const confirmedCount = confirmedSteps.size;\n const allConfirmed = confirmedCount === groups.length;\n const displayStatus = allConfirmed ? 'done' : station.session.state;\n const currentVerdict = station.result?.verdict ?? verdictOf(currentGroup, measuredValues);\n const currentObject = station.result?.objects?.[0];\n const frameId = Number(station.frameMeta?.frame_id ?? station.session.frozen_frame_id ?? 0);\n const frameWidth = Number(\n station.frameMeta?.width ?? station.result?.image_width ?? station.frame?.width ?? 16,\n );\n const frameHeight = Number(\n station.frameMeta?.height ?? station.result?.image_height ?? station.frame?.height ?? 9,\n );\n const frameAspectRatio =\n frameWidth > 0 && frameHeight > 0 && Number.isFinite(frameWidth / frameHeight)\n ? frameWidth / frameHeight\n : 16 / 9;\n const stain = station.result?.stain;\n const lengthValue = currentObject?.size_mm?.length;\n const widthValue = currentObject?.size_mm?.width;\n const stainLabel = stain\n ? stain.verdict === 'NG' || Number(stain.count ?? 0) > 0\n ? '检出污点'\n : '无污点'\n : '待检测';\n\n return (\n <div className=\"qcb on\" role=\"dialog\" aria-modal=\"true\" aria-label=\"QCVision 工位终端\">\n <header className=\"qcb-top\">\n <div className=\"qcb-top-context\">\n <div className=\"flex items-center gap-2 text-sm font-semibold tracking-tight text-foreground whitespace-nowrap\">\n <span className=\"size-2 rounded-full bg-primary shadow-[0_0_8px_rgba(0,104,80,0.45)]\" />\n <span>质检台 QCVision · 工位终端</span>\n <Badge\n variant=\"outline\"\n className=\"cursor-pointer text-[10px] font-mono tracking-wider py-0 px-1.5 text-muted-foreground hover:text-foreground hover:border-primary/40 bg-muted/30 transition-colors\"\n title=\"点击切换工位运行模式(仿真联机 / 物理上位机)\"\n onClick={() => station.setMode(station.mode === 'live' ? 'demo' : 'live')}\n >\n {station.mode === 'live' ? 'LIVE SERVICE' : 'LOCAL RUNTIME'}\n </Badge>\n </div>\n\n <div\n className=\"flex shrink-0 items-center gap-2 rounded-md border border-border bg-muted/40 px-2.5 py-1 text-xs whitespace-nowrap\"\n title=\"外设硬件通信受控状态\"\n >\n <span className=\"text-[10px] tracking-wider text-muted-foreground font-medium\">\n 设备\n </span>\n {hardwareLamps.map((lamp) => {\n const isOn = station.mode === 'demo' ? true : lamp.status === 'on';\n return (\n <span\n key={lamp.id}\n className=\"inline-flex items-center gap-1.5 font-mono text-[11px] text-muted-foreground\"\n title={`${lamp.name} · ${isOn ? '受控正常' : '异常'}`}\n >\n <span\n className={cn(\n 'size-1.5 rounded-full',\n isOn\n ? 'bg-emerald-500 shadow-[0_0_6px_rgba(16,185,129,0.7)]'\n : 'bg-red-500 shadow-[0_0_6px_rgba(239,68,68,0.7)]',\n )}\n />\n {lamp.name}\n </span>\n );\n })}\n </div>\n\n <div className=\"flex shrink-0 items-center gap-2 rounded-md border border-border bg-muted/40 px-2.5 py-1 text-xs whitespace-nowrap font-mono text-muted-foreground\">\n <span className=\"inline-flex items-center gap-1.5 font-sans font-medium text-emerald-600 dark:text-emerald-400\">\n <span className=\"size-1.5 rounded-full bg-emerald-500 shadow-[0_0_6px_rgba(16,185,129,0.7)]\" />\n {station.mode === 'live'\n ? station.connectionState === 'connected'\n ? '设备联机'\n : '连接中'\n : '仿真就绪'}\n </span>\n <span className=\"text-border opacity-60\">|</span>\n <span>标定 {station.result?.scale_px_per_mm ?? 8.5} px/mm</span>\n <span className=\"text-border opacity-60\">|</span>\n <span>帧 #{frameId}</span>\n </div>\n\n <Badge\n variant=\"outline\"\n className={cn(\n 'h-7 px-2.5 text-xs font-medium border gap-1.5 whitespace-nowrap rounded-md',\n displayStatus === 'capturing' &&\n 'bg-emerald-50 text-emerald-700 border-emerald-200 dark:bg-emerald-950/40 dark:text-emerald-300 dark:border-emerald-800',\n displayStatus === 'inspecting' &&\n 'bg-amber-50 text-amber-700 border-amber-200 dark:bg-amber-950/40 dark:text-amber-300 dark:border-amber-800',\n displayStatus === 'done' && 'bg-primary/10 text-primary border-primary/20',\n displayStatus === 'idle' && 'bg-muted text-muted-foreground border-border',\n )}\n >\n <span\n className={cn(\n 'size-1.5 rounded-full',\n displayStatus === 'capturing' && 'bg-emerald-500 animate-pulse',\n displayStatus === 'inspecting' && 'bg-amber-500',\n displayStatus === 'done' && 'bg-primary',\n displayStatus === 'idle' && 'bg-muted-foreground',\n )}\n />\n {STATUS_LABEL[displayStatus]}\n </Badge>\n </div>\n\n <div className=\"qcb-top-actions\" role=\"group\" aria-label=\"质检台操作\">\n {station.session.state === 'idle' && (\n <Button\n type=\"button\"\n size=\"sm\"\n disabled={station.busy}\n className=\"h-8 gap-1.5 px-3 font-medium bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm animate-pulse\"\n onClick={() => void handleStart()}\n >\n 开始采集\n <kbd className=\"pointer-events-none inline-flex h-4 select-none items-center rounded border border-white/20 bg-black/20 px-1 font-mono text-[10px] text-white\">\n C\n </kbd>\n </Button>\n )}\n\n <Button\n type=\"button\"\n size=\"sm\"\n disabled={station.busy || station.session.state !== 'capturing'}\n className={cn(\n 'h-8 gap-1.5 px-3 font-medium transition-all shadow-sm',\n station.session.state === 'capturing'\n ? 'bg-primary text-primary-foreground hover:bg-primary/90 shadow-primary/20 ring-2 ring-primary/30 animate-pulse'\n : 'text-muted-foreground bg-muted border border-border/50',\n )}\n onClick={() => void handleCapture()}\n >\n 拍摄\n <kbd\n className={cn(\n 'pointer-events-none inline-flex h-4 select-none items-center rounded px-1 font-mono text-[10px]',\n station.session.state === 'capturing'\n ? 'border border-white/20 bg-black/20 text-white'\n : 'border border-border/60 bg-background text-muted-foreground',\n )}\n >\n T\n </kbd>\n </Button>\n\n <Button\n type=\"button\"\n size=\"sm\"\n disabled={station.busy || station.session.state !== 'inspecting' || !station.result}\n className={cn(\n 'h-8 gap-1.5 px-3 font-medium transition-all shadow-sm',\n station.session.state === 'inspecting' && station.result\n ? 'bg-emerald-600 text-white hover:bg-emerald-700 shadow-emerald-500/20 ring-2 ring-emerald-500/30 animate-pulse'\n : 'text-muted-foreground bg-muted border border-border/50',\n )}\n onClick={() => void handleConfirm()}\n >\n 确认本组\n <kbd\n className={cn(\n 'pointer-events-none inline-flex h-4 select-none items-center rounded px-1 font-mono text-[10px]',\n station.session.state === 'inspecting' && station.result\n ? 'border border-white/20 bg-black/20 text-white'\n : 'border border-border/60 bg-background text-muted-foreground',\n )}\n >\n Enter\n </kbd>\n </Button>\n\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n disabled={station.busy || station.session.state !== 'inspecting'}\n className=\"h-8 gap-1.5 px-2.5 text-xs text-muted-foreground hover:text-foreground\"\n onClick={() => void handleRetake()}\n >\n 重拍\n <kbd className=\"pointer-events-none inline-flex h-4 select-none items-center rounded border border-border bg-muted/60 px-1 font-mono text-[10px] text-muted-foreground\">\n Esc\n </kbd>\n </Button>\n\n <Button\n type=\"button\"\n variant={station.session.asr_running ? 'default' : 'outline'}\n size=\"sm\"\n className={cn(\n 'h-8 gap-1.5 px-2.5 text-xs',\n station.session.asr_running && 'bg-primary text-primary-foreground',\n )}\n onClick={() => void station.toggleAsr()}\n >\n <Mic className=\"size-3.5\" aria-hidden=\"true\" />\n 语音 {station.session.asr_running ? '开启' : '关闭'}\n <kbd className=\"pointer-events-none inline-flex h-4 select-none items-center rounded border border-border/60 bg-muted/40 px-1 font-mono text-[10px]\">\n V\n </kbd>\n </Button>\n\n {/* 收拢低频配置到下拉菜单,释放横向空间保护外设灯 */}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"h-8 gap-1.5 px-2.5 text-xs text-muted-foreground hover:text-foreground\"\n >\n <Settings2 className=\"size-3.5\" aria-hidden=\"true\" />\n 标定与参数\n <ChevronDown className=\"size-3 opacity-60 ml-0.5\" aria-hidden=\"true\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-44\">\n <DropdownMenuItem onClick={() => setSettingsDialog('camera')}>\n <Camera className=\"size-4 mr-2\" />\n 采集相机设置\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setSettingsDialog('stain')}>\n <ScanSearch className=\"size-4 mr-2\" />\n 污点检测设置\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => setSettingsDialog('calibration')}>\n <Grid3X3 className=\"size-4 mr-2\" />\n 棋盘格标定\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n\n <Button\n type=\"button\"\n variant={sideOpen ? 'secondary' : 'outline'}\n size=\"sm\"\n className=\"h-8 gap-1.5 px-2.5 text-xs\"\n onClick={() => setSideOpen((current) => !current)}\n >\n {sideOpen ? (\n <PanelRightClose className=\"size-3.5\" aria-hidden=\"true\" />\n ) : (\n <PanelRightOpen className=\"size-3.5\" aria-hidden=\"true\" />\n )}\n 检测信息\n </Button>\n\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"sm\"\n disabled={!allConfirmed}\n className={cn(\n 'h-8 px-3 font-medium text-xs',\n allConfirmed\n ? 'bg-emerald-600 text-white hover:bg-emerald-700 shadow-sm shadow-emerald-600/20'\n : 'bg-muted text-muted-foreground opacity-60',\n )}\n onClick={() => void handleBackfill()}\n >\n 完成采集并回填\n </Button>\n\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-8 px-2.5 text-xs text-muted-foreground hover:text-foreground\"\n onClick={() => void handleClose()}\n >\n 关闭质检台\n </Button>\n </div>\n </header>\n\n <div className=\"qcb-bar\">\n <span>\n 工序:{' '}\n <b>\n {currentGroup.name} · 第 {currentStepIndex + 1}/{groups.length} 步\n </b>\n </span>\n <span>\n 对象: <b>{targetName}</b>\n </span>\n <span>\n SKU: <b>{sku}</b>\n </span>\n <span>\n 批次: <b>{batch}</b>\n </span>\n <span>\n 设备: <b>{currentGroup.device}</b>\n </span>\n <span>\n 已确认:{' '}\n <b>\n {confirmedCount}/{groups.length} 组\n </b>\n </span>\n </div>\n\n <div className={`qcb-vbar ${station.session.asr_running ? 'rec' : ''}`}>\n <div className=\"dot\" />\n <span className=\"hint\">语音 / 服务:</span>\n <span className=\"sent\">\n {station.error ||\n station.asrText ||\n (station.mode === 'live' ? '等待质检服务消息' : '本地运行模式,可完整演示采集与回填')}\n </span>\n </div>\n\n <main className={`qcb-main ${sideOpen ? 'side-open' : ''}`}>\n <section className=\"qcb-view\">\n <VisionStreamViewport\n frame={station.frame}\n isLive={station.session.state === 'capturing'}\n isFrozen={station.session.state === 'inspecting' || station.session.state === 'done'}\n overlays={station.result}\n aspectRatio={frameAspectRatio}\n className=\"qcb-viewport\"\n frameClassName={station.session.state === 'inspecting' ? 'qcb-frame-frozen' : ''}\n layersConfig={{ bbox: true, mid: true, corner: true, stain: true, hud: true }}\n placeholder={\n <div className=\"qcb-empty\">\n <Camera aria-hidden=\"true\" />\n <strong>\n {station.session.state === 'idle'\n ? '工位就绪 · 等待启动采集'\n : `${currentGroup.name} · 仿真取景采集中`}\n </strong>\n <span>\n {station.session.state === 'idle' ? '按 C 或点击“开始采集”' : currentGroup.device}\n </span>\n </div>\n }\n hudOverlay={\n <div className=\"qcb-hud\">\n <span className=\"qcb-tag live\">\n <i />\n {station.session.state === 'inspecting'\n ? 'FROZEN'\n : station.session.running\n ? 'LIVE'\n : 'STANDBY'}\n </span>\n <span className=\"qcb-tag\">\n {frameWidth}×{frameHeight}\n </span>\n <span className=\"qcb-tag\">FRAME #{frameId}</span>\n {station.result ? (\n <span className={`qcb-tag ${station.result.verdict === 'NG' ? 'ng' : 'ok'}`}>\n {station.result.verdict}\n </span>\n ) : null}\n </div>\n }\n />\n </section>\n\n {sideOpen ? (\n <aside className=\"qcb-side\" aria-label=\"实时检测信息\">\n <div className=\"qcb-side-head\">\n <div>\n <strong>实时检测信息</strong>\n <span>Camera · Inspection · ASR</span>\n </div>\n <button\n type=\"button\"\n className=\"qcb-icon-btn\"\n onClick={() => setSideOpen(false)}\n aria-label=\"折叠检测信息\"\n >\n <PanelRightClose aria-hidden=\"true\" />\n </button>\n </div>\n <details className=\"qcb-card qcb-disclosure\">\n <summary>\n <span>采集图像信息</span>\n <span className=\"qcb-summary-meta\">\n Camera\n <ChevronDown aria-hidden=\"true\" />\n </span>\n </summary>\n <dl className=\"qcb-kv qcb-disclosure-body\">\n <dt>分辨率</dt>\n <dd>\n {frameWidth}×{frameHeight}\n </dd>\n <dt>帧率</dt>\n <dd>{String(station.frameMeta?.fps ?? '—')} fps</dd>\n <dt>通道数</dt>\n <dd>{String(station.frameMeta?.channels ?? '—')}</dd>\n <dt>后端 / 模式</dt>\n <dd>\n {String(station.frameMeta?.backend ?? '—')} /{' '}\n {String(station.frameMeta?.mode ?? session.mode ?? '—')}\n </dd>\n <dt>工位状态</dt>\n <dd>{STATUS_LABEL[displayStatus]}</dd>\n <dt>算法输入帧</dt>\n <dd>{session.frozen_frame_id ? `#${session.frozen_frame_id}` : '—'}</dd>\n <dt>帧序号</dt>\n <dd>#{frameId}</dd>\n <dt>算法耗时</dt>\n <dd>{station.result?.cost_ms ?? '—'} ms</dd>\n </dl>\n </details>\n <details className=\"qcb-card qcb-disclosure\">\n <summary>\n <span>算法计算结果</span>\n <span className=\"qcb-summary-meta\">\n Inspection\n <ChevronDown aria-hidden=\"true\" />\n </span>\n </summary>\n <div className={`qcb-verdict qcb-v-${currentVerdict} qcb-disclosure-body`}>\n <div className=\"qcb-badge\">{currentVerdict}</div>\n <div className=\"qcb-why\">\n {station.result?.reject_reason ||\n station.result?.reason ||\n `${currentGroup.device} · ${station.result?.cost_ms ?? '—'} ms`}\n </div>\n </div>\n </details>\n\n <section className=\"qcb-card\">\n <h3>\n <span>语音输入 / ASR</span>\n <em>实时</em>\n </h3>\n <div className=\"qcb-asr-box\">\n {station.asrText || (session.asr_running ? '正在聆听质检指令…' : '麦克风已关闭')}\n </div>\n <div className=\"qcb-asr-meta\">\n <span>{station.error || '—'}</span>\n <b>{session.asr_running ? '识别中' : '未启用'}</b>\n </div>\n </section>\n\n <section className=\"qcb-card\">\n <h3>\n <span>检验项目</span>\n <em>本期检测能力</em>\n </h3>\n <dl className=\"qcb-result-list\">\n <dt>长度 L</dt>\n <dd>\n <span>{lengthValue !== undefined ? `${lengthValue.toFixed(2)} mm` : '—'}</span>\n <button\n type=\"button\"\n className=\"qcb-inline-review\"\n disabled={lengthValue === undefined}\n onClick={() => markReview('总长')}\n >\n {reviews['总长'] ? '已复核' : '复核'}\n </button>\n </dd>\n <dt>宽度 W</dt>\n <dd>\n <span>{widthValue !== undefined ? `${widthValue.toFixed(2)} mm` : '—'}</span>\n <button\n type=\"button\"\n className=\"qcb-inline-review\"\n disabled={widthValue === undefined}\n onClick={() => markReview('总宽')}\n >\n {reviews['总宽'] ? '已复核' : '复核'}\n </button>\n </dd>\n <dt>污点检测</dt>\n <dd className={stain?.verdict === 'NG' ? 'qcb-danger' : ''}>{stainLabel}</dd>\n </dl>\n </section>\n\n <section className=\"qcb-card\">\n <h3>\n <span>工位操作流水</span>\n <em>最近 12 条</em>\n </h3>\n <div className=\"qcb-log\">\n {logs.length ? (\n logs.map((log) => (\n <div\n key={log.id}\n className={`qcb-log-row ${log.tag === 'NG' ? 'ng' : log.tag === 'OK' ? 'ok' : ''}`}\n >\n <span className=\"qcb-log-time\">{log.time}</span>\n <span className=\"qcb-log-action\">{log.action}</span>\n {log.target && <span className=\"qcb-log-target\">· {log.target}</span>}\n {log.tag && (\n <span className={`qcb-log-badge ${log.tag === 'NG' ? 'ng' : 'ok'}`}>\n {log.tag}\n </span>\n )}\n </div>\n ))\n ) : (\n <div className=\"qcb-log-empty\">暂无工位流水记录</div>\n )}\n </div>\n </section>\n </aside>\n ) : null}\n </main>\n <QcVisionSettingsDialogs\n open={settingsDialog}\n client={station.client}\n onOpenChange={setSettingsDialog}\n />\n </div>\n );\n}\n","path":"references/metaform/components/business/industry/vision/src/qcvision-station-terminal.tsx","target":"~/references/metaform/components/business/industry/vision/src/qcvision-station-terminal.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.513f193c591b981d671bbe047ffc68e6","contractRef":"components/business/industry/vision/src/qcvision-station-terminal.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-513f193c591b981d671bbe047ffc68e6","registryDependencies":[],"title":"resource.file.513f193c591b981d671bbe047ffc68e6","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.514d80e63e81863f09ef4b9fe290cc0e","files":[{"content":"\"use client\"\n\nimport { cn } from \"../../lib/utils\"\nimport * as ResizablePrimitive from \"react-resizable-panels\"\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: ResizablePrimitive.GroupProps) {\n return (\n <ResizablePrimitive.Group\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"cn-resizable-panel-group flex h-full w-full aria-[orientation=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ResizablePanel({ ...props }: ResizablePrimitive.PanelProps) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />\n}\n\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: ResizablePrimitive.SeparatorProps & {\n withHandle?: boolean\n}) {\n return (\n <ResizablePrimitive.Separator\n data-slot=\"resizable-handle\"\n className={cn(\n \"cn-resizable-handle relative flex w-px items-center justify-center bg-border ring-offset-background after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-ring focus-visible:outline-hidden aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-1 aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:translate-x-0 aria-[orientation=horizontal]:after:-translate-y-1/2 [&[aria-orientation=horizontal]>div]:rotate-90\",\n className\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"cn-resizable-handle-icon z-10 flex shrink-0\" />\n )}\n </ResizablePrimitive.Separator>\n )\n}\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup }\n","path":"src/components/vendor/shadcn/base/ui/resizable.tsx","target":"~/src/components/vendor/shadcn/base/ui/resizable.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.514d80e63e81863f09ef4b9fe290cc0e","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/base/ui/resizable.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-514d80e63e81863f09ef4b9fe290cc0e","registryDependencies":[],"title":"resource.file.514d80e63e81863f09ef4b9fe290cc0e","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.516854d362d8796325a0441b19a20305","files":[{"content":"\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nimport { Button } from \"./button\"\nimport { Input } from \"./input\"\nimport { Textarea } from \"./textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group cn-input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"cn-input-group-addon flex cursor-text items-center justify-center select-none\",\n {\n variants: {\n align: {\n \"inline-start\": \"cn-input-group-addon-align-inline-start order-first\",\n \"inline-end\": \"cn-input-group-addon-align-inline-end order-last\",\n \"block-start\":\n \"cn-input-group-addon-align-block-start order-first w-full justify-start\",\n \"block-end\":\n \"cn-input-group-addon-align-block-end order-last w-full justify-start\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\n \"cn-input-group-button flex items-center shadow-none\",\n {\n variants: {\n size: {\n xs: \"cn-input-group-button-size-xs\",\n sm: \"cn-input-group-button-size-sm\",\n \"icon-xs\": \"cn-input-group-button-size-icon-xs\",\n \"icon-sm\": \"cn-input-group-button-size-icon-sm\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n)\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"cn-input-group-text flex items-center [&_svg]:pointer-events-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\"cn-input-group-input flex-1\", className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\"cn-input-group-textarea flex-1 resize-none\", className)}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n","path":"src/components/vendor/shadcn/radix/ui/input-group.tsx","target":"~/src/components/vendor/shadcn/radix/ui/input-group.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.516854d362d8796325a0441b19a20305","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/radix/ui/input-group.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-516854d362d8796325a0441b19a20305","registryDependencies":[],"title":"resource.file.516854d362d8796325a0441b19a20305","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.5181f05f6d741b4f8d30e2ccabe4ff72","files":[{"content":"import { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"../../lib/utils\"\n\nfunction Empty({ className, ...props }: React.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 }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"flex max-w-sm flex-col items-center gap-2 text-center\",\n className\n )}\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}: React.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 }: React.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 }: React.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-primary\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction EmptyContent({ className, ...props }: React.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 {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n}\n","path":"src/components/vendor/shadcn/new-york-v4/ui/empty.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/empty.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.5181f05f6d741b4f8d30e2ccabe4ff72","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/empty.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-5181f05f6d741b4f8d30e2ccabe4ff72","registryDependencies":[],"title":"resource.file.5181f05f6d741b4f8d30e2ccabe4ff72","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.518472089629dfe30e03f96a9c0c8bda","files":[{"content":"\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\n\nimport { Button } from \"./button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nfunction Carousel({\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) return\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) return\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n}\n\nfunction CarouselContent({ className, ...props }: React.ComponentProps<\"div\">) {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div\n ref={carouselRef}\n className=\"overflow-hidden\"\n data-slot=\"carousel-content\"\n >\n <div\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const { orientation } = useCarousel()\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CarouselPrevious({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -left-12 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n}\n\nfunction CarouselNext({\n className,\n variant = \"outline\",\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n \"absolute size-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"top-1/2 -right-12 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n}\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","path":"src/components/vendor/shadcn/new-york-v4/ui/carousel.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/carousel.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.518472089629dfe30e03f96a9c0c8bda","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/carousel.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-518472089629dfe30e03f96a9c0c8bda","registryDependencies":[],"title":"resource.file.518472089629dfe30e03f96a9c0c8bda","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.5205a09a040fad995db87f519d9c6443","files":[{"content":"import React, { type CSSProperties, type ReactNode, useEffect, useRef, useState } from 'react';\n\nexport interface AspectFitViewportProps {\n /** 目标宽高比,默认为 16/9 */\n aspectRatio?: number;\n /** 外层容器类名 */\n className?: string;\n /** 外层容器内联样式 */\n style?: CSSProperties;\n /** 画布框类名 */\n frameClassName?: string;\n /** 尺寸计算回调 */\n onResize?: (dimensions: { width: number; height: number; aspectRatio: number }) => void;\n children?: ReactNode;\n}\n\nexport function AspectFitViewport({\n aspectRatio = 16 / 9,\n className = '',\n style,\n frameClassName = '',\n onResize,\n children,\n}: AspectFitViewportProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const [frameSize, setFrameSize] = useState<{ width: number; height: number }>({\n width: 0,\n height: 0,\n });\n\n useEffect(() => {\n const el = containerRef.current;\n if (!el) return;\n\n let raf1: number | null = null;\n let raf2: number | null = null;\n\n const computeSize = () => {\n const aw = el.clientWidth;\n const ah = el.clientHeight;\n if (!aw || !ah) return;\n\n const ar = aspectRatio > 0 ? aspectRatio : 16 / 9;\n let w = aw;\n let h = aw / ar;\n\n if (h > ah) {\n h = ah;\n w = ah * ar;\n }\n\n const nextWidth = Math.round(w);\n const nextHeight = Math.round(h);\n\n setFrameSize((prev) => {\n if (prev.width === nextWidth && prev.height === nextHeight) return prev;\n return { width: nextWidth, height: nextHeight };\n });\n\n onResize?.({ width: nextWidth, height: nextHeight, aspectRatio: ar });\n };\n\n const handleResize = () => {\n if (raf1) cancelAnimationFrame(raf1);\n if (raf2) cancelAnimationFrame(raf2);\n raf1 = requestAnimationFrame(() => {\n raf2 = requestAnimationFrame(computeSize);\n });\n };\n\n computeSize();\n\n let observer: ResizeObserver | null = null;\n if (typeof ResizeObserver !== 'undefined') {\n observer = new ResizeObserver(handleResize);\n observer.observe(el);\n }\n window.addEventListener('resize', handleResize);\n\n return () => {\n if (raf1) cancelAnimationFrame(raf1);\n if (raf2) cancelAnimationFrame(raf2);\n if (observer) observer.disconnect();\n window.removeEventListener('resize', handleResize);\n };\n }, [aspectRatio, onResize]);\n\n return (\n <div\n ref={containerRef}\n className={`relative w-full h-full min-w-0 min-h-0 flex items-center justify-center ${className}`}\n style={style}\n >\n <div\n className={`relative overflow-hidden bg-black border border-slate-700/60 rounded-lg shadow-inner ${frameClassName}`}\n style={{\n width: frameSize.width > 0 ? `${frameSize.width}px` : '100%',\n height: frameSize.height > 0 ? `${frameSize.height}px` : '100%',\n maxWidth: '100%',\n maxHeight: '100%',\n }}\n >\n {children}\n </div>\n </div>\n );\n}\n","path":"references/metaform/packages/asset-internals/src/capabilities/aspect-fit-viewport/AspectFitViewport.tsx","target":"~/references/metaform/packages/asset-internals/src/capabilities/aspect-fit-viewport/AspectFitViewport.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.5205a09a040fad995db87f519d9c6443","contractRef":"packages/asset-internals/src/capabilities/aspect-fit-viewport/AspectFitViewport.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-5205a09a040fad995db87f519d9c6443","registryDependencies":[],"title":"resource.file.5205a09a040fad995db87f519d9c6443","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.528316a9f464fc73d9b0a9daa89779b6","files":[{"content":"{\n \"title\": \"销售订单关联表:源码 reference 场景与交互\",\n \"originalScenario\": \"按宿主配置列展示订单、客户、产品、数量、交期及关联排程,回查订单详情。\",\n \"usageBoundary\": \"以当前应用本体决定对象、属性、关系、单位和操作。以下原场景角色、Props 和展示聚合只解释参考范式,不是目标本体必建表;可整体参考、局部借鉴、组合或重写。布局相近不代表业务契约匹配,已有回调不代表真实服务已接通。\",\n \"source\": {\n \"implementation\": \"components/business/production/src/sales-order-table.tsx\",\n \"prototype\": \"可悦质量智能工作台 V42\",\n \"prototypeRole\": \"整理已有 React 维护源;V42 函数用于场景对照,不宣称逐字搬运\",\n \"prototypeSnapshotSha256\": \"06efbd09ff754e337ad6a6186a5af44ddc7d35a92b588d71d9fca4285b6ace22\",\n \"origin\": [\n {\n \"symbol\": \"renderOrderRows\",\n \"startLine\": 4861,\n \"endLine\": 4865,\n \"sha256\": \"86a93475e4baa42d33a50b5bad43fc42cd3b4e309e2041bb4479af8f35e59601\"\n }\n ],\n \"evidence\": [\n {\n \"path\": \"components/business/production/src/sales-order-table.tsx\",\n \"symbols\": [\n \"SalesOrderTable\"\n ]\n }\n ],\n \"interactionChanges\": [\n \"保留已有 React 实现,不擅自给批次标签添加目标路由\",\n \"补齐两粒度目录、示例与 reference,把宿主查询和表内能力分开\",\n \"表格标题显示已提供行数,空结果提供明确说明\",\n \"行操作使用桌面常规尺寸和具体订单的可访问名称,保留order:回调\",\n \"关联批次保持只读标签,保留原有局部滚动并支持键盘聚焦\"\n ]\n },\n \"preview\": {\n \"entry\": \"preview/playground/owned-reference.tsx\",\n \"status\": \"example\",\n \"description\": \"仅本地示例状态与合成数据;不接企业 API、真实证据上传、权限服务或设备。\"\n },\n \"ontologyAlignment\": {\n \"authority\": \"以当前应用本体决定对象、属性、关系、单位和操作。以下原场景角色、Props 和展示聚合只解释参考范式,不是目标本体必建表;可整体参考、局部借鉴、组合或重写。布局相近不代表业务契约匹配,已有回调不代表真实服务已接通。\",\n \"applicability\": \"业务信息角色不是目标必建对象清单,可由当前多个对象投影而来。\",\n \"objects\": [\n {\n \"role\": \"order\",\n \"meaning\": \"已有销售订单\"\n },\n {\n \"role\": \"batchReference\",\n \"meaning\": \"订单关联的生产批次引用\"\n }\n ],\n \"relations\": [\n \"订单关联零到多个排程批次\"\n ],\n \"mappingRequired\": [\n \"按当前应用本体核对稳定标识、属性类型、单位和状态语义\",\n \"核对关系方向、基数、查询范围及关联键\",\n \"核对当前操作的授权、输入输出、失败和并发语义\",\n \"明确修订生成及变更失效规则,保留未知业务部分\"\n ],\n \"gapsInOriginalComponent\": [\n \"没有创建订单、修改交期、结算或关联批次编辑\",\n \"没有内部查询、分页、排序、列选择器及加载错误界面\",\n \"批次标签不可点击;单位和状态文案需依据当前本体适配\"\n ]\n },\n \"interaction\": {\n \"summary\": \"销售订单关联表\",\n \"summarySupport\": \"existing\",\n \"existingCapabilities\": [\n \"查看订单关系\",\n \"回查订单\",\n \"表格标题显示已提供行数,空结果提供明确说明\",\n \"行操作使用桌面常规尺寸和具体订单的可访问名称,保留order:回调\",\n \"关联批次保持只读标签,保留原有局部滚动并支持键盘聚焦\"\n ],\n \"steps\": [\n {\n \"id\": \"step-1\",\n \"support\": \"existing\",\n \"intent\": \"查看订单关系\",\n \"effect\": \"逐行展示数据;关联排程是标识标签集合。\"\n },\n {\n \"id\": \"step-2\",\n \"support\": \"existing\",\n \"intent\": \"回查订单\",\n \"effect\": \"点击查看回传 order: 前缀字符串;宿主负责实际详情。\"\n },\n {\n \"id\": \"host-1\",\n \"support\": \"host-extension\",\n \"intent\": \"由宿主补充\",\n \"effect\": \"没有创建订单、修改交期、结算或关联批次编辑\"\n },\n {\n \"id\": \"host-2\",\n \"support\": \"host-extension\",\n \"intent\": \"由宿主补充\",\n \"effect\": \"没有内部查询、分页、排序、列选择器及加载错误界面\"\n },\n {\n \"id\": \"host-3\",\n \"support\": \"host-extension\",\n \"intent\": \"由宿主补充\",\n \"effect\": \"批次标签不可点击;单位和状态文案需依据当前本体适配\"\n },\n {\n \"id\": \"ux-polish\",\n \"support\": \"existing\",\n \"intent\": \"识别当前记录和操作条件\",\n \"effect\": \"表格标题显示已提供行数,空结果提供明确说明;行操作使用桌面常规尺寸和具体订单的可访问名称,保留order:回调;关联批次保持只读标签,保留原有局部滚动并支持键盘聚焦。\"\n }\n ],\n \"states\": [\n \"有数据行与行数\",\n \"空数组显示表头及明确空结果提示\"\n ],\n \"applicationStatesToDesign\": [\n \"真实查询失败和重试恢复\",\n \"权限变化、修订冲突、重复请求及保存失败\",\n \"宿主保留选择、查询、草稿和返回定位\"\n ]\n },\n \"adaptation\": {\n \"preserve\": [\n \"业务对象语义\",\n \"原始事实与业务操作边界\",\n \"任务/记录稳定标识与修订上下文\"\n ],\n \"variable\": [\n \"布局和区域拆合\",\n \"当前本体映射及数据投影\",\n \"宿主操作绑定及补充交互\"\n ],\n \"exampleOnly\": [\n \"预览数据、示例结果和合成证据\",\n \"原型固定角色、状态、数量单位及处置政策\"\n ]\n },\n \"pattern\": {\n \"schemaVersion\": 1,\n \"readingGuide\": \"先对照当前应用合同阅读业务语义和布局,再按源码顺序核对可参考部分;由 AI 判断可复用/需组合/无匹配,名称相似不直接决定采用。\",\n \"business\": {\n \"actor\": \"订单查阅人员\",\n \"trigger\": \"需要查看订单交付信息及关联排程\",\n \"goal\": \"按宿主配置列展示订单、客户、产品、数量、交期及关联排程,回查订单详情。\",\n \"workUnit\": \"一条订单及关联批次标识集合\",\n \"boundary\": \"以当前应用本体决定对象、属性、关系、单位和操作。以下原场景角色、Props 和展示聚合只解释参考范式,不是目标本体必建表;可整体参考、局部借鉴、组合或重写。布局相近不代表业务契约匹配,已有回调不代表真实服务已接通。\"\n },\n \"layout\": {\n \"basis\": \"source-observed\",\n \"summary\": \"销售订单关联表的信息顺序\",\n \"desktopAscii\": \"+----------------------------------------------------------------------+\\n| 销售订单 / 共 N 条 |\\n| 订单 | 客户 | 产品 | 数量 | 交期 | 排程标签 | 状态 | 详情 |\\n| A | ... | ... | ... | ... | [批次1][批次2] | ... | [查看] |\\n| 空集合:当前范围没有销售订单 |\\n+----------------------------------------------------------------------+\",\n \"zones\": [\n \"单对象到多个关联对象的标签投影\",\n \"交付信息与详情出口\"\n ],\n \"narrow\": {\n \"basis\": \"source-observed\",\n \"ascii\": \"+--------------------------------------+\\n| 保留列语义的横向滚动表 |\\n| 行内查看动作随表格滚动 |\\n+--------------------------------------+\",\n \"description\": \"设计系统 Table 包裹横向滚动;没有自动卡片转换。\"\n },\n \"evidencePaths\": [\n \"components/business/production/src/sales-order-table.tsx\"\n ],\n \"interpretation\": \"图示说明当前实现的分区及顺序,实例数、尺寸、字段名均不成为目标要求。窄屏依据源码规则,浏览器验证另记验收报告。\",\n \"desktopScope\": \"本轮仅优化桌面信息层级与操作体验,未新增手机或窄屏适配。\"\n },\n \"objectRequirements\": {\n \"interpretation\": \"以当前应用本体决定对象、属性、关系、单位和操作。以下原场景角色、Props 和展示聚合只解释参考范式,不是目标本体必建表;可整体参考、局部借鉴、组合或重写。布局相近不代表业务契约匹配,已有回调不代表真实服务已接通。\",\n \"core\": [\n {\n \"role\": \"order\",\n \"meaning\": \"已有销售订单\",\n \"information\": \"稳定标识、客户/渠道、产品、数量、交期与状态\",\n \"requirementScope\": \"解释原参考场景所需信息;当前本体可以拆合投影,不要求新建同名对象。\"\n },\n {\n \"role\": \"batchReference\",\n \"meaning\": \"订单关联的生产批次引用\",\n \"information\": \"批次标识集合;标签本身没有点击事件\",\n \"requirementScope\": \"解释原参考场景所需信息;当前本体可以拆合投影,不要求新建同名对象。\"\n }\n ],\n \"supporting\": [],\n \"relations\": [\n \"订单关联零到多个排程批次\"\n ],\n \"presentationOnly\": [\n \"单对象到多个关联对象的标签投影\",\n \"交付信息与详情出口\"\n ],\n \"mappingQuestions\": [\n \"按当前应用本体核对稳定标识、属性类型、单位和状态语义\",\n \"核对关系方向、基数、查询范围及关联键\",\n \"核对当前操作的授权、输入输出、失败和并发语义\",\n \"明确修订生成及变更失效规则,保留未知业务部分\"\n ]\n },\n \"dataProjection\": {\n \"inputs\": [\n \"rows:SalesOrderTableRow[]\",\n \"columns:string[](宿主配置可见列)\",\n \"onOpen(id) 必需\"\n ],\n \"derived\": [\n \"columns 控制可见列,不改变固定列序;详情列始终存在\",\n \"batchIds 转成只读标签;不是可点击的批次链接\",\n \"quantity 固定单位片;status 等于已排程用成功色,其余用警示色\",\n \"rows.length 是当前已提供记录数,不表示远端总量\",\n \"空结果 colspan 按实际可见列数计算\"\n ],\n \"localUiState\": [],\n \"outputs\": [\n \"onOpen(`order:${row.id}`)\"\n ],\n \"scope\": \"受控模型及持久化由宿主提供;数组、Card、布局分区和修订字符串不是目标本体。\"\n },\n \"interactionFlow\": {\n \"ascii\": \"宿主查询并投影订单/批次 -> 表格展示\\n点击查看 -> onOpen(order:稳定标识) -> 宿主回查订单\",\n \"existingStates\": [\n \"有数据行与行数\",\n \"空数组显示表头及明确空结果提示\"\n ],\n \"hostResponsibilities\": [\n \"没有创建订单、修改交期、结算或关联批次编辑\",\n \"没有内部查询、分页、排序、列选择器及加载错误界面\",\n \"批次标签不可点击;单位和状态文案需依据当前本体适配\"\n ],\n \"stateDistinction\": \"点击、选中、输入或发出命令不等于业务写入成功。宿主回传匹配对象与修订的状态才展示相应反馈。\"\n },\n \"composition\": {\n \"parts\": [\n \"单对象到多个关联对象的标签投影\",\n \"交付信息与详情出口\"\n ],\n \"sharedContext\": [\n \"一条订单及关联批次标识集合\",\n \"来源的稳定标识及修订(如适用)\"\n ],\n \"coordination\": \"所有跨组件关系均为组合建议;单个组件不隐式推动其他组件状态。\",\n \"with\": [\n {\n \"assetId\": \"production.production-schedule-table\",\n \"support\": \"adaptation-proposal\",\n \"coordination\": \"建议由宿主按当前对象、来源和修订显式协调;本轮没有自动接线。\"\n }\n ]\n },\n \"reuse\": {\n \"wholeWhen\": [\n \"按宿主配置列展示订单、客户、产品、数量、交期及关联排程,回查订单详情。\",\n \"宿主能满足真实 Props、命令、状态和当前应用合同;candidate 可发现但不等于 CLI 可安装。\"\n ],\n \"parts\": [\n \"单对象到多个关联对象的标签投影\",\n \"交付信息与详情出口\"\n ],\n \"adaptWhen\": [\n \"其他主单与多关联记录可借鉴标签列,按当前关系方向、单位和状态改写。\"\n ],\n \"avoidWhen\": [\n \"需要下单、结算或订单变更时不能直接采用。\"\n ],\n \"decision\": \"由 AI 对照当前对象关系、交互合同和源码作可复用/需组合/无匹配判断;输出采用部分、改写部分和缺口。\"\n },\n \"sourceReadingOrder\": [\n {\n \"path\": \"components/business/production/src/sales-order-table.tsx\",\n \"symbols\": [\n \"SalesOrderTable\"\n ],\n \"purpose\": \"先核对实际分区、门禁与事件出口;与 ASCII 和已有能力逐项对照。\"\n }\n ]\n }\n}\n","path":"references/metaform/components/business/production/src/sales-order-table.reference.json","target":"~/references/metaform/components/business/production/src/sales-order-table.reference.json","type":"registry:file"}],"meta":{"assetId":"resource.file.528316a9f464fc73d9b0a9daa89779b6","contractRef":"components/business/production/src/sales-order-table.reference.json","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-528316a9f464fc73d9b0a9daa89779b6","registryDependencies":[],"title":"resource.file.528316a9f464fc73d9b0a9daa89779b6","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.53745e88dcb0cffbf46fe37b79cdc4e5","files":[{"content":"import * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\n\nfunction MessageGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-group\"\n className={cn(\"cn-message-group flex min-w-0 flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction Message({\n className,\n align = \"start\",\n ...props\n}: React.ComponentProps<\"div\"> & { align?: \"start\" | \"end\" }) {\n return (\n <div\n data-slot=\"message\"\n data-align={align}\n className={cn(\n \"cn-message group/message relative flex w-full min-w-0 data-[align=end]:flex-row-reverse\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction MessageAvatar({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-avatar\"\n className={cn(\n \"cn-message-avatar flex w-fit shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction MessageContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-content\"\n className={cn(\n \"cn-message-content flex w-full min-w-0 flex-col wrap-break-word\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction MessageHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-header\"\n className={cn(\n \"cn-message-header flex max-w-full min-w-0 items-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction MessageFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-footer\"\n className={cn(\n \"cn-message-footer flex max-w-full min-w-0 items-center group-data-[align=end]/message:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n MessageGroup,\n Message,\n MessageAvatar,\n MessageContent,\n MessageFooter,\n MessageHeader,\n}\n","path":"src/components/vendor/shadcn/aria/ui/message.tsx","target":"~/src/components/vendor/shadcn/aria/ui/message.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.53745e88dcb0cffbf46fe37b79cdc4e5","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/aria/ui/message.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-53745e88dcb0cffbf46fe37b79cdc4e5","registryDependencies":[],"title":"resource.file.53745e88dcb0cffbf46fe37b79cdc4e5","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.537e42c02b47b3eab01a36b4a07f9c68","files":[{"content":"\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\nimport { AlertDialog as AlertDialogPrimitive } from \"radix-ui\"\n\nimport { Button } from \"./button\"\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\n \"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\n \"text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\n \"mb-2 inline-flex size-16 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Action\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Cancel\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n","path":"src/components/vendor/shadcn/new-york-v4/ui/alert-dialog.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/alert-dialog.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.537e42c02b47b3eab01a36b4a07f9c68","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/alert-dialog.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-537e42c02b47b3eab01a36b4a07f9c68","registryDependencies":[],"title":"resource.file.537e42c02b47b3eab01a36b4a07f9c68","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.53d05a74bf81252933527736fbb75696","files":[{"content":"import * as React from 'react';\n\nimport { cn } from '@metaform/design-system/lib/utils';\n\nfunction Table({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<'table'> & { containerClassName?: string }) {\n return (\n <div\n data-slot=\"table-container\"\n className={cn('relative w-full overflow-x-auto', containerClassName)}\n >\n <table\n data-slot=\"table\"\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn('[&_tr]:border-b [&_tr]:border-border', className)}\n {...props}\n />\n );\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n 'border-b border-border/70 transition-colors hover:bg-muted/35 has-aria-expanded:bg-muted/35 data-[state=selected]:bg-muted',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'h-11 px-4 text-left align-middle text-xs font-semibold text-muted-foreground whitespace-nowrap bg-muted/40 tracking-wider [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n 'px-4 py-3 align-middle text-sm whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn('mt-4 text-sm text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n","path":"references/metaform/vendor/design-system/src/components/ui/table.tsx","target":"~/references/metaform/vendor/design-system/src/components/ui/table.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.53d05a74bf81252933527736fbb75696","contractRef":"vendor/design-system/src/components/ui/table.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-53d05a74bf81252933527736fbb75696","registryDependencies":[],"title":"resource.file.53d05a74bf81252933527736fbb75696","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.54531007d6e56808ec30b8858540c8d7","files":[{"content":"import { Button } from '@metaform/design-system/components/ui/button';\nimport { Textarea } from '@metaform/design-system/components/ui/textarea';\nimport { ContextMismatch, ReviewActions, ReviewChecks, ReviewContextDetails, ReviewFeedback, ReviewNotice, ReviewShell, ReviewState, ReviewSurface, TaskSelection, reviewCommand, sameReviewContext } from './reference-workflow-parts';\nimport type { InspectionBasisReviewCommands, InspectionBasisReviewModel } from './reference-workflow-types';\nexport type { InspectionBasisReviewCommands, InspectionBasisReviewModel } from './reference-workflow-types';\n\nexport function InspectionBasisReview({ model, commands }: { model: InspectionBasisReviewModel; commands: InspectionBasisReviewCommands }) {\n const review = model.review;\n const valid = Boolean(review?.context.revision && review.context.id === model.selectedTaskId && model.tasks.some(task => task.id === model.selectedTaskId));\n const command = review ? reviewCommand(model.command, review.context) : undefined;\n const busy = command?.status === 'pending';\n const confirmed = model.confirmation?.status === 'confirmed' && sameReviewContext(model.confirmation.context, review?.context);\n const stale = model.confirmation && !sameReviewContext(model.confirmation.context, review?.context);\n const blocked = review?.checks.filter(check => check.status === 'block' || check.status === 'unknown').length ?? 0;\n const canConfirm = valid && model.canConfirm && Boolean(review?.checks.length) && blocked === 0;\n const hint = busy ? '操作处理中,请等待结果。' : confirmed ? '当前版本已确认;依据变化后需要重新核对。' : !review?.checks.length ? '尚未提供核查项,补齐依据与核查范围后再确认。' : blocked ? `还有 ${blocked} 项阻断或待核实内容,请先核对来源。` : !model.canConfirm ? '当前任务暂不可确认,请核对处理状态。' : '核对上方项目后,确认本任务当前采用的依据。';\n\n return <ReviewShell title=\"逐任务核对检验依据\" description=\"先核对依据和来源版本,再确认或记录异议。\">\n {model.state !== 'ready' ? <ReviewState model={model} onRetry={commands.retry} /> : <>\n <TaskSelection tasks={model.tasks} selectedId={model.selectedTaskId} onSelect={commands.selectTask} disabled={busy} />\n {!review ? <p role=\"status\">请选择任务,读取对应的依据与版本。</p> : !valid ? <ContextMismatch /> : <>\n <div className=\"grid min-w-0 grid-cols-[minmax(0,1.6fr)_minmax(0,1fr)] items-start gap-4\">\n <ReviewSurface>\n <div className=\"space-y-2\"><h3 className=\"font-semibold\">当前依据与核查结果</h3><p className=\"break-words text-sm leading-relaxed text-muted-foreground\">{review.summary}</p><ReviewContextDetails context={review.context} /></div>\n {stale && <ReviewNotice tone=\"warning\">依据已变化,原确认不再适用,请重新核对。</ReviewNotice>}\n {confirmed && <ReviewNotice tone=\"success\">当前任务与版本的依据已确认。</ReviewNotice>}\n <ReviewChecks checks={review.checks} onOpenSource={commands.openSource} />\n </ReviewSurface>\n <ReviewSurface>\n <div><h3 className=\"font-semibold\">依据异议</h3><p className=\"mt-1 text-sm leading-relaxed text-muted-foreground\">对依据有疑问时,记录具体疑点,便于回查和处理。</p></div>\n <label className=\"block text-sm font-medium\">依据异议<Textarea className=\"mt-2 min-h-28 text-sm\" aria-label=\"依据异议\" value={model.objectionDraft} maxLength={1000} disabled={busy} onChange={event => commands.changeObjection({ ...review.context, note: event.target.value })} /></label>\n <Button className=\"h-auto min-h-9 whitespace-normal\" variant=\"outline\" disabled={busy || !model.objectionDraft.trim()} onClick={() => commands.raiseObjection({ ...review.context, note: model.objectionDraft.trim() })}>记录依据异议</Button>\n </ReviewSurface>\n </div>\n <ReviewFeedback command={command} />\n <ReviewActions hint={hint}>{descriptionId => <Button className=\"h-auto min-h-9 whitespace-normal\" aria-describedby={descriptionId} disabled={busy || !canConfirm || confirmed} onClick={() => commands.confirmBasis(review.context)}>确认当前依据</Button>}</ReviewActions>\n </>}\n </>}\n </ReviewShell>;\n}\n","path":"references/metaform/components/business/quality/src/inspection-basis-review.tsx","target":"~/references/metaform/components/business/quality/src/inspection-basis-review.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.54531007d6e56808ec30b8858540c8d7","contractRef":"components/business/quality/src/inspection-basis-review.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-54531007d6e56808ec30b8858540c8d7","registryDependencies":[],"title":"resource.file.54531007d6e56808ec30b8858540c8d7","type":"registry:block"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.5611f5fff84bcbad3b67991c1113fc66","files":[{"content":"\"use client\"\n\nimport * as React from \"react\"\nimport { Area, AreaChart, CartesianGrid, XAxis } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../ui/select\"\n\nexport const description = \"An interactive area chart\"\n\nconst chartData = [\n { date: \"2024-04-01\", desktop: 222, mobile: 150 },\n { date: \"2024-04-02\", desktop: 97, mobile: 180 },\n { date: \"2024-04-03\", desktop: 167, mobile: 120 },\n { date: \"2024-04-04\", desktop: 242, mobile: 260 },\n { date: \"2024-04-05\", desktop: 373, mobile: 290 },\n { date: \"2024-04-06\", desktop: 301, mobile: 340 },\n { date: \"2024-04-07\", desktop: 245, mobile: 180 },\n { date: \"2024-04-08\", desktop: 409, mobile: 320 },\n { date: \"2024-04-09\", desktop: 59, mobile: 110 },\n { date: \"2024-04-10\", desktop: 261, mobile: 190 },\n { date: \"2024-04-11\", desktop: 327, mobile: 350 },\n { date: \"2024-04-12\", desktop: 292, mobile: 210 },\n { date: \"2024-04-13\", desktop: 342, mobile: 380 },\n { date: \"2024-04-14\", desktop: 137, mobile: 220 },\n { date: \"2024-04-15\", desktop: 120, mobile: 170 },\n { date: \"2024-04-16\", desktop: 138, mobile: 190 },\n { date: \"2024-04-17\", desktop: 446, mobile: 360 },\n { date: \"2024-04-18\", desktop: 364, mobile: 410 },\n { date: \"2024-04-19\", desktop: 243, mobile: 180 },\n { date: \"2024-04-20\", desktop: 89, mobile: 150 },\n { date: \"2024-04-21\", desktop: 137, mobile: 200 },\n { date: \"2024-04-22\", desktop: 224, mobile: 170 },\n { date: \"2024-04-23\", desktop: 138, mobile: 230 },\n { date: \"2024-04-24\", desktop: 387, mobile: 290 },\n { date: \"2024-04-25\", desktop: 215, mobile: 250 },\n { date: \"2024-04-26\", desktop: 75, mobile: 130 },\n { date: \"2024-04-27\", desktop: 383, mobile: 420 },\n { date: \"2024-04-28\", desktop: 122, mobile: 180 },\n { date: \"2024-04-29\", desktop: 315, mobile: 240 },\n { date: \"2024-04-30\", desktop: 454, mobile: 380 },\n { date: \"2024-05-01\", desktop: 165, mobile: 220 },\n { date: \"2024-05-02\", desktop: 293, mobile: 310 },\n { date: \"2024-05-03\", desktop: 247, mobile: 190 },\n { date: \"2024-05-04\", desktop: 385, mobile: 420 },\n { date: \"2024-05-05\", desktop: 481, mobile: 390 },\n { date: \"2024-05-06\", desktop: 498, mobile: 520 },\n { date: \"2024-05-07\", desktop: 388, mobile: 300 },\n { date: \"2024-05-08\", desktop: 149, mobile: 210 },\n { date: \"2024-05-09\", desktop: 227, mobile: 180 },\n { date: \"2024-05-10\", desktop: 293, mobile: 330 },\n { date: \"2024-05-11\", desktop: 335, mobile: 270 },\n { date: \"2024-05-12\", desktop: 197, mobile: 240 },\n { date: \"2024-05-13\", desktop: 197, mobile: 160 },\n { date: \"2024-05-14\", desktop: 448, mobile: 490 },\n { date: \"2024-05-15\", desktop: 473, mobile: 380 },\n { date: \"2024-05-16\", desktop: 338, mobile: 400 },\n { date: \"2024-05-17\", desktop: 499, mobile: 420 },\n { date: \"2024-05-18\", desktop: 315, mobile: 350 },\n { date: \"2024-05-19\", desktop: 235, mobile: 180 },\n { date: \"2024-05-20\", desktop: 177, mobile: 230 },\n { date: \"2024-05-21\", desktop: 82, mobile: 140 },\n { date: \"2024-05-22\", desktop: 81, mobile: 120 },\n { date: \"2024-05-23\", desktop: 252, mobile: 290 },\n { date: \"2024-05-24\", desktop: 294, mobile: 220 },\n { date: \"2024-05-25\", desktop: 201, mobile: 250 },\n { date: \"2024-05-26\", desktop: 213, mobile: 170 },\n { date: \"2024-05-27\", desktop: 420, mobile: 460 },\n { date: \"2024-05-28\", desktop: 233, mobile: 190 },\n { date: \"2024-05-29\", desktop: 78, mobile: 130 },\n { date: \"2024-05-30\", desktop: 340, mobile: 280 },\n { date: \"2024-05-31\", desktop: 178, mobile: 230 },\n { date: \"2024-06-01\", desktop: 178, mobile: 200 },\n { date: \"2024-06-02\", desktop: 470, mobile: 410 },\n { date: \"2024-06-03\", desktop: 103, mobile: 160 },\n { date: \"2024-06-04\", desktop: 439, mobile: 380 },\n { date: \"2024-06-05\", desktop: 88, mobile: 140 },\n { date: \"2024-06-06\", desktop: 294, mobile: 250 },\n { date: \"2024-06-07\", desktop: 323, mobile: 370 },\n { date: \"2024-06-08\", desktop: 385, mobile: 320 },\n { date: \"2024-06-09\", desktop: 438, mobile: 480 },\n { date: \"2024-06-10\", desktop: 155, mobile: 200 },\n { date: \"2024-06-11\", desktop: 92, mobile: 150 },\n { date: \"2024-06-12\", desktop: 492, mobile: 420 },\n { date: \"2024-06-13\", desktop: 81, mobile: 130 },\n { date: \"2024-06-14\", desktop: 426, mobile: 380 },\n { date: \"2024-06-15\", desktop: 307, mobile: 350 },\n { date: \"2024-06-16\", desktop: 371, mobile: 310 },\n { date: \"2024-06-17\", desktop: 475, mobile: 520 },\n { date: \"2024-06-18\", desktop: 107, mobile: 170 },\n { date: \"2024-06-19\", desktop: 341, mobile: 290 },\n { date: \"2024-06-20\", desktop: 408, mobile: 450 },\n { date: \"2024-06-21\", desktop: 169, mobile: 210 },\n { date: \"2024-06-22\", desktop: 317, mobile: 270 },\n { date: \"2024-06-23\", desktop: 480, mobile: 530 },\n { date: \"2024-06-24\", desktop: 132, mobile: 180 },\n { date: \"2024-06-25\", desktop: 141, mobile: 190 },\n { date: \"2024-06-26\", desktop: 434, mobile: 380 },\n { date: \"2024-06-27\", desktop: 448, mobile: 490 },\n { date: \"2024-06-28\", desktop: 149, mobile: 200 },\n { date: \"2024-06-29\", desktop: 103, mobile: 160 },\n { date: \"2024-06-30\", desktop: 446, mobile: 400 },\n]\n\nconst chartConfig = {\n visitors: {\n label: \"Visitors\",\n },\n desktop: {\n label: \"Desktop\",\n color: \"var(--chart-1)\",\n },\n mobile: {\n label: \"Mobile\",\n color: \"var(--chart-2)\",\n },\n} satisfies ChartConfig\n\nexport function ChartAreaInteractive() {\n const [timeRange, setTimeRange] = React.useState(\"90d\")\n\n const filteredData = chartData.filter((item) => {\n const date = new Date(item.date)\n const referenceDate = new Date(\"2024-06-30\")\n let daysToSubtract = 90\n if (timeRange === \"30d\") {\n daysToSubtract = 30\n } else if (timeRange === \"7d\") {\n daysToSubtract = 7\n }\n const startDate = new Date(referenceDate)\n startDate.setDate(startDate.getDate() - daysToSubtract)\n return date >= startDate\n })\n\n return (\n <Card className=\"pt-0\">\n <CardHeader className=\"flex items-center gap-2 space-y-0 border-b py-5 sm:flex-row\">\n <div className=\"grid flex-1 gap-1\">\n <CardTitle>Area Chart - Interactive</CardTitle>\n <CardDescription>\n Showing total visitors for the last 3 months\n </CardDescription>\n </div>\n <Select value={timeRange} onValueChange={setTimeRange}>\n <SelectTrigger\n className=\"hidden w-[160px] rounded-lg sm:ml-auto sm:flex\"\n aria-label=\"Select a value\"\n >\n <SelectValue placeholder=\"Last 3 months\" />\n </SelectTrigger>\n <SelectContent className=\"rounded-xl\">\n <SelectItem value=\"90d\" className=\"rounded-lg\">\n Last 3 months\n </SelectItem>\n <SelectItem value=\"30d\" className=\"rounded-lg\">\n Last 30 days\n </SelectItem>\n <SelectItem value=\"7d\" className=\"rounded-lg\">\n Last 7 days\n </SelectItem>\n </SelectContent>\n </Select>\n </CardHeader>\n <CardContent className=\"px-2 pt-4 sm:px-6 sm:pt-6\">\n <ChartContainer\n config={chartConfig}\n className=\"aspect-auto h-[250px] w-full\"\n >\n <AreaChart data={filteredData}>\n <defs>\n <linearGradient id=\"fillDesktop\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop\n offset=\"5%\"\n stopColor=\"var(--color-desktop)\"\n stopOpacity={0.8}\n />\n <stop\n offset=\"95%\"\n stopColor=\"var(--color-desktop)\"\n stopOpacity={0.1}\n />\n </linearGradient>\n <linearGradient id=\"fillMobile\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop\n offset=\"5%\"\n stopColor=\"var(--color-mobile)\"\n stopOpacity={0.8}\n />\n <stop\n offset=\"95%\"\n stopColor=\"var(--color-mobile)\"\n stopOpacity={0.1}\n />\n </linearGradient>\n </defs>\n <CartesianGrid vertical={false} />\n <XAxis\n dataKey=\"date\"\n tickLine={false}\n axisLine={false}\n tickMargin={8}\n minTickGap={32}\n tickFormatter={(value) => {\n const date = new Date(value)\n return date.toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n })\n }}\n />\n <ChartTooltip\n cursor={false}\n content={\n <ChartTooltipContent\n labelFormatter={(value) => {\n return new Date(value).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n })\n }}\n indicator=\"dot\"\n />\n }\n />\n <Area\n dataKey=\"mobile\"\n type=\"natural\"\n fill=\"url(#fillMobile)\"\n stroke=\"var(--color-mobile)\"\n stackId=\"a\"\n />\n <Area\n dataKey=\"desktop\"\n type=\"natural\"\n fill=\"url(#fillDesktop)\"\n stroke=\"var(--color-desktop)\"\n stackId=\"a\"\n />\n <ChartLegend content={<ChartLegendContent />} />\n </AreaChart>\n </ChartContainer>\n </CardContent>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-area-interactive.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-area-interactive.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.5611f5fff84bcbad3b67991c1113fc66","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-area-interactive.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-5611f5fff84bcbad3b67991c1113fc66","registryDependencies":[],"title":"resource.file.5611f5fff84bcbad3b67991c1113fc66","type":"registry:block"}
|