@easemate/web-kit 0.2.0 → 0.3.1

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 (438) hide show
  1. package/README.md +99 -5
  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/{elements/panel/index.d.cts → index-NzGpn7ai.d.cts} +6 -3
  17. package/build/{elements/panel/index.d.ts → index-NzGpn7ai.d.ts} +6 -3
  18. package/build/{elements/state/index.d.ts → index-qZoNKsHn.d.cts} +46 -5
  19. package/build/{elements/state/index.d.cts → index-qZoNKsHn.d.ts} +46 -5
  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 -36
  43. package/build/register.cjs.map +1 -0
  44. package/build/register.d.cts +4 -33
  45. package/build/register.d.ts +4 -33
  46. package/build/register.js +35831 -35
  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 +47 -33
  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 -65
  304. package/build/elements/index.d.cts +0 -23
  305. package/build/elements/index.d.ts +0 -23
  306. package/build/elements/index.js +0 -23
  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/panel/index.cjs +0 -496
  330. package/build/elements/panel/index.js +0 -492
  331. package/build/elements/popover/index.cjs +0 -209
  332. package/build/elements/popover/index.d.cts +0 -19
  333. package/build/elements/popover/index.d.ts +0 -19
  334. package/build/elements/popover/index.js +0 -205
  335. package/build/elements/radio/index.cjs +0 -301
  336. package/build/elements/radio/index.d.cts +0 -13
  337. package/build/elements/radio/index.d.ts +0 -13
  338. package/build/elements/radio/index.js +0 -283
  339. package/build/elements/radio/input.cjs +0 -329
  340. package/build/elements/radio/input.d.cts +0 -15
  341. package/build/elements/radio/input.d.ts +0 -15
  342. package/build/elements/radio/input.js +0 -325
  343. package/build/elements/radio/option.cjs +0 -15
  344. package/build/elements/radio/option.d.cts +0 -3
  345. package/build/elements/radio/option.d.ts +0 -3
  346. package/build/elements/radio/option.js +0 -11
  347. package/build/elements/shared.cjs +0 -66
  348. package/build/elements/shared.d.cts +0 -40
  349. package/build/elements/shared.d.ts +0 -40
  350. package/build/elements/shared.js +0 -59
  351. package/build/elements/slider/index.cjs +0 -232
  352. package/build/elements/slider/index.d.cts +0 -20
  353. package/build/elements/slider/index.d.ts +0 -20
  354. package/build/elements/slider/index.js +0 -228
  355. package/build/elements/state/index.cjs +0 -274
  356. package/build/elements/state/index.js +0 -270
  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 -208
  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 -169
  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/react/events.cjs +0 -25
  386. package/build/react/events.d.cts +0 -39
  387. package/build/react/events.d.ts +0 -39
  388. package/build/react/events.js +0 -22
  389. package/build/react/index.cjs +0 -19
  390. package/build/react/index.d.cts +0 -13
  391. package/build/react/index.d.ts +0 -13
  392. package/build/react/index.js +0 -12
  393. package/build/react/provider.cjs +0 -134
  394. package/build/react/provider.d.cts +0 -81
  395. package/build/react/provider.d.ts +0 -81
  396. package/build/react/provider.js +0 -98
  397. package/build/react/types.cjs +0 -8
  398. package/build/react/types.d.cts +0 -55
  399. package/build/react/types.d.ts +0 -55
  400. package/build/react/types.js +0 -7
  401. package/build/react/use-ease-state.cjs +0 -129
  402. package/build/react/use-ease-state.d.cts +0 -95
  403. package/build/react/use-ease-state.d.ts +0 -95
  404. package/build/react/use-ease-state.js +0 -126
  405. package/build/react/use-web-kit.cjs +0 -150
  406. package/build/react/use-web-kit.d.cts +0 -80
  407. package/build/react/use-web-kit.d.ts +0 -80
  408. package/build/react/use-web-kit.js +0 -114
  409. package/build/theme/index.cjs +0 -452
  410. package/build/theme/index.js +0 -423
  411. package/build/theme/presets.cjs +0 -54
  412. package/build/theme/presets.d.cts +0 -19
  413. package/build/theme/presets.d.ts +0 -19
  414. package/build/theme/presets.js +0 -51
  415. package/build/theme/registry.cjs +0 -204
  416. package/build/theme/registry.d.cts +0 -99
  417. package/build/theme/registry.d.ts +0 -99
  418. package/build/theme/registry.js +0 -194
  419. package/build/theme/tokens.cjs +0 -148
  420. package/build/theme/tokens.d.cts +0 -163
  421. package/build/theme/tokens.d.ts +0 -163
  422. package/build/theme/tokens.js +0 -145
  423. package/build/utils/dismiss-controller.cjs +0 -77
  424. package/build/utils/dismiss-controller.d.cts +0 -14
  425. package/build/utils/dismiss-controller.d.ts +0 -14
  426. package/build/utils/dismiss-controller.js +0 -73
  427. package/build/utils/index.cjs +0 -18
  428. package/build/utils/index.d.cts +0 -3
  429. package/build/utils/index.d.ts +0 -3
  430. package/build/utils/index.js +0 -3
  431. package/build/utils/outside-click.cjs +0 -82
  432. package/build/utils/outside-click.d.cts +0 -18
  433. package/build/utils/outside-click.d.ts +0 -18
  434. package/build/utils/outside-click.js +0 -74
  435. package/build/utils/template-helpers.cjs +0 -39
  436. package/build/utils/template-helpers.d.cts +0 -13
  437. package/build/utils/template-helpers.d.ts +0 -13
  438. 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 };