@praxisjs/css 0.3.3 → 0.3.5

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 (146) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/builder/css-builder.d.ts.map +1 -1
  3. package/dist/builder/css-builder.js +68 -74
  4. package/dist/builder/css-builder.js.map +1 -1
  5. package/dist/builder/keyframes.d.ts +5 -0
  6. package/dist/builder/keyframes.d.ts.map +1 -1
  7. package/dist/builder/keyframes.js +12 -14
  8. package/dist/builder/keyframes.js.map +1 -1
  9. package/dist/cx.d.ts.map +1 -1
  10. package/dist/cx.js +23 -18
  11. package/dist/cx.js.map +1 -1
  12. package/dist/decorators/param.d.ts +1 -2
  13. package/dist/decorators/param.d.ts.map +1 -1
  14. package/dist/decorators/param.js +9 -17
  15. package/dist/decorators/param.js.map +1 -1
  16. package/dist/decorators/style.d.ts.map +1 -1
  17. package/dist/decorators/style.js +61 -33
  18. package/dist/decorators/style.js.map +1 -1
  19. package/dist/decorators/styled.d.ts.map +1 -1
  20. package/dist/decorators/styled.js +112 -95
  21. package/dist/decorators/styled.js.map +1 -1
  22. package/dist/extract.d.ts.map +1 -1
  23. package/dist/extract.js +19 -35
  24. package/dist/extract.js.map +1 -1
  25. package/dist/global.d.ts +3 -0
  26. package/dist/global.d.ts.map +1 -1
  27. package/dist/global.js +9 -4
  28. package/dist/global.js.map +1 -1
  29. package/dist/internal/kebab.d.ts +5 -0
  30. package/dist/internal/kebab.d.ts.map +1 -0
  31. package/dist/internal/kebab.js +23 -0
  32. package/dist/internal/kebab.js.map +1 -0
  33. package/dist/internal/lifecycle.d.ts +15 -0
  34. package/dist/internal/lifecycle.d.ts.map +1 -0
  35. package/dist/internal/lifecycle.js +16 -0
  36. package/dist/internal/lifecycle.js.map +1 -0
  37. package/dist/internal/registry.d.ts +5 -1
  38. package/dist/internal/registry.d.ts.map +1 -1
  39. package/dist/internal/registry.js +9 -23
  40. package/dist/internal/registry.js.map +1 -1
  41. package/dist/internal/sheet.d.ts +20 -0
  42. package/dist/internal/sheet.d.ts.map +1 -0
  43. package/dist/internal/sheet.js +56 -0
  44. package/dist/internal/sheet.js.map +1 -0
  45. package/dist/internal/static-mode.d.ts +2 -0
  46. package/dist/internal/static-mode.d.ts.map +1 -0
  47. package/dist/internal/static-mode.js +2 -0
  48. package/dist/internal/static-mode.js.map +1 -0
  49. package/dist/preflight.d.ts +3 -1
  50. package/dist/preflight.d.ts.map +1 -1
  51. package/dist/preflight.js +7 -3
  52. package/dist/preflight.js.map +1 -1
  53. package/dist/tokens/decorators.d.ts.map +1 -1
  54. package/dist/tokens/decorators.js +13 -4
  55. package/dist/tokens/decorators.js.map +1 -1
  56. package/dist/tokens/theme-instance.d.ts +5 -0
  57. package/dist/tokens/theme-instance.d.ts.map +1 -1
  58. package/dist/tokens/theme-instance.js +25 -17
  59. package/dist/tokens/theme-instance.js.map +1 -1
  60. package/dist/tokens/token-sheet.d.ts.map +1 -1
  61. package/dist/tokens/token-sheet.js +12 -9
  62. package/dist/tokens/token-sheet.js.map +1 -1
  63. package/package.json +13 -5
  64. package/src/builder/css-builder.ts +79 -83
  65. package/src/builder/keyframes.ts +12 -20
  66. package/src/cx.ts +20 -13
  67. package/src/decorators/param.ts +12 -16
  68. package/src/decorators/style.ts +79 -35
  69. package/src/decorators/styled.ts +127 -111
  70. package/src/extract.ts +18 -34
  71. package/src/global.ts +10 -9
  72. package/src/internal/kebab.ts +23 -0
  73. package/src/internal/lifecycle.ts +21 -0
  74. package/src/internal/registry.ts +9 -35
  75. package/src/internal/sheet.ts +71 -0
  76. package/src/internal/static-mode.ts +6 -0
  77. package/src/preflight.ts +8 -3
  78. package/src/tokens/decorators.ts +15 -3
  79. package/src/tokens/theme-instance.ts +26 -16
  80. package/src/tokens/token-sheet.ts +12 -12
  81. package/dist/__tests__/css-builder.test.d.ts +0 -2
  82. package/dist/__tests__/css-builder.test.d.ts.map +0 -1
  83. package/dist/__tests__/css-builder.test.js +0 -198
  84. package/dist/__tests__/css-builder.test.js.map +0 -1
  85. package/dist/__tests__/cx.test.d.ts +0 -2
  86. package/dist/__tests__/cx.test.d.ts.map +0 -1
  87. package/dist/__tests__/cx.test.js +0 -47
  88. package/dist/__tests__/cx.test.js.map +0 -1
  89. package/dist/__tests__/decorators.test.d.ts +0 -2
  90. package/dist/__tests__/decorators.test.d.ts.map +0 -1
  91. package/dist/__tests__/decorators.test.js +0 -264
  92. package/dist/__tests__/decorators.test.js.map +0 -1
  93. package/dist/__tests__/extract.test.d.ts +0 -2
  94. package/dist/__tests__/extract.test.d.ts.map +0 -1
  95. package/dist/__tests__/extract.test.js +0 -416
  96. package/dist/__tests__/extract.test.js.map +0 -1
  97. package/dist/__tests__/global.test.d.ts +0 -2
  98. package/dist/__tests__/global.test.d.ts.map +0 -1
  99. package/dist/__tests__/global.test.js +0 -136
  100. package/dist/__tests__/global.test.js.map +0 -1
  101. package/dist/__tests__/keyframes.test.d.ts +0 -2
  102. package/dist/__tests__/keyframes.test.d.ts.map +0 -1
  103. package/dist/__tests__/keyframes.test.js +0 -90
  104. package/dist/__tests__/keyframes.test.js.map +0 -1
  105. package/dist/__tests__/preflight.test.d.ts +0 -2
  106. package/dist/__tests__/preflight.test.d.ts.map +0 -1
  107. package/dist/__tests__/preflight.test.js +0 -74
  108. package/dist/__tests__/preflight.test.js.map +0 -1
  109. package/dist/__tests__/registry.test.d.ts +0 -2
  110. package/dist/__tests__/registry.test.d.ts.map +0 -1
  111. package/dist/__tests__/registry.test.js +0 -132
  112. package/dist/__tests__/registry.test.js.map +0 -1
  113. package/dist/__tests__/style.test.d.ts +0 -2
  114. package/dist/__tests__/style.test.d.ts.map +0 -1
  115. package/dist/__tests__/style.test.js +0 -281
  116. package/dist/__tests__/style.test.js.map +0 -1
  117. package/dist/__tests__/styled.test.d.ts +0 -2
  118. package/dist/__tests__/styled.test.d.ts.map +0 -1
  119. package/dist/__tests__/styled.test.js +0 -904
  120. package/dist/__tests__/styled.test.js.map +0 -1
  121. package/dist/__tests__/theme-instance.test.d.ts +0 -2
  122. package/dist/__tests__/theme-instance.test.d.ts.map +0 -1
  123. package/dist/__tests__/theme-instance.test.js +0 -309
  124. package/dist/__tests__/theme-instance.test.js.map +0 -1
  125. package/dist/__tests__/theme-uninit.test.d.ts +0 -2
  126. package/dist/__tests__/theme-uninit.test.d.ts.map +0 -1
  127. package/dist/__tests__/theme-uninit.test.js +0 -10
  128. package/dist/__tests__/theme-uninit.test.js.map +0 -1
  129. package/dist/__tests__/token-sheet.test.d.ts +0 -2
  130. package/dist/__tests__/token-sheet.test.d.ts.map +0 -1
  131. package/dist/__tests__/token-sheet.test.js +0 -74
  132. package/dist/__tests__/token-sheet.test.js.map +0 -1
  133. package/src/__tests__/css-builder.test.ts +0 -230
  134. package/src/__tests__/cx.test.ts +0 -63
  135. package/src/__tests__/decorators.test.ts +0 -127
  136. package/src/__tests__/extract.test.ts +0 -459
  137. package/src/__tests__/global.test.ts +0 -163
  138. package/src/__tests__/keyframes.test.ts +0 -103
  139. package/src/__tests__/preflight.test.ts +0 -85
  140. package/src/__tests__/registry.test.ts +0 -151
  141. package/src/__tests__/style.test.ts +0 -170
  142. package/src/__tests__/styled.test.ts +0 -443
  143. package/src/__tests__/theme-instance.test.ts +0 -374
  144. package/src/__tests__/theme-uninit.test.ts +0 -12
  145. package/src/__tests__/token-sheet.test.ts +0 -87
  146. package/tsconfig.json +0 -8
