@tianyr/schema-antd 0.0.0-stage → 0.1.1

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 (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +188 -2
  3. package/dist/SchemaField.d.ts +15 -0
  4. package/dist/SchemaField.d.ts.map +1 -0
  5. package/dist/SchemaField.js +107 -0
  6. package/dist/SchemaField.js.map +1 -0
  7. package/dist/SchemaForm.d.ts +22 -0
  8. package/dist/SchemaForm.d.ts.map +1 -0
  9. package/dist/SchemaForm.js +19 -0
  10. package/dist/SchemaForm.js.map +1 -0
  11. package/dist/TableFooter.d.ts +38 -0
  12. package/dist/TableFooter.d.ts.map +1 -0
  13. package/dist/TableFooter.js +16 -0
  14. package/dist/TableFooter.js.map +1 -0
  15. package/dist/biz-select/BizSelect.d.ts +3 -0
  16. package/dist/biz-select/BizSelect.d.ts.map +1 -0
  17. package/dist/biz-select/BizSelect.js +87 -0
  18. package/dist/biz-select/BizSelect.js.map +1 -0
  19. package/dist/biz-select/BizSelectDisplay.d.ts +3 -0
  20. package/dist/biz-select/BizSelectDisplay.d.ts.map +1 -0
  21. package/dist/biz-select/BizSelectDisplay.js +58 -0
  22. package/dist/biz-select/BizSelectDisplay.js.map +1 -0
  23. package/dist/biz-select/cache.d.ts +16 -0
  24. package/dist/biz-select/cache.d.ts.map +1 -0
  25. package/dist/biz-select/cache.js +130 -0
  26. package/dist/biz-select/cache.js.map +1 -0
  27. package/dist/biz-select/compile.d.ts +25 -0
  28. package/dist/biz-select/compile.d.ts.map +1 -0
  29. package/dist/biz-select/compile.js +82 -0
  30. package/dist/biz-select/compile.js.map +1 -0
  31. package/dist/biz-select/factories.d.ts +23 -0
  32. package/dist/biz-select/factories.d.ts.map +1 -0
  33. package/dist/biz-select/factories.js +17 -0
  34. package/dist/biz-select/factories.js.map +1 -0
  35. package/dist/biz-select/format.d.ts +48 -0
  36. package/dist/biz-select/format.d.ts.map +1 -0
  37. package/dist/biz-select/format.js +110 -0
  38. package/dist/biz-select/format.js.map +1 -0
  39. package/dist/biz-select/index.d.ts +23 -0
  40. package/dist/biz-select/index.d.ts.map +1 -0
  41. package/dist/biz-select/index.js +22 -0
  42. package/dist/biz-select/index.js.map +1 -0
  43. package/dist/biz-select/key.d.ts +15 -0
  44. package/dist/biz-select/key.d.ts.map +1 -0
  45. package/dist/biz-select/key.js +69 -0
  46. package/dist/biz-select/key.js.map +1 -0
  47. package/dist/biz-select/normalize.d.ts +40 -0
  48. package/dist/biz-select/normalize.d.ts.map +1 -0
  49. package/dist/biz-select/normalize.js +46 -0
  50. package/dist/biz-select/normalize.js.map +1 -0
  51. package/dist/biz-select/registry.d.ts +15 -0
  52. package/dist/biz-select/registry.d.ts.map +1 -0
  53. package/dist/biz-select/registry.js +81 -0
  54. package/dist/biz-select/registry.js.map +1 -0
  55. package/dist/biz-select/schema.d.ts +5 -0
  56. package/dist/biz-select/schema.d.ts.map +1 -0
  57. package/dist/biz-select/schema.js +21 -0
  58. package/dist/biz-select/schema.js.map +1 -0
  59. package/dist/biz-select/source-id.d.ts +8 -0
  60. package/dist/biz-select/source-id.d.ts.map +1 -0
  61. package/dist/biz-select/source-id.js +10 -0
  62. package/dist/biz-select/source-id.js.map +1 -0
  63. package/dist/biz-select/types.d.ts +104 -0
  64. package/dist/biz-select/types.d.ts.map +1 -0
  65. package/dist/biz-select/types.js +2 -0
  66. package/dist/biz-select/types.js.map +1 -0
  67. package/dist/biz-select/useCandidates.d.ts +40 -0
  68. package/dist/biz-select/useCandidates.d.ts.map +1 -0
  69. package/dist/biz-select/useCandidates.js +292 -0
  70. package/dist/biz-select/useCandidates.js.map +1 -0
  71. package/dist/biz-select/useSelectedLabel.d.ts +18 -0
  72. package/dist/biz-select/useSelectedLabel.d.ts.map +1 -0
  73. package/dist/biz-select/useSelectedLabel.js +158 -0
  74. package/dist/biz-select/useSelectedLabel.js.map +1 -0
  75. package/dist/biz-select/useStableSourceKey.d.ts +3 -0
  76. package/dist/biz-select/useStableSourceKey.d.ts.map +1 -0
  77. package/dist/biz-select/useStableSourceKey.js +48 -0
  78. package/dist/biz-select/useStableSourceKey.js.map +1 -0
  79. package/dist/editable-table/EditableTable.d.ts +3 -0
  80. package/dist/editable-table/EditableTable.d.ts.map +1 -0
  81. package/dist/editable-table/EditableTable.js +499 -0
  82. package/dist/editable-table/EditableTable.js.map +1 -0
  83. package/dist/editable-table/dirty.d.ts +17 -0
  84. package/dist/editable-table/dirty.d.ts.map +1 -0
  85. package/dist/editable-table/dirty.js +72 -0
  86. package/dist/editable-table/dirty.js.map +1 -0
  87. package/dist/editable-table/index.d.ts +4 -0
  88. package/dist/editable-table/index.d.ts.map +1 -0
  89. package/dist/editable-table/index.js +3 -0
  90. package/dist/editable-table/index.js.map +1 -0
  91. package/dist/editable-table/types.d.ts +109 -0
  92. package/dist/editable-table/types.d.ts.map +1 -0
  93. package/dist/editable-table/types.js +2 -0
  94. package/dist/editable-table/types.js.map +1 -0
  95. package/dist/env.d.ts +3 -0
  96. package/dist/env.d.ts.map +1 -0
  97. package/dist/env.js +11 -0
  98. package/dist/env.js.map +1 -0
  99. package/dist/form/FormRuntimeHost.d.ts +39 -0
  100. package/dist/form/FormRuntimeHost.d.ts.map +1 -0
  101. package/dist/form/FormRuntimeHost.js +184 -0
  102. package/dist/form/FormRuntimeHost.js.map +1 -0
  103. package/dist/form/SchemaFormField.d.ts +15 -0
  104. package/dist/form/SchemaFormField.d.ts.map +1 -0
  105. package/dist/form/SchemaFormField.js +143 -0
  106. package/dist/form/SchemaFormField.js.map +1 -0
  107. package/dist/form/derive.d.ts +28 -0
  108. package/dist/form/derive.d.ts.map +1 -0
  109. package/dist/form/derive.js +87 -0
  110. package/dist/form/derive.js.map +1 -0
  111. package/dist/form/namePath.d.ts +12 -0
  112. package/dist/form/namePath.d.ts.map +1 -0
  113. package/dist/form/namePath.js +33 -0
  114. package/dist/form/namePath.js.map +1 -0
  115. package/dist/full-editable-table/EditableCell.d.ts +12 -0
  116. package/dist/full-editable-table/EditableCell.d.ts.map +1 -0
  117. package/dist/full-editable-table/EditableCell.js +8 -0
  118. package/dist/full-editable-table/EditableCell.js.map +1 -0
  119. package/dist/full-editable-table/EditableRow.d.ts +8 -0
  120. package/dist/full-editable-table/EditableRow.d.ts.map +1 -0
  121. package/dist/full-editable-table/EditableRow.js +23 -0
  122. package/dist/full-editable-table/EditableRow.js.map +1 -0
  123. package/dist/full-editable-table/FullEditableTable.d.ts +3 -0
  124. package/dist/full-editable-table/FullEditableTable.d.ts.map +1 -0
  125. package/dist/full-editable-table/FullEditableTable.js +384 -0
  126. package/dist/full-editable-table/FullEditableTable.js.map +1 -0
  127. package/dist/full-editable-table/context.d.ts +4 -0
  128. package/dist/full-editable-table/context.d.ts.map +1 -0
  129. package/dist/full-editable-table/context.js +6 -0
  130. package/dist/full-editable-table/context.js.map +1 -0
  131. package/dist/full-editable-table/index.d.ts +3 -0
  132. package/dist/full-editable-table/index.d.ts.map +1 -0
  133. package/dist/full-editable-table/index.js +2 -0
  134. package/dist/full-editable-table/index.js.map +1 -0
  135. package/dist/full-editable-table/types.d.ts +95 -0
  136. package/dist/full-editable-table/types.d.ts.map +1 -0
  137. package/dist/full-editable-table/types.js +2 -0
  138. package/dist/full-editable-table/types.js.map +1 -0
  139. package/dist/index.d.ts +19 -0
  140. package/dist/index.d.ts.map +1 -0
  141. package/dist/index.js +15 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/read.d.ts +14 -0
  144. package/dist/read.d.ts.map +1 -0
  145. package/dist/read.js +151 -0
  146. package/dist/read.js.map +1 -0
  147. package/dist/registry.d.ts +29 -0
  148. package/dist/registry.d.ts.map +1 -0
  149. package/dist/registry.js +49 -0
  150. package/dist/registry.js.map +1 -0
  151. package/dist/rowMerge.d.ts +2 -0
  152. package/dist/rowMerge.d.ts.map +1 -0
  153. package/dist/rowMerge.js +32 -0
  154. package/dist/rowMerge.js.map +1 -0
  155. package/dist/tableScroll.d.ts +10 -0
  156. package/dist/tableScroll.d.ts.map +1 -0
  157. package/dist/tableScroll.js +14 -0
  158. package/dist/tableScroll.js.map +1 -0
  159. package/dist/types.d.ts +133 -0
  160. package/dist/types.d.ts.map +1 -0
  161. package/dist/types.js +2 -0
  162. package/dist/types.js.map +1 -0
  163. package/package.json +60 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FullEditableTable.js","sourceRoot":"","sources":["../../src/full-editable-table/FullEditableTable.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAWpD,4BAA4B;AAC5B,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAoB5C,MAAM,UAAU,GAAG,CAAmB,GAAM,EAAE,GAAW,EAAK,EAAE,CAC9D,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAM,CAAC;AAE1C,SAAS,gBAAgB,CACvB,IAAS,EACT,UAAqC,EACrC,MAAoB;IAEpB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,WAAW,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,qBAAqB,CAAC,CAAC;YAC7E,CAAC;YACD,GAAG,GAAG,GAAG,GAAG,IAAI,MAAM,EAAE,EAAE,CAAC;QAC7B,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE;CAC/C,CAAC;AAEF,SAAS,sBAAsB,CAC7B,KAAgC,EAChC,GAA0C;IAE1C,MAAM,EACJ,OAAO,EACP,WAAW,EACX,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS;IACT,oCAAoC;IACpC,aAAa,GAAG,IAAI,EACpB,aAAa,EACb,gBAAgB,GAAG,IAAI,EACvB,gBAAgB,GAAG,IAAI,EACvB,cAAc,GAAG,OAAO,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,GAAG,KAAK,EACxB,cAAc;IACd,mCAAmC;IACnC,UAAU,GAAG,KAAK,EAClB,QAAQ,EACR,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,GAAG,UAAU,EACd,GAAG,KAAK,CAAC;IAEV,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC;QACvB,SAAS;QACT,OAAO;QACP,OAAO;QACP,QAAQ;QACR,iBAAiB;QACjB,qBAAqB;QACrB,kBAAkB;QAClB,cAAc;QACd,QAAQ;KACT,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,GAAG;QAClB,SAAS;QACT,OAAO;QACP,OAAO;QACP,QAAQ;QACR,iBAAiB;QACjB,qBAAqB;QACrB,kBAAkB;QAClB,cAAc;QACd,QAAQ;KACT,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAErE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC;IAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,GAAM,EAAiB,EAAE;QACvD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACvC,MAAM,KAAK,GACT,OAAO,OAAO,KAAK,UAAU;YAC3B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACd,CAAC,CAAE,GAA+B,CAAC,OAAiB,CAAC,CAAC;QAC1D,8CAA8C;QAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;OAIG;IACH,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,GAAM,EAAE,SAAkC,EAAE,EAAE;QAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,gCAAgC;YAChC,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,QAAQ,GAAG,MAAM,EAAE,CAAC;YACpD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,OAAO,WAAW,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CACX,0CAA0C,WAAW,oBAAoB,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,WAAW,IAAI,MAAM,EAAE,EAAE,CAAC;IACtC,CAAC,EACD,CAAC,MAAM,EAAE,UAAU,CAAC,CACrB,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAqB,GAAG,EAAE,CACpE,gBAAgB,CAAC,WAAW,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,CACxD,CAAC;IAEF,+BAA+B;IAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IAEnC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,GAAG,EAAwB,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,IAAwB,EAAE,EAAE;QACtD,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,CAAC;QACL,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,aAAa;QAClF,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC1B,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE;gBACV,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC1C,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACD,QAAQ;QACR,iBAAiB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAClC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,OAAqB,CAAC;KACpE,CAAC;IACF,wBAAwB;IACxB,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO;IACxB,wCAAwC;IACxC,+BAA+B;IAC/B,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAW,CAAC,EAClF,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CACH,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QACpC,MAAM,cAAc,GAAI,MAA8D;aACnF,MAAM,CAAC;QACV,6CAA6C;QAC7C,qCAAqC;QACrC,MAAM,cAAc,GAAG,IAAI,OAAO,EAA8B,CAAC;QACjE,OAAO;YACL,GAAG,MAAM;YACT,MAAM,EAAE,CAAC,MAAS,EAAE,EAAE;gBACpB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC1C,wBAAwB;gBACxB,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAC1B,MAAM,KAAK,GAAG;oBACZ,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,2CAA2C;oBAC3C,SAAS,EAAE,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAC,SAAS;iBACtE,CAAC;gBACF,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,IAA2B,EAAE,EAAE;QACzD,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,MAAmB,EAAK,EAAE;QACxD,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAO,CAAC;IAChF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YAC1E,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,kCAAkC,KAAK,UAAU,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,MAAmB,EAAE,EAAE;QACtB,IAAI,OAAO,EAAE;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;QACnC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC,EACD,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CACxD,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,SAAc,EAAE,QAA4B,EAAE,MAAmB,EAAE,EAAE;QACpE,IAAI,OAAO,EAAE;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,yCAAyC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC,EACD,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CACxD,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,WAAgB,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,CAAC,wCAAwC,GAAG,qBAAqB,CAAC,CAAC;YACjF,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACzD,IAAI,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,kCAAkC,KAAK,UAAU,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,iCAAiC;QACjC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,CAAC;IAEF,4CAA4C;IAC5C,MAAM,UAAU,GAAG,gBAAgB,KAAK,IAAI,IAAI,eAAe,KAAK,IAAI,CAAC;IACzE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAE5D,4CAA4C;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACtC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;YAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,IAAW,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC;QACnC,iCAAiC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CACxB,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,MAAM,OAAO,GACX,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACpF,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,+BAA+B,KAAK,aAAa,OAAO,IAAI,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACnF,0BAA0B;QAC1B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7G,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,CAAC;IAEF,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,4CAA4C;QAC5C,IAAI,UAAU,CAAC,YAAY;YAAE,OAAO,UAAU,CAAC,YAAY,CAAC;QAC5D,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO;YACL,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,CAAC,IAAW,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;SACjD,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO,CAAC;IAE/D,2CAA2C;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAAG,CAAC,GAAG,eAAe,CAAwB,CAAC;QAC3D,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB;YAAE,OAAO,MAAM,CAAC;QAE1D,MAAM,YAAY,GAAG;YACnB,GAAG,iBAAiB;YACpB,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,iBAAiB,EAAE,KAAK,IAAI,IAAI;YACvC,KAAK,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,EAAE,CAAC,CAAU,EAAE,MAAS,EAAE,EAAE;gBAChC,qCAAqC;gBACrC,MAAM,GAAG,GAAG,MAAM,CAAE,MAAkC,CAAC,aAAa,CAAC,CAAC,CAAC;gBACvE,OAAO,CACL,MAAC,KAAK,IAAC,IAAI,EAAE,CAAC,aACX,gBAAgB,CAAC,CAAC,CAAC,CAClB,KAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,6BAGtC,CACV,CAAC,CAAC,CAAC,IAAI,EACP,gBAAgB,CAAC,CAAC,CAAC,CAClB,KAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,OAAO,EACZ,MAAM,QACN,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,6BAGtB,CACV,CAAC,CAAC,CAAC,IAAI,IACF,CACT,CAAC;YACJ,CAAC;SACmB,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE;QACD,iBAAiB;QACjB,SAAS;QACT,SAAS;QACT,QAAQ;QACR,eAAe;QACf,cAAc;QACd,SAAS;QACT,SAAS;QACT,gBAAgB;QAChB,gBAAgB;KACjB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,WAAW,CAAC,GAAQ,EAAE;QACxC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC;QACtD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO,cAAc,CAAC,CAAC,IAAI,EAAE,aAAa,IAAI,EAAE,CAAM,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC;QAC3C,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,8BAA8B;gBAC9B,IAAI,MAAM;oBAAE,OAAO,CAAC,KAAK,CAAC,0BAA0B,GAAG,uBAAuB,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,GACT,KAA6E;qBAC3E,WAAW,IAAI,EAAE,CAAC;gBACvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,KAAc,EAAE,MAAM,EAAE,CAAC;QAE5D,oBAAoB;QACpB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,KAAK,EAAE,KAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAE3E,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,IAAI,aAAa,CAAC,OAAO;YAAE,OAAO;QAClC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtD,OAAO;YACT,CAAC;YACD,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,IAAS,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,CAAC;QACb,oCAAoC;QACpC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACnC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,aAAsB,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CACrC,CAAC;IAEF,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAChF,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CACvE,CAAC;IAEF,gDAAgD;IAChD,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,kBAAkB,CAAI,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,EACnE,CAAC,MAAM,EAAE,SAAS,CAAC,CACpB,CAAC;IAEF,iDAAiD;IACjD,MAAM,OAAO,GAAG,CACd,KAAC,WAAW,IACV,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,EACjD,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAC9D,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,YAAY,CAAC,MAAM,EAClC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,EAC3E,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,cAAc,GACxB,CACH,CAAC;IAEF,OAAO,CACL,MAAC,uBAAuB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,aAC7C,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAC5C,KAAC,KAAK,OACA,UAAU,EACd,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAwC,EACjD,UAAU,EAAE,gBAA+C,EAC3D,YAAY,EAAE,kBAAkB,GAChC,EACD,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IACd,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CACzC,sBAAsB,CACkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { FullTableRuntime } from './types.js';
2
+ export declare const FullTableRuntimeContext: import("react").Context<FullTableRuntime<any> | null>;
3
+ export declare function useFullTableRuntime<T>(): FullTableRuntime<T> | null;
4
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/full-editable-table/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,uBAAuB,uDAAoD,CAAC;AAEzF,wBAAgB,mBAAmB,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,6 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const FullTableRuntimeContext = createContext(null);
3
+ export function useFullTableRuntime() {
4
+ return useContext(FullTableRuntimeContext);
5
+ }
6
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/full-editable-table/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAIlD,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAA+B,IAAI,CAAC,CAAC;AAEzF,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,uBAAuB,CAA+B,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FullEditableTable } from './FullEditableTable.js';
2
+ export type { FullEditableTableComponent, FullEditableTableProps, FullEditableTableRef, RowStructureChange, RowValidationError, } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/full-editable-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FullEditableTable } from './FullEditableTable.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/full-editable-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,95 @@
1
+ import type { Key, ReactElement, ReactNode, Ref } from 'react';
2
+ import type { FormInstance, TableProps } from 'antd';
3
+ import type { TableFooterContext } from '../TableFooter.js';
4
+ import type { EditableColumn, NamePath, ToolbarPlacement } from '../types.js';
5
+ export interface RowValidationError {
6
+ rowKey: Key;
7
+ name: NamePath;
8
+ messages: string[];
9
+ }
10
+ /**
11
+ * 结构变化通知。
12
+ *
13
+ * 批量删除(勾选后删除)时**逐行触发**,且触发时表格数据已是删除后的状态:
14
+ * 回调里调 `getDataSync()` 拿到的是删完的集合,被删行只通过这里的 `row` 提供。
15
+ */
16
+ export interface RowStructureChange<T> {
17
+ type: 'add' | 'insert' | 'remove' | 'replace';
18
+ rowKey: Key;
19
+ row?: T;
20
+ }
21
+ export interface FullEditableTableRef<T> {
22
+ addRow(record?: Partial<T>): void;
23
+ insertRow(anchorKey: Key, position: 'before' | 'after', record?: Partial<T>): void;
24
+ removeRow(rowKey: Key): void;
25
+ /** 按 rowOrder 读取每行常驻 Form 的当前值,合并未映射到表单的原始字段 */
26
+ getDataSync(): T[];
27
+ validate(): Promise<{
28
+ valid: true;
29
+ rows: T[];
30
+ } | {
31
+ valid: false;
32
+ errors: RowValidationError[];
33
+ }>;
34
+ submit(): Promise<void>;
35
+ /** 显式替换整表数据并重建身份;动态属性重算,但不触发 linkage/events */
36
+ setData(rows: T[]): void;
37
+ }
38
+ export interface FullEditableTableProps<T extends object> extends Omit<TableProps<T>, 'columns' | 'dataSource' | 'rowKey' | 'components'> {
39
+ columns: EditableColumn<T>[];
40
+ /** 只在初始化与 setData 时使用,不随 props 变化覆盖用户正在输入的内容;缺省为空表 */
41
+ initialRows?: T[];
42
+ /** 业务 rowKey;缺省时由组件生成稳定的本地 key */
43
+ rowKey?: keyof T | ((row: T) => Key);
44
+ createRow?: () => Partial<T>;
45
+ minRows?: number;
46
+ maxRows?: number;
47
+ disabled?: boolean;
48
+ /** 表体最大高度(scroll.y 的便捷入口):超过后表体自身滚动;不传则整表撑开 */
49
+ maxHeight?: number;
50
+ /** 新增按钮(追加到末尾),默认显示 */
51
+ showAddButton?: boolean;
52
+ /** 新增按钮文案,默认「新增」 */
53
+ addButtonText?: string;
54
+ /** 行内操作列:插入按钮(默认插到本行之后),默认显示 */
55
+ showInsertAction?: boolean;
56
+ /** 行内操作列:删除按钮,默认显示 */
57
+ showDeleteAction?: boolean;
58
+ /** 插入位置,默认 after(插到本行之后) */
59
+ insertPosition?: 'before' | 'after';
60
+ /** 内置操作列的覆盖属性(标题 / 宽度 / fixed 等) */
61
+ actionColumnProps?: Partial<EditableColumn<T>>;
62
+ /** 底部新增按钮右侧插槽;不传则只渲染新增按钮 */
63
+ renderFooterExtra?: (ctx: FullTableFooterContext<T>) => ReactNode;
64
+ /** 行多选(勾选框),默认关闭;调用方自己传 rowSelection 时以调用方为准 */
65
+ showRowSelection?: boolean;
66
+ /** 底部批量删除按钮,默认关闭;只删勾选行,需同时开启 showRowSelection */
67
+ showBatchDelete?: boolean;
68
+ /** 批量删除文案,默认「批量删除」 */
69
+ batchDeleteText?: string;
70
+ /** 内置工具条(新增 / 插槽 / 批量删除)位置,默认顶部(与老家族 BatchEdit 一致) */
71
+ toolbarPlacement?: ToolbarPlacement;
72
+ /** 内置按钮是否带图标(新增 / 批量删除),默认不带 */
73
+ showButtonIcon?: boolean;
74
+ onSubmit?: (rows: T[]) => Promise<void> | void;
75
+ /** 观察回调,不是组件内部正确性依赖的同步通道 */
76
+ onRowValuesChange?: (rowKey: Key, changed: Partial<T>) => void;
77
+ onRowsStructureChange?: (info: RowStructureChange<T>) => void;
78
+ onValidationFailed?: (errors: RowValidationError[]) => void;
79
+ /** 表级校验出口:行级校验全部通过后执行,返回错误则阻断提交 */
80
+ onValidateRows?: (rows: T[]) => Promise<RowValidationError[] | void> | RowValidationError[] | void;
81
+ }
82
+ /** 底部插槽:比普通表格多一个插入能力 */
83
+ export interface FullTableFooterContext<T> extends TableFooterContext<T> {
84
+ insertRow(anchorKey: Key, position: 'before' | 'after', record?: Partial<T>): void;
85
+ }
86
+ export interface FullTableRuntime<T> {
87
+ getInitialRecord(key: string): T | undefined;
88
+ registerForm(key: string, form: FormInstance): () => void;
89
+ disabled?: boolean;
90
+ onRowValuesChange?: (rowKey: Key, changed: Record<string, unknown>) => void;
91
+ }
92
+ export type FullEditableTableComponent = <T extends object>(props: FullEditableTableProps<T> & {
93
+ ref?: Ref<FullEditableTableRef<T>>;
94
+ }) => ReactElement;
95
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/full-editable-table/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/full-editable-table/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /** packages/schema 对外出口:底层字段渲染,后续追加 SchemaForm / 表格组件 */
2
+ export * from './types.js';
3
+ export { registerField, getFieldDefinition, getRegisteredFieldTypes } from './registry.js';
4
+ export type { FieldDefinition } from './registry.js';
5
+ export { SchemaField } from './SchemaField.js';
6
+ export type { SchemaFieldProps } from './SchemaField.js';
7
+ export { defaultRenderRead, renderReadValue, EMPTY_TEXT } from './read.js';
8
+ export { SchemaForm } from './SchemaForm.js';
9
+ export type { SchemaFormProps } from './SchemaForm.js';
10
+ export { SchemaFormField } from './form/SchemaFormField.js';
11
+ export type { SchemaFormFieldProps } from './form/SchemaFormField.js';
12
+ export { FormRuntimeHost, FormRuntimeHostProvider, useFormRuntimeHost } from './form/FormRuntimeHost.js';
13
+ export { namePathKey, normalizeNamePath, getNestedValue } from './form/namePath.js';
14
+ export * from './biz-select/index.js';
15
+ export * from './editable-table/index.js';
16
+ export * from './full-editable-table/index.js';
17
+ export { mergeRowValues } from './rowMerge.js';
18
+ export type { TableFooterContext } from './TableFooter.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACxF,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjF,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ /** packages/schema 对外出口:底层字段渲染,后续追加 SchemaForm / 表格组件 */
2
+ export * from './types.js';
3
+ export { registerField, getFieldDefinition, getRegisteredFieldTypes } from './registry.js';
4
+ export { SchemaField } from './SchemaField.js';
5
+ export { defaultRenderRead, renderReadValue, EMPTY_TEXT } from './read.js';
6
+ export { SchemaForm } from './SchemaForm.js';
7
+ export { SchemaFormField } from './form/SchemaFormField.js';
8
+ export { FormRuntimeHost, FormRuntimeHostProvider, useFormRuntimeHost } from './form/FormRuntimeHost.js';
9
+ export { namePathKey, normalizeNamePath, getNestedValue } from './form/namePath.js';
10
+ // BizSelect 不带副作用:字段类型需使用方调 registerBizSelectField() 注册
11
+ export * from './biz-select/index.js';
12
+ export * from './editable-table/index.js';
13
+ export * from './full-editable-table/index.js';
14
+ export { mergeRowValues } from './rowMerge.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjF,wDAAwD;AACxD,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
package/dist/read.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 只读展示的内置格式化。
3
+ *
4
+ * 原则:宁缺毋猜。用 schema 里真实存在的 options / treeData / dataSource 解析 label;
5
+ * 解析不到就显示原始值或占位符,绝不把 ID 伪装成名称,也不发请求去猜。
6
+ */
7
+ import type { ReactNode } from 'react';
8
+ import type { FieldDefinition } from './registry.js';
9
+ import type { FieldSchema } from './types.js';
10
+ export declare const EMPTY_TEXT = "\u2014";
11
+ export declare function defaultRenderRead<TValue>(value: TValue | undefined, schema: FieldSchema<TValue>): ReactNode;
12
+ /** 只读内容优先级:schema.renderRead > 注册项 renderRead > 内置格式化 */
13
+ export declare function renderReadValue<TValue>(value: TValue | undefined, schema: FieldSchema<TValue>, definition?: FieldDefinition): ReactNode;
14
+ //# sourceMappingURL=read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../src/read.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,UAAU,WAAM,CAAC;AAoJ9B,wBAAgB,iBAAiB,CAAC,MAAM,EACtC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,GAC1B,SAAS,CAGX;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,MAAM,EACpC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAC3B,UAAU,CAAC,EAAE,eAAe,GAC3B,SAAS,CAQX"}
package/dist/read.js ADDED
@@ -0,0 +1,151 @@
1
+ import dayjs from 'dayjs';
2
+ export const EMPTY_TEXT = '—';
3
+ const DATE_TYPES = new Set(['DatePicker']);
4
+ const TIME_TYPES = new Set(['TimePicker']);
5
+ const BOOLEAN_TYPES = new Set(['Checkbox']);
6
+ const OPTION_TYPES = new Set(['Select', 'RadioGroup', 'CheckboxGroup', 'TreeSelect', 'Cascader']);
7
+ const UPLOAD_TYPES = new Set(['Upload']);
8
+ const TRANSFER_TYPES = new Set(['Transfer']);
9
+ /** 多值展示分隔符:与数组默认展示保持一致 */
10
+ const MULTI_SEPARATOR = '、';
11
+ /** Cascader 层级分隔符 */
12
+ const PATH_SEPARATOR = ' / ';
13
+ function isEmpty(value) {
14
+ return (value === undefined ||
15
+ value === null ||
16
+ value === '' ||
17
+ (Array.isArray(value) && value.length === 0));
18
+ }
19
+ function toDateText(value, props) {
20
+ const date = dayjs.isDayjs(value) ? value : dayjs(value);
21
+ if (!date.isValid())
22
+ return EMPTY_TEXT;
23
+ const format = typeof props.format === 'string' ? props.format : 'YYYY-MM-DD';
24
+ return date.format(format);
25
+ }
26
+ function toTimeText(value, props) {
27
+ const time = dayjs.isDayjs(value) ? value : dayjs(value);
28
+ if (!time.isValid())
29
+ return EMPTY_TEXT;
30
+ const format = typeof props.format === 'string' ? props.format : 'HH:mm:ss';
31
+ return time.format(format);
32
+ }
33
+ /** 取节点的 label(TreeSelect 用 title,Transfer 用 title) */
34
+ function nodeLabel(node) {
35
+ const label = node.label ?? node.title;
36
+ return typeof label === 'string' && label ? label : undefined;
37
+ }
38
+ /**
39
+ * 深度查找:支持 TreeSelect / Cascader 的 children 嵌套。
40
+ * 找不到返回 undefined,由调用方降级成原始值。
41
+ */
42
+ function findLabelDeep(items, value) {
43
+ if (!Array.isArray(items))
44
+ return undefined;
45
+ for (const item of items) {
46
+ if (!item || typeof item !== 'object')
47
+ continue;
48
+ const node = item;
49
+ // TreeSelect 允许 value ?? key 的降级,这里照搬
50
+ if ((node.value ?? node.key) === value) {
51
+ return nodeLabel(node);
52
+ }
53
+ const nested = findLabelDeep(node.children, value);
54
+ if (nested !== undefined)
55
+ return nested;
56
+ }
57
+ return undefined;
58
+ }
59
+ /** Cascader:值是路径数组,逐层下钻后拼成「浙江 / 杭州」 */
60
+ function resolveCascaderPath(options, path) {
61
+ const labels = [];
62
+ let level = options;
63
+ for (const key of path) {
64
+ if (!Array.isArray(level))
65
+ break;
66
+ const node = level.find((item) => item && typeof item === 'object' && (item.value ?? item.key) === key);
67
+ if (!node) {
68
+ // 中间层断了就把这一层及以下按原始值输出,不做半截猜测
69
+ labels.push(String(key));
70
+ level = undefined;
71
+ break;
72
+ }
73
+ labels.push(nodeLabel(node) ?? String(key));
74
+ level = node.children;
75
+ }
76
+ return labels.join(PATH_SEPARATOR);
77
+ }
78
+ /** 不同控件的选项容器不同 */
79
+ function getOptionItems(type, props) {
80
+ if (TRANSFER_TYPES.has(type))
81
+ return props.dataSource;
82
+ if (type === 'TreeSelect')
83
+ return props.treeData ?? props.options;
84
+ return props.options ?? props.treeData;
85
+ }
86
+ function toPlainText(value, type, props) {
87
+ if (BOOLEAN_TYPES.has(type))
88
+ return value ? '是' : '否';
89
+ if (DATE_TYPES.has(type))
90
+ return toDateText(value, props);
91
+ if (TIME_TYPES.has(type))
92
+ return toTimeText(value, props);
93
+ // Cascader 的路径数组必须整条解析,不能按普通多值拼
94
+ if (type === 'Cascader' && Array.isArray(value)) {
95
+ return resolveCascaderPath(getOptionItems(type, props), value);
96
+ }
97
+ if (OPTION_TYPES.has(type) || TRANSFER_TYPES.has(type)) {
98
+ const items = getOptionItems(type, props);
99
+ if (Array.isArray(value)) {
100
+ return value
101
+ .map((item) => findLabelDeep(items, item) ?? toPlainText(item, 'Input', {}))
102
+ .join(MULTI_SEPARATOR);
103
+ }
104
+ const label = findLabelDeep(items, value);
105
+ if (label !== undefined)
106
+ return label;
107
+ }
108
+ // 上传控件:展示文件名,拿不到 name 就退回序号
109
+ if (UPLOAD_TYPES.has(type) && Array.isArray(value)) {
110
+ return value
111
+ .map((item, index) => {
112
+ if (item && typeof item === 'object') {
113
+ const file = item;
114
+ if (typeof file.name === 'string' && file.name)
115
+ return file.name;
116
+ if (typeof file.url === 'string' && file.url)
117
+ return file.url;
118
+ }
119
+ return typeof item === 'string' ? item : `文件 ${index + 1}`;
120
+ })
121
+ .join(MULTI_SEPARATOR);
122
+ }
123
+ // 历史 {value,label} 协议:有 label 就用 label,没有就落到原始值
124
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
125
+ const legacy = value;
126
+ if (typeof legacy.label === 'string' && legacy.label)
127
+ return legacy.label;
128
+ }
129
+ if (Array.isArray(value)) {
130
+ return value.map((item) => toPlainText(item, 'Input', {})).join(MULTI_SEPARATOR);
131
+ }
132
+ if (typeof value === 'boolean')
133
+ return value ? '是' : '否';
134
+ return String(value);
135
+ }
136
+ export function defaultRenderRead(value, schema) {
137
+ if (isEmpty(value))
138
+ return EMPTY_TEXT;
139
+ return toPlainText(value, schema.type, schema.props ?? {});
140
+ }
141
+ /** 只读内容优先级:schema.renderRead > 注册项 renderRead > 内置格式化 */
142
+ export function renderReadValue(value, schema, definition) {
143
+ if (schema.renderRead) {
144
+ return schema.renderRead(value, schema);
145
+ }
146
+ if (definition?.renderRead) {
147
+ return definition.renderRead(value, schema.props ?? {});
148
+ }
149
+ return defaultRenderRead(value, schema);
150
+ }
151
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../src/read.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 字段注册表:type -> 组件 + 事件适配 + 只读展示。
3
+ *
4
+ * 注册项只描述“怎么渲染一个受控控件”,不承担 Form 绑定、校验和联动,
5
+ * 这些由 SchemaForm 层的 SchemaFormField 负责。
6
+ */
7
+ import type { ComponentType, ReactNode } from 'react';
8
+ import type { AnyFormFieldSchema, FieldType } from './types.js';
9
+ export interface FieldDefinition<T = unknown> {
10
+ component: ComponentType<any>;
11
+ /** 受控值属性名,默认 value;Checkbox 用 checked */
12
+ valuePropName?: string;
13
+ /** 从原始事件参数中取出业务值,默认取第一个参数 */
14
+ getValueFromEvent?: (...args: any[]) => T;
15
+ /** 只读展示;返回 undefined 表示退到内置格式化 */
16
+ renderRead?: (value: T, props: Record<string, unknown>) => ReactNode;
17
+ /**
18
+ * 渲染前归一化字段定义:把类型专有属性编译成引擎认识的 shape。
19
+ * 必须是纯函数,调用方会按 schema 对象缓存结果(不可每次返回新对象)。
20
+ */
21
+ normalize?: (schema: AnyFormFieldSchema) => AnyFormFieldSchema;
22
+ }
23
+ /** 注册字段类型;重复注册默认拒绝,覆盖必须显式声明 */
24
+ export declare function registerField(type: FieldType, definition: FieldDefinition, options?: {
25
+ override?: boolean;
26
+ }): void;
27
+ export declare function getFieldDefinition(type: string): FieldDefinition | undefined;
28
+ export declare function getRegisteredFieldTypes(): string[];
29
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAmBtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,iBAAiB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1C,kCAAkC;IAClC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC;IACrE;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;CAChE;AAID,+BAA+B;AAC/B,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,eAAe,EAC3B,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,IAAI,CAWN;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE5E;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD"}
@@ -0,0 +1,49 @@
1
+ import { AutoComplete, Cascader, Checkbox, ColorPicker, DatePicker, Input, InputNumber, Radio, Rate, Select, Slider, TimePicker, Transfer, TreeSelect, Upload, } from 'antd';
2
+ const registry = new Map();
3
+ /** 注册字段类型;重复注册默认拒绝,覆盖必须显式声明 */
4
+ export function registerField(type, definition, options) {
5
+ // 'Custom' 由 SchemaField 直接分支处理,注册进来也是永不执行的死代码
6
+ if (type === 'Custom') {
7
+ console.warn('[schema] "Custom" 是保留类型,由字段自身的 render 提供,不能注册');
8
+ return;
9
+ }
10
+ if (registry.has(type) && !options?.override) {
11
+ console.warn(`[schema] 字段类型 "${type}" 已注册,如需覆盖请显式传入 { override: true }`);
12
+ return;
13
+ }
14
+ registry.set(type, definition);
15
+ }
16
+ export function getFieldDefinition(type) {
17
+ return registry.get(type);
18
+ }
19
+ export function getRegisteredFieldTypes() {
20
+ return [...registry.keys()];
21
+ }
22
+ // ---- 内置注册:首期只覆盖常用控件,其余按需补充 ----
23
+ registerField('Input', { component: Input });
24
+ registerField('Input.TextArea', { component: Input.TextArea });
25
+ registerField('Input.Password', { component: Input.Password });
26
+ registerField('InputNumber', { component: InputNumber });
27
+ registerField('AutoComplete', { component: AutoComplete });
28
+ registerField('Cascader', { component: Cascader });
29
+ registerField('Select', { component: Select });
30
+ registerField('TreeSelect', { component: TreeSelect });
31
+ registerField('Slider', { component: Slider });
32
+ registerField('Rate', { component: Rate });
33
+ registerField('DatePicker', { component: DatePicker });
34
+ registerField('TimePicker', { component: TimePicker });
35
+ registerField('ColorPicker', { component: ColorPicker });
36
+ registerField('RadioGroup', { component: Radio.Group });
37
+ registerField('CheckboxGroup', { component: Checkbox.Group });
38
+ registerField('Transfer', { component: Transfer, valuePropName: 'targetKeys' });
39
+ registerField('Checkbox', {
40
+ component: Checkbox,
41
+ valuePropName: 'checked',
42
+ getValueFromEvent: (event) => event.target.checked,
43
+ });
44
+ registerField('Upload', {
45
+ component: Upload,
46
+ valuePropName: 'fileList',
47
+ getValueFromEvent: (info) => info.fileList,
48
+ });
49
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function mergeRowValues<T extends object>(initial: T, values: unknown): T;
2
+ //# sourceMappingURL=rowMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowMerge.d.ts","sourceRoot":"","sources":["../src/rowMerge.ts"],"names":[],"mappings":"AA0BA,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CAI/E"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 把 Form Store 的值合并回完整业务记录。
3
+ *
4
+ * 只合并普通对象;数组、日期等整体替换。表单里被显式清空(undefined)的字段
5
+ * 必须覆盖初始值,不能被旧数据“复活”。
6
+ *
7
+ * EditableTable 与 FullEditableTable 共用,避免各自实现一份合并策略。
8
+ */
9
+ function isPlainObject(value) {
10
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
11
+ return false;
12
+ const proto = Object.getPrototypeOf(value);
13
+ return proto === Object.prototype || proto === null;
14
+ }
15
+ function mergeInto(base, patch) {
16
+ const result = isPlainObject(base) ? { ...base } : {};
17
+ for (const [key, value] of Object.entries(patch)) {
18
+ if (value === undefined) {
19
+ result[key] = undefined;
20
+ continue;
21
+ }
22
+ result[key] = isPlainObject(value) ? mergeInto(result[key], value) : value;
23
+ }
24
+ return result;
25
+ }
26
+ export function mergeRowValues(initial, values) {
27
+ if (!isPlainObject(values))
28
+ return { ...initial };
29
+ // 初始记录本身不是普通对象时(极少见)直接以表单值为准
30
+ return mergeInto(initial, values);
31
+ }
32
+ //# sourceMappingURL=rowMerge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowMerge.js","sourceRoot":"","sources":["../src/rowMerge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,KAA8B;IAC9D,MAAM,MAAM,GAA4B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAmB,OAAU,EAAE,MAAe;IAC1E,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAClD,6BAA6B;IAC7B,OAAO,SAAS,CAAC,OAAO,EAAE,MAAM,CAAM,CAAC;AACzC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 表体高度约定:两个可编辑表格共用。
3
+ *
4
+ * antd 把 scroll.y 直接写成表体的 max-height(rc-table Table.js),
5
+ * 所以短内容不会被拉高、超过才纵向滚动。这里把 maxHeight 收敛成一行配置,
6
+ * 外层不要再包 overflow 盒子——那会让表头跟着滚走、固定列错位。
7
+ */
8
+ import type { TableProps } from 'antd';
9
+ export declare function resolveTableScroll<T>(scroll: TableProps<T>['scroll'], maxHeight: number | undefined, tag: string): TableProps<T>['scroll'];
10
+ //# sourceMappingURL=tableScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableScroll.d.ts","sourceRoot":"","sources":["../src/tableScroll.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,GACV,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CASzB"}
@@ -0,0 +1,14 @@
1
+ import { IS_DEV } from './env.js';
2
+ export function resolveTableScroll(scroll, maxHeight, tag) {
3
+ if (maxHeight === undefined)
4
+ return scroll;
5
+ if (!Number.isFinite(maxHeight) || maxHeight <= 0) {
6
+ // 0 或负数会把表体压没,按配置错误处理,不静默生效
7
+ if (IS_DEV)
8
+ console.warn(`[${tag}] maxHeight 必须是正数,当前为 ${maxHeight},已忽略`);
9
+ return scroll;
10
+ }
11
+ // 显式 scroll.y 优先:透传属性比便捷属性更具体
12
+ return { ...scroll, y: scroll?.y ?? maxHeight };
13
+ }
14
+ //# sourceMappingURL=tableScroll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableScroll.js","sourceRoot":"","sources":["../src/tableScroll.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,MAAM,UAAU,kBAAkB,CAChC,MAA+B,EAC/B,SAA6B,EAC7B,GAAW;IAEX,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QAClD,4BAA4B;QAC5B,IAAI,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,yBAAyB,SAAS,MAAM,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,8BAA8B;IAC9B,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;AAClD,CAAC"}