@hypen-space/web 0.4.980 → 0.5.2

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 (169) hide show
  1. package/README.md +20 -13
  2. package/dist/canvas/events.js +46 -7
  3. package/dist/canvas/events.js.map +1 -1
  4. package/dist/canvas/index.d.ts +0 -1
  5. package/dist/canvas/index.js +0 -1
  6. package/dist/canvas/index.js.map +1 -1
  7. package/dist/canvas/layout.js +68 -98
  8. package/dist/canvas/layout.js.map +1 -1
  9. package/dist/canvas/paint.js +168 -71
  10. package/dist/canvas/paint.js.map +1 -1
  11. package/dist/canvas/renderer.d.ts +8 -3
  12. package/dist/canvas/renderer.js +32 -43
  13. package/dist/canvas/renderer.js.map +1 -1
  14. package/dist/canvas/text.js +2 -9
  15. package/dist/canvas/text.js.map +1 -1
  16. package/dist/canvas/types.d.ts +3 -0
  17. package/dist/canvas/utils.d.ts +0 -23
  18. package/dist/canvas/utils.js +3 -67
  19. package/dist/canvas/utils.js.map +1 -1
  20. package/dist/canvas/variants.d.ts +49 -0
  21. package/dist/canvas/variants.js +137 -0
  22. package/dist/canvas/variants.js.map +1 -0
  23. package/dist/dom/applicators/events.js +1 -0
  24. package/dist/dom/applicators/events.js.map +1 -1
  25. package/dist/dom/applicators/font.d.ts +11 -6
  26. package/dist/dom/applicators/font.js +16 -27
  27. package/dist/dom/applicators/font.js.map +1 -1
  28. package/dist/dom/applicators/index.js +47 -45
  29. package/dist/dom/applicators/index.js.map +1 -1
  30. package/dist/dom/canvas/index.js +2 -2
  31. package/dist/dom/canvas/index.js.map +1 -1
  32. package/dist/dom/components/app.js +2 -2
  33. package/dist/dom/components/app.js.map +1 -1
  34. package/dist/dom/components/audio.js +2 -2
  35. package/dist/dom/components/audio.js.map +1 -1
  36. package/dist/dom/components/avatar.js +3 -4
  37. package/dist/dom/components/avatar.js.map +1 -1
  38. package/dist/dom/components/badge.js +3 -4
  39. package/dist/dom/components/badge.js.map +1 -1
  40. package/dist/dom/components/button.js +2 -2
  41. package/dist/dom/components/button.js.map +1 -1
  42. package/dist/dom/components/card.js +2 -2
  43. package/dist/dom/components/card.js.map +1 -1
  44. package/dist/dom/components/center.js +2 -2
  45. package/dist/dom/components/center.js.map +1 -1
  46. package/dist/dom/components/checkbox.js +4 -5
  47. package/dist/dom/components/checkbox.js.map +1 -1
  48. package/dist/dom/components/column.js +2 -2
  49. package/dist/dom/components/column.js.map +1 -1
  50. package/dist/dom/components/container.js +2 -2
  51. package/dist/dom/components/container.js.map +1 -1
  52. package/dist/dom/components/divider.js +2 -2
  53. package/dist/dom/components/divider.js.map +1 -1
  54. package/dist/dom/components/grid.js +10 -10
  55. package/dist/dom/components/grid.js.map +1 -1
  56. package/dist/dom/components/heading.js +4 -6
  57. package/dist/dom/components/heading.js.map +1 -1
  58. package/dist/dom/components/hypenapp.js +2 -2
  59. package/dist/dom/components/hypenapp.js.map +1 -1
  60. package/dist/dom/components/icon.js +4 -5
  61. package/dist/dom/components/icon.js.map +1 -1
  62. package/dist/dom/components/image.js +2 -2
  63. package/dist/dom/components/image.js.map +1 -1
  64. package/dist/dom/components/index.d.ts +2 -2
  65. package/dist/dom/components/index.js +2 -2
  66. package/dist/dom/components/index.js.map +1 -1
  67. package/dist/dom/components/input.js +2 -2
  68. package/dist/dom/components/input.js.map +1 -1
  69. package/dist/dom/components/link.js +2 -2
  70. package/dist/dom/components/link.js.map +1 -1
  71. package/dist/dom/components/list.js +2 -2
  72. package/dist/dom/components/list.js.map +1 -1
  73. package/dist/dom/components/paragraph.js +3 -4
  74. package/dist/dom/components/paragraph.js.map +1 -1
  75. package/dist/dom/components/progressbar.js +3 -3
  76. package/dist/dom/components/progressbar.js.map +1 -1
  77. package/dist/dom/components/route.js +2 -2
  78. package/dist/dom/components/route.js.map +1 -1
  79. package/dist/dom/components/router.js +2 -2
  80. package/dist/dom/components/router.js.map +1 -1
  81. package/dist/dom/components/row.js +10 -10
  82. package/dist/dom/components/row.js.map +1 -1
  83. package/dist/dom/components/select.js +3 -4
  84. package/dist/dom/components/select.js.map +1 -1
  85. package/dist/dom/components/slider.js +2 -2
  86. package/dist/dom/components/slider.js.map +1 -1
  87. package/dist/dom/components/spacer.js +2 -2
  88. package/dist/dom/components/spacer.js.map +1 -1
  89. package/dist/dom/components/spinner.js +4 -4
  90. package/dist/dom/components/spinner.js.map +1 -1
  91. package/dist/dom/components/stack.js +10 -10
  92. package/dist/dom/components/stack.js.map +1 -1
  93. package/dist/dom/components/switch.js +5 -6
  94. package/dist/dom/components/switch.js.map +1 -1
  95. package/dist/dom/components/text.js +4 -7
  96. package/dist/dom/components/text.js.map +1 -1
  97. package/dist/dom/components/textarea.js +2 -2
  98. package/dist/dom/components/textarea.js.map +1 -1
  99. package/dist/dom/components/video.js +2 -2
  100. package/dist/dom/components/video.js.map +1 -1
  101. package/dist/dom/debug.js +6 -8
  102. package/dist/dom/debug.js.map +1 -1
  103. package/dist/dom/index.d.ts +0 -1
  104. package/dist/dom/index.js +0 -1
  105. package/dist/dom/index.js.map +1 -1
  106. package/dist/dom/renderer.js +2 -3
  107. package/dist/dom/renderer.js.map +1 -1
  108. package/dist/variants.d.ts +90 -0
  109. package/dist/variants.js +206 -0
  110. package/dist/variants.js.map +1 -0
  111. package/package.json +2 -2
  112. package/src/canvas/QUICKSTART.md +12 -7
  113. package/src/canvas/README.md +8 -5
  114. package/src/canvas/events.ts +49 -7
  115. package/src/canvas/index.ts +0 -8
  116. package/src/canvas/layout.ts +68 -103
  117. package/src/canvas/paint.ts +172 -69
  118. package/src/canvas/renderer.ts +38 -46
  119. package/src/canvas/text.ts +2 -9
  120. package/src/canvas/types.ts +14 -0
  121. package/src/canvas/utils.ts +3 -69
  122. package/src/canvas/variants.ts +153 -0
  123. package/src/dom/README.md +8 -7
  124. package/src/dom/applicators/events.ts +1 -0
  125. package/src/dom/applicators/font.ts +16 -29
  126. package/src/dom/applicators/index.ts +56 -46
  127. package/src/dom/canvas/index.ts +2 -2
  128. package/src/dom/components/app.ts +2 -2
  129. package/src/dom/components/audio.ts +2 -2
  130. package/src/dom/components/avatar.ts +3 -4
  131. package/src/dom/components/badge.ts +3 -4
  132. package/src/dom/components/button.ts +2 -2
  133. package/src/dom/components/card.ts +2 -2
  134. package/src/dom/components/center.ts +2 -2
  135. package/src/dom/components/checkbox.ts +4 -5
  136. package/src/dom/components/column.ts +2 -2
  137. package/src/dom/components/container.ts +2 -2
  138. package/src/dom/components/divider.ts +2 -2
  139. package/src/dom/components/grid.ts +10 -10
  140. package/src/dom/components/heading.ts +4 -6
  141. package/src/dom/components/hypenapp.ts +2 -2
  142. package/src/dom/components/icon.ts +4 -5
  143. package/src/dom/components/image.ts +2 -2
  144. package/src/dom/components/index.ts +3 -3
  145. package/src/dom/components/input.ts +2 -2
  146. package/src/dom/components/link.ts +2 -2
  147. package/src/dom/components/list.ts +2 -2
  148. package/src/dom/components/paragraph.ts +3 -4
  149. package/src/dom/components/progressbar.ts +3 -3
  150. package/src/dom/components/route.ts +2 -2
  151. package/src/dom/components/router.ts +2 -2
  152. package/src/dom/components/row.ts +10 -10
  153. package/src/dom/components/select.ts +3 -4
  154. package/src/dom/components/slider.ts +2 -2
  155. package/src/dom/components/spacer.ts +2 -2
  156. package/src/dom/components/spinner.ts +4 -4
  157. package/src/dom/components/stack.ts +10 -10
  158. package/src/dom/components/switch.ts +5 -6
  159. package/src/dom/components/text.ts +4 -7
  160. package/src/dom/components/textarea.ts +2 -2
  161. package/src/dom/components/video.ts +2 -2
  162. package/src/dom/debug.ts +6 -8
  163. package/src/dom/index.ts +0 -8
  164. package/src/dom/renderer.ts +2 -3
  165. package/src/variants.ts +249 -0
  166. package/dist/client.d.ts +0 -36
  167. package/dist/client.js +0 -47
  168. package/dist/client.js.map +0 -1
  169. package/src/client.ts +0 -88
