@easemate/web-kit 0.1.5 → 0.3.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 (414) hide show
  1. package/README.md +360 -168
  2. package/build/decorators.cjs +921 -0
  3. package/build/decorators.cjs.map +1 -0
  4. package/build/decorators.d.cts +123 -0
  5. package/build/decorators.d.ts +123 -0
  6. package/build/decorators.js +889 -0
  7. package/build/decorators.js.map +1 -0
  8. package/build/elements.cjs +27604 -0
  9. package/build/elements.cjs.map +1 -0
  10. package/build/elements.d.cts +373 -0
  11. package/build/elements.d.ts +373 -0
  12. package/build/elements.js +27528 -0
  13. package/build/elements.js.map +1 -0
  14. package/build/{elements/monitor/index.d.ts → index-31iOHBv0.d.cts} +26 -5
  15. package/build/{elements/monitor/index.d.cts → index-31iOHBv0.d.ts} +26 -5
  16. package/build/index-NzGpn7ai.d.cts +70 -0
  17. package/build/index-NzGpn7ai.d.ts +70 -0
  18. package/build/index-qZoNKsHn.d.cts +136 -0
  19. package/build/index-qZoNKsHn.d.ts +136 -0
  20. package/build/index.cjs +38651 -38
  21. package/build/index.cjs.map +1 -0
  22. package/build/index.d.cts +85 -6
  23. package/build/index.d.ts +85 -6
  24. package/build/index.js +38535 -12
  25. package/build/index.js.map +1 -0
  26. package/build/init-B7gNNyTd.d.ts +235 -0
  27. package/build/init-DwVGVxkx.d.cts +235 -0
  28. package/build/jsx.cjs +31 -0
  29. package/build/jsx.cjs.map +1 -0
  30. package/build/jsx.d.cts +317 -0
  31. package/build/jsx.d.ts +317 -0
  32. package/build/jsx.js +6 -0
  33. package/build/jsx.js.map +1 -0
  34. package/build/outside-click-rZ3Di_WX.d.cts +16 -0
  35. package/build/outside-click-rZ3Di_WX.d.ts +16 -0
  36. package/build/react.cjs +37827 -0
  37. package/build/react.cjs.map +1 -0
  38. package/build/react.d.cts +356 -0
  39. package/build/react.d.ts +356 -0
  40. package/build/react.js +37802 -0
  41. package/build/react.js.map +1 -0
  42. package/build/register.cjs +35832 -35
  43. package/build/register.cjs.map +1 -0
  44. package/build/register.d.cts +4 -32
  45. package/build/register.d.ts +4 -32
  46. package/build/register.js +35831 -34
  47. package/build/register.js.map +1 -0
  48. package/build/register.server.cjs +19 -0
  49. package/build/register.server.cjs.map +1 -0
  50. package/build/register.server.d.cts +2 -0
  51. package/build/register.server.d.ts +2 -0
  52. package/build/register.server.js +1 -0
  53. package/build/register.server.js.map +1 -0
  54. package/build/registry-9GX9KTG1.d.cts +264 -0
  55. package/build/registry-9GX9KTG1.d.ts +264 -0
  56. package/build/template-helpers-CguLXtLD.d.cts +10 -0
  57. package/build/template-helpers-CguLXtLD.d.ts +10 -0
  58. package/build/theme.cjs +746 -0
  59. package/build/theme.cjs.map +1 -0
  60. package/build/{theme/index.d.cts → theme.d.cts} +41 -21
  61. package/build/{theme/index.d.ts → theme.d.ts} +41 -21
  62. package/build/theme.js +692 -0
  63. package/build/theme.js.map +1 -0
  64. package/build/utils.cjs +205 -0
  65. package/build/utils.cjs.map +1 -0
  66. package/build/utils.d.cts +26 -0
  67. package/build/utils.d.ts +26 -0
  68. package/build/utils.js +167 -0
  69. package/build/utils.js.map +1 -0
  70. package/package.json +57 -29
  71. package/build/components/code/index.cjs +0 -152
  72. package/build/components/code/index.d.cts +0 -11
  73. package/build/components/code/index.d.ts +0 -11
  74. package/build/components/code/index.js +0 -148
  75. package/build/components/code/utils/highlight-api.cjs +0 -18
  76. package/build/components/code/utils/highlight-api.d.cts +0 -7
  77. package/build/components/code/utils/highlight-api.d.ts +0 -7
  78. package/build/components/code/utils/highlight-api.js +0 -14
  79. package/build/components/code/utils/syntax-grammars.cjs +0 -62
  80. package/build/components/code/utils/syntax-grammars.d.cts +0 -7
  81. package/build/components/code/utils/syntax-grammars.d.ts +0 -7
  82. package/build/components/code/utils/syntax-grammars.js +0 -59
  83. package/build/components/code/utils/syntax-highlighter-theme.cjs +0 -27
  84. package/build/components/code/utils/syntax-highlighter-theme.d.cts +0 -3
  85. package/build/components/code/utils/syntax-highlighter-theme.d.ts +0 -3
  86. package/build/components/code/utils/syntax-highlighter-theme.js +0 -23
  87. package/build/components/code/utils/syntax-highlighter-types.cjs +0 -2
  88. package/build/components/code/utils/syntax-highlighter-types.d.cts +0 -12
  89. package/build/components/code/utils/syntax-highlighter-types.d.ts +0 -12
  90. package/build/components/code/utils/syntax-highlighter-types.js +0 -1
  91. package/build/components/code/utils/syntax-tokenizer.cjs +0 -63
  92. package/build/components/code/utils/syntax-tokenizer.d.cts +0 -3
  93. package/build/components/code/utils/syntax-tokenizer.d.ts +0 -3
  94. package/build/components/code/utils/syntax-tokenizer.js +0 -58
  95. package/build/components/curve/bezier-conversion.cjs +0 -23
  96. package/build/components/curve/bezier-conversion.d.cts +0 -2
  97. package/build/components/curve/bezier-conversion.d.ts +0 -2
  98. package/build/components/curve/bezier-conversion.js +0 -19
  99. package/build/components/curve/canvas-controls.cjs +0 -300
  100. package/build/components/curve/canvas-controls.d.cts +0 -12
  101. package/build/components/curve/canvas-controls.d.ts +0 -12
  102. package/build/components/curve/canvas-controls.js +0 -296
  103. package/build/components/curve/canvas.cjs +0 -1208
  104. package/build/components/curve/canvas.d.cts +0 -24
  105. package/build/components/curve/canvas.d.ts +0 -24
  106. package/build/components/curve/canvas.js +0 -1204
  107. package/build/components/curve/constants.cjs +0 -203
  108. package/build/components/curve/constants.d.cts +0 -23
  109. package/build/components/curve/constants.d.ts +0 -23
  110. package/build/components/curve/constants.js +0 -200
  111. package/build/components/curve/controls.cjs +0 -942
  112. package/build/components/curve/controls.d.cts +0 -37
  113. package/build/components/curve/controls.d.ts +0 -37
  114. package/build/components/curve/controls.js +0 -938
  115. package/build/components/curve/index.cjs +0 -335
  116. package/build/components/curve/index.d.cts +0 -31
  117. package/build/components/curve/index.d.ts +0 -31
  118. package/build/components/curve/index.js +0 -330
  119. package/build/components/curve/output.cjs +0 -141
  120. package/build/components/curve/output.d.cts +0 -19
  121. package/build/components/curve/output.d.ts +0 -19
  122. package/build/components/curve/output.js +0 -137
  123. package/build/components/curve/styles.cjs +0 -493
  124. package/build/components/curve/styles.d.cts +0 -6
  125. package/build/components/curve/styles.d.ts +0 -6
  126. package/build/components/curve/styles.js +0 -490
  127. package/build/components/curve/svg-renderer.cjs +0 -185
  128. package/build/components/curve/svg-renderer.d.cts +0 -9
  129. package/build/components/curve/svg-renderer.d.ts +0 -9
  130. package/build/components/curve/svg-renderer.js +0 -175
  131. package/build/components/curve/toolbar.cjs +0 -368
  132. package/build/components/curve/toolbar.d.cts +0 -26
  133. package/build/components/curve/toolbar.d.ts +0 -26
  134. package/build/components/curve/toolbar.js +0 -364
  135. package/build/components/curve/types.cjs +0 -10
  136. package/build/components/curve/types.d.cts +0 -33
  137. package/build/components/curve/types.d.ts +0 -33
  138. package/build/components/curve/types.js +0 -7
  139. package/build/components/curve/utils.cjs +0 -541
  140. package/build/components/curve/utils.d.cts +0 -33
  141. package/build/components/curve/utils.d.ts +0 -33
  142. package/build/components/curve/utils.js +0 -521
  143. package/build/components/index.cjs +0 -18
  144. package/build/components/index.d.cts +0 -2
  145. package/build/components/index.d.ts +0 -2
  146. package/build/components/index.js +0 -2
  147. package/build/decorators/Component.cjs +0 -127
  148. package/build/decorators/Component.d.cts +0 -28
  149. package/build/decorators/Component.d.ts +0 -28
  150. package/build/decorators/Component.js +0 -123
  151. package/build/decorators/Listen.cjs +0 -154
  152. package/build/decorators/Listen.d.cts +0 -18
  153. package/build/decorators/Listen.d.ts +0 -18
  154. package/build/decorators/Listen.js +0 -151
  155. package/build/decorators/OutsideClick.cjs +0 -64
  156. package/build/decorators/OutsideClick.d.cts +0 -16
  157. package/build/decorators/OutsideClick.d.ts +0 -16
  158. package/build/decorators/OutsideClick.js +0 -59
  159. package/build/decorators/Prop.cjs +0 -273
  160. package/build/decorators/Prop.d.cts +0 -22
  161. package/build/decorators/Prop.d.ts +0 -22
  162. package/build/decorators/Prop.js +0 -270
  163. package/build/decorators/Query.cjs +0 -79
  164. package/build/decorators/Query.d.cts +0 -27
  165. package/build/decorators/Query.d.ts +0 -27
  166. package/build/decorators/Query.js +0 -76
  167. package/build/decorators/Watch.cjs +0 -52
  168. package/build/decorators/Watch.d.cts +0 -11
  169. package/build/decorators/Watch.d.ts +0 -11
  170. package/build/decorators/Watch.js +0 -49
  171. package/build/decorators/index.cjs +0 -15
  172. package/build/decorators/index.d.cts +0 -6
  173. package/build/decorators/index.d.ts +0 -6
  174. package/build/decorators/index.js +0 -6
  175. package/build/elements/button/index.cjs +0 -214
  176. package/build/elements/button/index.d.cts +0 -11
  177. package/build/elements/button/index.d.ts +0 -11
  178. package/build/elements/button/index.js +0 -210
  179. package/build/elements/checkbox/index.cjs +0 -316
  180. package/build/elements/checkbox/index.d.cts +0 -14
  181. package/build/elements/checkbox/index.d.ts +0 -14
  182. package/build/elements/checkbox/index.js +0 -312
  183. package/build/elements/color/index.cjs +0 -154
  184. package/build/elements/color/index.d.cts +0 -18
  185. package/build/elements/color/index.d.ts +0 -18
  186. package/build/elements/color/index.js +0 -150
  187. package/build/elements/color/picker.cjs +0 -544
  188. package/build/elements/color/picker.d.cts +0 -37
  189. package/build/elements/color/picker.d.ts +0 -37
  190. package/build/elements/color/picker.js +0 -540
  191. package/build/elements/color/utils.cjs +0 -235
  192. package/build/elements/color/utils.d.cts +0 -37
  193. package/build/elements/color/utils.d.ts +0 -37
  194. package/build/elements/color/utils.js +0 -218
  195. package/build/elements/dropdown/index.cjs +0 -875
  196. package/build/elements/dropdown/index.d.cts +0 -30
  197. package/build/elements/dropdown/index.d.ts +0 -30
  198. package/build/elements/dropdown/index.js +0 -871
  199. package/build/elements/field/index.cjs +0 -82
  200. package/build/elements/field/index.d.cts +0 -4
  201. package/build/elements/field/index.d.ts +0 -4
  202. package/build/elements/field/index.js +0 -78
  203. package/build/elements/icons/animation/chevron.cjs +0 -57
  204. package/build/elements/icons/animation/chevron.d.cts +0 -10
  205. package/build/elements/icons/animation/chevron.d.ts +0 -10
  206. package/build/elements/icons/animation/chevron.js +0 -53
  207. package/build/elements/icons/animation/clear.cjs +0 -74
  208. package/build/elements/icons/animation/clear.d.cts +0 -3
  209. package/build/elements/icons/animation/clear.d.ts +0 -3
  210. package/build/elements/icons/animation/clear.js +0 -70
  211. package/build/elements/icons/animation/grid.cjs +0 -77
  212. package/build/elements/icons/animation/grid.d.cts +0 -8
  213. package/build/elements/icons/animation/grid.d.ts +0 -8
  214. package/build/elements/icons/animation/grid.js +0 -73
  215. package/build/elements/icons/animation/loading.cjs +0 -68
  216. package/build/elements/icons/animation/loading.d.cts +0 -3
  217. package/build/elements/icons/animation/loading.d.ts +0 -3
  218. package/build/elements/icons/animation/loading.js +0 -64
  219. package/build/elements/icons/animation/snap.cjs +0 -133
  220. package/build/elements/icons/animation/snap.d.cts +0 -8
  221. package/build/elements/icons/animation/snap.d.ts +0 -8
  222. package/build/elements/icons/animation/snap.js +0 -129
  223. package/build/elements/icons/index.cjs +0 -40
  224. package/build/elements/icons/index.d.cts +0 -24
  225. package/build/elements/icons/index.d.ts +0 -24
  226. package/build/elements/icons/index.js +0 -24
  227. package/build/elements/icons/interface/anchor-add.cjs +0 -35
  228. package/build/elements/icons/interface/anchor-add.d.cts +0 -3
  229. package/build/elements/icons/interface/anchor-add.d.ts +0 -3
  230. package/build/elements/icons/interface/anchor-add.js +0 -31
  231. package/build/elements/icons/interface/anchor-remove.cjs +0 -34
  232. package/build/elements/icons/interface/anchor-remove.d.cts +0 -3
  233. package/build/elements/icons/interface/anchor-remove.d.ts +0 -3
  234. package/build/elements/icons/interface/anchor-remove.js +0 -30
  235. package/build/elements/icons/interface/arrow-up.cjs +0 -30
  236. package/build/elements/icons/interface/arrow-up.d.cts +0 -3
  237. package/build/elements/icons/interface/arrow-up.d.ts +0 -3
  238. package/build/elements/icons/interface/arrow-up.js +0 -26
  239. package/build/elements/icons/interface/arrows-vertical.cjs +0 -30
  240. package/build/elements/icons/interface/arrows-vertical.d.cts +0 -3
  241. package/build/elements/icons/interface/arrows-vertical.d.ts +0 -3
  242. package/build/elements/icons/interface/arrows-vertical.js +0 -26
  243. package/build/elements/icons/interface/bezier-angle.cjs +0 -33
  244. package/build/elements/icons/interface/bezier-angle.d.cts +0 -3
  245. package/build/elements/icons/interface/bezier-angle.d.ts +0 -3
  246. package/build/elements/icons/interface/bezier-angle.js +0 -29
  247. package/build/elements/icons/interface/bezier-distribute.cjs +0 -34
  248. package/build/elements/icons/interface/bezier-distribute.d.cts +0 -3
  249. package/build/elements/icons/interface/bezier-distribute.d.ts +0 -3
  250. package/build/elements/icons/interface/bezier-distribute.js +0 -30
  251. package/build/elements/icons/interface/bezier-length.cjs +0 -31
  252. package/build/elements/icons/interface/bezier-length.d.cts +0 -3
  253. package/build/elements/icons/interface/bezier-length.d.ts +0 -3
  254. package/build/elements/icons/interface/bezier-length.js +0 -27
  255. package/build/elements/icons/interface/bezier-mirror.cjs +0 -31
  256. package/build/elements/icons/interface/bezier-mirror.d.cts +0 -3
  257. package/build/elements/icons/interface/bezier-mirror.d.ts +0 -3
  258. package/build/elements/icons/interface/bezier-mirror.js +0 -27
  259. package/build/elements/icons/interface/bezier.cjs +0 -26
  260. package/build/elements/icons/interface/bezier.d.cts +0 -3
  261. package/build/elements/icons/interface/bezier.d.ts +0 -3
  262. package/build/elements/icons/interface/bezier.js +0 -22
  263. package/build/elements/icons/interface/check.cjs +0 -30
  264. package/build/elements/icons/interface/check.d.cts +0 -3
  265. package/build/elements/icons/interface/check.d.ts +0 -3
  266. package/build/elements/icons/interface/check.js +0 -26
  267. package/build/elements/icons/interface/circle-arrow-left.cjs +0 -30
  268. package/build/elements/icons/interface/circle-arrow-left.d.cts +0 -3
  269. package/build/elements/icons/interface/circle-arrow-left.d.ts +0 -3
  270. package/build/elements/icons/interface/circle-arrow-left.js +0 -26
  271. package/build/elements/icons/interface/circle-arrow-right.cjs +0 -30
  272. package/build/elements/icons/interface/circle-arrow-right.d.cts +0 -3
  273. package/build/elements/icons/interface/circle-arrow-right.d.ts +0 -3
  274. package/build/elements/icons/interface/circle-arrow-right.js +0 -26
  275. package/build/elements/icons/interface/code.cjs +0 -30
  276. package/build/elements/icons/interface/code.d.cts +0 -3
  277. package/build/elements/icons/interface/code.d.ts +0 -3
  278. package/build/elements/icons/interface/code.js +0 -26
  279. package/build/elements/icons/interface/dots.cjs +0 -32
  280. package/build/elements/icons/interface/dots.d.cts +0 -3
  281. package/build/elements/icons/interface/dots.d.ts +0 -3
  282. package/build/elements/icons/interface/dots.js +0 -28
  283. package/build/elements/icons/interface/mention.cjs +0 -30
  284. package/build/elements/icons/interface/mention.d.cts +0 -3
  285. package/build/elements/icons/interface/mention.d.ts +0 -3
  286. package/build/elements/icons/interface/mention.js +0 -26
  287. package/build/elements/icons/interface/minus.cjs +0 -30
  288. package/build/elements/icons/interface/minus.d.cts +0 -3
  289. package/build/elements/icons/interface/minus.d.ts +0 -3
  290. package/build/elements/icons/interface/minus.js +0 -26
  291. package/build/elements/icons/interface/picker.cjs +0 -34
  292. package/build/elements/icons/interface/picker.d.cts +0 -3
  293. package/build/elements/icons/interface/picker.d.ts +0 -3
  294. package/build/elements/icons/interface/picker.js +0 -30
  295. package/build/elements/icons/interface/plus.cjs +0 -30
  296. package/build/elements/icons/interface/plus.d.cts +0 -3
  297. package/build/elements/icons/interface/plus.d.ts +0 -3
  298. package/build/elements/icons/interface/plus.js +0 -26
  299. package/build/elements/icons/interface/settings.cjs +0 -30
  300. package/build/elements/icons/interface/settings.d.cts +0 -3
  301. package/build/elements/icons/interface/settings.d.ts +0 -3
  302. package/build/elements/icons/interface/settings.js +0 -26
  303. package/build/elements/index.cjs +0 -62
  304. package/build/elements/index.d.cts +0 -22
  305. package/build/elements/index.d.ts +0 -22
  306. package/build/elements/index.js +0 -22
  307. package/build/elements/input/index.cjs +0 -273
  308. package/build/elements/input/index.d.cts +0 -17
  309. package/build/elements/input/index.d.ts +0 -17
  310. package/build/elements/input/index.js +0 -269
  311. package/build/elements/logo/index.cjs +0 -732
  312. package/build/elements/logo/index.d.cts +0 -17
  313. package/build/elements/logo/index.d.ts +0 -17
  314. package/build/elements/logo/index.js +0 -728
  315. package/build/elements/monitor/fps.cjs +0 -432
  316. package/build/elements/monitor/fps.d.cts +0 -21
  317. package/build/elements/monitor/fps.d.ts +0 -21
  318. package/build/elements/monitor/fps.js +0 -428
  319. package/build/elements/monitor/index.cjs +0 -670
  320. package/build/elements/monitor/index.js +0 -666
  321. package/build/elements/number/index.cjs +0 -173
  322. package/build/elements/number/index.d.cts +0 -19
  323. package/build/elements/number/index.d.ts +0 -19
  324. package/build/elements/number/index.js +0 -169
  325. package/build/elements/origin/index.cjs +0 -169
  326. package/build/elements/origin/index.d.cts +0 -12
  327. package/build/elements/origin/index.d.ts +0 -12
  328. package/build/elements/origin/index.js +0 -165
  329. package/build/elements/popover/index.cjs +0 -209
  330. package/build/elements/popover/index.d.cts +0 -19
  331. package/build/elements/popover/index.d.ts +0 -19
  332. package/build/elements/popover/index.js +0 -205
  333. package/build/elements/radio/index.cjs +0 -301
  334. package/build/elements/radio/index.d.cts +0 -13
  335. package/build/elements/radio/index.d.ts +0 -13
  336. package/build/elements/radio/index.js +0 -283
  337. package/build/elements/radio/input.cjs +0 -329
  338. package/build/elements/radio/input.d.cts +0 -15
  339. package/build/elements/radio/input.d.ts +0 -15
  340. package/build/elements/radio/input.js +0 -325
  341. package/build/elements/radio/option.cjs +0 -15
  342. package/build/elements/radio/option.d.cts +0 -3
  343. package/build/elements/radio/option.d.ts +0 -3
  344. package/build/elements/radio/option.js +0 -11
  345. package/build/elements/shared.cjs +0 -66
  346. package/build/elements/shared.d.cts +0 -40
  347. package/build/elements/shared.d.ts +0 -40
  348. package/build/elements/shared.js +0 -59
  349. package/build/elements/slider/index.cjs +0 -232
  350. package/build/elements/slider/index.d.cts +0 -20
  351. package/build/elements/slider/index.d.ts +0 -20
  352. package/build/elements/slider/index.js +0 -228
  353. package/build/elements/state/index.cjs +0 -681
  354. package/build/elements/state/index.d.cts +0 -86
  355. package/build/elements/state/index.d.ts +0 -86
  356. package/build/elements/state/index.js +0 -677
  357. package/build/elements/toggle/index.cjs +0 -151
  358. package/build/elements/toggle/index.d.cts +0 -9
  359. package/build/elements/toggle/index.d.ts +0 -9
  360. package/build/elements/toggle/index.js +0 -147
  361. package/build/elements/tooltip/index.cjs +0 -187
  362. package/build/elements/tooltip/index.d.cts +0 -17
  363. package/build/elements/tooltip/index.d.ts +0 -17
  364. package/build/elements/tooltip/index.js +0 -183
  365. package/build/init.cjs +0 -325
  366. package/build/init.d.cts +0 -157
  367. package/build/init.d.ts +0 -157
  368. package/build/init.js +0 -289
  369. package/build/internal/component-loaders.cjs +0 -206
  370. package/build/internal/component-loaders.d.cts +0 -52
  371. package/build/internal/component-loaders.d.ts +0 -52
  372. package/build/internal/component-loaders.js +0 -167
  373. package/build/internal/fonts.cjs +0 -128
  374. package/build/internal/fonts.d.cts +0 -32
  375. package/build/internal/fonts.d.ts +0 -32
  376. package/build/internal/fonts.js +0 -123
  377. package/build/internal/lazy-load.cjs +0 -89
  378. package/build/internal/lazy-load.d.cts +0 -32
  379. package/build/internal/lazy-load.d.ts +0 -32
  380. package/build/internal/lazy-load.js +0 -86
  381. package/build/internal/style-inject.cjs +0 -236
  382. package/build/internal/style-inject.d.cts +0 -44
  383. package/build/internal/style-inject.d.ts +0 -44
  384. package/build/internal/style-inject.js +0 -226
  385. package/build/theme/index.cjs +0 -452
  386. package/build/theme/index.js +0 -423
  387. package/build/theme/presets.cjs +0 -54
  388. package/build/theme/presets.d.cts +0 -19
  389. package/build/theme/presets.d.ts +0 -19
  390. package/build/theme/presets.js +0 -51
  391. package/build/theme/registry.cjs +0 -204
  392. package/build/theme/registry.d.cts +0 -99
  393. package/build/theme/registry.d.ts +0 -99
  394. package/build/theme/registry.js +0 -194
  395. package/build/theme/tokens.cjs +0 -148
  396. package/build/theme/tokens.d.cts +0 -163
  397. package/build/theme/tokens.d.ts +0 -163
  398. package/build/theme/tokens.js +0 -145
  399. package/build/utils/dismiss-controller.cjs +0 -77
  400. package/build/utils/dismiss-controller.d.cts +0 -14
  401. package/build/utils/dismiss-controller.d.ts +0 -14
  402. package/build/utils/dismiss-controller.js +0 -73
  403. package/build/utils/index.cjs +0 -18
  404. package/build/utils/index.d.cts +0 -3
  405. package/build/utils/index.d.ts +0 -3
  406. package/build/utils/index.js +0 -3
  407. package/build/utils/outside-click.cjs +0 -82
  408. package/build/utils/outside-click.d.cts +0 -18
  409. package/build/utils/outside-click.d.ts +0 -18
  410. package/build/utils/outside-click.js +0 -74
  411. package/build/utils/template-helpers.cjs +0 -39
  412. package/build/utils/template-helpers.d.cts +0 -13
  413. package/build/utils/template-helpers.d.ts +0 -13
  414. package/build/utils/template-helpers.js +0 -28
