@nac3/forge-cli 1.0.51 → 1.0.53

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 (292) hide show
  1. package/README.md +466 -390
  2. package/dist/chat/panel.d.ts.map +1 -1
  3. package/dist/chat/panel.js +315 -94
  4. package/dist/chat/panel.js.map +1 -1
  5. package/dist/chat/server.d.ts.map +1 -1
  6. package/dist/chat/server.js +77 -5
  7. package/dist/chat/server.js.map +1 -1
  8. package/dist/commands/chat.d.ts +4 -4
  9. package/dist/commands/chat.js +1 -1
  10. package/dist/commands/chat.js.map +1 -1
  11. package/dist/commands/pilot.d.ts.map +1 -1
  12. package/dist/commands/pilot.js +3 -1
  13. package/dist/commands/pilot.js.map +1 -1
  14. package/dist/core/file_tree.d.ts +27 -0
  15. package/dist/core/file_tree.d.ts.map +1 -0
  16. package/dist/core/file_tree.js +87 -0
  17. package/dist/core/file_tree.js.map +1 -0
  18. package/dist/version.d.ts +1 -1
  19. package/dist/version.js +1 -1
  20. package/package.json +113 -111
  21. package/src/i18n/catalogs/ar.json +13 -3
  22. package/src/i18n/catalogs/de.json +13 -3
  23. package/src/i18n/catalogs/en.json +13 -3
  24. package/src/i18n/catalogs/es.json +13 -3
  25. package/src/i18n/catalogs/fr.json +13 -3
  26. package/src/i18n/catalogs/hi.json +13 -3
  27. package/src/i18n/catalogs/it.json +13 -3
  28. package/src/i18n/catalogs/ja.json +13 -3
  29. package/src/i18n/catalogs/pt.json +13 -3
  30. package/src/i18n/catalogs/zh.json +13 -3
  31. package/yujin-design-system/_preview.mjs +77 -0
  32. package/yujin-design-system/components/_index.json +156 -0
  33. package/yujin-design-system/components/accordion.yujin.json +24 -0
  34. package/yujin-design-system/components/alert.yujin.json +30 -0
  35. package/yujin-design-system/components/avatar.yujin.json +23 -0
  36. package/yujin-design-system/components/badge.yujin.json +30 -0
  37. package/yujin-design-system/components/breadcrumb.yujin.json +22 -0
  38. package/yujin-design-system/components/button.yujin.json +35 -0
  39. package/yujin-design-system/components/card.yujin.json +33 -0
  40. package/yujin-design-system/components/checkbox.yujin.json +25 -0
  41. package/yujin-design-system/components/datepicker.yujin.json +26 -0
  42. package/yujin-design-system/components/dropdown.yujin.json +26 -0
  43. package/yujin-design-system/components/file-upload.yujin.json +25 -0
  44. package/yujin-design-system/components/form-field.yujin.json +29 -0
  45. package/yujin-design-system/components/input.yujin.json +32 -0
  46. package/yujin-design-system/components/kanban-card.yujin.json +32 -0
  47. package/yujin-design-system/components/modal.yujin.json +28 -0
  48. package/yujin-design-system/components/pagination.yujin.json +24 -0
  49. package/yujin-design-system/components/progress.yujin.json +23 -0
  50. package/yujin-design-system/components/radio.yujin.json +24 -0
  51. package/yujin-design-system/components/search-bar.yujin.json +26 -0
  52. package/yujin-design-system/components/select.yujin.json +25 -0
  53. package/yujin-design-system/components/sidebar.yujin.json +28 -0
  54. package/yujin-design-system/components/skeleton.yujin.json +23 -0
  55. package/yujin-design-system/components/slider.yujin.json +22 -0
  56. package/yujin-design-system/components/switch.yujin.json +23 -0
  57. package/yujin-design-system/components/table.yujin.json +28 -0
  58. package/yujin-design-system/components/tabs.yujin.json +28 -0
  59. package/yujin-design-system/components/toast.yujin.json +28 -0
  60. package/yujin-design-system/components/tooltip.yujin.json +27 -0
  61. package/yujin-design-system/components/topbar.yujin.json +23 -0
  62. package/yujin-design-system/components/view.yujin.json +24 -0
  63. package/yujin-design-system/fonts/README.md +31 -0
  64. package/yujin-design-system/icons/sumie/abacus-soroban.svg +1 -0
  65. package/yujin-design-system/icons/sumie/antenna-signal.svg +1 -0
  66. package/yujin-design-system/icons/sumie/anvil-block.svg +1 -0
  67. package/yujin-design-system/icons/sumie/arrow-down-trend.svg +1 -0
  68. package/yujin-design-system/icons/sumie/arrow-up-trend.svg +1 -0
  69. package/yujin-design-system/icons/sumie/aurora-band.svg +1 -0
  70. package/yujin-design-system/icons/sumie/badge-id.svg +1 -0
  71. package/yujin-design-system/icons/sumie/badge-medal.svg +1 -0
  72. package/yujin-design-system/icons/sumie/bamboo-stalk.svg +1 -0
  73. package/yujin-design-system/icons/sumie/bandage-cross.svg +1 -0
  74. package/yujin-design-system/icons/sumie/barcode-strip.svg +1 -0
  75. package/yujin-design-system/icons/sumie/barrel-cask.svg +1 -0
  76. package/yujin-design-system/icons/sumie/bell-temple.svg +1 -0
  77. package/yujin-design-system/icons/sumie/bird-perched.svg +1 -0
  78. package/yujin-design-system/icons/sumie/boat-junk.svg +1 -0
  79. package/yujin-design-system/icons/sumie/boat-sail.svg +1 -0
  80. package/yujin-design-system/icons/sumie/book-bound.svg +1 -0
  81. package/yujin-design-system/icons/sumie/bow-arrow.svg +1 -0
  82. package/yujin-design-system/icons/sumie/box-crate.svg +1 -0
  83. package/yujin-design-system/icons/sumie/box-stacked.svg +1 -0
  84. package/yujin-design-system/icons/sumie/brain-cells.svg +1 -0
  85. package/yujin-design-system/icons/sumie/branch-sakura.svg +1 -0
  86. package/yujin-design-system/icons/sumie/bridge-arched.svg +1 -0
  87. package/yujin-design-system/icons/sumie/briefcase.svg +1 -0
  88. package/yujin-design-system/icons/sumie/brush-ink.svg +1 -0
  89. package/yujin-design-system/icons/sumie/brush-tip.svg +1 -0
  90. package/yujin-design-system/icons/sumie/butterfly-wing.svg +1 -0
  91. package/yujin-design-system/icons/sumie/calendar-grid.svg +1 -0
  92. package/yujin-design-system/icons/sumie/caliper-precision.svg +1 -0
  93. package/yujin-design-system/icons/sumie/cart-basket.svg +1 -0
  94. package/yujin-design-system/icons/sumie/castle-walls.svg +1 -0
  95. package/yujin-design-system/icons/sumie/cat-whisker.svg +1 -0
  96. package/yujin-design-system/icons/sumie/check-mark.svg +1 -0
  97. package/yujin-design-system/icons/sumie/check-shield.svg +1 -0
  98. package/yujin-design-system/icons/sumie/chopsticks.svg +1 -0
  99. package/yujin-design-system/icons/sumie/circuit-node.svg +1 -0
  100. package/yujin-design-system/icons/sumie/clipboard-list.svg +1 -0
  101. package/yujin-design-system/icons/sumie/cloud-curl.svg +1 -0
  102. package/yujin-design-system/icons/sumie/cloud-platform.svg +1 -0
  103. package/yujin-design-system/icons/sumie/coin-mon.svg +1 -0
  104. package/yujin-design-system/icons/sumie/coin-stack.svg +1 -0
  105. package/yujin-design-system/icons/sumie/comb-wooden.svg +1 -0
  106. package/yujin-design-system/icons/sumie/comet-trail.svg +1 -0
  107. package/yujin-design-system/icons/sumie/compass-marine.svg +1 -0
  108. package/yujin-design-system/icons/sumie/conveyor-belt.svg +1 -0
  109. package/yujin-design-system/icons/sumie/crane-flying.svg +1 -0
  110. package/yujin-design-system/icons/sumie/cross-mark.svg +1 -0
  111. package/yujin-design-system/icons/sumie/database-disk.svg +1 -0
  112. package/yujin-design-system/icons/sumie/deer-antler.svg +1 -0
  113. package/yujin-design-system/icons/sumie/document-page.svg +1 -0
  114. package/yujin-design-system/icons/sumie/dragon-curl.svg +1 -0
  115. package/yujin-design-system/icons/sumie/eclipse-ring.svg +1 -0
  116. package/yujin-design-system/icons/sumie/envelope-letter.svg +1 -0
  117. package/yujin-design-system/icons/sumie/eye-vision.svg +1 -0
  118. package/yujin-design-system/icons/sumie/fan-folded.svg +1 -0
  119. package/yujin-design-system/icons/sumie/fan-open.svg +1 -0
  120. package/yujin-design-system/icons/sumie/fern-frond.svg +1 -0
  121. package/yujin-design-system/icons/sumie/flag-banner.svg +1 -0
  122. package/yujin-design-system/icons/sumie/flame-forge.svg +1 -0
  123. package/yujin-design-system/icons/sumie/folder-tab.svg +1 -0
  124. package/yujin-design-system/icons/sumie/forklift.svg +1 -0
  125. package/yujin-design-system/icons/sumie/fox-tail.svg +1 -0
  126. package/yujin-design-system/icons/sumie/gear-cog.svg +1 -0
  127. package/yujin-design-system/icons/sumie/gear-double.svg +1 -0
  128. package/yujin-design-system/icons/sumie/gift-wrapped.svg +1 -0
  129. package/yujin-design-system/icons/sumie/globe-grid.svg +1 -0
  130. package/yujin-design-system/icons/sumie/gong-disk.svg +1 -0
  131. package/yujin-design-system/icons/sumie/hammer-craft.svg +1 -0
  132. package/yujin-design-system/icons/sumie/handshake-knot.svg +1 -0
  133. package/yujin-design-system/icons/sumie/heart-affinity.svg +1 -0
  134. package/yujin-design-system/icons/sumie/helmet-care.svg +1 -0
  135. package/yujin-design-system/icons/sumie/horse-gallop.svg +1 -0
  136. package/yujin-design-system/icons/sumie/house-traditional.svg +1 -0
  137. package/yujin-design-system/icons/sumie/incense-stick.svg +1 -0
  138. package/yujin-design-system/icons/sumie/inkstone-suzuri.svg +1 -0
  139. package/yujin-design-system/icons/sumie/invoice-doc.svg +1 -0
  140. package/yujin-design-system/icons/sumie/iris-bloom.svg +1 -0
  141. package/yujin-design-system/icons/sumie/key-skeleton.svg +1 -0
  142. package/yujin-design-system/icons/sumie/kimono-robe.svg +1 -0
  143. package/yujin-design-system/icons/sumie/koi-leaping.svg +1 -0
  144. package/yujin-design-system/icons/sumie/koi-pond.svg +1 -0
  145. package/yujin-design-system/icons/sumie/lantern-stone.svg +1 -0
  146. package/yujin-design-system/icons/sumie/ledger-tally.svg +1 -0
  147. package/yujin-design-system/icons/sumie/lifebuoy-ring.svg +1 -0
  148. package/yujin-design-system/icons/sumie/lock-shut.svg +1 -0
  149. package/yujin-design-system/icons/sumie/lotus-flower.svg +1 -0
  150. package/yujin-design-system/icons/sumie/magnify-glass.svg +1 -0
  151. package/yujin-design-system/icons/sumie/manifest.json +1263 -0
  152. package/yujin-design-system/icons/sumie/maple-leaf.svg +1 -0
  153. package/yujin-design-system/icons/sumie/mask-noh.svg +1 -0
  154. package/yujin-design-system/icons/sumie/megaphone-flare.svg +1 -0
  155. package/yujin-design-system/icons/sumie/mic-voice.svg +1 -0
  156. package/yujin-design-system/icons/sumie/mirror-bronze.svg +1 -0
  157. package/yujin-design-system/icons/sumie/mobile-phone.svg +1 -0
  158. package/yujin-design-system/icons/sumie/moon-full.svg +1 -0
  159. package/yujin-design-system/icons/sumie/moon-half.svg +1 -0
  160. package/yujin-design-system/icons/sumie/mountain-mist.svg +1 -0
  161. package/yujin-design-system/icons/sumie/mountain-twin.svg +1 -0
  162. package/yujin-design-system/icons/sumie/owl-eye.svg +1 -0
  163. package/yujin-design-system/icons/sumie/pagoda-tiers.svg +1 -0
  164. package/yujin-design-system/icons/sumie/pallet-stack.svg +1 -0
  165. package/yujin-design-system/icons/sumie/paper-lantern.svg +1 -0
  166. package/yujin-design-system/icons/sumie/paper-plane.svg +1 -0
  167. package/yujin-design-system/icons/sumie/pay-card.svg +1 -0
  168. package/yujin-design-system/icons/sumie/pdf-stack.svg +1 -0
  169. package/yujin-design-system/icons/sumie/pencil-write.svg +1 -0
  170. package/yujin-design-system/icons/sumie/people-pair.svg +1 -0
  171. package/yujin-design-system/icons/sumie/people-trio.svg +1 -0
  172. package/yujin-design-system/icons/sumie/person-bow.svg +1 -0
  173. package/yujin-design-system/icons/sumie/phoenix-tail.svg +1 -0
  174. package/yujin-design-system/icons/sumie/piggy-bank.svg +1 -0
  175. package/yujin-design-system/icons/sumie/pin-location.svg +1 -0
  176. package/yujin-design-system/icons/sumie/pine-tree.svg +1 -0
  177. package/yujin-design-system/icons/sumie/pipeline-funnel.svg +1 -0
  178. package/yujin-design-system/icons/sumie/plane-flight.svg +1 -0
  179. package/yujin-design-system/icons/sumie/plug-power.svg +1 -0
  180. package/yujin-design-system/icons/sumie/plum-blossom.svg +1 -0
  181. package/yujin-design-system/icons/sumie/qr-grid.svg +1 -0
  182. package/yujin-design-system/icons/sumie/rabbit-hop.svg +1 -0
  183. package/yujin-design-system/icons/sumie/rain-falling.svg +1 -0
  184. package/yujin-design-system/icons/sumie/receipt-strip.svg +1 -0
  185. package/yujin-design-system/icons/sumie/reed-grass.svg +1 -0
  186. package/yujin-design-system/icons/sumie/rice-bowl.svg +1 -0
  187. package/yujin-design-system/icons/sumie/river-bend.svg +1 -0
  188. package/yujin-design-system/icons/sumie/rock-stack.svg +1 -0
  189. package/yujin-design-system/icons/sumie/rope-shimenawa.svg +1 -0
  190. package/yujin-design-system/icons/sumie/safe-vault.svg +1 -0
  191. package/yujin-design-system/icons/sumie/sake-bottle.svg +1 -0
  192. package/yujin-design-system/icons/sumie/sandal-geta.svg +1 -0
  193. package/yujin-design-system/icons/sumie/scales-balance.svg +1 -0
  194. package/yujin-design-system/icons/sumie/scroll-rolled.svg +1 -0
  195. package/yujin-design-system/icons/sumie/seal-stamp.svg +1 -0
  196. package/yujin-design-system/icons/sumie/server-rack.svg +1 -0
  197. package/yujin-design-system/icons/sumie/shield-knight.svg +1 -0
  198. package/yujin-design-system/icons/sumie/shrine-roof.svg +1 -0
  199. package/yujin-design-system/icons/sumie/signature-loop.svg +1 -0
  200. package/yujin-design-system/icons/sumie/snow-flake.svg +1 -0
  201. package/yujin-design-system/icons/sumie/spark-ai.svg +1 -0
  202. package/yujin-design-system/icons/sumie/spark-burst.svg +1 -0
  203. package/yujin-design-system/icons/sumie/speech-cloud.svg +1 -0
  204. package/yujin-design-system/icons/sumie/spider-silk.svg +1 -0
  205. package/yujin-design-system/icons/sumie/star-cluster.svg +1 -0
  206. package/yujin-design-system/icons/sumie/star-five.svg +1 -0
  207. package/yujin-design-system/icons/sumie/star-rating.svg +1 -0
  208. package/yujin-design-system/icons/sumie/sun-rising.svg +1 -0
  209. package/yujin-design-system/icons/sumie/sword-katana.svg +1 -0
  210. package/yujin-design-system/icons/sumie/tablet-flat.svg +1 -0
  211. package/yujin-design-system/icons/sumie/tag-price.svg +1 -0
  212. package/yujin-design-system/icons/sumie/target-bullseye.svg +1 -0
  213. package/yujin-design-system/icons/sumie/tax-stamp.svg +1 -0
  214. package/yujin-design-system/icons/sumie/tea-cup.svg +1 -0
  215. package/yujin-design-system/icons/sumie/tea-house.svg +1 -0
  216. package/yujin-design-system/icons/sumie/tea-pot.svg +1 -0
  217. package/yujin-design-system/icons/sumie/temple-gate.svg +1 -0
  218. package/yujin-design-system/icons/sumie/thermo-bulb.svg +1 -0
  219. package/yujin-design-system/icons/sumie/thread-spool.svg +1 -0
  220. package/yujin-design-system/icons/sumie/tiger-claw.svg +1 -0
  221. package/yujin-design-system/icons/sumie/time-clock.svg +1 -0
  222. package/yujin-design-system/icons/sumie/torii-double.svg +1 -0
  223. package/yujin-design-system/icons/sumie/train-rail.svg +1 -0
  224. package/yujin-design-system/icons/sumie/truck-cargo.svg +1 -0
  225. package/yujin-design-system/icons/sumie/turtle-shell.svg +1 -0
  226. package/yujin-design-system/icons/sumie/umbrella-folded.svg +1 -0
  227. package/yujin-design-system/icons/sumie/umbrella-wagasa.svg +1 -0
  228. package/yujin-design-system/icons/sumie/wallet-pouch.svg +1 -0
  229. package/yujin-design-system/icons/sumie/warehouse-roof.svg +1 -0
  230. package/yujin-design-system/icons/sumie/wave-curl.svg +1 -0
  231. package/yujin-design-system/icons/sumie/wave-great.svg +1 -0
  232. package/yujin-design-system/icons/sumie/willow-leaf.svg +1 -0
  233. package/yujin-design-system/icons/sumie/wind-gust.svg +1 -0
  234. package/yujin-design-system/icons/sumie/wrench-spanner.svg +1 -0
  235. package/yujin-design-system/manifest.json +69 -0
  236. package/yujin-design-system/preview.html +32 -0
  237. package/yujin-design-system/tokens/yujin-tokens.css +2386 -0
  238. package/yujin-design-system/tokens/yujin-tokens.json +1170 -0
  239. package/yujin-design-system-artdeco/icons/_generate.mjs +142 -0
  240. package/yujin-design-system-artdeco/icons/artdeco/add.svg +1 -0
  241. package/yujin-design-system-artdeco/icons/artdeco/arrow-right.svg +1 -0
  242. package/yujin-design-system-artdeco/icons/artdeco/bell.svg +1 -0
  243. package/yujin-design-system-artdeco/icons/artdeco/briefcase.svg +1 -0
  244. package/yujin-design-system-artdeco/icons/artdeco/building.svg +1 -0
  245. package/yujin-design-system-artdeco/icons/artdeco/calendar.svg +1 -0
  246. package/yujin-design-system-artdeco/icons/artdeco/chart-bar.svg +1 -0
  247. package/yujin-design-system-artdeco/icons/artdeco/chart-line.svg +1 -0
  248. package/yujin-design-system-artdeco/icons/artdeco/chat.svg +1 -0
  249. package/yujin-design-system-artdeco/icons/artdeco/check.svg +1 -0
  250. package/yujin-design-system-artdeco/icons/artdeco/chevron-right.svg +1 -0
  251. package/yujin-design-system-artdeco/icons/artdeco/clipboard.svg +1 -0
  252. package/yujin-design-system-artdeco/icons/artdeco/clock.svg +1 -0
  253. package/yujin-design-system-artdeco/icons/artdeco/close.svg +1 -0
  254. package/yujin-design-system-artdeco/icons/artdeco/coin.svg +1 -0
  255. package/yujin-design-system-artdeco/icons/artdeco/dashboard.svg +1 -0
  256. package/yujin-design-system-artdeco/icons/artdeco/database.svg +1 -0
  257. package/yujin-design-system-artdeco/icons/artdeco/delete.svg +1 -0
  258. package/yujin-design-system-artdeco/icons/artdeco/document.svg +1 -0
  259. package/yujin-design-system-artdeco/icons/artdeco/download.svg +1 -0
  260. package/yujin-design-system-artdeco/icons/artdeco/edit.svg +1 -0
  261. package/yujin-design-system-artdeco/icons/artdeco/expand.svg +1 -0
  262. package/yujin-design-system-artdeco/icons/artdeco/filter.svg +1 -0
  263. package/yujin-design-system-artdeco/icons/artdeco/folder.svg +1 -0
  264. package/yujin-design-system-artdeco/icons/artdeco/globe.svg +1 -0
  265. package/yujin-design-system-artdeco/icons/artdeco/handshake.svg +1 -0
  266. package/yujin-design-system-artdeco/icons/artdeco/heart.svg +1 -0
  267. package/yujin-design-system-artdeco/icons/artdeco/home.svg +1 -0
  268. package/yujin-design-system-artdeco/icons/artdeco/info.svg +1 -0
  269. package/yujin-design-system-artdeco/icons/artdeco/invoice.svg +1 -0
  270. package/yujin-design-system-artdeco/icons/artdeco/list.svg +1 -0
  271. package/yujin-design-system-artdeco/icons/artdeco/lock.svg +1 -0
  272. package/yujin-design-system-artdeco/icons/artdeco/mail.svg +1 -0
  273. package/yujin-design-system-artdeco/icons/artdeco/manifest.json +365 -0
  274. package/yujin-design-system-artdeco/icons/artdeco/menu.svg +1 -0
  275. package/yujin-design-system-artdeco/icons/artdeco/phone.svg +1 -0
  276. package/yujin-design-system-artdeco/icons/artdeco/search.svg +1 -0
  277. package/yujin-design-system-artdeco/icons/artdeco/send.svg +1 -0
  278. package/yujin-design-system-artdeco/icons/artdeco/settings.svg +1 -0
  279. package/yujin-design-system-artdeco/icons/artdeco/share.svg +1 -0
  280. package/yujin-design-system-artdeco/icons/artdeco/shield.svg +1 -0
  281. package/yujin-design-system-artdeco/icons/artdeco/star.svg +1 -0
  282. package/yujin-design-system-artdeco/icons/artdeco/sun.svg +1 -0
  283. package/yujin-design-system-artdeco/icons/artdeco/table.svg +1 -0
  284. package/yujin-design-system-artdeco/icons/artdeco/tag.svg +1 -0
  285. package/yujin-design-system-artdeco/icons/artdeco/target.svg +1 -0
  286. package/yujin-design-system-artdeco/icons/artdeco/user.svg +1 -0
  287. package/yujin-design-system-artdeco/icons/artdeco/users.svg +1 -0
  288. package/yujin-design-system-artdeco/icons/artdeco/warning.svg +1 -0
  289. package/yujin-design-system-artdeco/manifest.json +44 -0
  290. package/yujin-design-system-artdeco/preview.html +25 -0
  291. package/yujin-design-system-artdeco/tokens/artdeco-tokens.css +145 -0
  292. package/yujin-design-system-artdeco/tokens/artdeco-tokens.json +40 -0