@@ -2,8 +2,8 @@
2
2
  * Text Component
3
3
  */
4
4
  export const textHandler = {
5
- create(doc) {
6
- const el = doc.createElement("span");
5
+ create() {
6
+ const el = document.createElement("span");
7
7
  // Use inline-block for proper flex child behavior
8
8
  el.style.display = "inline-block";
9
9
  // Tight line-height to match iOS/Android
@@ -16,11 +16,8 @@ export const textHandler = {
16
16
  return el;
17
17
  },
18
18
  applyProps(el, props) {
19
- // Text content from first positional arg or "text" prop. Use `??` (not
20
- // `||`) so the literal number `0`, `false`, and the empty string still
21
- // render — `||` falls through on falsy values and a bound `0` was
22
- // disappearing entirely on web while iOS rendered it correctly.
23
- const text = props["0"] ?? props.text;
19
+ // Text content from first positional arg or "text" prop
20
+ const text = props["0"] || props.text;
24
21
  if (text !== undefined) {
25
22
  // Store the original text template for state interpolation
26
23
  el.dataset.textTemplate = String(text);
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/dom/components/text.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,MAAM,CAAC,GAAa;QAClB,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,kDAAkD;QAClD,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC;QAClC,yCAAyC;QACzC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,4DAA4D;QAC5D,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QACvB,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,gEAAgE;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,2DAA2D;YAC3D,EAAE,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/dom/components/text.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,MAAM;QACJ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC1C,kDAAkD;QAClD,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC;QAClC,yCAAyC;QACzC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,4DAA4D;QAC5D,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/B,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;QACvB,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,wDAAwD;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,2DAA2D;YAC3D,EAAE,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACvC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * Textarea Component
3
3
  */
4
4
  export const textareaHandler = {
5
- create(doc) {
6
- const el = doc.createElement("textarea");
5
+ create() {
6
+ const el = document.createElement("textarea");
7
7
  el.dataset.hypenType = "textarea";
8
8
  // Same user-agent reset as Input — otherwise `.tw(...)` styling draws
9
9
  // over a native dark border and inset shadow.
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/dom/components/textarea.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,MAAM,CAAC,GAAa;QAClB,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;QAClC,sEAAsE;QACtE,8CAA8C;QAC9C,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC;QACpC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC1B,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3B,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,OAAO,EAAiB,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,MAAM,QAAQ,GAAG,EAAyB,CAAC;QAE3C,mFAAmF;QACnF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,cAAc;QACd,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/dom/components/textarea.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,MAAM;QACJ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC;QAClC,sEAAsE;QACtE,8CAA8C;QAC9C,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC;QACpC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QAC1B,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3B,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACzB,OAAO,EAAiB,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,MAAM,QAAQ,GAAG,EAAyB,CAAC;QAE3C,mFAAmF;QACnF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,cAAc;QACd,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * Video Component
3
3
  */
4
4
  export const videoHandler = {
5
- create(doc) {
6
- const el = doc.createElement("video");
5
+ create() {
6
+ const el = document.createElement("video");
7
7
  el.dataset.hypenType = "video";
8
8
  return el;
9
9
  },
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/dom/components/video.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,MAAM,CAAC,GAAa;QAClB,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACtC,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAwB,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,MAAM,KAAK,GAAG,EAAsB,CAAC;QAErC,SAAS;QACT,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;QACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,QAAQ;QACR,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,SAAS;QACT,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/dom/components/video.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,MAAM;QACJ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QAC/B,OAAO,EAAwB,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,EAAe,EAAE,KAA0B;QACpD,MAAM,KAAK,GAAG,EAAsB,CAAC;QAErC,SAAS;QACT,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC;QACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO;QACP,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,QAAQ;QACR,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,SAAS;QACT,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;CACF,CAAC"}
package/dist/dom/debug.js CHANGED
@@ -51,13 +51,11 @@ export class RerenderTracker {
51
51
  * Create or update the heatmap overlay for an element
52
52
  */
53
53
  updateHeatmap(id, element, renderCount, patchType) {
54
- const doc = element.ownerDocument;
55
- const win = doc.defaultView ?? window;
56
54
  // Calculate opacity based on render count (increment by heatmapIncrement% each time)
57
55
  const opacity = Math.min((renderCount * this.config.heatmapIncrement) / 100, this.config.maxOpacity);
58
56
  log.debug(`Updating heatmap for ${id}, count: ${renderCount}, opacity: ${opacity}`);
59
57
  // For inline elements or text, use a simpler approach: background color + outline
60
- const isInline = win.getComputedStyle(element).display.includes('inline');
58
+ const isInline = window.getComputedStyle(element).display.includes('inline');
61
59
  if (isInline || element.tagName === 'SPAN') {
62
60
  // Store original styles if not already stored
63
61
  if (!element.dataset.hypenDebugOriginalBg) {
@@ -73,8 +71,8 @@ export class RerenderTracker {
73
71
  // Add count badge as ::before pseudo-element or data attribute
74
72
  element.setAttribute('data-hypen-renders', `${renderCount}× ${patchType}`);
75
73
  // Add CSS for the badge if not already added
76
- if (!doc.getElementById('hypen-debug-styles')) {
77
- const style = doc.createElement('style');
74
+ if (!document.getElementById('hypen-debug-styles')) {
75
+ const style = document.createElement('style');
78
76
  style.id = 'hypen-debug-styles';
79
77
  style.textContent = `
80
78
  [data-hypen-renders]::before {
@@ -95,7 +93,7 @@ export class RerenderTracker {
95
93
  text-shadow: none;
96
94
  }
97
95
  `;
98
- doc.head.appendChild(style);
96
+ document.head.appendChild(style);
99
97
  }
100
98
  // Store in overlays map for cleanup
101
99
  this.overlays.set(id, element);
@@ -114,7 +112,7 @@ export class RerenderTracker {
114
112
  // For block elements, use overlay approach
115
113
  let overlay = this.overlays.get(id);
116
114
  if (!overlay) {
117
- overlay = doc.createElement("div");
115
+ overlay = document.createElement("div");
118
116
  overlay.className = "hypen-debug-overlay";
119
117
  overlay.style.cssText = `
120
118
  position: absolute;
@@ -136,7 +134,7 @@ export class RerenderTracker {
136
134
  display: block !important;
137
135
  visibility: visible !important;
138
136
  `;
139
- const currentPosition = win.getComputedStyle(element).position;
137
+ const currentPosition = window.getComputedStyle(element).position;
140
138
  if (currentPosition === 'static') {
141
139
  element.style.position = 'relative';
142
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/dom/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/dom/debug.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,3 @@ export { ComponentRegistry } from "./components/index.js";
8
8
  export { ApplicatorRegistry } from "./applicators/index.js";
9
9
  export { EventManager } from "./events.js";
10
10
  export { RerenderTracker, type DebugConfig, defaultDebugConfig } from "./debug.js";
11
- export { createDomClient as createHypenClient, createDomClient, type DomClient as HypenClient, type DomClient, type DomClientOptions as HypenClientOptions, type DomClientOptions, } from "../client.js";
package/dist/dom/index.js CHANGED
@@ -8,5 +8,4 @@ export { ComponentRegistry } from "./components/index.js";
8
8
  export { ApplicatorRegistry } from "./applicators/index.js";
9
9
  export { EventManager } from "./events.js";
10
10
  export { RerenderTracker, defaultDebugConfig } from "./debug.js";
11
- export { createDomClient as createHypenClient, createDomClient, } from "../client.js";
12
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAoB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EACL,eAAe,IAAI,iBAAiB,EACpC,eAAe,GAKhB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAoB,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -257,13 +257,12 @@ export class DOMRenderer {
257
257
  */
258
258
  onCreate(id, elementType, props) {
259
259
  const propsObj = props instanceof Map ? Object.fromEntries(props) : props;
260
- const doc = this.container.ownerDocument;
261
- let element = this.components.createElement(elementType, propsObj, doc);
260
+ let element = this.components.createElement(elementType, propsObj);
262
261
  if (!element) {
263
262
  // For unknown component types, create a transparent container (div).
264
263
  // This handles module wrappers (like "App") and custom components
265
264
  // that aren't registered but should act as layout containers.
266
- const fallback = doc.createElement("div");
265
+ const fallback = document.createElement("div");
267
266
  fallback.dataset.hypenType = elementType.toLowerCase();
268
267
  fallback.style.display = "contents"; // Make container transparent in layout
269
268
  element = fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/dom/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/dom/renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Shared variant (responsive breakpoint + interaction state) support.
3
+ *
4
+ * The engine emits applicator props using the canonical key format:
5
+ *
6
+ * <camelBase><variant?><argSuffix>
7
+ *
8
+ * - camelBase: camelCase applicator name, e.g. "padding", "backgroundColor"
9
+ * - variant?: "@<bp>" and/or ":<state>", in that order if combined.
10
+ * bp in { sm, md, lg, xl, 2xl }
11
+ * state in { hover, focus, active, disabled,
12
+ * focus-visible, focus-within }
13
+ * combined example: "backgroundColor@md:hover" (BOTH md AND hover)
14
+ * - argSuffix: ".<index>" (almost always ".0") or ".<name>" for named args.
15
+ *
16
+ * Examples emitted by the engine:
17
+ * "padding.0", "padding@md.0", "backgroundColor:hover.0",
18
+ * "backgroundColor@md:hover.0".
19
+ *
20
+ * IMPORTANT: the variant marker sits BETWEEN the base name and the ".0" arg
21
+ * suffix. A lookup that forgets the ".0" (e.g. building just "padding@md")
22
+ * MISSES the real key. Always parse the variant out of the full key.
23
+ *
24
+ * Both the DOM applicator path and the Canvas renderer import this module so
25
+ * breakpoint pixels, state names, and precedence stay byte-compatible across
26
+ * renderers. The DOM renderer leans on the CSS engine for actual resolution
27
+ * (media queries + pseudo-classes), so it only needs PARSE_* here; Canvas does
28
+ * its own paint/layout and therefore also uses the runtime resolver.
29
+ */
30
+ /**
31
+ * Tailwind breakpoint min-widths (px). Order matters: ascending min-width.
32
+ * Mirrors the DOM `BREAKPOINTS` table and the iOS reference.
33
+ */
34
+ export declare const BREAKPOINTS: Record<string, number>;
35
+ /** Breakpoint names in ascending min-width order (sm < md < lg < xl < 2xl). */
36
+ export declare const BREAKPOINT_ORDER: readonly string[];
37
+ /** Interaction-state names recognised in variant keys (same set as the DOM). */
38
+ export declare const VALID_STATES: readonly string[];
39
+ /** Parsed shape of a single prop key. */
40
+ export interface ParsedVariantKey {
41
+ /** camelCase base applicator name, e.g. "backgroundColor". */
42
+ base: string;
43
+ /** Breakpoint name (sm/md/lg/xl/2xl) or null if none. */
44
+ breakpoint: string | null;
45
+ /** Interaction state name or null if none. */
46
+ state: string | null;
47
+ /** Arg suffix without the leading dot (e.g. "0", "to"), or null if none. */
48
+ arg: string | null;
49
+ }
50
+ /**
51
+ * Parse a prop key into `{ base, breakpoint, state, arg }`.
52
+ *
53
+ * Splits the arg suffix first (the LAST `.<token>`), then peels the variant
54
+ * markers (`@bp` and/or `:state`) off the remainder. An unknown breakpoint or
55
+ * state is left as part of the base name (caller decides what to do); this
56
+ * matches the DOM behaviour where an invalid `@invalid` / `:invalid` simply
57
+ * never matches a real variant.
58
+ *
59
+ * Examples:
60
+ * "padding.0" -> { base:"padding", breakpoint:null, state:null, arg:"0" }
61
+ * "padding@md.0" -> { base:"padding", breakpoint:"md", state:null, arg:"0" }
62
+ * "backgroundColor:hover.0" -> { base:"backgroundColor", breakpoint:null, state:"hover", arg:"0" }
63
+ * "backgroundColor@md:hover.0" -> { base:"backgroundColor", breakpoint:"md", state:"hover", arg:"0" }
64
+ * "backgroundColor@md:hover" -> { base:"backgroundColor", breakpoint:"md", state:"hover", arg:null }
65
+ */
66
+ export declare function parseVariantKey(key: string): ParsedVariantKey;
67
+ /** The set of interaction states currently active on a node. */
68
+ export interface ActiveStates {
69
+ hover?: boolean;
70
+ focus?: boolean;
71
+ active?: boolean;
72
+ disabled?: boolean;
73
+ "focus-visible"?: boolean;
74
+ "focus-within"?: boolean;
75
+ }
76
+ /**
77
+ * Resolve variant-bearing props against the current viewport width and active
78
+ * interaction states, producing a flat map of `base -> winning value`.
79
+ *
80
+ * Input keys are the already-normalised flat applicator keys (variant markers
81
+ * present, arg suffix already stripped by the applicator-grouping pass), e.g.
82
+ * `{ padding: 8, "padding@md": 16, "backgroundColor:hover": "red" }`.
83
+ *
84
+ * Only bases that actually have at least one applicable variant appear in the
85
+ * result with an overridden value; a base with only its plain entry resolves to
86
+ * that plain value. The caller merges the result over the node's base props.
87
+ */
88
+ export declare function resolveVariantProps(props: Record<string, unknown>, width: number, states: ActiveStates): Record<string, unknown>;
89
+ /** True if any key in `props` carries a variant marker (`@bp` or `:state`). */
90
+ export declare function hasVariantProps(props: Record<string, unknown>): boolean;
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Shared variant (responsive breakpoint + interaction state) support.
3
+ *
4
+ * The engine emits applicator props using the canonical key format:
5
+ *
6
+ * <camelBase><variant?><argSuffix>
7
+ *
8
+ * - camelBase: camelCase applicator name, e.g. "padding", "backgroundColor"
9
+ * - variant?: "@<bp>" and/or ":<state>", in that order if combined.
10
+ * bp in { sm, md, lg, xl, 2xl }
11
+ * state in { hover, focus, active, disabled,
12
+ * focus-visible, focus-within }
13
+ * combined example: "backgroundColor@md:hover" (BOTH md AND hover)
14
+ * - argSuffix: ".<index>" (almost always ".0") or ".<name>" for named args.
15
+ *
16
+ * Examples emitted by the engine:
17
+ * "padding.0", "padding@md.0", "backgroundColor:hover.0",
18
+ * "backgroundColor@md:hover.0".
19
+ *
20
+ * IMPORTANT: the variant marker sits BETWEEN the base name and the ".0" arg
21
+ * suffix. A lookup that forgets the ".0" (e.g. building just "padding@md")
22
+ * MISSES the real key. Always parse the variant out of the full key.
23
+ *
24
+ * Both the DOM applicator path and the Canvas renderer import this module so
25
+ * breakpoint pixels, state names, and precedence stay byte-compatible across
26
+ * renderers. The DOM renderer leans on the CSS engine for actual resolution
27
+ * (media queries + pseudo-classes), so it only needs PARSE_* here; Canvas does
28
+ * its own paint/layout and therefore also uses the runtime resolver.
29
+ */
30
+ /**
31
+ * Tailwind breakpoint min-widths (px). Order matters: ascending min-width.
32
+ * Mirrors the DOM `BREAKPOINTS` table and the iOS reference.
33
+ */
34
+ export const BREAKPOINTS = {
35
+ sm: 640,
36
+ md: 768,
37
+ lg: 1024,
38
+ xl: 1280,
39
+ "2xl": 1536,
40
+ };
41
+ /** Breakpoint names in ascending min-width order (sm < md < lg < xl < 2xl). */
42
+ export const BREAKPOINT_ORDER = ["sm", "md", "lg", "xl", "2xl"];
43
+ /** Interaction-state names recognised in variant keys (same set as the DOM). */
44
+ export const VALID_STATES = [
45
+ "hover",
46
+ "focus",
47
+ "active",
48
+ "disabled",
49
+ "focus-visible",
50
+ "focus-within",
51
+ ];
52
+ const VALID_STATE_SET = new Set(VALID_STATES);
53
+ /**
54
+ * Parse a prop key into `{ base, breakpoint, state, arg }`.
55
+ *
56
+ * Splits the arg suffix first (the LAST `.<token>`), then peels the variant
57
+ * markers (`@bp` and/or `:state`) off the remainder. An unknown breakpoint or
58
+ * state is left as part of the base name (caller decides what to do); this
59
+ * matches the DOM behaviour where an invalid `@invalid` / `:invalid` simply
60
+ * never matches a real variant.
61
+ *
62
+ * Examples:
63
+ * "padding.0" -> { base:"padding", breakpoint:null, state:null, arg:"0" }
64
+ * "padding@md.0" -> { base:"padding", breakpoint:"md", state:null, arg:"0" }
65
+ * "backgroundColor:hover.0" -> { base:"backgroundColor", breakpoint:null, state:"hover", arg:"0" }
66
+ * "backgroundColor@md:hover.0" -> { base:"backgroundColor", breakpoint:"md", state:"hover", arg:"0" }
67
+ * "backgroundColor@md:hover" -> { base:"backgroundColor", breakpoint:"md", state:"hover", arg:null }
68
+ */
69
+ export function parseVariantKey(key) {
70
+ let work = key;
71
+ let arg = null;
72
+ // Peel the arg suffix: the segment after the LAST dot, but only if that dot
73
+ // comes AFTER any variant markers (so we never split inside "focus-within"
74
+ // — that has no dot — and never treat "padding" alone as having an arg).
75
+ const lastDot = work.lastIndexOf(".");
76
+ if (lastDot > 0) {
77
+ arg = work.slice(lastDot + 1);
78
+ work = work.slice(0, lastDot);
79
+ }
80
+ // Peel the state marker (":state") off the end of the remainder.
81
+ let state = null;
82
+ const colon = work.indexOf(":");
83
+ if (colon !== -1) {
84
+ const candidate = work.slice(colon + 1);
85
+ if (VALID_STATE_SET.has(candidate)) {
86
+ state = candidate;
87
+ work = work.slice(0, colon);
88
+ }
89
+ }
90
+ // Peel the breakpoint marker ("@bp").
91
+ let breakpoint = null;
92
+ const at = work.indexOf("@");
93
+ if (at !== -1) {
94
+ const candidate = work.slice(at + 1);
95
+ if (candidate in BREAKPOINTS) {
96
+ breakpoint = candidate;
97
+ work = work.slice(0, at);
98
+ }
99
+ }
100
+ return { base: work, breakpoint, state, arg };
101
+ }
102
+ /**
103
+ * Precedence rank for a parsed variant (higher wins). Combines the breakpoint
104
+ * tier and the state tier into a single sortable number.
105
+ *
106
+ * Precedence (low -> high), later overrides earlier:
107
+ * base
108
+ * < breakpoints ascending (sm < md < lg < xl < 2xl)
109
+ * < disabled < hover < focus < active
110
+ *
111
+ * State always outranks any breakpoint (a `:hover` override beats a `@2xl`
112
+ * sizing override on the same prop), matching the iOS reference where state
113
+ * overrides are merged AFTER the responsive base. Within the same state tier,
114
+ * a higher breakpoint still breaks the tie so `@md:hover` beats `:hover`.
115
+ */
116
+ const STATE_RANK = {
117
+ disabled: 1,
118
+ hover: 2,
119
+ // focus-visible / focus-within are focus-flavoured states: they share the
120
+ // `focus` precedence slot (NOT base/0) so they outrank hover and lose to
121
+ // active, matching the engine's `state_rank` in portable/variant.rs.
122
+ focus: 3,
123
+ "focus-visible": 3,
124
+ "focus-within": 3,
125
+ active: 4,
126
+ };
127
+ // State tier must be weighted by a value strictly greater than the largest
128
+ // possible breakpoint tier so the bp tiebreak can never leak across state
129
+ // bands (mirrors the engine's STATE_STEP > max-breakpoint invariant). Derived
130
+ // from BREAKPOINT_ORDER.length so adding breakpoints can't silently break it.
131
+ const STATE_WEIGHT = BREAKPOINT_ORDER.length + 1;
132
+ function variantRank(breakpoint, state) {
133
+ const bpTier = breakpoint ? BREAKPOINT_ORDER.indexOf(breakpoint) + 1 : 0; // 0..len
134
+ const stateTier = state ? STATE_RANK[state] ?? 0 : 0; // 0..4
135
+ // State tier dominates; breakpoint tier breaks ties within a state tier.
136
+ return stateTier * STATE_WEIGHT + bpTier;
137
+ }
138
+ /**
139
+ * Is a parsed variant currently applicable, given the viewport width and the
140
+ * active interaction states? A combined key requires BOTH conditions.
141
+ */
142
+ function variantApplies(parsed, width, states) {
143
+ if (parsed.breakpoint) {
144
+ const minWidth = BREAKPOINTS[parsed.breakpoint];
145
+ if (minWidth === undefined || width < minWidth)
146
+ return false;
147
+ }
148
+ if (parsed.state) {
149
+ if (!states[parsed.state])
150
+ return false;
151
+ }
152
+ return true;
153
+ }
154
+ /**
155
+ * Resolve variant-bearing props against the current viewport width and active
156
+ * interaction states, producing a flat map of `base -> winning value`.
157
+ *
158
+ * Input keys are the already-normalised flat applicator keys (variant markers
159
+ * present, arg suffix already stripped by the applicator-grouping pass), e.g.
160
+ * `{ padding: 8, "padding@md": 16, "backgroundColor:hover": "red" }`.
161
+ *
162
+ * Only bases that actually have at least one applicable variant appear in the
163
+ * result with an overridden value; a base with only its plain entry resolves to
164
+ * that plain value. The caller merges the result over the node's base props.
165
+ */
166
+ export function resolveVariantProps(props, width, states) {
167
+ // base -> { value, rank }
168
+ const winners = new Map();
169
+ for (const key of Object.keys(props)) {
170
+ const parsed = parseVariantKey(key);
171
+ // Only consider entries that carry a variant marker. Plain keys (no bp/state)
172
+ // are the base and are handled implicitly via rank 0 below so a base with a
173
+ // single applicable variant still falls back to base when the variant is off.
174
+ if (!parsed.breakpoint && !parsed.state) {
175
+ // Seed the base value at rank 0 so variant lookups have a fallback and so
176
+ // a base that ALSO has variants resolves correctly when none apply.
177
+ const existing = winners.get(parsed.base);
178
+ if (!existing || existing.rank === 0) {
179
+ winners.set(parsed.base, { value: props[key], rank: 0 });
180
+ }
181
+ continue;
182
+ }
183
+ if (!variantApplies(parsed, width, states))
184
+ continue;
185
+ const rank = variantRank(parsed.breakpoint, parsed.state);
186
+ const existing = winners.get(parsed.base);
187
+ if (!existing || rank >= existing.rank) {
188
+ winners.set(parsed.base, { value: props[key], rank });
189
+ }
190
+ }
191
+ const out = {};
192
+ for (const [base, win] of winners) {
193
+ out[base] = win.value;
194
+ }
195
+ return out;
196
+ }
197
+ /** True if any key in `props` carries a variant marker (`@bp` or `:state`). */
198
+ export function hasVariantProps(props) {
199
+ for (const key of Object.keys(props)) {
200
+ const parsed = parseVariantKey(key);
201
+ if (parsed.breakpoint || parsed.state)
202
+ return true;
203
+ }
204
+ return false;
205
+ }
206
+ //# sourceMappingURL=variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.js","sourceRoot":"","sources":["../src/variants.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypen-space/web",
3
- "version": "0.4.980",
3
+ "version": "0.5.2",
4
4
  "description": "Hypen web renderers - DOM and Canvas rendering for browsers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@chenglou/pretext": "^0.0.3",
46
- "@hypen-space/core": "^0.4.980",
46
+ "@hypen-space/core": "^0.5.2",
47
47
  "taffy-layout": "^2.0.3"
48
48
  },
49
49
  "devDependencies": {