@@ -0,0 +1,356 @@
1
+ import { T as TabChangeEventDetail } from './index-NzGpn7ai.cjs';
2
+ import { C as ControlEventDetail, S as StateChangeEventDetail } from './index-qZoNKsHn.cjs';
3
+ export { ButtonElement, ButtonProps, CheckboxElement, CheckboxProps, CodeProps, ColorInputElement, ColorInputProps, ControlEventDetail, CurveElement, CurveProps, DropdownElement, DropdownProps, EaseElements, FieldElement, FieldProps, InputElement, InputProps, LogoLoaderProps, MonitorFpsProps, MonitorProps, NumberInputElement, NumberInputProps, OriginElement, OriginProps, PanelElement, PanelProps, PopoverElement, PopoverProps, RadioGroupElement, RadioGroupProps, RadioInputProps, SliderElement, SliderProps, StateElement, StateProps, TabChangeEventDetail, ToggleElement, ToggleProps, TooltipElement, TooltipProps, __JSX_TYPES_LOADED__ } from './jsx.cjs';
4
+ import { I as InitWebKitOptions, d as WebKitController } from './init-DwVGVxkx.cjs';
5
+ import 'lit-html';
6
+ import './registry-9GX9KTG1.cjs';
7
+
8
+ /**
9
+ * React type definitions for @easemate/web-kit
10
+ *
11
+ * These types are provided for consumers using React/Next.js with this library.
12
+ * React is NOT a dependency of this package - these are interface definitions only.
13
+ */
14
+
15
+ /**
16
+ * Ref type for the ease-state web component
17
+ */
18
+ interface EaseStateRef extends HTMLElement {
19
+ /** Get the current state object */
20
+ readonly state: Record<string, unknown>;
21
+ /** Get a specific control value */
22
+ get(name: string): unknown;
23
+ /** Set a specific control value */
24
+ set(name: string, value: unknown): void;
25
+ /** Subscribe to state changes */
26
+ subscribe(callback: (value: unknown, name: string) => void): {
27
+ unsubscribe: () => void;
28
+ };
29
+ subscribe(name: string, callback: (value: unknown, name: string) => void): {
30
+ unsubscribe: () => void;
31
+ };
32
+ /** Reset all controls to initial values */
33
+ reset(): void;
34
+ }
35
+ /**
36
+ * Ref type for the ease-panel web component
37
+ */
38
+ interface EasePanelRef extends HTMLElement {
39
+ /** Current active tab index */
40
+ activeTab: number;
41
+ /** Get the tab configuration */
42
+ readonly tabs: ReadonlyArray<{
43
+ id: string;
44
+ label: string;
45
+ }>;
46
+ /** Switch to a specific tab */
47
+ setTab(index: number): void;
48
+ }
49
+
50
+ /**
51
+ * Generic control element interface
52
+ */
53
+ interface EaseControlElement extends HTMLElement {
54
+ name?: string;
55
+ value?: unknown;
56
+ checked?: boolean;
57
+ disabled?: boolean;
58
+ }
59
+
60
+ /**
61
+ * React event handling utilities for @easemate/web-kit
62
+ */
63
+
64
+ /**
65
+ * Control change event type for React
66
+ */
67
+ interface ControlChangeEvent<T = unknown> extends CustomEvent<ControlEventDetail<T>> {
68
+ detail: ControlEventDetail<T>;
69
+ }
70
+ /**
71
+ * State change event type for React
72
+ */
73
+ interface StateChangeEvent extends CustomEvent<StateChangeEventDetail> {
74
+ detail: StateChangeEventDetail;
75
+ }
76
+ /**
77
+ * Tab change event type for React
78
+ */
79
+ interface TabChangeEvent extends CustomEvent<TabChangeEventDetail> {
80
+ detail: TabChangeEventDetail;
81
+ }
82
+ /**
83
+ * Creates a type-safe event handler for control-change events.
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * <ease-slider
88
+ * name="opacity"
89
+ * value={0.5}
90
+ * onControlChange={createEventHandler<number>((value, name) => {
91
+ * console.log(`${name} changed to ${value}`);
92
+ * })}
93
+ * />
94
+ * ```
95
+ */
96
+ declare function createEventHandler<T = unknown>(callback: (value: T, name: string | undefined, event: Event) => void): (e: CustomEvent<ControlEventDetail<T>>) => void;
97
+
98
+ /**
99
+ * React context provider for @easemate/web-kit
100
+ *
101
+ * This module provides a simple way to initialize the web kit in a React context.
102
+ * For simpler use cases, consider using `initWebKit()` directly in a useEffect.
103
+ */
104
+
105
+ /**
106
+ * WebKit context value
107
+ */
108
+ interface WebKitContextValue {
109
+ /** Whether the web kit is ready */
110
+ ready: boolean;
111
+ /** Theme controller */
112
+ theme?: WebKitController['theme'];
113
+ }
114
+ /**
115
+ * Props for createWebKitProvider
116
+ */
117
+ interface WebKitProviderProps {
118
+ /** Initialization options */
119
+ options?: InitWebKitOptions;
120
+ /**
121
+ * Render children even before ready
122
+ * @default true
123
+ */
124
+ immediate?: boolean;
125
+ }
126
+ /**
127
+ * React hooks interface for provider creation
128
+ */
129
+ interface ReactHooksForProvider {
130
+ useState: <S>(initial: S) => [S, (value: S) => void];
131
+ useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
132
+ useMemo: <T>(factory: () => T, deps: unknown[]) => T;
133
+ createContext: <T>(defaultValue: T) => {
134
+ Provider: unknown;
135
+ Consumer: unknown;
136
+ };
137
+ useContext: <T>(context: {
138
+ Provider: unknown;
139
+ Consumer: unknown;
140
+ }) => T;
141
+ createElement: (type: unknown, props: Record<string, unknown> | null, ...children: unknown[]) => unknown;
142
+ }
143
+ /**
144
+ * Creates a WebKit provider and context hook.
145
+ *
146
+ * This function creates a React context and provider component
147
+ * that initializes the web kit and provides access to its state.
148
+ *
149
+ * @example
150
+ * ```tsx
151
+ * // providers.tsx
152
+ * 'use client';
153
+ *
154
+ * import * as React from 'react';
155
+ * import { createWebKitProvider } from '@easemate/web-kit/react';
156
+ *
157
+ * const { WebKitProvider, useWebKitContext } = createWebKitProvider(React);
158
+ *
159
+ * export { WebKitProvider, useWebKitContext };
160
+ *
161
+ * // layout.tsx
162
+ * import { WebKitProvider } from './providers';
163
+ *
164
+ * export default function Layout({ children }) {
165
+ * return (
166
+ * <WebKitProvider options={{ theme: 'default', styles: 'main' }}>
167
+ * {children}
168
+ * </WebKitProvider>
169
+ * );
170
+ * }
171
+ * ```
172
+ */
173
+ declare function createWebKitProvider(React: ReactHooksForProvider): {
174
+ WebKitProvider: (props: WebKitProviderProps & {
175
+ children: unknown;
176
+ }) => unknown;
177
+ useWebKitContext: () => WebKitContextValue;
178
+ };
179
+
180
+ /**
181
+ * React hook for working with ease-state component
182
+ */
183
+
184
+ /**
185
+ * Options for useEaseState hook
186
+ */
187
+ interface UseEaseStateOptions {
188
+ /**
189
+ * Initial state values to set when the component mounts
190
+ */
191
+ initialState?: Record<string, unknown>;
192
+ /**
193
+ * Callback fired when any control value changes
194
+ */
195
+ onChange?: (detail: StateChangeEventDetail) => void;
196
+ /**
197
+ * Callback fired when the active tab changes (requires ease-panel)
198
+ */
199
+ onTabChange?: (detail: TabChangeEventDetail) => void;
200
+ }
201
+ type AnyFunction = (...args: any[]) => any;
202
+ /**
203
+ * React hooks interface - compatible with React's hook signatures
204
+ */
205
+ interface ReactHooksLike {
206
+ useState: <S>(initial: S) => [S, (value: S | ((prev: S) => S)) => void];
207
+ useCallback: <F extends AnyFunction>(callback: F, deps: unknown[]) => F;
208
+ useRef: <R>(initial: R) => {
209
+ current: R;
210
+ };
211
+ }
212
+ /**
213
+ * Return type for useEaseState hook
214
+ */
215
+ interface UseEaseStateReturn<T extends Record<string, unknown> = Record<string, unknown>> {
216
+ /** Ref callback to attach to the ease-state element */
217
+ stateRef: (element: EaseStateRef | null) => void;
218
+ /** Ref callback to attach to the ease-panel element (optional) */
219
+ panelRef: (element: EasePanelRef | null) => void;
220
+ /** Current state values (reactive) */
221
+ state: T;
222
+ /** Get a specific control value */
223
+ get: <K extends keyof T>(name: K) => T[K] | undefined;
224
+ /** Set a specific control value */
225
+ set: <K extends keyof T>(name: K, value: T[K]) => void;
226
+ /** Reset all controls to initial values */
227
+ reset: () => void;
228
+ /** Switch to a specific tab (requires ease-panel) */
229
+ setTab: (index: number) => void;
230
+ /** Current active tab index (requires ease-panel) */
231
+ activeTab: number;
232
+ }
233
+ /**
234
+ * React hook for working with ease-state components.
235
+ *
236
+ * Provides a reactive state object and methods for interacting
237
+ * with the ease-state web component.
238
+ *
239
+ * @example
240
+ * ```tsx
241
+ * import { useState, useCallback, useRef } from 'react';
242
+ * import { useEaseState } from '@easemate/web-kit/react';
243
+ *
244
+ * function AnimationControls() {
245
+ * const {
246
+ * stateRef,
247
+ * panelRef,
248
+ * state,
249
+ * set,
250
+ * reset
251
+ * } = useEaseState<{ duration: number; easing: string; loop: boolean }>(
252
+ * {
253
+ * onChange: ({ name, value }) => {
254
+ * console.log(`${name} changed to ${value}`);
255
+ * }
256
+ * },
257
+ * { useState, useCallback, useRef }
258
+ * );
259
+ *
260
+ * return (
261
+ * <ease-panel ref={panelRef}>
262
+ * <span slot="headline">Animation</span>
263
+ * <ease-state ref={stateRef}>
264
+ * <ease-field label="Duration">
265
+ * <ease-slider name="duration" value="1" min="0" max="5" />
266
+ * </ease-field>
267
+ * </ease-state>
268
+ * </ease-panel>
269
+ * );
270
+ * }
271
+ * ```
272
+ */
273
+ declare function useEaseState<T extends Record<string, unknown> = Record<string, unknown>>(options: UseEaseStateOptions, hooks: ReactHooksLike): UseEaseStateReturn<T>;
274
+
275
+ /**
276
+ * React hook for initializing @easemate/web-kit
277
+ *
278
+ * This module provides hooks for React integration.
279
+ * React is a peer dependency - users must install it separately.
280
+ *
281
+ * @module
282
+ */
283
+
284
+ /**
285
+ * Options for useWebKit hook
286
+ */
287
+ interface UseWebKitOptions extends InitWebKitOptions {
288
+ /**
289
+ * Skip initialization (useful for conditional rendering)
290
+ * @default false
291
+ */
292
+ skip?: boolean;
293
+ }
294
+ /**
295
+ * Return type for useWebKit hook
296
+ */
297
+ interface UseWebKitReturn {
298
+ /** Whether the web kit is ready */
299
+ ready: boolean;
300
+ /** Theme controller (if theme was configured) */
301
+ theme?: WebKitController['theme'];
302
+ /** Dispose function for cleanup */
303
+ dispose: () => void;
304
+ }
305
+ /**
306
+ * React hook for initializing @easemate/web-kit.
307
+ *
308
+ * This hook handles initialization and cleanup of the web kit,
309
+ * ensuring components are registered before rendering.
310
+ *
311
+ * **Important for Next.js App Router:**
312
+ * - Use this hook in a client component (`'use client'`)
313
+ * - Place it at the top of your component tree (e.g., in a layout)
314
+ * - The hook is SSR-safe and will only initialize on the client
315
+ *
316
+ * **Note:** This hook requires React to be installed. Import React hooks
317
+ * directly in your component and pass them to this function, or use the
318
+ * imperative `initWebKit()` function directly.
319
+ *
320
+ * @example
321
+ * ```tsx
322
+ * // app/providers.tsx
323
+ * 'use client';
324
+ *
325
+ * import { useEffect, useState, useRef } from 'react';
326
+ * import { initWebKit } from '@easemate/web-kit';
327
+ *
328
+ * export function Providers({ children }: { children: React.ReactNode }) {
329
+ * const [ready, setReady] = useState(false);
330
+ * const controllerRef = useRef<WebKitController | null>(null);
331
+ *
332
+ * useEffect(() => {
333
+ * const controller = initWebKit({
334
+ * theme: 'default',
335
+ * styles: 'main',
336
+ * fonts: 'default'
337
+ * });
338
+ * controllerRef.current = controller;
339
+ * controller.ready.then(() => setReady(true));
340
+ *
341
+ * return () => controller.dispose();
342
+ * }, []);
343
+ *
344
+ * return <>{children}</>;
345
+ * }
346
+ * ```
347
+ */
348
+ declare function useWebKit(options: UseWebKitOptions, hooks: {
349
+ useState: <T>(initial: T) => [T, (value: T) => void];
350
+ useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
351
+ useRef: <T>(initial: T) => {
352
+ current: T;
353
+ };
354
+ }): UseWebKitReturn;
355
+
356
+ export { type ControlChangeEvent, type EaseControlElement, type EasePanelRef, type EaseStateRef, type ReactHooksForProvider, type ReactHooksLike, type StateChangeEvent, StateChangeEventDetail, type TabChangeEvent, type UseEaseStateOptions, type UseEaseStateReturn, type UseWebKitOptions, type UseWebKitReturn, type WebKitContextValue, type WebKitProviderProps, createEventHandler, createWebKitProvider, useEaseState, useWebKit };
@@ -0,0 +1,356 @@
1
+ import { T as TabChangeEventDetail } from './index-NzGpn7ai.js';
2
+ import { C as ControlEventDetail, S as StateChangeEventDetail } from './index-qZoNKsHn.js';
3
+ export { ButtonElement, ButtonProps, CheckboxElement, CheckboxProps, CodeProps, ColorInputElement, ColorInputProps, ControlEventDetail, CurveElement, CurveProps, DropdownElement, DropdownProps, EaseElements, FieldElement, FieldProps, InputElement, InputProps, LogoLoaderProps, MonitorFpsProps, MonitorProps, NumberInputElement, NumberInputProps, OriginElement, OriginProps, PanelElement, PanelProps, PopoverElement, PopoverProps, RadioGroupElement, RadioGroupProps, RadioInputProps, SliderElement, SliderProps, StateElement, StateProps, TabChangeEventDetail, ToggleElement, ToggleProps, TooltipElement, TooltipProps, __JSX_TYPES_LOADED__ } from './jsx.js';
4
+ import { I as InitWebKitOptions, d as WebKitController } from './init-B7gNNyTd.js';
5
+ import 'lit-html';
6
+ import './registry-9GX9KTG1.js';
7
+
8
+ /**
9
+ * React type definitions for @easemate/web-kit
10
+ *
11
+ * These types are provided for consumers using React/Next.js with this library.
12
+ * React is NOT a dependency of this package - these are interface definitions only.
13
+ */
14
+
15
+ /**
16
+ * Ref type for the ease-state web component
17
+ */
18
+ interface EaseStateRef extends HTMLElement {
19
+ /** Get the current state object */
20
+ readonly state: Record<string, unknown>;
21
+ /** Get a specific control value */
22
+ get(name: string): unknown;
23
+ /** Set a specific control value */
24
+ set(name: string, value: unknown): void;
25
+ /** Subscribe to state changes */
26
+ subscribe(callback: (value: unknown, name: string) => void): {
27
+ unsubscribe: () => void;
28
+ };
29
+ subscribe(name: string, callback: (value: unknown, name: string) => void): {
30
+ unsubscribe: () => void;
31
+ };
32
+ /** Reset all controls to initial values */
33
+ reset(): void;
34
+ }
35
+ /**
36
+ * Ref type for the ease-panel web component
37
+ */
38
+ interface EasePanelRef extends HTMLElement {
39
+ /** Current active tab index */
40
+ activeTab: number;
41
+ /** Get the tab configuration */
42
+ readonly tabs: ReadonlyArray<{
43
+ id: string;
44
+ label: string;
45
+ }>;
46
+ /** Switch to a specific tab */
47
+ setTab(index: number): void;
48
+ }
49
+
50
+ /**
51
+ * Generic control element interface
52
+ */
53
+ interface EaseControlElement extends HTMLElement {
54
+ name?: string;
55
+ value?: unknown;
56
+ checked?: boolean;
57
+ disabled?: boolean;
58
+ }
59
+
60
+ /**
61
+ * React event handling utilities for @easemate/web-kit
62
+ */
63
+
64
+ /**
65
+ * Control change event type for React
66
+ */
67
+ interface ControlChangeEvent<T = unknown> extends CustomEvent<ControlEventDetail<T>> {
68
+ detail: ControlEventDetail<T>;
69
+ }
70
+ /**
71
+ * State change event type for React
72
+ */
73
+ interface StateChangeEvent extends CustomEvent<StateChangeEventDetail> {
74
+ detail: StateChangeEventDetail;
75
+ }
76
+ /**
77
+ * Tab change event type for React
78
+ */
79
+ interface TabChangeEvent extends CustomEvent<TabChangeEventDetail> {
80
+ detail: TabChangeEventDetail;
81
+ }
82
+ /**
83
+ * Creates a type-safe event handler for control-change events.
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * <ease-slider
88
+ * name="opacity"
89
+ * value={0.5}
90
+ * onControlChange={createEventHandler<number>((value, name) => {
91
+ * console.log(`${name} changed to ${value}`);
92
+ * })}
93
+ * />
94
+ * ```
95
+ */
96
+ declare function createEventHandler<T = unknown>(callback: (value: T, name: string | undefined, event: Event) => void): (e: CustomEvent<ControlEventDetail<T>>) => void;
97
+
98
+ /**
99
+ * React context provider for @easemate/web-kit
100
+ *
101
+ * This module provides a simple way to initialize the web kit in a React context.
102
+ * For simpler use cases, consider using `initWebKit()` directly in a useEffect.
103
+ */
104
+
105
+ /**
106
+ * WebKit context value
107
+ */
108
+ interface WebKitContextValue {
109
+ /** Whether the web kit is ready */
110
+ ready: boolean;
111
+ /** Theme controller */
112
+ theme?: WebKitController['theme'];
113
+ }
114
+ /**
115
+ * Props for createWebKitProvider
116
+ */
117
+ interface WebKitProviderProps {
118
+ /** Initialization options */
119
+ options?: InitWebKitOptions;
120
+ /**
121
+ * Render children even before ready
122
+ * @default true
123
+ */
124
+ immediate?: boolean;
125
+ }
126
+ /**
127
+ * React hooks interface for provider creation
128
+ */
129
+ interface ReactHooksForProvider {
130
+ useState: <S>(initial: S) => [S, (value: S) => void];
131
+ useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
132
+ useMemo: <T>(factory: () => T, deps: unknown[]) => T;
133
+ createContext: <T>(defaultValue: T) => {
134
+ Provider: unknown;
135
+ Consumer: unknown;
136
+ };
137
+ useContext: <T>(context: {
138
+ Provider: unknown;
139
+ Consumer: unknown;
140
+ }) => T;
141
+ createElement: (type: unknown, props: Record<string, unknown> | null, ...children: unknown[]) => unknown;
142
+ }
143
+ /**
144
+ * Creates a WebKit provider and context hook.
145
+ *
146
+ * This function creates a React context and provider component
147
+ * that initializes the web kit and provides access to its state.
148
+ *
149
+ * @example
150
+ * ```tsx
151
+ * // providers.tsx
152
+ * 'use client';
153
+ *
154
+ * import * as React from 'react';
155
+ * import { createWebKitProvider } from '@easemate/web-kit/react';
156
+ *
157
+ * const { WebKitProvider, useWebKitContext } = createWebKitProvider(React);
158
+ *
159
+ * export { WebKitProvider, useWebKitContext };
160
+ *
161
+ * // layout.tsx
162
+ * import { WebKitProvider } from './providers';
163
+ *
164
+ * export default function Layout({ children }) {
165
+ * return (
166
+ * <WebKitProvider options={{ theme: 'default', styles: 'main' }}>
167
+ * {children}
168
+ * </WebKitProvider>
169
+ * );
170
+ * }
171
+ * ```
172
+ */
173
+ declare function createWebKitProvider(React: ReactHooksForProvider): {
174
+ WebKitProvider: (props: WebKitProviderProps & {
175
+ children: unknown;
176
+ }) => unknown;
177
+ useWebKitContext: () => WebKitContextValue;
178
+ };
179
+
180
+ /**
181
+ * React hook for working with ease-state component
182
+ */
183
+
184
+ /**
185
+ * Options for useEaseState hook
186
+ */
187
+ interface UseEaseStateOptions {
188
+ /**
189
+ * Initial state values to set when the component mounts
190
+ */
191
+ initialState?: Record<string, unknown>;
192
+ /**
193
+ * Callback fired when any control value changes
194
+ */
195
+ onChange?: (detail: StateChangeEventDetail) => void;
196
+ /**
197
+ * Callback fired when the active tab changes (requires ease-panel)
198
+ */
199
+ onTabChange?: (detail: TabChangeEventDetail) => void;
200
+ }
201
+ type AnyFunction = (...args: any[]) => any;
202
+ /**
203
+ * React hooks interface - compatible with React's hook signatures
204
+ */
205
+ interface ReactHooksLike {
206
+ useState: <S>(initial: S) => [S, (value: S | ((prev: S) => S)) => void];
207
+ useCallback: <F extends AnyFunction>(callback: F, deps: unknown[]) => F;
208
+ useRef: <R>(initial: R) => {
209
+ current: R;
210
+ };
211
+ }
212
+ /**
213
+ * Return type for useEaseState hook
214
+ */
215
+ interface UseEaseStateReturn<T extends Record<string, unknown> = Record<string, unknown>> {
216
+ /** Ref callback to attach to the ease-state element */
217
+ stateRef: (element: EaseStateRef | null) => void;
218
+ /** Ref callback to attach to the ease-panel element (optional) */
219
+ panelRef: (element: EasePanelRef | null) => void;
220
+ /** Current state values (reactive) */
221
+ state: T;
222
+ /** Get a specific control value */
223
+ get: <K extends keyof T>(name: K) => T[K] | undefined;
224
+ /** Set a specific control value */
225
+ set: <K extends keyof T>(name: K, value: T[K]) => void;
226
+ /** Reset all controls to initial values */
227
+ reset: () => void;
228
+ /** Switch to a specific tab (requires ease-panel) */
229
+ setTab: (index: number) => void;
230
+ /** Current active tab index (requires ease-panel) */
231
+ activeTab: number;
232
+ }
233
+ /**
234
+ * React hook for working with ease-state components.
235
+ *
236
+ * Provides a reactive state object and methods for interacting
237
+ * with the ease-state web component.
238
+ *
239
+ * @example
240
+ * ```tsx
241
+ * import { useState, useCallback, useRef } from 'react';
242
+ * import { useEaseState } from '@easemate/web-kit/react';
243
+ *
244
+ * function AnimationControls() {
245
+ * const {
246
+ * stateRef,
247
+ * panelRef,
248
+ * state,
249
+ * set,
250
+ * reset
251
+ * } = useEaseState<{ duration: number; easing: string; loop: boolean }>(
252
+ * {
253
+ * onChange: ({ name, value }) => {
254
+ * console.log(`${name} changed to ${value}`);
255
+ * }
256
+ * },
257
+ * { useState, useCallback, useRef }
258
+ * );
259
+ *
260
+ * return (
261
+ * <ease-panel ref={panelRef}>
262
+ * <span slot="headline">Animation</span>
263
+ * <ease-state ref={stateRef}>
264
+ * <ease-field label="Duration">
265
+ * <ease-slider name="duration" value="1" min="0" max="5" />
266
+ * </ease-field>
267
+ * </ease-state>
268
+ * </ease-panel>
269
+ * );
270
+ * }
271
+ * ```
272
+ */
273
+ declare function useEaseState<T extends Record<string, unknown> = Record<string, unknown>>(options: UseEaseStateOptions, hooks: ReactHooksLike): UseEaseStateReturn<T>;
274
+
275
+ /**
276
+ * React hook for initializing @easemate/web-kit
277
+ *
278
+ * This module provides hooks for React integration.
279
+ * React is a peer dependency - users must install it separately.
280
+ *
281
+ * @module
282
+ */
283
+
284
+ /**
285
+ * Options for useWebKit hook
286
+ */
287
+ interface UseWebKitOptions extends InitWebKitOptions {
288
+ /**
289
+ * Skip initialization (useful for conditional rendering)
290
+ * @default false
291
+ */
292
+ skip?: boolean;
293
+ }
294
+ /**
295
+ * Return type for useWebKit hook
296
+ */
297
+ interface UseWebKitReturn {
298
+ /** Whether the web kit is ready */
299
+ ready: boolean;
300
+ /** Theme controller (if theme was configured) */
301
+ theme?: WebKitController['theme'];
302
+ /** Dispose function for cleanup */
303
+ dispose: () => void;
304
+ }
305
+ /**
306
+ * React hook for initializing @easemate/web-kit.
307
+ *
308
+ * This hook handles initialization and cleanup of the web kit,
309
+ * ensuring components are registered before rendering.
310
+ *
311
+ * **Important for Next.js App Router:**
312
+ * - Use this hook in a client component (`'use client'`)
313
+ * - Place it at the top of your component tree (e.g., in a layout)
314
+ * - The hook is SSR-safe and will only initialize on the client
315
+ *
316
+ * **Note:** This hook requires React to be installed. Import React hooks
317
+ * directly in your component and pass them to this function, or use the
318
+ * imperative `initWebKit()` function directly.
319
+ *
320
+ * @example
321
+ * ```tsx
322
+ * // app/providers.tsx
323
+ * 'use client';
324
+ *
325
+ * import { useEffect, useState, useRef } from 'react';
326
+ * import { initWebKit } from '@easemate/web-kit';
327
+ *
328
+ * export function Providers({ children }: { children: React.ReactNode }) {
329
+ * const [ready, setReady] = useState(false);
330
+ * const controllerRef = useRef<WebKitController | null>(null);
331
+ *
332
+ * useEffect(() => {
333
+ * const controller = initWebKit({
334
+ * theme: 'default',
335
+ * styles: 'main',
336
+ * fonts: 'default'
337
+ * });
338
+ * controllerRef.current = controller;
339
+ * controller.ready.then(() => setReady(true));
340
+ *
341
+ * return () => controller.dispose();
342
+ * }, []);
343
+ *
344
+ * return <>{children}</>;
345
+ * }
346
+ * ```
347
+ */
348
+ declare function useWebKit(options: UseWebKitOptions, hooks: {
349
+ useState: <T>(initial: T) => [T, (value: T) => void];
350
+ useEffect: (effect: () => (() => void) | undefined, deps?: unknown[]) => void;
351
+ useRef: <T>(initial: T) => {
352
+ current: T;
353
+ };
354
+ }): UseWebKitReturn;
355
+
356
+ export { type ControlChangeEvent, type EaseControlElement, type EasePanelRef, type EaseStateRef, type ReactHooksForProvider, type ReactHooksLike, type StateChangeEvent, StateChangeEventDetail, type TabChangeEvent, type UseEaseStateOptions, type UseEaseStateReturn, type UseWebKitOptions, type UseWebKitReturn, type WebKitContextValue, type WebKitProviderProps, createEventHandler, createWebKitProvider, useEaseState, useWebKit };