@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,889 @@
1
+ // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Component.ts
2
+ import { html, render } from "lit-html";
3
+ var styleCache = /* @__PURE__ */ new Map();
4
+ var normalizeTemplate = (template) => {
5
+ if (typeof template === "function") {
6
+ return template;
7
+ }
8
+ if (template && typeof template === "object" && "_$litTemplate$" in template) {
9
+ return function() {
10
+ return template;
11
+ };
12
+ }
13
+ return function() {
14
+ return null;
15
+ };
16
+ };
17
+ var fetchStyles = async (urls) => Promise.all(urls.map((url) => {
18
+ const cached = styleCache.get(url);
19
+ if (cached) {
20
+ return cached;
21
+ }
22
+ const request = fetch(url).then((response) => response.ok ? response.text() : "").catch(() => "");
23
+ styleCache.set(url, request);
24
+ return request;
25
+ }));
26
+ var Component = (options) => (Base, _context) => {
27
+ const { tag, template, styles = "", styleUrls = [], observedAttributes = [], shadowMode = "open", autoSlot = true } = options;
28
+ if (!tag) {
29
+ throw new Error('@Component requires a "tag" option.');
30
+ }
31
+ const templateFn = normalizeTemplate(template);
32
+ class Decorated extends Base {
33
+ static get observedAttributes() {
34
+ const parent = "observedAttributes" in Base && Array.isArray(Base.observedAttributes) ? Base.observedAttributes : [];
35
+ const own = Array.isArray(observedAttributes) ? observedAttributes : [];
36
+ return Array.from(/* @__PURE__ */ new Set([
37
+ ...parent,
38
+ ...own
39
+ ]));
40
+ }
41
+ #shadow;
42
+ #styles;
43
+ #styleUrls;
44
+ #renderScheduled;
45
+ constructor(...args) {
46
+ super(...args), this.#styles = styles, this.#styleUrls = [
47
+ ...styleUrls
48
+ ], this.#renderScheduled = false;
49
+ this.#shadow = this.attachShadow({
50
+ mode: shadowMode
51
+ });
52
+ this.renderRoot = this.#shadow;
53
+ }
54
+ get shadow() {
55
+ return this.renderRoot;
56
+ }
57
+ connectedCallback() {
58
+ Base.prototype.connectedCallback?.call(this);
59
+ void this.#loadStyles().finally(() => {
60
+ this.requestRender();
61
+ });
62
+ }
63
+ disconnectedCallback() {
64
+ Base.prototype.disconnectedCallback?.call(this);
65
+ this.#renderScheduled = false;
66
+ }
67
+ attributeChangedCallback(name, oldValue, newValue) {
68
+ Base.prototype.attributeChangedCallback?.call(this, name, oldValue, newValue);
69
+ if (oldValue !== newValue) {
70
+ this.onAttributeChange?.(name, oldValue, newValue);
71
+ }
72
+ }
73
+ requestRender() {
74
+ if (this.#renderScheduled) {
75
+ return;
76
+ }
77
+ this.#renderScheduled = true;
78
+ requestAnimationFrame(() => {
79
+ this.#renderScheduled = false;
80
+ this.#render();
81
+ });
82
+ }
83
+ async #loadStyles() {
84
+ if (!this.#styleUrls.length) {
85
+ return;
86
+ }
87
+ const fetched = await fetchStyles(this.#styleUrls);
88
+ const inlineStyles = this.#styles ? [
89
+ this.#styles
90
+ ] : [];
91
+ this.#styles = [
92
+ ...inlineStyles,
93
+ ...fetched.filter(Boolean)
94
+ ].join("\n");
95
+ }
96
+ #render() {
97
+ const root = this.#shadow;
98
+ let templateResult;
99
+ if (typeof this.render === "function") {
100
+ templateResult = this.render();
101
+ } else {
102
+ templateResult = templateFn.call(this, this);
103
+ }
104
+ const styleTemplate = this.#styles ? html`<style>${this.#styles}</style>` : null;
105
+ const slotTemplate = autoSlot ? html`<slot></slot>` : null;
106
+ const completeTemplate = html`
107
+ ${styleTemplate}
108
+ ${templateResult ?? null}
109
+ ${slotTemplate}
110
+ `;
111
+ const commit = () => {
112
+ render(completeTemplate, root);
113
+ this.afterRender?.();
114
+ };
115
+ if (typeof this.wrapRender === "function") {
116
+ const fragment = document.createDocumentFragment();
117
+ const tempDiv = document.createElement("div");
118
+ render(completeTemplate, tempDiv);
119
+ fragment.append(...tempDiv.childNodes);
120
+ this.wrapRender(commit, {
121
+ fragment,
122
+ root
123
+ });
124
+ return;
125
+ }
126
+ commit();
127
+ }
128
+ }
129
+ if (typeof customElements !== "undefined" && !customElements.get(tag)) {
130
+ customElements.define(tag, Decorated);
131
+ }
132
+ return Decorated;
133
+ };
134
+
135
+ // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Listen.ts
136
+ var lifecycleHooks = {
137
+ connectedCallback: /* @__PURE__ */ new WeakMap(),
138
+ disconnectedCallback: /* @__PURE__ */ new WeakMap()
139
+ };
140
+ var cleanupRegistry = /* @__PURE__ */ new WeakMap();
141
+ var addLifecycleHook = (instance, hookName, handler) => {
142
+ const store = lifecycleHooks[hookName];
143
+ let callbacks = store.get(instance);
144
+ if (!callbacks) {
145
+ callbacks = /* @__PURE__ */ new Set();
146
+ store.set(instance, callbacks);
147
+ const original = instance[hookName];
148
+ instance[hookName] = function(...args) {
149
+ callbacks?.forEach((callback) => {
150
+ callback.apply(this);
151
+ });
152
+ if (typeof original === "function") {
153
+ return original.apply(this, args);
154
+ }
155
+ return void 0;
156
+ };
157
+ }
158
+ callbacks.add(handler);
159
+ };
160
+ var registerCleanup = (instance, cleanup) => {
161
+ let callbacks = cleanupRegistry.get(instance);
162
+ if (!callbacks) {
163
+ callbacks = /* @__PURE__ */ new Set();
164
+ cleanupRegistry.set(instance, callbacks);
165
+ addLifecycleHook(instance, "disconnectedCallback", function() {
166
+ const registered = cleanupRegistry.get(this);
167
+ registered?.forEach((fn) => {
168
+ try {
169
+ fn();
170
+ } catch (error) {
171
+ console.error("[Listen] cleanup failed", error);
172
+ }
173
+ });
174
+ cleanupRegistry.delete(this);
175
+ });
176
+ }
177
+ callbacks.add(cleanup);
178
+ };
179
+ var resolveTarget = (host, target) => {
180
+ if (typeof target === "function") {
181
+ return target(host) ?? null;
182
+ }
183
+ if (target instanceof EventTarget) {
184
+ return target;
185
+ }
186
+ switch (target) {
187
+ case "document":
188
+ return document;
189
+ case "window":
190
+ return window;
191
+ case "light":
192
+ return host;
193
+ default:
194
+ return host.renderRoot ?? host.shadowRoot ?? host;
195
+ }
196
+ };
197
+ var normalizeOptions = (selectorOrOptions) => {
198
+ if (typeof selectorOrOptions === "string") {
199
+ return {
200
+ selector: selectorOrOptions
201
+ };
202
+ }
203
+ return selectorOrOptions ?? {};
204
+ };
205
+ var buildOptions = (options) => {
206
+ return {
207
+ selector: options.selector ?? null,
208
+ target: options.target ?? "shadow",
209
+ prevent: options.prevent ?? false,
210
+ stop: options.stop ?? false,
211
+ stopImmediate: options.stopImmediate ?? false,
212
+ once: options.once ?? false,
213
+ passive: options.passive,
214
+ capture: options.capture ?? false,
215
+ when: options.when ?? null
216
+ };
217
+ };
218
+ function Listen(eventName, selectorOrOptions) {
219
+ if (!eventName) {
220
+ throw new Error("@Listen requires an event name.");
221
+ }
222
+ const listenConfig = buildOptions(normalizeOptions(selectorOrOptions));
223
+ return (originalMethod, context) => {
224
+ context.addInitializer(function() {
225
+ let attached = false;
226
+ const attach = () => {
227
+ if (attached) {
228
+ return;
229
+ }
230
+ const target = resolveTarget(this, listenConfig.target);
231
+ if (!target || typeof target.addEventListener !== "function") {
232
+ console.warn(`@Listen unable to resolve target for ${String(eventName)}`);
233
+ return;
234
+ }
235
+ const eventOptions = {
236
+ capture: listenConfig.capture,
237
+ once: listenConfig.once,
238
+ passive: listenConfig.passive !== void 0 ? listenConfig.passive : !listenConfig.prevent
239
+ };
240
+ const handler = (event) => {
241
+ const typedEvent = event;
242
+ if (listenConfig.prevent) {
243
+ typedEvent.preventDefault();
244
+ }
245
+ if (listenConfig.stopImmediate) {
246
+ typedEvent.stopImmediatePropagation();
247
+ } else if (listenConfig.stop) {
248
+ typedEvent.stopPropagation();
249
+ }
250
+ let matched = null;
251
+ if (listenConfig.selector) {
252
+ const path = typedEvent.composedPath();
253
+ matched = path.find((node) => node instanceof Element && node.matches(listenConfig.selector)) ?? null;
254
+ if (!matched) {
255
+ return;
256
+ }
257
+ }
258
+ if (listenConfig.when && !listenConfig.when(typedEvent, matched)) {
259
+ return;
260
+ }
261
+ if (listenConfig.selector) {
262
+ void originalMethod.call(this, typedEvent, matched);
263
+ } else {
264
+ const targetNode = typedEvent.target instanceof Element ? typedEvent.target : null;
265
+ void originalMethod.call(this, typedEvent, targetNode);
266
+ }
267
+ };
268
+ target.addEventListener(eventName, handler, eventOptions);
269
+ attached = true;
270
+ registerCleanup(this, () => {
271
+ target.removeEventListener(eventName, handler, eventOptions);
272
+ attached = false;
273
+ });
274
+ };
275
+ queueMicrotask(attach);
276
+ addLifecycleHook(this, "connectedCallback", attach);
277
+ });
278
+ };
279
+ }
280
+
281
+ // swc:/home/runner/work/web-kit/web-kit/packages/core/src/utils/dismiss-controller.ts
282
+ var DismissController = class {
283
+ #onDismiss;
284
+ #context;
285
+ #active;
286
+ constructor(options) {
287
+ this.#context = null;
288
+ this.#active = false;
289
+ this.#handlePointerDown = (event) => {
290
+ if (!this.#context) {
291
+ return;
292
+ }
293
+ const { owner, content, triggers } = this.#context;
294
+ const path = event.composedPath();
295
+ if (path.some((node) => node instanceof Element && node.hasAttribute("data-select-ignore"))) {
296
+ return;
297
+ }
298
+ if (path.includes(owner)) {
299
+ return;
300
+ }
301
+ if (content && path.includes(content)) {
302
+ return;
303
+ }
304
+ if (triggers.some((trigger) => path.includes(trigger))) {
305
+ return;
306
+ }
307
+ this.#onDismiss(event);
308
+ };
309
+ this.#handleKeyDown = (event) => {
310
+ if (event.key !== "Escape" || !this.#context) {
311
+ return;
312
+ }
313
+ event.preventDefault();
314
+ const active = document.activeElement;
315
+ if (!active) {
316
+ this.#onDismiss(event);
317
+ return;
318
+ }
319
+ const { owner, content, triggers } = this.#context;
320
+ const path = event.composedPath();
321
+ if (path.includes(owner) || owner.contains(active)) {
322
+ this.#onDismiss(event);
323
+ return;
324
+ }
325
+ if (content && (path.includes(content) || content.contains(active))) {
326
+ this.#onDismiss(event);
327
+ return;
328
+ }
329
+ if (triggers.some((trigger) => path.includes(trigger) || trigger.contains(active))) {
330
+ this.#onDismiss(event);
331
+ }
332
+ };
333
+ this.#onDismiss = options.onDismiss;
334
+ }
335
+ connect(context) {
336
+ this.#context = {
337
+ owner: context.owner,
338
+ content: context.content ?? null,
339
+ triggers: (context.triggers ?? []).filter((el) => el instanceof HTMLElement)
340
+ };
341
+ if (!this.#active) {
342
+ document.addEventListener("pointerdown", this.#handlePointerDown, true);
343
+ document.addEventListener("keydown", this.#handleKeyDown, true);
344
+ this.#active = true;
345
+ }
346
+ }
347
+ disconnect() {
348
+ if (!this.#active) {
349
+ return;
350
+ }
351
+ document.removeEventListener("pointerdown", this.#handlePointerDown, true);
352
+ document.removeEventListener("keydown", this.#handleKeyDown, true);
353
+ this.#active = false;
354
+ this.#context = null;
355
+ }
356
+ #handlePointerDown;
357
+ #handleKeyDown;
358
+ };
359
+
360
+ // src/utils/outside-click.ts
361
+ var registry = /* @__PURE__ */ new WeakMap();
362
+ var toDismissContext = (host, options) => {
363
+ if (options.disabled?.(host)) {
364
+ return null;
365
+ }
366
+ const resolved = options.resolve(host);
367
+ if (!resolved) {
368
+ return null;
369
+ }
370
+ const owner = resolved.owner ?? host ?? null;
371
+ if (!(owner instanceof HTMLElement)) {
372
+ return null;
373
+ }
374
+ const content = resolved.content && resolved.content instanceof HTMLElement ? resolved.content : null;
375
+ const triggers = resolved.triggers?.filter((element) => element instanceof HTMLElement) ?? [];
376
+ return {
377
+ owner,
378
+ content,
379
+ triggers
380
+ };
381
+ };
382
+ var createOutsideClickHandle = (host, onDismiss, options) => {
383
+ const controller = new DismissController({
384
+ onDismiss(event) {
385
+ if (options.disabled?.(host)) {
386
+ return;
387
+ }
388
+ onDismiss.call(host, event);
389
+ }
390
+ });
391
+ return {
392
+ update() {
393
+ const context = toDismissContext(host, options);
394
+ if (!context) {
395
+ controller.disconnect();
396
+ return;
397
+ }
398
+ controller.connect(context);
399
+ },
400
+ disconnect() {
401
+ controller.disconnect();
402
+ }
403
+ };
404
+ };
405
+ var registerOutsideClickHandle = (host, handle) => {
406
+ let handles = registry.get(host);
407
+ if (!handles) {
408
+ handles = /* @__PURE__ */ new Set();
409
+ registry.set(host, handles);
410
+ }
411
+ handles.add(handle);
412
+ };
413
+ var updateOutsideClickHandles = (host) => {
414
+ const handles = registry.get(host);
415
+ if (!handles) {
416
+ return;
417
+ }
418
+ handles.forEach((handle) => {
419
+ handle.update();
420
+ });
421
+ };
422
+ var disconnectOutsideClickHandles = (host) => {
423
+ const handles = registry.get(host);
424
+ if (!handles) {
425
+ return;
426
+ }
427
+ handles.forEach((handle) => {
428
+ handle.disconnect();
429
+ });
430
+ };
431
+
432
+ // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/OutsideClick.ts
433
+ var lifecycleApplied = /* @__PURE__ */ new WeakSet();
434
+ var wrapMethod = (host, name, hook, callHookFirst = false) => {
435
+ const original = host[name];
436
+ host[name] = function(...args) {
437
+ if (callHookFirst) {
438
+ hook.call(this);
439
+ }
440
+ let result;
441
+ if (typeof original === "function") {
442
+ result = original.apply(this, args);
443
+ }
444
+ if (!callHookFirst) {
445
+ hook.call(this);
446
+ }
447
+ return result;
448
+ };
449
+ };
450
+ var ensureLifecycle = (host) => {
451
+ if (lifecycleApplied.has(host)) {
452
+ return;
453
+ }
454
+ lifecycleApplied.add(host);
455
+ wrapMethod(host, "connectedCallback", function() {
456
+ updateOutsideClickHandles(this);
457
+ });
458
+ wrapMethod(host, "afterRender", function() {
459
+ updateOutsideClickHandles(this);
460
+ });
461
+ wrapMethod(host, "disconnectedCallback", function() {
462
+ disconnectOutsideClickHandles(this);
463
+ }, true);
464
+ };
465
+ function OutsideClick(options = {}) {
466
+ return (originalMethod, context) => {
467
+ context.addInitializer(function() {
468
+ ensureLifecycle(this);
469
+ const resolve = options.resolve ?? ((host) => {
470
+ return {
471
+ owner: options.owner?.(host),
472
+ content: options.content?.(host),
473
+ triggers: options.triggers?.(host)
474
+ };
475
+ });
476
+ const handle = createOutsideClickHandle(this, (event) => {
477
+ originalMethod.call(this, event);
478
+ }, {
479
+ resolve,
480
+ disabled: options.disabled
481
+ });
482
+ registerOutsideClickHandle(this, handle);
483
+ if (this.isConnected) {
484
+ updateOutsideClickHandles(this);
485
+ }
486
+ });
487
+ };
488
+ }
489
+
490
+ // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Prop.ts
491
+ var renderQueue = /* @__PURE__ */ new WeakMap();
492
+ var cleanupRegistry2 = /* @__PURE__ */ new WeakMap();
493
+ var observerRegistry = /* @__PURE__ */ new WeakMap();
494
+ var internalMutations = /* @__PURE__ */ new WeakMap();
495
+ var scheduleRender = (instance) => {
496
+ if (typeof instance.requestRender === "function") {
497
+ instance.requestRender();
498
+ return;
499
+ }
500
+ if (typeof instance.render !== "function") {
501
+ return;
502
+ }
503
+ if (renderQueue.get(instance)) {
504
+ return;
505
+ }
506
+ renderQueue.set(instance, true);
507
+ requestAnimationFrame(() => {
508
+ renderQueue.delete(instance);
509
+ instance.render?.();
510
+ });
511
+ };
512
+ var toKebabCase = (value) => String(value).replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
513
+ var registerCleanup2 = (instance, cleanup) => {
514
+ let callbacks = cleanupRegistry2.get(instance);
515
+ if (!callbacks) {
516
+ callbacks = /* @__PURE__ */ new Set();
517
+ cleanupRegistry2.set(instance, callbacks);
518
+ const original = instance.disconnectedCallback;
519
+ instance.disconnectedCallback = function(...args) {
520
+ const registered = cleanupRegistry2.get(this);
521
+ registered?.forEach((callback) => {
522
+ try {
523
+ callback();
524
+ } catch (error) {
525
+ console.error("[Prop] cleanup failed", error);
526
+ }
527
+ });
528
+ cleanupRegistry2.delete(this);
529
+ if (typeof original === "function") {
530
+ return original.apply(this, args);
531
+ }
532
+ return void 0;
533
+ };
534
+ }
535
+ callbacks.add(cleanup);
536
+ };
537
+ var markInternalMutation = (host, attribute) => {
538
+ let attributes = internalMutations.get(host);
539
+ if (!attributes) {
540
+ attributes = /* @__PURE__ */ new Set();
541
+ internalMutations.set(host, attributes);
542
+ }
543
+ attributes.add(attribute);
544
+ };
545
+ var isInternalMutation = (host, attribute) => {
546
+ const attributes = internalMutations.get(host);
547
+ if (!attributes) {
548
+ return false;
549
+ }
550
+ const hasAttribute = attributes.has(attribute);
551
+ if (hasAttribute) {
552
+ attributes.delete(attribute);
553
+ if (attributes.size === 0) {
554
+ internalMutations.delete(host);
555
+ }
556
+ }
557
+ return hasAttribute;
558
+ };
559
+ var observeAttribute = (host, attribute, handler) => {
560
+ let entry = observerRegistry.get(host);
561
+ if (!entry) {
562
+ const callbacks = /* @__PURE__ */ new Map();
563
+ const observer = new MutationObserver((records) => {
564
+ records.forEach((record) => {
565
+ const attributeName = record.attributeName;
566
+ if (!attributeName) {
567
+ return;
568
+ }
569
+ if (isInternalMutation(host, attributeName)) {
570
+ return;
571
+ }
572
+ const listeners2 = callbacks.get(attributeName);
573
+ if (!listeners2) {
574
+ return;
575
+ }
576
+ const currentValue = record.target.getAttribute(attributeName);
577
+ for (const listener of listeners2) {
578
+ listener(currentValue);
579
+ }
580
+ });
581
+ });
582
+ observer.observe(host, {
583
+ attributes: true
584
+ });
585
+ entry = {
586
+ observer,
587
+ callbacks
588
+ };
589
+ observerRegistry.set(host, entry);
590
+ registerCleanup2(host, () => {
591
+ observer.disconnect();
592
+ observerRegistry.delete(host);
593
+ });
594
+ }
595
+ let listeners = entry.callbacks.get(attribute);
596
+ if (!listeners) {
597
+ listeners = /* @__PURE__ */ new Set();
598
+ entry.callbacks.set(attribute, listeners);
599
+ }
600
+ listeners.add(handler);
601
+ };
602
+ var updateAttribute = (host, attribute, value) => {
603
+ markInternalMutation(host, attribute);
604
+ if (value === void 0 || value === null || value === false) {
605
+ host.removeAttribute(attribute);
606
+ return;
607
+ }
608
+ if (value === true) {
609
+ host.setAttribute(attribute, "");
610
+ return;
611
+ }
612
+ host.setAttribute(attribute, String(value));
613
+ };
614
+ var resolveType = (type) => {
615
+ if (!type) {
616
+ return null;
617
+ }
618
+ if (type === Boolean || type === "boolean") {
619
+ return "boolean";
620
+ }
621
+ if (type === Number || type === "number") {
622
+ return "number";
623
+ }
624
+ if (type === Object || type === Array || type === "json") {
625
+ return "json";
626
+ }
627
+ return "string";
628
+ };
629
+ var typeParsers = {
630
+ boolean(value) {
631
+ return value !== null;
632
+ },
633
+ number(value) {
634
+ if (value === null || value === "") {
635
+ return null;
636
+ }
637
+ const parsed = Number(value);
638
+ return Number.isNaN(parsed) ? null : parsed;
639
+ },
640
+ json(value) {
641
+ if (!value) {
642
+ return null;
643
+ }
644
+ try {
645
+ return JSON.parse(value);
646
+ } catch (error) {
647
+ console.warn("[Prop] failed to parse JSON attribute", error);
648
+ return null;
649
+ }
650
+ },
651
+ string(value) {
652
+ return value;
653
+ }
654
+ };
655
+ var typeFormatters = {
656
+ boolean(value) {
657
+ return value ? "" : null;
658
+ },
659
+ number(value) {
660
+ if (value === null || value === void 0 || value === "") {
661
+ return null;
662
+ }
663
+ return String(value);
664
+ },
665
+ json(value) {
666
+ if (value === null || value === void 0) {
667
+ return null;
668
+ }
669
+ try {
670
+ return JSON.stringify(value);
671
+ } catch {
672
+ return null;
673
+ }
674
+ },
675
+ string(value) {
676
+ if (value === null || value === void 0) {
677
+ return null;
678
+ }
679
+ return String(value);
680
+ }
681
+ };
682
+ var defaultCompare = (previous, next) => previous === next;
683
+ function Prop(options = {}) {
684
+ const { attribute, reflect = true, type, parse, format, defaultValue, compare = defaultCompare, onChange, onAttributeChange } = options;
685
+ const resolvedType = resolveType(type);
686
+ const parseValue = parse ? parse : function(value) {
687
+ if (!resolvedType) {
688
+ return value;
689
+ }
690
+ return typeParsers[resolvedType].call(this, value);
691
+ };
692
+ const formatValue = format ? format : function(value) {
693
+ if (!resolvedType) {
694
+ return value ?? null;
695
+ }
696
+ return typeFormatters[resolvedType].call(this, value);
697
+ };
698
+ return (accessor, context) => {
699
+ if (context.kind !== "accessor") {
700
+ throw new Error('@Prop requires the "accessor" keyword on the property.');
701
+ }
702
+ const attributeName = attribute ?? toKebabCase(context.name);
703
+ context.addInitializer(function() {
704
+ if (!reflect) {
705
+ return;
706
+ }
707
+ observeAttribute(this, attributeName, (rawValue) => {
708
+ if (isInternalMutation(this, attributeName)) {
709
+ return;
710
+ }
711
+ const parsed = parseValue.call(this, rawValue);
712
+ const previous = accessor.get.call(this);
713
+ if (compare(previous, parsed)) {
714
+ return;
715
+ }
716
+ accessor.set.call(this, parsed);
717
+ onAttributeChange?.call(this, parsed, previous);
718
+ scheduleRender(this);
719
+ });
720
+ });
721
+ return {
722
+ get() {
723
+ return accessor.get.call(this);
724
+ },
725
+ set(value) {
726
+ const previous = accessor.get.call(this);
727
+ if (compare(previous, value)) {
728
+ return;
729
+ }
730
+ accessor.set.call(this, value);
731
+ if (reflect) {
732
+ const formatted = formatValue.call(this, value);
733
+ updateAttribute(this, attributeName, formatted);
734
+ }
735
+ onChange?.call(this, value, previous);
736
+ scheduleRender(this);
737
+ },
738
+ init(initialValue) {
739
+ let value = initialValue;
740
+ if (this.hasAttribute(attributeName)) {
741
+ value = parseValue.call(this, this.getAttribute(attributeName));
742
+ } else if (value === void 0 && defaultValue !== void 0) {
743
+ value = typeof defaultValue === "function" ? defaultValue.call(this) : defaultValue;
744
+ }
745
+ if (reflect) {
746
+ const formatted = formatValue.call(this, value);
747
+ updateAttribute(this, attributeName, formatted);
748
+ }
749
+ return value;
750
+ }
751
+ };
752
+ };
753
+ }
754
+
755
+ // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Query.ts
756
+ var defaultOptions = {
757
+ all: false,
758
+ closest: false,
759
+ from: "shadow",
760
+ fallback: null
761
+ };
762
+ var resolveFallback = (fallback, host) => {
763
+ if (typeof fallback === "function") {
764
+ return fallback(host);
765
+ }
766
+ return fallback;
767
+ };
768
+ var resolveRoot = (host, option) => {
769
+ switch (option) {
770
+ case "document":
771
+ return document;
772
+ case "light":
773
+ return host;
774
+ default:
775
+ return host.renderRoot ?? host.shadowRoot ?? host;
776
+ }
777
+ };
778
+ var resolveQuery = (host, selector, options) => {
779
+ if (options.closest) {
780
+ const result = host.closest(selector);
781
+ return result ?? resolveFallback(options.fallback, host) ?? null;
782
+ }
783
+ const root = resolveRoot(host, options.from);
784
+ if (!root) {
785
+ return options.all ? resolveFallback(options.fallback, host) ?? [] : resolveFallback(options.fallback, host) ?? null;
786
+ }
787
+ if (options.all) {
788
+ const elements = Array.from(root.querySelectorAll(selector));
789
+ return elements.length > 0 ? elements : resolveFallback(options.fallback, host) ?? [];
790
+ }
791
+ const match = root.querySelector(selector);
792
+ return match ?? resolveFallback(options.fallback, host) ?? null;
793
+ };
794
+ var createQueryDecorator = (selector, options) => {
795
+ return (_target, context) => {
796
+ if (context.kind === "accessor") {
797
+ const descriptor = {
798
+ get() {
799
+ return resolveQuery(this, selector, options);
800
+ },
801
+ set(_value) {
802
+ }
803
+ };
804
+ return descriptor;
805
+ }
806
+ context.addInitializer(function() {
807
+ Object.defineProperty(this, context.name, {
808
+ configurable: true,
809
+ enumerable: true,
810
+ get: () => resolveQuery(this, selector, options)
811
+ });
812
+ });
813
+ return;
814
+ };
815
+ };
816
+ function Query(selector, userOptions) {
817
+ if (!selector) {
818
+ throw new Error("@Query requires a selector.");
819
+ }
820
+ if (userOptions) {
821
+ const merged2 = {
822
+ ...defaultOptions,
823
+ ...userOptions
824
+ };
825
+ return createQueryDecorator(selector, merged2);
826
+ }
827
+ const merged = defaultOptions;
828
+ return createQueryDecorator(selector, merged);
829
+ }
830
+
831
+ // swc:/home/runner/work/web-kit/web-kit/packages/core/src/decorators/Watch.ts
832
+ var renderQueue2 = /* @__PURE__ */ new WeakMap();
833
+ var scheduleRender2 = (instance) => {
834
+ if (typeof instance.requestRender === "function") {
835
+ instance.requestRender();
836
+ return;
837
+ }
838
+ if (typeof instance.render !== "function") {
839
+ return;
840
+ }
841
+ if (renderQueue2.get(instance)) {
842
+ return;
843
+ }
844
+ renderQueue2.set(instance, true);
845
+ requestAnimationFrame(() => {
846
+ renderQueue2.set(instance, false);
847
+ instance.render?.();
848
+ });
849
+ };
850
+ var defaultCompare2 = (previous, next) => previous === next;
851
+ function Watch(options = {}) {
852
+ const { compare = defaultCompare2, onChange, transform } = options;
853
+ return (accessor, context) => {
854
+ if (context.kind !== "accessor") {
855
+ throw new Error('@Watch requires the "accessor" keyword on the property.');
856
+ }
857
+ return {
858
+ get() {
859
+ return accessor.get.call(this);
860
+ },
861
+ set(value) {
862
+ const previous = accessor.get.call(this);
863
+ if (compare(previous, value)) {
864
+ return;
865
+ }
866
+ accessor.set.call(this, value);
867
+ if (onChange) {
868
+ onChange.call(this, value, previous);
869
+ }
870
+ scheduleRender2(this);
871
+ },
872
+ init(initialValue) {
873
+ if (transform) {
874
+ return transform.call(this, initialValue);
875
+ }
876
+ return initialValue;
877
+ }
878
+ };
879
+ };
880
+ }
881
+ export {
882
+ Component,
883
+ Listen,
884
+ OutsideClick,
885
+ Prop,
886
+ Query,
887
+ Watch
888
+ };
889
+ //# sourceMappingURL=decorators.js.map