@@ -181,7 +181,6 @@
181
181
  "pizarron.graph.detail.empty": "Aucun detail pour ce noeud.",
182
182
  "pizarron.graph.detail.weight": "poids",
183
183
  "startup.tab.graph": "Graphe visuel",
184
- "startup.tab.graphFunc": "Graphe fonctionnel",
185
184
  "startup.tab.graphSem": "Graphe semantique",
186
185
  "startup.tab.pendings": "En attente",
187
186
  "startup.tab.workflow": "Workflow",
@@ -220,5 +219,16 @@
220
219
  "panel.project.title": "Projets",
221
220
  "panel.project.add": "Ajouter un projet...",
222
221
  "panel.project.addPrompt": "Chemin absolu du projet a ajouter :",
223
- "panel.project.switching": "Changement de projet..."
224
- }
222
+ "panel.project.switching": "Changement de projet...",
223
+ "startup.tab.files": "Fichiers",
224
+ "panel.project.remove": "Retirer de la liste",
225
+ "panel.project.removeConfirm": "Retirer ce projet de la liste ? (ne supprime pas les fichiers sur le disque)",
226
+ "panel.project.removed": "Projet retiré de la liste",
227
+ "panel.files.refresh": "Actualiser",
228
+ "panel.files.loading": "Chargement...",
229
+ "panel.files.error": "Impossible de lire les fichiers.",
230
+ "panel.files.empty": "(aucun fichier)",
231
+ "panel.files.truncated": "(liste tronquée)",
232
+ "panel.files.opened": "Ouvert",
233
+ "panel.files.openFailed": "Impossible d'ouvrir le fichier."
234
+ }
@@ -181,7 +181,6 @@
181
181
  "pizarron.graph.detail.empty": "इस नोड का कोई विवरण नहीं।",
