@easemate/web-kit 0.1.5 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +360 -168
  2. package/build/decorators.cjs +921 -0
  3. package/build/decorators.cjs.map +1 -0
  4. package/build/decorators.d.cts +123 -0
  5. package/build/decorators.d.ts +123 -0
  6. package/build/decorators.js +889 -0
  7. package/build/decorators.js.map +1 -0
  8. package/build/elements.cjs +27604 -0
  9. package/build/elements.cjs.map +1 -0
  10. package/build/elements.d.cts +373 -0
  11. package/build/elements.d.ts +373 -0
  12. package/build/elements.js +27528 -0
  13. package/build/elements.js.map +1 -0
  14. package/build/{elements/monitor/index.d.ts → index-31iOHBv0.d.cts} +26 -5
  15. package/build/{elements/monitor/index.d.cts → index-31iOHBv0.d.ts} +26 -5
  16. package/build/index-NzGpn7ai.d.cts +70 -0
  17. package/build/index-NzGpn7ai.d.ts +70 -0
  18. package/build/index-qZoNKsHn.d.cts +136 -0
  19. package/build/index-qZoNKsHn.d.ts +136 -0
  20. package/build/index.cjs +38651 -38
  21. package/build/index.cjs.map +1 -0
  22. package/build/index.d.cts +85 -6
  23. package/build/index.d.ts +85 -6
  24. package/build/index.js +38535 -12
  25. package/build/index.js.map +1 -0
  26. package/build/init-B7gNNyTd.d.ts +235 -0
  27. package/build/init-DwVGVxkx.d.cts +235 -0
  28. package/build/jsx.cjs +31 -0
  29. package/build/jsx.cjs.map +1 -0
  30. package/build/jsx.d.cts +317 -0
  31. package/build/jsx.d.ts +317 -0
  32. package/build/jsx.js +6 -0
  33. package/build/jsx.js.map +1 -0
  34. package/build/outside-click-rZ3Di_WX.d.cts +16 -0
  35. package/build/outside-click-rZ3Di_WX.d.ts +16 -0
  36. package/build/react.cjs +37827 -0
  37. package/build/react.cjs.map +1 -0
  38. package/build/react.d.cts +356 -0
  39. package/build/react.d.ts +356 -0
  40. package/build/react.js +37802 -0
  41. package/build/react.js.map +1 -0
  42. package/build/register.cjs +35832 -35
  43. package/build/register.cjs.map +1 -0
  44. package/build/register.d.cts +4 -32
  45. package/build/register.d.ts +4 -32
  46. package/build/register.js +35831 -34
  47. package/build/register.js.map +1 -0
  48. package/build/register.server.cjs +19 -0
  49. package/build/register.server.cjs.map +1 -0
  50. package/build/register.server.d.cts +2 -0
  51. package/build/register.server.d.ts +2 -0
  52. package/build/register.server.js +1 -0
  53. package/build/register.server.js.map +1 -0
  54. package/build/registry-9GX9KTG1.d.cts +264 -0
  55. package/build/registry-9GX9KTG1.d.ts +264 -0
  56. package/build/template-helpers-CguLXtLD.d.cts +10 -0
  57. package/build/template-helpers-CguLXtLD.d.ts +10 -0
  58. package/build/theme.cjs +746 -0
  59. package/build/theme.cjs.map +1 -0
  60. package/build/{theme/index.d.cts → theme.d.cts} +41 -21
  61. package/build/{theme/index.d.ts → theme.d.ts} +41 -21
  62. package/build/theme.js +692 -0
  63. package/build/theme.js.map +1 -0
  64. package/build/utils.cjs +205 -0
  65. package/build/utils.cjs.map +1 -0
  66. package/build/utils.d.cts +26 -0
  67. package/build/utils.d.ts +26 -0
  68. package/build/utils.js +167 -0
  69. package/build/utils.js.map +1 -0
  70. package/package.json +57 -29
  71. package/build/components/code/index.cjs +0 -152
  72. package/build/components/code/index.d.cts +0 -11
  73. package/build/components/code/index.d.ts +0 -11
  74. package/build/components/code/index.js +0 -148
  75. package/build/components/code/utils/highlight-api.cjs +0 -18
  76. package/build/components/code/utils/highlight-api.d.cts +0 -7
  77. package/build/components/code/utils/highlight-api.d.ts +0 -7
  78. package/build/components/code/utils/highlight-api.js +0 -14
  79. package/build/components/code/utils/syntax-grammars.cjs +0 -62
  80. package/build/components/code/utils/syntax-grammars.d.cts +0 -7
  81. package/build/components/code/utils/syntax-grammars.d.ts +0 -7
  82. package/build/components/code/utils/syntax-grammars.js +0 -59
  83. package/build/components/code/utils/syntax-highlighter-theme.cjs +0 -27
  84. package/build/components/code/utils/syntax-highlighter-theme.d.cts +0 -3
  85. package/build/components/code/utils/syntax-highlighter-theme.d.ts +0 -3
  86. package/build/components/code/utils/syntax-highlighter-theme.js +0 -23
  87. package/build/components/code/utils/syntax-highlighter-types.cjs +0 -2
  88. package/build/components/code/utils/syntax-highlighter-types.d.cts +0 -12
  89. package/build/components/code/utils/syntax-highlighter-types.d.ts +0 -12
  90. package/build/components/code/utils/syntax-highlighter-types.js +0 -1
  91. package/build/components/code/utils/syntax-tokenizer.cjs +0 -63
  92. package/build/components/code/utils/syntax-tokenizer.d.cts +0 -3
  93. package/build/components/code/utils/syntax-tokenizer.d.ts +0 -3
  94. package/build/components/code/utils/syntax-tokenizer.js +0 -58
  95. package/build/components/curve/bezier-conversion.cjs +0 -23
  96. package/build/components/curve/bezier-conversion.d.cts +0 -2
  97. package/build/components/curve/bezier-conversion.d.ts +0 -2
  98. package/build/components/curve/bezier-conversion.js +0 -19
  99. package/build/components/curve/canvas-controls.cjs +0 -300
  100. package/build/components/curve/canvas-controls.d.cts +0 -12
  101. package/build/components/curve/canvas-controls.d.ts +0 -12
  102. package/build/components/curve/canvas-controls.js +0 -296
  103. package/build/components/curve/canvas.cjs +0 -1208
  104. package/build/components/curve/canvas.d.cts +0 -24
  105. package/build/components/curve/canvas.d.ts +0 -24
  106. package/build/components/curve/canvas.js +0 -1204
  107. package/build/components/curve/constants.cjs +0 -203
  108. package/build/components/curve/constants.d.cts +0 -23
  109. package/build/components/curve/constants.d.ts +0 -23
  110. package/build/components/curve/constants.js +0 -200
  111. package/build/components/curve/controls.cjs +0 -942
  112. package/build/components/curve/controls.d.cts +0 -37
  113. package/build/components/curve/controls.d.ts +0 -37
  114. package/build/components/curve/controls.js +0 -938
  115. package/build/components/curve/index.cjs +0 -335
  116. package/build/components/curve/index.d.cts +0 -31
  117. package/build/components/curve/index.d.ts +0 -31
  118. package/build/components/curve/index.js +0 -330
  119. package/build/components/curve/output.cjs +0 -141
  120. package/build/components/curve/output.d.cts +0 -19
  121. package/build/components/curve/output.d.ts +0 -19
  122. package/build/components/curve/output.js +0 -137
  123. package/build/components/curve/styles.cjs +0 -493
  124. package/build/components/curve/styles.d.cts +0 -6
  125. package/build/components/curve/styles.d.ts +0 -6
  126. package/build/components/curve/styles.js +0 -490
  127. package/build/components/curve/svg-renderer.cjs +0 -185
  128. package/build/components/curve/svg-renderer.d.cts +0 -9
  129. package/build/components/curve/svg-renderer.d.ts +0 -9
  130. package/build/components/curve/svg-renderer.js +0 -175
  131. package/build/components/curve/toolbar.cjs +0 -368
  132. package/build/components/curve/toolbar.d.cts +0 -26
  133. package/build/components/curve/toolbar.d.ts +0 -26
  134. package/build/components/curve/toolbar.js +0 -364
  135. package/build/components/curve/types.cjs +0 -10
  136. package/build/components/curve/types.d.cts +0 -33
  137. package/build/components/curve/types.d.ts +0 -33
  138. package/build/components/curve/types.js +0 -7
  139. package/build/components/curve/utils.cjs +0 -541
  140. package/build/components/curve/utils.d.cts +0 -33
  141. package/build/components/curve/utils.d.ts +0 -33
  142. package/build/components/curve/utils.js +0 -521
  143. package/build/components/index.cjs +0 -18
  144. package/build/components/index.d.cts +0 -2
  145. package/build/components/index.d.ts +0 -2
  146. package/build/components/index.js +0 -2
  147. package/build/decorators/Component.cjs +0 -127
  148. package/build/decorators/Component.d.cts +0 -28
  149. package/build/decorators/Component.d.ts +0 -28
  150. package/build/decorators/Component.js +0 -123
  151. package/build/decorators/Listen.cjs +0 -154
  152. package/build/decorators/Listen.d.cts +0 -18
  153. package/build/decorators/Listen.d.ts +0 -18
  154. package/build/decorators/Listen.js +0 -151
  155. package/build/decorators/OutsideClick.cjs +0 -64
  156. package/build/decorators/OutsideClick.d.cts +0 -16
  157. package/build/decorators/OutsideClick.d.ts +0 -16
  158. package/build/decorators/OutsideClick.js +0 -59
  159. package/build/decorators/Prop.cjs +0 -273
  160. package/build/decorators/Prop.d.cts +0 -22
  161. package/build/decorators/Prop.d.ts +0 -22
  162. package/build/decorators/Prop.js +0 -270
  163. package/build/decorators/Query.cjs +0 -79
  164. package/build/decorators/Query.d.cts +0 -27
  165. package/build/decorators/Query.d.ts +0 -27
  166. package/build/decorators/Query.js +0 -76
  167. package/build/decorators/Watch.cjs +0 -52
  168. package/build/decorators/Watch.d.cts +0 -11
  169. package/build/decorators/Watch.d.ts +0 -11
  170. package/build/decorators/Watch.js +0 -49
  171. package/build/decorators/index.cjs +0 -15
  172. package/build/decorators/index.d.cts +0 -6
  173. package/build/decorators/index.d.ts +0 -6
  174. package/build/decorators/index.js +0 -6
  175. package/build/elements/button/index.cjs +0 -214
  176. package/build/elements/button/index.d.cts +0 -11
  177. package/build/elements/button/index.d.ts +0 -11
  178. package/build/elements/button/index.js +0 -210
  179. package/build/elements/checkbox/index.cjs +0 -316
  180. package/build/elements/checkbox/index.d.cts +0 -14
  181. package/build/elements/checkbox/index.d.ts +0 -14
  182. package/build/elements/checkbox/index.js +0 -312
  183. package/build/elements/color/index.cjs +0 -154
  184. package/build/elements/color/index.d.cts +0 -18
  185. package/build/elements/color/index.d.ts +0 -18
  186. package/build/elements/color/index.js +0 -150
  187. package/build/elements/color/picker.cjs +0 -544
  188. package/build/elements/color/picker.d.cts +0 -37
  189. package/build/elements/color/picker.d.ts +0 -37
  190. package/build/elements/color/picker.js +0 -540
  191. package/build/elements/color/utils.cjs +0 -235
  192. package/build/elements/color/utils.d.cts +0 -37
  193. package/build/elements/color/utils.d.ts +0 -37
  194. package/build/elements/color/utils.js +0 -218
  195. package/build/elements/dropdown/index.cjs +0 -875
  196. package/build/elements/dropdown/index.d.cts +0 -30
  197. package/build/elements/dropdown/index.d.ts +0 -30
  198. package/build/elements/dropdown/index.js +0 -871
  199. package/build/elements/field/index.cjs +0 -82
  200. package/build/elements/field/index.d.cts +0 -4
  201. package/build/elements/field/index.d.ts +0 -4
  202. package/build/elements/field/index.js +0 -78
  203. package/build/elements/icons/animation/chevron.cjs +0 -57
  204. package/build/elements/icons/animation/chevron.d.cts +0 -10
  205. package/build/elements/icons/animation/chevron.d.ts +0 -10
  206. package/build/elements/icons/animation/chevron.js +0 -53
  207. package/build/elements/icons/animation/clear.cjs +0 -74
  208. package/build/elements/icons/animation/clear.d.cts +0 -3
  209. package/build/elements/icons/animation/clear.d.ts +0 -3
  210. package/build/elements/icons/animation/clear.js +0 -70
  211. package/build/elements/icons/animation/grid.cjs +0 -77
  212. package/build/elements/icons/animation/grid.d.cts +0 -8
  213. package/build/elements/icons/animation/grid.d.ts +0 -8
  214. package/build/elements/icons/animation/grid.js +0 -73
  215. package/build/elements/icons/animation/loading.cjs +0 -68
  216. package/build/elements/icons/animation/loading.d.cts +0 -3
  217. package/build/elements/icons/animation/loading.d.ts +0 -3
  218. package/build/elements/icons/animation/loading.js +0 -64
  219. package/build/elements/icons/animation/snap.cjs +0 -133
  220. package/build/elements/icons/animation/snap.d.cts +0 -8
  221. package/build/elements/icons/animation/snap.d.ts +0 -8
  222. package/build/elements/icons/animation/snap.js +0 -129
  223. package/build/elements/icons/index.cjs +0 -40
  224. package/build/elements/icons/index.d.cts +0 -24
  225. package/build/elements/icons/index.d.ts +0 -24
  226. package/build/elements/icons/index.js +0 -24
  227. package/build/elements/icons/interface/anchor-add.cjs +0 -35
  228. package/build/elements/icons/interface/anchor-add.d.cts +0 -3
  229. package/build/elements/icons/interface/anchor-add.d.ts +0 -3
  230. package/build/elements/icons/interface/anchor-add.js +0 -31
  231. package/build/elements/icons/interface/anchor-remove.cjs +0 -34
  232. package/build/elements/icons/interface/anchor-remove.d.cts +0 -3
  233. package/build/elements/icons/interface/anchor-remove.d.ts +0 -3
  234. package/build/elements/icons/interface/anchor-remove.js +0 -30
  235. package/build/elements/icons/interface/arrow-up.cjs +0 -30
  236. package/build/elements/icons/interface/arrow-up.d.cts +0 -3
  237. package/build/elements/icons/interface/arrow-up.d.ts +0 -3
  238. package/build/elements/icons/interface/arrow-up.js +0 -26
  239. package/build/elements/icons/interface/arrows-vertical.cjs +0 -30
  240. package/build/elements/icons/interface/arrows-vertical.d.cts +0 -3
  241. package/build/elements/icons/interface/arrows-vertical.d.ts +0 -3
  242. package/build/elements/icons/interface/arrows-vertical.js +0 -26
  243. package/build/elements/icons/interface/bezier-angle.cjs +0 -33
  244. package/build/elements/icons/interface/bezier-angle.d.cts +0 -3
  245. package/build/elements/icons/interface/bezier-angle.d.ts +0 -3
  246. package/build/elements/icons/interface/bezier-angle.js +0 -29
  247. package/build/elements/icons/interface/bezier-distribute.cjs +0 -34
  248. package/build/elements/icons/interface/bezier-distribute.d.cts +0 -3
  249. package/build/elements/icons/interface/bezier-distribute.d.ts +0 -3
  250. package/build/elements/icons/interface/bezier-distribute.js +0 -30
  251. package/build/elements/icons/interface/bezier-length.cjs +0 -31
  252. package/build/elements/icons/interface/bezier-length.d.cts +0 -3
  253. package/build/elements/icons/interface/bezier-length.d.ts +0 -3
  254. package/build/elements/icons/interface/bezier-length.js +0 -27
  255. package/build/elements/icons/interface/bezier-mirror.cjs +0 -31
  256. package/build/elements/icons/interface/bezier-mirror.d.cts +0 -3
  257. package/build/elements/icons/interface/bezier-mirror.d.ts +0 -3
  258. package/build/elements/icons/interface/bezier-mirror.js +0 -27
  259. package/build/elements/icons/interface/bezier.cjs +0 -26
  260. package/build/elements/icons/interface/bezier.d.cts +0 -3
  261. package/build/elements/icons/interface/bezier.d.ts +0 -3
  262. package/build/elements/icons/interface/bezier.js +0 -22
  263. package/build/elements/icons/interface/check.cjs +0 -30
  264. package/build/elements/icons/interface/check.d.cts +0 -3
  265. package/build/elements/icons/interface/check.d.ts +0 -3
  266. package/build/elements/icons/interface/check.js +0 -26
  267. package/build/elements/icons/interface/circle-arrow-left.cjs +0 -30
  268. package/build/elements/icons/interface/circle-arrow-left.d.cts +0 -3
  269. package/build/elements/icons/interface/circle-arrow-left.d.ts +0 -3
  270. package/build/elements/icons/interface/circle-arrow-left.js +0 -26
  271. package/build/elements/icons/interface/circle-arrow-right.cjs +0 -30
  272. package/build/elements/icons/interface/circle-arrow-right.d.cts +0 -3
  273. package/build/elements/icons/interface/circle-arrow-right.d.ts +0 -3
  274. package/build/elements/icons/interface/circle-arrow-right.js +0 -26
  275. package/build/elements/icons/interface/code.cjs +0 -30
  276. package/build/elements/icons/interface/code.d.cts +0 -3
  277. package/build/elements/icons/interface/code.d.ts +0 -3
  278. package/build/elements/icons/interface/code.js +0 -26
  279. package/build/elements/icons/interface/dots.cjs +0 -32
  280. package/build/elements/icons/interface/dots.d.cts +0 -3
  281. package/build/elements/icons/interface/dots.d.ts +0 -3
  282. package/build/elements/icons/interface/dots.js +0 -28
  283. package/build/elements/icons/interface/mention.cjs +0 -30
  284. package/build/elements/icons/interface/mention.d.cts +0 -3
  285. package/build/elements/icons/interface/mention.d.ts +0 -3
  286. package/build/elements/icons/interface/mention.js +0 -26
  287. package/build/elements/icons/interface/minus.cjs +0 -30
  288. package/build/elements/icons/interface/minus.d.cts +0 -3
  289. package/build/elements/icons/interface/minus.d.ts +0 -3
  290. package/build/elements/icons/interface/minus.js +0 -26
  291. package/build/elements/icons/interface/picker.cjs +0 -34
  292. package/build/elements/icons/interface/picker.d.cts +0 -3
  293. package/build/elements/icons/interface/picker.d.ts +0 -3
  294. package/build/elements/icons/interface/picker.js +0 -30
  295. package/build/elements/icons/interface/plus.cjs +0 -30
  296. package/build/elements/icons/interface/plus.d.cts +0 -3
  297. package/build/elements/icons/interface/plus.d.ts +0 -3
  298. package/build/elements/icons/interface/plus.js +0 -26
  299. package/build/elements/icons/interface/settings.cjs +0 -30
  300. package/build/elements/icons/interface/settings.d.cts +0 -3
  301. package/build/elements/icons/interface/settings.d.ts +0 -3
  302. package/build/elements/icons/interface/settings.js +0 -26
  303. package/build/elements/index.cjs +0 -62
  304. package/build/elements/index.d.cts +0 -22
  305. package/build/elements/index.d.ts +0 -22
  306. package/build/elements/index.js +0 -22
  307. package/build/elements/input/index.cjs +0 -273
  308. package/build/elements/input/index.d.cts +0 -17
  309. package/build/elements/input/index.d.ts +0 -17
  310. package/build/elements/input/index.js +0 -269
  311. package/build/elements/logo/index.cjs +0 -732
  312. package/build/elements/logo/index.d.cts +0 -17
  313. package/build/elements/logo/index.d.ts +0 -17
  314. package/build/elements/logo/index.js +0 -728
  315. package/build/elements/monitor/fps.cjs +0 -432
  316. package/build/elements/monitor/fps.d.cts +0 -21
  317. package/build/elements/monitor/fps.d.ts +0 -21
  318. package/build/elements/monitor/fps.js +0 -428
  319. package/build/elements/monitor/index.cjs +0 -670
  320. package/build/elements/monitor/index.js +0 -666
  321. package/build/elements/number/index.cjs +0 -173
  322. package/build/elements/number/index.d.cts +0 -19
  323. package/build/elements/number/index.d.ts +0 -19
  324. package/build/elements/number/index.js +0 -169
  325. package/build/elements/origin/index.cjs +0 -169
  326. package/build/elements/origin/index.d.cts +0 -12
  327. package/build/elements/origin/index.d.ts +0 -12
  328. package/build/elements/origin/index.js +0 -165
  329. package/build/elements/popover/index.cjs +0 -209
  330. package/build/elements/popover/index.d.cts +0 -19
  331. package/build/elements/popover/index.d.ts +0 -19
  332. package/build/elements/popover/index.js +0 -205
  333. package/build/elements/radio/index.cjs +0 -301
  334. package/build/elements/radio/index.d.cts +0 -13
  335. package/build/elements/radio/index.d.ts +0 -13
  336. package/build/elements/radio/index.js +0 -283
  337. package/build/elements/radio/input.cjs +0 -329
  338. package/build/elements/radio/input.d.cts +0 -15
  339. package/build/elements/radio/input.d.ts +0 -15
  340. package/build/elements/radio/input.js +0 -325
  341. package/build/elements/radio/option.cjs +0 -15
  342. package/build/elements/radio/option.d.cts +0 -3
  343. package/build/elements/radio/option.d.ts +0 -3
  344. package/build/elements/radio/option.js +0 -11
  345. package/build/elements/shared.cjs +0 -66
  346. package/build/elements/shared.d.cts +0 -40
  347. package/build/elements/shared.d.ts +0 -40
  348. package/build/elements/shared.js +0 -59
  349. package/build/elements/slider/index.cjs +0 -232
  350. package/build/elements/slider/index.d.cts +0 -20
  351. package/build/elements/slider/index.d.ts +0 -20
  352. package/build/elements/slider/index.js +0 -228
  353. package/build/elements/state/index.cjs +0 -681
  354. package/build/elements/state/index.d.cts +0 -86
  355. package/build/elements/state/index.d.ts +0 -86
  356. package/build/elements/state/index.js +0 -677
  357. package/build/elements/toggle/index.cjs +0 -151
  358. package/build/elements/toggle/index.d.cts +0 -9
  359. package/build/elements/toggle/index.d.ts +0 -9
  360. package/build/elements/toggle/index.js +0 -147
  361. package/build/elements/tooltip/index.cjs +0 -187
  362. package/build/elements/tooltip/index.d.cts +0 -17
  363. package/build/elements/tooltip/index.d.ts +0 -17
  364. package/build/elements/tooltip/index.js +0 -183
  365. package/build/init.cjs +0 -325
  366. package/build/init.d.cts +0 -157
  367. package/build/init.d.ts +0 -157
  368. package/build/init.js +0 -289
  369. package/build/internal/component-loaders.cjs +0 -206
  370. package/build/internal/component-loaders.d.cts +0 -52
  371. package/build/internal/component-loaders.d.ts +0 -52
  372. package/build/internal/component-loaders.js +0 -167
  373. package/build/internal/fonts.cjs +0 -128
  374. package/build/internal/fonts.d.cts +0 -32
  375. package/build/internal/fonts.d.ts +0 -32
  376. package/build/internal/fonts.js +0 -123
  377. package/build/internal/lazy-load.cjs +0 -89
  378. package/build/internal/lazy-load.d.cts +0 -32
  379. package/build/internal/lazy-load.d.ts +0 -32
  380. package/build/internal/lazy-load.js +0 -86
  381. package/build/internal/style-inject.cjs +0 -236
  382. package/build/internal/style-inject.d.cts +0 -44
  383. package/build/internal/style-inject.d.ts +0 -44
  384. package/build/internal/style-inject.js +0 -226
  385. package/build/theme/index.cjs +0 -452
  386. package/build/theme/index.js +0 -423
  387. package/build/theme/presets.cjs +0 -54
  388. package/build/theme/presets.d.cts +0 -19
  389. package/build/theme/presets.d.ts +0 -19
  390. package/build/theme/presets.js +0 -51
  391. package/build/theme/registry.cjs +0 -204
  392. package/build/theme/registry.d.cts +0 -99
  393. package/build/theme/registry.d.ts +0 -99
  394. package/build/theme/registry.js +0 -194
  395. package/build/theme/tokens.cjs +0 -148
  396. package/build/theme/tokens.d.cts +0 -163
  397. package/build/theme/tokens.d.ts +0 -163
  398. package/build/theme/tokens.js +0 -145
  399. package/build/utils/dismiss-controller.cjs +0 -77
  400. package/build/utils/dismiss-controller.d.cts +0 -14
  401. package/build/utils/dismiss-controller.d.ts +0 -14
  402. package/build/utils/dismiss-controller.js +0 -73
  403. package/build/utils/index.cjs +0 -18
  404. package/build/utils/index.d.cts +0 -3
  405. package/build/utils/index.d.ts +0 -3
  406. package/build/utils/index.js +0 -3
  407. package/build/utils/outside-click.cjs +0 -82
  408. package/build/utils/outside-click.d.cts +0 -18
  409. package/build/utils/outside-click.d.ts +0 -18
  410. package/build/utils/outside-click.js +0 -74
  411. package/build/utils/template-helpers.cjs +0 -39
  412. package/build/utils/template-helpers.d.cts +0 -13
  413. package/build/utils/template-helpers.d.ts +0 -13
  414. package/build/utils/template-helpers.js +0 -28
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easemate/web-kit",
3
- "version": "0.1.5",
3
+ "version": "0.3.0",
4
4
  "description": "UI kit of web components for easemate - a typescript animation library",
