@bestagentkits/render 0.1.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 (140) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/LICENSE +21 -0
  3. package/README.md +166 -0
  4. package/dist/cli.d.ts +18 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +336 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/diagnostics.d.ts +45 -0
  9. package/dist/diagnostics.d.ts.map +1 -0
  10. package/dist/diagnostics.js +57 -0
  11. package/dist/diagnostics.js.map +1 -0
  12. package/dist/diagram/adapter.d.ts +71 -0
  13. package/dist/diagram/adapter.d.ts.map +1 -0
  14. package/dist/diagram/adapter.js +87 -0
  15. package/dist/diagram/adapter.js.map +1 -0
  16. package/dist/errors.d.ts +37 -0
  17. package/dist/errors.d.ts.map +1 -0
  18. package/dist/errors.js +42 -0
  19. package/dist/errors.js.map +1 -0
  20. package/dist/hash.d.ts +14 -0
  21. package/dist/hash.d.ts.map +1 -0
  22. package/dist/hash.js +27 -0
  23. package/dist/hash.js.map +1 -0
  24. package/dist/index.d.ts +43 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +25 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/internal/yaml-error.d.ts +14 -0
  29. package/dist/internal/yaml-error.d.ts.map +1 -0
  30. package/dist/internal/yaml-error.js +12 -0
  31. package/dist/internal/yaml-error.js.map +1 -0
  32. package/dist/ir.d.ts +77 -0
  33. package/dist/ir.d.ts.map +1 -0
  34. package/dist/ir.js +20 -0
  35. package/dist/ir.js.map +1 -0
  36. package/dist/json.d.ts +23 -0
  37. package/dist/json.d.ts.map +1 -0
  38. package/dist/json.js +47 -0
  39. package/dist/json.js.map +1 -0
  40. package/dist/registry/actions.d.ts +48 -0
  41. package/dist/registry/actions.d.ts.map +1 -0
  42. package/dist/registry/actions.js +274 -0
  43. package/dist/registry/actions.js.map +1 -0
  44. package/dist/registry/prop-schema.d.ts +108 -0
  45. package/dist/registry/prop-schema.d.ts.map +1 -0
  46. package/dist/registry/prop-schema.js +400 -0
  47. package/dist/registry/prop-schema.js.map +1 -0
  48. package/dist/registry/registry.d.ts +47 -0
  49. package/dist/registry/registry.d.ts.map +1 -0
  50. package/dist/registry/registry.js +201 -0
  51. package/dist/registry/registry.js.map +1 -0
  52. package/dist/registry/roster.d.ts +53 -0
  53. package/dist/registry/roster.d.ts.map +1 -0
  54. package/dist/registry/roster.js +692 -0
  55. package/dist/registry/roster.js.map +1 -0
  56. package/dist/render/blocks.d.ts +41 -0
  57. package/dist/render/blocks.d.ts.map +1 -0
  58. package/dist/render/blocks.js +749 -0
  59. package/dist/render/blocks.js.map +1 -0
  60. package/dist/render/charts.d.ts +29 -0
  61. package/dist/render/charts.d.ts.map +1 -0
  62. package/dist/render/charts.js +235 -0
  63. package/dist/render/charts.js.map +1 -0
  64. package/dist/render/document.d.ts +40 -0
  65. package/dist/render/document.d.ts.map +1 -0
  66. package/dist/render/document.js +90 -0
  67. package/dist/render/document.js.map +1 -0
  68. package/dist/render/escape.d.ts +46 -0
  69. package/dist/render/escape.d.ts.map +1 -0
  70. package/dist/render/escape.js +108 -0
  71. package/dist/render/escape.js.map +1 -0
  72. package/dist/render/render.d.ts +52 -0
  73. package/dist/render/render.d.ts.map +1 -0
  74. package/dist/render/render.js +216 -0
  75. package/dist/render/render.js.map +1 -0
  76. package/dist/render/runtime.d.ts +25 -0
  77. package/dist/render/runtime.d.ts.map +1 -0
  78. package/dist/render/runtime.js +451 -0
  79. package/dist/render/runtime.js.map +1 -0
  80. package/dist/render/styles.d.ts +15 -0
  81. package/dist/render/styles.d.ts.map +1 -0
  82. package/dist/render/styles.js +163 -0
  83. package/dist/render/styles.js.map +1 -0
  84. package/dist/render/verify.d.ts +25 -0
  85. package/dist/render/verify.d.ts.map +1 -0
  86. package/dist/render/verify.js +168 -0
  87. package/dist/render/verify.js.map +1 -0
  88. package/dist/spec/bindings.d.ts +19 -0
  89. package/dist/spec/bindings.d.ts.map +1 -0
  90. package/dist/spec/bindings.js +51 -0
  91. package/dist/spec/bindings.js.map +1 -0
  92. package/dist/spec/bounds.d.ts +43 -0
  93. package/dist/spec/bounds.d.ts.map +1 -0
  94. package/dist/spec/bounds.js +144 -0
  95. package/dist/spec/bounds.js.map +1 -0
  96. package/dist/spec/forbidden.d.ts +27 -0
  97. package/dist/spec/forbidden.d.ts.map +1 -0
  98. package/dist/spec/forbidden.js +91 -0
  99. package/dist/spec/forbidden.js.map +1 -0
  100. package/dist/spec/migrate.d.ts +33 -0
  101. package/dist/spec/migrate.d.ts.map +1 -0
  102. package/dist/spec/migrate.js +113 -0
  103. package/dist/spec/migrate.js.map +1 -0
  104. package/dist/spec/normalize.d.ts +29 -0
  105. package/dist/spec/normalize.d.ts.map +1 -0
  106. package/dist/spec/normalize.js +649 -0
  107. package/dist/spec/normalize.js.map +1 -0
  108. package/dist/spec/parse.d.ts +22 -0
  109. package/dist/spec/parse.d.ts.map +1 -0
  110. package/dist/spec/parse.js +62 -0
  111. package/dist/spec/parse.js.map +1 -0
  112. package/dist/spec/providers.d.ts +30 -0
  113. package/dist/spec/providers.d.ts.map +1 -0
  114. package/dist/spec/providers.js +64 -0
  115. package/dist/spec/providers.js.map +1 -0
  116. package/dist/spec/validate.d.ts +28 -0
  117. package/dist/spec/validate.d.ts.map +1 -0
  118. package/dist/spec/validate.js +68 -0
  119. package/dist/spec/validate.js.map +1 -0
  120. package/dist/theme/load-theme.d.ts +55 -0
  121. package/dist/theme/load-theme.d.ts.map +1 -0
  122. package/dist/theme/load-theme.js +219 -0
  123. package/dist/theme/load-theme.js.map +1 -0
  124. package/dist/theme/presets.d.ts +50 -0
  125. package/dist/theme/presets.d.ts.map +1 -0
  126. package/dist/theme/presets.js +304 -0
  127. package/dist/theme/presets.js.map +1 -0
  128. package/dist/theme/theme-catalog.d.ts +68 -0
  129. package/dist/theme/theme-catalog.d.ts.map +1 -0
  130. package/dist/theme/theme-catalog.js +198 -0
  131. package/dist/theme/theme-catalog.js.map +1 -0
  132. package/dist/theme/tokens.d.ts +38 -0
  133. package/dist/theme/tokens.d.ts.map +1 -0
  134. package/dist/theme/tokens.js +190 -0
  135. package/dist/theme/tokens.js.map +1 -0
  136. package/dist/version.d.ts +12 -0
  137. package/dist/version.d.ts.map +1 -0
  138. package/dist/version.js +12 -0
  139. package/dist/version.js.map +1 -0
  140. package/package.json +80 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-catalog.js","sourceRoot":"","sources":["../../src/theme/theme-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAoB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,EAAE,0BAA0B,CAAU,CAAC;AAC5F,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AACnE,MAAM,mBAAmB,GAAG;IAC1B,MAAM;IACN,SAAS;IACT,aAAa;IACb,SAAS;IACT,QAAQ;IACR,MAAM;CACE,CAAC;AAeX,6BAA6B;AAC7B,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,OAAO;QACL,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5F,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,OAAe,EAAE,IAAY,EAAE,OAAiC;IAC5E,MAAM,IAAI,WAAW,CAAC,uBAAuB,EAAE,OAAO,EAAE;QACtD,IAAI;QACJ,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAc,EACd,UAA4E,EAAE;IAE9E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;IACvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,CAAE,mBAAyC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,yBAAyB,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE;gBACtD,OAAO,EAAE,CAAC,GAAG,mBAAmB,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;IAChC,MAAM,IAAI,GACR,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,8BAA8B,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IACnC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAChF,IAAI,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,wCAAwC,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IACE,OAAO,KAAK,SAAS;QACrB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,EAC1E,CAAC;QACD,IAAI,CAAC,2CAA2C,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACtC,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACjE,IAAI,CAAC,qCAAqC,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAsB,EAA0B,EAAE;QACpE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,GAAG,oCAAoC,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5F,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,wBAAwB,KAAK,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,EAAE;oBAChE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;iBACvC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,gBAAgB,KAAK,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE;oBACtF,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE;oBAC/B,OAAO,EAAE,EAAE,KAAK,EAAE;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAgB;QACzB,IAAI;QACJ,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClD,WAAW,EAAE,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB;QACnF,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC;QAC5B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;QACxB,MAAM;KACP,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,SAAgC,MAAM;IACjF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,uBAAuB,EAAE,0BAA0B,IAAI,EAAE,EAAE;YAC/E,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,sBAAsB,CAAC,UAA2C,EAAE;IAIlF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACnC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5E,OAAO,WAAW,CAAC,SAAS,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,sBAA4C,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SACvF,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA+B,EAAE;IACjE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IAEhD,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,OAAO,GAA2D,EAAE,CAAC;IAC3E,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE;QAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACpC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,kBAAkB,CAAC,OAAqB;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Theme token model.
