@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.
Files changed (955) hide show
  1. package/README.md +35 -5
  2. package/dist/application-source.js +1 -1
  3. package/dist/asset-selection.d.ts +3 -0
  4. package/dist/asset-selection.js +37 -0
  5. package/dist/cli.js +13 -5
  6. package/dist/contracts.d.ts +18 -0
  7. package/dist/planner.js +1 -0
  8. package/dist/validate.js +1 -1
  9. package/package.json +1 -1
  10. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/catalog.json +1 -0
  11. package/registry/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/asset-internals-semantic-region-contract.json +1 -1
  12. package/registry/{7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/asset-internals-semantic-region-semantic-region-scaffold.json +1 -1
  13. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-aspect-fit-viewport-variant-current.json +1 -0
  14. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-command-feedback-variant-current.json +1 -0
  15. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-context-pills-variant-current.json +1 -0
  16. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-info-callout-variant-current.json +1 -0
  17. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/common-query-mode-selector-variant-current.json +1 -0
  18. package/registry/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/common-semantic-region-scaffold.json +1 -1
  19. package/registry/{7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/components-business-role-tasks-icons.json +1 -1
  20. package/registry/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/components-business-role-tasks-types.json +1 -1
  21. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/generated-batch-trace-workspace-variant-current.json +1 -0
  22. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/industry-first-piece-inspection-workbench-variant-current.json +1 -0
  23. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/industry-qcvision-station-terminal-variant-current.json +1 -0
  24. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/industry-vision-stream-viewport-variant-current.json +1 -0
  25. package/registry/{5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/lib-utils.json +1 -1
  26. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/npm-react-flow-variant-package.json +1 -0
  27. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/npm-tanstack-table-variant-package.json +1 -0
  28. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/production-production-schedule-table-variant-current.json +1 -0
  29. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/production-sales-order-table-variant-current.json +1 -0
  30. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-batch-standard-binding-variant-current.json +1 -0
  31. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-ctq-standard-table-variant-current.json +1 -0
  32. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-defect-catalog-variant-current.json +1 -0
  33. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-disposal-history-workspace-variant-current.json +1 -0
  34. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-basis-review-variant-current.json +1 -0
  35. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-evidence-workspace-variant-current.json +1 -0
  36. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-plan-workspace-variant-current.json +1 -0
  37. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-record-audit-variant-current.json +1 -0
  38. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-start-permit-variant-current.json +1 -0
  39. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-task-list-variant-current.json +1 -0
  40. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-inspection-task-workspace-variant-current.json +1 -0
  41. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-priority-advice-variant-current.json +1 -0
  42. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-retest-execution-workspace-variant-current.json +1 -0
  43. package/registry/{ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/quality-role-task-groups.json +1 -1
  44. package/registry/{7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/quality-role-task-overview.json +1 -1
  45. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-sku-standard-selector-variant-current.json +1 -0
  46. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-standard-ctq-workspace-variant-current.json +1 -0
  47. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-standard-summary-variant-current.json +1 -0
  48. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-work-items-table-variant-current.json +1 -0
  49. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/quality-work-summary-variant-current.json +1 -0
  50. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0043e57dd928aad16b1b9b972cfb3173.json +1 -0
  51. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-00c8d55005b5a4baf94a341ca69f4966.json +1 -0
  52. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-01d553cf16781a023ccec7b18623de40.json +1 -0
  53. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-01e6abd3e7b70d221662df07f8c64550.json +1 -0
  54. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-02f5c909e4fade199658b380f79a14d9.json +1 -0
  55. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-03f02772454e4182c90419e866fa4b7b.json +1 -0
  56. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-045cb9726ef465fec87b866a11b23265.json +1 -0
  57. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-04a453866bc8bb54bea583477487d5ba.json +1 -0
  58. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-04ed28e39be259a549c2344334eed6a8.json +1 -0
  59. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-04f1466dedf9f883f981c656b2c987c8.json +1 -0
  60. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0518966050dde31ecbc186cca832e483.json +1 -0
  61. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-052d30ae55fd30df1cb66f29cd49d062.json +1 -0
  62. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-053415eaa293c061aa2c007daed9d4eb.json +1 -0
  63. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-057ec59eabb83a4ef69fb3925d6db669.json +1 -0
  64. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-06adeb9d2e39787dc33bfceb258891c3.json +1 -0
  65. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-084866c148ab7f104728b5d6292b6593.json +1 -0
  66. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-085d58e1bd5e597d0a08a24d97c6faf5.json +1 -0
  67. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0895b5b03c4715b03b1bba7e16699884.json +1 -0
  68. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-08ae8e8fe37b45ea01d7f27006e04e61.json +1 -0
  69. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0a621fd488ce72f1bea91ea3186b8a56.json +1 -0
  70. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0afc6bd66f6a5b8a829d284248ec8f9e.json +1 -0
  71. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0b8f18394cb7280edfde1bb24ca60bd0.json +1 -0
  72. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0cbe7c0b8bb0a8ae5e9fbc58b5e305a3.json +1 -0
  73. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0d09ea83af37be20d289013e66c9a7af.json +1 -0
  74. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0d31920a13fd8133a2c5344545be2c54.json +1 -0
  75. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0e23f15fd250f0456d35a75ccb3b27b1.json +1 -0
  76. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0e43b049179074ae830c244f325310b1.json +1 -0
  77. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0f02a59d40323f651a14364eec0b3baf.json +1 -0
  78. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-0f98ecb78bce41a67dea5ab9f0de1ebf.json +1 -0
  79. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-109c3f38f0954dc1aad9bd36caf2ab75.json +1 -0
  80. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-11396a7b8f9c55ff8fc4bcfec197a7aa.json +1 -0
  81. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-11a56b7ca0a7ecf3ef172f92a5f46d8c.json +1 -0
  82. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-126b2a04acd9fef96a5d4b1b3c7c13a8.json +1 -0
  83. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-126db03a23494d9dba9e4de867425450.json +1 -0
  84. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-12c1889085d2348299bae2345c09029d.json +1 -0
  85. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-130d3fba5483cf6c9c20201c4e143a9a.json +1 -0
  86. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-138715fa9cfa10866589be59de922731.json +1 -0
  87. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1393bf1d36ad11b0bf95b66f5d609e34.json +1 -0
  88. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-14873999bfce9c9a559fe496719de5b6.json +1 -0
  89. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-15d54f45e4fa36818b8c9595039dd476.json +1 -0
  90. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-162c4d081e85d330daa56b4a9d5a7a8d.json +1 -0
  91. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-16fc76b021d2e39ea9eea3b8b98108be.json +1 -0
  92. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-191b94675f22b4930760ad50ce023b55.json +1 -0
  93. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1979455be25f92b075758b44c471c9b9.json +1 -0
  94. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1986d8a6f56623dd9a9b69562f5e01bc.json +1 -0
  95. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1a7adfa87c205e52122faa0683198594.json +1 -0
  96. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1b294eae05d2546ae0ae330603452eaf.json +1 -0
  97. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1b4aa8f055028ed8d72a5f91e8d685a4.json +1 -0
  98. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1b78777776d838f8ddadc544bc2db718.json +1 -0
  99. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1c4dbdf22cf45bc9d607e61edb49e19f.json +1 -0
  100. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1c7e1dbc4c475bd22afe573072ba1180.json +1 -0
  101. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1ef22b640d802930fa7379695d54d555.json +1 -0
  102. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-1fe0c6d6a60b562d510b6d4c30b35e7d.json +1 -0
  103. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-20166f90e90d394304c0332224be6807.json +1 -0
  104. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-20366f62f9161505bede9a404054e09f.json +1 -0
  105. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-20835cc5098f84e1c6d976d0386cf989.json +1 -0
  106. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-21ae566b34a22b344ff9dc0e6466b8c5.json +1 -0
  107. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2261f4f018e42b86f25f48405bc8f650.json +1 -0
  108. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-22e17ea703af0f162d0a3f1211a260fb.json +1 -0
  109. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2437594cd128c629f17850fcdfa19d65.json +1 -0
  110. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-256a70d159b7d441cf377efb9094ea60.json +1 -0
  111. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-25b31ad384aa880a756d82c87b90720b.json +1 -0
  112. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-27340089a9d0bd156e31bcbed2a38d87.json +1 -0
  113. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-27bcc05ec703b73983a2ffe35c9b878e.json +1 -0
  114. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-27c3f6b28885c9fc7a63d41d56176add.json +1 -0
  115. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-286372154a659b36c7997b159acc6b09.json +1 -0
  116. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2899fa9a30fdfebb0c36f7fc739d265c.json +1 -0
  117. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2928cded41993d04705a03de7b7b0d66.json +1 -0
  118. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2a38ce44af296ac9d4d900477242158d.json +1 -0
  119. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2a588d5f252b09addfe0564be890a926.json +1 -0
  120. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2a7f0260d05ed8f9b2da80087357feab.json +1 -0
  121. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2ac081aec7f278cd7ba3c26ddd282306.json +1 -0
  122. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2bb707dc74b4dcffc814a35a01731cfa.json +1 -0
  123. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2bbe12cc04a27c9d981dc37fa211c03b.json +1 -0
  124. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2c822ea0996c634cefbe21b18cb54a73.json +1 -0
  125. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2c8d5f4366b691da3a00a7ec48465d91.json +1 -0
  126. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2cb32656b5a1534631d8cfb464ff2438.json +1 -0
  127. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2da20628695dd758d9543c7d0ced43ac.json +1 -0
  128. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2ebddf972f5906fe2ad4c0c165dbb841.json +1 -0
  129. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2ece04e85f9c64311da74f397daed140.json +1 -0
  130. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2f2c6505c711b9e78785d519b21eec0f.json +1 -0
  131. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2f57e056c6918c99cdc79dd6db6b986c.json +1 -0
  132. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-2f6bab267cc6396bd652a5f6d2a02632.json +1 -0
  133. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-300c0772947f7735f5b64efaa2f62a78.json +1 -0
  134. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-312ea7d33a3df77153eae23bda0a0245.json +1 -0
  135. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-316c1b92876aacea746d75802c0d7d4c.json +1 -0
  136. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-31ebebefd8db6f0bdbb0fefbc0389de7.json +1 -0
  137. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3203b40dd22feb6b65a964742c4d8fce.json +1 -0
  138. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3299645447afb4530963b6fc9db681bd.json +1 -0
  139. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-333607df2236de223bdb1a9fe19c1945.json +1 -0
  140. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-335b719bb04cc0cd9b3ed7e1237ef5e8.json +1 -0
  141. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3375486fd543cae7f699ade8f27f68f4.json +1 -0
  142. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3381a38b67374dda3c2944c65314f0cb.json +1 -0
  143. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3504e53d7e510ad849e75a1c6aee198d.json +1 -0
  144. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-354b95055c194ebd541c698ce37302e4.json +1 -0
  145. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-364ecc0e543346a3427d0dae3bc75794.json +1 -0
  146. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-372ca4d177d2e7f6ab467b69d1f57aa1.json +1 -0
  147. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-37fc32b645964f6be273aece7f099e38.json +1 -0
  148. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3953b1def0cf4a72d71f8ee128951759.json +1 -0
  149. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3a6558e7a08015f8b5008a263a1a6911.json +1 -0
  150. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3ad6ac3c854f69532e18e57d9b578199.json +1 -0
  151. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3b050204881c4d685a2649ff20555873.json +1 -0
  152. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3b5cf1e922b3cecb0b57f42da4f49b49.json +1 -0
  153. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3ba45deb18affd7688f4b8ddfa84fe14.json +1 -0
  154. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3bb19a088b763906019a1116ee9f125d.json +1 -0
  155. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3bba60e5d0a56cf624b433583a9d2dec.json +1 -0
  156. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3bc7c5b3de6c0c7cb8f16383818ea751.json +1 -0
  157. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3c007afa59ac91e4b37c7a0402e9a36f.json +1 -0
  158. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3c8e4372ea66c1f7325cb439f4c91d80.json +1 -0
  159. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3c982fd6c3fadf2ae0e4d91a57cf51cf.json +1 -0
  160. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3d44fadf57d4f71b6034aa68e26a2765.json +1 -0
  161. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3d9a2e771e1749d3a745d504f13fe9a2.json +1 -0
  162. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3dcbe33586f1ee5a5a6ca57dd5ad0166.json +1 -0
  163. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3df27b0f99eaccd6f58a0e2a7cc44b78.json +1 -0
  164. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3e9192828cd93fc01494e6f12d659d8a.json +1 -0
  165. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3ec4790f34cd0fc960ab1ea03ad06b22.json +1 -0
  166. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-3f93012e2ccc3c3b0103c9aaad4a3a61.json +1 -0
  167. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-40954380adf4bc1b07e4fb32c22586f2.json +1 -0
  168. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-42ef27404a64c9d46e7833cbb59f3b43.json +1 -0
  169. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-42f07227a0a0864abf713f00f353ddfb.json +1 -0
  170. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-43512ce77819415759ea198569b0cd34.json +1 -0
  171. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-43c5eb7da37eac5893c07cc5d7560301.json +1 -0
  172. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4401b21da7ce328daf2fb52cf725484f.json +1 -0
  173. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4712335a12a493a43a9f3eb4593f551d.json +1 -0
  174. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-47173e89fcee2564e861628a17cbf05b.json +1 -0
  175. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-47605e3a6450d5b90c9aad54c8cdfa00.json +1 -0
  176. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4818296bc1dabfc966ab8125281e5c71.json +1 -0
  177. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4835e4ffc00370c53e75ec26efa6fa17.json +1 -0
  178. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4893029edb1db66214d43346fb8d4d5d.json +1 -0
  179. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-48b4b9b136a8f6307a30264405a95935.json +1 -0
  180. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-492ea24370d8a0987f481811eaa80280.json +1 -0
  181. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-49739dad3058d32ce94e49658463bea3.json +1 -0
  182. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4b592074107a8059130912625fb68ad7.json +1 -0
  183. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4baa0ff20963508031ff0b13899cbaef.json +1 -0
  184. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4bb4f111425b3b18b9656b1353681e26.json +1 -0
  185. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4bd0221e2d76bda2dad911ab37b6db3e.json +1 -0
  186. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4c94abc11b5ab99724fe76eec6e78dff.json +1 -0
  187. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4ca57ee80dcf3471867ea931de7218d1.json +1 -0
  188. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4cfb318d2d7de05bdecc667d1820196b.json +1 -0
  189. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d187583c7d504f51d7ac5fec8e81b08.json +1 -0
  190. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d1fec30e44dd589094311155c86f83b.json +1 -0
  191. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d25441d03a56e943122365865518a16.json +1 -0
  192. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d30620dddcc9c0a0e74253ac9884748.json +1 -0
  193. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d5ed560d6cfef0bcb835646a9094e2d.json +1 -0
  194. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4d9f59895f2ee7060f1748ff21349c1e.json +1 -0
  195. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4da7d38ab74d0654a768f85d230f4814.json +1 -0
  196. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4df4c418bdafef34073d7e3a75f5b89a.json +1 -0
  197. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4e7437aef0ca11fa8d8052aa29a0124a.json +1 -0
  198. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4eb6cad60f9b3c55325eb1521e58da40.json +1 -0
  199. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4ec2156d751e3f1c7bd91a7953f44048.json +1 -0
  200. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4ec312a285d651f121d381914420204e.json +1 -0
  201. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4edbc145facf97071a9ac7f8486a96aa.json +1 -0
  202. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4eff2daa0be06d8b37afe8c1f2a6cd3f.json +1 -0
  203. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-4fef9e0091d1e4682871bd560658da2b.json +1 -0
  204. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-50074d0acffa5bdceee4593f5d860f79.json +1 -0
  205. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5057227edac90744c335f606136cab68.json +1 -0
  206. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-50afd8db220d2c04b67a849e768be5dd.json +1 -0
  207. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-513f193c591b981d671bbe047ffc68e6.json +1 -0
  208. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-514d80e63e81863f09ef4b9fe290cc0e.json +1 -0
  209. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-516854d362d8796325a0441b19a20305.json +1 -0
  210. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5181f05f6d741b4f8d30e2ccabe4ff72.json +1 -0
  211. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-518472089629dfe30e03f96a9c0c8bda.json +1 -0
  212. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5205a09a040fad995db87f519d9c6443.json +1 -0
  213. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-528316a9f464fc73d9b0a9daa89779b6.json +1 -0
  214. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-53745e88dcb0cffbf46fe37b79cdc4e5.json +1 -0
  215. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-537e42c02b47b3eab01a36b4a07f9c68.json +1 -0
  216. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-53d05a74bf81252933527736fbb75696.json +1 -0
  217. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-54531007d6e56808ec30b8858540c8d7.json +1 -0
  218. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5611f5fff84bcbad3b67991c1113fc66.json +1 -0
  219. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5665b13f43303fb6b9f4ab0694e6c0a2.json +1 -0
  220. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-569f3feef27275f8d9324eceb78ef51a.json +1 -0
  221. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-56bc9279a0e37e2c8402fd165752f988.json +1 -0
  222. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-56c6e7fc104772e4ddb652f8d31f7834.json +1 -0
  223. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5725f330edb2214a35e9ce511820959a.json +1 -0
  224. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5767adf55177179a00d3b8de54ce65ea.json +1 -0
  225. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-57e4a30465388420b259f0bd5bd9d81d.json +1 -0
  226. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-58052416630884d1600ace2e01722ff9.json +1 -0
  227. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-586d25e8eadc1259574b28e40052c681.json +1 -0
  228. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-58bbcee4f6a80d244fa58848f663e6dd.json +1 -0
  229. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-593344611bd1ecb7cef4c108108d68c4.json +1 -0
  230. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5a9f90bca5db1c4da9c3cf9ae666fb84.json +1 -0
  231. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5b5733d44f3d557429459e5d900611bf.json +1 -0
  232. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5c411907331e8b99bd98aeef8d60109f.json +1 -0
  233. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5d5777d24a45958290a9fe547fc27ec9.json +1 -0
  234. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5e0a2f31bd5e40821a0e9817774c20ac.json +1 -0
  235. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5e54d019582c3a1841832c0db02add9c.json +1 -0
  236. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5f0879afcb23d78766ccc4f01095fb71.json +1 -0
  237. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5f1c47cd970a4792941514429e589e33.json +1 -0
  238. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-5f79ab8b9b7ba104e0396a3aea4abc14.json +1 -0
  239. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-601fc90bcb7a22e6b2bb7b3a53b159e6.json +1 -0
  240. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6068b9477fe9481403a2f210420c43bb.json +1 -0
  241. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-607f802c9d96bf84c113b1ac909059db.json +1 -0
  242. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-611519a2ac7735ad2ba45d9338745040.json +1 -0
  243. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-612776cf448168607fea7a93ae04fbd3.json +1 -0
  244. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-63ac7916f19ba66360592f2ee591d23d.json +1 -0
  245. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-63b01c2e991e65039ffcd798272e718b.json +1 -0
  246. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-63c8ebb4097b37a0602eb3ba904f7b1a.json +1 -0
  247. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-647fe3d6a4df16c7eb98883db8e9096e.json +1 -0
  248. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-64c6e624e56f458f812cdf78aaf41d12.json +1 -0
  249. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-658292e3bd28910e0a8546c9004919ac.json +1 -0
  250. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-66d1851f68f856d40c5e403a0fa9c259.json +1 -0
  251. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-676dbe89866652c26e49ceafe7ccaa81.json +1 -0
  252. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-678e823dc1936062d601ffa5c1b99f92.json +1 -0
  253. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6808d8095309d9e0205c5461fc2e8ad1.json +1 -0
  254. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6947f7afadb964f09c940d43034dd00a.json +1 -0
  255. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6bd3aafed17818f8ff04bc980b55931f.json +1 -0
  256. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6c658b024e9158f114be6eeb06eb6d74.json +1 -0
  257. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6c7831487ad281aa9a16e98f6123a4c4.json +1 -0
  258. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6cdfc648ebbfb643477a06fa4e7b2fb3.json +1 -0
  259. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6e59e4649f306f837b810dffbb190513.json +1 -0
  260. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6e9d4e4c86f4a7e9381bcfe691c626ca.json +1 -0
  261. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6ea6ec33318562259288e183026d1350.json +1 -0
  262. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6f9041d6fa1e4d2486a09c2a6c9a3fa0.json +1 -0
  263. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6f91c2954eba952db8869c1413b279c3.json +1 -0
  264. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6fa020760266cd59092d5fb241670c33.json +1 -0
  265. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-6fe6ee80c8a686d14aec364f19ec2e1b.json +1 -0
  266. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-72c4e5c5dc4754c55220728c0b28207a.json +1 -0
  267. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-75bb3f06a2b5d07c6e6401d680f6630d.json +1 -0
  268. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-789cbf76f5cde37cdcc06534c3b68474.json +1 -0
  269. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-78f7d1a8d463884e06360211ce56f7b5.json +1 -0
  270. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-79737b39fc35192c7e65968d1ce90537.json +1 -0
  271. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7ad79770ee35fc64a45856162b1bed65.json +1 -0
  272. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7c15d0204c215ff38bc542ae7420dd0f.json +1 -0
  273. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7c98136dc14e18956d6127feb1d65c2b.json +1 -0
  274. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7c9a6b327c8d64f288445c2b6c9a16a5.json +1 -0
  275. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7ccae0671e7b68c01357bd7936f20d74.json +1 -0
  276. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7cf24d538eb9a2d61f146805e561b806.json +1 -0
  277. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d48debbc1ddf9ab86b46c213412cd89.json +1 -0
  278. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d8153be23f0c426b89bd726b7505e04.json +1 -0
  279. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d9a5bf3f7b01de37da7583f5032be7d.json +1 -0
  280. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7d9d27b1952b4a542239cde16a0d0048.json +1 -0
  281. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7e478ac3f527826c8fccc7b9b5f7dfd3.json +1 -0
  282. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7e9c60ee517ce35fb2baab9beaadf6cb.json +1 -0
  283. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7ef75d8d34c9a952892f305c273ccd95.json +1 -0
  284. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7f09b25d6e9e672efe7108635e37d1bf.json +1 -0
  285. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-7fb3f16dafaa805b21164996b869e9d6.json +1 -0
  286. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-81a9af73616553df18569bd2bd1afed6.json +1 -0
  287. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-83170af386d68d4cdde3a4a85521336b.json +1 -0
  288. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-83c9eb999c9c78e60a22ae5a248c03de.json +1 -0
  289. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-83e98cd293dd4dd4398f5618224c5931.json +1 -0
  290. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-846b19f7b160f92c9458ac2787ffc253.json +1 -0
  291. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-855cd96281bba53054b204d466e73c11.json +1 -0
  292. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-85fe1c99aaca942b17cac401e3a35dab.json +1 -0
  293. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-86701544d23d231dec42468e114d446d.json +1 -0
  294. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-87da11560bbc726c6ea363b6b581c47a.json +1 -0
  295. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-889746cb16eda2dec7800b4c07b65f1f.json +1 -0
  296. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-889a5e5032775da6e0088714748d592f.json +1 -0
  297. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-895ed8de592968a2188f948962d2bbef.json +1 -0
  298. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-897cfe0b8129b5879fb0649946643f9e.json +1 -0
  299. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8984d43da6a7e8c3696849f887673651.json +1 -0
  300. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-89cd5f6be9e646419eb2e559022ceede.json +1 -0
  301. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-89fe3bdc6452ef49d2ae2d5105d69dda.json +1 -0
  302. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8b049a29fbe399422d407b74c69619d6.json +1 -0
  303. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8bc2043958e00316ab71e8d4c9a78a12.json +1 -0
  304. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8c326bf44bff77851e20a70d8ce31328.json +1 -0
  305. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8c70a1548e8ed8a2969d2c73185e11a3.json +1 -0
  306. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8d0ad3a83853c2d514da69a01c53ff43.json +1 -0
  307. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8e75077823b410c64e90328b99c5d93a.json +1 -0
  308. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8ea90af408fe048823aa847b2853c895.json +1 -0
  309. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8ef73fcc2c33175df26f9d5b8fafa746.json +1 -0
  310. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-8fdb75c3da6a5a0c86c3193d025cf6f8.json +1 -0
  311. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-90b79237b5272ce414e11d7f2c222676.json +1 -0
  312. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-91b6c344e59fb18f9d9a43f4ac15c2ec.json +1 -0
  313. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-91e7c7b18a4cc1c00206b79e3a875721.json +1 -0
  314. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-91f65ded749b71eec77d14c7b72e6e01.json +1 -0
  315. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-92734d6dc96c5b03a206672067ed6ad7.json +1 -0
  316. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-92ccd9fbf8bc9e36c99bac8fe45034e4.json +1 -0
  317. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-937ad49406c560ed1c2450f48fb63104.json +1 -0
  318. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-93db91ccd566c942db3a063bf76da6ec.json +1 -0
  319. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-947119e505579579530d80bf84d1d0fa.json +1 -0
  320. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-948d2a48eb1beacf64d56c691633d246.json +1 -0
  321. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9560776f771679ca4067aa76474856a8.json +1 -0
  322. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-956b78fd44ecff3e99e4dfcb046b73cf.json +1 -0
  323. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-96b2515967c3f6fad23c3e74abd6a78d.json +1 -0
  324. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9757ff8fc1f1e3c29087e671c2c0330a.json +1 -0
  325. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-976b2ec747d6586ae072e70d8529b919.json +1 -0
  326. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-979df5a8937fae87d767f14a16e44a5b.json +1 -0
  327. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9828c43e30609abe2895da43d965766c.json +1 -0
  328. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-988ea60de435fbafa4c73475ebda6c26.json +1 -0
  329. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-98a31a8e34a7a2c72ddccd9b5ef8f3fc.json +1 -0
  330. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9a15c1c7316af78fa93fa6e08527a5b1.json +1 -0
  331. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9a705699e5cbb0796d374c7fb5063c55.json +1 -0
  332. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9acc2ac78b8d44fb81eb128827d82cac.json +1 -0
  333. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9aeeea2ea4e83bba364e89176bea3238.json +1 -0
  334. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9bd487a87de48a1eea500492a2e056aa.json +1 -0
  335. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9c36248079d89840ddb4bf997d07e04d.json +1 -0
  336. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9c867e4a8af235bc23b527beba0443e0.json +1 -0
  337. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9cd18f9ed6a47dfbdcfc0db54592474a.json +1 -0
  338. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9cdb964fcb178a3f4be356cf03f7240d.json +1 -0
  339. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9dd21f3cc913f0547330db095b5a0356.json +1 -0
  340. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9e3a37d4c39f1f45334ff7578bd9ae91.json +1 -0
  341. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9e83220a1aa446487a28b4fa4ca46301.json +1 -0
  342. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9ef543a30c33ca647b210bb53edea882.json +1 -0
  343. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-9f66a0ca72050bb191480227553e2b19.json +1 -0
  344. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a056d0626ce7e3e16affa22ebaddf3a6.json +1 -0
  345. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a0947a0b8da0b546c5945dbbb84ea6f4.json +1 -0
  346. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a09bde56c795c855955fdfc9300f181d.json +1 -0
  347. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a0bb37e5c5f592bba526377ea4e216a0.json +1 -0
  348. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a109f50262b145b7e3a98861037d6ae6.json +1 -0
  349. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a1aac3bde8a654c7084647ce8c0cfe4f.json +1 -0
  350. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a2893a2b63c012b2eab4bce8d249477f.json +1 -0
  351. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a2c16deb7841e92bfe3634f0e6888895.json +1 -0
  352. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a39a40e6797b71d7259c514321487470.json +1 -0
  353. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a466bbdb651c574561407d518fb8d1ae.json +1 -0
  354. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a4d288eddc9bee635f182560afcdb613.json +1 -0
  355. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a4dded0188c32a527a10942ce10c2ae7.json +1 -0
  356. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a54edbe3418ee85683fc253bd3308c60.json +1 -0
  357. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a575d3eb69ed98388602a5bd4cb12790.json +1 -0
  358. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a5a2b81fa9220ecd33fb4466012c4ebe.json +1 -0
  359. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a5d66df2f0da571402025a61d18a34d3.json +1 -0
  360. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a61cc0c3da2ca70f5cd9a7a3e2c9fcad.json +1 -0
  361. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a652039820e56754d6ba267f81cc9bf5.json +1 -0
  362. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a7e66dd63f48847df45681bc17c5e36d.json +1 -0
  363. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-a89b9f693bf7d3d37f99c80de517a807.json +1 -0
  364. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aa22883abf0d1e70b882745258324cff.json +1 -0
  365. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aa7508f21c3feff58234743bce02b9f9.json +1 -0
  366. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aa8d4d7bb79859c3e8ae4b7ac56fb890.json +1 -0
  367. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aad5821e7c311d076af8723537e92d2c.json +1 -0
  368. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ab5f07ff22a7d2a80cff5e85b936eaee.json +1 -0
  369. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ac5f76c741e1ad1b7a6e55e820b03669.json +1 -0
  370. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ad6e7e5e4e9c1a83221423dfaa07f29f.json +1 -0
  371. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-adbd578415c340ddd63722eeb698e837.json +1 -0
  372. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ae32be1658232408865c15e4c5c1917a.json +1 -0
  373. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ae732601d1a69598d625ff032f41e2d4.json +1 -0
  374. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-aee843249d0e032fbce9e02ce66016eb.json +1 -0
  375. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b043acdd867fde2f2d30cd32f2aa1c4a.json +1 -0
  376. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b1048cce051a5700238cc71abfe49217.json +1 -0
  377. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b1ecf863238627b076c6d771002dbbe7.json +1 -0
  378. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b23c06b8d0f262d8d64c6006b348486e.json +1 -0
  379. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b38891aad02120609327bade84d228f7.json +1 -0
  380. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b3bdd605e4e68224f608b0dc5e7212f4.json +1 -0
  381. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b3d0b6e41dfd7aa4186463027d73df20.json +1 -0
  382. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b53b6d4163ab2ecb127217c7742d0f80.json +1 -0
  383. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b54639d6bd40e7e80a0b8e1cba7d8175.json +1 -0
  384. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b63cc1b26ce62e4e05763d3fd0db21bd.json +1 -0
  385. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b6631f684dc9f17408f948c19f98120c.json +1 -0
  386. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b70e39461c4d0acdc8a20c256eb61b90.json +1 -0
  387. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b72bbc350ce47825ee168d4dc79c4404.json +1 -0
  388. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b7863b4bf43d2ac6a6448a1640f407bf.json +1 -0
  389. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b7e44d63463610dbf31b1e71dfcfaa82.json +1 -0
  390. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b879068b882575e7a05c01a27b132c1f.json +1 -0
  391. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b93b75501bb671e8c30e24c0ae3f89ce.json +1 -0
  392. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b98dff2715e2b6ec397176da904f9967.json +1 -0
  393. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-b9bae4d8a3a66fad7a0370564fa551c8.json +1 -0
  394. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ba1c1e27009279097c0191f402db1912.json +1 -0
  395. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-baf85b004ac086592f4f8aee1f02a60d.json +1 -0
  396. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bb53c5ecf79435645f937f718e2e87e6.json +1 -0
  397. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bc25f27686c45fa9f154577d40b0a6f3.json +1 -0
  398. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bc30814a36665b9e9697087797b05cdf.json +1 -0
  399. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bc856ae6921e6c9c5d1ba83e79f2f276.json +1 -0
  400. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bca5c90b24f7f75dbc273a39090005c5.json +1 -0
  401. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bca5f45b7881158a473379d622a90e93.json +1 -0
  402. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bcc42cd39f7eb60f5b844cc675d46196.json +1 -0
  403. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-bd68f2abbc2be337e45213261461d490.json +1 -0
  404. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c13cc6269a556a80d1c27f3c268fe17d.json +1 -0
  405. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c1c36aeb116c186a565160ef7fd3056a.json +1 -0
  406. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c2610888f9acf547989f21f08e8db95a.json +1 -0
  407. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c2af2648fa9430a9389baa4f8abbe1a4.json +1 -0
  408. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c2edf592b91afb472af4fc2fc557f274.json +1 -0
  409. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c31950b8e086e026e1262d97a1db0a78.json +1 -0
  410. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c3df02be19b2b52c9c19bd58101e3cbc.json +1 -0
  411. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c49008d7abd71fa463649783b0933918.json +1 -0
  412. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c6a27b096a3a2f84fa0491c496814b9a.json +1 -0
  413. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c6d7dc1088f83ba433c277308437f56b.json +1 -0
  414. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c7de66e4f505375220bbfab67e0d5231.json +1 -0
  415. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c858693143a88d1f099e9b93a3457e0b.json +1 -0
  416. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c94d2ad67cf8902390bfcffa704c3daa.json +1 -0
  417. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-c9b6598fe2a43c5873087c955d0df982.json +1 -0
  418. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ca3e3889c1051884e5596ab1c68e194f.json +1 -0
  419. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ca95f0c2b0343641775f2129503d8e63.json +1 -0
  420. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-cce33d484b7cb0eb2c075cfa522fce18.json +1 -0
  421. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ccf8b3d214278b5f13b2bb6e272e3f30.json +1 -0
  422. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ce3eb00d12bf1edc077f3e32313a06ce.json +1 -0
  423. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ce7de3361f2663834bfd9bcb95eddecc.json +1 -0
  424. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-cfd6f2b1a18cd6c2a197b9ae369bb2a4.json +1 -0
  425. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d000cc13c2d83030fa1444e5a7b016f1.json +1 -0
  426. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d06de2d0f43e99dbc80f7783a18b5a93.json +1 -0
  427. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d087a013cd29e26c1ece1985f7fb7f08.json +1 -0
  428. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d09ec9cc4b7db3789a5796a85a52c77f.json +1 -0
  429. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d1a07d71267fab50f0c29d9c1a7d8f71.json +1 -0
  430. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d1e11cdacf0e2520f2d67b7daddf48d8.json +1 -0
  431. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d21b706be557125943c9f9dc556bbdc6.json +1 -0
  432. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d24799311af1edba648fd1839acdf4c6.json +1 -0
  433. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d48dfe17536b07eb551b952a6a1db007.json +1 -0
  434. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d53d247f465c402be1c6722fd28e366a.json +1 -0
  435. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d675642d7fbe847f72c4c744b1c27224.json +1 -0
  436. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d783f1f05a29a0f30422913500296971.json +1 -0
  437. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d83cdda44eff225a61f84ec84b0893aa.json +1 -0
  438. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-d8ab615e7b3bffcb5dde9462fa06a56c.json +1 -0
  439. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da03e138ce5b0d28ec33d998a1e63de9.json +1 -0
  440. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da06cbf0c2be5ff90ee3529915fdd3c4.json +1 -0
  441. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da10406d297c6a83d7b36b0c07a04c11.json +1 -0
  442. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-da5a292c64c8ca1f9be5a331b8cc9866.json +1 -0
  443. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-db3a32be528ce32811d63540db1a79fe.json +1 -0
  444. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-db616fb22f489a73ce270f86db43af10.json +1 -0
  445. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dc49dcfa36bc2ff1a51597f227c29c7f.json +1 -0
  446. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dc70cdc0a97e1eebda8c7f633f9e2831.json +1 -0
  447. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dc846f139e01017e70c34ba129fe780e.json +1 -0
  448. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dde527cb54d57a2371957f7daa5e8be7.json +1 -0
  449. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-df623efdc82a6c063be28bfb706f0e6d.json +1 -0
  450. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-dfc38cf425cbd2f47270dc184702d69b.json +1 -0
  451. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e0308a75134b78b8c790d7cea32419fc.json +1 -0
  452. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e20dc44d260663c63228e8000d44dd12.json +1 -0
  453. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e226e52f5b692e925ca7c8e822aba2be.json +1 -0
  454. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e24c86d3e064629497090ee1be877d76.json +1 -0
  455. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e352c9cdc2918831e866451331107f0e.json +1 -0
  456. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e3fdd3a87b70bb56aae2493431e3bcff.json +1 -0
  457. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e4b261523d1fbf2d52036ecb6266484d.json +1 -0
  458. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e6f5658710eb878cd10cdaf5ebd86e93.json +1 -0
  459. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e87aeffd798e6b56426103c1f4d7750a.json +1 -0
  460. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e8aa8286dcc69f6aee60f9e33071ffa0.json +1 -0
  461. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e8cf0ca71cc77bf6003f2ea91aeddf90.json +1 -0
  462. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e8fe33acb0f2a7f1f670e7a990f5a4a3.json +1 -0
  463. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-e988e0b5cf8a7084a47dbed764ef94ad.json +1 -0
  464. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ea353d5aa27d9c5665a3965d1f4eaa32.json +1 -0
  465. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ea676d7d5d7712ceab23ea6798afa137.json +1 -0
  466. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ea6c6cd39772c58addeb2875e707c2bd.json +1 -0
  467. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-eb11f1491fb89d15420d030899f6d882.json +1 -0
  468. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-eb58652be025b3ad6b6b3e91856bda81.json +1 -0
  469. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-eb87bce8edb68157d776c6adb1c6cefc.json +1 -0
  470. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ebc16f4ab61a3535b87d5f2764bc26a8.json +1 -0
  471. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ec18b8d93b7f855897d9b8d3c74affc7.json +1 -0
  472. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ec2ef78511d86c6e9e802b3959039652.json +1 -0
  473. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ec4293e3bcc16701ed64e69f29fd8c69.json +1 -0
  474. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ed83b210c5760cbb173b24e8deb31a2f.json +1 -0
  475. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ed98bb0a5cc565d6ef33bfb7b4b3a073.json +1 -0
  476. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ee01419f1a9de33b444ce829f9a9489d.json +1 -0
  477. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-efbacdd15a8790092301bd69e395cbe0.json +1 -0
  478. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-efdcec4cc8ac72684e3857b6fbbee225.json +1 -0
  479. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f0ad9856d7da268a53d8170676c6c5c4.json +1 -0
  480. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f19009edc83cd082bd9092c857d85d68.json +1 -0
  481. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f209c9c221ca17971d0e9ef1ccf89f44.json +1 -0
  482. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f23386a03780f812899bf8d2b3919b86.json +1 -0
  483. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f2446c2eda0215942162ff5526ad0c1b.json +1 -0
  484. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f2a05cbda9f98ed1bd25e897a3ebf503.json +1 -0
  485. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f385670ac4ddc57a127eb019cae3f8b0.json +1 -0
  486. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f4e79fc49ad30bacc0a68272087ade34.json +1 -0
  487. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f6d590544d79586d3a5683d97b5384ac.json +1 -0
  488. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f75939df8e2ecf19cb2d3517938a5cdf.json +1 -0
  489. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f7a67ef7fa1402b86d14c39ac80cc802.json +1 -0
  490. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f7b9e113133c9263310f5a56bd7d0ef5.json +1 -0
  491. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f7de11b1478062d758160e9c2c5e5260.json +1 -0
  492. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f90898fd3cc22a593e32b84b3f10ec00.json +1 -0
  493. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f940bb12b4e658bd128b62a8a90bf962.json +1 -0
  494. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f957e1e875e98bbc1d5d01803efe7c42.json +1 -0
  495. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f964fe6db095cac3b6eecd38621d3498.json +1 -0
  496. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-f96fee598282aae28999f7c2d9835414.json +1 -0
  497. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fa16c119717f0e7bd9a67f615f985135.json +1 -0
  498. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fa7bbd792be5708418c463aedd93e408.json +1 -0
  499. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-faef819397b5c072a4560d7cd7bad2ed.json +1 -0
  500. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-faf20683961782003152b85e6e507350.json +1 -0
  501. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fb172d0f0d7a62f8776034a2c05fab01.json +1 -0
  502. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fb3e42b52aa5be50fa92ee3f39062c6a.json +1 -0
  503. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-fca4ebc8175758bd0f9123389fa26bc6.json +1 -0
  504. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/resource-file-ffcdc16bb6c8c59a3917e00b8915c844.json +1 -0
  505. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-accordion-variant-new-york-v4.json +1 -0
  506. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-aria.json +1 -0
  507. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-base.json +1 -0
  508. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-new-york-v4.json +1 -0
  509. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-dialog-variant-radix.json +1 -0
  510. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-aria.json +1 -0
  511. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-base.json +1 -0
  512. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-new-york-v4.json +1 -0
  513. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-alert-variant-radix.json +1 -0
  514. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-aria.json +1 -0
  515. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-base.json +1 -0
  516. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-new-york-v4.json +1 -0
  517. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-aspect-ratio-variant-radix.json +1 -0
  518. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-aria.json +1 -0
  519. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-base.json +1 -0
  520. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-new-york-v4.json +1 -0
  521. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-attachment-variant-radix.json +1 -0
  522. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-aria.json +1 -0
  523. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-base.json +1 -0
  524. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-new-york-v4.json +1 -0
  525. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-avatar-variant-radix.json +1 -0
  526. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-aria.json +1 -0
  527. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-base.json +1 -0
  528. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-new-york-v4.json +1 -0
  529. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-badge-variant-radix.json +1 -0
  530. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-breadcrumb-variant-new-york-v4.json +1 -0
  531. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-aria.json +1 -0
  532. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-base.json +1 -0
  533. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-new-york-v4.json +1 -0
  534. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-bubble-variant-radix.json +1 -0
  535. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-aria.json +1 -0
  536. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-base.json +1 -0
  537. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-new-york-v4.json +1 -0
  538. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-group-variant-radix.json +1 -0
  539. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-aria.json +1 -0
  540. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-base.json +1 -0
  541. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-new-york-v4.json +1 -0
  542. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-button-variant-radix.json +1 -0
  543. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-calendar-variant-new-york-v4.json +1 -0
  544. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-aria.json +1 -0
  545. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-base.json +1 -0
  546. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-new-york-v4.json +1 -0
  547. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-card-variant-radix.json +1 -0
  548. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-carousel-variant-new-york-v4.json +1 -0
  549. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-axes-variant-new-york-v4.json +1 -0
  550. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-default-variant-new-york-v4.json +1 -0
  551. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-gradient-variant-new-york-v4.json +1 -0
  552. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-icons-variant-new-york-v4.json +1 -0
  553. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-interactive-variant-new-york-v4.json +1 -0
  554. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-legend-variant-new-york-v4.json +1 -0
  555. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-linear-variant-new-york-v4.json +1 -0
  556. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-stacked-expand-variant-new-york-v4.json +1 -0
  557. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-stacked-variant-new-york-v4.json +1 -0
  558. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-area-step-variant-new-york-v4.json +1 -0
  559. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-active-variant-new-york-v4.json +1 -0
  560. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-default-variant-new-york-v4.json +1 -0
  561. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-horizontal-variant-new-york-v4.json +1 -0
  562. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-interactive-variant-new-york-v4.json +1 -0
  563. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-label-custom-variant-new-york-v4.json +1 -0
  564. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-label-variant-new-york-v4.json +1 -0
  565. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-mixed-variant-new-york-v4.json +1 -0
  566. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-multiple-variant-new-york-v4.json +1 -0
  567. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-negative-variant-new-york-v4.json +1 -0
  568. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-bar-stacked-variant-new-york-v4.json +1 -0
  569. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-default-variant-new-york-v4.json +1 -0
  570. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-dots-colors-variant-new-york-v4.json +1 -0
  571. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-dots-custom-variant-new-york-v4.json +1 -0
  572. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-dots-variant-new-york-v4.json +1 -0
  573. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-interactive-variant-new-york-v4.json +1 -0
  574. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-label-custom-variant-new-york-v4.json +1 -0
  575. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-label-variant-new-york-v4.json +1 -0
  576. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-linear-variant-new-york-v4.json +1 -0
  577. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-multiple-variant-new-york-v4.json +1 -0
  578. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-line-step-variant-new-york-v4.json +1 -0
  579. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-donut-active-variant-new-york-v4.json +1 -0
  580. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-donut-text-variant-new-york-v4.json +1 -0
  581. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-donut-variant-new-york-v4.json +1 -0
  582. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-interactive-variant-new-york-v4.json +1 -0
  583. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-label-custom-variant-new-york-v4.json +1 -0
  584. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-label-list-variant-new-york-v4.json +1 -0
  585. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-label-variant-new-york-v4.json +1 -0
  586. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-legend-variant-new-york-v4.json +1 -0
  587. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-separator-none-variant-new-york-v4.json +1 -0
  588. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-simple-variant-new-york-v4.json +1 -0
  589. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-pie-stacked-variant-new-york-v4.json +1 -0
  590. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-default-variant-new-york-v4.json +1 -0
  591. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-dots-variant-new-york-v4.json +1 -0
  592. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-circle-fill-variant-new-york-v4.json +1 -0
  593. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-circle-no-lines-variant-new-york-v4.json +1 -0
  594. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-circle-variant-new-york-v4.json +1 -0
  595. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-custom-variant-new-york-v4.json +1 -0
  596. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-fill-variant-new-york-v4.json +1 -0
  597. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-grid-none-variant-new-york-v4.json +1 -0
  598. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-icons-variant-new-york-v4.json +1 -0
  599. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-label-custom-variant-new-york-v4.json +1 -0
  600. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-legend-variant-new-york-v4.json +1 -0
  601. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-lines-only-variant-new-york-v4.json +1 -0
  602. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-multiple-variant-new-york-v4.json +1 -0
  603. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radar-radius-variant-new-york-v4.json +1 -0
  604. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-grid-variant-new-york-v4.json +1 -0
  605. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-label-variant-new-york-v4.json +1 -0
  606. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-shape-variant-new-york-v4.json +1 -0
  607. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-simple-variant-new-york-v4.json +1 -0
  608. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-stacked-variant-new-york-v4.json +1 -0
  609. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-radial-text-variant-new-york-v4.json +1 -0
  610. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-advanced-variant-new-york-v4.json +1 -0
  611. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-default-variant-new-york-v4.json +1 -0
  612. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-formatter-variant-new-york-v4.json +1 -0
  613. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-icons-variant-new-york-v4.json +1 -0
  614. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-indicator-line-variant-new-york-v4.json +1 -0
  615. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-indicator-none-variant-new-york-v4.json +1 -0
  616. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-label-custom-variant-new-york-v4.json +1 -0
  617. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-label-formatter-variant-new-york-v4.json +1 -0
  618. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-tooltip-label-none-variant-new-york-v4.json +1 -0
  619. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-aria.json +1 -0
  620. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-base.json +1 -0
  621. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-new-york-v4.json +1 -0
  622. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-chart-variant-radix.json +1 -0
  623. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-checkbox-variant-new-york-v4.json +1 -0
  624. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-aria.json +1 -0
  625. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-base.json +1 -0
  626. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-new-york-v4.json +1 -0
  627. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-collapsible-variant-radix.json +1 -0
  628. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-combobox-variant-new-york-v4.json +1 -0
  629. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-command-variant-new-york-v4.json +1 -0
  630. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-context-menu-variant-new-york-v4.json +1 -0
  631. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-data-table-demo-variant-new-york-v4.json +1 -0
  632. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-date-picker-demo-variant-new-york-v4.json +1 -0
  633. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-date-picker-with-presets-variant-new-york-v4.json +1 -0
  634. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-date-picker-with-range-variant-new-york-v4.json +1 -0
  635. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-dialog-variant-new-york-v4.json +1 -0
  636. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-aria.json +1 -0
  637. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-base.json +1 -0
  638. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-new-york-v4.json +1 -0
  639. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-direction-variant-radix.json +1 -0
  640. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-aria.json +1 -0
  641. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-base.json +1 -0
  642. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-new-york-v4.json +1 -0
  643. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-drawer-variant-radix.json +1 -0
  644. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-dropdown-menu-variant-new-york-v4.json +1 -0
  645. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-aria.json +1 -0
  646. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-base.json +1 -0
  647. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-new-york-v4.json +1 -0
  648. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-empty-variant-radix.json +1 -0
  649. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-aria.json +1 -0
  650. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-base.json +1 -0
  651. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-new-york-v4.json +1 -0
  652. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-field-variant-radix.json +1 -0
  653. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-form-variant-new-york-v4.json +1 -0
  654. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-aria.json +1 -0
  655. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-base.json +1 -0
  656. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-new-york-v4.json +1 -0
  657. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-hover-card-variant-radix.json +1 -0
  658. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-aria.json +1 -0
  659. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-base.json +1 -0
  660. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-new-york-v4.json +1 -0
  661. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-group-variant-radix.json +1 -0
  662. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-otp-variant-new-york-v4.json +1 -0
  663. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-aria.json +1 -0
  664. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-base.json +1 -0
  665. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-new-york-v4.json +1 -0
  666. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-input-variant-radix.json +1 -0
  667. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-aria.json +1 -0
  668. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-base.json +1 -0
  669. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-new-york-v4.json +1 -0
  670. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-item-variant-radix.json +1 -0
  671. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-aria.json +1 -0
  672. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-base.json +1 -0
  673. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-new-york-v4.json +1 -0
  674. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-kbd-variant-radix.json +1 -0
  675. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-aria.json +1 -0
  676. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-base.json +1 -0
  677. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-new-york-v4.json +1 -0
  678. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-label-variant-radix.json +1 -0
  679. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-aria.json +1 -0
  680. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-base.json +1 -0
  681. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-new-york-v4.json +1 -0
  682. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-marker-variant-radix.json +1 -0
  683. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-menubar-variant-new-york-v4.json +1 -0
  684. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-scroller-variant-new-york-v4.json +1 -0
  685. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-aria.json +1 -0
  686. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-base.json +1 -0
  687. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-new-york-v4.json +1 -0
  688. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-message-variant-radix.json +1 -0
  689. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-native-select-variant-new-york-v4.json +1 -0
  690. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-navigation-menu-variant-new-york-v4.json +1 -0
  691. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-pagination-variant-new-york-v4.json +1 -0
  692. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-aria.json +1 -0
  693. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-base.json +1 -0
  694. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-new-york-v4.json +1 -0
  695. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-popover-variant-radix.json +1 -0
  696. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-aria.json +1 -0
  697. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-base.json +1 -0
  698. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-new-york-v4.json +1 -0
  699. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-progress-variant-radix.json +1 -0
  700. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-aria.json +1 -0
  701. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-base.json +1 -0
  702. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-new-york-v4.json +1 -0
  703. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-radio-group-variant-radix.json +1 -0
  704. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-aria.json +1 -0
  705. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-base.json +1 -0
  706. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-new-york-v4.json +1 -0
  707. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-resizable-variant-radix.json +1 -0
  708. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-aria.json +1 -0
  709. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-base.json +1 -0
  710. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-new-york-v4.json +1 -0
  711. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-scroll-area-variant-radix.json +1 -0
  712. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-select-variant-new-york-v4.json +1 -0
  713. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-aria.json +1 -0
  714. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-base.json +1 -0
  715. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-new-york-v4.json +1 -0
  716. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-separator-variant-radix.json +1 -0
  717. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-sheet-variant-new-york-v4.json +1 -0
  718. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-sidebar-variant-new-york-v4.json +1 -0
  719. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-aria.json +1 -0
  720. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-base.json +1 -0
  721. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-new-york-v4.json +1 -0
  722. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-skeleton-variant-radix.json +1 -0
  723. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-aria.json +1 -0
  724. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-base.json +1 -0
  725. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-new-york-v4.json +1 -0
  726. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-slider-variant-radix.json +1 -0
  727. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-sonner-variant-new-york-v4.json +1 -0
  728. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-spinner-variant-new-york-v4.json +1 -0
  729. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-aria.json +1 -0
  730. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-base.json +1 -0
  731. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-new-york-v4.json +1 -0
  732. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-switch-variant-radix.json +1 -0
  733. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-aria.json +1 -0
  734. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-base.json +1 -0
  735. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-new-york-v4.json +1 -0
  736. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-table-variant-radix.json +1 -0
  737. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-aria.json +1 -0
  738. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-base.json +1 -0
  739. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-new-york-v4.json +1 -0
  740. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tabs-variant-radix.json +1 -0
  741. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-aria.json +1 -0
  742. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-base.json +1 -0
  743. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-new-york-v4.json +1 -0
  744. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-textarea-variant-radix.json +1 -0
  745. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-aria.json +1 -0
  746. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-base.json +1 -0
  747. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-new-york-v4.json +1 -0
  748. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-group-variant-radix.json +1 -0
  749. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-aria.json +1 -0
  750. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-base.json +1 -0
  751. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-new-york-v4.json +1 -0
  752. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-toggle-variant-radix.json +1 -0
  753. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-aria.json +1 -0
  754. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-base.json +1 -0
  755. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-new-york-v4.json +1 -0
  756. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-tooltip-variant-radix.json +1 -0
  757. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-blockquote-variant-new-york-v4.json +1 -0
  758. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-demo-variant-new-york-v4.json +1 -0
  759. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h1-variant-new-york-v4.json +1 -0
  760. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h2-variant-new-york-v4.json +1 -0
  761. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h3-variant-new-york-v4.json +1 -0
  762. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-h4-variant-new-york-v4.json +1 -0
  763. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-inline-code-variant-new-york-v4.json +1 -0
  764. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-large-variant-new-york-v4.json +1 -0
  765. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-lead-variant-new-york-v4.json +1 -0
  766. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-list-variant-new-york-v4.json +1 -0
  767. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-muted-variant-new-york-v4.json +1 -0
  768. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-p-variant-new-york-v4.json +1 -0
  769. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-small-variant-new-york-v4.json +1 -0
  770. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/shadcn-typography-table-variant-new-york-v4.json +1 -0
  771. package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/styles-styles.json +1 -1
  772. package/registry/{ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/styles-theme-tokens.json +1 -1
  773. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-accordion-variant-raw.json +1 -0
  774. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-area-chart-variant-raw.json +1 -0
  775. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-badge-variant-raw.json +1 -0
  776. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-bar-chart-variant-raw.json +1 -0
  777. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-bar-list-variant-raw.json +1 -0
  778. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-button-variant-raw.json +1 -0
  779. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-calendar-variant-raw.json +1 -0
  780. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-callout-variant-raw.json +1 -0
  781. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-card-variant-raw.json +1 -0
  782. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-category-bar-variant-raw.json +1 -0
  783. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-checkbox-variant-raw.json +1 -0
  784. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-combo-chart-variant-raw.json +1 -0
  785. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-date-picker-variant-raw.json +1 -0
  786. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-dialog-variant-raw.json +1 -0
  787. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-divider-variant-raw.json +1 -0
  788. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-donut-chart-variant-raw.json +1 -0
  789. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-drawer-variant-raw.json +1 -0
  790. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-dropdown-menu-variant-raw.json +1 -0
  791. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-input-variant-raw.json +1 -0
  792. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-label-variant-raw.json +1 -0
  793. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-line-chart-variant-raw.json +1 -0
  794. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-popover-variant-raw.json +1 -0
  795. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-progress-bar-variant-raw.json +1 -0
  796. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-progress-circle-variant-raw.json +1 -0
  797. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-radio-card-group-variant-raw.json +1 -0
  798. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-radio-group-variant-raw.json +1 -0
  799. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-select-native-variant-raw.json +1 -0
  800. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-select-variant-raw.json +1 -0
  801. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-slider-variant-raw.json +1 -0
  802. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-spark-chart-variant-raw.json +1 -0
  803. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-switch-variant-raw.json +1 -0
  804. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tab-navigation-variant-raw.json +1 -0
  805. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-table-variant-raw.json +1 -0
  806. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tabs-variant-raw.json +1 -0
  807. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-textarea-variant-raw.json +1 -0
  808. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-toast-variant-raw.json +1 -0
  809. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-toaster-variant-raw.json +1 -0
  810. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-toggle-variant-raw.json +1 -0
  811. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tooltip-variant-raw.json +1 -0
  812. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/tremor-tracker-variant-raw.json +1 -0
  813. package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-badge.json +1 -1
  814. package/registry/{5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-button.json +1 -1
  815. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-card-variant-current.json +1 -0
  816. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-empty-state-variant-current.json +1 -0
  817. package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-empty.json +1 -1
  818. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-input-variant-current.json +1 -0
  819. package/registry/{47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9 → 949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9}/r/ui-sheet.json +1 -1
  820. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-skeleton-variant-current.json +1 -0
  821. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-table-variant-current.json +1 -0
  822. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/r/ui-tabs-variant-current.json +1 -0
  823. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/registry.json +1 -0
  824. package/registry/949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9/release.json +1 -0
  825. package/registry/release.json +1 -1
  826. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/catalog.json +0 -1
  827. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/common-semantic-region-scaffold.json +0 -1
  828. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/components-business-role-tasks-icons.json +0 -1
  829. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/components-business-role-tasks-types.json +0 -1
  830. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/components-common-semantic-region-contract.json +0 -1
  831. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-account.json +0 -1
  832. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-icons.json +0 -1
  833. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-routes.json +0 -1
  834. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/layouts-role-workspace-types.json +0 -1
  835. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/lib-utils.json +0 -1
  836. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/quality-role-task-groups.json +0 -1
  837. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/quality-role-task-overview.json +0 -1
  838. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/role-workspace-shell.json +0 -1
  839. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/styles-theme-tokens.json +0 -1
  840. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-avatar.json +0 -1
  841. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-button.json +0 -1
  842. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-collapsible.json +0 -1
  843. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-dropdown-menu.json +0 -1
  844. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-skeleton.json +0 -1
  845. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/r/ui-tooltip.json +0 -1
  846. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/registry.json +0 -1
  847. package/registry/47e2405d581daf6aa5433b033351b639e11f9730d174a0563b88e36bc06402f9/release.json +0 -1
  848. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/catalog.json +0 -1
  849. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/common-semantic-region-scaffold.json +0 -1
  850. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/components-business-role-tasks-icons.json +0 -1
  851. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/components-business-role-tasks-types.json +0 -1
  852. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/components-common-semantic-region-contract.json +0 -1
  853. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-account.json +0 -1
  854. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-icons.json +0 -1
  855. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-routes.json +0 -1
  856. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/layouts-role-workspace-types.json +0 -1
  857. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/quality-role-task-groups.json +0 -1
  858. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/quality-role-task-overview.json +0 -1
  859. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/role-workspace-shell.json +0 -1
  860. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/styles-styles.json +0 -1
  861. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/styles-theme-tokens.json +0 -1
  862. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-avatar.json +0 -1
  863. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-badge.json +0 -1
  864. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-collapsible.json +0 -1
  865. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-dropdown-menu.json +0 -1
  866. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-empty.json +0 -1
  867. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-sheet.json +0 -1
  868. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-skeleton.json +0 -1
  869. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/r/ui-tooltip.json +0 -1
  870. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/registry.json +0 -1
  871. package/registry/5bce235170d2de6e2c3b0cfe10d0596dd53189c83acb8d3e4256b11606d95a22/release.json +0 -1
  872. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/catalog.json +0 -1
  873. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/asset-internals-semantic-region-contract.json +0 -1
  874. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/common-semantic-region-scaffold.json +0 -1
  875. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/components-business-role-tasks-types.json +0 -1
  876. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/lib-utils.json +0 -1
  877. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/quality-role-task-groups.json +0 -1
  878. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/styles-styles.json +0 -1
  879. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/styles-theme-tokens.json +0 -1
  880. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-badge.json +0 -1
  881. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-button.json +0 -1
  882. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-empty.json +0 -1
  883. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/r/ui-sheet.json +0 -1
  884. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/registry.json +0 -1
  885. package/registry/7a92f26f2b0d69adad5cfebb4675f21f65d38a9296b1f4f47edb9cec8b051118/release.json +0 -1
  886. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/catalog.json +0 -1
  887. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/common-semantic-region-scaffold.json +0 -1
  888. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/components-business-role-tasks-icons.json +0 -1
  889. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/components-business-role-tasks-types.json +0 -1
  890. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/components-common-semantic-region-contract.json +0 -1
  891. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/lib-utils.json +0 -1
  892. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/quality-role-task-groups.json +0 -1
  893. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/quality-role-task-overview.json +0 -1
  894. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/styles-styles.json +0 -1
  895. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-badge.json +0 -1
  896. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-button.json +0 -1
  897. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-collapsible.json +0 -1
  898. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/r/ui-empty.json +0 -1
  899. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/registry.json +0 -1
  900. package/registry/ac851c907cc97669042b64a5d30d9bec2017d07e43c8cd933db399f446c5bb86/release.json +0 -1
  901. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/catalog.json +0 -1
  902. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/asset-internals-semantic-region-semantic-region-scaffold.json +0 -1
  903. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/components-business-role-tasks-icons.json +0 -1
  904. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/lib-utils.json +0 -1
  905. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/quality-role-task-overview.json +0 -1
  906. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/styles-styles.json +0 -1
  907. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/styles-theme-tokens.json +0 -1
  908. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-badge.json +0 -1
  909. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-button.json +0 -1
  910. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-empty.json +0 -1
  911. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/r/ui-sheet.json +0 -1
  912. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/registry.json +0 -1
  913. package/registry/ce8dd8eb2201d09158a07748bb952e8ce558517d7616a533434760c0ce46e1db/release.json +0 -1
  914. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/catalog.json +0 -1
  915. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/common-semantic-region-scaffold.json +0 -1
  916. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/components-business-role-tasks-icons.json +0 -1
  917. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/components-business-role-tasks-types.json +0 -1
  918. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/components-common-semantic-region-contract.json +0 -1
  919. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/lib-utils.json +0 -1
  920. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/quality-role-task-groups.json +0 -1
  921. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/quality-role-task-overview.json +0 -1
  922. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/styles-styles.json +0 -1
  923. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/styles-theme-tokens.json +0 -1
  924. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-badge.json +0 -1
  925. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-button.json +0 -1
  926. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-collapsible.json +0 -1
  927. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/r/ui-empty.json +0 -1
  928. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/registry.json +0 -1
  929. package/registry/f5db0c88ee95ccef50d6ced1f08e935c8c56006e337b978e332f0974b18d79b2/release.json +0 -1
  930. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/catalog.json +0 -1
  931. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/common-semantic-region-scaffold.json +0 -1
  932. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/components-business-role-tasks-icons.json +0 -1
  933. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/components-business-role-tasks-types.json +0 -1
  934. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/components-common-semantic-region-contract.json +0 -1
  935. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-account.json +0 -1
  936. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-icons.json +0 -1
  937. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-routes.json +0 -1
  938. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/layouts-role-workspace-types.json +0 -1
  939. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/lib-utils.json +0 -1
  940. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/quality-role-task-groups.json +0 -1
  941. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/quality-role-task-overview.json +0 -1
  942. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/role-workspace-shell.json +0 -1
  943. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/styles-styles.json +0 -1
  944. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/styles-theme-tokens.json +0 -1
  945. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-avatar.json +0 -1
  946. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-badge.json +0 -1
  947. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-button.json +0 -1
  948. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-collapsible.json +0 -1
  949. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-dropdown-menu.json +0 -1
  950. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-empty.json +0 -1
  951. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-sheet.json +0 -1
  952. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-skeleton.json +0 -1
  953. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/r/ui-tooltip.json +0 -1
  954. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/registry.json +0 -1
  955. package/registry/ff84eb9a229a362050c3262110942d6ba6acac9b4f4694db1d496ee39bfba9d3/release.json +0 -1
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.8fdb75c3da6a5a0c86c3193d025cf6f8","files":[{"content":"{\n \"title\": \"检验计划审阅与排程:源码 reference 场景与交互\",\n \"originalScenario\": \"审阅已提供的生产批次计划、适用标准和抽样分配,切换计划与标准对照视图,发出批次排程并展示失败重试反馈。\",\n \"usageBoundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\",\n \"source\": {\n \"implementation\": \"components/business/quality/src/inspection-plan-workspace.tsx\",\n \"provenanceStatus\": \"以当前维护源码为核对依据;未另行认定原型来源或完整还原程度\",\n \"scope\": \"审阅已提供的生产批次计划、适用标准和抽样分配,切换计划与标准对照视图,发出批次排程并展示失败重试反馈。\",\n \"evidence\": [\n {\n \"path\": \"components/business/quality/src/inspection-plan-workspace.tsx\",\n \"symbols\": [\n \"InspectionPlanWorkspace\",\n \"normalizedProps\",\n \"flow\"\n ]\n },\n {\n \"path\": \"components/business/quality/src/production-batch-plan-table.tsx\",\n \"symbols\": [\n \"ProductionBatchPlanTable\",\n \"pendingBatchId\"\n ]\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-asset-contract.ts\",\n \"symbols\": [\n \"InspectionPlanWorkspaceCommands\"\n ]\n }\n ]\n },\n \"preview\": {\n \"entry\": \"preview/playground/owned-quality.tsx\",\n \"status\": \"example\",\n \"description\": \"本地预览使用示例状态和回调,只用于理解界面;不构成当前业务映射或真实设备、服务验证。\"\n },\n \"ontologyAlignment\": {\n \"authority\": \"当前应用本体的对象、属性、关系、状态、单位与操作为依据;源码本身作为 reference,不能从组件数据模型反推目标本体。\",\n \"applicability\": \"以下角色仅解释原参考场景,不是待创建的对象清单。按当前本体映射,可拆分、组合、改写或不采用。\",\n \"objects\": [\n {\n \"role\": \"plan\",\n \"meaning\": \"带版本与周期的计划上下文\"\n },\n {\n \"role\": \"batch\",\n \"meaning\": \"被排程的生产批次\"\n },\n {\n \"role\": \"sampling\",\n \"meaning\": \"批次抽样与班次点位分配\"\n },\n {\n \"role\": \"standardVersion\",\n \"meaning\": \"批次采用的标准版本\"\n }\n ],\n \"relations\": [\n \"计划组织批次\",\n \"批次采用标准及抽样安排\"\n ],\n \"mappingRequired\": [\n \"核对当前对象、属性及实例的稳定标识与采用版本\",\n \"核对属性类型、单位、枚举和空值含义\",\n \"核对关系标识、方向、基数、查询范围和关联键\",\n \"核对本体操作的输入输出、权限、失败、并发与重复请求语义\",\n \"确定受控展示状态与真实业务状态的转换,保留未确定部分\"\n ],\n \"gapsInOriginalComponent\": [\n \"没有完整计划 CRUD、抽样算法或任务下发服务\",\n \"固定片数单位、阶段一及今日任务文案需依当前业务调整\",\n \"没有统一 loading / forbidden 页面分支\"\n ]\n },\n \"interaction\": {\n \"summary\": \"检验计划审阅与排程\",\n \"summarySupport\": \"existing\",\n \"existingCapabilities\": [\n \"model / commands 或 aggregate 回调接口\",\n \"批次汇总、计划与标准视图切换\",\n \"受控展开抽样方案、标准跳转\",\n \"排程回调、处理中禁用和失败重试/关闭\"\n ],\n \"steps\": [\n {\n \"id\": \"step-1\",\n \"support\": \"existing\",\n \"intent\": \"切换计划与标准视图\",\n \"effect\": \"changeView / onViewChange 改变受控 activeView。\"\n },\n {\n \"id\": \"step-2\",\n \"support\": \"existing\",\n \"intent\": \"展开抽样并查看标准\",\n \"effect\": \"toggleSampling / openStandard 由宿主管理,组件只展示输入分配。\"\n },\n {\n \"id\": \"step-3\",\n \"support\": \"existing\",\n \"intent\": \"请求批次排程并处理失败\",\n \"effect\": \"scheduleBatch 传 batchId;pendingBatchId 存在时禁用排程;retrySchedule / dismissFailure 发出动作。\"\n },\n {\n \"id\": \"step-4\",\n \"support\": \"host-extension\",\n \"intent\": \"创建计划或自动生成抽样任务\",\n \"effect\": \"页面底部 flow 是说明链路,不是执行引擎;生成、下发、增删改、下载需宿主业务操作。\"\n }\n ],\n \"states\": [\n \"plan / standards\",\n \"expandedBatchId\",\n \"pendingBatchId\",\n \"commandFailure\",\n \"scheduled / waiting 展示\"\n ],\n \"applicationStatesToDesign\": [\n \"当前查询或操作未绑定时的待接入状态\",\n \"真实授权、失败恢复与上下文失效处理\",\n \"目标本体要求而原实现缺少的状态和门禁\"\n ]\n },\n \"adaptation\": {\n \"preserve\": [\n \"业务对象语义\",\n \"原始数据、判定与业务操作的边界\",\n \"关键交互及其真实源码依据\"\n ],\n \"variable\": [\n \"当前本体映射\",\n \"属性与关联投影\",\n \"布局、区域拆合与视觉细节\",\n \"宿主回调绑定和补充状态\"\n ],\n \"exampleOnly\": [\n \"预览中的实例、计数和固定业务值\",\n \"演示适配器和本地操作结果\",\n \"未经当前本体确认的原组件命名和默认文案\"\n ]\n },\n \"pattern\": {\n \"schemaVersion\": 1,\n \"readingGuide\": \"先结合当前应用本体阅读业务目的、ASCII 布局和对象角色,判断整体、局部或组合参考价值;再按 sourceReadingOrder 直接读取源码。界面相似不是采用充分条件,没有近乎同名的组件也允许参考其中一部分。\",\n \"business\": {\n \"actor\": \"计划编制或审核人员\",\n \"trigger\": \"已有生产计划及标准,需要审阅抽样和发出排程\",\n \"goal\": \"审阅已提供的生产批次计划、适用标准和抽样分配,切换计划与标准对照视图,发出批次排程并展示失败重试反馈。\",\n \"workUnit\": \"一个版本计划中的生产批次\",\n \"boundary\": \"直接阅读真实实现及相关类型作为 reference,再依据当前应用本体参考、组合或改写。源码中的原业务名词、Props、聚合结构、状态枚举和固定文案不自动成为目标本体;组件与页面区域不要求一一对应。能力表仅说明已有界面或回调,不承诺真实业务已接通。\"\n },\n \"layout\": {\n \"basis\": \"source-observed\",\n \"summary\": \"plan-summary / command-feedback / view-tabs / batch-table / flow-explanation\",\n \"desktopAscii\": \"+--------------------------------------------------------------------+\\n| 计划批次汇总 |\\n| 排程失败反馈(有失败时) [重试] [关闭] |\\n| 检验计划工作台 / 周期 / 版本 |\\n| [生产计划] [批次关联标准] |\\n| 计划视图: 批次 | SKU | 计划时间/量 | 标准 | 状态 | [排程] |\\n| 可展开: 抽样阈值 / 班次 / 点位分配 |\\n| 标准视图: 批次与标准版本对照表(切换显示) |\\n| 生成链路说明: 生产计划 -> 标准 -> 抽样 -> 下发(说明图) |\\n| footerActions(可选扩展) |\\n+--------------------------------------------------------------------+\",\n \"zones\": [\n \"plan-summary\",\n \"command-feedback\",\n \"view-tabs\",\n \"batch-table\",\n \"flow-explanation\"\n ],\n \"narrow\": {\n \"basis\": \"source-observed\",\n \"ascii\": \"+--------------------------------------------------------------------+\\n| 表格容器可滚动 |\\n| 固定 max-height 表区保留 |\\n| 摘要固定三列,底部链路仍横排 |\\n+--------------------------------------------------------------------+\",\n \"description\": \"仅概括源码已有规则;改写建议单列,未做本轮浏览器响应式验收。\",\n \"adaptationNotes\": [\n \"建议窄屏重排摘要与底部链路,目标应用另行实现和验证。\"\n ]\n },\n \"evidencePaths\": [\n \"components/business/quality/src/inspection-plan-workspace.tsx\"\n ],\n \"interpretation\": \"ASCII 概括实际分区与信息顺序,不固定尺寸、数据量、字段或页面区域;问号表示可选入口,括号注明条件。\"\n },\n \"objectRequirements\": {\n \"interpretation\": \"以下是原范式所需的业务信息角色,不是目标本体对象表或必建清单。当前应用本体决定对象、关系、属性、单位、版本及操作;展示聚合可由现有多个对象投影而来。\",\n \"core\": [\n {\n \"role\": \"plan\",\n \"meaning\": \"带版本与周期的计划上下文\",\n \"information\": \"计划标识、版本和周期\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n },\n {\n \"role\": \"batch\",\n \"meaning\": \"被排程的生产批次\",\n \"information\": \"批次及排程状态\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n },\n {\n \"role\": \"sampling\",\n \"meaning\": \"批次抽样与班次点位分配\",\n \"information\": \"已提供的批次抽样与班次分配\",\n \"requirementScope\": \"解释原范式的核心语义角色;当前应用按本体映射,可由多个对象承载或合并投影。\"\n }\n ],\n \"supporting\": [\n {\n \"role\": \"standardVersion\",\n \"meaning\": \"批次采用的标准版本\",\n \"requirementScope\": \"按当前任务需要决定是否采用;不自动新建同名对象。\"\n }\n ],\n \"relations\": [\n \"计划组织批次\",\n \"批次采用标准及抽样安排\"\n ],\n \"presentationOnly\": [\n \"plan-summary\",\n \"command-feedback\",\n \"view-tabs\",\n \"batch-table\",\n \"flow-explanation\"\n ],\n \"mappingQuestions\": [\n \"计划标识与版本\",\n \"批次及标准采用版本\",\n \"排程操作身份与失败类型\"\n ]\n },\n \"dataProjection\": {\n \"inputs\": [\n \"aggregate.batches 与其标准、抽样数据\",\n \"activeView、expandedBatchId、pendingBatchId、commandFailure\"\n ],\n \"derived\": [\n \"汇总区由输入计划计算展示指标\"\n ],\n \"localUiState\": [],\n \"outputs\": [\n \"视图切换、展开抽样、打开标准、排程、重试与关闭反馈\"\n ],\n \"scope\": \"仅解释当前源码的数据流;查询、持久化及授权均须按当前本体操作另行核对,空数组不等于未知业务计数。\"\n },\n \"interactionFlow\": {\n \"ascii\": \"宿主提供计划 -> 审阅批次/标准/抽样\\n请求排程 -> 宿主处理中 -> 成功更新或失败反馈\\n页面链路说明本身不会生成计划或下发任务\",\n \"existingStates\": [\n \"plan / standards\",\n \"expandedBatchId\",\n \"pendingBatchId\",\n \"commandFailure\",\n \"scheduled / waiting 展示\"\n ],\n \"hostResponsibilities\": [\n \"页面底部 flow 是说明链路,不是执行引擎;生成、下发、增删改、下载需宿主业务操作。\"\n ],\n \"stateDistinction\": \"界面选择、展开、忙态不自动等于业务状态迁移;回调已触发不证明写入成功。静态展示项没有输出命令。\"\n },\n \"composition\": {\n \"parts\": [\n \"带版本的计划审阅组织\",\n \"批次表与按行抽样展开\",\n \"查询视图和操作反馈分离\"\n ],\n \"with\": [\n {\n \"assetId\": \"quality.batch-standard-binding\",\n \"support\": \"source-composed\",\n \"coordination\": \"standards 视图实际使用该对照表。\"\n },\n {\n \"assetId\": \"quality.inspection-task-workspace\",\n \"support\": \"adaptation-proposal\",\n \"coordination\": \"仅在宿主排程/下发业务完成后读取任务;两组件不自动创建或共享任务。\"\n }\n ],\n \"sharedContext\": [\n \"计划标识与版本\",\n \"批次及标准采用版本\",\n \"排程操作身份与失败类型\"\n ],\n \"coordination\": \"source-composed 表示可在实际源码中定位的父子采用关系(可能由对方作为父组件);adaptation-proposal 是可选组合建议,尚无自动接线。由页面协调器按当前本体传递稳定上下文、数据与动作。\"\n },\n \"reuse\": {\n \"wholeWhen\": [\n \"目标已有计划聚合、抽样分配及排程操作,需求是审阅和发出受控命令。\",\n \"仍须核对真实 Props、必需回调、metadata.selection 的采用/排除条件、版本和依赖;参考价值不代表 CLI 可安装。\"\n ],\n \"parts\": [\n \"带版本的计划审阅组织\",\n \"批次表与按行抽样展开\",\n \"查询视图和操作反馈分离\"\n ],\n \"adaptWhen\": [\n \"其他计划审阅可参考版本上下文、双视图和按行展开;重写抽样、状态、单位与操作。\"\n ],\n \"avoidWhen\": [\n \"需要完整计划增删改、抽样算法和任务下发服务时,现有实现仅部分覆盖。\"\n ],\n \"decision\": \"先说明哪些业务语义和信息组织相近,再列采用部分、改写部分、缺口和源码依据;最终可复用/需组合/无匹配由 AI 对照当前合同判断,不由名称或相似度阈值直接决定。\"\n },\n \"sourceReadingOrder\": [\n {\n \"path\": \"components/business/quality/src/inspection-plan-workspace.tsx\",\n \"symbols\": [],\n \"purpose\": \"先看真实渲染分区、受控输入和事件出口,与 ASCII 对照;不要从图示推断额外能力。\"\n },\n {\n \"path\": \"components/business/quality/src/production-batch-plan-table.tsx\",\n \"symbols\": [\n \"ProductionBatchPlanTable\",\n \"pendingBatchId\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-asset-contract.ts\",\n \"symbols\": [\n \"InspectionPlanWorkspaceCommands\"\n ],\n \"purpose\": \"核对真实类型、回调、数据处理及边界。\"\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-types.ts\",\n \"symbols\": [\n \"InspectionPlanAggregate\",\n \"ProductionBatch\"\n ],\n \"purpose\": \"计划、批次、标准与抽样输入契约\"\n },\n {\n \"path\": \"components/business/quality/src/inspection-plan-summary.tsx\",\n \"symbols\": [\n \"InspectionPlanSummary\"\n ],\n \"purpose\": \"汇总派生值及固定三列布局\"\n }\n ]\n }\n}\n","path":"references/metaform/components/business/quality/src/inspection-plan-workspace.reference.json","target":"~/references/metaform/components/business/quality/src/inspection-plan-workspace.reference.json","type":"registry:file"}],"meta":{"assetId":"resource.file.8fdb75c3da6a5a0c86c3193d025cf6f8","contractRef":"components/business/quality/src/inspection-plan-workspace.reference.json","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-8fdb75c3da6a5a0c86c3193d025cf6f8","registryDependencies":[],"title":"resource.file.8fdb75c3da6a5a0c86c3193d025cf6f8","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.90b79237b5272ce414e11d7f2c222676","files":[{"content":"import type { ReactNode } from 'react';\n\nimport type { BatchSamplingPlan } from './inspection-plan-types';\n\nexport type InspectionTaskStatus = 'todo' | 'doing' | 'done';\nexport interface InspectionTask {\n id: string;\n type: string;\n batchId: string;\n skuName: string;\n quantity: number;\n dueAt: string;\n standardId: string;\n standardVersion: string;\n firstBatch: boolean;\n intensified: boolean;\n status: InspectionTaskStatus;\n assignee?: string;\n currentShiftId?: string;\n standardCtqCount: number;\n inspectionItemCount: number;\n samplingPlan: BatchSamplingPlan;\n requirements: { label: string; value: string }[];\n}\nexport interface InspectionTaskAggregate {\n id: string;\n version: number;\n date: string;\n inspectorName?: string;\n intensifiedBatchCount?: number;\n tasks: InspectionTask[];\n metrics: { total: number; unclaimed: number; inProgress: number };\n}\nexport interface InspectionTaskWorkspaceSlots {\n headerExtra?: ReactNode | ((aggregate: InspectionTaskAggregate) => ReactNode);\n taskExtra?: (task: InspectionTask) => ReactNode;\n}\nexport interface InspectionTaskWorkspaceProps {\n aggregate: InspectionTaskAggregate;\n expandedTaskIds: string[];\n pendingTaskId?: string;\n commandFailure?: { taskId: string; message: string; operation?: 'claim' | 'openExecution' };\n slots?: InspectionTaskWorkspaceSlots;\n onToggleRequirements: (taskId: string) => void;\n onOpenStandard: (id: string, version: string) => void;\n onClaimTask: (taskId: string) => void;\n onRetryClaim: () => void;\n onDismissFailure: () => void;\n onOpenExecution: (taskId: string) => void;\n}\n","path":"references/metaform/components/business/quality/src/inspection-task-types.ts","target":"~/references/metaform/components/business/quality/src/inspection-task-types.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.90b79237b5272ce414e11d7f2c222676","contractRef":"components/business/quality/src/inspection-task-types.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-90b79237b5272ce414e11d7f2c222676","registryDependencies":[],"title":"resource.file.90b79237b5272ce414e11d7f2c222676","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.91b6c344e59fb18f9d9a43f4ac15c2ec","files":[{"content":"import React from 'react';\n\nimport './first-inspection-entry.css';\nimport type { CTQItem, InspectionTask, Package, Piece } from './types';\n\nfunction renderToleranceAnalysis(item: CTQItem) {\n // Qualitative items (appearance, defects, heat seal integrity)\n if (item.unit === '-' || item.min === '-' || item.max === '-') {\n if (item.val === 'wait' || item.judge === 'wait') {\n return (\n <div className=\"ctq-analysis wait\">\n <span className=\"analysis-dot\" />\n <span className=\"analysis-text\">待目视 / AI分析</span>\n </div>\n );\n }\n if (item.judge === 'ok' || item.val === 'ok') {\n let desc = '符合标准要求 · 优';\n if (item.name.includes('污点') || item.name.includes('黑点')) {\n desc = '未检出异色缺陷 · 正常';\n } else if (\n item.name.includes('异物') ||\n item.name.includes('破损') ||\n item.name.includes('褶皱')\n ) {\n desc = '外观完整无破损 · 优';\n } else if (item.name.includes('封合')) {\n desc = '热力压纹连续达标 · 优';\n }\n return (\n <div className=\"ctq-analysis-qual ok\">\n <span className=\"analysis-dot\" />\n <span>{desc}</span>\n </div>\n );\n }\n return (\n <div className=\"ctq-analysis-qual bad\">\n <span className=\"analysis-dot\" />\n <span>发现缺陷 · 待现场处置</span>\n </div>\n );\n }\n\n // Non-standard multi-dim formats like \"80×40\"\n if (item.target.includes('×') || item.val.includes('×')) {\n const isOk = item.judge === 'ok';\n return (\n <div className={`ctq-analysis-qual ${isOk ? 'ok' : 'bad'}`}>\n <span className=\"analysis-dot\" />\n <span>{isOk ? '双向尺寸吻合基准 · 优' : '护翼外形超公差'}</span>\n </div>\n );\n }\n\n // Numerical metrics\n const numVal = parseFloat(item.val);\n const minVal = parseFloat(item.min);\n const maxVal = parseFloat(item.max);\n const numTarget = parseFloat(item.target.replace(/[^\\d.-]/g, ''));\n\n if (isNaN(numVal)) {\n return (\n <div className=\"ctq-analysis wait\">\n <span className=\"analysis-dot\" />\n <span className=\"analysis-text\">待设备采集数值</span>\n </div>\n );\n }\n\n const hasTarget = !isNaN(numTarget);\n const diff = hasTarget ? +(numVal - numTarget).toFixed(2) : 0;\n const diffSign = diff > 0 ? `+${diff}` : `${diff}`;\n const isOutOfRange = (!isNaN(minVal) && numVal < minVal) || (!isNaN(maxVal) && numVal > maxVal);\n\n // Calculate gauge position: 0% at minVal, 100% at maxVal\n let gaugePos = 50;\n let isSevereOutOfRange = false;\n if (!isNaN(minVal) && !isNaN(maxVal) && maxVal > minVal) {\n const range = maxVal - minVal;\n // Map min to 20%, max to 80% to allow out-of-bounds to visually show at ends\n const pct = ((numVal - minVal) / range) * 60 + 20;\n // 严格限制在 [8%, 92%] 安全区间,防止圆点和光晕溢出穿透轨道边缘\n gaugePos = Math.max(8, Math.min(92, pct));\n if (numVal < minVal - range * 1.5 || numVal > maxVal + range * 1.5) {\n isSevereOutOfRange = true;\n }\n } else if (!isNaN(maxVal) && minVal === 0) {\n gaugePos = Math.max(8, Math.min(92, (numVal / maxVal) * 80));\n if (numVal > maxVal * 2) {\n isSevereOutOfRange = true;\n }\n }\n\n let statusText = '公差受控';\n if (isOutOfRange) {\n if (!isNaN(minVal) && numVal < minVal) {\n statusText = `${isSevereOutOfRange ? '◀ 严重偏低' : '◀ 偏低'} ${(minVal - numVal).toFixed(2)}${item.unit}`;\n } else if (!isNaN(maxVal) && numVal > maxVal) {\n statusText = `${isSevereOutOfRange ? '▶ 严重偏高' : '▶ 偏高'} ${(numVal - maxVal).toFixed(2)}${item.unit}`;\n }\n } else if (diff === 0) {\n statusText = '精准居中';\n } else {\n statusText = '公差受控';\n }\n\n return (\n <div className={`ctq-analysis ${isOutOfRange ? 'bad' : 'ok'}`}>\n <div className=\"ctq-gauge-track\">\n {/* 公差合格安全区区间带 (20% ~ 80%) */}\n <div\n className=\"ctq-gauge-safe-zone\"\n style={{ left: '20%', width: '60%' }}\n title=\"标准合格公差带\"\n />\n <div\n className=\"ctq-gauge-target\"\n style={{ left: '50%' }}\n title={`基准目标: ${item.target}`}\n />\n <div\n className={`ctq-gauge-point ${isOutOfRange ? 'bad' : 'ok'}`}\n style={{ left: `${gaugePos}%` }}\n title={`实测值: ${numVal}${item.unit}`}\n />\n </div>\n <div className=\"ctq-gauge-meta\">\n <span className=\"ctq-diff-badge\">\n Δ {diffSign} {item.unit}\n </span>\n <span className=\"ctq-status-tag\">{statusText}</span>\n </div>\n </div>\n );\n}\n\nexport interface FirstPieceInspectionWorkbenchProps {\n task: InspectionTask;\n copy: FirstPieceInspectionWorkbenchCopy;\n onBackToList?: () => void;\n onOpenStationModal: () => void;\n onSelectPiece: (index: number) => void;\n onSelectPackage: (index: number) => void;\n onSwitchMode: (mode: 'piece' | 'pack') => void;\n onAddPiece: () => void;\n onAddPackage: () => void;\n onUpdateItemValue: (pieceIndex: number, itemId: string, val: string) => void;\n onUpdatePackageItemValue: (packageIndex: number, itemId: string, val: string) => void;\n onUpdateItemReason: (pieceIndex: number, itemId: string, reason: string) => void;\n onVoiceCorrectItem: (pieceIndex: number, itemId: string) => void;\n onVoiceCorrectWholePiece: (pieceIndex: number) => void;\n onRejectAuto?: (pieceIndex: number, itemId: string) => void;\n onAddPhoto: (pieceIndex: number, itemName?: string) => void;\n onAddPackagePhoto: (packageIndex: number, itemName?: string) => void;\n onConfirmPiece: (pieceIndex: number) => void;\n onConfirmPackage: (packageIndex: number) => void;\n onSubmitInspection: () => void;\n isSubmitting?: boolean;\n}\n\nexport interface FirstPieceInspectionWorkbenchCopy {\n title: string;\n subtitle: string;\n criticalLabel: string;\n pieceModeLabel: string;\n packageModeLabel: string;\n submitLabel: string;\n blockedLabel: string;\n readyLabel: string;\n}\n\nexport const FirstPieceInspectionWorkbench: React.FC<FirstPieceInspectionWorkbenchProps> = ({\n task,\n copy,\n onOpenStationModal,\n onSelectPiece,\n onSelectPackage,\n onSwitchMode,\n onAddPiece,\n onAddPackage,\n onUpdateItemValue,\n onUpdatePackageItemValue,\n onUpdateItemReason,\n onVoiceCorrectItem,\n onVoiceCorrectWholePiece,\n onRejectAuto,\n onAddPhoto,\n onAddPackagePhoto,\n onConfirmPiece,\n onConfirmPackage,\n onSubmitInspection,\n isSubmitting = false,\n}) => {\n const labels = copy;\n const currentPiece: Piece = task.pieces[task.activePieceIndex] || task.pieces[0];\n const currentPackage: Package = task.packages[task.activePackageIndex] || task.packages[0];\n\n const pieceCompletedCount = task.pieces.filter((p) => p.done).length;\n const pieceTotalCount = task.pieces.length;\n const pieceBadCount = task.pieces.filter((p) => p.status === 'bad').length;\n const pieceOkCount = task.pieces.filter((p) => p.status === 'ok').length;\n\n const packageCompletedCount = task.packages.filter((p) => p.done).length;\n const packageTotalCount = task.packages.length;\n const packageBadCount = task.packages.filter((p) => p.status === 'bad').length;\n\n // 逐片指标统计\n const okItems = currentPiece.items.filter((i) => i.judge === 'ok').length;\n const badItems = currentPiece.items.filter((i) => i.judge === 'bad').length;\n const waitItems = currentPiece.items.filter((i) => i.judge === 'wait').length;\n\n // 逐包指标统计\n const pkgOkItems = currentPackage.items.filter((i) => i.judge === 'ok').length;\n const pkgBadItems = currentPackage.items.filter((i) => i.judge === 'bad').length;\n const pkgWaitItems = currentPackage.items.filter((i) => i.judge === 'wait').length;\n\n const hasBad = pieceBadCount > 0 || packageBadCount > 0;\n const allComplete =\n pieceCompletedCount === pieceTotalCount && packageCompletedCount === packageTotalCount;\n\n return (\n <div className=\"first-card\">\n <div className=\"first-card-h\">\n <b>{labels.title}</b>\n <span>{labels.subtitle}</span>\n <span className=\"first-card-tag\">{labels.criticalLabel}</span>\n </div>\n\n {/* 模式切换 (按片 / 按包) */}\n <div className=\"first-mode-tabs\">\n <button\n type=\"button\"\n className={`first-mode-tab ${task.activeMode === 'piece' ? 'on' : ''}`}\n onClick={() => onSwitchMode('piece')}\n >\n {labels.pieceModeLabel}{' '}\n <span>\n {pieceCompletedCount}/{pieceTotalCount}\n </span>\n </button>\n <button\n type=\"button\"\n className={`first-mode-tab ${task.activeMode === 'pack' ? 'on' : ''}`}\n onClick={() => onSwitchMode('pack')}\n >\n {labels.packageModeLabel}{' '}\n <span>\n {packageCompletedCount}/{packageTotalCount}\n </span>\n </button>\n </div>\n\n {task.activeMode === 'piece' ? (\n /* =================== 逐片检验面板 =================== */\n <>\n {/* 逐片进度条 */}\n <div className=\"piece-overview\">\n <div className=\"piece-overview-title\">\n 🔬 逐片检验 · 共 {pieceTotalCount} 片\n <span>\n 已完成 {pieceCompletedCount}/{pieceTotalCount}\n </span>\n </div>\n <div className=\"piece-overview-bar\">\n <i className=\"ok\" style={{ width: `${(pieceOkCount / pieceTotalCount) * 100}%` }} />\n <i className=\"bad\" style={{ width: `${(pieceBadCount / pieceTotalCount) * 100}%` }} />\n </div>\n </div>\n\n {/* 逐片药丸导航 */}\n <div className=\"piece-nav\">\n {task.pieces.map((piece, idx) => {\n const isSelected = idx === task.activePieceIndex;\n const stateCls = piece.done ? (piece.status === 'bad' ? 'bad' : 'done') : 'wait';\n const label = piece.done\n ? piece.status === 'bad'\n ? '不合格'\n : '合格'\n : isSelected\n ? '检验中'\n : '待检';\n\n return (\n <button\n type=\"button\"\n key={piece.index}\n className={`piece-tab ${stateCls} ${isSelected ? 'on' : ''}`}\n onClick={() => onSelectPiece(idx)}\n >\n <b>第 {piece.index} 片</b>\n <strong>{label}</strong>\n </button>\n );\n })}\n <button\n type=\"button\"\n className=\"piece-add\"\n onClick={onAddPiece}\n title=\"增加一片检测样品\"\n >\n <b>+</b>\n <span>添加</span>\n </button>\n </div>\n\n {/* 片操作栏 */}\n <div className=\"piece-work-h\">\n <div className=\"piece-work-title-wrap\">\n <div className=\"title\">\n 第 {currentPiece.index} 片 · {currentPiece.items.length} 项全检\n </div>\n <div className=\"sub\">\n 已检 {okItems + badItems} 项 · 合格 {okItems} · 不合格 {badItems} · 待检测{' '}\n {waitItems}\n </div>\n </div>\n\n {/* 利用横向空白:首件达标率与公差态势 */}\n <div className=\"piece-work-stat-bar-box\">\n <div className=\"piece-stat-bar-header\">\n <span className=\"piece-stat-bar-label\">\n CTQ 合格率{' '}\n <b>{Math.round((okItems / (currentPiece.items.length || 1)) * 100)}%</b>\n </span>\n {badItems > 0 ? (\n <span className=\"piece-stat-badge-bad\">存在 {badItems} 项超差</span>\n ) : (\n <span className=\"piece-stat-badge-ok\">全项受控</span>\n )}\n </div>\n <div className=\"piece-stat-progress\">\n <div\n className=\"fill ok\"\n style={{ width: `${(okItems / (currentPiece.items.length || 1)) * 100}%` }}\n />\n <div\n className=\"fill bad\"\n style={{ width: `${(badItems / (currentPiece.items.length || 1)) * 100}%` }}\n />\n </div>\n </div>\n\n <div className=\"piece-work-actions\">\n <button\n type=\"button\"\n className=\"btn\"\n onClick={() => onVoiceCorrectWholePiece(task.activePieceIndex)}\n >\n 🎤 整片语音修正\n </button>\n <button type=\"button\" className=\"btn pri\" onClick={onOpenStationModal}>\n 设备自动检测\n </button>\n </div>\n </div>\n\n {/* 整片语音修正提示气泡 */}\n {currentPiece.voiceTranscript && (\n <div className=\"piece-whole-voice\">\n <div className=\"voice-icon-box\">\n <svg\n className=\"size-4\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" />\n <path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" />\n <line x1=\"12\" x2=\"12\" y1=\"19\" y2=\"22\" />\n </svg>\n </div>\n <div className=\"voice-copy\">\n <div className=\"voice-header\">\n <b>整片语音已识别</b>\n <span className=\"voice-badge\">智能解析回填</span>\n </div>\n <div className=\"voice-text\">“{currentPiece.voiceTranscript}”</div>\n {currentPiece.voiceChanged && currentPiece.voiceChanged.length > 0 && (\n <div className=\"voice-tags\">\n <span className=\"voice-tag-label\">已联动更新:</span>\n {currentPiece.voiceChanged.map((tag) => (\n <span key={tag} className=\"voice-tag-item\">\n {tag}\n </span>\n ))}\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* CTQ 表格 */}\n <div className=\"piece-table-wrap\">\n <table className=\"piece-table\">\n <thead>\n <tr>\n <th style={{ width: '80px', minWidth: '80px' }}>类别</th>\n <th style={{ width: '160px', minWidth: '160px' }}>检验项目</th>\n <th style={{ width: '100px', minWidth: '95px' }}>规格值</th>\n <th style={{ width: '120px', minWidth: '115px' }}>标准范围</th>\n <th style={{ minWidth: '260px' }}>检测结果</th>\n <th style={{ minWidth: '210px' }}>偏差与公差带</th>\n <th\n className=\"col-sticky-judge\"\n style={{ width: '75px', minWidth: '75px', textAlign: 'center' }}\n >\n 判定\n </th>\n <th\n className=\"col-sticky-photo\"\n style={{ width: '85px', minWidth: '85px', textAlign: 'center' }}\n >\n 照片\n </th>\n </tr>\n </thead>\n <tbody>\n {currentPiece.items.map((item) => {\n const isCorrected = !!item.review;\n\n return (\n <tr key={item.id}>\n <td className=\"category\">{item.category}</td>\n <td>\n <span className=\"metric\">{item.name}</span>\n </td>\n <td className=\"spec\">\n {item.target.includes(item.unit) || item.unit === '-'\n ? item.target\n : `${item.target} ${item.unit}`}\n </td>\n <td className=\"standard\">\n {item.min !== '-' && item.max !== '-'\n ? `${item.min}—${item.max} ${item.unit !== '-' ? item.unit : ''}`\n : item.target}\n </td>\n <td>\n <div className=\"result-edit\">\n {item.unit === '-' ? (\n <select\n className=\"piece-input\"\n value={item.val || 'wait'}\n onChange={(e) =>\n onUpdateItemValue(task.activePieceIndex, item.id, e.target.value)\n }\n >\n <option value=\"wait\">待检测</option>\n <option value=\"ok\">无缺陷</option>\n <option value=\"bad\">发现缺陷</option>\n </select>\n ) : (\n <input\n className=\"piece-input\"\n value={item.val}\n placeholder=\"待设备采集\"\n onChange={(e) =>\n onUpdateItemValue(task.activePieceIndex, item.id, e.target.value)\n }\n />\n )}\n <button\n type=\"button\"\n className=\"voice-correct\"\n title=\"语音修改结果并说明原因\"\n onClick={() => onVoiceCorrectItem(task.activePieceIndex, item.id)}\n >\n <svg\n className=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" />\n <path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" />\n <line x1=\"12\" x2=\"12\" y1=\"19\" y2=\"22\" />\n </svg>\n </button>\n {item.source.includes('自动') || item.source.includes('回填') ? (\n <button\n type=\"button\"\n className=\"item-reject-btn\"\n title=\"不采纳智能采集值,转为人工复核\"\n onClick={() => onRejectAuto?.(task.activePieceIndex, item.id)}\n >\n <svg\n className=\"size-3\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\" />\n <path d=\"M3 3v5h5\" />\n </svg>\n 不采纳\n </button>\n ) : null}\n </div>\n\n <div className=\"piece-source\">\n <svg\n className=\"size-3 shrink-0 text-muted-foreground\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0 2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\" />\n </svg>\n <span>{item.source}</span>\n {isCorrected && <span className=\"source-corrected\">· 已人工修正</span>}\n </div>\n\n {isCorrected && (\n <div className=\"correction-note\">\n <div className=\"correction-note-head\">\n <div className=\"correction-head-left\">\n <span className=\"correction-pill\">人工修正</span>\n <span className=\"correction-orig\">\n 原设备值 <del>{item.origVal || '—'}</del>\n </span>\n </div>\n <span className=\"correction-head-right\">已现场复测</span>\n </div>\n <input\n className=\"correction-reason\"\n value={item.review?.reason || ''}\n placeholder=\"说明修改原因(例如:产品拉伸结构阻力超标导致折痕偏宽,已现场复测)\"\n onChange={(e) =>\n onUpdateItemReason(task.activePieceIndex, item.id, e.target.value)\n }\n />\n </div>\n )}\n </td>\n <td className=\"ctq-analysis-col\">{renderToleranceAnalysis(item)}</td>\n <td className=\"col-sticky-judge\" style={{ textAlign: 'center' }}>\n <span className={`piece-judge ${item.judge}`}>\n {item.judge === 'ok' ? '合格' : item.judge === 'bad' ? '不合格' : '待检'}\n </span>\n </td>\n <td className=\"col-sticky-photo\" style={{ textAlign: 'center' }}>\n <button\n type=\"button\"\n className=\"piece-photo row\"\n onClick={() => onAddPhoto(task.activePieceIndex, item.name)}\n >\n 📷 {item.photosCount > 0 ? `${item.photosCount}张` : '拍照'}\n </button>\n </td>\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n\n {/* 本片照片存证 */}\n <div className=\"photo-evidence\">\n <div className=\"photo-evidence-copy\">\n <b>📷 本片照片证据</b>\n <span>\n {currentPiece.photos.reduce((acc, p) => acc + p.count, 0)} 张 · 结论确认前留证\n </span>\n </div>\n <div className=\"photo-evidence-list\">\n {currentPiece.photos.map((photo) => (\n <span key={photo.name} className=\"photo-evidence-thumb\">\n <i>\n <svg\n className=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" />\n <circle cx=\"9\" cy=\"9\" r=\"2\" />\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" />\n </svg>\n </i>\n <em>{photo.name}</em>\n <small>{photo.count}张</small>\n </span>\n ))}\n </div>\n <button\n type=\"button\"\n className=\"evidence-add\"\n onClick={() => onAddPhoto(task.activePieceIndex)}\n >\n + 添加照片\n </button>\n </div>\n\n {/* 本片结论底栏 */}\n <div className=\"piece-foot\">\n <div className=\"summary\">\n <span className={`piece-result ${currentPiece.status}`}>\n 本片结论:\n {currentPiece.status === 'ok'\n ? '合格'\n : currentPiece.status === 'bad'\n ? '不合格'\n : '待确认'}\n </span>\n <span>\n {okItems} 项合格 · {badItems} 项不合格 · {waitItems} 项待检\n </span>\n </div>\n <button\n type=\"button\"\n className=\"btn pri\"\n onClick={() => onConfirmPiece(task.activePieceIndex)}\n >\n 确认本片结论\n </button>\n </div>\n </>\n ) : (\n /* =================== 逐包检验面板 =================== */\n <>\n <div className=\"piece-overview\">\n <div className=\"piece-overview-title\">\n 📦 逐包检验 · 共 {packageTotalCount} 包\n <span>\n 已完成 {packageCompletedCount}/{packageTotalCount}\n </span>\n </div>\n <div className=\"piece-overview-bar\">\n <i\n className=\"ok\"\n style={{\n width: `${((packageCompletedCount - packageBadCount) / packageTotalCount) * 100}%`,\n }}\n />\n <i\n className=\"bad\"\n style={{ width: `${(packageBadCount / packageTotalCount) * 100}%` }}\n />\n </div>\n </div>\n\n <div className=\"piece-nav\">\n {task.packages.map((pkg, idx) => {\n const isSelected = idx === task.activePackageIndex;\n const stateCls = pkg.done ? (pkg.status === 'bad' ? 'bad' : 'done') : 'wait';\n const label = pkg.done\n ? pkg.status === 'bad'\n ? '不合格'\n : '合格'\n : isSelected\n ? '检验中'\n : '待检';\n\n return (\n <button\n type=\"button\"\n key={pkg.index}\n className={`piece-tab ${stateCls} ${isSelected ? 'on' : ''}`}\n onClick={() => onSelectPackage(idx)}\n >\n <b>第 {pkg.index} 包</b>\n <strong>{label}</strong>\n </button>\n );\n })}\n <button\n type=\"button\"\n className=\"piece-add\"\n onClick={onAddPackage}\n title=\"增加一包检测样品\"\n >\n <b>+</b>\n <span>添加</span>\n </button>\n </div>\n\n <div className=\"piece-work-h\">\n <div className=\"piece-work-title-wrap\">\n <div className=\"title\">\n 第 {currentPackage.index} 包 · {currentPackage.items.length} 项包装检查\n </div>\n <div className=\"sub\">\n 已检 {pkgOkItems + pkgBadItems} 项 · 合格 {pkgOkItems} · 不合格 {pkgBadItems} · 待检{' '}\n {pkgWaitItems}\n </div>\n </div>\n\n {/* 利用横向空白:逐包合格率态势 */}\n <div className=\"piece-work-stat-bar-box\">\n <div className=\"piece-stat-bar-header\">\n <span className=\"piece-stat-bar-label\">\n 包装合格率{' '}\n <b>{Math.round((pkgOkItems / (currentPackage.items.length || 1)) * 100)}%</b>\n </span>\n {pkgBadItems > 0 ? (\n <span className=\"piece-stat-badge-bad\">存在 {pkgBadItems} 项不合格</span>\n ) : (\n <span className=\"piece-stat-badge-ok\">全部符合</span>\n )}\n </div>\n <div className=\"piece-stat-progress\">\n <div\n className=\"fill ok\"\n style={{ width: `${(pkgOkItems / (currentPackage.items.length || 1)) * 100}%` }}\n />\n <div\n className=\"fill bad\"\n style={{ width: `${(pkgBadItems / (currentPackage.items.length || 1)) * 100}%` }}\n />\n </div>\n </div>\n\n <div className=\"piece-work-actions\">\n <button type=\"button\" className=\"btn pri\" onClick={onOpenStationModal}>\n 设备检测包装\n </button>\n </div>\n </div>\n\n <div className=\"piece-table-wrap\">\n <table className=\"piece-table\">\n <thead>\n <tr>\n <th style={{ width: '80px', minWidth: '80px' }}>类别</th>\n <th style={{ width: '160px', minWidth: '160px' }}>检查项目</th>\n <th style={{ minWidth: '200px' }}>标准要求</th>\n <th style={{ width: '160px', minWidth: '150px' }}>检测方式与来源</th>\n <th style={{ width: '130px', minWidth: '120px' }}>检测结果</th>\n <th\n className=\"col-sticky-judge\"\n style={{ width: '80px', minWidth: '80px', textAlign: 'center' }}\n >\n 判定\n </th>\n <th\n className=\"col-sticky-photo\"\n style={{ width: '85px', minWidth: '85px', textAlign: 'center' }}\n >\n 照片\n </th>\n </tr>\n </thead>\n <tbody>\n {currentPackage.items.map((item) => (\n <tr key={item.id}>\n <td className=\"category\">{item.category}</td>\n <td>\n <span className=\"metric\">{item.name}</span>\n </td>\n <td className=\"standard\">{item.standard}</td>\n <td>\n <div>{item.method}</div>\n <div className=\"piece-source\">设备检测后人工确认</div>\n </td>\n <td>\n <select\n className=\"piece-input\"\n value={item.val}\n onChange={(e) =>\n onUpdatePackageItemValue(task.activePackageIndex, item.id, e.target.value)\n }\n >\n <option value=\"wait\">待检</option>\n <option value=\"ok\">符合</option>\n <option value=\"bad\">不符合</option>\n </select>\n </td>\n <td className=\"col-sticky-judge\" style={{ textAlign: 'center' }}>\n <span className={`piece-judge ${item.judge}`}>\n {item.judge === 'ok' ? '合格' : item.judge === 'bad' ? '不合格' : '待检'}\n </span>\n </td>\n <td className=\"col-sticky-photo\" style={{ textAlign: 'center' }}>\n <button\n type=\"button\"\n className=\"piece-photo row\"\n onClick={() => onAddPackagePhoto(task.activePackageIndex, item.name)}\n >\n 📷 {item.photosCount > 0 ? `${item.photosCount}张` : '拍照'}\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n <div className=\"photo-evidence\">\n <div className=\"photo-evidence-copy\">\n <b>📷 本包照片证据</b>\n <span>\n {currentPackage.photos.reduce((acc, p) => acc + p.count, 0)} 张 · 结论确认前留证\n </span>\n </div>\n <div className=\"photo-evidence-list\">\n {currentPackage.photos.map((photo) => (\n <span key={photo.name} className=\"photo-evidence-thumb\">\n <i>\n <svg\n className=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" />\n <circle cx=\"9\" cy=\"9\" r=\"2\" />\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" />\n </svg>\n </i>\n <em>{photo.name}</em>\n <small>{photo.count}张</small>\n </span>\n ))}\n </div>\n <button\n type=\"button\"\n className=\"evidence-add\"\n onClick={() => onAddPackagePhoto(task.activePackageIndex)}\n >\n + 添加照片\n </button>\n </div>\n\n <div className=\"piece-foot\">\n <div className=\"summary\">\n <span className={`piece-result ${currentPackage.status}`}>\n 本包结论:\n {currentPackage.status === 'ok'\n ? '合格'\n : currentPackage.status === 'bad'\n ? '不合格'\n : '待确认'}\n </span>\n <span>\n {pkgOkItems} 项合格 · {pkgBadItems} 项不合格 · {pkgWaitItems} 项待检\n </span>\n </div>\n <button\n type=\"button\"\n className=\"btn pri\"\n onClick={() => onConfirmPackage(task.activePackageIndex)}\n >\n 确认本包结论\n </button>\n </div>\n </>\n )}\n\n {/* 6. 首件综合结论与处置底栏 */}\n <div className=\"first-final\">\n <div className=\"copy\">\n <b>{hasBad ? labels.blockedLabel : allComplete ? labels.readyLabel : '首件检验进行中'}</b>\n <span>\n {hasBad\n ? `单片不合格 ${pieceBadCount} 片 · 包装不合格 ${packageBadCount} 包;请调整后重新执行对应检验。`\n : `按片 ${pieceCompletedCount}/${pieceTotalCount} · 按包 ${packageCompletedCount}/${packageTotalCount} · 两类检验全部合格后方可量产`}\n </span>\n </div>\n <button\n type=\"button\"\n className=\"btn pri\"\n onClick={onSubmitInspection}\n disabled={isSubmitting}\n aria-busy={isSubmitting}\n >\n {labels.submitLabel}\n </button>\n </div>\n </div>\n );\n};\n","path":"references/metaform/components/business/industry/inspection/src/first-piece-inspection-workbench.tsx","target":"~/references/metaform/components/business/industry/inspection/src/first-piece-inspection-workbench.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.91b6c344e59fb18f9d9a43f4ac15c2ec","contractRef":"components/business/industry/inspection/src/first-piece-inspection-workbench.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-91b6c344e59fb18f9d9a43f4ac15c2ec","registryDependencies":[],"title":"resource.file.91b6c344e59fb18f9d9a43f4ac15c2ec","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.91e7c7b18a4cc1c00206b79e3a875721","files":[{"content":"\"use client\"\n\nimport { 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 ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A radar chart with a grid and circle fill\"\n\nconst chartData = [\n { month: \"January\", desktop: 186 },\n { month: \"February\", desktop: 285 },\n { month: \"March\", desktop: 237 },\n { month: \"April\", desktop: 203 },\n { month: \"May\", desktop: 209 },\n { month: \"June\", desktop: 264 },\n]\n\nconst chartConfig = {\n desktop: {\n label: \"Desktop\",\n color: \"var(--chart-1)\",\n },\n} satisfies ChartConfig\n\nexport function ChartRadarGridCircleFill() {\n return (\n <Card>\n <CardHeader className=\"items-center pb-4\">\n <CardTitle>Radar Chart - Grid Circle Filled</CardTitle>\n <CardDescription>\n Showing total visitors for the last 6 months\n </CardDescription>\n </CardHeader>\n <CardContent className=\"pb-0\">\n <ChartContainer\n config={chartConfig}\n className=\"mx-auto aspect-square max-h-[250px]\"\n >\n <RadarChart data={chartData}>\n <ChartTooltip cursor={false} content={<ChartTooltipContent />} />\n <PolarGrid\n className=\"fill-(--color-desktop) opacity-20\"\n gridType=\"circle\"\n />\n <PolarAngleAxis dataKey=\"month\" />\n <Radar\n dataKey=\"desktop\"\n fill=\"var(--color-desktop)\"\n fillOpacity={0.5}\n />\n </RadarChart>\n </ChartContainer>\n </CardContent>\n <CardFooter className=\"flex-col gap-2 text-sm\">\n <div className=\"flex items-center gap-2 leading-none font-medium\">\n Trending up by 5.2% this month <TrendingUp className=\"h-4 w-4\" />\n </div>\n <div className=\"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-grid-circle-fill.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-radar-grid-circle-fill.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.91e7c7b18a4cc1c00206b79e3a875721","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-radar-grid-circle-fill.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-91e7c7b18a4cc1c00206b79e3a875721","registryDependencies":[],"title":"resource.file.91e7c7b18a4cc1c00206b79e3a875721","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.91f65ded749b71eec77d14c7b72e6e01","files":[{"content":"import * as React from \"react\"\nimport { cn } from \"../../lib/utils\"\n\nfunction Card({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n \"flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center px-6 [.border-t]:pt-6\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","path":"src/components/vendor/shadcn/new-york-v4/ui/card.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/card.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.91f65ded749b71eec77d14c7b72e6e01","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/card.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-91f65ded749b71eec77d14c7b72e6e01","registryDependencies":[],"title":"resource.file.91f65ded749b71eec77d14c7b72e6e01","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.92734d6dc96c5b03a206672067ed6ad7","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 \"cn-progress relative flex w-full items-center overflow-x-hidden\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"cn-progress-indicator size-full flex-1 transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n )\n}\n\nexport { Progress }\n","path":"src/components/vendor/shadcn/radix/ui/progress.tsx","target":"~/src/components/vendor/shadcn/radix/ui/progress.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.92734d6dc96c5b03a206672067ed6ad7","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/radix/ui/progress.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-92734d6dc96c5b03a206672067ed6ad7","registryDependencies":[],"title":"resource.file.92734d6dc96c5b03a206672067ed6ad7","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.92ccd9fbf8bc9e36c99bac8fe45034e4","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\nconst markerVariants = cva(\n \"cn-marker group/marker relative flex w-full items-center\",\n {\n variants: {\n variant: {\n default: \"cn-marker-variant-default\",\n separator: \"cn-marker-variant-separator\",\n border: \"cn-marker-variant-border\",\n },\n },\n }\n)\n\nfunction Marker({\n className,\n variant = \"default\",\n render,\n ...props\n}: useRender.ComponentProps<\"div\"> & VariantProps<typeof markerVariants>) {\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(markerVariants({ variant, className })),\n },\n props\n ),\n render,\n state: {\n slot: \"marker\",\n variant,\n },\n })\n}\n\nfunction MarkerIcon({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"marker-icon\"\n aria-hidden=\"true\"\n className={cn(\"cn-marker-icon shrink-0\", className)}\n {...props}\n />\n )\n}\n\nfunction MarkerContent({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"marker-content\"\n className={cn(\"cn-marker-content min-w-0 wrap-break-word\", className)}\n {...props}\n />\n )\n}\n\nexport { Marker, MarkerIcon, MarkerContent, markerVariants }\n","path":"src/components/vendor/shadcn/base/ui/marker.tsx","target":"~/src/components/vendor/shadcn/base/ui/marker.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.92ccd9fbf8bc9e36c99bac8fe45034e4","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/base/ui/marker.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-92ccd9fbf8bc9e36c99bac8fe45034e4","registryDependencies":[],"title":"resource.file.92ccd9fbf8bc9e36c99bac8fe45034e4","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.937ad49406c560ed1c2450f48fb63104","files":[{"content":"// Tremor useToast [v0.0.0]\n\n\"use client\"\n\nimport React from \"react\"\n\nimport type { ToastActionElement, ToastProps } from \"../components/Toast/Toast\"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_VALUE\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"]\n toast: ToasterToast\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"]\n toast: Partial<ToasterToast>\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n }\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\n// Updated with https://github.com/shadcn-ui/ui/pull/1038/files\nfunction dispatch(action: Action) {\n if (action.type === \"ADD_TOAST\") {\n const toastExists = memoryState.toasts.some((t) => t.id === action.toast.id)\n if (toastExists) {\n return\n }\n }\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast & { id?: string }) {\n const id = props?.id || genId()\n\n const update = (props: Toast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n })\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id })\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n },\n },\n })\n\n return {\n id: id,\n dismiss,\n update,\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n }\n}\n\nexport { toast, useToast }\n","path":"src/components/vendor/tremor/hooks/useToast.ts","target":"~/src/components/vendor/tremor/hooks/useToast.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.937ad49406c560ed1c2450f48fb63104","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/hooks/useToast.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-937ad49406c560ed1c2450f48fb63104","registryDependencies":[],"title":"resource.file.937ad49406c560ed1c2450f48fb63104","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.93db91ccd566c942db3a063bf76da6ec","files":[{"content":"import { ArrowUpRight } from 'lucide-react';\n\nimport { Badge } from '@metaform/design-system/components/ui/badge';\nimport { Button } from '@metaform/design-system/components/ui/button';\nimport {\n Table,\n TableBody,\n TableCaption,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from '@metaform/design-system/components/ui/table';\n\nexport interface SalesOrderTableRow {\n id: string;\n customer: string;\n skuName: string;\n quantity: number;\n deliveryDate: string;\n batchIds: string[];\n status: string;\n}\n\nexport function SalesOrderTable({\n rows,\n columns,\n onOpen,\n}: {\n rows: SalesOrderTableRow[];\n columns: string[];\n onOpen(id: string): void;\n}) {\n const visibleColumnCount = ['orderId', 'customer', 'skuName', 'quantity', 'deliveryDate', 'batchIds', 'status'].filter(key => columns.includes(key)).length;\n return (\n <Table tabIndex={0} aria-label=\"销售订单,可横向滚动\" className=\"min-w-max text-sm focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring\">\n <TableCaption className=\"caption-top pb-4 text-left text-sm font-medium text-foreground\">销售订单<span className=\"ml-3 font-normal tabular-nums text-muted-foreground\">共 {rows.length} 条</span></TableCaption>\n <TableHeader>\n <TableRow>\n {columns.includes('orderId') && <TableHead scope=\"col\" className=\"whitespace-nowrap\">订单号</TableHead>}\n {columns.includes('customer') && <TableHead scope=\"col\" className=\"whitespace-nowrap\">客户/渠道</TableHead>}\n {columns.includes('skuName') && <TableHead scope=\"col\" className=\"whitespace-nowrap\">产品</TableHead>}\n {columns.includes('quantity') && <TableHead scope=\"col\" className=\"whitespace-nowrap\">订单数量</TableHead>}\n {columns.includes('deliveryDate') && <TableHead scope=\"col\" className=\"whitespace-nowrap\">交付日期</TableHead>}\n {columns.includes('batchIds') && <TableHead scope=\"col\" className=\"whitespace-nowrap\">关联排程</TableHead>}\n {columns.includes('status') && <TableHead scope=\"col\" className=\"whitespace-nowrap\">订单状态</TableHead>}\n <TableHead scope=\"col\" className=\"whitespace-nowrap\">订单详情</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {!rows.length && <TableRow><TableCell colSpan={visibleColumnCount + 1} className=\"h-32 text-center\"><p role=\"status\" className=\"text-sm text-muted-foreground\">当前范围没有销售订单</p></TableCell></TableRow>}\n {rows.map((row) => (\n <TableRow key={row.id}>\n {columns.includes('orderId') && (\n <TableCell className=\"font-medium tabular-nums\">{row.id}</TableCell>\n )}\n {columns.includes('customer') && <TableCell>{row.customer}</TableCell>}\n {columns.includes('skuName') && <TableCell>{row.skuName}</TableCell>}\n {columns.includes('quantity') && (\n <TableCell className=\"tabular-nums\">{row.quantity.toLocaleString()} 片</TableCell>\n )}\n {columns.includes('deliveryDate') && (\n <TableCell className=\"tabular-nums\">{row.deliveryDate}</TableCell>\n )}\n {columns.includes('batchIds') && (\n <TableCell>\n <div className=\"flex flex-wrap gap-1\">\n {row.batchIds.map((id) => (\n <Badge key={id} variant=\"neutral\">\n {id}\n </Badge>\n ))}\n </div>\n </TableCell>\n )}\n {columns.includes('status') && (\n <TableCell>\n <Badge variant={row.status === '已排程' ? 'success' : 'warning'}>\n {row.status}\n </Badge>\n </TableCell>\n )}\n <TableCell>\n <Button\n variant=\"ghost-neutral\"\n className=\"min-h-9 px-3 text-sm\"\n aria-label={`查看订单 ${row.id}`}\n onClick={() => onOpen(`order:${row.id}`)}\n >\n 查看 <ArrowUpRight className=\"size-3\" aria-hidden=\"true\" />\n </Button>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n );\n}\n","path":"references/metaform/components/business/production/src/sales-order-table.tsx","target":"~/references/metaform/components/business/production/src/sales-order-table.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.93db91ccd566c942db3a063bf76da6ec","contractRef":"components/business/production/src/sales-order-table.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-93db91ccd566c942db3a063bf76da6ec","registryDependencies":[],"title":"resource.file.93db91ccd566c942db3a063bf76da6ec","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.947119e505579579530d80bf84d1d0fa","files":[{"content":"export default function TypographyBlockquote() {\n return (\n <blockquote className=\"mt-6 border-l-2 pl-6 italic\">\n &quot;After all,&quot; he said, &quot;everyone enjoys a good joke, so\n it&apos;s only fair that they should pay for the privilege.&quot;\n </blockquote>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/examples/typography-blockquote.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/examples/typography-blockquote.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.947119e505579579530d80bf84d1d0fa","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/examples/typography-blockquote.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-947119e505579579530d80bf84d1d0fa","registryDependencies":[],"title":"resource.file.947119e505579579530d80bf84d1d0fa","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.948d2a48eb1beacf64d56c691633d246","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(\"flex min-w-0 flex-col gap-2\", 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 \"group/message relative flex w-full min-w-0 gap-2 text-sm 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 \"flex w-fit min-w-8 shrink-0 items-center justify-center self-end overflow-hidden rounded-full bg-muted group-has-data-[slot=message-footer]/message:-translate-y-8\",\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 \"flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end\",\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 \"flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0\",\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 \"flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 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/new-york-v4/ui/message.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/ui/message.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.948d2a48eb1beacf64d56c691633d246","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/ui/message.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-948d2a48eb1beacf64d56c691633d246","registryDependencies":[],"title":"resource.file.948d2a48eb1beacf64d56c691633d246","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.9560776f771679ca4067aa76474856a8","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 \"cn-drawer-overlay fixed inset-0 z-50 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-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 \"cn-drawer-content group/drawer-content fixed z-50 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=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 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=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=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm\",\n className\n )}\n {...props}\n >\n <div className=\"cn-drawer-handle mx-auto hidden shrink-0 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 \"cn-drawer-header flex flex-col group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center\",\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(\"cn-drawer-footer mt-auto flex flex-col\", 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(\"cn-drawer-title cn-font-heading\", 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(\"cn-drawer-description\", 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/radix/ui/drawer.tsx","target":"~/src/components/vendor/shadcn/radix/ui/drawer.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.9560776f771679ca4067aa76474856a8","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/radix/ui/drawer.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-9560776f771679ca4067aa76474856a8","registryDependencies":[],"title":"resource.file.9560776f771679ca4067aa76474856a8","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.956b78fd44ecff3e99e4dfcb046b73cf","files":[{"content":"export default function TypographyP() {\n return (\n <p className=\"leading-7 [&:not(:first-child)]:mt-6\">\n The king, seeing how much happier his subjects were, realized the error of\n his ways and repealed the joke tax.\n </p>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/examples/typography-p.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/examples/typography-p.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.956b78fd44ecff3e99e4dfcb046b73cf","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/examples/typography-p.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-956b78fd44ecff3e99e4dfcb046b73cf","registryDependencies":[],"title":"resource.file.956b78fd44ecff3e99e4dfcb046b73cf","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.96b2515967c3f6fad23c3e74abd6a78d","files":[{"content":"// Tremor ComboChart [v1.0.0]\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n\"use client\"\n\nimport React from \"react\"\nimport { RiArrowLeftSLine, RiArrowRightSLine } from \"@remixicon/react\"\nimport {\n Bar,\n CartesianGrid,\n Dot,\n Label,\n Line,\n ComposedChart as RechartsComposedChart,\n Legend as RechartsLegend,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"tremor-recharts\"\nimport type { AxisDomain } from \"tremor-recharts/types/util/types\"\n\nimport { useOnWindowResize } from \"../../hooks/useOnWindowResize\"\nimport {\n AvailableChartColors,\n type AvailableChartColorsKeys,\n constructCategoryColors,\n getColorClassName,\n} from \"../../utils/chartColors\"\nimport { cx } from \"../../utils/cx\"\nimport { getYAxisDomain } from \"../../utils/getYAxisDomain\"\nimport { hasOnlyOneValueForKey } from \"../../utils/hasOnlyOneValueForKey\"\n\n//#region Shape\nfunction deepEqual<T>(obj1: T, obj2: T): boolean {\n if (obj1 === obj2) return true\n\n if (\n typeof obj1 !== \"object\" ||\n typeof obj2 !== \"object\" ||\n obj1 === null ||\n obj2 === null\n ) {\n return false\n }\n\n const keys1 = Object.keys(obj1) as Array<keyof T>\n const keys2 = Object.keys(obj2) as Array<keyof T>\n\n if (keys1.length !== keys2.length) return false\n\n for (const key of keys1) {\n if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) return false\n }\n\n return true\n}\n\nconst renderShape = (\n props: any,\n activeBar: any | undefined,\n activeLegend: string | undefined,\n) => {\n const { fillOpacity, name, payload, value, width, x } = props\n let { y, height } = props\n\n if (height < 0) {\n y += height\n height = Math.abs(height) // height must be a positive number\n }\n\n return (\n <rect\n x={x}\n y={y}\n width={width}\n height={height}\n opacity={\n activeBar || (activeLegend && activeLegend !== name)\n ? deepEqual(activeBar, { ...payload, value })\n ? fillOpacity\n : 0.3\n : fillOpacity\n }\n />\n )\n}\n\n//#region Legend\n\ninterface LegendItemProps {\n name: string\n color: AvailableChartColorsKeys\n onClick?: (name: string, color: AvailableChartColorsKeys) => void\n activeLegend?: string\n chartType: \"bar\" | \"line\"\n}\n\nconst LegendItem = ({\n name,\n color,\n onClick,\n activeLegend,\n chartType,\n}: LegendItemProps) => {\n const hasOnValueChange = !!onClick\n const colorClass = getColorClassName(color, \"bg\")\n\n return (\n <li\n className={cx(\n // base\n \"group inline-flex flex-nowrap items-center gap-1.5 whitespace-nowrap rounded-sm px-2 py-1 transition\",\n hasOnValueChange\n ? \"cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800\"\n : \"cursor-default\",\n )}\n onClick={(e) => {\n e.stopPropagation()\n onClick?.(name, color)\n }}\n >\n <span\n className={cx(\n { \"size-2 rounded-xs\": chartType === \"bar\" },\n {\n \"h-[3px] w-3.5 shrink-0 rounded-full\": chartType === \"line\",\n },\n \"shrink-0\",\n colorClass,\n activeLegend && activeLegend !== name ? \"opacity-40\" : \"opacity-100\",\n )}\n aria-hidden={true}\n />\n <p\n className={cx(\n // base\n \"truncate whitespace-nowrap text-xs\",\n // text color\n \"text-gray-700 dark:text-gray-300\",\n hasOnValueChange &&\n \"group-hover:text-gray-900 dark:group-hover:text-gray-50\",\n activeLegend && activeLegend !== name ? \"opacity-40\" : \"opacity-100\",\n )}\n >\n {name}\n </p>\n </li>\n )\n}\n\ninterface ScrollButtonProps {\n icon: React.ElementType\n onClick?: () => void\n disabled?: boolean\n}\n\nconst ScrollButton = ({ icon, onClick, disabled }: ScrollButtonProps) => {\n const Icon = icon\n const [isPressed, setIsPressed] = React.useState(false)\n const intervalRef = React.useRef<ReturnType<typeof setInterval> | null>(null)\n\n React.useEffect(() => {\n if (isPressed) {\n intervalRef.current = setInterval(() => {\n onClick?.()\n }, 300)\n } else {\n clearInterval(intervalRef.current as ReturnType<typeof setInterval>)\n }\n return () => clearInterval(intervalRef.current as ReturnType<typeof setInterval>)\n }, [isPressed, onClick])\n\n React.useEffect(() => {\n if (disabled) {\n clearInterval(intervalRef.current as ReturnType<typeof setInterval>)\n setIsPressed(false)\n }\n }, [disabled])\n\n return (\n <button\n type=\"button\"\n className={cx(\n // base\n \"group inline-flex size-5 items-center truncate rounded-sm transition\",\n disabled\n ? \"cursor-not-allowed text-gray-400 dark:text-gray-600\"\n : \"cursor-pointer text-gray-700 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-800 dark:hover:text-gray-50\",\n )}\n disabled={disabled}\n onClick={(e) => {\n e.stopPropagation()\n onClick?.()\n }}\n onMouseDown={(e) => {\n e.stopPropagation()\n setIsPressed(true)\n }}\n onMouseUp={(e) => {\n e.stopPropagation()\n setIsPressed(false)\n }}\n >\n <Icon className=\"size-full\" aria-hidden=\"true\" />\n </button>\n )\n}\n\ninterface LegendProps extends React.OlHTMLAttributes<HTMLOListElement> {\n categories: { name: string; chartType: \"bar\" | \"line\" }[]\n barCategoryColors: Map<string, AvailableChartColorsKeys>\n lineCategoryColors: Map<string, AvailableChartColorsKeys>\n onClickLegendItem?: (\n category: string,\n color: AvailableChartColorsKeys,\n ) => void\n activeLegend?: string\n enableLegendSlider?: boolean\n}\n\ntype HasScrollProps = {\n left: boolean\n right: boolean\n}\n\nconst Legend = React.forwardRef<HTMLOListElement, LegendProps>((props, ref) => {\n const {\n categories,\n barCategoryColors,\n lineCategoryColors,\n onClickLegendItem,\n activeLegend,\n enableLegendSlider = false,\n className,\n ...other\n } = props\n const scrollableRef = React.useRef<HTMLInputElement>(null)\n const [hasScroll, setHasScroll] = React.useState<HasScrollProps | null>(null)\n const [isKeyDowned, setIsKeyDowned] = React.useState<string | null>(null)\n const intervalRef = React.useRef<ReturnType<typeof setInterval> | null>(null)\n\n const checkScroll = React.useCallback(() => {\n const scrollable = scrollableRef?.current\n if (!scrollable) return\n\n const hasLeftScroll = scrollable.scrollLeft > 0\n const hasRightScroll =\n scrollable.scrollWidth - scrollable.clientWidth > scrollable.scrollLeft\n\n setHasScroll({ left: hasLeftScroll, right: hasRightScroll })\n }, [setHasScroll])\n\n const scrollToTest = React.useCallback(\n (direction: \"left\" | \"right\") => {\n const element = scrollableRef?.current\n const width = element?.clientWidth ?? 0\n\n if (element && enableLegendSlider) {\n element.scrollTo({\n left:\n direction === \"left\"\n ? element.scrollLeft - width\n : element.scrollLeft + width,\n behavior: \"smooth\",\n })\n setTimeout(() => {\n checkScroll()\n }, 400)\n }\n },\n [enableLegendSlider, checkScroll],\n )\n\n React.useEffect(() => {\n const keyDownHandler = (key: string) => {\n if (key === \"ArrowLeft\") {\n scrollToTest(\"left\")\n } else if (key === \"ArrowRight\") {\n scrollToTest(\"right\")\n }\n }\n if (isKeyDowned) {\n keyDownHandler(isKeyDowned)\n intervalRef.current = setInterval(() => {\n keyDownHandler(isKeyDowned)\n }, 300)\n } else {\n clearInterval(intervalRef.current as ReturnType<typeof setInterval>)\n }\n return () => clearInterval(intervalRef.current as ReturnType<typeof setInterval>)\n }, [isKeyDowned, scrollToTest])\n\n const keyDown = (e: KeyboardEvent) => {\n e.stopPropagation()\n if (e.key === \"ArrowLeft\" || e.key === \"ArrowRight\") {\n e.preventDefault()\n setIsKeyDowned(e.key)\n }\n }\n const keyUp = (e: KeyboardEvent) => {\n e.stopPropagation()\n setIsKeyDowned(null)\n }\n\n React.useEffect(() => {\n const scrollable = scrollableRef?.current\n if (enableLegendSlider) {\n checkScroll()\n scrollable?.addEventListener(\"keydown\", keyDown)\n scrollable?.addEventListener(\"keyup\", keyUp)\n }\n\n return () => {\n scrollable?.removeEventListener(\"keydown\", keyDown)\n scrollable?.removeEventListener(\"keyup\", keyUp)\n }\n }, [checkScroll, enableLegendSlider])\n\n return (\n <ol\n ref={ref}\n className={cx(\"relative overflow-hidden\", className)}\n {...other}\n >\n <div\n ref={scrollableRef}\n className={cx(\n \"flex h-full\",\n enableLegendSlider\n ? hasScroll?.right || hasScroll?.left\n ? \"snap-mandatory items-center overflow-auto pl-4 pr-12 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"\n : \"\"\n : \"flex-wrap\",\n )}\n >\n {categories.map((category, index) => {\n const barColor = barCategoryColors.get(category.name)\n const lineColor = lineCategoryColors.get(category.name)\n return (\n <LegendItem\n key={`item-${index}`}\n name={category.name}\n chartType={category.chartType}\n onClick={onClickLegendItem}\n activeLegend={activeLegend}\n color={category.chartType === \"bar\" ? barColor! : lineColor!}\n />\n )\n })}\n </div>\n {enableLegendSlider && (hasScroll?.right || hasScroll?.left) ? (\n <>\n <div\n className={cx(\n // base\n \"absolute bottom-0 right-0 top-0 flex h-full items-center justify-center pr-1\",\n // background color\n \"bg-white dark:bg-gray-950\",\n )}\n >\n <ScrollButton\n icon={RiArrowLeftSLine}\n onClick={() => {\n setIsKeyDowned(null)\n scrollToTest(\"left\")\n }}\n disabled={!hasScroll?.left}\n />\n <ScrollButton\n icon={RiArrowRightSLine}\n onClick={() => {\n setIsKeyDowned(null)\n scrollToTest(\"right\")\n }}\n disabled={!hasScroll?.right}\n />\n </div>\n </>\n ) : null}\n </ol>\n )\n})\n\nLegend.displayName = \"Legend\"\n\nconst ChartLegend = (\n { payload }: any,\n barCategoryColors: Map<string, AvailableChartColorsKeys>,\n lineCategoryColors: Map<string, AvailableChartColorsKeys>,\n setLegendHeight: React.Dispatch<React.SetStateAction<number>>,\n activeLegend: string | undefined,\n onClick?: (category: string, color: AvailableChartColorsKeys) => void,\n enableLegendSlider?: boolean,\n legendPosition?: \"left\" | \"center\" | \"right\",\n barYAxisWidth?: number,\n lineYAxisWidth?: number,\n) => {\n const legendRef = React.useRef<HTMLDivElement>(null)\n\n useOnWindowResize(() => {\n const calculateHeight = (height: number | undefined) =>\n height ? Number(height) + 15 : 60\n setLegendHeight(calculateHeight(legendRef.current?.clientHeight))\n })\n\n const filteredPayload = payload.filter((item: any) => item.type !== \"none\")\n\n const paddingLeft =\n legendPosition === \"left\" && barYAxisWidth ? barYAxisWidth - 8 : 0\n const paddingRight =\n (legendPosition === \"right\" || legendPosition === undefined) &&\n lineYAxisWidth\n ? lineYAxisWidth - 8\n : 52\n\n return (\n <div\n style={{ paddingLeft: paddingLeft, paddingRight: paddingRight }}\n ref={legendRef}\n className={cx(\n \"flex items-center\",\n { \"justify-center\": legendPosition === \"center\" },\n {\n \"justify-start\": legendPosition === \"left\",\n },\n { \"justify-end\": legendPosition === \"right\" },\n )}\n >\n <Legend\n categories={filteredPayload.map((entry: any) => ({\n name: entry.value,\n chartType: entry.type === \"rect\" ? \"bar\" : entry.type,\n }))}\n barCategoryColors={barCategoryColors}\n lineCategoryColors={lineCategoryColors}\n onClickLegendItem={onClick}\n activeLegend={activeLegend}\n enableLegendSlider={enableLegendSlider}\n />\n </div>\n )\n}\n\n//#region Tooltip\n\ntype TooltipProps = Pick<ChartTooltipProps, \"active\" | \"payload\" | \"label\">\n\ntype PayloadItem = {\n category: string\n value: number\n index: string\n barColor: AvailableChartColorsKeys\n lineColor: AvailableChartColorsKeys\n chartType: \"bar\" | \"line\"\n type: string\n payload: any\n}\n\ninterface ChartTooltipProps {\n active: boolean | undefined\n payload: PayloadItem[]\n label: string\n barValueFormatter?: (value: number) => string\n lineValueFormatter?: (value: number) => string\n}\n\nconst ChartTooltip = ({\n active,\n payload,\n label,\n barValueFormatter = (value: number): string => value.toString(),\n lineValueFormatter = (value: number): string => value.toString(),\n}: ChartTooltipProps) => {\n if (active && payload && payload.length) {\n const filteredPayload = payload.filter((item: any) => item.type !== \"none\")\n return (\n <div\n className={cx(\n // base\n \"rounded-md border text-sm shadow-md\",\n // border color\n \"border-gray-200 dark:border-gray-800\",\n // background color\n \"bg-white dark:bg-gray-950\",\n )}\n >\n <div className={cx(\"border-b border-inherit px-4 py-2\")}>\n <p\n className={cx(\n // base\n \"font-medium\",\n // text color\n \"text-gray-900 dark:text-gray-50\",\n )}\n >\n {label}\n </p>\n </div>\n <div className={cx(\"space-y-1 px-4 py-2\")}>\n {filteredPayload.map(\n ({ value, category, barColor, lineColor, chartType }, index) => (\n <div\n key={`id-${index}`}\n className=\"flex items-center justify-between space-x-8\"\n >\n <div className=\"flex items-center space-x-2\">\n <div className=\"flex w-5 items-center justify-center\">\n <span\n aria-hidden=\"true\"\n className={cx(\n { \"size-2 rounded-xs\": chartType === \"bar\" },\n {\n \"h-[3px] w-3.5 shrink-0 rounded-full\":\n chartType === \"line\",\n },\n \"shrink-0\",\n getColorClassName(\n chartType === \"bar\" ? barColor : lineColor,\n \"bg\",\n ),\n )}\n />\n </div>\n <p\n className={cx(\n // base\n \"whitespace-nowrap text-right\",\n // text color\n \"text-gray-700 dark:text-gray-300\",\n )}\n >\n {category}\n </p>\n </div>\n <p\n className={cx(\n // base\n \"whitespace-nowrap text-right font-medium tabular-nums\",\n // text color\n \"text-gray-900 dark:text-gray-50\",\n )}\n >\n {chartType === \"bar\"\n ? barValueFormatter(value)\n : lineValueFormatter(value)}\n </p>\n </div>\n ),\n )}\n </div>\n </div>\n )\n }\n return null\n}\n\ninterface ActiveDot {\n index?: number\n dataKey?: string\n}\n\ntype BaseEventProps = {\n eventType: \"category\" | \"bar\" | \"dot\"\n categoryClicked: string\n [key: string]: number | string\n}\n\ntype ComboChartEventProps = BaseEventProps | null | undefined\n\ntype ChartSeries = {\n categories: string[]\n colors?: AvailableChartColorsKeys[]\n valueFormatter?: (value: number) => string\n showYAxis?: boolean\n yAxisWidth?: number\n allowDecimals?: boolean\n yAxisLabel?: string\n autoMinValue?: boolean\n minValue?: number\n maxValue?: number\n}\n\ninterface ComboChartProps extends React.HTMLAttributes<HTMLDivElement> {\n data: Record<string, any>[]\n index: string\n startEndOnly?: boolean\n showXAxis?: boolean\n xAxisLabel?: string\n showGridLines?: boolean\n intervalType?: \"preserveStartEnd\" | \"equidistantPreserveStart\"\n showLegend?: boolean\n showTooltip?: boolean\n onValueChange?: (value: ComboChartEventProps) => void\n enableLegendSlider?: boolean\n legendPosition?: \"left\" | \"center\" | \"right\"\n tickGap?: number\n enableBiaxial?: boolean\n tooltipCallback?: (tooltipCallbackContent: TooltipProps) => void\n customTooltip?: React.ComponentType<TooltipProps>\n barSeries: ChartSeries & {\n type?: \"default\" | \"stacked\"\n }\n lineSeries?: ChartSeries & {\n connectNulls?: boolean\n }\n}\n\nconst ComboChart = React.forwardRef<HTMLDivElement, ComboChartProps>(\n (props, forwardedRef) => {\n const defaultSeries = {\n categories: [],\n colors: AvailableChartColors,\n valueFormatter: (value: number) => value.toString(),\n showYAxis: true,\n yAxisWidth: 56,\n yAxisLabel: undefined,\n allowDecimals: true,\n type: \"default\",\n autoMinValue: false,\n minValue: undefined,\n maxValue: undefined,\n }\n\n const defaultBarSeries = defaultSeries\n const defaultLineSeries = {\n ...defaultSeries,\n connectNulls: false,\n }\n\n const {\n data = [],\n index,\n startEndOnly = false,\n showXAxis = true,\n showGridLines = true,\n intervalType = \"equidistantPreserveStart\",\n showTooltip = true,\n showLegend = true,\n legendPosition = \"right\",\n enableLegendSlider = false,\n onValueChange,\n tickGap = 5,\n xAxisLabel,\n enableBiaxial = false,\n\n barSeries = defaultBarSeries,\n lineSeries = defaultLineSeries,\n tooltipCallback,\n customTooltip,\n\n className,\n ...other\n } = props\n const mergedBarSeries = { ...defaultBarSeries, ...barSeries }\n const mergedLineSeries = { ...defaultLineSeries, ...lineSeries }\n\n const CustomTooltip = customTooltip\n\n const paddingValue =\n (!showXAxis &&\n !mergedBarSeries.showYAxis &&\n enableBiaxial &&\n !mergedLineSeries.showYAxis) ||\n (startEndOnly &&\n !mergedBarSeries.showYAxis &&\n enableBiaxial &&\n !mergedLineSeries.showYAxis)\n ? 0\n : 20\n const [legendHeight, setLegendHeight] = React.useState(60)\n const [activeDot, setActiveDot] = React.useState<ActiveDot | undefined>(\n undefined,\n )\n const [activeLegend, setActiveLegend] = React.useState<string | undefined>(\n undefined,\n )\n\n const prevActiveRef = React.useRef<boolean | undefined>(undefined)\n const prevLabelRef = React.useRef<string | undefined>(undefined)\n\n const barCategoryColors = constructCategoryColors(\n mergedBarSeries.categories,\n mergedBarSeries.colors ?? AvailableChartColors,\n )\n const lineCategoryColors = constructCategoryColors(\n mergedLineSeries.categories,\n mergedLineSeries.colors ?? AvailableChartColors,\n )\n const [activeBar, setActiveBar] = React.useState<any | undefined>(undefined)\n const barYAxisDomain = getYAxisDomain(\n mergedBarSeries.autoMinValue ?? false,\n mergedBarSeries.minValue,\n mergedBarSeries.maxValue,\n )\n const lineYAxisDomain = getYAxisDomain(\n mergedLineSeries.autoMinValue ?? false,\n mergedLineSeries.minValue,\n mergedLineSeries.maxValue,\n )\n const hasOnValueChange = !!onValueChange\n const stacked = barSeries.type === \"stacked\"\n\n function onBarClick(data: any, _: any, event: React.MouseEvent) {\n event.stopPropagation()\n if (!onValueChange) return\n if (deepEqual(activeBar, { ...data.payload, value: data.value })) {\n setActiveLegend(undefined)\n setActiveBar(undefined)\n onValueChange?.(null)\n } else {\n setActiveLegend(data.tooltipPayload?.[0]?.dataKey)\n setActiveBar({\n ...data.payload,\n value: data.value,\n })\n onValueChange?.({\n eventType: \"bar\",\n categoryClicked: data.tooltipPayload?.[0]?.dataKey,\n ...data.payload,\n })\n }\n }\n\n function onDotClick(itemData: any, event: React.MouseEvent) {\n event.stopPropagation()\n\n if (!hasOnValueChange) return\n if (\n (itemData.index === activeDot?.index &&\n itemData.dataKey === activeDot?.dataKey) ||\n (hasOnlyOneValueForKey(data, itemData.dataKey) &&\n activeLegend &&\n activeLegend === itemData.dataKey)\n ) {\n setActiveLegend(undefined)\n setActiveDot(undefined)\n onValueChange?.(null)\n } else {\n setActiveBar(undefined)\n setActiveLegend(itemData.dataKey)\n setActiveDot({\n index: itemData.index,\n dataKey: itemData.dataKey,\n })\n onValueChange?.({\n eventType: \"dot\",\n categoryClicked: itemData.dataKey,\n ...itemData.payload,\n })\n }\n }\n\n function onCategoryClick(dataKey: string) {\n if (!hasOnValueChange) return\n\n if (dataKey === activeLegend && !activeBar && !activeDot) {\n setActiveLegend(undefined)\n onValueChange?.(null)\n } else if (\n activeBar &&\n activeBar.tooltipPayload?.[0]?.dataKey === dataKey\n ) {\n setActiveLegend(dataKey)\n onValueChange?.({\n eventType: \"category\",\n categoryClicked: dataKey,\n })\n } else {\n setActiveLegend(dataKey)\n setActiveBar(undefined)\n setActiveDot(undefined)\n onValueChange?.({\n eventType: \"category\",\n categoryClicked: dataKey,\n })\n }\n }\n\n return (\n <div\n ref={forwardedRef}\n className={cx(\"h-80 w-full\", className)}\n tremor-id=\"tremor-raw\"\n {...other}\n >\n <ResponsiveContainer>\n <RechartsComposedChart\n data={data}\n onClick={\n hasOnValueChange && (activeLegend || activeBar || activeDot)\n ? () => {\n setActiveBar(undefined)\n setActiveDot(undefined)\n setActiveLegend(undefined)\n onValueChange?.(null)\n }\n : undefined\n }\n margin={{\n bottom: xAxisLabel ? 30 : undefined,\n left: mergedBarSeries.yAxisLabel ? 20 : undefined,\n right: mergedLineSeries.yAxisLabel ? 20 : undefined,\n top: 5,\n }}\n >\n {showGridLines ? (\n <CartesianGrid\n className={cx(\"stroke-gray-200 stroke-1 dark:stroke-gray-800\")}\n horizontal={true}\n vertical={false}\n />\n ) : null}\n <XAxis\n hide={!showXAxis}\n tick={{\n transform: \"translate(0, 6)\",\n }}\n fill=\"\"\n stroke=\"\"\n className={cx(\n // base\n \"mt-4 text-xs\",\n // text fill\n \"fill-gray-500 dark:fill-gray-500\",\n )}\n tickLine={false}\n axisLine={false}\n minTickGap={tickGap}\n padding={{\n left: paddingValue,\n right: paddingValue,\n }}\n dataKey={index}\n interval={startEndOnly ? \"preserveStartEnd\" : intervalType}\n ticks={\n startEndOnly\n ? [data[0][index], data[data.length - 1][index]]\n : undefined\n }\n >\n {xAxisLabel && (\n <Label\n position=\"insideBottom\"\n offset={-20}\n className=\"fill-gray-800 text-sm font-medium dark:fill-gray-200\"\n >\n {xAxisLabel}\n </Label>\n )}\n </XAxis>\n <YAxis\n yAxisId={enableBiaxial ? \"left\" : undefined}\n width={mergedBarSeries.yAxisWidth}\n hide={!mergedBarSeries.showYAxis}\n axisLine={false}\n tickLine={false}\n fill=\"\"\n stroke=\"\"\n className={cx(\n // base\n \"text-xs\",\n // text fill\n \"fill-gray-500 dark:fill-gray-500\",\n )}\n tick={{\n transform: \"translate(-3, 0)\",\n }}\n type=\"number\"\n domain={barYAxisDomain as AxisDomain}\n tickFormatter={mergedBarSeries.valueFormatter}\n allowDecimals={mergedBarSeries.allowDecimals}\n >\n {mergedBarSeries.yAxisLabel && (\n <Label\n position=\"insideLeft\"\n style={{ textAnchor: \"middle\" }}\n angle={-90}\n offset={-15}\n className=\"fill-gray-800 text-sm font-medium dark:fill-gray-200\"\n >\n {mergedBarSeries.yAxisLabel}\n </Label>\n )}\n </YAxis>\n\n {enableBiaxial ? (\n <YAxis\n yAxisId=\"right\"\n orientation=\"right\"\n width={mergedLineSeries.yAxisWidth}\n hide={!mergedLineSeries.showYAxis}\n axisLine={false}\n tickLine={false}\n fill=\"\"\n stroke=\"\"\n className={cx(\n // base\n \"text-xs\",\n // text fill\n \"fill-gray-500 dark:fill-gray-500\",\n )}\n tick={{\n transform: \"translate(3, 0)\",\n }}\n type=\"number\"\n domain={lineYAxisDomain as AxisDomain}\n tickFormatter={mergedLineSeries.valueFormatter}\n allowDecimals={mergedLineSeries.allowDecimals}\n >\n {mergedLineSeries.yAxisLabel && (\n <Label\n position=\"insideRight\"\n style={{ textAnchor: \"middle\" }}\n angle={-90}\n offset={-15}\n className=\"fill-gray-800 text-sm font-medium dark:fill-gray-200\"\n >\n {mergedLineSeries.yAxisLabel}\n </Label>\n )}\n </YAxis>\n ) : null}\n\n <Tooltip\n wrapperStyle={{ outline: \"none\" }}\n isAnimationActive={true}\n animationDuration={100}\n cursor={{ stroke: \"#d1d5db\", strokeWidth: 1 }}\n offset={20}\n position={{\n y: 0,\n }}\n content={({ active, payload, label }) => {\n const cleanPayload: TooltipProps[\"payload\"] = payload\n ? payload.map((item: any) => ({\n category: item.dataKey,\n value: item.value,\n index: item.payload[index],\n barColor: barCategoryColors.get(\n item.dataKey,\n ) as AvailableChartColorsKeys,\n lineColor: lineCategoryColors.get(\n item.dataKey,\n ) as AvailableChartColorsKeys,\n chartType: barCategoryColors.get(item.dataKey)\n ? \"bar\"\n : (\"line\" as PayloadItem[\"chartType\"]),\n type: item.type,\n payload: item.payload,\n }))\n : []\n\n if (\n tooltipCallback &&\n (active !== prevActiveRef.current ||\n label !== prevLabelRef.current)\n ) {\n tooltipCallback({ active, payload: cleanPayload, label })\n prevActiveRef.current = active\n prevLabelRef.current = label\n }\n\n return showTooltip && active ? (\n CustomTooltip ? (\n <CustomTooltip\n active={active}\n payload={cleanPayload}\n label={label}\n />\n ) : (\n <ChartTooltip\n active={active}\n payload={cleanPayload}\n label={label}\n barValueFormatter={mergedBarSeries.valueFormatter}\n lineValueFormatter={mergedLineSeries.valueFormatter}\n />\n )\n ) : null\n }}\n />\n {showLegend ? (\n <RechartsLegend\n verticalAlign=\"top\"\n height={legendHeight}\n content={({ payload }) =>\n ChartLegend(\n { payload },\n barCategoryColors,\n lineCategoryColors,\n setLegendHeight,\n activeLegend,\n hasOnValueChange\n ? (clickedLegendItem: string) =>\n onCategoryClick(clickedLegendItem)\n : undefined,\n enableLegendSlider,\n legendPosition,\n mergedBarSeries.yAxisWidth,\n mergedLineSeries.yAxisWidth,\n )\n }\n />\n ) : null}\n {mergedBarSeries.categories.map((category) => (\n <Bar\n yAxisId={enableBiaxial ? \"left\" : undefined}\n className={cx(\n getColorClassName(\n barCategoryColors.get(category) as AvailableChartColorsKeys,\n \"fill\",\n ),\n onValueChange ? \"cursor-pointer\" : \"\",\n )}\n key={category}\n name={category}\n type=\"linear\"\n dataKey={category}\n stackId={stacked ? \"stack\" : undefined}\n isAnimationActive={false}\n fill=\"\"\n shape={(props: any) =>\n renderShape(props, activeBar, activeLegend)\n }\n onClick={onBarClick}\n />\n ))}\n {/* hidden lines to increase clickable target area */}\n {onValueChange\n ? mergedLineSeries.categories.map((category) => (\n <Line\n yAxisId={enableBiaxial ? \"right\" : undefined}\n className={cx(\"cursor-pointer\")}\n strokeOpacity={0}\n key={category}\n name={category}\n type=\"linear\"\n dataKey={category}\n stroke=\"transparent\"\n fill=\"transparent\"\n legendType=\"none\"\n tooltipType=\"none\"\n strokeWidth={12}\n connectNulls={mergedLineSeries.connectNulls}\n onClick={(props: any, event) => {\n event.stopPropagation()\n const { name } = props\n onCategoryClick(name)\n }}\n />\n ))\n : null}\n {mergedLineSeries.categories.map((category) => (\n <Line\n yAxisId={enableBiaxial ? \"right\" : undefined}\n className={cx(\n getColorClassName(\n lineCategoryColors.get(\n category,\n ) as AvailableChartColorsKeys,\n \"stroke\",\n ),\n hasOnValueChange && \"cursor-pointer\",\n )}\n strokeOpacity={\n activeDot || (activeLegend && activeLegend !== category)\n ? 0.3\n : 1\n }\n activeDot={(props: any) => {\n const {\n cx: cxCoord,\n cy: cyCoord,\n stroke,\n strokeLinecap,\n strokeLinejoin,\n strokeWidth,\n dataKey,\n } = props\n return (\n <Dot\n className={cx(\n \"stroke-white dark:stroke-gray-950\",\n onValueChange ? \"cursor-pointer\" : \"\",\n getColorClassName(\n lineCategoryColors.get(\n dataKey,\n ) as AvailableChartColorsKeys,\n \"fill\",\n ),\n )}\n cx={cxCoord}\n cy={cyCoord}\n r={5}\n fill=\"\"\n stroke={stroke}\n strokeLinecap={strokeLinecap}\n strokeLinejoin={strokeLinejoin}\n strokeWidth={strokeWidth}\n onClick={(_, event) => onDotClick(props, event)}\n />\n )\n }}\n dot={(props: any) => {\n const {\n stroke,\n strokeLinecap,\n strokeLinejoin,\n strokeWidth,\n cx: cxCoord,\n cy: cyCoord,\n dataKey,\n index,\n } = props\n\n if (\n (hasOnlyOneValueForKey(data, category) &&\n !(\n activeDot ||\n (activeLegend && activeLegend !== category)\n )) ||\n (activeDot?.index === index &&\n activeDot?.dataKey === category)\n ) {\n return (\n <Dot\n key={index}\n cx={cxCoord}\n cy={cyCoord}\n r={5}\n stroke={stroke}\n fill=\"\"\n strokeLinecap={strokeLinecap}\n strokeLinejoin={strokeLinejoin}\n strokeWidth={strokeWidth}\n className={cx(\n \"stroke-white dark:stroke-gray-950\",\n onValueChange ? \"cursor-pointer\" : \"\",\n getColorClassName(\n lineCategoryColors.get(\n dataKey,\n ) as AvailableChartColorsKeys,\n \"fill\",\n ),\n )}\n />\n )\n }\n return <React.Fragment key={index}></React.Fragment>\n }}\n key={`${category}-line-id`}\n name={category}\n type=\"linear\"\n dataKey={category}\n stroke=\"\"\n strokeWidth={2}\n strokeLinejoin=\"round\"\n strokeLinecap=\"round\"\n isAnimationActive={false}\n connectNulls={mergedLineSeries.connectNulls}\n onClick={(props: any, event) => {\n event.stopPropagation()\n const { name } = props\n onCategoryClick(name)\n }}\n />\n ))}\n </RechartsComposedChart>\n </ResponsiveContainer>\n </div>\n )\n },\n)\n\nComboChart.displayName = \"ComboChart\"\n\nexport { ComboChart, type ComboChartEventProps, type TooltipProps }\n","path":"src/components/vendor/tremor/components/ComboChart/ComboChart.tsx","target":"~/src/components/vendor/tremor/components/ComboChart/ComboChart.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.96b2515967c3f6fad23c3e74abd6a78d","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/components/ComboChart/ComboChart.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-96b2515967c3f6fad23c3e74abd6a78d","registryDependencies":[],"title":"resource.file.96b2515967c3f6fad23c3e74abd6a78d","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.9757ff8fc1f1e3c29087e671c2c0330a","files":[{"content":"export type StreamConnectionState = 'idle' | 'connecting' | 'connected' | 'disconnected' | 'error';\n\nexport interface FramePacket {\n image: ImageBitmap | null;\n rawBlob?: Blob;\n meta: Record<string, any>;\n timestamp: number;\n}\n\nexport interface StreamClientOptions {\n url: string;\n binaryType?: 'blob' | 'arraybuffer';\n autoReconnect?: boolean;\n reconnectIntervalMs?: number;\n maxReconnectAttempts?: number;\n grabLatest?: boolean;\n onFrame?: (packet: FramePacket) => void;\n onError?: (err: Error) => void;\n onStateChange?: (state: StreamConnectionState) => void;\n}\n","path":"references/metaform/components/business/industry/vision/src/runtime/types.ts","target":"~/references/metaform/components/business/industry/vision/src/runtime/types.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.9757ff8fc1f1e3c29087e671c2c0330a","contractRef":"components/business/industry/vision/src/runtime/types.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-9757ff8fc1f1e3c29087e671c2c0330a","registryDependencies":[],"title":"resource.file.9757ff8fc1f1e3c29087e671c2c0330a","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.976b2ec747d6586ae072e70d8529b919","files":[{"content":"// Tremor focusRing [v0.0.1]\n\nexport const focusRing = [\n // base\n \"outline outline-offset-2 outline-0 focus-visible:outline-2\",\n // outline color\n \"outline-blue-500 dark:outline-blue-500\",\n]\n","path":"src/components/vendor/tremor/utils/focusRing.ts","target":"~/src/components/vendor/tremor/utils/focusRing.ts","type":"registry:file"}],"meta":{"assetId":"resource.file.976b2ec747d6586ae072e70d8529b919","contractRef":"vendor/component-registry/tremor/ca4d588f47820ff3d514d37fa4ee08a4222dec11/src/utils/focusRing.ts","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-976b2ec747d6586ae072e70d8529b919","registryDependencies":[],"title":"resource.file.976b2ec747d6586ae072e70d8529b919","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.979df5a8937fae87d767f14a16e44a5b","files":[{"content":"/* ==================================================================\n First Piece Inspection Workbench Styles\n @metaform/inspection-assets\n Full design-system token integration & responsive UI styling\n================================================================== */\n@import './first-inspection-evidence.css';\n\n:root,\n.first-card,\n.first-page {\n /* Surfaces and Canvas */\n --first-bg: var(--color-background, var(--background, #f4f5f8));\n --first-panel: var(--color-card, var(--card, #fff));\n --first-panel-2: var(--color-surface-muted, var(--surface-muted, var(--secondary, #fafbfc)));\n --first-panel-hover: var(--color-control-hover, var(--control-hover, #f3f4f6));\n --first-line: var(--color-border, var(--border, #e5e7eb));\n --first-line-2: var(--color-border-soft, var(--border-soft, #f3f4f6));\n\n /* Typography Colors */\n --first-t1: var(--color-foreground, var(--foreground, #111827));\n --first-t2: var(--color-muted-foreground, var(--muted-foreground, #4b5563));\n --first-t3: var(--text-secondary, #9ca3af);\n\n /* Theme Brand Tokens (Respects platform active accent: cobalt, neutral, teal, etc.) */\n --first-brand: var(--brand-accent, var(--color-brand, var(--primary, #2563eb)));\n --first-brand-hover: var(--brand-accent-hover, var(--color-brand-hover, #1d4ed8));\n --first-brand-active: var(--brand-accent-active, var(--color-brand-active, #1e40af));\n --first-brand-soft: var(\n --brand-accent-soft,\n var(--selection, var(--accent, var(--color-brand-soft, #eff6ff)))\n );\n --first-brand-border: var(\n --brand-accent-border,\n var(--selection-border, var(--color-brand-border, #bfdbfe))\n );\n --first-brand-fg: var(\n --brand-accent-foreground,\n var(--primary-foreground, var(--color-brand-foreground, #fff))\n );\n\n /* Semantic Feedback */\n --first-ok: var(--semantic-success, var(--color-success, #16a34a));\n --first-ok-soft: var(--semantic-success-soft, var(--color-success-soft, #f0fdf4));\n --first-ok-border: rgb(22 163 74 / 30%);\n --first-ok-fg: var(--semantic-success-foreground, var(--color-success-foreground, #15803d));\n --first-bad: var(--semantic-danger, var(--color-danger, #dc2626));\n --first-bad-soft: var(--semantic-danger-soft, var(--color-danger-soft, #fef2f2));\n --first-bad-border: rgb(220 38 38 / 30%);\n --first-bad-fg: var(--semantic-danger-foreground, var(--color-danger-foreground, #b91c1c));\n --first-warn: var(--semantic-warning, var(--color-warning, #d97706));\n --first-warn-soft: var(--semantic-warning-soft, var(--color-warning-soft, #fffbeb));\n --first-warn-border: rgb(217 119 6 / 30%);\n --first-warn-fg: var(--semantic-warning-foreground, var(--color-warning-foreground, #92400e));\n\n /* Component geometry */\n --first-radius: var(--radius, 8px);\n --first-radius-sm: calc(var(--first-radius) - 2px);\n --first-radius-lg: calc(var(--first-radius) + 2px);\n}\n\n/* Page container (optional outer wrapper) */\n.first-page {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px;\n font-family: inherit;\n font-size: 13px;\n color: var(--first-t1);\n background: var(--first-bg);\n}\n\n.first-page *,\n.first-page *::before,\n.first-page *::after {\n box-sizing: border-box;\n}\n\n/* Detail Navigation Bar */\n.inspection-detail-nav {\n display: flex;\n gap: 12px;\n align-items: center;\n padding: 10px 14px;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius);\n box-shadow: 0 1px 2px 0 rgb(0 0 0 / 3%);\n}\n\n.inspection-detail-back {\n display: inline-flex;\n gap: 4px;\n align-items: center;\n padding: 4px 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--first-brand);\n cursor: pointer;\n background: none;\n border: 1px solid transparent;\n border-radius: var(--first-radius-sm);\n transition: all 0.15s ease;\n}\n\n.inspection-detail-back:hover {\n background: var(--first-brand-soft);\n border-color: var(--first-brand-border);\n}\n\n.inspection-detail-title {\n flex: 1;\n font-size: 13px;\n color: var(--first-t1);\n}\n\n.inspection-detail-title b {\n font-weight: 600;\n color: var(--first-t1);\n}\n\n.inspection-detail-state {\n padding: 2px 8px;\n font-size: 11px;\n font-weight: 600;\n color: var(--first-brand);\n background: var(--first-brand-soft);\n border: 1px solid var(--first-brand-border);\n border-radius: 9999px;\n}\n\n/* Header summary card */\n.first-head {\n display: flex;\n gap: 12px;\n align-items: center;\n padding: 14px 16px;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-lg);\n box-shadow: 0 1px 2px 0 rgb(0 0 0 / 3%);\n}\n\n.first-head-ic {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n font-size: 16px;\n font-weight: 700;\n color: var(--first-brand-fg);\n background: var(--first-brand);\n border-radius: var(--first-radius);\n}\n\n.first-head-copy {\n flex: 1;\n}\n\n.first-head-title {\n font-size: 15px;\n font-weight: 700;\n color: var(--first-t1);\n}\n\n.first-head-sub {\n margin-top: 2px;\n font-size: 11px;\n color: var(--first-t2);\n}\n\n/* Workbench root card */\n.first-card {\n box-sizing: border-box;\n overflow: hidden;\n font-family: inherit;\n font-size: 13px;\n color: var(--first-t1);\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-lg);\n box-shadow: 0 1px 3px 0 rgb(0 0 0 / 4%);\n}\n\n.first-card *,\n.first-card *::before,\n.first-card *::after {\n box-sizing: border-box;\n}\n\n/* Card Header */\n.first-card-h {\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 10px 14px;\n background: var(--first-panel-2);\n border-bottom: 1px solid var(--first-line);\n}\n\n.first-card-h b {\n font-size: 13px;\n font-weight: 600;\n color: var(--first-t1);\n}\n\n.first-card-h > span:not(.first-card-tag) {\n font-size: 11px;\n color: var(--first-t2);\n}\n\n.first-card-h .first-card-tag {\n display: inline-flex;\n flex: 0 0 auto !important;\n align-items: center;\n width: fit-content !important;\n padding: 2px 9px;\n margin-left: auto;\n font-size: 11px;\n font-weight: 600;\n line-height: 1.4;\n color: var(--first-brand);\n white-space: nowrap;\n background: var(--first-brand-soft);\n border: 1px solid var(--first-brand-border);\n border-radius: var(--first-radius-sm);\n}\n\n/* Mode switcher tabs (Piece vs Package) */\n.first-mode-tabs {\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 10px 14px;\n background: var(--first-panel-2);\n border-bottom: 1px solid var(--first-line-2);\n}\n\n.first-mode-tab {\n display: inline-flex;\n gap: 7px;\n align-items: center;\n padding: 6px 14px;\n font-family: inherit;\n font-size: 11.5px;\n font-weight: 600;\n line-height: 1.4;\n color: var(--first-t2);\n cursor: pointer;\n outline: none;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-sm);\n transition: all 0.15s ease;\n}\n\n.first-mode-tab:hover {\n color: var(--first-brand);\n background: var(--first-brand-soft);\n border-color: var(--first-brand-border);\n}\n\n.first-mode-tab span {\n padding: 1px 6px;\n font-size: 10px;\n font-weight: 500;\n color: var(--first-t3);\n background: var(--first-panel-2);\n border-radius: 9999px;\n}\n\n.first-mode-tab.on {\n color: var(--first-brand) !important;\n background: var(--first-brand-soft) !important;\n border-color: var(--first-brand) !important;\n box-shadow: 0 0 0 1px var(--first-brand);\n}\n\n.first-mode-tab.on span {\n font-weight: 600;\n color: var(--first-brand);\n background: var(--first-panel);\n}\n\n/* Progress Overview Bar */\n.piece-overview {\n padding: 12px 14px 0;\n}\n\n.piece-overview-title {\n display: flex;\n gap: 8px;\n align-items: center;\n margin-bottom: 8px;\n font-size: 13px;\n font-weight: 600;\n color: var(--first-t1);\n}\n\n.piece-overview-title span {\n margin-left: auto;\n font-size: 11px;\n font-weight: 500;\n color: var(--first-t2);\n}\n\n.piece-overview-bar {\n display: flex;\n height: 6px;\n overflow: hidden;\n background: var(--first-line-2);\n border-radius: 9999px;\n}\n\n.piece-overview-bar i {\n display: block;\n height: 100%;\n transition: width 0.2s ease;\n}\n\n.piece-overview-bar .ok {\n background: var(--first-ok);\n}\n\n.piece-overview-bar .bad {\n background: var(--first-bad);\n}\n\n/* Sample pill tabs navigation */\n.piece-nav {\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 12px 14px;\n overflow-x: auto;\n border-bottom: 1px solid var(--first-line-2);\n}\n\n.piece-tab {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n justify-content: center;\n min-width: 108px;\n padding: 7px 12px;\n font-family: inherit;\n line-height: 1.4;\n color: var(--first-t1);\n text-align: left;\n cursor: pointer;\n outline: none;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-sm);\n transition: all 0.15s ease;\n}\n\n.piece-tab:hover {\n border-color: var(--first-brand-border);\n}\n\n.piece-tab b {\n font-size: 11.5px;\n font-weight: 600;\n white-space: nowrap;\n}\n\n.piece-tab strong {\n font-size: 11px;\n font-weight: 600;\n white-space: nowrap;\n}\n\n.piece-tab.done,\n.piece-tab.ok {\n background: var(--first-ok-soft);\n border-color: var(--first-ok-border);\n}\n\n.piece-tab.done strong,\n.piece-tab.ok strong {\n color: var(--first-ok-fg);\n}\n\n.piece-tab.bad {\n background: var(--first-bad-soft);\n border-color: var(--first-bad-border);\n}\n\n.piece-tab.bad strong {\n color: var(--first-bad-fg);\n}\n\n.piece-tab.wait {\n background: var(--first-panel-2);\n border-color: var(--first-line);\n}\n\n.piece-tab.wait strong {\n color: var(--first-t3);\n}\n\n/* Active tab highlight using system theme color! */\n.piece-tab.on {\n border-color: var(--first-brand) !important;\n box-shadow: 0 0 0 2px var(--first-brand-soft) !important;\n}\n\n.piece-tab.on.wait {\n color: var(--first-brand) !important;\n background: var(--first-brand-soft) !important;\n border-color: var(--first-brand) !important;\n}\n\n.piece-tab.on.wait strong {\n color: var(--first-brand) !important;\n}\n\n/* Add Sample Button */\n.piece-add {\n display: inline-flex;\n gap: 4px;\n align-items: center;\n justify-content: center;\n min-width: 68px;\n padding: 6px 10px;\n font-family: inherit;\n line-height: 1.4;\n color: var(--first-t2);\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n background: var(--first-panel);\n border: 1px dashed var(--first-line);\n border-radius: var(--first-radius-sm);\n transition: all 0.15s ease;\n}\n\n.piece-add:hover {\n color: var(--first-brand);\n background: var(--first-brand-soft);\n border-color: var(--first-brand);\n}\n\n.piece-add b {\n font-size: 16px;\n font-weight: 500;\n line-height: 1;\n}\n\n.piece-add span {\n font-size: 11px;\n font-weight: 600;\n}\n\n/* Work action toolbar */\n.piece-work-h {\n display: flex;\n gap: 16px;\n align-items: center;\n justify-content: space-between;\n padding: 12px 14px 10px;\n}\n\n.piece-work-title-wrap {\n flex: 0 0 auto;\n}\n\n.piece-work-h .title {\n font-size: 13px;\n font-weight: 600;\n color: var(--first-t1);\n}\n\n.piece-work-h .sub {\n margin-top: 3px;\n font-size: 11px;\n color: var(--first-t2);\n}\n\n/* Header CTQ stat bar utilizing horizontal space */\n.piece-work-stat-bar-box {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n gap: 4px;\n justify-content: center;\n min-width: 200px;\n max-width: 280px;\n padding: 6px 12px;\n background: var(--first-panel);\n border: 1px solid var(--first-line-2);\n border-radius: var(--first-radius-sm);\n}\n\n.piece-stat-bar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 11px;\n}\n\n.piece-stat-bar-label {\n color: var(--first-t2);\n}\n\n.piece-stat-bar-label b {\n font-weight: 700;\n color: var(--first-t1);\n}\n\n.piece-stat-badge-ok {\n font-size: 10.5px;\n font-weight: 600;\n color: var(--first-ok-fg);\n}\n\n.piece-stat-badge-bad {\n font-size: 10.5px;\n font-weight: 600;\n color: var(--first-bad-fg);\n}\n\n.piece-stat-progress {\n display: flex;\n width: 100%;\n height: 5px;\n overflow: hidden;\n background: var(--first-line-2);\n border-radius: 3px;\n}\n\n.piece-stat-progress .fill.ok {\n background: var(--first-ok);\n transition: width 0.3s ease;\n}\n\n.piece-stat-progress .fill.bad {\n background: var(--first-bad);\n transition: width 0.3s ease;\n}\n\n.piece-work-actions {\n display: flex;\n flex: 0 0 auto;\n gap: 8px;\n align-items: center;\n}\n\n/* Standard Buttons */\n.btn {\n display: inline-flex;\n gap: 6px;\n align-items: center;\n justify-content: center;\n padding: 6px 14px;\n font-family: inherit;\n font-size: 12px;\n font-weight: 500;\n line-height: 1.4;\n color: var(--first-t1);\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-sm);\n box-shadow: 0 1px 2px 0 rgb(0 0 0 / 4%);\n transition: all 0.15s ease;\n}\n\n.btn:hover {\n color: var(--first-brand);\n background: var(--first-brand-soft);\n border-color: var(--first-brand-border);\n}\n\n.btn:active {\n transform: translateY(1px);\n}\n\n.btn.pri {\n font-weight: 600;\n color: var(--first-brand-fg) !important;\n background: var(--first-brand) !important;\n border-color: var(--first-brand) !important;\n box-shadow: 0 1px 2px 0 rgb(0 0 0 / 8%);\n}\n\n.btn.pri:hover {\n color: var(--first-brand-fg) !important;\n background: var(--first-brand-hover) !important;\n border-color: var(--first-brand-hover) !important;\n}\n\n.btn.pri:active {\n background: var(--first-brand-active) !important;\n border-color: var(--first-brand-active) !important;\n transform: translateY(1px);\n}\n\n/* Voice correction alert block */\n.piece-whole-voice {\n display: flex;\n gap: 12px;\n align-items: flex-start;\n padding: 10px 14px;\n margin: 0 14px 12px;\n font-size: 12px;\n line-height: 1.5;\n color: var(--first-t1);\n background: var(--first-brand-soft);\n border: 1px solid var(--first-brand-border);\n border-radius: var(--first-radius);\n}\n\n.voice-icon-box {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n margin-top: 1px;\n color: var(--first-brand);\n background: var(--first-panel);\n border: 1px solid var(--first-brand-border);\n border-radius: 50%;\n}\n\n.voice-header {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.voice-header b {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--first-brand);\n}\n\n.voice-badge {\n display: inline-flex;\n align-items: center;\n padding: 1px 6px;\n font-size: 10px;\n font-weight: 600;\n color: var(--first-brand);\n background: rgb(37 99 235 / 12%);\n border-radius: 4px;\n}\n\n.voice-text {\n margin-top: 4px;\n font-size: 12px;\n font-style: italic;\n line-height: 1.5;\n color: var(--first-t1);\n}\n\n.piece-whole-voice .voice-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n align-items: center;\n margin-top: 6px;\n font-size: 11px;\n}\n\n.voice-tag-label {\n font-weight: 500;\n color: var(--first-t2);\n}\n\n.voice-tag-item {\n display: inline-flex;\n align-items: center;\n padding: 1px 7px;\n font-size: 11px;\n font-weight: 600;\n color: var(--first-brand);\n background: var(--first-panel);\n border: 1px solid var(--first-brand-border);\n border-radius: 4px;\n}\n\n.piece-whole-voice.recording {\n color: var(--first-bad-fg);\n background: var(--first-bad-soft);\n border-color: var(--first-bad-border);\n}\n\n.piece-whole-voice .voice-copy {\n flex: 1;\n min-width: 0;\n}\n\n/* CTQ Data Table */\n.piece-table-wrap {\n padding: 0 14px;\n overflow-x: auto;\n scrollbar-color: var(--first-line) transparent;\n scrollbar-width: thin;\n}\n\n.piece-table-wrap::-webkit-scrollbar {\n height: 6px;\n}\n\n.piece-table-wrap::-webkit-scrollbar-thumb {\n background: var(--first-line);\n border-radius: 3px;\n}\n\n.piece-table-wrap::-webkit-scrollbar-thumb:hover {\n background: var(--first-t3);\n}\n\n.piece-table {\n width: 100%;\n min-width: 1040px;\n font-size: 12px;\n line-height: 1.5;\n border-spacing: 0;\n border-collapse: separate;\n}\n\n.piece-table th {\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n color: var(--first-t2);\n text-align: left;\n white-space: nowrap;\n background: var(--first-panel-2);\n border-top: 1px solid var(--first-line-2);\n border-bottom: 1px solid var(--first-line);\n}\n\n.piece-table td {\n padding: 10px 12px;\n vertical-align: top;\n color: var(--first-t1);\n background: var(--first-panel);\n border-bottom: 1px solid var(--first-line-2);\n}\n\n.piece-table tr:hover td {\n background: var(--first-panel-2);\n}\n\n/* Sticky right columns for CTQ table: 判定 (col-sticky-judge) & 照片 (col-sticky-photo) */\n.piece-table th.col-sticky-judge,\n.piece-table td.col-sticky-judge {\n position: sticky;\n right: 85px;\n z-index: 2;\n box-shadow: -3px 0 6px -2px rgb(0 0 0 / 8%);\n}\n\n.piece-table th.col-sticky-photo,\n.piece-table td.col-sticky-photo {\n position: sticky;\n right: 0;\n z-index: 2;\n}\n\n.piece-table th.col-sticky-judge,\n.piece-table th.col-sticky-photo {\n background: var(--first-panel-2);\n}\n\n.piece-table td.col-sticky-judge,\n.piece-table td.col-sticky-photo {\n background: var(--first-panel);\n}\n\n.piece-table tr:hover td.col-sticky-judge,\n.piece-table tr:hover td.col-sticky-photo {\n background: var(--first-panel-2);\n}\n\n.piece-table tr:last-child td {\n border-bottom: none;\n}\n\n.piece-table .category {\n padding-top: 14px;\n font-weight: 600;\n color: var(--first-t1);\n white-space: nowrap;\n}\n\n.piece-table .metric {\n display: inline-block;\n min-width: 140px;\n padding-top: 4px;\n font-weight: 600;\n color: var(--first-t1);\n white-space: nowrap;\n}\n\n.piece-table .spec {\n padding-top: 14px;\n font-weight: 500;\n font-variant-numeric: tabular-nums;\n color: var(--first-t1);\n white-space: nowrap;\n}\n\n.piece-table .standard {\n padding-top: 14px;\n font-variant-numeric: tabular-nums;\n color: var(--first-t2);\n white-space: nowrap;\n}\n\n/* Table Form Controls */\n.piece-source {\n display: flex;\n gap: 4px;\n align-items: center;\n margin-top: 5px;\n font-size: 11px;\n line-height: 1.4;\n color: var(--first-t3);\n white-space: nowrap;\n}\n\n.piece-source .source-corrected {\n font-weight: 500;\n color: var(--first-brand);\n}\n\n.result-edit {\n display: flex;\n flex-wrap: nowrap;\n gap: 6px;\n align-items: center;\n min-width: 220px;\n}\n\n.piece-input {\n box-sizing: border-box;\n width: 110px;\n height: 28px;\n padding: 4px 8px;\n font-family: inherit;\n font-size: 12px;\n line-height: 1.4;\n color: var(--first-t1);\n outline: none;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-sm);\n transition: all 0.15s ease;\n}\n\n.piece-input:hover {\n border-color: var(--first-brand-border);\n}\n\n.piece-input:focus {\n border-color: var(--first-brand);\n box-shadow: 0 0 0 2px var(--first-brand-soft);\n}\n\n.piece-input:disabled {\n color: var(--first-t3);\n cursor: not-allowed;\n background: var(--first-panel-2);\n}\n\nselect.piece-input {\n padding-right: 6px;\n cursor: pointer;\n}\n\n/* Mic / Single item voice correction */\n.voice-correct {\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n font-family: inherit;\n font-size: 13px;\n color: var(--first-brand);\n cursor: pointer;\n outline: none;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-sm);\n transition: all 0.15s ease;\n}\n\n.voice-correct:hover {\n background: var(--first-brand-soft);\n border-color: var(--first-brand);\n}\n\n.voice-correct.recording {\n color: var(--first-bad-fg);\n background: var(--first-bad-soft);\n border-color: var(--first-bad-border);\n}\n\n/* Reject auto采集值 Button */\n.item-reject-btn {\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n gap: 4px;\n align-items: center;\n justify-content: center;\n height: 28px;\n padding: 0 9px;\n font-family: inherit;\n font-size: 11px;\n font-weight: 500;\n color: var(--first-t2);\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n background: var(--first-panel);\n border: 1px solid var(--first-line);\n border-radius: var(--first-radius-sm);\n transition: all 0.15s ease;\n}\n\n.item-reject-btn:hover {\n color: var(--first-warn-fg);\n background: var(--first-warn-soft);\n border-color: var(--first-warn-border);\n}\n\n/* Manual Correction Yellow Note */\n.correction-note {\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n padding: 7px 10px;\n margin-top: 6px;\n font-size: 11px;\n line-height: 1.45;\n color: var(--first-warn-fg);\n background: var(--first-warn-soft);\n border: 1px solid var(--first-warn-border);\n border-radius: var(--first-radius-sm);\n}\n\n.correction-note-head {\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n font-size: 11px;\n}\n\n.correction-head-left {\n display: flex;\n gap: 6px;\n align-items: center;\n}\n\n.correction-head-right {\n font-size: 10.5px;\n font-weight: 400;\n color: var(--first-t3);\n}\n\n.correction-pill {\n display: inline-flex;\n align-items: center;\n padding: 1px 6px;\n font-size: 10.5px;\n font-weight: 600;\n color: var(--first-warn-fg);\n background: rgb(217 119 6 / 15%);\n border-radius: 4px;\n}\n\n.correction-orig {\n font-size: 11px;\n color: var(--first-warn-fg);\n}\n\n.correction-orig del {\n margin-left: 2px;\n color: var(--first-t3);\n}\n\n.correction-reason {\n box-sizing: border-box;\n width: 100%;\n height: 26px;\n padding: 3px 8px;\n margin-top: 5px;\n font-family: inherit;\n font-size: 11px;\n color: var(--first-t1);\n outline: none;\n background: var(--first-panel);\n border: 1px solid var(--first-warn-border);\n border-radius: 4px;\n transition:\n border-color 0.15s ease,\n box-shadow 0.15s ease;\n}\n\n.correction-reason:focus {\n border-color: var(--first-brand);\n box-shadow: 0 0 0 2px var(--first-brand-soft);\n}\n\n/* CTQ Analysis & Deviation Column - Utilizing horizontal whitespace */\n.ctq-analysis-col {\n padding: 10px 12px;\n vertical-align: top;\n}\n\n.ctq-analysis {\n display: flex;\n flex-direction: column;\n gap: 5px;\n width: 100%;\n}\n\n.ctq-analysis.wait {\n display: flex;\n flex-direction: row;\n gap: 6px;\n align-items: center;\n padding-top: 4px;\n font-size: 11px;\n color: var(--first-t3);\n}\n\n.ctq-analysis .analysis-dot {\n flex-shrink: 0;\n width: 6px;\n height: 6px;\n background: var(--first-t3);\n border-radius: 50%;\n}\n\n.ctq-analysis.ok .analysis-dot {\n background: var(--first-ok);\n box-shadow: 0 0 0 2px var(--first-ok-soft);\n}\n\n.ctq-analysis.bad .analysis-dot {\n background: var(--first-bad);\n box-shadow: 0 0 0 2px var(--first-bad-soft);\n}\n\n.ctq-analysis-qual {\n display: flex;\n gap: 6px;\n align-items: center;\n padding-top: 4px;\n font-size: 11.5px;\n font-weight: 500;\n}\n\n.ctq-analysis-qual.ok {\n color: var(--first-ok-fg);\n}\n\n.ctq-analysis-qual.bad {\n color: var(--first-bad-fg);\n}\n\n.ctq-analysis-qual.wait {\n color: var(--first-t3);\n}\n\n/* Mini Tolerance Gauge Track */\n.ctq-gauge-track {\n position: relative;\n width: 100%;\n max-width: 220px;\n height: 6px;\n margin-top: 5px;\n background: var(--first-line-2);\n border: 1px solid var(--first-line);\n border-radius: 4px;\n}\n\n.ctq-gauge-safe-zone {\n position: absolute;\n top: 0;\n bottom: 0;\n pointer-events: none;\n background: color-mix(in srgb, var(--first-ok, #16a34a) 25%, transparent);\n border-radius: 2px;\n}\n\n.ctq-gauge-target {\n position: absolute;\n top: -2px;\n bottom: -2px;\n width: 2px;\n background: var(--first-t3);\n border-radius: 1px;\n transform: translateX(-50%);\n}\n\n.ctq-gauge-point {\n position: absolute;\n top: 50%;\n width: 10px;\n height: 10px;\n border-radius: 50%;\n box-shadow: 0 1px 2px rgb(0 0 0 / 15%);\n transform: translate(-50%, -50%);\n transition: left 0.2s ease;\n}\n\n.ctq-gauge-point.ok {\n background: var(--first-ok);\n border: 2px solid #fff;\n}\n\n.ctq-gauge-point.bad {\n background: var(--first-bad);\n border: 2px solid #fff;\n animation: pulse-danger 2s infinite ease-in-out;\n}\n\n@keyframes pulse-danger {\n 0%,\n 100% {\n box-shadow: 0 0 0 0 rgb(220 38 38 / 40%);\n }\n 50% {\n box-shadow: 0 0 0 4px rgb(220 38 38 / 15%);\n }\n}\n\n.ctq-gauge-meta {\n display: flex;\n gap: 8px;\n align-items: center;\n font-size: 11px;\n line-height: 1.3;\n}\n\n.ctq-diff-badge {\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n color: var(--first-t1);\n}\n\n.ctq-analysis.bad .ctq-diff-badge {\n color: var(--first-bad-fg);\n}\n\n.ctq-status-tag {\n display: inline-flex;\n align-items: center;\n padding: 0 5px;\n font-size: 10.5px;\n font-weight: 500;\n white-space: nowrap;\n border-radius: 3px;\n}\n\n.ctq-analysis.ok .ctq-status-tag {\n color: var(--first-ok-fg);\n background: var(--first-ok-soft);\n}\n\n.ctq-analysis.bad .ctq-status-tag {\n color: var(--first-bad-fg);\n background: var(--first-bad-soft);\n}\n\n/* CTQ Judgement status badges */\n.piece-judge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 3px 9px;\n margin-top: 3px;\n font-size: 11px;\n font-weight: 600;\n line-height: 1.4;\n white-space: nowrap;\n border-radius: 6px;\n}\n\n.piece-judge.ok {\n color: var(--first-ok-fg);\n background: var(--first-ok-soft);\n border: 1px solid var(--first-ok-border);\n}\n\n.piece-judge.bad {\n color: var(--first-bad-fg);\n background: var(--first-bad-soft);\n border: 1px solid var(--first-bad-border);\n}\n\n.piece-judge.wait {\n color: var(--first-t3);\n background: var(--first-panel-2);\n border: 1px solid var(--first-line);\n}\n","path":"references/metaform/components/business/industry/inspection/src/first-inspection.css","target":"~/references/metaform/components/business/industry/inspection/src/first-inspection.css","type":"registry:file"}],"meta":{"assetId":"resource.file.979df5a8937fae87d767f14a16e44a5b","contractRef":"components/business/industry/inspection/src/first-inspection.css","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-979df5a8937fae87d767f14a16e44a5b","registryDependencies":[],"title":"resource.file.979df5a8937fae87d767f14a16e44a5b","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.9828c43e30609abe2895da43d965766c","files":[{"content":"import { ChevronRight } from 'lucide-react';\n\nimport { Badge } from '@metaform/design-system/components/ui/badge';\nimport { Button } from '@metaform/design-system/components/ui/button';\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from '@metaform/design-system/components/ui/table';\n\nimport type { CtqItem, DefectClass } from './quality-standard-ctq-types';\n\nconst levelLabel = { critical: '关键', major: '主要', normal: '一般' } as const;\nconst levelVariant = { critical: 'danger', major: 'warning', normal: 'neutral' } as const;\n\nexport interface CtqStandardTableProps {\n items: CtqItem[];\n defectsById: ReadonlyMap<string, DefectClass>;\n columns?: readonly CtqMetricColumn[];\n selectedCtqId?: string;\n extraColumn?: (item: CtqItem) => React.ReactNode;\n onOpenDefect: (defectId: string, ctqId: string) => void;\n}\n\nexport type CtqMetricColumn =\n | 'name'\n | 'specification'\n | 'lowerLimit'\n | 'upperLimit'\n | 'unit'\n | 'inspectionMethod'\n | 'frequency'\n | 'severity';\n\nconst defaultColumns: readonly CtqMetricColumn[] = [\n 'name',\n 'specification',\n 'lowerLimit',\n 'upperLimit',\n 'unit',\n 'inspectionMethod',\n 'frequency',\n 'severity',\n];\n\nconst columnLabels: Record<CtqMetricColumn, string> = {\n name: '指标',\n specification: '规格',\n lowerLimit: '下限',\n upperLimit: '上限',\n unit: '单位',\n inspectionMethod: '方法',\n frequency: '频率',\n severity: '等级',\n};\n\nexport function CtqStandardTable({\n items,\n defectsById,\n columns = defaultColumns,\n selectedCtqId,\n extraColumn,\n onOpenDefect,\n}: CtqStandardTableProps) {\n return (\n <div\n className=\"h-96 overflow-auto border-t border-border\"\n data-asset=\"quality.ctq-standard-table\"\n >\n <Table>\n <TableHeader className=\"sticky top-0 z-10 bg-background\">\n <TableRow>\n <TableHead className=\"w-14\">序号</TableHead>\n <TableHead>类别</TableHead>\n {columns.map((column) => (\n <TableHead key={column}>{columnLabels[column]}</TableHead>\n ))}\n <TableHead>关联缺陷</TableHead>\n {extraColumn && <TableHead>扩展</TableHead>}\n </TableRow>\n </TableHeader>\n <TableBody>\n {items.map((item, index) => (\n <TableRow key={item.id} data-state={item.id === selectedCtqId ? 'selected' : undefined}>\n <TableCell className=\"text-muted-foreground\">{index + 1}</TableCell>\n <TableCell className=\"font-medium\">{item.category}</TableCell>\n {columns.map((column) => (\n <TableCell key={column} className=\"text-muted-foreground\">\n {column === 'name' && (\n <span className=\"font-medium text-foreground\">{item.name}</span>\n )}\n {column === 'specification' && item.specification}\n {column === 'lowerLimit' && (item.lowerLimit ?? '-')}\n {column === 'upperLimit' && (item.upperLimit ?? '-')}\n {column === 'unit' && (item.unit ?? '-')}\n {column === 'inspectionMethod' && item.method}\n {column === 'frequency' && item.frequency}\n {column === 'severity' && (\n <Badge variant={levelVariant[item.level]}>{levelLabel[item.level]}</Badge>\n )}\n </TableCell>\n ))}\n <TableCell>\n <div className=\"flex max-w-48 flex-wrap gap-1\">\n {item.relatedDefectIds.length === 0 && (\n <span className=\"text-muted-foreground\">-</span>\n )}\n {item.relatedDefectIds.map((id) => (\n <Button\n key={id}\n variant=\"ghost-neutral\"\n className=\"h-7 gap-1 px-2 text-xs\"\n onClick={() => onOpenDefect(id, item.id)}\n >\n {defectsById.get(id)?.name ?? id}\n <ChevronRight className=\"size-3.5\" aria-hidden=\"true\" />\n </Button>\n ))}\n </div>\n </TableCell>\n {extraColumn && <TableCell>{extraColumn(item)}</TableCell>}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n );\n}\n","path":"references/metaform/components/business/quality/src/ctq-standard-table.tsx","target":"~/references/metaform/components/business/quality/src/ctq-standard-table.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.9828c43e30609abe2895da43d965766c","contractRef":"components/business/quality/src/ctq-standard-table.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-9828c43e30609abe2895da43d965766c","registryDependencies":[],"title":"resource.file.9828c43e30609abe2895da43d965766c","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.988ea60de435fbafa4c73475ebda6c26","files":[{"content":"/* ==================================================================\n QCVision Industrial Station Terminal Styles\n @metaform/vision-assets - Industrial Multimodal Inspection Terminal\n================================================================== */\n\n.qcb {\n --qcb-bg: var(--background, #f4f5f8);\n --qcb-panel: var(--card, #fff);\n --qcb-panel-2: var(--muted, #fafbfc);\n --qcb-line: var(--border, #e7e9ef);\n --qcb-line-2: color-mix(in srgb, var(--border, #e7e9ef) 60%, transparent);\n --qcb-t1: var(--foreground, #1b1f27);\n --qcb-t2: var(--muted-foreground, #5b6472);\n --qcb-t3: color-mix(in srgb, var(--muted-foreground, #98a1af) 80%, transparent);\n --qcb-brand: var(--primary, var(--action-primary, #006850));\n --qcb-brand-soft: color-mix(in srgb, var(--primary, #006850) 10%, var(--card, #fff));\n --qcb-ok: var(--semantic-success, #16a34a);\n --qcb-font-mono: ui-monospace, sfmono-regular, 'SF Mono', menlo, consolas, monospace;\n\n position: fixed;\n inset: 0;\n z-index: 300;\n box-sizing: border-box;\n display: none;\n flex-direction: column;\n font-size: 13px;\n color: var(--qcb-t1);\n background: var(--qcb-bg);\n}\n\n.qcb * {\n box-sizing: border-box;\n}\n\n.qcb.on {\n display: flex;\n}\n\n.qcb-top {\n display: flex;\n flex-shrink: 0;\n gap: 10px;\n align-items: center;\n height: 50px;\n padding: 0 14px;\n background: var(--qcb-panel);\n border-bottom: 1px solid var(--qcb-line);\n}\n\n.qcb-brand {\n display: flex;\n gap: 8px;\n align-items: center;\n font-size: 13.5px;\n font-weight: 700;\n white-space: nowrap;\n}\n\n.qcb-brand i {\n width: 9px;\n height: 9px;\n background: var(--qcb-brand);\n border-radius: 50%;\n box-shadow: 0 0 9px color-mix(in srgb, var(--qcb-brand) 55%, transparent);\n}\n\n.qcb-brand em {\n font-size: 11.5px;\n font-style: normal;\n font-weight: 500;\n color: var(--qcb-t3);\n}\n\n.qcb-grp {\n display: flex;\n flex-shrink: 0;\n gap: 9px;\n align-items: center;\n min-width: max-content;\n height: 32px;\n padding: 3px 10px;\n white-space: nowrap;\n background: var(--qcb-panel-2);\n border: 1px solid var(--qcb-line);\n border-radius: var(--radius, 6px);\n}\n\n.qcb-grp > label {\n font-size: 10px;\n color: var(--qcb-t3);\n letter-spacing: 2px;\n}\n\n.qcb-lamp {\n display: inline-flex;\n gap: 5px;\n align-items: center;\n font-family: var(--qcb-font-mono);\n font-size: 11.5px;\n color: var(--qcb-t2);\n white-space: nowrap;\n}\n\n.qcb-lamp i {\n width: 7px;\n height: 7px;\n background: var(--qcb-t3);\n border-radius: 50%;\n}\n\n.qcb-lamp.on i {\n background: var(--qcb-ok);\n box-shadow: 0 0 7px rgb(22 163 74 / 70%);\n}\n\n.qcb-lamp.off i {\n background: #dc2626;\n box-shadow: 0 0 7px rgb(220 38 38 / 70%);\n}\n\n.qcb-meta {\n display: inline-flex;\n gap: 5px;\n font-family: var(--qcb-font-mono);\n font-size: 11.5px;\n color: var(--qcb-t3);\n white-space: nowrap;\n}\n\n.qcb-meta b {\n color: var(--qcb-t1);\n}\n\n.qcb-top .spacer {\n flex: 1;\n}\n\n.qcb-pill {\n display: inline-flex;\n gap: 6px;\n align-items: center;\n height: 24px;\n padding: 0 10px;\n font-size: 11.5px;\n font-weight: 600;\n color: var(--qcb-t2);\n white-space: nowrap;\n background: var(--qcb-panel-2);\n border: 1px solid var(--qcb-line);\n border-radius: 20px;\n}\n\n.qcb-pill i {\n width: 6px;\n height: 6px;\n background: currentcolor;\n border-radius: 50%;\n}\n\n.qcb-pill.capturing {\n color: #1d4ed8;\n background: #eaf1fe;\n border-color: #bbd1f6;\n}\n\n.qcb-pill.inspecting {\n color: #b45309;\n background: #fef4e6;\n border-color: #f2d3a6;\n}\n\n.qcb-pill.done {\n color: #15803d;\n background: #e9f7ef;\n border-color: #b7e3c8;\n}\n\n.qcb-btn {\n display: inline-flex;\n gap: 5px;\n align-items: center;\n height: 29px;\n padding: 0 12px;\n font-size: 12px;\n color: var(--qcb-t2);\n white-space: nowrap;\n cursor: pointer;\n background: var(--qcb-panel);\n border: 1px solid var(--qcb-line);\n border-radius: 7px;\n transition: 0.15s;\n}\n\n.qcb-btn:hover:not(:disabled) {\n color: var(--qcb-t1);\n border-color: #c7ccd8;\n}\n\n.qcb-btn.active {\n color: var(--qcb-brand);\n background: var(--qcb-brand-soft);\n border-color: color-mix(in srgb, var(--qcb-brand) 30%, transparent);\n}\n\n.qcb-btn svg {\n width: 14px;\n height: 14px;\n stroke-width: 1.8;\n}\n\n.qcb-btn:disabled {\n cursor: not-allowed;\n opacity: 0.36;\n}\n\n.qcb-btn.pri {\n font-weight: 600;\n color: #fff;\n background: var(--qcb-brand);\n border-color: var(--qcb-brand);\n}\n\n.qcb-btn.pri:hover:not(:disabled) {\n color: #fff;\n background: color-mix(in srgb, var(--qcb-brand) 88%, black);\n}\n\n.qcb-btn.pri.qcb-pulse-hint {\n animation: qcb-btn-pulse 2s infinite ease-in-out;\n}\n\n.qcb-btn.ok {\n font-weight: 600;\n color: #fff;\n background: var(--qcb-ok);\n border-color: var(--qcb-ok);\n}\n\n.qcb-btn.ok:hover:not(:disabled) {\n color: #fff;\n background: color-mix(in srgb, var(--qcb-ok) 88%, black);\n}\n\n.qcb-btn.ok.qcb-pulse-hint {\n animation: qcb-btn-pulse-ok 2s infinite ease-in-out;\n}\n\n@keyframes qcb-btn-pulse {\n 0%,\n 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--qcb-brand) 45%, transparent);\n }\n 50% {\n box-shadow: 0 0 0 5px color-mix(in srgb, var(--qcb-brand) 15%, transparent);\n }\n}\n\n@keyframes qcb-btn-pulse-ok {\n 0%,\n 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--qcb-ok) 45%, transparent);\n }\n 50% {\n box-shadow: 0 0 0 5px color-mix(in srgb, var(--qcb-ok) 15%, transparent);\n }\n}\n\n.qcb-btn kbd {\n padding: 1px 4px;\n font-family: var(--qcb-font-mono);\n font-size: 10px;\n color: var(--qcb-t3);\n background: var(--qcb-panel-2);\n border: 1px solid var(--qcb-line);\n border-radius: 3px;\n box-shadow: 0 1px 0 rgb(0 0 0 / 8%);\n}\n\n.qcb-btn.pri kbd,\n.qcb-btn.ok kbd {\n color: rgb(255 255 255 / 90%);\n background: rgb(0 0 0 / 15%);\n border-color: rgb(255 255 255 / 30%);\n box-shadow: 0 1px 0 rgb(0 0 0 / 20%);\n}\n\n.qcb-bar {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n height: 30px;\n overflow-x: auto;\n font-size: 11.5px;\n color: var(--qcb-t3);\n white-space: nowrap;\n background: var(--qcb-panel-2);\n border-bottom: 1px solid var(--qcb-line);\n}\n\n.qcb-bar::-webkit-scrollbar {\n display: none;\n}\n\n.qcb-bar span {\n padding: 0 13px;\n border-right: 1px solid var(--qcb-line-2);\n}\n\n.qcb-bar b {\n font-family: var(--qcb-font-mono);\n font-weight: 600;\n color: var(--qcb-t1);\n}\n\n.qcb-vbar {\n display: flex;\n flex-shrink: 0;\n gap: 9px;\n align-items: center;\n height: 34px;\n padding: 0 14px;\n overflow: hidden;\n font-size: 11.5px;\n color: var(--qcb-t2);\n white-space: nowrap;\n background: var(--qcb-panel-2);\n border-bottom: 1px solid var(--qcb-line);\n}\n\n.qcb-vbar.rec {\n color: #b91c1c;\n background: #fdecec;\n border-bottom-color: #f3bfbf;\n}\n\n.qcb-vbar .dot {\n flex: none;\n width: 8px;\n height: 8px;\n background: #dc2626;\n border-radius: 50%;\n animation: qcb-blink 1s infinite;\n}\n\n.qcb-vbar .hint {\n color: var(--qcb-t3);\n}\n\n.qcb-vbar b {\n color: var(--qcb-t1);\n}\n\n.qcb-vbar .sent {\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: var(--qcb-font-mono);\n color: var(--qcb-t1);\n}\n\n/* 主区 */\n.qcb-main {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n min-height: 0;\n overflow: hidden;\n}\n\n.qcb-main.side-open {\n grid-template-columns: minmax(0, 1fr) 350px;\n}\n\n.qcb-view {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n min-height: 0;\n padding: 14px;\n overflow: hidden;\n background: #e9edf3;\n}\n\n.qcb-viewport {\n width: 100%;\n min-width: 0;\n height: 100%;\n min-height: 0;\n}\n\n.qcb-frame-frozen {\n border-color: #d97706;\n box-shadow:\n 0 0 0 1px rgb(217 119 6 / 35%) inset,\n 0 0 34px rgb(217 119 6 / 16%) inset;\n}\n\n.qcb-empty {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n align-items: center;\n justify-content: center;\n font-family: var(--qcb-font-mono);\n font-size: 13px;\n color: #5d6b80;\n text-align: center;\n pointer-events: none;\n}\n\n.qcb-empty svg {\n width: 26px;\n height: 26px;\n stroke-width: 1.5;\n}\n\n.qcb-empty strong {\n font-size: 14px;\n color: var(--qcb-t2);\n}\n\n.qcb-empty span {\n font-size: 11px;\n color: var(--qcb-t3);\n}\n\n.qcb-hud {\n position: absolute;\n top: 10px;\n left: 10px;\n z-index: 10;\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n max-width: 70%;\n}\n\n.qcb-tag {\n display: inline-flex;\n gap: 6px;\n align-items: center;\n padding: 3px 8px;\n font-family: var(--qcb-font-mono);\n font-size: 11px;\n color: #dbe4f0;\n background: rgb(10 15 22 / 78%);\n border: 1px solid rgb(255 255 255 / 15%);\n border-radius: 5px;\n}\n\n.qcb-tag.live i {\n width: 7px;\n height: 7px;\n background: #ef4444;\n border-radius: 50%;\n animation: qcb-blink 1.2s infinite;\n}\n\n@keyframes qcb-blink {\n 50% {\n opacity: 0.25;\n }\n}\n\n.qcb-tag.ok {\n color: #86efac;\n background: rgb(6 44 20 / 72%);\n border-color: rgb(34 197 94 / 55%);\n}\n\n.qcb-tag.ng {\n color: #fca5a5;\n background: rgb(69 10 10 / 72%);\n border-color: rgb(239 68 68 / 50%);\n}\n\n.qcb-hud-br {\n position: absolute;\n right: 10px;\n bottom: 10px;\n z-index: 10;\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: flex-end;\n}\n\n.qcb-mini {\n width: 200px;\n overflow: hidden;\n background: rgb(10 15 22 / 86%);\n border: 1px solid #2b3646;\n border-radius: 7px;\n}\n\n.qcb-mini .ttl {\n display: flex;\n justify-content: space-between;\n padding: 4px 8px;\n font-size: 10.5px;\n color: #8a99b3;\n border-bottom: 1px solid #2b3646;\n}\n\n.qcb-mini canvas {\n display: block;\n width: 100%;\n height: 110px;\n background: #000;\n}\n\n/* 右栏 */\n.qcb-side {\n min-width: 0;\n overflow-y: auto;\n background: var(--qcb-panel);\n border-left: 1px solid var(--qcb-line);\n}\n\n.qcb-side-head {\n position: sticky;\n top: 0;\n z-index: 2;\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 52px;\n padding: 10px 13px;\n background: rgb(255 255 255 / 96%);\n border-bottom: 1px solid var(--qcb-line);\n backdrop-filter: blur(8px);\n}\n\n.qcb-side-head div {\n display: grid;\n gap: 2px;\n}\n\n.qcb-side-head strong {\n font-size: 13px;\n}\n\n.qcb-side-head span {\n font-size: 10.5px;\n color: var(--qcb-t3);\n}\n\n.qcb-icon-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 30px;\n height: 30px;\n padding: 0;\n color: var(--qcb-t2);\n cursor: pointer;\n background: var(--qcb-panel);\n border: 1px solid var(--qcb-line);\n border-radius: 7px;\n}\n\n.qcb-icon-btn:hover {\n color: var(--qcb-t1);\n background: var(--qcb-panel-2);\n}\n\n.qcb-icon-btn svg {\n width: 15px;\n height: 15px;\n}\n\n.qcb-card {\n padding: 11px 13px;\n border-bottom: 1px solid var(--qcb-line-2);\n}\n\n.qcb-card > h3 {\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 8px;\n font-size: 11px;\n font-weight: 700;\n color: var(--qcb-t3);\n text-transform: uppercase;\n letter-spacing: 1.2px;\n}\n\n.qcb-card > h3 em {\n font-style: normal;\n font-weight: 500;\n text-transform: none;\n letter-spacing: 0;\n}\n\n.qcb-disclosure {\n padding: 0;\n}\n\n.qcb-disclosure > summary {\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n min-height: 42px;\n padding: 10px 13px;\n font-size: 11px;\n font-weight: 700;\n color: var(--qcb-t3);\n text-transform: uppercase;\n letter-spacing: 1.2px;\n cursor: pointer;\n list-style: none;\n}\n\n.qcb-disclosure > summary::-webkit-details-marker {\n display: none;\n}\n\n.qcb-summary-meta {\n display: inline-flex;\n gap: 6px;\n align-items: center;\n font-weight: 500;\n text-transform: none;\n letter-spacing: 0;\n}\n\n.qcb-summary-meta svg {\n width: 14px;\n height: 14px;\n transition: transform 160ms ease;\n}\n\n.qcb-disclosure[open] .qcb-summary-meta svg {\n transform: rotate(180deg);\n}\n\n.qcb-disclosure-body {\n margin: 0 13px 10px;\n}\n\n.qcb-disclosure > .qcb-verdict.qcb-disclosure-body {\n margin-bottom: 9px;\n}\n\n.qcb-kv {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n gap: 5px 10px;\n font-size: 11.5px;\n}\n\n.qcb-kv dt {\n color: var(--qcb-t3);\n white-space: nowrap;\n}\n\n.qcb-kv dd {\n font-family: var(--qcb-font-mono);\n font-variant-numeric: tabular-nums;\n color: var(--qcb-t1);\n text-align: right;\n word-break: break-all;\n}\n\n.qcb-danger {\n color: #b91c1c !important;\n}\n\n.qcb-asr-box {\n min-height: 52px;\n padding: 9px 10px;\n font-family: var(--qcb-font-mono);\n font-size: 11.5px;\n line-height: 1.55;\n color: var(--qcb-t1);\n background: var(--qcb-panel-2);\n border: 1px solid var(--qcb-line);\n border-radius: 7px;\n}\n\n.qcb-asr-meta {\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n margin-top: 6px;\n font-size: 10.5px;\n color: var(--qcb-t3);\n}\n\n.qcb-asr-meta span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.qcb-asr-meta b {\n flex: none;\n color: var(--qcb-t2);\n}\n\n.qcb-kv dd em {\n margin-left: 2px;\n font-size: 10.5px;\n font-style: normal;\n color: var(--qcb-t3);\n}\n\n.qcb-result-list {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n gap: 9px 16px;\n margin: 0;\n font-size: 12px;\n}\n\n.qcb-result-list dt {\n color: var(--qcb-t2);\n}\n\n.qcb-result-list dd {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n justify-content: flex-end;\n margin: 0;\n font-family: var(--qcb-font-mono);\n font-variant-numeric: tabular-nums;\n color: var(--qcb-t1);\n text-align: right;\n}\n\n.qcb-inline-review {\n padding: 0;\n font: inherit;\n font-size: 10.5px;\n color: var(--qcb-brand);\n cursor: pointer;\n background: none;\n border: 0;\n}\n\n.qcb-inline-review:disabled {\n cursor: not-allowed;\n opacity: 0.35;\n}\n\n.qcb-verdict {\n display: flex;\n gap: 10px;\n align-items: center;\n margin-bottom: 9px;\n}\n\n.qcb-badge {\n padding: 3px 13px;\n font-family: var(--qcb-font-mono);\n font-size: 19px;\n font-weight: 800;\n color: var(--qcb-t3);\n letter-spacing: 1px;\n background: var(--qcb-panel-2);\n border: 1px solid var(--qcb-line);\n border-radius: 6px;\n}\n\n.qcb-v-OK .qcb-badge {\n color: #15803d;\n background: #e9f7ef;\n border-color: #b7e3c8;\n}\n\n.qcb-v-NG .qcb-badge {\n color: #b91c1c;\n background: #fdecec;\n border-color: #f3bfbf;\n}\n\n.qcb-why {\n font-size: 11px;\n line-height: 1.55;\n color: var(--qcb-t2);\n}\n\n.qcb-res {\n width: 100%;\n font-size: 11.5px;\n border-collapse: collapse;\n}\n\n.qcb-res th {\n padding: 5px 6px;\n font-size: 10.5px;\n font-weight: 500;\n color: var(--qcb-t3);\n text-align: left;\n border-bottom: 1px solid var(--qcb-line);\n}\n\n.qcb-res td {\n padding: 6px;\n vertical-align: middle;\n border-bottom: 1px solid var(--qcb-line-2);\n}\n\n.qcb-res tr.cur td {\n background: #f7f9ff;\n}\n\n.qcb-res .mono {\n font-family: var(--qcb-font-mono);\n font-variant-numeric: tabular-nums;\n}\n\n.qcb-st {\n padding: 1px 6px;\n font-size: 10.5px;\n color: var(--qcb-t3);\n white-space: nowrap;\n background: var(--qcb-panel-2);\n border: 1px solid var(--qcb-line);\n border-radius: 20px;\n}\n\n.qcb-st.ok {\n color: #15803d;\n background: #e9f7ef;\n border-color: #b7e3c8;\n}\n\n.qcb-st.ng {\n color: #b91c1c;\n background: #fdecec;\n border-color: #f3bfbf;\n}\n\n.qcb-st.cur {\n color: #1d4ed8;\n background: #eaf1fe;\n border-color: #bbd1f6;\n}\n\n.qcb-vc {\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n margin-left: 4px;\n font-size: 10.5px;\n color: var(--qcb-t3);\n cursor: pointer;\n background: var(--qcb-panel);\n border: 1px solid var(--qcb-line);\n border-radius: 5px;\n}\n\n.qcb-vc:hover:not(:disabled) {\n color: #1d4ed8;\n border-color: #bbd1f6;\n}\n\n.qcb-vc.rec {\n color: #b91c1c;\n background: #fdecec;\n border-color: #f3bfbf;\n animation: qcb-blink 1s infinite;\n}\n\n.qcb-btn:focus-visible,\n.qcb-vc:focus-visible,\n.qcb-icon-btn:focus-visible {\n outline: 2px solid var(--qcb-brand);\n outline-offset: 2px;\n}\n\n.qcb-log {\n display: flex;\n flex-direction: column;\n gap: 5px;\n max-height: 160px;\n padding-right: 2px;\n overflow-y: auto;\n}\n\n.qcb-log-row {\n display: flex;\n gap: 7px;\n align-items: center;\n padding: 5px 8px;\n font-family: var(--qcb-font-mono);\n font-size: 11px;\n line-height: 1.4;\n color: var(--qcb-t1);\n background: var(--qcb-panel-2);\n border: 1px solid var(--qcb-line-2);\n border-radius: var(--radius, 6px);\n transition: all 120ms ease;\n}\n\n.qcb-log-row:hover {\n background: var(--qcb-panel);\n border-color: var(--qcb-line);\n}\n\n.qcb-log-row.ng {\n color: #b91c1c;\n background: #fdecec;\n border-color: #f3bfbf;\n}\n\n.qcb-log-row.ok {\n border-left: 3px solid var(--qcb-ok, #16a34a);\n}\n\n.qcb-log-time {\n flex-shrink: 0;\n font-size: 10px;\n font-weight: 500;\n font-variant-numeric: tabular-nums;\n color: var(--qcb-t3);\n}\n\n.qcb-log-action {\n flex-shrink: 0;\n font-weight: 600;\n color: var(--qcb-t1);\n}\n\n.qcb-log-target {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 10.5px;\n color: var(--qcb-t2);\n white-space: nowrap;\n}\n\n.qcb-log-badge {\n flex-shrink: 0;\n padding: 1px 5px;\n font-size: 9.5px;\n font-weight: 700;\n border-radius: 3px;\n}\n\n.qcb-log-badge.ok {\n color: #15803d;\n background: #e9f7ef;\n}\n\n.qcb-log-badge.ng {\n color: #b91c1c;\n background: #fdecec;\n}\n\n.qcb-log-empty {\n padding: 12px 0;\n font-size: 11px;\n color: var(--qcb-t3);\n text-align: center;\n}\n","path":"references/metaform/components/business/industry/vision/src/qcvision-station.css","target":"~/references/metaform/components/business/industry/vision/src/qcvision-station.css","type":"registry:file"}],"meta":{"assetId":"resource.file.988ea60de435fbafa4c73475ebda6c26","contractRef":"components/business/industry/vision/src/qcvision-station.css","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-988ea60de435fbafa4c73475ebda6c26","registryDependencies":[],"title":"resource.file.988ea60de435fbafa4c73475ebda6c26","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.98a31a8e34a7a2c72ddccd9b5ef8f3fc","files":[{"content":"\"use client\"\n\nimport { TrendingUp } from \"lucide-react\"\nimport { Pie, PieChart } from \"recharts\"\n\nimport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n} from \"../ui/card\"\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n} from \"../ui/chart\"\n\nexport const description = \"A pie chart with no separator\"\n\nconst chartData = [\n { browser: \"chrome\", visitors: 275, fill: \"var(--color-chrome)\" },\n { browser: \"safari\", visitors: 200, fill: \"var(--color-safari)\" },\n { browser: \"firefox\", visitors: 187, fill: \"var(--color-firefox)\" },\n { browser: \"edge\", visitors: 173, fill: \"var(--color-edge)\" },\n { browser: \"other\", visitors: 90, fill: \"var(--color-other)\" },\n]\n\nconst chartConfig = {\n visitors: {\n label: \"Visitors\",\n },\n chrome: {\n label: \"Chrome\",\n color: \"var(--chart-1)\",\n },\n safari: {\n label: \"Safari\",\n color: \"var(--chart-2)\",\n },\n firefox: {\n label: \"Firefox\",\n color: \"var(--chart-3)\",\n },\n edge: {\n label: \"Edge\",\n color: \"var(--chart-4)\",\n },\n other: {\n label: \"Other\",\n color: \"var(--chart-5)\",\n },\n} satisfies ChartConfig\n\nexport function ChartPieSeparatorNone() {\n return (\n <Card className=\"flex flex-col\">\n <CardHeader className=\"items-center pb-0\">\n <CardTitle>Pie Chart - Separator None</CardTitle>\n <CardDescription>January - June 2024</CardDescription>\n </CardHeader>\n <CardContent className=\"flex-1 pb-0\">\n <ChartContainer\n config={chartConfig}\n className=\"mx-auto aspect-square max-h-[250px]\"\n >\n <PieChart>\n <ChartTooltip\n cursor={false}\n content={<ChartTooltipContent hideLabel />}\n />\n <Pie\n data={chartData}\n dataKey=\"visitors\"\n nameKey=\"browser\"\n stroke=\"0\"\n />\n </PieChart>\n </ChartContainer>\n </CardContent>\n <CardFooter className=\"flex-col gap-2 text-sm\">\n <div className=\"flex items-center gap-2 leading-none font-medium\">\n Trending up by 5.2% this month <TrendingUp className=\"h-4 w-4\" />\n </div>\n <div className=\"leading-none text-muted-foreground\">\n Showing total visitors for the last 6 months\n </div>\n </CardFooter>\n </Card>\n )\n}\n","path":"src/components/vendor/shadcn/new-york-v4/charts/chart-pie-separator-none.tsx","target":"~/src/components/vendor/shadcn/new-york-v4/charts/chart-pie-separator-none.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.98a31a8e34a7a2c72ddccd9b5ef8f3fc","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/new-york-v4/charts/chart-pie-separator-none.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-98a31a8e34a7a2c72ddccd9b5ef8f3fc","registryDependencies":[],"title":"resource.file.98a31a8e34a7a2c72ddccd9b5ef8f3fc","type":"registry:block"}
@@ -0,0 +1 @@
1
+ {"$schema":"https://ui.shadcn.com/schema/registry-item.json","dependencies":[],"description":"resource.file.9a15c1c7316af78fa93fa6e08527a5b1","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 \"cn-empty flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance\",\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 \"cn-empty-header flex max-w-sm flex-col items-center\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst emptyMediaVariants = cva(\n \"cn-empty-media flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"cn-empty-media-default\",\n icon: \"cn-empty-media-icon\",\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(\"cn-empty-title cn-font-heading\", 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 \"cn-empty-description 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 \"cn-empty-content flex w-full max-w-sm min-w-0 flex-col items-center 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/base/ui/empty.tsx","target":"~/src/components/vendor/shadcn/base/ui/empty.tsx","type":"registry:file"}],"meta":{"assetId":"resource.file.9a15c1c7316af78fa93fa6e08527a5b1","contractRef":"vendor/component-registry/shadcn/ba1503c64472b82256d9de95e2e62c5901a38e8b/apps/v4/registry/bases/base/ui/empty.tsx","maturity":"candidate","releaseDigest":"949c66419ce0c6d32c2044762861396dae3587c0c46a92199d769f4574d43eb9","version":"0.1.0"},"name":"resource-file-9a15c1c7316af78fa93fa6e08527a5b1","registryDependencies":[],"title":"resource.file.9a15c1c7316af78fa93fa6e08527a5b1","type":"registry:block"}