182
182
  "pizarron.graph.detail.weight": "भार",
183
183
  "startup.tab.graph": "विज़ुअल ग्राफ़",
184
- "startup.tab.graphFunc": "कार्यात्मक ग्राफ़",
185
184
  "startup.tab.graphSem": "सिमेंटिक ग्राफ़",
186
185
  "startup.tab.pendings": "लंबित",
187
186
  "startup.tab.workflow": "वर्कफ़्लो",
@@ -220,5 +219,16 @@
220
219
  "panel.project.title": "प्रोजेक्ट",
221
220
  "panel.project.add": "प्रोजेक्ट जोड़ें...",
222
221
  "panel.project.addPrompt": "जोड़ने के लिए प्रोजेक्ट का पूर्ण पथ:",
223
- "panel.project.switching": "प्रोजेक्ट बदला जा रहा है..."
224
- }
222
+ "panel.project.switching": "प्रोजेक्ट बदला जा रहा है...",
223
+ "startup.tab.files": "फ़ाइलें",
224
+ "panel.project.remove": "सूची से हटाएँ",
225
+ "panel.project.removeConfirm": "इस प्रोजेक्ट को सूची से हटाएँ? (डिस्क की फ़ाइलें नहीं मिटतीं)",
226
+ "panel.project.removed": "प्रोजेक्ट सूची से हटाया गया",
227
+ "panel.files.refresh": "रिफ़्रेश",
228
+ "panel.files.loading": "लोड हो रहा है...",
229
+ "panel.files.error": "फ़ाइलें नहीं पढ़ सके।",
230
+ "panel.files.empty": "(कोई फ़ाइल नहीं)",
231
+ "panel.files.truncated": "(सूची संक्षिप्त)",
232
+ "panel.files.opened": "खोला गया",
233
+ "panel.files.openFailed": "फ़ाइल नहीं खोल सके।"
234
+ }
@@ -181,7 +181,6 @@
181
181
  "pizarron.graph.detail.empty": "Nessun dettaglio per questo nodo.",