5
5
  "type": "module",
6
6
  "files": [
@@ -9,11 +9,17 @@
9
9
  "sideEffects": [
10
10
  "./build/register.js",
11
11
  "./build/register.cjs",
12
+ "./build/register.server.js",
13
+ "./build/register.server.cjs",
14
+ "./build/react.js",
15
+ "./build/react.cjs",
16
+ "./build/jsx.js",
17
+ "./build/jsx.cjs",
12
18
  "./build/styles/**/*.css"
13
19
  ],
14
20
  "scripts": {
15
21
  "clean": "rm -rf build",
16
- "build": "npm run clean && zshy && tsc-alias -p tsconfig.json",
22
+ "build": "npm run clean && tsup",
17
23
  "test": "vitest run",
18
24
  "test:watch": "vitest",
19
25
  "lint": "biome check src test",
@@ -21,7 +27,7 @@
21
27
  "format": "biome format src test",
22
28
  "format:fix": "biome format src test --write",
23
29
  "typecheck": "tsc --noEmit",
24
- "prepare": "zshy && tsc-alias -p tsconfig.json"
30
+ "prepare": "tsup"
25
31
  },
26
32
  "keywords": [
27
33
  "ui",
@@ -48,52 +54,74 @@
48
54
  "dependencies": {
49
55
  "lit-html": "^3.2.1"
50
56
  },
51
- "zshy": {
52
- "exports": {
53
- ".": "./src/index.ts",
54
- "./elements": "./src/elements/index.ts",
55
- "./decorators": "./src/decorators/index.ts",
56
- "./utils": "./src/utils/index.ts",
57
- "./theme": "./src/theme/index.ts",
58
- "./register": "./src/register.ts"
59
- }
60
- },
61
57
  "exports": {
62
58
  ".": {
63
- "types": "./build/index.d.cts",
59
+ "types": "./build/index.d.ts",
64
60
  "import": "./build/index.js",
65
61
  "require": "./build/index.cjs"
66
62
  },
67
63
  "./elements": {
68
- "types": "./build/elements/index.d.cts",
69
- "import": "./build/elements/index.js",
70
- "require": "./build/elements/index.cjs"
64
+ "types": "./build/elements.d.ts",
65
+ "import": "./build/elements.js",
66
+ "require": "./build/elements.cjs"
71
67
  },
72
68
  "./decorators": {
73
- "types": "./build/decorators/index.d.cts",
74
- "import": "./build/decorators/index.js",
75
- "require": "./build/decorators/index.cjs"
69
+ "types": "./build/decorators.d.ts",
70
+ "import": "./build/decorators.js",
71
+ "require": "./build/decorators.cjs"
76
72
  },
77
73
  "./utils": {
78
- "types": "./build/utils/index.d.cts",
79
- "import": "./build/utils/index.js",
80
- "require": "./build/utils/index.cjs"
74
+ "types": "./build/utils.d.ts",
75
+ "import": "./build/utils.js",
76
+ "require": "./build/utils.cjs"
81
77
  },
82
78
  "./theme": {
83
- "types": "./build/theme/index.d.cts",
84
- "import": "./build/theme/index.js",
85
- "require": "./build/theme/index.cjs"
79
+ "types": "./build/theme.d.ts",
80
+ "import": "./build/theme.js",
81
+ "require": "./build/theme.cjs"
82
+ },
83
+ "./react": {
84
+ "types": "./build/react.d.ts",
85
+ "import": "./build/react.js",
86
+ "require": "./build/react.cjs"
87
+ },
88
+ "./react/jsx": {
89
+ "types": "./build/jsx.d.ts",
90
+ "import": "./build/jsx.js",
91
+ "require": "./build/jsx.cjs"
86
92
  },
87
93
  "./register": {
88
- "types": "./build/register.d.cts",
94
+ "types": "./build/register.d.ts",
95
+ "react-server": {
96
+ "types": "./build/register.server.d.ts",
97
+ "import": "./build/register.server.js",
98
+ "require": "./build/register.server.cjs"
99
+ },
100
+ "node": {
101
+ "types": "./build/register.server.d.ts",
102
+ "import": "./build/register.server.js",
103
+ "require": "./build/register.server.cjs"
104
+ },
89
105
  "import": "./build/register.js",
90
106
  "require": "./build/register.cjs"
91
107
  }
92
108
  },
109
+ "peerDependencies": {
110
+ "react": ">=17.0.0"
111
+ },
112
+ "peerDependenciesMeta": {
113
+ "react": {
114
+ "optional": true
115
+ }
116
+ },
93
117
  "main": "./build/index.cjs",
94
- "types": "./build/index.d.cts",
118
+ "types": "./build/index.d.ts",
95
119
  "module": "./build/index.js",
96
120
  "devDependencies": {
97
- "tsc-alias": "^1.8.16"
121
+ "@swc/core": "^1.10.1",
122
+ "@types/react": "^19.0.0",
123
+ "tsup": "^8.3.5",
124
+ "typescript": "^5.7.0",
125
+ "unplugin-swc": "^1.5.1"
98
126
  }
99
127
  }
@@ -1,152 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Code = void 0;
4
- const lit_html_1 = require("lit-html");
5
- const highlight_api_1 = require("./utils/highlight-api.cjs");
6
- const syntax_highlighter_theme_1 = require("./utils/syntax-highlighter-theme.cjs");
7
- const syntax_tokenizer_1 = require("./utils/syntax-tokenizer.cjs");
8
- const Component_1 = require("../../decorators/Component");
9
- const Prop_1 = require("../../decorators/Prop");
10
- const Query_1 = require("../../decorators/Query");
11
- @(0, Component_1.Component)({
12
- tag: 'ease-code',
13
- shadowMode: 'open',
14
- autoSlot: false,
15
- styles: `
16
- :host {
17
- display: block;
18
- position: relative;
19
- color: var(--ease-code-color, var(--color-blue-100));
20
- }
21
-
22
- pre {
23
- margin: 0;
24
- font-family: var(--ease-font-mono, 'Geist Mono', monospace);
25
- font-size: var(--ease-code-font-size, var(--ease-font-size-sm, 12px));
26
- line-height: var(--ease-code-line-height, 1.4);
27
- }
28
-
29
- code {
30
- white-space: pre-wrap;
31
- }
32
- `,
33
- template() {
34
- return (0, lit_html_1.html) `<pre><code><slot></slot></code></pre>`;
35
- }
36
- })
37
- class Code extends HTMLElement {
38
- #instanceId = `hl-${crypto.randomUUID()}`;
39
- #registeredHighlights = new Set();
40
- #observer = null;
41
- @(0, Prop_1.Prop)({ reflect: true })
42
- accessor language = null;
43
- @(0, Query_1.Query)('code')
44
- accessor codeElement = null;
45
- connectedCallback() {
46
- this.#observer = new MutationObserver(() => this.#processContent());
47
- this.#observer.observe(this, {
48
- childList: true,
49
- subtree: true,
50
- characterData: true
51
- });
52
- this.#processContent();
53
- }
54
- disconnectedCallback() {
55
- this.#observer?.disconnect();
56
- this.#cleanupHighlights();
57
- }
58
- attributeChangedCallback(name) {
59
- if (name === 'language') {
60
- this.#processContent();
61
- }
62
- }
63
- get currentLanguage() {
64
- return this.language?.toLowerCase() ?? 'plaintext';
65
- }
66
- afterRender() {
67
- this.#processContent();
68
- }
69
- #renderStyles = () => {
70
- const style = document.createElement('style');
71
- style.setAttribute('data-highlight-styles', this.#instanceId);
72
- const highlightStyles = (0, syntax_highlighter_theme_1.generateHighlightStyles)(this.#instanceId);
73
- style.textContent = highlightStyles;
74
- if (this.shadowRoot) {
75
- this.shadowRoot.appendChild(style);
76
- }
77
- };
78
- #cleanupStyles() {
79
- const styles = this.shadowRoot?.querySelectorAll(`style[data-highlight-styles="${this.#instanceId}"]`);
80
- if (styles) {
81
- for (const style of styles) {
82
- style.remove();
83
- }
84
- }
85
- }
86
- #getHighlightName(type) {
87
- return `syntax-${type}-${this.#instanceId}`;
88
- }
89
- #processContent() {
90
- let rawCode = this.textContent || '';
91
- rawCode = (0, syntax_tokenizer_1.normalizeIndent)(rawCode);
92
- if (!this.codeElement) {
93
- return;
94
- }
95
- this.codeElement.textContent = rawCode;
96
- this.#cleanupHighlights();
97
- if (!rawCode.trim() || !highlight_api_1.SUPPORTS_HIGHLIGHT_API) {
98
- return;
99
- }
100
- const textNode = this.codeElement.firstChild;
101
- if (!textNode) {
102
- return;
103
- }
104
- this.#highlightCode(rawCode, this.currentLanguage, textNode);
105
- }
106
- #highlightCode(code, language, textNode) {
107
- const api = (0, highlight_api_1.getHighlightAPI)();
108
- if (!api) {
109
- return;
110
- }
111
- const tokens = (0, syntax_tokenizer_1.tokenize)(code, language);
112
- const highlightMap = new Map();
113
- for (const token of tokens) {
114
- if (token.start >= token.end) {
115
- continue;
116
- }
117
- try {
118
- this.#renderStyles();
119
- const range = document.createRange();
120
- range.setStart(textNode, token.start);
121
- range.setEnd(textNode, token.end);
122
- if (!highlightMap.has(token.type)) {
123
- highlightMap.set(token.type, []);
124
- }
125
- highlightMap.get(token.type)?.push(range);
126
- }
127
- catch {
128
- // Ignore range creation errors
129
- }
130
- }
131
- for (const [type, ranges] of highlightMap.entries()) {
132
- if (ranges.length) {
133
- const highlightName = this.#getHighlightName(type);
134
- const highlight = new api.Highlight(...ranges);
135
- api.highlights.set(highlightName, highlight);
136
- this.#registeredHighlights.add(highlightName);
137
- }
138
- }
139
- }
140
- #cleanupHighlights() {
141
- const api = (0, highlight_api_1.getHighlightAPI)();
142
- if (!api) {
143
- return;
144
- }
145
- for (const name of this.#registeredHighlights) {
146
- api.highlights.delete(name);
147
- }
148
- this.#cleanupStyles();
149
- this.#registeredHighlights.clear();
150
- }
151
- }
152
- exports.Code = Code;
@@ -1,11 +0,0 @@
1
- export declare class Code extends HTMLElement {
2
- #private;
3
- requestRender: () => void;
4
- accessor language: string | null;
5
- accessor codeElement: HTMLElement | null;
6
- connectedCallback(): void;
7
- disconnectedCallback(): void;
8
- attributeChangedCallback(name: string): void;
9
- get currentLanguage(): string;
10
- afterRender(): void;
11
- }
@@ -1,11 +0,0 @@
1
- export declare class Code extends HTMLElement {
2
- #private;
3
- requestRender: () => void;
4
- accessor language: string | null;
5
- accessor codeElement: HTMLElement | null;
6
- connectedCallback(): void;
7
- disconnectedCallback(): void;
8
- attributeChangedCallback(name: string): void;
9
- get currentLanguage(): string;
10
- afterRender(): void;
11
- }
@@ -1,148 +0,0 @@
1
- import { html } from 'lit-html';
2
- import { getHighlightAPI, SUPPORTS_HIGHLIGHT_API } from "./utils/highlight-api.js";
3
- import { generateHighlightStyles } from "./utils/syntax-highlighter-theme.js";
4
- import { normalizeIndent, tokenize } from "./utils/syntax-tokenizer.js";
5
- import { Component } from '../../decorators/Component';
6
- import { Prop } from '../../decorators/Prop';
7
- import { Query } from '../../decorators/Query';
8
- @Component({
9
- tag: 'ease-code',
10
- shadowMode: 'open',
11
- autoSlot: false,
12
- styles: `
13
- :host {
14
- display: block;
15
- position: relative;
16
- color: var(--ease-code-color, var(--color-blue-100));
17
- }
18
-
19
- pre {
20
- margin: 0;
21
- font-family: var(--ease-font-mono, 'Geist Mono', monospace);
22
- font-size: var(--ease-code-font-size, var(--ease-font-size-sm, 12px));
23
- line-height: var(--ease-code-line-height, 1.4);
24
- }
25
-
26
- code {
27
- white-space: pre-wrap;
28
- }
29
- `,
30
- template() {
31
- return html `<pre><code><slot></slot></code></pre>`;
32
- }
33
- })
34
- export class Code extends HTMLElement {
35
- #instanceId = `hl-${crypto.randomUUID()}`;
36
- #registeredHighlights = new Set();
37
- #observer = null;
38
- @Prop({ reflect: true })
39
- accessor language = null;
40
- @Query('code')
41
- accessor codeElement = null;
42
- connectedCallback() {
43
- this.#observer = new MutationObserver(() => this.#processContent());
44
- this.#observer.observe(this, {
45
- childList: true,
46
- subtree: true,
47
- characterData: true
48
- });
49
- this.#processContent();
50
- }
51
- disconnectedCallback() {
52
- this.#observer?.disconnect();
53
- this.#cleanupHighlights();
54
- }
55
- attributeChangedCallback(name) {
56
- if (name === 'language') {
57
- this.#processContent();
58
- }
59
- }
60
- get currentLanguage() {
61
- return this.language?.toLowerCase() ?? 'plaintext';
62
- }
63
- afterRender() {
64
- this.#processContent();
65
- }
66
- #renderStyles = () => {
67
- const style = document.createElement('style');
68
- style.setAttribute('data-highlight-styles', this.#instanceId);
69
- const highlightStyles = generateHighlightStyles(this.#instanceId);
70
- style.textContent = highlightStyles;
71
- if (this.shadowRoot) {
72
- this.shadowRoot.appendChild(style);
73
- }
74
- };
75
- #cleanupStyles() {
76
- const styles = this.shadowRoot?.querySelectorAll(`style[data-highlight-styles="${this.#instanceId}"]`);
77
- if (styles) {
78
- for (const style of styles) {
79
- style.remove();
80
- }
81
- }
82
- }
83
- #getHighlightName(type) {
84
- return `syntax-${type}-${this.#instanceId}`;
85
- }
86
- #processContent() {
87
- let rawCode = this.textContent || '';
88
- rawCode = normalizeIndent(rawCode);
89
- if (!this.codeElement) {
90
- return;
91
- }
92
- this.codeElement.textContent = rawCode;
93
- this.#cleanupHighlights();
94
- if (!rawCode.trim() || !SUPPORTS_HIGHLIGHT_API) {
95
- return;
96
- }
97
- const textNode = this.codeElement.firstChild;
98
- if (!textNode) {
99
- return;
100
- }
101
- this.#highlightCode(rawCode, this.currentLanguage, textNode);
102
- }
103
- #highlightCode(code, language, textNode) {
104
- const api = getHighlightAPI();
105
- if (!api) {
106
- return;
107
- }
108
- const tokens = tokenize(code, language);
109
- const highlightMap = new Map();
110
- for (const token of tokens) {
111
- if (token.start >= token.end) {
112
- continue;
113
- }
114
- try {
115
- this.#renderStyles();
116
- const range = document.createRange();
117
- range.setStart(textNode, token.start);
118
- range.setEnd(textNode, token.end);
119
- if (!highlightMap.has(token.type)) {
120
- highlightMap.set(token.type, []);
121
- }
122
- highlightMap.get(token.type)?.push(range);
123
- }
124
- catch {
125
- // Ignore range creation errors
126
- }
127
- }
128
- for (const [type, ranges] of highlightMap.entries()) {
129
- if (ranges.length) {
130
- const highlightName = this.#getHighlightName(type);
131
- const highlight = new api.Highlight(...ranges);
132
- api.highlights.set(highlightName, highlight);
133
- this.#registeredHighlights.add(highlightName);
134
- }
135
- }
136
- }
137
- #cleanupHighlights() {
138
- const api = getHighlightAPI();
139
- if (!api) {
140
- return;
141
- }
142
- for (const name of this.#registeredHighlights) {
143
- api.highlights.delete(name);
144
- }
145
- this.#cleanupStyles();
146
- this.#registeredHighlights.clear();
147
- }
148
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getHighlightAPI = exports.SUPPORTS_HIGHLIGHT_API = void 0;
4
- exports.SUPPORTS_HIGHLIGHT_API = typeof window !== 'undefined' &&
5
- typeof window.CSS !== 'undefined' &&
6
- !!window.CSS?.highlights &&
7
- typeof window.Highlight === 'function';
8
- const getHighlightAPI = () => {
9
- if (!exports.SUPPORTS_HIGHLIGHT_API) {
10
- return null;
11
- }
12
- const w = window;
13
- return {
14
- Highlight: w.Highlight,
15
- highlights: w.CSS.highlights
16
- };
17
- };
18
- exports.getHighlightAPI = getHighlightAPI;
@@ -1,7 +0,0 @@
1
- interface HighlightAPI {
2
- Highlight: new (...ranges: Range[]) => unknown;
3
- highlights: Map<string, unknown>;
4
- }
5
- export declare const SUPPORTS_HIGHLIGHT_API: boolean;
6
- export declare const getHighlightAPI: () => HighlightAPI | null;
7
- export {};
@@ -1,7 +0,0 @@
1
- interface HighlightAPI {
2
- Highlight: new (...ranges: Range[]) => unknown;
3
- highlights: Map<string, unknown>;
4
- }
5
- export declare const SUPPORTS_HIGHLIGHT_API: boolean;
6
- export declare const getHighlightAPI: () => HighlightAPI | null;
7
- export {};
@@ -1,14 +0,0 @@
1
- export const SUPPORTS_HIGHLIGHT_API = typeof window !== 'undefined' &&
2
- typeof window.CSS !== 'undefined' &&
3
- !!window.CSS?.highlights &&
4
- typeof window.Highlight === 'function';
5
- export const getHighlightAPI = () => {
6
- if (!SUPPORTS_HIGHLIGHT_API) {
7
- return null;
8
- }
9
- const w = window;
10
- return {
11
- Highlight: w.Highlight,
12
- highlights: w.CSS.highlights
13
- };
14
- };
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GRAMMARS = exports.JSON_BASE = exports.CSS_BASE = exports.HTML_BASE = exports.TS_ADDITIONS = exports.JS_BASE = void 0;
4
- exports.JS_BASE = [
5
- ['comment', /(\/\/.*$)|(\/\*[\s\S]*?\*\/)/m],
6
- ['string', /('[^'\\]*(?:\\.[^'\\]*)*')|("[^"\\]*(?:\\.[^"\\]*)*")|(`[^`\\]*(?:\\.[^`\\]*)*`)/],
7
- ['number', /\b\d+(\.\d+)?\b|0x[a-fA-F0-9]+\b/],
8
- [
9
- 'keyword',
10
- /\b(if|else|while|for|do|return|const|let|var|function|class|new|try|catch|finally|throw|import|export|default|async|await|extends|super|break|continue|switch|case|in|of|instanceof|typeof|delete|this|true|false|null|from|as)\b/
11
- ],
12
- ['function', /\b\w+(?=\()/],
13
- ['operator', /[+\-*/%=<>!&|?.:]{1,3}/]
14
- ];
15
- exports.TS_ADDITIONS = [
16
- [
17
- 'keyword',
18
- /\b(type|interface|enum|public|private|protected|readonly|namespace|module|declare|abstract|implements|static|any|unknown|never|string|number|boolean|void|symbol|bigint)\b/
19
- ],
20
- ['type', /\b([A-Z]\w*)\b/]
21
- ];
22
- exports.HTML_BASE = [
23
- ['comment', /<!--[\s\S]*?-->/m],
24
- ['attribute', /(\s[a-zA-Z0-9_-]+)(?=\s*=)/],
25
- ['string', /('[^']*')|("[^"]*")/],
26
- ['tag', /(<\/?)([a-zA-Z0-9-]+)/],
27
- ['keyword', /<!DOCTYPE[^>]*>/i]
28
- ];
29
- exports.CSS_BASE = [
30
- ['comment', /\/\*[\s\S]*?\*\//m],
31
- ['string', /('[^']*')|("[^"]*")/],
32
- ['number', /(#[0-9a-fA-F]{3,8})|\b-?\d+(\.\d+)?(px|em|rem|%|deg|s|ms|vh|vw|vmin|vmax)?\b/],
33
- ['keyword', /(!important|@media|@import|@keyframes|@font-face|inherit|initial|unset|auto|none)\b/],
34
- ['variable', /(--[a-zA-Z0-9_-]+)/],
35
- ['property', /([a-zA-Z-]+)\s*(?=:)/],
36
- ['selector', /(\.|#)([a-zA-Z0-9_-]+)|\[[^\]]+\]/],
37
- ['tag', /\b([a-zA-Z]+)(?=\s*\{)/]
38
- ];
39
- exports.JSON_BASE = [
40
- ['property', /"([^"\\]*(?:\\.[^"\\]*)*)"(?=\s*:)/],
41
- ['string', /"([^"\\]*(?:\\.[^"\\]*)*)"/],
42
- ['number', /\b-?\d+(\.\d+)?([eE][+-]?\d+)?\b/],
43
- ['keyword', /\b(true|false|null)\b/]
44
- ];
45
- const baseGrammars = {
46
- javascript: exports.JS_BASE,
47
- js: exports.JS_BASE,
48
- typescript: [...exports.JS_BASE, ...exports.TS_ADDITIONS],
49
- ts: [...exports.JS_BASE, ...exports.TS_ADDITIONS],
50
- html: exports.HTML_BASE,
51
- css: exports.CSS_BASE,
52
- json: exports.JSON_BASE
53
- };
54
- const TSX_GRAMMAR = [
55
- ...exports.HTML_BASE,
56
- ...(baseGrammars.typescript?.filter(([type]) => type !== 'operator') || [])
57
- ];
58
- exports.GRAMMARS = {
59
- ...baseGrammars,
60
- tsx: TSX_GRAMMAR,
61
- jsx: TSX_GRAMMAR
62
- };
@@ -1,7 +0,0 @@
1
- import type { Grammar } from "./syntax-highlighter-types.cjs";
2
- export declare const JS_BASE: Grammar;
3
- export declare const TS_ADDITIONS: Grammar;
4
- export declare const HTML_BASE: Grammar;
5
- export declare const CSS_BASE: Grammar;
6
- export declare const JSON_BASE: Grammar;
7
- export declare const GRAMMARS: Record<string, Grammar>;
@@ -1,7 +0,0 @@
1
- import type { Grammar } from "./syntax-highlighter-types.js";
2
- export declare const JS_BASE: Grammar;
3
- export declare const TS_ADDITIONS: Grammar;
4
- export declare const HTML_BASE: Grammar;
5
- export declare const CSS_BASE: Grammar;
6
- export declare const JSON_BASE: Grammar;
7
- export declare const GRAMMARS: Record<string, Grammar>;
@@ -1,59 +0,0 @@
1
- export const JS_BASE = [
2
- ['comment', /(\/\/.*$)|(\/\*[\s\S]*?\*\/)/m],
3
- ['string', /('[^'\\]*(?:\\.[^'\\]*)*')|("[^"\\]*(?:\\.[^"\\]*)*")|(`[^`\\]*(?:\\.[^`\\]*)*`)/],
4
- ['number', /\b\d+(\.\d+)?\b|0x[a-fA-F0-9]+\b/],
5
- [
6
- 'keyword',
7
- /\b(if|else|while|for|do|return|const|let|var|function|class|new|try|catch|finally|throw|import|export|default|async|await|extends|super|break|continue|switch|case|in|of|instanceof|typeof|delete|this|true|false|null|from|as)\b/
8
- ],
9
- ['function', /\b\w+(?=\()/],
10
- ['operator', /[+\-*/%=<>!&|?.:]{1,3}/]
11
- ];
12
- export const TS_ADDITIONS = [
13
- [
14
- 'keyword',
15
- /\b(type|interface|enum|public|private|protected|readonly|namespace|module|declare|abstract|implements|static|any|unknown|never|string|number|boolean|void|symbol|bigint)\b/
16
- ],
17
- ['type', /\b([A-Z]\w*)\b/]
18
- ];
19
- export const HTML_BASE = [
20
- ['comment', /<!--[\s\S]*?-->/m],
21
- ['attribute', /(\s[a-zA-Z0-9_-]+)(?=\s*=)/],
22
- ['string', /('[^']*')|("[^"]*")/],
23
- ['tag', /(<\/?)([a-zA-Z0-9-]+)/],
24
- ['keyword', /<!DOCTYPE[^>]*>/i]
25
- ];
26
- export const CSS_BASE = [
27
- ['comment', /\/\*[\s\S]*?\*\//m],
28
- ['string', /('[^']*')|("[^"]*")/],
29
- ['number', /(#[0-9a-fA-F]{3,8})|\b-?\d+(\.\d+)?(px|em|rem|%|deg|s|ms|vh|vw|vmin|vmax)?\b/],
30
- ['keyword', /(!important|@media|@import|@keyframes|@font-face|inherit|initial|unset|auto|none)\b/],
31
- ['variable', /(--[a-zA-Z0-9_-]+)/],
32
- ['property', /([a-zA-Z-]+)\s*(?=:)/],
33
- ['selector', /(\.|#)([a-zA-Z0-9_-]+)|\[[^\]]+\]/],
34
- ['tag', /\b([a-zA-Z]+)(?=\s*\{)/]
35
- ];
36
- export const JSON_BASE = [
37
- ['property', /"([^"\\]*(?:\\.[^"\\]*)*)"(?=\s*:)/],
38
- ['string', /"([^"\\]*(?:\\.[^"\\]*)*)"/],
39
- ['number', /\b-?\d+(\.\d+)?([eE][+-]?\d+)?\b/],
40
- ['keyword', /\b(true|false|null)\b/]
41
- ];
42
- const baseGrammars = {
43
- javascript: JS_BASE,
44
- js: JS_BASE,
45
- typescript: [...JS_BASE, ...TS_ADDITIONS],
46
- ts: [...JS_BASE, ...TS_ADDITIONS],
47
- html: HTML_BASE,
48
- css: CSS_BASE,
49
- json: JSON_BASE
50
- };
51
- const TSX_GRAMMAR = [
52
- ...HTML_BASE,
53
- ...(baseGrammars.typescript?.filter(([type]) => type !== 'operator') || [])
54
- ];
55
- export const GRAMMARS = {
56
- ...baseGrammars,
57
- tsx: TSX_GRAMMAR,
58
- jsx: TSX_GRAMMAR
59
- };