3
+ *
4
+ * A theme is typed data, never CSS. Every token is declared here with its kind
5
+ * and its bounds, so a preset — built-in or user-authored — can only set values
6
+ * the compiler knows how to validate. There is deliberately no token kind that
7
+ * accepts a free-form declaration, which is what makes "no CSS escape hatch" a
8
+ * property of the type system rather than a promise.
9
+ */
10
+ export type TokenKind = 'color' | 'length' | 'font-stack' | 'elevation' | 'easing' | 'enum' | 'number';
11
+ export interface TokenSpec {
12
+ kind: TokenKind;
13
+ group: string;
14
+ description: string;
15
+ /** Allowed values for `enum` tokens. */
16
+ values?: readonly string[];
17
+ min?: number;
18
+ max?: number;
19
+ }
20
+ export declare const TOKEN_SPECS: Readonly<Record<string, TokenSpec>>;
21
+ export type Tokens = Record<string, string>;
22
+ /** Long-form descriptions keyed by token name, for `describe()`-style surfaces. */
23
+ export declare function tokenNames(): string[];
24
+ /** True when a font stack cannot escape a CSS declaration. */
25
+ export declare function isSafeFontStack(value: string): boolean;
26
+ export interface TokenProblem {
27
+ token: string;
28
+ message: string;
29
+ }
30
+ /** Validate one token value against its declared kind. */
31
+ export declare function validateTokenValue(token: string, value: unknown): TokenProblem | undefined;
32
+ /** Validate a partial token set, returning every problem found. */
33
+ export declare function validateTokens(tokens: Record<string, unknown>): TokenProblem[];
34
+ /** Resolve a token to its CSS value, mapping symbolic tokens to fixed values. */
35
+ export declare function tokenCssValue(token: string, value: string): string;
36
+ /** The CSS custom property name for a token. */
37
+ export declare function tokenVariable(token: string): string;
38
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAiF3D,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C,mFAAmF;AACnF,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAErC;AAOD,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMtD;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,0DAA0D;AAC1D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAoD1F;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,EAAE,CAO9E;AAUD,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Theme token model.
3
+ *
4
+ * A theme is typed data, never CSS. Every token is declared here with its kind
5
+ * and its bounds, so a preset — built-in or user-authored — can only set values
6
+ * the compiler knows how to validate. There is deliberately no token kind that
7
+ * accepts a free-form declaration, which is what makes "no CSS escape hatch" a
8
+ * property of the type system rather than a promise.
9
+ */
10
+ const ELEVATIONS = ['none', 'subtle', 'medium', 'strong'];
11
+ const EASINGS = ['ease', 'ease-in-out', 'linear'];
12
+ export const TOKEN_SPECS = {
13
+ 'color-background': { kind: 'color', group: 'color', description: 'Page background.' },
14
+ 'color-surface': { kind: 'color', group: 'color', description: 'Card and panel background.' },
15
+ 'color-surface-raised': { kind: 'color', group: 'color', description: 'Elevated surface.' },
16
+ 'color-border': { kind: 'color', group: 'color', description: 'Hairline border colour.' },
17
+ 'color-text': { kind: 'color', group: 'color', description: 'Primary text colour.' },
18
+ 'color-text-muted': { kind: 'color', group: 'color', description: 'Secondary text colour.' },
19
+ 'color-accent': { kind: 'color', group: 'color', description: 'Primary accent.' },
20
+ 'color-accent-contrast': {
21
+ kind: 'color',
22
+ group: 'color',
23
+ description: 'Text colour placed on the accent.',
24
+ },
25
+ 'color-info': { kind: 'color', group: 'color', description: 'Informational status colour.' },
26
+ 'color-success': { kind: 'color', group: 'color', description: 'Success status colour.' },
27
+ 'color-warning': { kind: 'color', group: 'color', description: 'Warning status colour.' },
28
+ 'color-danger': { kind: 'color', group: 'color', description: 'Danger status colour.' },
29
+ 'font-heading': {
30
+ kind: 'font-stack',
31
+ group: 'typography',
32
+ description: 'Heading font stack. System stacks only; no remote fonts.',
33
+ },
34
+ 'font-body': { kind: 'font-stack', group: 'typography', description: 'Body font stack.' },
35
+ 'font-mono': { kind: 'font-stack', group: 'typography', description: 'Monospace font stack.' },
36
+ 'font-size-base': { kind: 'length', group: 'typography', description: 'Base font size.' },
37
+ 'font-scale': {
38
+ kind: 'number',
39
+ group: 'typography',
40
+ description: 'Modular scale ratio for heading sizes.',
41
+ min: 1.05,
42
+ max: 1.6,
43
+ },
44
+ 'line-height': {
45
+ kind: 'number',
46
+ group: 'typography',
47
+ description: 'Body line height multiplier.',
48
+ min: 1.2,
49
+ max: 2.2,
50
+ },
51
+ measure: { kind: 'length', group: 'typography', description: 'Maximum reading width.' },
52
+ 'space-unit': { kind: 'length', group: 'spacing', description: 'Base spacing unit.' },
53
+ density: {
54
+ kind: 'enum',
55
+ group: 'spacing',
56
+ description: 'Vertical rhythm between sections.',
57
+ values: ['compact', 'comfortable', 'spacious'],
58
+ },
59
+ 'radius-small': { kind: 'length', group: 'radius', description: 'Small corner radius.' },
60
+ 'radius-medium': { kind: 'length', group: 'radius', description: 'Default corner radius.' },
61
+ 'radius-large': { kind: 'length', group: 'radius', description: 'Large corner radius.' },
62
+ 'border-width': { kind: 'length', group: 'border', description: 'Default border width.' },
63
+ 'elevation-card': {
64
+ kind: 'elevation',
65
+ group: 'elevation',
66
+ description: 'Card shadow strength.',
67
+ values: ELEVATIONS,
68
+ },
69
+ 'elevation-popover': {
70
+ kind: 'elevation',
71
+ group: 'elevation',
72
+ description: 'Popover shadow strength.',
73
+ values: ELEVATIONS,
74
+ },
75
+ 'motion-duration': { kind: 'length', group: 'motion', description: 'Transition duration.' },
76
+ 'motion-easing': {
77
+ kind: 'easing',
78
+ group: 'motion',
79
+ description: 'Transition easing function.',
80
+ values: EASINGS,
81
+ },
82
+ 'motion-policy': {
83
+ kind: 'enum',
84
+ group: 'motion',
85
+ description: 'Whether transitions and animations run at all.',
86
+ values: ['full', 'reduced', 'none'],
87
+ },
88
+ };
89
+ /** Long-form descriptions keyed by token name, for `describe()`-style surfaces. */
90
+ export function tokenNames() {
91
+ return Object.keys(TOKEN_SPECS).sort();
92
+ }
93
+ const COLOR_PATTERN = /^#[0-9a-f]{3}(?:[0-9a-f]{3}(?:[0-9a-f]{2})?)?$/i;
94
+ /** CSS length or duration values, in units a preset may safely use. */
95
+ const LENGTH_PATTERN = /^-?\d+(?:\.\d+)?(?:px|rem|em|ch|ex|%|vw|vh|ms|s)$/;
96
+ const FONT_STACK_PATTERN = /^[A-Za-z0-9 ,'"\-._+]+$/;
97
+ /** True when a font stack cannot escape a CSS declaration. */
98
+ export function isSafeFontStack(value) {
99
+ if (!FONT_STACK_PATTERN.test(value))
100
+ return false;
101
+ const lowered = value.toLowerCase();
102
+ return !['url(', 'expression', 'javascript', '@import', '\\'].some((bad) => lowered.includes(bad));
103
+ }
104
+ /** Validate one token value against its declared kind. */
105
+ export function validateTokenValue(token, value) {
106
+ const spec = TOKEN_SPECS[token];
107
+ if (spec === undefined) {
108
+ return { token, message: 'unknown token' };
109
+ }
110
+ if (typeof value !== 'string' && typeof value !== 'number') {
111
+ return { token, message: `expected a ${spec.kind} value` };
112
+ }
113
+ switch (spec.kind) {
114
+ case 'color': {
115
+ if (typeof value !== 'string' || !COLOR_PATTERN.test(value)) {
116
+ return { token, message: 'expected a hex colour such as #1a2b3c' };
117
+ }
118
+ return undefined;
119
+ }
120
+ case 'length': {
121
+ if (typeof value !== 'string' || !LENGTH_PATTERN.test(value)) {
122
+ return {
123
+ token,
124
+ message: 'expected a length or duration such as 16px, 1rem, 72ch, or 160ms',
125
+ };
126
+ }
127
+ return undefined;
128
+ }
129
+ case 'font-stack': {
130
+ if (typeof value !== 'string' || !isSafeFontStack(value)) {
131
+ return { token, message: 'expected a font stack of names only (no url(), no expressions)' };
132
+ }
133
+ return undefined;
134
+ }
135
+ case 'elevation':
136
+ case 'easing':
137
+ case 'enum': {
138
+ const allowed = spec.values ?? [];
139
+ if (typeof value !== 'string' || !allowed.includes(value)) {
140
+ return { token, message: `expected one of: ${allowed.join(', ')}` };
141
+ }
142
+ return undefined;
143
+ }
144
+ case 'number': {
145
+ const numeric = typeof value === 'number' ? value : Number(value);
146
+ if (!Number.isFinite(numeric))
147
+ return { token, message: 'expected a number' };
148
+ if (spec.min !== undefined && numeric < spec.min) {
149
+ return { token, message: `must be at least ${spec.min}` };
150
+ }
151
+ if (spec.max !== undefined && numeric > spec.max) {
152
+ return { token, message: `must be at most ${spec.max}` };
153
+ }
154
+ return undefined;
155
+ }
156
+ }
157
+ }
158
+ /** Validate a partial token set, returning every problem found. */
159
+ export function validateTokens(tokens) {
160
+ const problems = [];
161
+ for (const [token, value] of Object.entries(tokens)) {
162
+ const problem = validateTokenValue(token, value);
163
+ if (problem !== undefined)
164
+ problems.push(problem);
165
+ }
166
+ return problems;
167
+ }
168
+ /** Fixed elevation shadows, so a preset cannot supply an arbitrary shadow. */
169
+ const ELEVATION_SHADOWS = {
170
+ none: 'none',
171
+ subtle: '0 1px 2px rgba(0, 0, 0, 0.06)',
172
+ medium: '0 2px 8px rgba(0, 0, 0, 0.10)',
173
+ strong: '0 8px 24px rgba(0, 0, 0, 0.16)',
174
+ };
175
+ /** Resolve a token to its CSS value, mapping symbolic tokens to fixed values. */
176
+ export function tokenCssValue(token, value) {
177
+ const spec = TOKEN_SPECS[token];
178
+ if (spec?.kind === 'elevation')
179
+ return ELEVATION_SHADOWS[value] ?? 'none';
180
+ if (spec?.kind === 'easing')
181
+ return value;
182
+ if (spec?.kind === 'enum')
183
+ return value;
184
+ return value;
185
+ }
186
+ /** The CSS custom property name for a token. */
187
+ export function tokenVariable(token) {
188
+ return `--ak-${token}`;
189
+ }
190
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/theme/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqBH,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACnE,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAU,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAwC;IAC9D,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACtF,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC7F,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;IAC3F,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE;IACzF,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACpF,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE;IAC5F,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACjF,uBAAuB,EAAE;QACvB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE;IAC5F,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE;IACzF,eAAe,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE;IACzF,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAEvF,cAAc,EAAE;QACd,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,0DAA0D;KACxE;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE;IACzF,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAC9F,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE;IACzF,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,wCAAwC;QACrD,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,GAAG;KACT;IACD,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,8BAA8B;QAC3C,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;KACT;IACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE;IAEvF,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACrF,OAAO,EAAE;QACP,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,mCAAmC;QAChD,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC;KAC/C;IAED,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACxF,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;IAC3F,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAExF,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;IACzF,gBAAgB,EAAE;QAChB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,uBAAuB;QACpC,MAAM,EAAE,UAAU;KACnB;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,0BAA0B;QACvC,MAAM,EAAE,UAAU;KACnB;IAED,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAC3F,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,6BAA6B;QAC1C,MAAM,EAAE,OAAO;KAChB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,gDAAgD;QAC7D,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;KACpC;CACF,CAAC;AAIF,mFAAmF;AACnF,MAAM,UAAU,UAAU;IACxB,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,aAAa,GAAG,iDAAiD,CAAC;AACxE,uEAAuE;AACvE,MAAM,cAAc,GAAG,mDAAmD,CAAC;AAC3E,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAErD,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACzE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CACtB,CAAC;AACJ,CAAC;AAOD,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,KAAc;IAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;YACrE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7D,OAAO;oBACL,KAAK;oBACL,OAAO,EAAE,kEAAkE;iBAC5E,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC;YAC9F,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACtE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;YAC9E,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5D,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,cAAc,CAAC,MAA+B;IAC5D,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8EAA8E;AAC9E,MAAM,iBAAiB,GAA2B;IAChD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,+BAA+B;IACvC,MAAM,EAAE,+BAA+B;IACvC,MAAM,EAAE,gCAAgC;CACzC,CAAC;AAEF,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,KAAa;IACxD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;QAAE,OAAO,iBAAiB,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IAC1E,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,QAAQ,KAAK,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Package version.
3
+ *
4
+ * Kept as a literal so the value is available to any runtime (including a
5
+ * worker bundle) without reading a manifest. `tests/unit/version.test.ts`
6
+ * asserts that it stays equal to the `version` field in `package.json`, so a
7
+ * release that forgets one of them fails fast.
8
+ */
9
+ export declare const VERSION = "0.1.0";
10
+ /** Published package name, used by CLI output and release tooling. */
11
+ export declare const PACKAGE_NAME = "@bestagentkits/render";
12
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,sEAAsE;AACtE,eAAO,MAAM,YAAY,0BAA0B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Package version.
3
+ *
4
+ * Kept as a literal so the value is available to any runtime (including a
5
+ * worker bundle) without reading a manifest. `tests/unit/version.test.ts`
6
+ * asserts that it stays equal to the `version` field in `package.json`, so a
7
+ * release that forgets one of them fails fast.
8
+ */
9
+ export const VERSION = '0.1.0';
10
+ /** Published package name, used by CLI output and release tooling. */
11
+ export const PACKAGE_NAME = '@bestagentkits/render';
12
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,sEAAsE;AACtE,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "name": "@bestagentkits/render",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "description": "Declarative Page Spec compiler: deterministic, offline, interactive standalone HTML from JSON/YAML.",
6
+ "keywords": [
7
+ "agentkit",
8
+ "renderer",
9
+ "page-spec",
10
+ "declarative",
11
+ "html",
12
+ "compiler",
13
+ "deterministic"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/bestagentkits/ak-render.git"
18
+ },
19
+ "license": "MIT",
20
+ "type": "module",
21
+ "engines": {
22
+ "node": ">=20.11"
23
+ },
24
+ "packageManager": "pnpm@9.15.0",
25
+ "publishConfig": {
26
+ "access": "public",
27
+ "provenance": true
28
+ },
29
+ "main": "./dist/index.js",
30
+ "types": "./dist/index.d.ts",
31
+ "bin": {
32
+ "ak-render": "dist/cli.js"
33
+ },
34
+ "exports": {
35
+ ".": {
36
+ "types": "./dist/index.d.ts",
37
+ "import": "./dist/index.js"
38
+ },
39
+ "./package.json": "./package.json"
40
+ },
41
+ "files": [
42
+ "dist",
43
+ "LICENSE",
44
+ "README.md",
45
+ "CHANGELOG.md"
46
+ ],
47
+ "sideEffects": false,
48
+ "scripts": {
49
+ "build": "tsc -p tsconfig.build.json && node scripts/mark-cli-executable.mjs",
50
+ "typecheck": "tsc -p tsconfig.json --noEmit",
51
+ "lint": "biome check .",
52
+ "lint:fix": "biome check --write .",
53
+ "test": "vitest run",
54
+ "test:browser": "playwright test",
55
+ "test:package": "node scripts/package-smoke.mjs",
56
+ "test:clean-install": "node scripts/clean-install-verify.mjs",
57
+ "gallery:generate": "node scripts/generate-gallery.mjs",
58
+ "gallery:check": "node scripts/generate-gallery.mjs --check",
59
+ "bench:baseline": "node benchmarks/legacy-context-cost.mjs",
60
+ "bench:render": "node benchmarks/render-benchmark.mjs",
61
+ "bench:browser": "playwright test tests/browser/benchmark.spec.ts",
62
+ "bench": "pnpm build && pnpm bench:render && pnpm bench:browser",
63
+ "schema:generate": "node scripts/generate-json-schema.mjs",
64
+ "schema:check": "node scripts/generate-json-schema.mjs --check",
65
+ "snapshots:generate": "node scripts/generate-theme-snapshots.mjs",
66
+ "snapshots:check": "node scripts/generate-theme-snapshots.mjs --check",
67
+ "verify": "pnpm lint && pnpm typecheck && pnpm test && pnpm build"
68
+ },
69
+ "devDependencies": {
70
+ "@biomejs/biome": "^2.4.12",
71
+ "@playwright/test": "^1.56.0",
72
+ "@types/node": "^22.15.0",
73
+ "ajv": "^8.17.1",
74
+ "typescript": "^6.0.3",
75
+ "vitest": "^4.1.5"
76
+ },
77
+ "dependencies": {
78
+ "yaml": "^2.8.3"
79
+ }
80
+ }