@givolt/i3-composer-agent 3.1.0 → 4.0.0

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 (677) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude/commands/i3-build.md +1 -0
  3. package/.claude/commands/i3-code-simplify.md +1 -0
  4. package/.claude/commands/i3-constraints.md +1 -0
  5. package/.claude/commands/i3-plan.md +1 -0
  6. package/.claude/commands/i3-review.md +1 -0
  7. package/.claude/commands/i3-ship.md +1 -0
  8. package/.claude/commands/i3-sop.md +3 -3
  9. package/.claude/commands/i3-spec.md +1 -0
  10. package/.claude/commands/i3-test.md +1 -0
  11. package/.claude/commands/i3-webperf.md +1 -0
  12. package/.claude-plugin/marketplace.json +1 -1
  13. package/.claude-plugin/plugin.json +1 -1
  14. package/.codex-plugin/plugin.json +2 -2
  15. package/.gemini/commands/i3-sop.toml +3 -3
  16. package/README.md +44 -43
  17. package/bin/i3-composer-agent.cjs +4 -59
  18. package/bin/install.cjs +6 -14
  19. package/bin/native-layout.cjs +11 -2
  20. package/bin/native-migration.cjs +68 -28
  21. package/bin/retired-custom-fingerprints.json +1597 -0
  22. package/bin/wizard.cjs +2 -13
  23. package/commands/i3-sop.toml +3 -3
  24. package/docs/antigravity-setup.md +3 -1
  25. package/docs/codebuddy-setup.md +19 -76
  26. package/docs/codex-setup.md +10 -4
  27. package/docs/comparison.md +1 -1
  28. package/docs/copilot-cli-setup.md +4 -4
  29. package/docs/cursor-setup.md +1 -1
  30. package/docs/gemini-cli-setup.md +1 -1
  31. package/docs/other-hosts.md +2 -2
  32. package/docs/windsurf-setup.md +2 -2
  33. package/docs/workbuddy-setup.md +9 -16
  34. package/evals/README.md +10 -0
  35. package/evals/cases/i3-code-simplification.json +8 -0
  36. package/evals/cases/i3-documentation-and-adrs.json +4 -0
  37. package/evals/cases/i3-enterprise-sop.json +70 -32
  38. package/evals/cases/i3-frontend-ui-engineering.json +1 -1
  39. package/evals/cases/i3-security-and-hardening.json +4 -0
  40. package/evals/cases/i3-ui-demo.json +2 -2
  41. package/evals/cases/i3-using-agent-skills.json +5 -5
  42. package/evals/plugin/simplify-fires-on-pasted-function/graders/behavior-kept-and-explained.md +7 -0
  43. package/evals/plugin/simplify-fires-on-pasted-function/graders/skill-fired.md +5 -0
  44. package/evals/plugin/simplify-fires-on-pasted-function/prompt.md +30 -0
  45. package/evals/plugin/simplify-stays-quiet-on-make-it-fast/graders/not-fired.md +8 -0
  46. package/evals/plugin/simplify-stays-quiet-on-make-it-fast/prompt.md +20 -0
  47. package/evals/zh-CN/cases/i3-code-simplification.json +8 -0
  48. package/evals/zh-CN/cases/i3-documentation-and-adrs.json +4 -0
  49. package/evals/zh-CN/cases/i3-enterprise-sop.json +77 -31
  50. package/evals/zh-CN/cases/i3-frontend-ui-engineering.json +2 -2
  51. package/evals/zh-CN/cases/i3-security-and-hardening.json +4 -0
  52. package/evals/zh-CN/cases/i3-ui-demo.json +2 -2
  53. package/evals/zh-CN/cases/i3-using-agent-skills.json +6 -6
  54. package/hooks/SDD-CACHE.md +1 -1
  55. package/package.json +13 -102
  56. package/plugin.json +15 -2
  57. package/references/accessibility-checklist.md +4 -4
  58. package/references/performance-checklist.md +5 -4
  59. package/references/testing-patterns.md +2 -1
  60. package/scripts/floor-guard-reference-test.js +32 -0
  61. package/scripts/lib/execution-status.js +44 -0
  62. package/scripts/run-evals-test.js +157 -7
  63. package/scripts/run-evals.js +59 -12
  64. package/scripts/ui-demo-test.js +2 -2
  65. package/scripts/validate-artifact-paths-test.js +14 -0
  66. package/scripts/validate-artifact-paths.js +4 -2
  67. package/skills/i3-api-and-interface-design/SKILL.md +3 -1
  68. package/skills/i3-ci-cd-and-automation/SKILL.md +7 -4
  69. package/skills/i3-code-simplification/SKILL.md +3 -3
  70. package/skills/i3-constraint-driven-development/SKILL.md +4 -4
  71. package/skills/i3-constraint-driven-development/references/floor-guard.md +2 -2
  72. package/skills/i3-context-engineering/SKILL.md +1 -1
  73. package/skills/i3-debugging-and-error-recovery/SKILL.md +1 -1
  74. package/skills/i3-deprecation-and-migration/SKILL.md +6 -1
  75. package/skills/i3-documentation-and-adrs/SKILL.md +3 -2
  76. package/skills/i3-enterprise-sop/SKILL.md +121 -94
  77. package/skills/i3-enterprise-sop/references/engineering-skeleton/directory-standard.md +31 -17
  78. package/skills/i3-enterprise-sop/references/handoff.py +235 -135
  79. package/skills/i3-enterprise-sop/references/read_text.py +60 -0
  80. package/skills/i3-enterprise-sop/references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md +47 -47
  81. package/skills/i3-enterprise-sop/references/technical-baseline/readme.md +9 -118
  82. package/skills/i3-enterprise-sop/references/technical-baseline/templates/technical-baseline.md +8 -8
  83. package/skills/i3-enterprise-sop/references/{ad/templates → templates}/ad.md +57 -50
  84. package/skills/i3-enterprise-sop/references/{brd/templates → templates}/brd.md +23 -12
  85. package/skills/i3-enterprise-sop/references/{prd/templates → templates}/prd.md +84 -51
  86. package/skills/i3-enterprise-sop/references/{testcase/templates → templates}/testcase.md +49 -39
  87. package/skills/i3-frontend-ui-engineering/SKILL.md +6 -10
  88. package/skills/i3-idea-refine/SKILL.md +4 -2
  89. package/skills/i3-incremental-implementation/SKILL.md +0 -4
  90. package/skills/i3-performance-optimization/SKILL.md +2 -2
  91. package/skills/i3-security-and-hardening/references/hardening-patterns.md +5 -0
  92. package/skills/i3-source-driven-development/SKILL.md +3 -2
  93. package/skills/i3-spec-driven-development/SKILL.md +1 -1
  94. package/skills/i3-ui-demo/SKILL.md +3 -1
  95. package/skills/i3-ui-demo/references/dependencies.md +1 -1
  96. package/skills/i3-ui-demo/references/resources.md +1 -1
  97. package/skills/i3-ui-demo/scripts/dependencies.cjs +0 -3
  98. package/skills/i3-using-agent-skills/SKILL.md +2 -2
  99. package/.claude/commands/i3-prototype.md +0 -23
  100. package/.gemini/commands/i3-prototype.toml +0 -23
  101. package/commands/i3-prototype.toml +0 -23
  102. package/docs/upstream-repository/AGENTS.md +0 -92
  103. package/docs/upstream-repository/CLAUDE.md +0 -60
  104. package/docs/upstream-repository/CONTRIBUTING.md +0 -137
  105. package/docs/upstream-repository/README.md +0 -8
  106. package/docs/upstream-repository/gitattributes.txt +0 -1
  107. package/docs/upstream-repository/gitignore.txt +0 -10
  108. package/docs/upstream-repository/manifest.json +0 -71
  109. package/docs/upstream-repository/opencode-skills.link +0 -1
  110. package/docs/upstream-repository/skill-gap.yml +0 -80
  111. package/docs/upstream-repository/skills-contributing.md +0 -15
  112. package/docs/upstream-repository/test-plugin-install.yml +0 -167
  113. package/evals/cases/i3-ui-prototype.json +0 -158
  114. package/evals/fixtures/i3-ui-prototype/admin-list/assets/reference.css +0 -3
  115. package/evals/fixtures/i3-ui-prototype/admin-list/assets/reference.js +0 -8
  116. package/evals/fixtures/i3-ui-prototype/admin-list/capability-definition.json +0 -67
  117. package/evals/fixtures/i3-ui-prototype/admin-list/index.html +0 -89
  118. package/evals/fixtures/i3-ui-prototype/admin-list/readme.md +0 -52
  119. package/evals/fixtures/i3-ui-prototype/admin-list/template.json +0 -8
  120. package/evals/fixtures/i3-ui-prototype/business-brief.md +0 -7
  121. package/evals/zh-CN/cases/i3-ui-prototype.json +0 -165
  122. package/hooks/PROTOTYPE.md +0 -31
  123. package/hooks/codebuddy-upstream.cjs +0 -93
  124. package/hooks/i3-prototype.cjs +0 -7
  125. package/hooks/manage.cjs +0 -169
  126. package/scripts/design-provider-discovery-test.js +0 -190
  127. package/scripts/design-provider-test.js +0 -75
  128. package/scripts/enterprise-template-test.js +0 -205
  129. package/scripts/lib/prototype-fixture.cjs +0 -17
  130. package/scripts/prototype-cache-test.js +0 -55
  131. package/scripts/prototype-generation-entry-test.js +0 -6
  132. package/scripts/prototype-generation-evidence-test.js +0 -10
  133. package/scripts/prototype-generation-native-test.js +0 -78
  134. package/scripts/prototype-generation-test.js +0 -99
  135. package/scripts/prototype-inventory-test.js +0 -43
  136. package/scripts/prototype-locations-test.js +0 -79
  137. package/scripts/prototype-project-test.js +0 -183
  138. package/scripts/template-adapter-test.js +0 -155
  139. package/scripts/ui-prototype-binding-recovery-test.js +0 -84
  140. package/scripts/ui-prototype-buddy-lifecycle-test.js +0 -102
  141. package/scripts/ui-prototype-codebuddy-hook-test.js +0 -112
  142. package/scripts/ui-prototype-content-test.js +0 -123
  143. package/scripts/ui-prototype-dependencies-test.js +0 -226
  144. package/scripts/ui-prototype-devtools-test.js +0 -53
  145. package/scripts/ui-prototype-execution-evidence-test.js +0 -62
  146. package/scripts/ui-prototype-execution-gates-test.js +0 -91
  147. package/scripts/ui-prototype-execution-policy-test.js +0 -53
  148. package/scripts/ui-prototype-execution-runtime-test.js +0 -27
  149. package/scripts/ui-prototype-ide-source-test.js +0 -73
  150. package/scripts/ui-prototype-native-test.js +0 -526
  151. package/scripts/ui-prototype-recovery-test.js +0 -81
  152. package/scripts/ui-prototype-registration-test.js +0 -53
  153. package/scripts/ui-prototype-template-test.js +0 -261
  154. package/scripts/ui-prototype-test.js +0 -124
  155. package/scripts/ui-prototype-transcript-auto-test.js +0 -67
  156. package/skills/i3-enterprise-sop/references/ad/assets-manifest.json +0 -86
  157. package/skills/i3-enterprise-sop/references/ad/prompts/01-generate.md +0 -58
  158. package/skills/i3-enterprise-sop/references/ad/prompts/02-review.md +0 -54
  159. package/skills/i3-enterprise-sop/references/ad/prompts/03-revise.md +0 -54
  160. package/skills/i3-enterprise-sop/references/ad/prompts/04-recheck.md +0 -54
  161. package/skills/i3-enterprise-sop/references/ad/readme.md +0 -70
  162. package/skills/i3-enterprise-sop/references/assets-manifest.json +0 -230
  163. package/skills/i3-enterprise-sop/references/brd/assets-manifest.json +0 -83
  164. package/skills/i3-enterprise-sop/references/brd/prompts/01-generate.md +0 -51
  165. package/skills/i3-enterprise-sop/references/brd/prompts/02-review.md +0 -47
  166. package/skills/i3-enterprise-sop/references/brd/prompts/03-revise.md +0 -47
  167. package/skills/i3-enterprise-sop/references/brd/prompts/04-recheck.md +0 -47
  168. package/skills/i3-enterprise-sop/references/brd/readme.md +0 -50
  169. package/skills/i3-enterprise-sop/references/codebuddy-project-guide.md +0 -34
  170. package/skills/i3-enterprise-sop/references/controlled-handoff.md +0 -41
  171. package/skills/i3-enterprise-sop/references/controlled_handoff.py +0 -379
  172. package/skills/i3-enterprise-sop/references/engineering-skeleton/adoption.md +0 -200
  173. package/skills/i3-enterprise-sop/references/engineering-skeleton/catalog.json +0 -17
  174. package/skills/i3-enterprise-sop/references/engineering-skeleton/readme.md +0 -52
  175. package/skills/i3-enterprise-sop/references/handoff-contract.md +0 -196
  176. package/skills/i3-enterprise-sop/references/lifecycle-contract.md +0 -91
  177. package/skills/i3-enterprise-sop/references/plan-handoff.md +0 -73
  178. package/skills/i3-enterprise-sop/references/prd/assets-manifest.json +0 -109
  179. package/skills/i3-enterprise-sop/references/prd/prompts/01-generate.md +0 -64
  180. package/skills/i3-enterprise-sop/references/prd/prompts/02-review.md +0 -49
  181. package/skills/i3-enterprise-sop/references/prd/prompts/03-revise.md +0 -48
  182. package/skills/i3-enterprise-sop/references/prd/prompts/04-recheck.md +0 -47
  183. package/skills/i3-enterprise-sop/references/prd/readme.md +0 -137
  184. package/skills/i3-enterprise-sop/references/prd/template-contracts.md +0 -39
  185. package/skills/i3-enterprise-sop/references/prd/templates/ad.md +0 -17
  186. package/skills/i3-enterprise-sop/references/readme.md +0 -167
  187. package/skills/i3-enterprise-sop/references/recovery-contract.md +0 -65
  188. package/skills/i3-enterprise-sop/references/review-handoff.md +0 -105
  189. package/skills/i3-enterprise-sop/references/selection-handoff.md +0 -55
  190. package/skills/i3-enterprise-sop/references/selection_handoff.py +0 -225
  191. package/skills/i3-enterprise-sop/references/stages.json +0 -271
  192. package/skills/i3-enterprise-sop/references/technical-baseline/assets-manifest.json +0 -84
  193. package/skills/i3-enterprise-sop/references/template-contracts.md +0 -142
  194. package/skills/i3-enterprise-sop/references/testcase/assets-manifest.json +0 -91
  195. package/skills/i3-enterprise-sop/references/testcase/prompts/01-generate.md +0 -53
  196. package/skills/i3-enterprise-sop/references/testcase/prompts/02-review.md +0 -51
  197. package/skills/i3-enterprise-sop/references/testcase/prompts/03-revise.md +0 -49
  198. package/skills/i3-enterprise-sop/references/testcase/prompts/04-recheck.md +0 -51
  199. package/skills/i3-enterprise-sop/references/testcase/readme.md +0 -61
  200. package/skills/i3-enterprise-sop/references/verification/check_execution.py +0 -185
  201. package/skills/i3-enterprise-sop/references/verification/check_native_execution.py +0 -282
  202. package/skills/i3-enterprise-sop/references/verification/check_reads.py +0 -348
  203. package/skills/i3-enterprise-sop/references/verification/readme.md +0 -149
  204. package/skills/i3-enterprise-sop/references/verification/review-output.schema.json +0 -155
  205. package/skills/i3-enterprise-sop/references/verification/review_handoff.py +0 -329
  206. package/skills/i3-ui-prototype/SKILL.md +0 -256
  207. package/skills/i3-ui-prototype/assets/capabilities/generation.json +0 -833
  208. package/skills/i3-ui-prototype/assets/capabilities/management.json +0 -294
  209. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/acceptance.json +0 -51
  210. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/component-map.json +0 -13
  211. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/generation-component-map.json +0 -300
  212. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/index.html +0 -11
  213. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/package-lock.json +0 -2298
  214. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/package.json +0 -22
  215. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/public/prototype-config.json +0 -6
  216. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/App.vue +0 -136
  217. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/components/DeviceEditor.vue +0 -111
  218. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/config.ts +0 -19
  219. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/content.ts +0 -28
  220. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/domain/devices.ts +0 -50
  221. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/domain/theme.ts +0 -25
  222. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/main.ts +0 -18
  223. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/style.css +0 -50
  224. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/src/useDevices.ts +0 -66
  225. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tests/devices.test.ts +0 -44
  226. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tests/theme.test.ts +0 -26
  227. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/tsconfig.json +0 -15
  228. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/legacy-starter/vite.config.ts +0 -4
  229. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/profile.json +0 -174
  230. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/readme.md +0 -61
  231. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/index.html +0 -11
  232. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/package-lock.json +0 -2298
  233. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/package.json +0 -22
  234. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/public/prototype-config.json +0 -21
  235. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/App.vue +0 -62
  236. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/PrototypeShell.vue +0 -59
  237. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/config.ts +0 -23
  238. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/domain/presentation.ts +0 -29
  239. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/domain/theme.ts +0 -25
  240. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/main.ts +0 -18
  241. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/src/style.css +0 -26
  242. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tests/presentation.test.ts +0 -23
  243. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tests/theme.test.ts +0 -26
  244. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/tsconfig.json +0 -15
  245. package/skills/i3-ui-prototype/assets/frameworks/vue-antdv-next/starter/vite.config.ts +0 -4
  246. package/skills/i3-ui-prototype/assets/hosts/codebuddy/profile.json +0 -17
  247. package/skills/i3-ui-prototype/assets/optional-skills/host-targets.json +0 -739
  248. package/skills/i3-ui-prototype/assets/optional-skills/sources.json +0 -27
  249. package/skills/i3-ui-prototype/assets/templates/catalog.js +0 -149
  250. package/skills/i3-ui-prototype/assets/templates/catalog.json +0 -149
  251. package/skills/i3-ui-prototype/assets/templates/classic-admin/manifest.json +0 -9
  252. package/skills/i3-ui-prototype/assets/templates/classic-admin/preset.json +0 -6
  253. package/skills/i3-ui-prototype/assets/templates/common/app/app.mjs +0 -89
  254. package/skills/i3-ui-prototype/assets/templates/common/app/config.json +0 -1
  255. package/skills/i3-ui-prototype/assets/templates/common/app/domain.mjs +0 -20
  256. package/skills/i3-ui-prototype/assets/templates/common/app/index.html +0 -17
  257. package/skills/i3-ui-prototype/assets/templates/common/app/serve.cjs +0 -16
  258. package/skills/i3-ui-prototype/assets/templates/common/app/styles.css +0 -670
  259. package/skills/i3-ui-prototype/assets/templates/common/app/tokens.css +0 -19
  260. package/skills/i3-ui-prototype/assets/templates/common/design-system/master.md +0 -20
  261. package/skills/i3-ui-prototype/assets/templates/common/gallery.html +0 -2
  262. package/skills/i3-ui-prototype/assets/templates/common/mocks/applications.json +0 -5
  263. package/skills/i3-ui-prototype/assets/templates/common/requirements-map.json +0 -8
  264. package/skills/i3-ui-prototype/assets/templates/common/serve-gallery.cjs +0 -16
  265. package/skills/i3-ui-prototype/assets/templates/credits.md +0 -17
  266. package/skills/i3-ui-prototype/assets/templates/data-operations/manifest.json +0 -9
  267. package/skills/i3-ui-prototype/assets/templates/data-operations/preset.json +0 -6
  268. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/capability-definition.json +0 -294
  269. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/component-inventory.json +0 -707
  270. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/design-system.md +0 -32
  271. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/generation.json +0 -49
  272. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/index.html +0 -534
  273. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/manifest.json +0 -9
  274. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/offline-build.json +0 -265
  275. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/offline.js +0 -8888
  276. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/origin.json +0 -344
  277. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/preset.json +0 -928
  278. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/app.js +0 -22
  279. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/empty.svg +0 -1
  280. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/reference-styles.json +0 -1
  281. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/result-403.svg +0 -1
  282. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/result-404.svg +0 -1
  283. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets-manifest.json +0 -334
  284. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/baseline.json +0 -173
  285. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/conversion.md +0 -30
  286. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/credits.md +0 -17
  287. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/design-tokens.json +0 -881
  288. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/index.html +0 -28
  289. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/@qin-ui-antdv-next-pro.txt +0 -9
  290. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/ant-design-icons.txt +0 -22
  291. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/antdv-next.txt +0 -21
  292. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/package.json +0 -12
  293. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/browser-routes.json +0 -298
  294. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/coverage.json +0 -180
  295. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/integrity.json +0 -13
  296. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/keyboard.json +0 -11
  297. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/responsive.json +0 -125
  298. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/review.md +0 -51
  299. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/rules.log +0 -150
  300. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-html.png +0 -0
  301. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-original.png +0 -0
  302. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-html.png +0 -0
  303. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-original.png +0 -0
  304. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/models-html.png +0 -0
  305. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/models-original.png +0 -0
  306. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-html.png +0 -0
  307. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-original.png +0 -0
  308. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/selection.json +0 -9
  309. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/visual-comparison.json +0 -342
  310. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/readme.md +0 -73
  311. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/reference.md +0 -59
  312. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/routes.json +0 -178
  313. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/controls.js +0 -99
  314. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/dialogs.js +0 -54
  315. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/dom.js +0 -264
  316. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/forms.js +0 -47
  317. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/icons.js +0 -41
  318. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/layout.js +0 -47
  319. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/router.js +0 -63
  320. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/state.js +0 -90
  321. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/table.js +0 -41
  322. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/widgets.js +0 -8
  323. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.html +0 -3
  324. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.js +0 -36
  325. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.html +0 -2
  326. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.js +0 -51
  327. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.html +0 -3
  328. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.js +0 -48
  329. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/CheckResults.html +0 -2
  330. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/CheckResults.js +0 -6
  331. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.html +0 -2
  332. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.js +0 -13
  333. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/data.js +0 -24
  334. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/domain.js +0 -32
  335. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/registry.js +0 -25
  336. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/store.js +0 -85
  337. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentClose.html +0 -2
  338. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentClose.js +0 -17
  339. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.html +0 -2
  340. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.js +0 -66
  341. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.html +0 -3
  342. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.js +0 -38
  343. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.html +0 -2
  344. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.js +0 -66
  345. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.html +0 -2
  346. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.js +0 -5
  347. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.html +0 -2
  348. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.js +0 -12
  349. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.html +0 -2
  350. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.js +0 -11
  351. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentList.html +0 -2
  352. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentList.js +0 -116
  353. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.html +0 -2
  354. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.js +0 -32
  355. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.html +0 -2
  356. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.js +0 -49
  357. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.html +0 -2
  358. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.js +0 -10
  359. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.html +0 -2
  360. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.js +0 -77
  361. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/data.js +0 -60
  362. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/domain.js +0 -105
  363. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/store.js +0 -212
  364. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/AuditPanel.html +0 -2
  365. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/AuditPanel.js +0 -18
  366. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelDetail.html +0 -2
  367. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelDetail.js +0 -23
  368. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelEditor.html +0 -2
  369. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelEditor.js +0 -78
  370. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelGrant.html +0 -2
  371. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelGrant.js +0 -55
  372. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelReferences.html +0 -2
  373. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelReferences.js +0 -26
  374. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelRelease.html +0 -2
  375. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelRelease.js +0 -38
  376. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelStatus.html +0 -2
  377. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelStatus.js +0 -7
  378. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTable.html +0 -2
  379. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTable.js +0 -72
  380. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTester.html +0 -2
  381. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTester.js +0 -46
  382. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelsPage.html +0 -2
  383. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelsPage.js +0 -52
  384. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/RowActions.html +0 -2
  385. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/RowActions.js +0 -19
  386. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/UsagePanel.html +0 -2
  387. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/UsagePanel.js +0 -30
  388. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/data.js +0 -48
  389. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/domain.js +0 -39
  390. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/store.js +0 -129
  391. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.html +0 -4
  392. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.js +0 -21
  393. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IntentSource.html +0 -2
  394. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IntentSource.js +0 -8
  395. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.html +0 -2
  396. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.js +0 -37
  397. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.html +0 -2
  398. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.js +0 -10
  399. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.html +0 -2
  400. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.js +0 -37
  401. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.html +0 -2
  402. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.js +0 -49
  403. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RunDetail.html +0 -4
  404. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RunDetail.js +0 -22
  405. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.html +0 -2
  406. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.js +0 -9
  407. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/commands.js +0 -82
  408. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/examples.js +0 -47
  409. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/model.js +0 -61
  410. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/repair.js +0 -68
  411. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/store.js +0 -55
  412. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/types.js +0 -1
  413. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/workbench.js +0 -18
  414. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.html +0 -3
  415. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.js +0 -28
  416. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.html +0 -2
  417. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.js +0 -18
  418. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.html +0 -2
  419. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.js +0 -31
  420. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.html +0 -2
  421. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.js +0 -27
  422. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.html +0 -2
  423. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.js +0 -16
  424. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.html +0 -2
  425. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.js +0 -43
  426. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.html +0 -4
  427. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.js +0 -34
  428. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.html +0 -2
  429. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.js +0 -30
  430. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.html +0 -3
  431. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.js +0 -67
  432. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.html +0 -2
  433. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.js +0 -41
  434. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.html +0 -2
  435. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.js +0 -31
  436. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.html +0 -2
  437. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.js +0 -26
  438. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.html +0 -2
  439. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.js +0 -70
  440. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/data.js +0 -8
  441. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/domain.js +0 -62
  442. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/management.js +0 -36
  443. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/managementStore.js +0 -49
  444. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/store.js +0 -132
  445. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/AdminList.html +0 -2
  446. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/AdminList.js +0 -38
  447. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.html +0 -2
  448. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.js +0 -11
  449. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.html +0 -2
  450. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.js +0 -45
  451. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.html +0 -2
  452. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.js +0 -54
  453. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.html +0 -3
  454. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.js +0 -27
  455. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.html +0 -2
  456. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.js +0 -12
  457. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.html +0 -2
  458. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.js +0 -45
  459. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.html +0 -3
  460. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.js +0 -38
  461. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/domain.js +0 -61
  462. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/state.js +0 -51
  463. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/store.js +0 -116
  464. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.html +0 -2
  465. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.js +0 -45
  466. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.html +0 -4
  467. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.js +0 -30
  468. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.html +0 -2
  469. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.js +0 -67
  470. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.html +0 -2
  471. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.js +0 -5
  472. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.html +0 -4
  473. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.js +0 -60
  474. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/commands.js +0 -157
  475. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/model.js +0 -136
  476. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/store.js +0 -76
  477. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.html +0 -3
  478. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.js +0 -26
  479. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.html +0 -2
  480. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.js +0 -14
  481. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.html +0 -2
  482. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.js +0 -113
  483. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.html +0 -3
  484. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.js +0 -62
  485. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/commands.js +0 -97
  486. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/model.js +0 -147
  487. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/store.js +0 -13
  488. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.html +0 -2
  489. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.js +0 -9
  490. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.html +0 -2
  491. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.js +0 -8
  492. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.html +0 -2
  493. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.js +0 -37
  494. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListMore.html +0 -2
  495. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListMore.js +0 -8
  496. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.html +0 -2
  497. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.js +0 -17
  498. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/columns.js +0 -32
  499. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/deliveryGuide.js +0 -49
  500. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/deliveryView.js +0 -12
  501. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/listBatch.js +0 -15
  502. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/listSelection.js +0 -37
  503. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/policy.js +0 -68
  504. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/session.js +0 -44
  505. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.html +0 -2
  506. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.js +0 -25
  507. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.html +0 -2
  508. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.js +0 -53
  509. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.html +0 -10
  510. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.js +0 -30
  511. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ScopePage.html +0 -2
  512. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ScopePage.js +0 -10
  513. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.html +0 -2
  514. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.js +0 -9
  515. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/confirmation.js +0 -3
  516. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/navigation.js +0 -19
  517. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.html +0 -2
  518. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.js +0 -8
  519. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.html +0 -2
  520. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.js +0 -32
  521. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.html +0 -2
  522. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.js +0 -15
  523. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.html +0 -2
  524. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.js +0 -11
  525. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecReview.html +0 -2
  526. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecReview.js +0 -57
  527. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.html +0 -2
  528. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.js +0 -37
  529. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/data.js +0 -20
  530. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/domain.js +0 -55
  531. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/store.js +0 -151
  532. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.html +0 -3
  533. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.js +0 -18
  534. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.html +0 -2
  535. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.js +0 -40
  536. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.html +0 -2
  537. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.js +0 -51
  538. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.html +0 -2
  539. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.js +0 -9
  540. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.html +0 -5
  541. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.js +0 -48
  542. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/domain.js +0 -204
  543. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/exampleSource.js +0 -22
  544. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/registry.js +0 -135
  545. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/store.js +0 -137
  546. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.html +0 -3
  547. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.js +0 -36
  548. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/model.js +0 -56
  549. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/store.js +0 -15
  550. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.html +0 -2
  551. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.js +0 -27
  552. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.html +0 -4
  553. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.js +0 -31
  554. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.html +0 -2
  555. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.js +0 -68
  556. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.html +0 -5
  557. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.js +0 -55
  558. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/data.js +0 -16
  559. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/domain.js +0 -83
  560. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/registry.js +0 -18
  561. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/store.js +0 -61
  562. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/admin.css +0 -60
  563. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/agents.css +0 -46
  564. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/antdv.css +0 -295
  565. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/app.css +0 -102
  566. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/delivery.css +0 -4
  567. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/intents.css +0 -37
  568. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/native.css +0 -22
  569. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/operations.css +0 -2
  570. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/pbc.css +0 -3
  571. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/permissions.css +0 -22
  572. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/pro.css +0 -1
  573. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/releases.css +0 -4
  574. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/reset.css +0 -246
  575. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/reviews.css +0 -8
  576. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/tasks.css +0 -6
  577. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/tokens.css +0 -15
  578. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/workbench.css +0 -61
  579. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/workflows.css +0 -1
  580. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/admin-rules.test.js +0 -96
  581. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/agents.test.js +0 -14
  582. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/intent-state.test.js +0 -37
  583. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/list-batch.test.js +0 -44
  584. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operation-fixtures.js +0 -19
  585. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operation-repair.test.js +0 -14
  586. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operations.test.js +0 -25
  587. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/pbc-management.test.js +0 -17
  588. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/pbc-state.test.js +0 -24
  589. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/permission-config.test.js +0 -23
  590. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/permissions.test.js +0 -24
  591. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/releases.test.js +0 -50
  592. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/reviews.test.js +0 -36
  593. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-forms-router.test.js +0 -28
  594. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-state.test.js +0 -42
  595. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-stores.test.js +0 -16
  596. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/spec-state.test.js +0 -11
  597. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/tasks.test.js +0 -27
  598. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/workbench.test.js +0 -34
  599. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/workflows.test.js +0 -16
  600. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/convert.mjs +0 -168
  601. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/serve.mjs +0 -7
  602. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/styles.mjs +0 -11
  603. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/verify.mjs +0 -24
  604. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/serve.cjs +0 -16
  605. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/template-inventory.json +0 -28791
  606. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/template.json +0 -9
  607. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/usability.css +0 -44
  608. package/skills/i3-ui-prototype/assets/templates/gallery/index.html +0 -40
  609. package/skills/i3-ui-prototype/assets/templates/generation-options.js +0 -42
  610. package/skills/i3-ui-prototype/assets/templates/index.html +0 -3
  611. package/skills/i3-ui-prototype/assets/templates/modern-workspace/manifest.json +0 -9
  612. package/skills/i3-ui-prototype/assets/templates/modern-workspace/preset.json +0 -6
  613. package/skills/i3-ui-prototype/assets/templates/presentation.html +0 -17
  614. package/skills/i3-ui-prototype/assets/templates/serve-gallery.cjs +0 -23
  615. package/skills/i3-ui-prototype/references/artifact-contract.md +0 -66
  616. package/skills/i3-ui-prototype/references/content-template.md +0 -81
  617. package/skills/i3-ui-prototype/references/enterprise-admin.md +0 -44
  618. package/skills/i3-ui-prototype/references/entry-contract.md +0 -71
  619. package/skills/i3-ui-prototype/references/execution-evidence.md +0 -51
  620. package/skills/i3-ui-prototype/references/expert-adapter.md +0 -76
  621. package/skills/i3-ui-prototype/references/framework-contract.md +0 -76
  622. package/skills/i3-ui-prototype/references/generation-contract.md +0 -122
  623. package/skills/i3-ui-prototype/references/interaction-acceptance.md +0 -169
  624. package/skills/i3-ui-prototype/references/legacy-native.md +0 -58
  625. package/skills/i3-ui-prototype/references/optional-skills.md +0 -63
  626. package/skills/i3-ui-prototype/references/project-layout.md +0 -92
  627. package/skills/i3-ui-prototype/references/template-adapters.md +0 -63
  628. package/skills/i3-ui-prototype/references/workflow-contract.md +0 -77
  629. package/skills/i3-ui-prototype/scripts/adapters/easel-html.cjs +0 -30
  630. package/skills/i3-ui-prototype/scripts/adapters/legacy-html.cjs +0 -28
  631. package/skills/i3-ui-prototype/scripts/browser-workspace.cjs +0 -72
  632. package/skills/i3-ui-prototype/scripts/buddy-host.cjs +0 -40
  633. package/skills/i3-ui-prototype/scripts/check-design-provider.cjs +0 -9
  634. package/skills/i3-ui-prototype/scripts/check-prototype.cjs +0 -14
  635. package/skills/i3-ui-prototype/scripts/codebuddy-context.cjs +0 -92
  636. package/skills/i3-ui-prototype/scripts/codebuddy-hook.cjs +0 -298
  637. package/skills/i3-ui-prototype/scripts/codebuddy-ide-source.cjs +0 -69
  638. package/skills/i3-ui-prototype/scripts/codebuddy-registration.cjs +0 -125
  639. package/skills/i3-ui-prototype/scripts/content-template.cjs +0 -98
  640. package/skills/i3-ui-prototype/scripts/design-provider-discovery.cjs +0 -128
  641. package/skills/i3-ui-prototype/scripts/enterprise-template.cjs +0 -104
  642. package/skills/i3-ui-prototype/scripts/execution-assertions.cjs +0 -43
  643. package/skills/i3-ui-prototype/scripts/execution-diagnostics.cjs +0 -91
  644. package/skills/i3-ui-prototype/scripts/execution-evidence.cjs +0 -177
  645. package/skills/i3-ui-prototype/scripts/execution-gates.cjs +0 -216
  646. package/skills/i3-ui-prototype/scripts/execution-policy.cjs +0 -62
  647. package/skills/i3-ui-prototype/scripts/execution-recovery.cjs +0 -58
  648. package/skills/i3-ui-prototype/scripts/execution-runtime.cjs +0 -69
  649. package/skills/i3-ui-prototype/scripts/generation-assets.cjs +0 -18
  650. package/skills/i3-ui-prototype/scripts/generation-contract.cjs +0 -214
  651. package/skills/i3-ui-prototype/scripts/generation-evidence.cjs +0 -50
  652. package/skills/i3-ui-prototype/scripts/generation-replan.cjs +0 -34
  653. package/skills/i3-ui-prototype/scripts/hosts/codebuddy.cjs +0 -21
  654. package/skills/i3-ui-prototype/scripts/init-prototype.cjs +0 -8
  655. package/skills/i3-ui-prototype/scripts/manage-baseline.cjs +0 -11
  656. package/skills/i3-ui-prototype/scripts/native-browser.cjs +0 -785
  657. package/skills/i3-ui-prototype/scripts/native-build.cjs +0 -91
  658. package/skills/i3-ui-prototype/scripts/native-command.cjs +0 -35
  659. package/skills/i3-ui-prototype/scripts/native-delivery.cjs +0 -104
  660. package/skills/i3-ui-prototype/scripts/native-devtools.cjs +0 -92
  661. package/skills/i3-ui-prototype/scripts/native-files.cjs +0 -44
  662. package/skills/i3-ui-prototype/scripts/native-pilot-lib.cjs +0 -290
  663. package/skills/i3-ui-prototype/scripts/native-pilot.cjs +0 -59
  664. package/skills/i3-ui-prototype/scripts/native-tool-name.cjs +0 -5
  665. package/skills/i3-ui-prototype/scripts/native-tool-result.cjs +0 -14
  666. package/skills/i3-ui-prototype/scripts/optional-skill-install.cjs +0 -203
  667. package/skills/i3-ui-prototype/scripts/project-registry.cjs +0 -126
  668. package/skills/i3-ui-prototype/scripts/prototype-dependencies.cjs +0 -103
  669. package/skills/i3-ui-prototype/scripts/prototype-hooks.cjs +0 -94
  670. package/skills/i3-ui-prototype/scripts/prototype-lib.cjs +0 -277
  671. package/skills/i3-ui-prototype/scripts/prototype-locations.cjs +0 -69
  672. package/skills/i3-ui-prototype/scripts/ptc-callbacks.cjs +0 -131
  673. package/skills/i3-ui-prototype/scripts/sync-template.cjs +0 -19
  674. package/skills/i3-ui-prototype/scripts/template-adapters.cjs +0 -89
  675. package/skills/i3-ui-prototype/scripts/template-contract.cjs +0 -407
  676. package/skills/i3-ui-prototype/scripts/template-inventory.cjs +0 -78
  677. package/skills/i3-ui-prototype/scripts/validate-result.cjs +0 -117