@@ -1 +0,0 @@
1
- {"version":3,"file":"styled.test.js","sourceRoot":"","sources":["../../src/__tests__/styled.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAM,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,UAAU,CAAC,GAAG,EAAE;IACd,QAAQ;SACL,IAAI;SACJ,gBAAgB,CAAC,yBAAyB,CAAC;SAC3C,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,QAAQ;SACL,IAAI;SACJ,gBAAgB,CAAC,yBAAyB,CAAC;SAC3C,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,MAAM,QAAS,SAAQ,UAAU;IAC/B,KAAK,GAAM,0CAA0C,CAAC;IACtD,QAAQ,GAAG,0CAA0C,CAAC;CACvD;AAED,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YAC7C,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YAC7C,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,EAAG,SAAQ,UAAU;YAAG,EAAE,GAAG,aAAa,CAAC;SAAE;QACnD,MAAM,EAAG,SAAQ,UAAU;YAAG,EAAE,GAAG,aAAa,CAAC;SAAE;QAEnD,MAAM,KAAK,GAAG,IAAI;;;;;;;sCAAU,MAAM,CAAC,EAAE,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAM;;;gBAAR,EAAE,qDAAM;;;;;aAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI;;;;;;;sCAAU,MAAM,CAAC,EAAE,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAM;;;gBAAR,EAAE,qDAAM;;;;;aAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACjE,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,gDAAgD;QAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE1E,uEAAuE;YACjE,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9E,sDAAsD;QACtD,KAAK,IAAI,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YAC7C,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,sDAAsD;QACtD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAmB,CAAC;QACzC,6BAA6B;QAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9E,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACnD,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAC1D,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAmB,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAmB,CAAC;QACvC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,sEAAsE;QACtE,qFAAqF;YAC/E,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAmB,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YAClD,IAAI;;;;yBAAJ,IAAI;;;wCACP,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;;;gBAAhB,IAAI,uDAAY;;;;;;QAGpC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAmB,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAmB,CAAC;QACvC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QAEf,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAE9E,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,EAAG,SAAQ,UAAU;YAAG,IAAI,GAAG,gBAAgB,CAAC;SAAE;QACxD,MAAM,EAAG,SAAQ,UAAU;YAAG,IAAI,GAAG,mBAAmB,CAAC;SAAE;YAErD,IAAI;;;;;;;yBAAJ,IAAI;;;sCACP,MAAM,CAAC,EAAE,CAAC;sCACV,MAAM,CAAC,EAAE,CAAC;oBADC,wJAAA,EAAE,6BAAF,EAAE,+EAAM;oBACR,wJAAA,EAAE,6BAAF,EAAE,+EAAM;;;gBADR,EAAE,qDAAM;gBACR,EAAE,uGAAM;;;;;;QAGtB,mCAAmC;QACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAmB,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAE9C,IAAI;oCADT,SAAS,EAAE;;;;8BACO,iBAAiB;;;;4BAAzB,SAAQ,WAAiB;;;;wCACjC,MAAM,CAAC,QAAQ,CAAC;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAY;oBADpC,6KAGC;;;oBAHK,uDAAI;;gBACU,IAAI,uDAAY;gBAClC,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;;QAGpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAE,SAAQ,UAAU;YACxB,KAAK,GAAG,EAAuB,CAAC;YAChC,KAAK,GAAG,gBAAgB,CAAC;SAC1B;YACK,IAAI;;;;yBAAJ,IAAI;;;sCACP,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAAP,EAAE,qDAAK;;;;;;QAEpB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAE,IAAI,CAAC,EAAyC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAE,SAAQ,UAAU;YACxB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;iBAC/C,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;SAC5B;YACK,IAAI;;;;yBAAJ,IAAI;;;sCACP,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAAP,EAAE,qDAAK;;;;;;QAEpB,MAAM,IAAI,GAAG,IAAI,IAAI,EAA0B,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE5C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,mFAAmF;AAEnF,SAAS,UAAU,CAAC,MAAmB;IACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACnE,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;yCAC/B,KAAK,EAAE;oBAAC,iKAAA,KAAK,6BAAL,KAAK,qFAAa;;;gBAAlB,KAAK,gDAAG,SAAS,EAAC;gBAC3B,KAAK,uDAAG,2BAA2B,EAAC;;;YAGhC,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCACjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAAP,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;QAGpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE/B,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;0CAC/B,KAAK,EAAE;oBAAC,oKAAA,MAAM,6BAAN,MAAM,uFAAa;;;gBAAnB,MAAM,iDAAG,SAAS,EAAC;gBAC5B,KAAK,wDAAG,uBAAuB,EAAC;;;YAG5B,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCAKjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAJlB;oBACE,KAAK,EAAE,CAAC;;oBACR,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjD;gBACU,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;QAGpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAmB,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAEjB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrE,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE/B,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;yCAC/B,KAAK,EAAE;oBAAC,iKAAA,KAAK,6BAAL,KAAK,qFAAU;;;gBAAf,KAAK,gDAAG,MAAM,EAAC;gBACxB,KAAK,uDAAG,sBAAsB,EAAC;;;YAG3B,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCAKjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAJlB;oBACE,KAAK,EAAE,CAAC;;oBACR,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjD;gBACU,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;QAGpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAA0B,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhE,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE/B,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;wCAC/B,KAAK,EAAE;oBAAC,8JAAA,IAAI,6BAAJ,IAAI,mFAAU;;;gBAAd,IAAI,+CAAG,MAAM,EAAC;gBACvB,KAAK,sDAAG,yBAAyB,EAAC;;;YAG9B,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCAKjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAJlB;oBACE,KAAK,EAAE,CAAC;;oBACR,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjD;gBACU,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;QAGpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAmB,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5D,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAEvB,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;yCAC/B,KAAK,EAAE;oBAAC,iKAAA,KAAK,6BAAL,KAAK,qFAAU;;;gBAAf,KAAK,gDAAG,MAAM,EAAC;gBACxB,KAAK,uDAAG,sBAAsB,EAAC;;;YAG3B,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCAKjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAJlB,YAAY,MAAe;oBACzB,KAAK,EAAE,CAAC;;oBACR,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBAClC;gBACU,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;QAGpD,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAyB,CAAC;QAC5D,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAyB,CAAC;QAC5D,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QAEf,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,EAAE,CAAC,MAAM,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;YAC/E,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;yCAC/B,KAAK,EAAE;oBAAC,iKAAA,KAAK,6BAAL,KAAK,qFAAS;;;gBAAd,KAAK,gDAAG,KAAK,EAAC;;;;;;;YAEnB,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCACjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAAP,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;QAEpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAmB,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAC1E,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;yCAE9B,KAAK,EAAU;oBAAC,iKAAA,KAAK,6BAAL,KAAK,qFAA2B;;;gBADlD,8DAA8D;gBAC5C,KAAK,gDAAG,EAAuB,EAAC;gBAClD,KAAK,uDAAG,gBAAgB,EAAC;;;YAErB,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCACjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAAP,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;QAEpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAE,IAAI,CAAC,EAAyC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAE,SAAQ,kBAAkB;YAChC,KAAK,GAAG,gBAAgB,CAAC;YACzB,WAAW,GAAG,sCAAsC,CAAC;SACtD;YACK,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCACjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAAP,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;QAEpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAE,IAAI,CAAC,EAAyC,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACnE,CAAC;8BAAS,kBAAkB;;;;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;yCAC/B,KAAK,EAAE;0CACP,KAAK,EAAE;oBADC,iKAAA,KAAK,6BAAL,KAAK,qFAAW;oBAChB,oKAAA,MAAM,6BAAN,MAAM,uFAAS;;;gBADf,KAAK,gDAAI,MAAM,EAAC;gBAChB,MAAM,qGAAG,KAAK,GAAC;gBACxB,KAAK,wDAAG,oDAAoD,EAAC;;;YAEzD,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCACjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAAP,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;;;;QAEpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAE/B,CAAC;8BAAS,kBAAkB;;;;yBAA5B,CAAE,SAAQ,WAAkB;;;yCAC/B,KAAK,EAAE;oBAAC,iKAAA,KAAK,6BAAL,KAAK,qFAAS;;;gBAAd,KAAK,gDAAG,KAAK,EAAC;gBACvB,KAAK,uDAAG,sBAAsB,EAAC;;;YAE3B,IAAI;8BAAS,iBAAiB;;;;yBAA9B,IAAK,SAAQ,WAAiB;;;sCAKjC,MAAM,CAAC,CAAC,CAAC;oBAAC,wJAAA,EAAE,6BAAF,EAAE,+EAAK;;;gBAJlB;oBACE,KAAK,EAAE,CAAC;;oBACR,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjD;gBACU,EAAE,qDAAK;gBAClB,MAAM,KAAK,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;QAEpD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAmB,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACnB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,CAAC,GAAG,EAAE;YACV,8DAA8D;YAC9D,MAAM,GAAG,GAAI,KAAa,CAAC;YAC3B,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,KAAK;gBACX,cAAc,CAAC,EAAc,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE;qBAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;aACvE,CAAC;YACF,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=theme-instance.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-instance.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/theme-instance.test.ts"],"names":[],"mappings":""}
@@ -1,309 +0,0 @@
1
- // @vitest-environment jsdom
2
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
- import { ThemeInstance, createThemeInstance, theme } from "../tokens/theme-instance";
4
- import { TokenSheet } from "../tokens/token-sheet";
5
- import { createCollector, setCollector } from "../internal/collector";
6
- // ─── Fixtures ─────────────────────────────────────────────────────────────────
7
- class AppTokens extends TokenSheet {
8
- colorPrimary;
9
- colorBg;
10
- spaceMd;
11
- }
12
- class LightTheme extends AppTokens {
13
- colorPrimary = "#3b82f6";
14
- colorBg = "#ffffff";
15
- spaceMd = "16px";
16
- }
17
- class DarkTheme extends LightTheme {
18
- colorPrimary = "#60a5fa";
19
- colorBg = "#0f172a";
20
- }
21
- class OtherTheme extends AppTokens {
22
- colorPrimary = "#10b981";
23
- colorBg = "#f0fdf4";
24
- spaceMd = "20px";
25
- }
26
- function styleEl() {
27
- return document.querySelector("style[data-praxis-theme]");
28
- }
29
- // ─── Setup / teardown ─────────────────────────────────────────────────────────
30
- beforeEach(() => {
31
- styleEl()?.remove();
32
- localStorage.clear();
33
- });
34
- afterEach(() => {
35
- styleEl()?.remove();
36
- localStorage.clear();
37
- });
38
- // ─── Construction ─────────────────────────────────────────────────────────────
39
- describe("ThemeInstance — construction", () => {
40
- it("injects a <style data-praxis-theme> element on :root", () => {
41
- const t = new ThemeInstance(LightTheme);
42
- expect(styleEl()).not.toBeNull();
43
- t.destroy();
44
- });
45
- it("injected CSS contains the correct CSS var names and values", () => {
46
- const t = new ThemeInstance(LightTheme);
47
- const css = styleEl()?.textContent ?? "";
48
- expect(css).toContain("--color-primary: #3b82f6");
49
- expect(css).toContain("--color-bg: #ffffff");
50
- expect(css).toContain("--space-md: 16px");
51
- t.destroy();
52
- });
53
- it("current returns an instance of the default theme", () => {
54
- const t = new ThemeInstance(LightTheme);
55
- expect(t.current).toBeInstanceOf(LightTheme);
56
- t.destroy();
57
- });
58
- });
59
- // ─── switch() ────────────────────────────────────────────────────────────────
60
- describe("ThemeInstance — switch()", () => {
61
- it("updates :root with new theme values", () => {
62
- const t = new ThemeInstance(LightTheme);
63
- t.switch(DarkTheme);
64
- const css = styleEl()?.textContent ?? "";
65
- expect(css).toContain("--color-primary: #60a5fa");
66
- expect(css).toContain("--color-bg: #0f172a");
67
- t.destroy();
68
- });
69
- it("current returns an instance of the new theme after switch", () => {
70
- const t = new ThemeInstance(LightTheme);
71
- t.switch(DarkTheme);
72
- expect(t.current).toBeInstanceOf(DarkTheme);
73
- t.destroy();
74
- });
75
- it("inherits values from parent theme for non-overridden keys", () => {
76
- const t = new ThemeInstance(LightTheme);
77
- t.switch(DarkTheme);
78
- const css = styleEl()?.textContent ?? "";
79
- // spaceMd is not overridden in DarkTheme — inherits from LightTheme
80
- expect(css).toContain("--space-md: 16px");
81
- t.destroy();
82
- });
83
- it("can switch back to the original theme", () => {
84
- const t = new ThemeInstance(LightTheme);
85
- t.switch(DarkTheme);
86
- t.switch(LightTheme);
87
- const css = styleEl()?.textContent ?? "";
88
- expect(css).toContain("--color-primary: #3b82f6");
89
- t.destroy();
90
- });
91
- it("only one <style> element exists after multiple switches", () => {
92
- const t = new ThemeInstance(LightTheme);
93
- t.switch(DarkTheme);
94
- t.switch(OtherTheme);
95
- expect(document.querySelectorAll("style[data-praxis-theme]").length).toBe(1);
96
- t.destroy();
97
- });
98
- });
99
- // ─── destroy() ───────────────────────────────────────────────────────────────
100
- describe("ThemeInstance — destroy()", () => {
101
- it("removes the <style> element", () => {
102
- const t = new ThemeInstance(LightTheme);
103
- expect(styleEl()).not.toBeNull();
104
- t.destroy();
105
- expect(styleEl()).toBeNull();
106
- });
107
- });
108
- // ─── persist ─────────────────────────────────────────────────────────────────
109
- describe("ThemeInstance — persist: true", () => {
110
- it("saves CSS vars to localStorage on switch()", () => {
111
- const t = new ThemeInstance(LightTheme, { persist: true });
112
- t.switch(DarkTheme);
113
- const saved = JSON.parse(localStorage.getItem("praxis-theme") ?? "{}");
114
- expect(saved["--color-primary"]).toBe("#60a5fa");
115
- expect(saved["--color-bg"]).toBe("#0f172a");
116
- t.destroy();
117
- });
118
- it("restores saved vars from localStorage on construction", () => {
119
- localStorage.setItem("praxis-theme", JSON.stringify({
120
- "--color-primary": "#ef4444",
121
- "--color-bg": "#fff1f2",
122
- }));
123
- const t = new ThemeInstance(LightTheme, { persist: true });
124
- const css = styleEl()?.textContent ?? "";
125
- expect(css).toContain("--color-primary: #ef4444");
126
- expect(css).toContain("--color-bg: #fff1f2");
127
- t.destroy();
128
- });
129
- it("falls back to default theme when localStorage is empty", () => {
130
- const t = new ThemeInstance(LightTheme, { persist: true });
131
- const css = styleEl()?.textContent ?? "";
132
- expect(css).toContain("--color-primary: #3b82f6");
133
- t.destroy();
134
- });
135
- it("does not touch localStorage when persist is false", () => {
136
- const t = new ThemeInstance(LightTheme, { persist: false });
137
- t.switch(DarkTheme);
138
- expect(localStorage.getItem("praxis-theme")).toBeNull();
139
- t.destroy();
140
- });
141
- });
142
- // ─── syncTabs ────────────────────────────────────────────────────────────────
143
- function makeBCMock(overrides = {}) {
144
- const channel = {
145
- addEventListener: vi.fn(),
146
- postMessage: vi.fn(),
147
- close: vi.fn(),
148
- ...overrides,
149
- };
150
- // BroadcastChannel must be a real constructor (not an arrow fn)
151
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
152
- function MockBC() { return channel; }
153
- vi.stubGlobal("BroadcastChannel", MockBC);
154
- return channel;
155
- }
156
- describe("ThemeInstance — syncTabs: true", () => {
157
- afterEach(() => { vi.unstubAllGlobals(); });
158
- it("closes the BroadcastChannel on destroy()", () => {
159
- const channel = makeBCMock();
160
- const t = new ThemeInstance(LightTheme, { syncTabs: true });
161
- t.destroy();
162
- expect(channel.close).toHaveBeenCalled();
163
- });
164
- it("posts vars to the channel on switch()", () => {
165
- const channel = makeBCMock();
166
- const t = new ThemeInstance(LightTheme, { syncTabs: true });
167
- t.switch(DarkTheme);
168
- expect(channel.postMessage).toHaveBeenCalledWith(expect.objectContaining({ vars: expect.objectContaining({ "--color-primary": "#60a5fa" }) }));
169
- t.destroy();
170
- });
171
- it("applies incoming broadcast vars to :root", () => {
172
- let handler = () => { };
173
- makeBCMock({
174
- addEventListener: (_type, fn) => { handler = fn; },
175
- });
176
- const t = new ThemeInstance(LightTheme, { syncTabs: true });
177
- handler({ data: { vars: { "--color-primary": "#f97316" } } });
178
- expect(styleEl()?.textContent).toContain("--color-primary: #f97316");
179
- t.destroy();
180
- });
181
- it("skips applyVarsToRoot when message has no vars", () => {
182
- let handler = () => { };
183
- makeBCMock({
184
- addEventListener: (_type, fn) => { handler = fn; },
185
- });
186
- const t = new ThemeInstance(LightTheme, { syncTabs: true });
187
- const before = styleEl()?.textContent;
188
- handler({ data: {} });
189
- expect(styleEl()?.textContent).toBe(before);
190
- t.destroy();
191
- });
192
- });
193
- // ─── createThemeInstance / theme() ───────────────────────────────────────────
194
- describe("createThemeInstance / theme()", () => {
195
- it("creates and returns a ThemeInstance", () => {
196
- const t = createThemeInstance(LightTheme);
197
- expect(t).toBeInstanceOf(ThemeInstance);
198
- expect(theme()).toBe(t);
199
- t.destroy();
200
- });
201
- it("passes config to ThemeInstance (persist)", () => {
202
- const t = createThemeInstance(LightTheme, { persist: true });
203
- t.switch(DarkTheme);
204
- expect(localStorage.getItem("praxis-theme")).not.toBeNull();
205
- t.destroy();
206
- });
207
- it("subsequent call overwrites the singleton", () => {
208
- const t1 = createThemeInstance(LightTheme);
209
- const t2 = createThemeInstance(DarkTheme);
210
- expect(theme()).toBe(t2);
211
- expect(theme()).not.toBe(t1);
212
- t2.destroy();
213
- });
214
- });
215
- // ─── #loadFromStorage error branch ───────────────────────────────────────────
216
- describe("ThemeInstance — corrupt localStorage", () => {
217
- it("falls back to default theme when stored JSON is invalid", () => {
218
- localStorage.setItem("praxis-theme", "{ not: valid }}}");
219
- const t = new ThemeInstance(LightTheme, { persist: true });
220
- expect(styleEl()?.textContent).toContain("--color-primary: #3b82f6");
221
- t.destroy();
222
- });
223
- });
224
- // ─── Numeric token values (instanceToVars number branch) ─────────────────────
225
- describe("ThemeInstance — numeric token values", () => {
226
- it("converts number token values to CSS var strings and skips non-string/non-number values", () => {
227
- class NumericTheme {
228
- opacity = 0.9; // number
229
- fontSize = 14; // number
230
- colorText = "#111"; // string
231
- nested = { x: 1 }; // object — must be skipped
232
- }
233
- const t = new ThemeInstance(NumericTheme);
234
- const css = styleEl()?.textContent ?? "";
235
- expect(css).toContain("--opacity: 0.9");
236
- expect(css).toContain("--font-size: 14");
237
- expect(css).toContain("--color-text: #111");
238
- expect(css).not.toContain("--nested");
239
- t.destroy();
240
- });
241
- });
242
- // ─── SSR — document undefined ────────────────────────────────────────────────
243
- describe("ThemeInstance — SSR (document === undefined)", () => {
244
- afterEach(() => { vi.unstubAllGlobals(); });
245
- it("constructor does not throw when document is undefined", () => {
246
- vi.stubGlobal("document", undefined);
247
- expect(() => new ThemeInstance(LightTheme)).not.toThrow();
248
- });
249
- it("switch() does not throw when document is undefined", () => {
250
- vi.stubGlobal("document", undefined);
251
- const t = new ThemeInstance(LightTheme);
252
- expect(() => t.switch(DarkTheme)).not.toThrow();
253
- });
254
- it("destroy() does not throw when document is undefined", () => {
255
- vi.stubGlobal("document", undefined);
256
- const t = new ThemeInstance(LightTheme);
257
- expect(() => t.destroy()).not.toThrow();
258
- });
259
- it("broadcast message handler does not throw when document is undefined", () => {
260
- let handler = () => { };
261
- makeBCMock({
262
- addEventListener: (_type, fn) => { handler = fn; },
263
- });
264
- const t = new ThemeInstance(LightTheme, { syncTabs: true });
265
- vi.stubGlobal("document", undefined);
266
- // applyVarsToRoot is called directly from the broadcast handler — its own
267
- // SSR guard (line 18) must short-circuit without throwing
268
- expect(() => handler({ data: { vars: { "--color-primary": "#f97316" } } })).not.toThrow();
269
- t.destroy();
270
- });
271
- });
272
- // ─── Collector routing (applyVarsToRoot) ─────────────────────────────────────
273
- describe("ThemeInstance — collector routing", () => {
274
- afterEach(() => { setCollector(null); });
275
- it("routes :root injection through the collector when one is active", () => {
276
- const col = createCollector();
277
- setCollector(col);
278
- new ThemeInstance(LightTheme);
279
- expect(col.getCSS()).toContain("--color-primary: #3b82f6");
280
- expect(document.querySelector("style[data-praxis-theme]")).toBeNull();
281
- });
282
- it("collector receives :root CSS on switch() too", () => {
283
- const col = createCollector();
284
- new ThemeInstance(LightTheme); // initial inject without collector
285
- setCollector(col);
286
- const t = new ThemeInstance(DarkTheme);
287
- expect(col.getCSS()).toContain("--color-primary: #60a5fa");
288
- t.destroy();
289
- });
290
- });
291
- // ─── BroadcastChannel unavailable ────────────────────────────────────────────
292
- describe("ThemeInstance — BroadcastChannel unavailable", () => {
293
- afterEach(() => { vi.unstubAllGlobals(); });
294
- it("does not throw when BroadcastChannel is undefined with syncTabs: true", () => {
295
- vi.stubGlobal("BroadcastChannel", undefined);
296
- const t = new ThemeInstance(LightTheme, { syncTabs: true });
297
- expect(styleEl()).not.toBeNull();
298
- t.destroy();
299
- });
300
- });
301
- // ─── theme() before createThemeInstance ──────────────────────────────────────
302
- describe("theme() — not yet initialized", () => {
303
- it("throws a descriptive error when called before createThemeInstance", async () => {
304
- vi.resetModules();
305
- const { theme: freshTheme } = await import("../tokens/theme-instance");
306
- expect(() => freshTheme()).toThrow("[PraxisJS] theme() called before @Themed()");
307
- });
308
- });
309
- //# sourceMappingURL=theme-instance.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-instance.test.js","sourceRoot":"","sources":["../../src/__tests__/theme-instance.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=theme-uninit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-uninit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/theme-uninit.test.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- // @vitest-environment jsdom
2
- // Isolated file — createThemeInstance() is never called here, so _instance starts null.
3
- import { describe, it, expect } from "vitest";
4
- import { theme } from "../tokens/theme-instance";
5
- describe("theme() — uninitialized", () => {
6
- it("throws when @Themed() was never applied", () => {
7
- expect(() => theme()).toThrow("[PraxisJS] theme() called before @Themed() was applied to the root component.");
8
- });
9
- });
10
- //# sourceMappingURL=theme-uninit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme-uninit.test.js","sourceRoot":"","sources":["../../src/__tests__/theme-uninit.test.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,wFAAwF;AACxF,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEjD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAC3B,+EAA+E,CAChF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=token-sheet.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-sheet.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/token-sheet.test.ts"],"names":[],"mappings":""}
@@ -1,74 +0,0 @@
1
- import { describe, it, expect } from "vitest";
2
- import { TokenSheet, tokenVars } from "../tokens/token-sheet";
3
- // ─── Fixtures ─────────────────────────────────────────────────────────────────
4
- class AppTokens extends TokenSheet {
5
- colorPrimary;
6
- colorBg;
7
- spaceMd;
8
- radiusFull;
9
- }
10
- class LightTheme extends AppTokens {
11
- colorPrimary = "#3b82f6";
12
- colorBg = "#ffffff";
13
- spaceMd = "16px";
14
- radiusFull = "9999px";
15
- }
16
- class DarkTheme extends LightTheme {
17
- colorPrimary = "#60a5fa";
18
- colorBg = "#0f172a";
19
- }
20
- // ─── TokenSheet static refs ───────────────────────────────────────────────────
21
- const asRecord = (cls) => cls;
22
- describe("TokenSheet — static CSS var references", () => {
23
- it("camelCase key → var(--kebab-case)", () => {
24
- expect(asRecord(AppTokens).colorPrimary).toBe("var(--color-primary)");
25
- });
26
- it("multi-capital camelCase → correct kebab", () => {
27
- class T extends TokenSheet {
28
- spacingXxLarge;
29
- }
30
- expect(asRecord(T).spacingXxLarge).toBe("var(--spacing-xx-large)");
31
- });
32
- it("single-word key → var(--word)", () => {
33
- class T extends TokenSheet {
34
- size;
35
- }
36
- expect(asRecord(T).size).toBe("var(--size)");
37
- });
38
- it("subclass inherits static refs from the skeleton", () => {
39
- expect(asRecord(LightTheme).colorPrimary).toBe("var(--color-primary)");
40
- expect(asRecord(DarkTheme).colorPrimary).toBe("var(--color-primary)");
41
- });
42
- it("built-in static props are not intercepted", () => {
43
- expect(typeof AppTokens.prototype).toBe("object");
44
- expect(typeof AppTokens.name).toBe("string");
45
- });
46
- it("props starting with _ are not intercepted", () => {
47
- expect(asRecord(AppTokens)._internal).toBeUndefined();
48
- });
49
- it("props starting with $ are not intercepted", () => {
50
- expect(asRecord(AppTokens).$root).toBeUndefined();
51
- });
52
- it("different token names produce different var strings", () => {
53
- expect(asRecord(AppTokens).colorPrimary).not.toBe(asRecord(AppTokens).colorBg);
54
- });
55
- });
56
- // ─── tokenVars ────────────────────────────────────────────────────────────────
57
- describe("tokenVars()", () => {
58
- it("returns CSS var refs for all declared fields", () => {
59
- const t = tokenVars(AppTokens);
60
- expect(t.colorPrimary).toBe("var(--color-primary)");
61
- expect(t.colorBg).toBe("var(--color-bg)");
62
- expect(t.spaceMd).toBe("var(--space-md)");
63
- expect(t.radiusFull).toBe("var(--radius-full)");
64
- });
65
- it("works on theme subclasses (inherits skeleton fields)", () => {
66
- const t = tokenVars(DarkTheme);
67
- expect(t.colorPrimary).toBe("var(--color-primary)");
68
- expect(t.colorBg).toBe("var(--color-bg)");
69
- });
70
- it("is the same object reference as the class (no extra allocation)", () => {
71
- expect(tokenVars(AppTokens)).toBe(AppTokens);
72
- });
73
- });
74
- //# sourceMappingURL=token-sheet.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token-sheet.test.js","sourceRoot":"","sources":["../../src/__tests__/token-sheet.test.ts"],"names":[],"mappings":"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"}