182
182
  "pizarron.graph.detail.weight": "peso",
183
183
  "startup.tab.graph": "Grafo visuale",
184
- "startup.tab.graphFunc": "Grafo funzionale",
185
184
  "startup.tab.graphSem": "Grafo semantico",
186
185
  "startup.tab.pendings": "In sospeso",
187
186
  "startup.tab.workflow": "Workflow",
@@ -220,5 +219,16 @@
220
219
  "panel.project.title": "Progetti",
221
220
  "panel.project.add": "Aggiungi progetto...",
222
221
  "panel.project.addPrompt": "Percorso assoluto del progetto da aggiungere:",
223
- "panel.project.switching": "Cambio progetto..."
224
- }
222
+ "panel.project.switching": "Cambio progetto...",
223
+ "startup.tab.files": "File",
224
+ "panel.project.remove": "Rimuovi dall'elenco",
225
+ "panel.project.removeConfirm": "Rimuovere questo progetto dall'elenco? (non elimina i file su disco)",
226
+ "panel.project.removed": "Progetto rimosso dall'elenco",
227
+ "panel.files.refresh": "Aggiorna",
228
+ "panel.files.loading": "Caricamento...",
229
+ "panel.files.error": "Impossibile leggere i file.",
230
+ "panel.files.empty": "(nessun file)",
231
+ "panel.files.truncated": "(elenco troncato)",
232
+ "panel.files.opened": "Aperto",
233
+ "panel.files.openFailed": "Impossibile aprire il file."
234
+ }
@@ -181,7 +181,6 @@
181
181
  "pizarron.graph.detail.empty": "このノードの詳細はありません。",