@@ -1,99 +0,0 @@
1
- import { h, defineWidget, Portal, Fragment, afterRender } from './dom.js';
2
- import { invalidate } from './state.js';
3
- import { DownOutlined, CloseCircleOutlined, SearchOutlined, LoadingOutlined } from './icons.js';
4
-
5
- export const uid = value => { let hash = 2166136261; for (const c of value) hash = Math.imul(hash ^ c.charCodeAt(0), 16777619); return 'ui-' + (hash >>> 0).toString(36); };
6
- export const attrs = props => Object.fromEntries(Object.entries(props).filter(([key]) => ['id', 'title', 'tabindex', 'role'].includes(key) || key.startsWith('aria-') || key.startsWith('data-') && !key.startsWith('data-bind')));
7
- const popups = new Map();
8
- export function popup(state, ctx, event) {
9
- state.rect = event.currentTarget.getBoundingClientRect(); state.open = !state.open;
10
- popups.set(ctx.id, state); invalidate();
11
- }
12
- if (typeof document !== 'undefined') {
13
- document.addEventListener('mousedown', event => {
14
- for (const [id, state] of popups) if (state.open && !event.target.closest(`[data-popup-owner="${uid(id)}"]`)) { state.open = false; invalidate(); }
15
- });
16
- document.addEventListener('keydown', event => { if (event.key === 'Escape') for (const state of popups.values()) if (state.open) { state.open = false; invalidate(); } });
17
- }
18
- export function popupStyle(state, minimum = 180) {
19
- const r = state.rect || { left: 0, bottom: 0, top: 0, width: minimum };
20
- return { position: 'fixed', top: r.bottom + 4, left: Math.max(8, Math.min(r.left, window.innerWidth - Math.max(minimum, r.width) - 8)), width: Math.max(minimum, r.width), zIndex: 2200 };
21
- }
22
- export const Button = defineWidget('Button', (p, s) => {const raw=s.default?.(),content=(Array.isArray(raw)?raw:[raw]).flat(Infinity).filter(x=>x!=null&&x!==false),iconOnly=content.length===1&&/Outlined$|Filled$/.test(content[0]?.type?.name||'');return h('button', {
23
- ...attrs(p), type: p.htmlType || 'button', disabled: p.disabled || p.loading,
24
- class: ['ant-btn', 'ant-btn-' + (p.type || 'default'),p.type==='primary'?'ant-btn-variant-solid':p.type==='link'?'ant-btn-variant-link':p.type==='text'?'ant-btn-variant-text':'ant-btn-variant-outlined',p.danger?'ant-btn-color-dangerous':p.type==='primary'?'ant-btn-color-primary':p.type==='link'?'ant-btn-color-link':'ant-btn-color-default',iconOnly&&'ant-btn-icon-only',p.size === 'small' && 'ant-btn-sm', p.size === 'large' && 'ant-btn-lg', p.danger && 'ant-btn-dangerous', p.block && 'ant-btn-block', p.loading && 'ant-btn-loading', p.class],
25
- style: p.style, onClick: p.onClick,
26
- }, [p.loading ? h(LoadingOutlined) : s.icon?.(), content.map(child=>typeof child==='string'||typeof child==='number'?h('span',{},child):child)]);});
27
-
28
- export const Input = defineWidget('Input', (p, s, ctx) => {
29
- const input = h('input', {
30
- ...attrs(p), class: ['ant-input ant-input-outlined ant-input-css-var', p.class], value: p.value ?? p.modelValue ?? '', type: p.type || 'text', placeholder: p.placeholder, disabled: p.disabled, readOnly: p.readonly || p.readOnly,
31
- maxlength: p.maxlength ?? p.maxLength ?? 160, style: p.style,
32
- onInput: e => { ctx.emit('update:value', e.target.value); ctx.emit('update:modelValue', e.target.value); p.onInput?.(e); },
33
- onChange: p.onChange, onBlur: p.onBlur, onFocus: p.onFocus,
34
- onKeydown: e => { p.onKeydown?.(e); if (e.key === 'Enter') { p.onPressEnter?.(e); p.onSearch?.(e.target.value); } },
35
- });
36
- if (p.allowClear || p.showCount || s.prefix || s.suffix) return h('span', { class: ['ant-input-affix-wrapper ant-input-outlined ant-input-css-var', p.disabled && 'ant-input-affix-wrapper-disabled', p.class], style: p.style }, [s.prefix?.(), h('input', { ...input.props, class: 'ant-input', style: undefined }, []),h('span',{class:'ant-input-suffix'},[p.allowClear ? h('button', {type:'button',disabled:p.disabled, class: ['ant-input-clear-icon',!p.value&&'ant-input-clear-icon-hidden'], 'aria-label': '清空',tabindex:-1, onClick: () => ctx.emit('update:value', '') }, h(CloseCircleOutlined)) : null, s.suffix?.(),p.showCount&&h('span',{class:'ant-input-show-count-suffix'},String(p.value||'').length+' / '+(p.maxlength||p.maxLength||160))])]);
37
- return input;
38
- });
39
- export const TextArea = defineWidget('TextArea', (p, s, ctx) => {
40
- const id=p.id||uid(ctx.id);
41
- if(p.autoSize)afterRender(()=>{const el=document.getElementById(id);if(!el)return;const c=getComputedStyle(el),line=parseFloat(c.lineHeight)||22,padding=parseFloat(c.paddingTop)+parseFloat(c.paddingBottom)+parseFloat(c.borderTopWidth)+parseFloat(c.borderBottomWidth),min=(p.autoSize.minRows||1)*line+padding,max=(p.autoSize.maxRows||100)*line+padding;el.style.height='auto';const height=Math.max(min,Math.min(max,el.scrollHeight+2));el.style.height=height+'px';el.style.overflowY=height>=max?'auto':'hidden';});
42
- const textarea=h('textarea', {
43
- ...attrs(p),id, class: ['ant-input ant-input-outlined ant-input-css-var',!p.showCount&&p.class], value: p.value ?? p.modelValue ?? '', placeholder: p.placeholder, disabled: p.disabled,
44
- rows: p.rows || p.autoSize?.minRows || 3, maxlength: p.maxlength || p.maxLength, style: p.style,
45
- onInput: e => { ctx.emit('update:value', e.target.value); ctx.emit('update:modelValue', e.target.value); p.onInput?.(e); }, onChange: p.onChange, onBlur: p.onBlur,
46
- }, []);
47
- return p.showCount?h('span',{class:['ant-input-textarea ant-input-textarea-show-count',p.class],style:p.style,'data-count':String(p.value||'').length+' / '+(p.maxlength||p.maxLength)},textarea):textarea;
48
- });
49
- Input.TextArea = TextArea;
50
- Input.Search = defineWidget('Input.Search', (p, s, ctx) => h('div', { class: ['ant-space-compact', 'ant-input-search', p.class], style: p.style }, [h(Input, { ...p, class: 'ant-input-compact-item ant-input-compact-first-item', style: undefined, onSearch: value => p.onSearch?.(value), 'onUpdate:value': v => ctx.emit('update:value', v) }), h(Button, {class:'ant-btn-icon-only ant-btn-compact-item ant-btn-compact-last-item','aria-label': '搜索', onClick: () => p.onSearch?.(p.value || '') }, h(SearchOutlined))]));
51
- Input.Group = defineWidget('Input.Group', (p, s) => h('div', { class: 'ant-input-group', ...attrs(p) }, s.default?.()));
52
-
53
- export const InputNumber = defineWidget('InputNumber', (p, s, ctx) => {const state=ctx.state(()=>({focused:false,draft:''}));return h('div', { class: ['ant-input-number ant-input-number-outlined ant-input-number-css-var ant-input-number-mode-input', p.disabled && 'ant-input-number-disabled', p.class], style: p.style }, h('div', { class: 'ant-input-number-input-wrap' }, h('input', {
54
- ...attrs(p), type: 'number', role: 'spinbutton', class: 'ant-input-number-input', value: state.focused?state.draft:p.value == null ? '' : p.precision == null ? p.value : Number(p.value).toFixed(p.precision),
55
- disabled: p.disabled, placeholder: p.placeholder, min: p.min, max: p.max, step: p.step || (p.precision ? 10 ** -p.precision : 1),
56
- onInput: e => {state.draft=e.target.value;const value = e.target.value === '' ? undefined : Number(e.target.value); ctx.emit('update:value', value); p.onChange?.(value); },
57
- onFocus:e=>{state.focused=true;state.draft=e.target.value;},onBlur:e=>{state.focused=false;p.onBlur?.(e);invalidate();},
58
- })));});
59
-
60
- function optionsOf(options) { return (options || []).map(option => typeof option === 'object' ? option : { label: option, value: option }); }
61
- export const Select = defineWidget('Select', (p, s, ctx) => {
62
- const state = ctx.state(() => ({ open: false, search: '', highlight: 0 }));
63
- const multiple = p.mode === 'multiple' || p.mode === 'tags';
64
- const options = optionsOf(p.options), selected = multiple ? p.value || [] : [p.value];
65
- const visible = options.filter(o => !state.search || String(o.label).toLowerCase().includes(state.search.toLowerCase()));
66
- const choose = value => {
67
- const next = multiple ? selected.includes(value) ? selected.filter(v => v !== value) : [...selected, value] : value;
68
- ctx.emit('update:value', next); p.onChange?.(next, options.find(o => o.value === value));
69
- if (!multiple) state.open = false;
70
- state.search = ''; invalidate();
71
- };
72
- const open = event => { if (!p.disabled) { popup(state, ctx, event); state.highlight = 0; } };
73
- const label = options.find(o => o.value === p.value)?.label;
74
- const owner = uid(ctx.id);
75
- const selection = multiple ? h('div', { class: 'ant-select-selection-overflow' }, [selected.map(v => h('span', { class: 'ant-select-selection-item' }, [options.find(o => o.value === v)?.label ?? v, !p.disabled && h('button', {type:'button', class: 'ant-select-selection-item-remove', 'aria-label': '移除 ' + (options.find(o => o.value === v)?.label ?? v), onClick: e => { e.stopPropagation(); choose(v); } }, '×')])), !selected.length && h('span', { class: 'ant-select-placeholder' }, p.placeholder)]) : h('div', { class: p.value == null || p.value === '' ? 'ant-select-placeholder' : 'ant-select-content-value' }, label ?? (p.value != null && p.value !== '' ? p.value : p.placeholder || '请选择'));
76
- return h(Fragment, {}, [
77
- h('div', {class: ['ant-select ant-select-outlined ant-select-css-var',ctx.form&&'ant-select-in-form-item', multiple ? 'ant-select-multiple' : 'ant-select-single',p.size==='small'&&'ant-select-sm',p.size==='large'&&'ant-select-lg', p.disabled && 'ant-select-disabled', state.open && 'ant-select-open', 'ant-select-show-arrow', p.class], style: p.style, 'data-popup-owner': owner, onClick: open }, [
78
- h('div', { class: ['ant-select-content',p.value!=null&&p.value!==''&&'ant-select-content-has-value'] }, [selection, h('input', { ...attrs(p),class: 'ant-select-input', role: 'combobox', 'aria-expanded': state.open,'aria-haspopup':'listbox', 'aria-label': p['aria-label'] || p.placeholder || '选择',autocomplete:'off', disabled: p.disabled, value: state.search, readOnly: !p.showSearch, tabindex: p.disabled ? -1 : 0,onBlur:p.onBlur,onFocus:p.onFocus, onInput: e => { state.search = e.target.value; state.open = true; invalidate(); }, onKeydown: e => { if (e.key === 'ArrowDown') { e.preventDefault(); if (!state.open) open(e); else state.highlight = Math.min(visible.length - 1, state.highlight + 1); invalidate(); } if (e.key === 'ArrowUp') { e.preventDefault(); state.highlight = Math.max(0, state.highlight - 1); invalidate(); } if (e.key === 'Enter' && state.open) { e.preventDefault(); const o = visible[state.highlight]; if (o && !o.disabled) choose(o.value); } } })]),
79
- h('div', { class: 'ant-select-suffix', 'aria-hidden': true }, h(DownOutlined)),
80
- p.allowClear && (multiple ? selected.length : p.value != null && p.value !== '') ? h('button', {type:'button',disabled:p.disabled, class: 'ant-select-clear', 'aria-label': '清空选择', onClick: e => { e.stopPropagation(); ctx.emit('update:value', multiple ? [] : undefined); p.onChange?.(multiple ? [] : undefined); } }, h(CloseCircleOutlined)) : null,
81
- ]),
82
- state.open && h(Portal, {}, h('div', { class: 'ant-select-dropdown native-popup', style: popupStyle(state), 'data-popup-owner': owner, role: 'listbox', 'aria-multiselectable': multiple }, visible.length ? visible.map((o, i) => h('div', { class: ['ant-select-item ant-select-item-option', selected.includes(o.value) && 'ant-select-item-option-selected', o.disabled && 'ant-select-item-option-disabled', i === state.highlight && 'ant-select-item-option-active'], role: 'option', 'aria-selected': selected.includes(o.value), 'aria-disabled': !!o.disabled, onClick: () => { if (!o.disabled) choose(o.value); } }, h('div', { class: 'ant-select-item-option-content' }, o.label))) : h('div', { class: 'native-popup-empty' }, '暂无可选项'))),
83
- ]);
84
- });
85
-
86
- export const Checkbox = defineWidget('Checkbox', (p, s, ctx) => h('label', { class: ['ant-checkbox-wrapper ant-checkbox-css-var', p.disabled && 'ant-checkbox-wrapper-disabled', p.class], style: p.style }, [h('span', { class: ['ant-checkbox ant-wave-target', p.checked && 'ant-checkbox-checked',p.indeterminate&&'ant-checkbox-indeterminate', p.disabled && 'ant-checkbox-disabled'] }, [h('input', { ...attrs(p), class: 'ant-checkbox-input', type: 'checkbox', checked: p.checked, disabled: p.disabled, onChange: e => { ctx.emit('update:checked', e.target.checked); p.onChange?.(e); } })]), s.default&&h('span', {}, s.default())]));
87
- Checkbox.Group = defineWidget('Checkbox.Group', (p, s, ctx) => h('div', { class: 'ant-checkbox-group' }, optionsOf(p.options).map(o => h(Checkbox, { checked: (p.value || []).includes(o.value), disabled: p.disabled || o.disabled, 'onUpdate:checked': checked => { const next = checked ? [...(p.value || []), o.value] : (p.value || []).filter(v => v !== o.value); ctx.emit('update:value', next); p.onChange?.(next); } }, o.label))));
88
- export const Switch = defineWidget('Switch', (p, s, ctx) => h('button', { ...attrs(p), type: 'button', role: 'switch', 'aria-checked': !!p.checked, disabled: p.disabled, class: ['ant-switch', p.checked && 'ant-switch-checked', p.size === 'small' && 'ant-switch-small', p.class], onClick: () => { ctx.emit('update:checked', !p.checked); p.onChange?.(!p.checked); } }, [h('div', { class: 'ant-switch-handle' }), h('span', { class: 'ant-switch-inner' }, p.checked ? p.checkedChildren || '' : p.unCheckedChildren || '')]));
89
- export const Radio=defineWidget('Radio',(p,s,ctx)=>h('label',{class:['ant-radio-wrapper ant-radio-css-var',p.checked&&'ant-radio-wrapper-checked',p.disabled&&'ant-radio-wrapper-disabled',p.class]},[h('span',{class:['ant-radio ant-wave-target',p.checked&&'ant-radio-checked',p.disabled&&'ant-radio-disabled']},h('input',{...attrs(p),type:'radio',class:'ant-radio-input',name:p.name||uid(ctx.id),value:p.value,checked:p.checked,disabled:p.disabled,onChange:e=>{ctx.emit('update:checked',e.target.checked);p.onChange?.(e);}})),s.default&&h('span',{class:'ant-radio-label'},s.default())]));
90
- export const RadioGroup = defineWidget('RadioGroup', (p, s, ctx) => h('div', { ...attrs(p), class: ['ant-radio-group', p.class] }, optionsOf(p.options).map(o => h(Radio,{name:uid(ctx.id),value:o.value,checked:p.value===o.value,disabled:p.disabled||o.disabled,'onUpdate:checked':()=>{ctx.emit('update:value',o.value);p.onChange?.({target:{value:o.value}});}},o.label))));
91
-
92
- export const Dropdown = defineWidget('Dropdown', (p, s, ctx) => {
93
- const state = ctx.state(() => ({ open: false })), owner = uid(ctx.id), menu = p.menu || {};
94
- const activate=(value,event)=>{if(value.disabled)return;state.open=false;menu.onClick?.({key:value.key,domEvent:event});invalidate();};
95
- const item = value => value.type === 'divider' ? h('li', { class: 'ant-dropdown-menu-item-divider', role: 'separator' }) : h('li', { role: 'menuitem',tabindex:value.disabled?-1:0, class: ['ant-dropdown-menu-item', value.disabled && 'ant-dropdown-menu-item-disabled', value.danger && 'ant-dropdown-menu-item-danger'], onClick:event=>activate(value,event),onKeydown:event=>{if(['Enter',' '].includes(event.key)){event.preventDefault();activate(value,event);}if(['ArrowDown','ArrowUp'].includes(event.key)){event.preventDefault();const nodes=[...event.currentTarget.parentElement.querySelectorAll('[role="menuitem"][tabindex="0"]')],index=nodes.indexOf(event.currentTarget);nodes[(index+(event.key==='ArrowDown'?1:nodes.length-1))%nodes.length]?.focus();}} }, value.label);
96
- return h(Fragment, {}, [h('span', { class: ['ant-dropdown-trigger', p.class], 'data-popup-owner': owner, onClick: e => { if (!p.disabled) popup(state, ctx, e); } }, s.default?.()), state.open && h(Portal, {}, h('div', { class: 'ant-dropdown native-popup', style: popupStyle(state, 160), 'data-popup-owner': owner }, h('ul', { class: 'ant-dropdown-menu', role: 'menu' }, (menu.items || []).map(item))))]);
97
- });
98
- export const Tooltip = defineWidget('Tooltip', (p, s,ctx) => {const state=ctx.state(()=>({open:false,rect:null})),id=uid(ctx.id);return h(Fragment,{},[h('span', { class: p.class,'aria-describedby':state.open?id:undefined,onMouseenter:e=>{state.open=!!p.title;state.rect=e.currentTarget.getBoundingClientRect();invalidate();},onMouseleave:()=>{state.open=false;invalidate();}}, s.default?.()),state.open&&h(Portal,{},h('div',{id,class:'ant-tooltip ant-tooltip-placement-top',role:'tooltip',style:{position:'fixed',left:state.rect.left+state.rect.width/2,top:state.rect.top-6,transform:'translate(-50%,-100%)',zIndex:2400,pointerEvents:'none'}},h('div',{class:'ant-tooltip-inner'},p.title)))]);});
99
- export const Avatar = defineWidget('Avatar', (p, s) => h('span', { class: ['ant-avatar ant-avatar-circle', p.class], style: { width: p.size || 32, height: p.size || 32, lineHeight: (p.size || 32) + 'px', ...p.style } }, s.default?.()));
@@ -1,54 +0,0 @@
1
- import { h,defineWidget,Portal,Fragment,afterRender } from './dom.js';
2
- import { invalidate } from './state.js';
3
- import { Button,attrs,uid } from './controls.js';
4
- import { CloseOutlined,CheckCircleOutlined,CloseCircleOutlined,InfoCircleOutlined,LoadingOutlined } from './icons.js';
5
-
6
- const active=new Map();
7
- if(typeof document!=='undefined')document.addEventListener('keydown',event=>{
8
- const top=[...active.values()].at(-1);if(!top)return;
9
- if(event.key==='Escape'&&top.keyboard!==false){event.preventDefault();event.stopPropagation();top.close(event);}
10
- if(event.key==='Tab'){
11
- const root=document.getElementById(top.id),nodes=[...(root?.querySelectorAll('button:not(:disabled), input:not(:disabled), textarea:not(:disabled), [tabindex="0"], a[href]')||[])].filter(el=>el.getClientRects().length);
12
- if(!nodes.length){event.preventDefault();root?.focus();return;}
13
- const first=nodes[0],last=nodes.at(-1);
14
- if(event.shiftKey&&(document.activeElement===first||!root.contains(document.activeElement))){event.preventDefault();last.focus();}
15
- else if(!event.shiftKey&&(document.activeElement===last||!root.contains(document.activeElement))){event.preventDefault();first.focus();}
16
- }
17
- });
18
- function dialog(p,ctx,kind){
19
- const state=ctx.state(()=>({wasOpen:false,previousFocus:null})),id=uid(ctx.id),close=e=>kind==='drawer'?p.onClose?.(e):p.onCancel?.(e);
20
- if(!p.open){if(state.wasOpen){active.delete(id);state.wasOpen=false;afterRender(()=>{state.previousFocus?.isConnected&&state.previousFocus.focus();if(!active.size)document.body.style.overflow='';});}return false;}
21
- if(!state.wasOpen){state.wasOpen=true;state.previousFocus=document.activeElement;afterRender(()=>{document.body.style.overflow='hidden';document.getElementById(id)?.focus({preventScroll:true});});}
22
- active.delete(id);active.set(id,{id,close,keyboard:p.keyboard,previousFocus:state.previousFocus});
23
- return {id,close};
24
- }
25
- export const Drawer=defineWidget('Drawer',(p,s,ctx)=>{
26
- const current=dialog(p,ctx,'drawer');if(!current)return null;
27
- const {id,close}=current,width=typeof p.size==='number'?p.size:p.width||(p.size==='large'?736:378),placement=p.placement||'right';
28
- return h(Portal,{},h('div',{class:['ant-drawer','ant-drawer-'+placement,'ant-drawer-open',p.class],style:{zIndex:p.zIndex||1000},'data-dialog-owner':id},[
29
- p.mask!==false&&h('div',{class:'ant-drawer-mask',onClick:e=>{if(p.mask?.closable!==false&&p.maskClosable!==false)close(e);}}),
30
- h('div',{class:'ant-drawer-content-wrapper',style:{width}},h('div',{id,tabindex:-1,class:'ant-drawer-section',role:'dialog','aria-modal':true,'aria-labelledby':id+'-title'},[
31
- h('div',{class:'ant-drawer-header'},h('div',{class:'ant-drawer-header-title'},[p.closable!==false&&h('button',{type:'button',class:'ant-drawer-close','aria-label':'关闭',onClick:close},h(CloseOutlined)),h('div',{class:'ant-drawer-title',id:id+'-title'},p.title),s.extra&&h('div',{class:'ant-drawer-extra'},s.extra())])),
32
- h('div',{class:'ant-drawer-body'},s.default?.()),
33
- s.footer&&h('div',{class:'ant-drawer-footer'},s.footer()),
34
- ])),
35
- ]));
36
- });
37
- export const Modal=defineWidget('Modal',(p,s,ctx)=>{
38
- const current=dialog(p,ctx,'modal');if(!current)return null;
39
- const {id,close}=current;
40
- const footer=s.footer?s.footer():p.footer===null?null:p.footer||[h(Button,{onClick:close,disabled:p.cancelButtonProps?.disabled},p.cancelText||'取消'),h(Button,{type:'primary',loading:p.confirmLoading,...p.okButtonProps,onClick:p.onOk},p.okText||'确定')];
41
- return h(Portal,{},h('div',{class:'ant-modal-root',style:{zIndex:p.zIndex||1100}},[
42
- p.mask!==false&&h('div',{class:'ant-modal-mask'}),
43
- h('div',{class:['ant-modal-wrap',p.centered&&'ant-modal-centered'],onClick:e=>{if(e.target===e.currentTarget&&p.mask?.closable!==false&&p.maskClosable!==false)close(e);}},h('div',{class:['ant-modal',p.class],style:{width:p.width||520,top:p.centered?undefined:p.top||100},id,tabindex:-1,role:'dialog','aria-modal':true,'aria-labelledby':id+'-title'},h('div',{class:'ant-modal-container'},[
44
- p.closable!==false&&h('button',{type:'button',class:'ant-modal-close','aria-label':'关闭',onClick:close},h('span',{class:'ant-modal-close-x'},h(CloseOutlined))),
45
- p.title&&h('div',{class:'ant-modal-header'},h('div',{class:'ant-modal-title',id:id+'-title'},p.title)),
46
- h('div',{class:'ant-modal-body'},s.default?.()),
47
- footer&&h('div',{class:'ant-modal-footer'},footer),
48
- ]))),
49
- ]));
50
- });
51
- const notices=[];
52
- const notify=(type,content,duration=3)=>{const item={id:crypto.randomUUID(),type,content:typeof content==='object'?content.content:content};notices.push(item);invalidate();const remove=()=>{const index=notices.indexOf(item);if(index>=0){notices.splice(index,1);invalidate();}};if(duration)setTimeout(remove,duration*1000);return remove;};
53
- export const message={success:(text,duration)=>notify('success',text,duration),error:(text,duration)=>notify('error',text,duration),info:(text,duration)=>notify('info',text,duration),warning:(text,duration)=>notify('warning',text,duration),loading:(text,duration)=>notify('loading',text,duration),destroy:()=>{notices.length=0;invalidate();}};
54
- export const Notices=defineWidget('Notices',()=>{afterRender(()=>{for(const [id,entry] of active)if(!document.getElementById(id)){active.delete(id);if(entry.previousFocus?.isConnected)entry.previousFocus.focus({preventScroll:true});}if(!active.size)document.body.style.overflow='';});return h(Portal,{},h('div',{class:'ant-message',role:'status','aria-live':'polite'},notices.map(n=>h('div',{class:'ant-message-notice'},h('div',{class:['ant-message-notice-content','ant-message-'+n.type]},[h(n.type==='success'?CheckCircleOutlined:n.type==='error'?CloseCircleOutlined:n.type==='loading'?LoadingOutlined:InfoCircleOutlined),h('span',{},n.content)])))));});
@@ -1,264 +0,0 @@
1
- import { currentOwner, withOwner, unref, invalidate } from './state.js';
2
-
3
- export const Fragment = Symbol('fragment'), Portal = Symbol('portal');
4
- const definitions = new Set(), instances = new Map(), widgetStates = new Map(), functions = new Map(), globalWidgets = new Map();
5
- let portals = [], effects = [];
6
- let epoch = 0;
7
- export function createComponent(spec) { const component = { ...spec, kind: 'component' }; definitions.add(component); return component; }
8
- export function defineComponent(spec) { return { ...spec, kind: 'component' }; }
9
- export const defineWidget = (name, render) => { const result = { name, kind: 'widget', render }; globalWidgets.set(name, result); return result; };
10
- export const afterRender = callback => effects.push(callback);
11
- export function h(type, props, children) {
12
- if (arguments.length === 2 && (typeof props === 'string' || Array.isArray(props) || typeof props === 'function')) { children = props; props = {}; }
13
- return { type, props: props || {}, children };
14
- }
15
- export function widgetState(key, init = () => ({})) {
16
- if (!widgetStates.has(key)) widgetStates.set(key, init());
17
- return widgetStates.get(key);
18
- }
19
- export async function loadTemplates() {
20
- await Promise.all([...definitions].filter(d => d.template && !d.nodes).map(async component => {
21
- const response = await fetch(component.template);
22
- if (!response.ok) throw Error('HTML template could not be loaded: ' + component.template);
23
- const template = document.createElement('template');
24
- template.innerHTML = await response.text();
25
- component.nodes = [...template.content.childNodes];
26
- }));
27
- }
28
- function scopeFor(raw, props = {}, locals = {}, parent) {
29
- return new Proxy({}, {
30
- has: (_, key) => key in locals || key in raw || key in props || !!(parent && key in parent),
31
- get(_, key) {
32
- if (key === Symbol.unscopables) return undefined;
33
- if (key in locals) return unref(locals[key]);
34
- if (key in raw) return unref(raw[key]);
35
- if (key in props) return unref(raw.props?.[key] ?? props[key]);
36
- return parent?.[key];
37
- },
38
- set(_, key, value) {
39
- const target = key in locals ? locals : key in raw ? raw : key in props ? props : null;
40
- if (target) { if (target[key]?.__ref) target[key].value = value; else target[key] = value; }
41
- else if (parent) parent[key] = value;
42
- else raw[key] = value;
43
- invalidate(); return true;
44
- },
45
- });
46
- }
47
- function evaluate(expression, scope) {
48
- if (!expression) return undefined;
49
- const id = 'value:' + expression;
50
- try {
51
- if (!functions.has(id)) functions.set(id, new Function('scope', 'with(scope){return (' + expression + ')}'));
52
- return functions.get(id)(scope);
53
- } catch(error) { throw new Error(error.message+' [HTML expression: '+expression+']',{cause:error}); }
54
- }
55
- function assign(expression, scope, value) {
56
- const id = 'set:' + expression;
57
- if (!functions.has(id)) functions.set(id, new Function('scope', '__input', 'with(scope){' + expression + ' = __input}'));
58
- functions.get(id)(scope, value); invalidate();
59
- }
60
- function handler(expression, scope, modifiers = []) {
61
- return (...args) => {
62
- const event = args[0];
63
- if (modifiers.includes('esc') && event?.key !== 'Escape') return;
64
- if (modifiers.includes('enter') && event?.key !== 'Enter') return;
65
- if (modifiers.includes('stop')) event?.stopPropagation?.();
66
- if (modifiers.includes('prevent')) event?.preventDefault?.();
67
- const child = scopeFor({}, {}, { $event: event }, scope);
68
- const id = 'event:' + expression;
69
- if (!functions.has(id)) {
70
- let fn;
71
- try { fn = new Function('scope', 'with(scope){return (' + expression + ')}'); }
72
- catch { fn = new Function('scope', 'with(scope){' + expression + '}'); }
73
- functions.set(id, fn);
74
- }
75
- const result = functions.get(id)(child);
76
- if (typeof result === 'function') return result(...args);
77
- return result;
78
- };
79
- }
80
- const camel = name => name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
81
- const eventKey = name => 'on' + name[0].toUpperCase() + camel(name.slice(1));
82
- function attributes(node, scope, raw, isComponent) {
83
- const props = {};
84
- for (const attr of node.attributes) {
85
- const { name, value } = attr;
86
- if (name.startsWith('data-bind-')) {
87
- const attribute = name.slice(10), key = isComponent && !/^(aria|data)-/.test(attribute) ? camel(attribute) : attribute;
88
- const bound = evaluate(value, scope);
89
- props[key] = key === 'class' && props.class ? [props.class, bound] : key === 'style' && props.style ? [props.style, bound] : bound;
90
- }
91
- else if (name === 'data-bind') Object.assign(props, evaluate(value, scope));
92
- else if (name.startsWith('data-on-')) {
93
- const [event, ...modifiers] = name.slice(8).split('.');
94
- props[eventKey(event)] = handler(value, scope, modifiers);
95
- } else if (name.startsWith('data-model-')) {
96
- const property = camel(name.slice(11)); props[property] = evaluate(value, scope);
97
- props['onUpdate:' + property] = input => assign(value, scope, input);
98
- } else if (name === 'ref') props.ref = raw[value] || scope[value];
99
- else if (!name.startsWith('data-') || !['component', 'if', 'else-if', 'else', 'each', 'slot', 'slot-args', 'show', 'text', 'html'].includes(name.slice(5))) props[isComponent && !/^(aria|data)-/.test(name) ? camel(name) : name] = isComponent && value === '' ? true : value;
100
- }
101
- if (node.hasAttribute('data-show') && !evaluate(node.getAttribute('data-show'), scope)) props.style = { ...(props.style || {}), display: 'none' };
102
- return props;
103
- }
104
- const nodeChildren = node => node.localName === 'template' ? [...node.content.childNodes] : [...node.childNodes];
105
- function renderNodes(nodes, scope, raw, slots, base) {
106
- const out = [];
107
- let branch = null;
108
- for (let i = 0; i < nodes.length; i++) {
109
- const node = nodes[i], id = base + '.' + i;
110
- if (node.nodeType === 8) continue;
111
- if (node.nodeType === 3) {
112
- const text = node.textContent.replace(/\{\{([\s\S]*?)\}\}/g, (_, expression) => {
113
- const value = evaluate(expression.trim(), scope); return value == null ? '' : typeof value === 'object' ? JSON.stringify(value) : String(value);
114
- });
115
- if (text) out.push(text);
116
- continue;
117
- }
118
- if (node.nodeType !== 1) continue;
119
- if (node.hasAttribute('data-if')) { branch = !!evaluate(node.getAttribute('data-if'), scope); if (!branch) continue; }
120
- else if (node.hasAttribute('data-else-if')) { if (branch) continue; branch = !!evaluate(node.getAttribute('data-else-if'), scope); if (!branch) continue; }
121
- else if (node.hasAttribute('data-else')) { if (branch) continue; branch = true; }
122
- else branch = null;
123
- if (node.hasAttribute('data-slot')) continue;
124
- const each = node.getAttribute('data-each');
125
- if (each) {
126
- const match = each.match(/^\s*(?:\((.*?)\)|([^\s]+))\s+(?:in|of)\s+([\s\S]+)$/);
127
- if (!match) throw Error('Invalid HTML iteration ' + each);
128
- const names = (match[1] || match[2]).split(',').map(v => v.trim());
129
- const list = evaluate(match[3], scope) || [];
130
- const entries = typeof list === 'number' ? Array.from({ length: list }, (_, j) => [j, j + 1]) : Array.isArray(list) ? list.map((v, j) => [j, v]) : Object.entries(list);
131
- for (let j = 0; j < entries.length; j++) {
132
- const [key, value] = entries[j], local = { [names[0]]: value, [names[1] || '$index']: key, [names[2] || '$position']: j };
133
- const child = scopeFor({}, {}, local, scope);
134
- out.push(renderElement(node, child, raw, slots, id + '.row:' + (value?.id || key)));
135
- }
136
- } else out.push(renderElement(node, scope, raw, slots, id));
137
- }
138
- return out;
139
- }
140
- function renderElement(node, scope, raw, slots, id) {
141
- const component = node.getAttribute('data-component');
142
- const props = attributes(node, scope, raw, !!component);
143
- props.__nativeKey = id + (props.key == null ? '' : ':' + props.key);
144
- const children = nodeChildren(node);
145
- if (node.localName === 'slot') return slots[node.getAttribute('name') || 'default']?.({}) || renderNodes(children, scope, raw, slots, id);
146
- if (component) {
147
- const named = {};
148
- for (const child of children) if (child.nodeType === 1 && child.hasAttribute('data-slot')) {
149
- const name = child.getAttribute('data-slot');
150
- named[name] = args => renderNodes(nodeChildren(child), scopeFor({}, {}, args || {}, scope), raw, slots, id + '.slot:' + name);
151
- }
152
- named.default = () => renderNodes(children.filter(n => !(n.nodeType === 1 && n.hasAttribute('data-slot'))), scope, raw, slots, id + '.default');
153
- const type = component === '$dynamic' ? props.is : globalWidgets.has(component) && !(component.split('.')[0] in scope) ? globalWidgets.get(component) : evaluate(component, scope);
154
- if (!type) throw Error('HTML component missing: ' + component);
155
- return h(type, props, named);
156
- }
157
- const content = node.hasAttribute('data-text') ? String(evaluate(node.getAttribute('data-text'), scope) ?? '') : renderNodes(children, scope, raw, slots, id);
158
- return node.localName === 'template' ? content : h(node.localName, props, content);
159
- }
160
- function slotObject(children) {
161
- if (children && typeof children === 'object' && !Array.isArray(children) && !children.type && !children.nodeType) return children;
162
- return { default: () => typeof children === 'function' ? children() : children };
163
- }
164
- function event(props, name, ...args) { return props[eventKey(name)]?.(...args); }
165
- function expand(vnode, key = 'root', context = {}) {
166
- if (vnode === undefined || vnode === null || vnode === false || vnode === true) return [];
167
- if (Array.isArray(vnode)) return vnode.flatMap((n, i) => expand(n, key + '.' + i, context));
168
- if (typeof vnode === 'function') return expand(vnode(), key, context);
169
- if (typeof vnode !== 'object' || vnode.nodeType) return vnode;
170
- const { type, props = {}, children } = vnode;
171
- const id = props.__nativeKey || key;
172
- if (type === Portal) { portals.push({ tree: children, id, context }); return []; }
173
- if (type === Fragment) return expand(typeof children === 'function' ? children() : children, id, context);
174
- if (typeof type === 'string') return { type, props: { ...props, 'data-native-id': id }, children: expand(children, id + '.children', props.__formApi ? { ...context, form: props.__formApi } : context) };
175
- if (type?.kind === 'widget') return expand(type.render(context.form?.disabled ? {...props, disabled: true} : props, slotObject(children), { ...context, id, state: init => widgetState(id, init), emit: (name, ...args) => event(props, name, ...args) }), id + '.widget', context);
176
- if (type?.kind === 'component') {
177
- const declaredProps=Object.fromEntries((type.propKeys||[]).map(key=>[key,undefined]));
178
- let fingerprint;
179
- try { fingerprint=JSON.stringify(Object.fromEntries((type.propKeys||[]).map(key=>[key,props[key]]))); } catch { fingerprint=null; }
180
- let instance = instances.get(id);
181
- if (!instance || instance.type !== type) {
182
- if (instance) dispose(instance);
183
- instance = { type, props: { ...declaredProps,...props }, mounted: [], updated: [], disposers: [], fresh: true, epoch, fingerprint };
184
- const emit = (name, ...args) => event(instance.props, name, ...args);
185
- instance.raw = withOwner(instance, () => type.setup?.(instance.props, emit) || {});
186
- instance.scope = scopeFor(instance.raw, instance.props, { $emit: emit });
187
- instances.set(id, instance);
188
- }
189
- instance.epoch = epoch;
190
- for (const name of Object.keys(instance.props)) if (!(name in props) && !(name in declaredProps)) delete instance.props[name];
191
- Object.assign(instance.props,declaredProps, props);
192
- if(instance.fingerprint!==fingerprint){instance.fingerprint=fingerprint;invalidate();}
193
- const slots = slotObject(children);
194
- const tree = type.nodes ? renderNodes(type.nodes, instance.scope, instance.raw, slots, id + '.template') : typeof instance.raw === 'function' ? instance.raw() : type.render?.call(instance.scope);
195
- return expand(tree, id + '.component', context);
196
- }
197
- throw Error('Unrecognized HTML view ' + String(type));
198
- }
199
- function className(value) { return Array.isArray(value) ? value.map(className).filter(Boolean).join(' ') : value && typeof value === 'object' ? Object.keys(value).filter(k => value[k]).join(' ') : value || ''; }
200
- function applyProps(node, before, after) {
201
- for (const key of new Set([...Object.keys(before), ...Object.keys(after)])) {
202
- if (key.startsWith('__') || key === 'key' || key === 'ref') continue;
203
- const value = after[key];
204
- if (key.startsWith('on')) { const event = key.slice(2).toLowerCase(); if (!event.includes(':')) node['on' + event] = value ? input => { const result = value(input); if (result?.catch) result.catch(error => console.error(error)); } : null; continue; }
205
- if (key === 'class' || key === 'className') { node.setAttribute('class', className(value)); continue; }
206
- if (key === 'style') {
207
- node.style.cssText='';
208
- for(const part of Array.isArray(value)?value:[value]){
209
- if(typeof part==='string')node.style.cssText+=';'+part;
210
- else for (const [name, v] of Object.entries(part || {})) if (v != null) node.style.setProperty(name.replace(/[A-Z]/g, l => '-' + l.toLowerCase()), typeof v === 'number' && !name.startsWith('--') && !['opacity', 'zIndex', 'flex', 'flexGrow', 'fontWeight', 'order', 'lineHeight'].includes(name) ? v + 'px' : String(v));
211
- }
212
- continue;
213
- }
214
- if (key === 'value' && ['INPUT', 'TEXTAREA', 'SELECT'].includes(node.tagName)) { const next = value == null ? '' : String(value); if (node.value !== next) node.value = next; continue; }
215
- if (['checked','indeterminate', 'disabled', 'inert', 'multiple', 'readOnly'].includes(key)) { node[key] = !!value; if (value) node.setAttribute(key.toLowerCase(), ''); else node.removeAttribute(key.toLowerCase()); continue; }
216
- if (key.startsWith('aria-') && typeof value === 'boolean') node.setAttribute(key,String(value));
217
- else if (value === undefined || value === null || value === false) node.removeAttribute(key);
218
- else node.setAttribute(key, value === true ? '' : String(value));
219
- }
220
- if (after.ref?.__ref && after.ref.value !== node) after.ref.value = node;
221
- }
222
- function patch(parent, previous, next, svg = false) {
223
- const old = [...parent.childNodes];
224
- const list = (Array.isArray(next) ? next : [next]).flat(Infinity).filter(v => v !== undefined && v !== null && v !== false);
225
- for (let i = 0; i < list.length; i++) {
226
- const value = list[i]; let node = old[i];
227
- if (value?.nodeType) { if (node !== value) parent.insertBefore(value, node || null); continue; }
228
- if (typeof value !== 'object') {
229
- if (!node || node.nodeType !== 3) { const replacement = document.createTextNode(String(value)); if (node) parent.replaceChild(replacement, node); else parent.appendChild(replacement); node = replacement; }
230
- else if (node.textContent !== String(value)) node.textContent = String(value);
231
- continue;
232
- }
233
- const isSvg = svg || value.type === 'svg';
234
- if (!node || node.nodeType !== 1 || node.localName !== value.type || (node._nativeKey && node._nativeKey !== value.props['data-native-id'])) {
235
- const replacement = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', value.type) : document.createElement(value.type);
236
- if (node) parent.replaceChild(replacement, node); else parent.appendChild(replacement);
237
- node = replacement;
238
- }
239
- applyProps(node, node._nativeProps || {}, value.props);
240
- node._nativeProps = value.props; node._nativeKey = value.props['data-native-id'];
241
- patch(node, null, value.children, isSvg && value.type !== 'foreignObject');
242
- }
243
- while (parent.childNodes.length > list.length) parent.lastChild.remove();
244
- }
245
- function dispose(instance) { for (const callback of instance.disposers) callback(); }
246
- export function disposeStalePages(activeKey) {
247
- const stale=key=>key.startsWith('page:')&&key!==activeKey&&!key.startsWith(activeKey+'.');
248
- for(const [id,instance] of instances)if(stale(id)){dispose(instance);instances.delete(id);}
249
- for(const [id] of widgetStates)if(stale(id))widgetStates.delete(id);
250
- }
251
- export function render(vnode, root) {
252
- epoch++;
253
- portals = []; effects = [];
254
- const tree = expand(vnode);
255
- const overlayTrees = [];
256
- for (let i = 0; i < portals.length; i++) overlayTrees.push(expand(portals[i].tree, portals[i].id + '.portal', portals[i].context));
257
- patch(root, null, [tree, ...overlayTrees]);
258
- for (const [id, instance] of instances) {
259
- if (instance.epoch !== epoch) { dispose(instance); instances.delete(id); continue; }
260
- if (instance.fresh) { instance.fresh = false; for (const callback of instance.mounted) callback(); }
261
- else for (const callback of instance.updated) callback();
262
- }
263
- for (const effect of effects) effect();
264
- }
@@ -1,47 +0,0 @@
1
- import { h, defineWidget, afterRender } from './dom.js';
2
- import { ref, reactive, unref, invalidate } from './state.js';
3
- import { Input, TextArea, Select, InputNumber, Checkbox, Switch, attrs, uid } from './controls.js';
4
-
5
- const get=(data,path)=>String(path).split('.').reduce((v,k)=>v?.[k],data);
6
- const set=(data,path,value)=>{const parts=String(path).split('.');let target=data;for(const key of parts.slice(0,-1))target=target[key]??=( {} );target[parts.at(-1)]=value;};
7
- export async function validateValue(value,rules){
8
- for(const rule of unref(rules)||[]){
9
- const missing=value===undefined||value===null||value===''||Array.isArray(value)&&!value.length;
10
- if(rule.required&&missing||rule.whitespace&&typeof value==='string'&&!value.trim())return rule.message||'请填写此字段';
11
- if(missing&&!rule.required)continue;
12
- if(rule.type==='number'&&(typeof value!=='number'||!Number.isFinite(value)))return rule.message||'请输入有效数字';
13
- if(rule.type==='array'&&!Array.isArray(value))return rule.message||'请选择有效内容';
14
- if(rule.type==='url'){try{const u=new URL(value);if(!['http:','https:'].includes(u.protocol))throw Error();}catch{return rule.message||'请输入有效地址';}}
15
- const length=typeof value==='number'?value:value?.length;
16
- if(rule.min!==undefined&&length<rule.min||rule.max!==undefined&&length>rule.max)return rule.message||'输入超出范围';
17
- if(rule.pattern&&!rule.pattern.test(String(value)))return rule.message||'输入格式不正确';
18
- if(rule.validator){try{await rule.validator(rule,value);}catch(error){return error.message||rule.message||'校验未通过';}}
19
- }
20
- return '';
21
- }
22
- export function useForm(initial={},fields=[]){
23
- const formData=reactive({...initial}),errors=reactive({}),api={formData,fields:ref(fields),errors,formRef:ref(null),setFormData:partial=>Object.assign(formData,partial)};
24
- const validate=async()=>{let failed=false;for(const field of api.fields.value){if(unref(field.hidden))continue;const error=await validateValue(get(formData,field.path),field.rules);errors[field.path]=error;if(error)failed=true;}invalidate();if(failed){if(typeof document!=='undefined')queueMicrotask(()=>document.getElementById(api.name)?.querySelector('[aria-invalid="true"]')?.focus());throw Error('表单校验未通过');}return formData;};
25
- api.formRef.value={validate,validateFields:validate,clearValidate:()=>{for(const k of Object.keys(errors))delete errors[k];},resetFields:()=>Object.assign(formData,initial)};
26
- return api;
27
- }
28
- export const Form=defineWidget('Form',(p,s)=>h('form',{...attrs(p),class:['ant-form','ant-form-'+(p.layout||'horizontal'),'ant-form-css-var',p.class],style:p.style,__formApi:{...p.__formApi,disabled:p.disabled,layout:p.layout||'horizontal'},onSubmit:e=>{e.preventDefault();p.onFinish?.();},onKeydown:p.onKeydown},s.default?.()));
29
- export const FormItem=defineWidget('FormItem',(p,s,ctx)=>{
30
- const vertical=(p.layout||ctx.form?.layout)==='vertical',id=p.htmlFor||p.id;
31
- return h('div',{class:['ant-form-item ant-form-css-var',vertical?'ant-form-item-vertical':'ant-form-item-horizontal',p.error&&'ant-form-item-has-error',p.class],style:p.style},h('div',{class:'ant-row ant-form-item-row'},[
32
- p.label&&h('div',{class:'ant-col ant-form-item-label',style:p.labelCol?.style},h('label',{for:id,title:p.label,class:['ant-form-item-no-colon',p.required&&'ant-form-item-required']},p.label)),
33
- h('div',{class:'ant-col ant-form-item-control',style:p.wrapperCol?.flex?{flex:p.wrapperCol.flex}:undefined},[h('div',{class:'ant-form-item-control-input'},h('div',{class:'ant-form-item-control-input-content'},s.default?.())),h('div',{class:'ant-form-item-additional'},[p.error&&h('div',{class:'ant-form-item-explain ant-form-item-explain-error',role:'alert'},p.error),p.extra&&h('div',{class:'ant-form-item-extra'},p.extra)])]),
34
- ]));
35
- });
36
- const controls={'input':Input,'textarea':TextArea,'select':Select,'input-number':InputNumber,'checkbox':Checkbox,'switch':Switch};
37
- export const ProForm=defineWidget('ProForm',(p,s,ctx)=>{
38
- const form=p.form;form.name=p.name||uid(ctx.id);const fields=form.fields.value.filter(f=>!unref(f.hidden)),gutter=p.grid?.gutter??24;
39
- const renderField=field=>{
40
- const {path,label,rules,hidden,component,span,xs,sm,md,lg,extra,...options}=field,id=form.name+'_'+path;
41
- const props={...Object.fromEntries(Object.entries(options).map(([k,v])=>[k,unref(v)])),id,style:{width:'100%',...options.style},value:get(form.formData,path),disabled:p.disabled||unref(field.disabled),allowClear:field.allowClear!==false,'aria-invalid':!!form.errors[path],'aria-required':(unref(rules)||[]).some(r=>r.required),'aria-label':label,'onUpdate:value':v=>{set(form.formData,path,v);if(form.errors[path])form.errors[path]='';},onBlur:async()=>{const value=get(form.formData,path),error=await validateValue(value,rules);if(Object.is(value,get(form.formData,path)))form.errors[path]=error;}};
42
- const control=controls[component||'input'];if(!control)throw Error('Unknown native form component: '+component);
43
- const content=h(FormItem,{label,htmlFor:id,required:(unref(rules)||[]).some(r=>r.required),error:form.errors[path],extra,labelCol:p.labelCol,wrapperCol:p.wrapperCol,layout:p.layout},()=>h(control,props));
44
- return p.grid?h('div',{class:['ant-col','ant-col-'+(span||24),xs&&'ant-col-xs-'+xs,sm&&'ant-col-sm-'+sm,md&&'ant-col-md-'+md,lg&&'ant-col-lg-'+lg],style:{paddingLeft:gutter/2,paddingRight:gutter/2}},content):content;
45
- };
46
- return h(Form,{...p,id:form.name,name:form.name,class:['pro-form',p.class],__formApi:form},()=>[p.grid?h('div',{class:'ant-row',style:{marginLeft:-gutter/2,marginRight:-gutter/2}},fields.map(renderField)):fields.map(renderField),s.default?.()]);
47
- });
@@ -1,41 +0,0 @@
1
- import { h, defineWidget } from './dom.js';
2
- const svg = node => h(node.tag, node.attrs || {}, (node.children || []).map(svg));
3
- const icon = (name, data) => defineWidget(name, props => h('span', { class: ['anticon', 'anticon-' + data.name, props.class], role: 'img', 'aria-label': data.name, style: props.style }, svg({ ...data.icon, attrs: { ...data.icon.attrs, width: '1em', height: '1em', fill: 'currentColor', 'aria-hidden': 'true' } })));
4
- export const DownOutlined = icon('DownOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},"name":"down","theme":"outlined"});
5
- export const UpOutlined = icon('UpOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},"name":"up","theme":"outlined"});
6
- export const LeftOutlined = icon('LeftOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},"name":"left","theme":"outlined"});
7
- export const RightOutlined = icon('RightOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"}}]},"name":"right","theme":"outlined"});
8
- export const CloseOutlined = icon('CloseOutlined', {"icon":{"tag":"svg","attrs":{"fill-rule":"evenodd","viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},"name":"close","theme":"outlined"});
9
- export const CloseCircleOutlined = icon('CloseCircleOutlined', {"icon":{"tag":"svg","attrs":{"fill-rule":"evenodd","viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z"}}]},"name":"close-circle","theme":"outlined"});
10
- export const SearchOutlined = icon('SearchOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},"name":"search","theme":"outlined"});
11
- export const LoadingOutlined = icon('LoadingOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"0 0 1024 1024","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},"name":"loading","theme":"outlined"});
12
- export const CheckOutlined = icon('CheckOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},"name":"check","theme":"outlined"});
13
- export const CheckCircleOutlined = icon('CheckCircleOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z"}},{"tag":"path","attrs":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}}]},"name":"check-circle","theme":"outlined"});
14
- export const InfoCircleOutlined = icon('InfoCircleOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{"tag":"path","attrs":{"d":"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z"}}]},"name":"info-circle","theme":"outlined"});
15
- export const ExclamationCircleOutlined = icon('ExclamationCircleOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{"tag":"path","attrs":{"d":"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z"}}]},"name":"exclamation-circle","theme":"outlined"});
16
- export const CheckCircleFilled = icon('CheckCircleFilled', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},"name":"check-circle","theme":"filled"});
17
- export const InfoCircleFilled = icon('InfoCircleFilled', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},"name":"info-circle","theme":"filled"});
18
- export const CloseCircleFilled = icon('CloseCircleFilled', {"icon":{"tag":"svg","attrs":{"fill-rule":"evenodd","viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},"name":"close-circle","theme":"filled"});
19
- export const ExclamationCircleFilled = icon('ExclamationCircleFilled', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},"name":"exclamation-circle","theme":"filled"});
20
- export const EditOutlined = icon('EditOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z"}}]},"name":"edit","theme":"outlined"});
21
- export const HistoryOutlined = icon('HistoryOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 003 14.1zm167.7 301.1l-56.7-19.5a8 8 0 00-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 01-112.5 75.9 352.18 352.18 0 01-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 01-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 01171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 01112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 01775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z"}}]},"name":"history","theme":"outlined"});
22
- export const PlusOutlined = icon('PlusOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{"tag":"path","attrs":{"d":"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z"}}]},"name":"plus","theme":"outlined"});
23
- export const ReloadOutlined = icon('ReloadOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 00-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 01655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 01279 755.2a342.16 342.16 0 01-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 01109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 003 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z"}}]},"name":"reload","theme":"outlined"});
24
- export const CommentOutlined = icon('CommentOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M573 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40zm-280 0c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z"}},{"tag":"path","attrs":{"d":"M894 345a343.92 343.92 0 00-189-130v.1c-17.1-19-36.4-36.5-58-52.1-163.7-119-393.5-82.7-513 81-96.3 133-92.2 311.9 6 439l.8 132.6c0 3.2.5 6.4 1.5 9.4a31.95 31.95 0 0040.1 20.9L309 806c33.5 11.9 68.1 18.7 102.5 20.6l-.5.4c89.1 64.9 205.9 84.4 313 49l127.1 41.4c3.2 1 6.5 1.6 9.9 1.6 17.7 0 32-14.3 32-32V753c88.1-119.6 90.4-284.9 1-408zM323 735l-12-5-99 31-1-104-8-9c-84.6-103.2-90.2-251.9-11-361 96.4-132.2 281.2-161.4 413-66 132.2 96.1 161.5 280.6 66 412-80.1 109.9-223.5 150.5-348 102zm505-17l-8 10 1 104-98-33-12 5c-56 20.8-115.7 22.5-171 7l-.2-.1A367.31 367.31 0 00729 676c76.4-105.3 88.8-237.6 44.4-350.4l.6.4c23 16.5 44.1 37.1 62 62 72.6 99.6 68.5 235.2-8 330z"}},{"tag":"path","attrs":{"d":"M433 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z"}}]},"name":"comment","theme":"outlined"});
25
- export const SettingOutlined = icon('SettingOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},"name":"setting","theme":"outlined"});
26
- export const ArrowUpOutlined = icon('ArrowUpOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z"}}]},"name":"arrow-up","theme":"outlined"});
27
- export const ArrowDownOutlined = icon('ArrowDownOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0048.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z"}}]},"name":"arrow-down","theme":"outlined"});
28
- export const DeleteOutlined = icon('DeleteOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},"name":"delete","theme":"outlined"});
29
- export const MenuFoldOutlined = icon('MenuFoldOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 000 13.8z"}}]},"name":"menu-fold","theme":"outlined"});
30
- export const MenuUnfoldOutlined = icon('MenuUnfoldOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 000-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0014.4 7z"}}]},"name":"menu-unfold","theme":"outlined"});
31
- export const HomeOutlined = icon('HomeOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 00-44.4 0L77.5 505a63.9 63.9 0 00-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0018.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z"}}]},"name":"home","theme":"outlined"});
32
- export const ProjectOutlined = icon('ProjectOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},"name":"project","theme":"outlined"});
33
- export const AppstoreOutlined = icon('AppstoreOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z"}}]},"name":"appstore","theme":"outlined"});
34
- export const SafetyCertificateOutlined = icon('SafetyCertificateOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z"}}]},"name":"safety-certificate","theme":"outlined"});
35
- export const RocketOutlined = icon('RocketOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z"}}]},"name":"rocket","theme":"outlined"});
36
- export const FundProjectionScreenOutlined = icon('FundProjectionScreenOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M312.1 591.5c3.1 3.1 8.2 3.1 11.3 0l101.8-101.8 86.1 86.2c3.1 3.1 8.2 3.1 11.3 0l226.3-226.5c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 00-11.3 0L517 485.3l-86.1-86.2a8.03 8.03 0 00-11.3 0L275.3 543.4a8.03 8.03 0 000 11.3l36.8 36.8z"}},{"tag":"path","attrs":{"d":"M904 160H548V96c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H120c-17.7 0-32 14.3-32 32v520c0 17.7 14.3 32 32 32h356.4v32L311.6 884.1a7.92 7.92 0 00-2.3 11l30.3 47.2v.1c2.4 3.7 7.4 4.7 11.1 2.3L512 838.9l161.3 105.8c3.7 2.4 8.7 1.4 11.1-2.3v-.1l30.3-47.2a8 8 0 00-2.3-11L548 776.3V744h356c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 512H160V232h704v440z"}}]},"name":"fund-projection-screen","theme":"outlined"});
37
- export const AuditOutlined = icon('AuditOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M296 250c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 144H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 458H208V148h560v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm440-88H728v-36.6c46.3-13.8 80-56.6 80-107.4 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 50.7 33.7 93.6 80 107.4V764H520c-8.8 0-16 7.2-16 16v152c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16V780c0-8.8-7.2-16-16-16zM646 620c0-27.6 22.4-50 50-50s50 22.4 50 50-22.4 50-50 50-50-22.4-50-50zm180 266H566v-60h260v60z"}}]},"name":"audit","theme":"outlined"});
38
- export const TeamOutlined = icon('TeamOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z"}}]},"name":"team","theme":"outlined"});
39
- export const ArrowRightOutlined = icon('ArrowRightOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"}}]},"name":"arrow-right","theme":"outlined"});
40
- export const CheckSquareOutlined = icon('CheckSquareOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M433.1 657.7a31.8 31.8 0 0051.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z"}},{"tag":"path","attrs":{"d":"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},"name":"check-square","theme":"outlined"});
41
- export const NotificationOutlined = icon('NotificationOutlined', {"icon":{"tag":"svg","attrs":{"viewBox":"64 64 896 896","focusable":"false"},"children":[{"tag":"path","attrs":{"d":"M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z"}}]},"name":"notification","theme":"outlined"});