182
182
  "pizarron.graph.detail.weight": "重み",
183
183
  "startup.tab.graph": "グラフ(図)",
184
- "startup.tab.graphFunc": "機能グラフ",
185
184
  "startup.tab.graphSem": "セマンティックグラフ",
186
185
  "startup.tab.pendings": "保留中",
187
186
  "startup.tab.workflow": "Workflow",
@@ -220,5 +219,16 @@
220
219
  "panel.project.title": "プロジェクト",
221
220
  "panel.project.add": "プロジェクトを追加...",
222
221
  "panel.project.addPrompt": "追加するプロジェクトの絶対パス:",
223
- "panel.project.switching": "プロジェクトを切り替え中..."
224
- }
222
+ "panel.project.switching": "プロジェクトを切り替え中...",
223
+ "startup.tab.files": "ファイル",
224
+ "panel.project.remove": "リストから削除",
225
+ "panel.project.removeConfirm": "このプロジェクトをリストから削除しますか?(ディスク上のファイルは削除されません)",
226
+ "panel.project.removed": "プロジェクトをリストから削除しました",
227
+ "panel.files.refresh": "更新",
228
+ "panel.files.loading": "読み込み中...",
229
+ "panel.files.error": "ファイルを読み込めませんでした。",
230
+ "panel.files.empty": "(ファイルなし)",
231
+ "panel.files.truncated": "(リストは省略されています)",
232
+ "panel.files.opened": "開きました",
233
+ "panel.files.openFailed": "ファイルを開けませんでした。"
234
+ }
@@ -181,7 +181,6 @@
181
181
  "pizarron.graph.detail.empty": "Sem detalhe para este no.",
182
182
  "pizarron.graph.detail.weight": "peso",
183
183
  "startup.tab.graph": "Grafo visual",
184
- "startup.tab.graphFunc": "Grafo funcional",
185
184
  "startup.tab.graphSem": "Grafo semantico",
186
185
  "startup.tab.pendings": "Pendencias",
187
186
  "startup.tab.workflow": "Workflow",
@@ -220,5 +219,16 @@
220
219
  "panel.project.title": "Projetos",
221
220
  "panel.project.add": "Adicionar projeto...",
222
221
  "panel.project.addPrompt": "Caminho absoluto do projeto a adicionar:",
223
- "panel.project.switching": "Trocando de projeto..."
224
- }
222
+ "panel.project.switching": "Trocando de projeto...",
223
+ "startup.tab.files": "Arquivos",
224
+ "panel.project.remove": "Remover da lista",
225
+ "panel.project.removeConfirm": "Remover este projeto da lista? (nao apaga os arquivos do disco)",
226
+ "panel.project.removed": "Projeto removido da lista",
227
+ "panel.files.refresh": "Atualizar",
228
+ "panel.files.loading": "Carregando...",
229
+ "panel.files.error": "Nao foi possivel ler os arquivos.",
230
+ "panel.files.empty": "(sem arquivos)",
231
+ "panel.files.truncated": "(lista truncada)",
232
+ "panel.files.opened": "Aberto",
233
+ "panel.files.openFailed": "Nao foi possivel abrir o arquivo."
234
+ }
@@ -181,7 +181,6 @@
181
181
  "pizarron.graph.detail.empty": "该节点没有详情。",
182
182
  "pizarron.graph.detail.weight": "权重",
183
183
  "startup.tab.graph": "可视化图",
184
- "startup.tab.graphFunc": "功能图",
185
184
  "startup.tab.graphSem": "语义图",
186
185
  "startup.tab.pendings": "待办",
187
186
  "startup.tab.workflow": "工作流",
@@ -220,5 +219,16 @@
220
219
  "panel.project.title": "项目",
221
220
  "panel.project.add": "添加项目...",
222
221
  "panel.project.addPrompt": "要添加的项目的绝对路径:",
223
- "panel.project.switching": "正在切换项目..."
224
- }
222
+ "panel.project.switching": "正在切换项目...",
223
+ "startup.tab.files": "文件",
224
+ "panel.project.remove": "从列表中移除",
225
+ "panel.project.removeConfirm": "从列表中移除此项目?(不会删除磁盘上的文件)",
226
+ "panel.project.removed": "已从列表中移除项目",
227
+ "panel.files.refresh": "刷新",
228
+ "panel.files.loading": "加载中...",
229
+ "panel.files.error": "无法读取文件。",
230
+ "panel.files.empty": "(无文件)",
231
+ "panel.files.truncated": "(列表已截断)",
232
+ "panel.files.opened": "已打开",
233
+ "panel.files.openFailed": "无法打开文件。"
234
+ }
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Yujin Design System (sumi-e default) -- visual preview generator.
3
+ *
4
+ * Mirrors the art deco variant's preview: reads the package's own palette,
5
+ * kanji wordmarks and 170 sumi-e icons and emits a self-contained
6
+ * preview.html (palette swatches + wordmarks + every icon). Run
7
+ * `node _preview.mjs`. ASCII-only (the kanji live in data, not source).
8
+ */
9
+ import { promises as fs } from 'node:fs';
10
+ import path from 'node:path';
11
+ import { fileURLToPath } from 'node:url';
12
+
13
+ const ROOT = path.dirname(fileURLToPath(import.meta.url));
14
+ const ICONS_DIR = path.join(ROOT, 'icons', 'sumie');
15
+
16
+ const run = async () => {
17
+ const man = JSON.parse(await fs.readFile(path.join(ROOT, 'manifest.json'), 'utf-8'));
18
+ const idx = JSON.parse(await fs.readFile(path.join(ICONS_DIR, 'manifest.json'), 'utf-8'));
19
+
20
+ /* inline each icon SVG */
21
+ const cells = [];
22
+ for (const ic of idx.icons) {
23
+ let svg = '';
24
+ try { svg = (await fs.readFile(path.join(ICONS_DIR, ic.file), 'utf-8')).trim(); } catch { continue; }
25
+ cells.push(`<figure><span class="ic">${svg}</span><figcaption>${ic.slug}</figcaption></figure>`);
26
+ }
27
+
28
+ const swatches = [
29
+ ['Acento (indigo)', '#2D3A8C'], ['Indigo claro', '#5A66E8'], ['Indigo light', '#C8CDFA'],
30
+ ['Exito (teal)', '#0F6E66'], ['Teal claro', '#1D9E94'],
31
+ ['Atencion (ambar)', '#9B6A05'], ['Peligro (coral)', '#943020'],
32
+ ['Tinta', '#1A1815'], ['Warm 600', '#615E58'], ['Warm 100', '#F2F0EC'],
33
+ ['Pagina', '#FAFAF7'], ['Superficie', '#FFFFFF'],
34
+ ];
35
+ const swatchHtml = swatches.map(([n, c]) =>
36
+ `<div class="sw"><span style="background:${c}"></span><b>${n}</b><code>${c}</code></div>`).join('');
37
+
38
+ const wm = man.icons.kanji.wordmarks;
39
+ const wordmarks = Object.entries(wm).map(([k, v]) =>
40
+ `<div class="wm"><span class="kj">${v}</span><code>${k}</code></div>`).join('');
41
+
42
+ const html = `<!doctype html><html lang="es"><head><meta charset="utf-8">
43
+ <meta name="viewport" content="width=device-width,initial-scale=1">
44
+ <title>Yujin Design System -- sumi-e</title>
45
+ <link rel="stylesheet" href="tokens/yujin-tokens.css">
46
+ <style>
47
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;700&display=swap');
48
+ body{margin:0;background:#FAFAF7;color:#1A1815;font-family:Inter,system-ui,sans-serif}
49
+ .page{max-width:1000px;margin:0 auto;padding:52px 28px 90px}
50
+ .mark{font-family:'Noto Serif JP',serif;font-size:52px;color:#2D3A8C;line-height:1;margin:0}
51
+ h1{font-size:26px;font-weight:700;margin:10px 0 2px;letter-spacing:-.01em}
52
+ .lema{color:#615E58;font-style:italic;margin:0 0 30px;font-size:14px}
53
+ h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#2D3A8C;margin:42px 0 16px;border-bottom:2px solid #C8CDFA;padding-bottom:8px}
54
+ .sw{display:inline-flex;align-items:center;gap:8px;margin:0 18px 12px 0;font-size:12px}
55
+ .sw span{width:34px;height:34px;border-radius:8px;border:1px solid rgba(0,0,0,.08);display:inline-block}
56
+ .sw code{color:#615E58}
57
+ .wms{display:flex;gap:26px;flex-wrap:wrap}
58
+ .wm{text-align:center}.wm .kj{font-family:'Noto Serif JP',serif;font-size:40px;color:#1A1815;display:block}
59
+ .wm code{color:#615E58;font-size:11px}
60
+ .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:9px}
61
+ figure{margin:0;background:#fff;border:1px solid #F2F0EC;border-radius:10px;padding:14px 6px 8px;text-align:center;transition:border-color .15s}
62
+ figure:hover{border-color:#5A66E8}
63
+ .ic svg{width:32px;height:32px;color:#1A1815}
64
+ figcaption{margin-top:8px;font-size:10.5px;color:#615E58}
65
+ </style></head>
66
+ <body><div class="page">
67
+ <p class="mark">&#21451;&#20154;</p>
68
+ <h1>Yujin Design System</h1>
69
+ <p class="lema">${man.lema}</p>
70
+ <h2>Paleta</h2><div>${swatchHtml}</div>
71
+ <h2>Wordmarks kanji</h2><div class="wms">${wordmarks}</div>
72
+ <h2>Iconografia sumi-e &middot; ${cells.length} iconos</h2><div class="grid">${cells.join('')}</div>
73
+ </div></body></html>`;
74
+ await fs.writeFile(path.join(ROOT, 'preview.html'), html, 'utf-8');
75
+ console.log('wrote preview.html with', cells.length, 'sumi-e icons +', Object.keys(wm).length, 'wordmarks');
76
+ };
77
+ run().catch((e) => { console.error(e); process.exit(1); });
@@ -0,0 +1,156 @@
1
+ {
2
+ "generated_at": "2026-06-04T20:56:15.091Z",
3
+ "count": 30,
4
+ "components": [
5
+ {
6
+ "slug": "card",
7
+ "category": "surface",
8
+ "file": "card.yujin.json"
9
+ },
10
+ {
11
+ "slug": "modal",
12
+ "category": "surface",
13
+ "file": "modal.yujin.json"
14
+ },
15
+ {
16
+ "slug": "sidebar",
17
+ "category": "surface",
18
+ "file": "sidebar.yujin.json"
19
+ },
20
+ {
21
+ "slug": "view",
22
+ "category": "surface",
23
+ "file": "view.yujin.json"
24
+ },
25
+ {
26
+ "slug": "topbar",
27
+ "category": "surface",
28
+ "file": "topbar.yujin.json"
29
+ },
30
+ {
31
+ "slug": "breadcrumb",
32
+ "category": "surface",
33
+ "file": "breadcrumb.yujin.json"
34
+ },
35
+ {
36
+ "slug": "tabs",
37
+ "category": "surface",
38
+ "file": "tabs.yujin.json"
39
+ },
40
+ {
41
+ "slug": "accordion",
42
+ "category": "surface",
43
+ "file": "accordion.yujin.json"
44
+ },
45
+ {
46
+ "slug": "button",
47
+ "category": "control",
48
+ "file": "button.yujin.json"
49
+ },
50
+ {
51
+ "slug": "input",
52
+ "category": "control",
53
+ "file": "input.yujin.json"
54
+ },
55
+ {
56
+ "slug": "form-field",
57
+ "category": "control",
58
+ "file": "form-field.yujin.json"
59
+ },
60
+ {
61
+ "slug": "select",
62
+ "category": "control",
63
+ "file": "select.yujin.json"
64
+ },
65
+ {
66
+ "slug": "datepicker",
67
+ "category": "control",
68
+ "file": "datepicker.yujin.json"
69
+ },
70
+ {
71
+ "slug": "file-upload",
72
+ "category": "control",
73
+ "file": "file-upload.yujin.json"
74
+ },
75
+ {
76
+ "slug": "dropdown",
77
+ "category": "control",
78
+ "file": "dropdown.yujin.json"
79
+ },
80
+ {
81
+ "slug": "switch",
82
+ "category": "control",
83
+ "file": "switch.yujin.json"
84
+ },
85
+ {
86
+ "slug": "checkbox",
87
+ "category": "control",
88
+ "file": "checkbox.yujin.json"
89
+ },
90
+ {
91
+ "slug": "radio",
92
+ "category": "control",
93
+ "file": "radio.yujin.json"
94
+ },
95
+ {
96
+ "slug": "slider",
97
+ "category": "control",
98
+ "file": "slider.yujin.json"
99
+ },
100
+ {
101
+ "slug": "search-bar",
102
+ "category": "control",
103
+ "file": "search-bar.yujin.json"
104
+ },
105
+ {
106
+ "slug": "badge",
107
+ "category": "display",
108
+ "file": "badge.yujin.json"
109
+ },
110
+ {
111
+ "slug": "avatar",
112
+ "category": "display",
113
+ "file": "avatar.yujin.json"
114
+ },
115
+ {
116
+ "slug": "tooltip",
117
+ "category": "display",
118
+ "file": "tooltip.yujin.json"
119
+ },
120
+ {
121
+ "slug": "alert",
122
+ "category": "display",
123
+ "file": "alert.yujin.json"
124
+ },
125
+ {
126
+ "slug": "toast",
127
+ "category": "display",
128
+ "file": "toast.yujin.json"
129
+ },
130
+ {
131
+ "slug": "progress",
132
+ "category": "display",
133
+ "file": "progress.yujin.json"
134
+ },
135
+ {
136
+ "slug": "skeleton",
137
+ "category": "display",
138
+ "file": "skeleton.yujin.json"
139
+ },
140
+ {
141
+ "slug": "table",
142
+ "category": "data",
143
+ "file": "table.yujin.json"
144
+ },
145
+ {
146
+ "slug": "kanban-card",
147
+ "category": "data",
148
+ "file": "kanban-card.yujin.json"
149
+ },
150
+ {
151
+ "slug": "pagination",
152
+ "category": "data",
153
+ "file": "pagination.yujin.json"
154
+ }
155
+ ]
156
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "slug": "accordion",
3
+ "category": "surface",
4
+ "nac3_id": "yujin.accordion",
5
+ "description": "accordion -- Yujin Design System default surface component",
6
+ "html": "<div class=\"yj-accordion\" data-nac-id=\"yujin.accordion\" data-nac-role=\"accordion\">{{items}}</div>",
7
+ "css": ".yj-accordion details{border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3) 0}\n.yj-accordion summary{font:500 var(--font-size-md)/1.4 var(--font-family-sans);cursor:pointer;color:var(--color-text-primary)}",
8
+ "variants": [
9
+ "default",
10
+ "flush",
11
+ "bordered"
12
+ ],
13
+ "props": [
14
+ "items"
15
+ ],
16
+ "token_refs": [
17
+ "color-border-subtle",
18
+ "space-",
19
+ "font-size-md",
20
+ "font-family-sans",
21
+ "color-text-primary"
22
+ ],
23
+ "sumie_icon_hint": null
24
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "slug": "alert",
3
+ "category": "display",
4
+ "nac3_id": "yujin.alert",
5
+ "description": "alert -- Yujin Design System default display component",
6
+ "html": "<div class=\"yj-alert yj-alert-{{variant}}\" role=\"alert\" data-nac-id=\"yujin.alert\" data-nac-role=\"alert\">{{children}}</div>",
7
+ "css": ".yj-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-bg-subtle);font:400 var(--font-size-sm)/1.5 var(--font-family-sans)}\n.yj-alert-success{background:var(--color-teal-50);border-color:var(--color-teal-200);color:var(--color-teal-600)}\n.yj-alert-warning{background:var(--color-amber-50);border-color:var(--color-amber-200);color:var(--color-amber-600)}\n.yj-alert-danger{background:var(--color-coral-50);border-color:var(--color-coral-200);color:var(--color-coral-600)}",
8
+ "variants": [
9
+ "info",
10
+ "success",
11
+ "warning",
12
+ "danger"
13
+ ],
14
+ "props": [
15
+ "variant",
16
+ "children"
17
+ ],
18
+ "token_refs": [
19
+ "space-",
20
+ "radius-md",
21
+ "color-border-subtle",
22
+ "color-bg-subtle",
23
+ "font-size-sm",
24
+ "font-family-sans",
25
+ "color-teal-",
26
+ "color-amber-",
27
+ "color-coral-"
28
+ ],
29
+ "sumie_icon_hint": null
30
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "slug": "avatar",
3
+ "category": "display",
4
+ "nac3_id": "yujin.avatar",
5
+ "description": "avatar -- Yujin Design System default display component",
6
+ "html": "<div class=\"yj-avatar\" data-nac-id=\"yujin.avatar\" data-nac-role=\"avatar\"><img src=\"{{src}}\" alt=\"{{alt}}\" /></div>",
7
+ "css": ".yj-avatar{display:inline-block;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--color-warm-100)}\n.yj-avatar img{width:100%;height:100%;object-fit:cover}",
8
+ "variants": [
9
+ "default",
10
+ "small",
11
+ "large",
12
+ "rounded-square"
13
+ ],
14
+ "props": [
15
+ "src",
16
+ "alt",
17
+ "size?"
18
+ ],
19
+ "token_refs": [
20
+ "color-warm-"
21
+ ],
22
+ "sumie_icon_hint": null
23
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "slug": "badge",
3
+ "category": "display",
4
+ "nac3_id": "yujin.badge",
5
+ "description": "badge -- Yujin Design System default display component",
6
+ "html": "<span class=\"yj-badge yj-badge-{{variant}}\" data-nac-id=\"yujin.badge\" data-nac-role=\"badge\">{{label}}</span>",
7
+ "css": ".yj-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:999px;font:600 var(--font-size-xs)/1.2 var(--font-family-sans);background:var(--color-bg-subtle);color:var(--color-text-secondary)}\n.yj-badge-success{background:var(--color-teal-50);color:var(--color-teal-600)}\n.yj-badge-warning{background:var(--color-amber-50);color:var(--color-amber-600)}\n.yj-badge-danger{background:var(--color-coral-50);color:var(--color-coral-600)}",
8
+ "variants": [
9
+ "default",
10
+ "success",
11
+ "warning",
12
+ "danger",
13
+ "info"
14
+ ],
15
+ "props": [
16
+ "label",
17
+ "variant"
18
+ ],
19
+ "token_refs": [
20
+ "space-",
21
+ "font-size-xs",
22
+ "font-family-sans",
23
+ "color-bg-subtle",
24
+ "color-text-secondary",
25
+ "color-teal-",
26
+ "color-amber-",
27
+ "color-coral-"
28
+ ],
29
+ "sumie_icon_hint": null
30
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "slug": "breadcrumb",
3
+ "category": "surface",
4
+ "nac3_id": "yujin.breadcrumb",
5
+ "description": "breadcrumb -- Yujin Design System default surface component",
6
+ "html": "<nav class=\"yj-breadcrumb\" aria-label=\"breadcrumb\" data-nac-id=\"yujin.breadcrumb\" data-nac-role=\"breadcrumb\">\n <ol>{{items}}</ol>\n</nav>",
7
+ "css": ".yj-breadcrumb ol{display:flex;gap:var(--space-2);list-style:none;padding:0;margin:0;font:400 var(--font-size-sm)/1.4 var(--font-family-sans);color:var(--color-text-secondary)}\n.yj-breadcrumb li:not(:last-child)::after{content:\" / \";margin-left:var(--space-2);color:var(--color-text-tertiary)}",
8
+ "variants": [
9
+ "default"
10
+ ],
11
+ "props": [
12
+ "items"
13
+ ],
14
+ "token_refs": [
15
+ "space-",
16
+ "font-size-sm",
17
+ "font-family-sans",
18
+ "color-text-secondary",
19
+ "color-text-tertiary"
20
+ ],
21
+ "sumie_icon_hint": null
22
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "slug": "button",
3
+ "category": "control",
4
+ "nac3_id": "yujin.button",
5
+ "description": "button -- Yujin Design System default control component",
6
+ "html": "<button class=\"yj-btn yj-btn-{{variant}}\" data-nac-id=\"yujin.button\" data-nac-role=\"action\" data-nac-action=\"{{action}}\">{{label}}</button>",
7
+ "css": ".yj-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font:600 var(--font-size-sm)/1.4 var(--font-family-sans);cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:var(--space-2)}\n.yj-btn-primary{background:var(--color-accent);color:var(--color-warm-0)}\n.yj-btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-default)}\n.yj-btn-ghost{background:transparent;color:var(--color-accent-text)}\n.yj-btn-danger{background:var(--color-coral-400);color:var(--color-warm-0)}",
8
+ "variants": [
9
+ "primary",
10
+ "secondary",
11
+ "ghost",
12
+ "danger",
13
+ "icon-only"
14
+ ],
15
+ "props": [
16
+ "label",
17
+ "variant",
18
+ "action",
19
+ "disabled?"
20
+ ],
21
+ "token_refs": [
22
+ "space-",
23
+ "radius-md",
24
+ "font-size-sm",
25
+ "font-family-sans",
26
+ "color-accent",
27
+ "color-warm-",
28
+ "color-bg-surface",
29
+ "color-text-primary",
30
+ "color-border-default",
31
+ "color-accent-text",
32
+ "color-coral-"
33
+ ],
34
+ "sumie_icon_hint": null
35
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "slug": "card",
3
+ "category": "surface",
4
+ "nac3_id": "yujin.card",
5
+ "description": "card -- Yujin Design System default surface component",
6
+ "html": "<div class=\"yj-card\" data-nac-id=\"yujin.card\" data-nac-role=\"surface\">\n <div class=\"yj-card-header\">\n <h3 data-nac-role=\"title\">{{title}}</h3>\n <div class=\"yj-card-actions\" data-nac-role=\"actions\">{{actions}}</div>\n </div>\n <div class=\"yj-card-body\" data-nac-role=\"body\">{{children}}</div>\n</div>",
7
+ "css": ".yj-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}\n.yj-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}\n.yj-card-header h3{font:600 var(--font-size-md)/1.3 var(--font-family-sans);color:var(--color-text-primary);margin:0}\n.yj-card-body{font:400 var(--font-size-sm)/1.5 var(--font-family-sans);color:var(--color-text-secondary)}",
8
+ "variants": [
9
+ "default",
10
+ "elevated",
11
+ "flat",
12
+ "sumie-watermark"
13
+ ],
14
+ "props": [
15
+ "title",
16
+ "actions",
17
+ "children",
18
+ "variant?"
19
+ ],
20
+ "token_refs": [
21
+ "color-bg-surface",
22
+ "color-border-subtle",
23
+ "radius-md",
24
+ "space-",
25
+ "shadow-sm",
26
+ "font-size-md",
27
+ "font-family-sans",
28
+ "color-text-primary",
29
+ "font-size-sm",
30
+ "color-text-secondary"
31
+ ],
32
+ "sumie_icon_hint": null
33
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "slug": "checkbox",
3
+ "category": "control",
4
+ "nac3_id": "yujin.checkbox",
5
+ "description": "checkbox -- Yujin Design System default control component",
6
+ "html": "<label class=\"yj-checkbox\" data-nac-id=\"yujin.checkbox\" data-nac-role=\"checkbox\">\n <input type=\"checkbox\" />\n <span>{{label}}</span>\n</label>",
7
+ "css": ".yj-checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font:400 var(--font-size-sm)/1.4 var(--font-family-sans)}\n.yj-checkbox input{accent-color:var(--color-accent)}",
8
+ "variants": [
9
+ "default",
10
+ "indeterminate"
11
+ ],
12
+ "props": [
13
+ "label",
14
+ "checked?",
15
+ "indeterminate?",
16
+ "disabled?"
17
+ ],
18
+ "token_refs": [
19
+ "space-",
20
+ "font-size-sm",
21
+ "font-family-sans",
22
+ "color-accent"
23
+ ],
24
+ "sumie_icon_hint": null
25
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "slug": "datepicker",
3
+ "category": "control",
4
+ "nac3_id": "yujin.datepicker",
5
+ "description": "datepicker -- Yujin Design System default control component",
6
+ "html": "<input class=\"yj-datepicker\" type=\"date\" data-nac-id=\"yujin.datepicker\" data-nac-role=\"datepicker\" />",
7
+ "css": ".yj-datepicker{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);font:400 var(--font-size-sm)/1.4 var(--font-family-sans)}",
8
+ "variants": [
9
+ "default",
10
+ "range",
11
+ "inline-calendar"
12
+ ],
13
+ "props": [
14
+ "value?",
15
+ "min?",
16
+ "max?"
17
+ ],
18
+ "token_refs": [
19
+ "space-",
20
+ "color-border-default",
21
+ "radius-md",
22
+ "font-size-sm",
23
+ "font-family-sans"
24
+ ],
25
+ "sumie_icon_hint": null
26
+ }