@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
@@ -1,681 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.State = void 0;
4
- const lit_html_1 = require("lit-html");
5
- const shared_1 = require("../shared.cjs");
6
- const Component_1 = require("../../decorators/Component");
7
- const Listen_1 = require("../../decorators/Listen");
8
- const Prop_1 = require("../../decorators/Prop");
9
- const Query_1 = require("../../decorators/Query");
10
- const readControlValue = (element) => {
11
- if (typeof element.value === 'string' || typeof element.value === 'number') {
12
- return element.value;
13
- }
14
- if (typeof element.checked === 'boolean') {
15
- return element.checked;
16
- }
17
- if ('getAttribute' in element) {
18
- const attr = element.getAttribute('value');
19
- if (attr !== null) {
20
- return attr;
21
- }
22
- }
23
- return element.textContent?.trim() ?? null;
24
- };
25
- const getControlName = (element) => {
26
- if (typeof element.name === 'string' && element.name) {
27
- return element.name;
28
- }
29
- return element.getAttribute?.('name') ?? null;
30
- };
31
- @(0, Component_1.Component)({
32
- tag: 'ease-state',
33
- shadowMode: 'open',
34
- styles: `
35
- :host {
36
- --ease-state-transition-duration: 120ms;
37
- --ease-state-transition-easing: cubic-bezier(.25, 0, .5, 1);
38
- }
39
-
40
- [part="section"] {
41
- display: block;
42
- width: 100%;
43
- max-width: var(--ease-panel-max-width, 332px);
44
- border-radius: var(--ease-panel-radius, 12px);
45
- border: 1px solid var(--ease-panel-border-color, var(--color-white-6));
46
- background-clip: padding-box;
47
- background: var(--ease-panel-background, var(--color-gray-1000));
48
- box-shadow: var(--ease-panel-shadow, 0 0 40px 0 var(--color-white-2) inset);
49
- box-sizing: border-box;
50
- padding: var(--ease-panel-padding, 12px);
51
- margin: auto;
52
- }
53
-
54
- [part="header"] {
55
- display: flex;
56
- align-items: center;
57
- gap: 8px;
58
- width: 100%;
59
- margin-bottom: 12px;
60
- }
61
-
62
- [part="headline"] {
63
- font-size: var(--ease-panel-title-font-size, 14px);
64
- font-weight: var(--ease-panel-title-font-weight, 500);
65
- line-height: var(--ease-panel-title-line-height, 24px);
66
- font-family: var(--ease-font-family, "Instrument Sans", sans-serif);
67
- color: var(--ease-panel-title-color, var(--color-blue-100));
68
- margin: 0 0 0 4px;
69
- flex-grow: 1;
70
- text-ellipsis: ellipsis;
71
- overflow: hidden;
72
- white-space: nowrap;
73
- }
74
-
75
- [part="headline"]:has(+ [part="tabs"]:not(:empty)) {
76
- display: none;
77
- }
78
-
79
- [part="tabs"] {
80
- display: flex;
81
- align-items: center;
82
- gap: 2px;
83
- flex-grow: 1;
84
- margin: 0 0 0 4px;
85
- }
86
-
87
- [part="tabs"]:empty {
88
- display: none;
89
- }
90
-
91
- [part="tab"] {
92
- appearance: none;
93
- font-size: var(--ease-panel-tab-font-size, 13px);
94
- font-weight: var(--ease-panel-tab-font-weight, 500);
95
- line-height: var(--ease-panel-tab-line-height, 24px);
96
- font-family: var(--ease-font-family, "Instrument Sans", sans-serif);
97
- color: var(--ease-panel-tab-color, var(--color-gray-600));
98
- background: transparent;
99
- border: none;
100
- padding: 4px 8px;
101
- margin: 0;
102
- cursor: pointer;
103
- border-radius: var(--ease-panel-tab-radius, 6px);
104
- transition: color 0.2s, background-color 0.2s;
105
- }
106
-
107
- [part="tab"]:hover {
108
- color: var(--ease-panel-tab-color-hover, var(--color-blue-100));
109
- }
110
-
111
- [part="tab"][aria-selected="true"] {
112
- color: var(--ease-panel-tab-color-active, var(--color-blue-100));
113
- background: var(--ease-panel-tab-background-active, var(--color-white-4));
114
- }
115
-
116
- [part="actions"] {
117
- display: flex;
118
- align-items: center;
119
- gap: 4px;
120
- margin-left: auto;
121
- }
122
-
123
- slot[name="actions"]::slotted(button),
124
- slot[name="actions"]::slotted(a) {
125
- --ease-icon-size: var(--ease-panel-action-icon-size, 16px);
126
-
127
- appearance: none;
128
- flex: 0 0 24px;
129
- border: none;
130
- outline: none;
131
- background-color: transparent;
132
- padding: 4px;
133
- margin: 0;
134
- cursor: pointer;
135
- color: var(--color-gray-600);
136
- transition: color 0.2s;
137
- text-decoration: none;
138
- display: flex;
139
- align-items: center;
140
- justify-content: center;
141
- }
142
-
143
- slot[name="actions"]::slotted(button:hover),
144
- slot[name="actions"]::slotted(button:focus-visible),
145
- slot[name="actions"]::slotted(a:hover),
146
- slot[name="actions"]::slotted(a:focus-visible) {
147
- color: var(--color-blue-100);
148
- }
149
-
150
- slot[name="actions"]::slotted(ease-dropdown) {
151
- flex: 0 0 auto;
152
- width: auto;
153
-
154
- --ease-icon-size: var(--ease-panel-action-icon-size, 16px);
155
- --ease-dropdown-trigger-padding: 4px;
156
- --ease-dropdown-radius: 6px;
157
- --ease-dropdown-background: transparent;
158
- --ease-dropdown-background-hover: transparent;
159
- --ease-dropdown-shadow: none;
160
- --ease-dropdown-color: var(--color-gray-600);
161
- --ease-popover-placement: bottom-end;
162
- }
163
-
164
- slot[name="actions"]::slotted(ease-dropdown:hover),
165
- slot[name="actions"]::slotted(ease-dropdown:focus-within) {
166
- --ease-dropdown-color: var(--color-blue-100);
167
- }
168
-
169
- [part="content"] {
170
- display: block;
171
- width: 100%;
172
- box-sizing: border-box;
173
- margin: auto;
174
- overflow: hidden;
175
- }
176
-
177
- [part="content"][data-animating="true"] {
178
- transition: height var(--ease-state-transition-duration) var(--ease-state-transition-easing);
179
- }
180
-
181
- [part="form"] {
182
- width: 100%;
183
- position: relative;
184
- }
185
-
186
- [part="tab-panel"] {
187
- width: 100%;
188
- pointer-events: none;
189
- display: none;
190
- }
191
-
192
- [part="tab-panel"][data-state="active"] {
193
- display: block;
194
- pointer-events: auto;
195
- }
196
-
197
- [part="tab-panel"][data-state="hidden"] {
198
- display: none;
199
- pointer-events: none;
200
- }
201
-
202
- [part="footer"] {
203
- display: flex;
204
- align-items: center;
205
- justify-content: space-between;
206
- width: 100%;
207
- padding: var(--ease-panel-footer-padding, 12px);
208
- box-sizing: border-box;
209
- border-top: 1px solid var(--color-white-4);
210
-
211
- &:not(:has([data-has-content="true"])) {
212
- display: none;
213
- }
214
- }
215
-
216
- ::slotted([slot="entry"]),
217
- ::slotted([slot^="tab-"]) {
218
- display: grid;
219
- gap: 12px;
220
- box-sizing: border-box;
221
- width: 100%;
222
- }
223
- `
224
- })
225
- class State extends HTMLElement {
226
- #controls = new Map();
227
- #state = {};
228
- #initialState = {};
229
- #subscribers = new Map();
230
- #tabs = [];
231
- #isAnimating = false;
232
- @(0, Prop_1.Prop)({ reflect: true })
233
- accessor value;
234
- @(0, Prop_1.Prop)({
235
- type: Number,
236
- reflect: true,
237
- attribute: 'active-tab',
238
- defaultValue: 0,
239
- onChange(next, previous) {
240
- const self = this;
241
- if (next !== previous && previous !== undefined) {
242
- self.handleActiveTabChange(previous, next);
243
- }
244
- }
245
- })
246
- accessor activeTab = 0;
247
- /** @internal */
248
- handleActiveTabChange(previous, next) {
249
- this.performTabAnimation(previous, next);
250
- }
251
- @(0, Query_1.Query)('slot[name="entry"]')
252
- accessor entrySlot;
253
- @(0, Query_1.Query)('output')
254
- accessor outputElement;
255
- @(0, Query_1.Query)('[part="content"]')
256
- accessor contentElement;
257
- @(0, Query_1.Query)('[part="form"]')
258
- accessor formElement;
259
- /**
260
- * Get the current state object with all control values
261
- */
262
- get state() {
263
- return { ...this.#state };
264
- }
265
- /**
266
- * Get a specific control value by name
267
- * @param name - The control name
268
- * @returns The control value or undefined
269
- */
270
- get(name) {
271
- return this.#state[name];
272
- }
273
- /**
274
- * Set a control value programmatically
275
- * @param name - The control name
276
- * @param value - The new value
277
- */
278
- set(name, value) {
279
- const control = this.#controls.get(name);
280
- if (control) {
281
- // Update the control element
282
- if ('value' in control) {
283
- control.value = value;
284
- }
285
- else if (typeof value === 'boolean' && 'checked' in control) {
286
- control.checked = value;
287
- }
288
- }
289
- this.#updateState(name, value, new Event('programmatic'));
290
- }
291
- subscribe(nameOrCallback, callback) {
292
- let name;
293
- let cb;
294
- if (typeof nameOrCallback === 'function') {
295
- name = '*';
296
- cb = nameOrCallback;
297
- }
298
- else {
299
- name = nameOrCallback;
300
- if (!callback) {
301
- throw new Error('[ease-state] subscribe(name, callback) requires a callback');
302
- }
303
- cb = callback;
304
- }
305
- if (!this.#subscribers.has(name)) {
306
- this.#subscribers.set(name, new Set());
307
- }
308
- this.#subscribers.get(name)?.add(cb);
309
- return {
310
- unsubscribe: () => {
311
- this.#subscribers.get(name)?.delete(cb);
312
- }
313
- };
314
- }
315
- /**
316
- * Reset all controls to their initial values
317
- */
318
- reset() {
319
- for (const [name, value] of Object.entries(this.#initialState)) {
320
- this.set(name, value);
321
- }
322
- }
323
- /**
324
- * Switch to a specific tab by index
325
- * @param index - The tab index (0-based)
326
- */
327
- setTab(index) {
328
- if (index >= 0 && index < this.#tabs.length && index !== this.activeTab) {
329
- this.activeTab = index;
330
- }
331
- }
332
- connectedCallback() {
333
- this.#syncTabs();
334
- this.#attach();
335
- this.entrySlot?.addEventListener('slotchange', this.#handleSlotChange);
336
- }
337
- disconnectedCallback() {
338
- this.#detach();
339
- this.entrySlot?.removeEventListener('slotchange', this.#handleSlotChange);
340
- }
341
- afterRender() {
342
- if (this.outputElement) {
343
- this.outputElement.value = this.value ?? '';
344
- }
345
- this.#syncTabs();
346
- }
347
- render() {
348
- const hasTabs = this.#tabs.length > 0;
349
- return (0, lit_html_1.html) `
350
- <section part="section">
351
- <div part="header">
352
- <h3 part="headline"><slot name="headline"></slot></h3>
353
- ${this.#renderTabs()}
354
- <div part="actions">
355
- <slot name="actions"></slot>
356
- </div>
357
- </div>
358
- <div part="content">
359
- <div part="form">
360
- ${hasTabs ? this.#renderTabPanels() : (0, lit_html_1.html) `<slot name="entry"></slot>`}
361
- </div>
362
- </div>
363
- <div part="footer">
364
- <slot name="footer"></slot>
365
- </div>
366
- </section>
367
- `;
368
- }
369
- #renderTabs() {
370
- if (this.#tabs.length === 0) {
371
- return lit_html_1.nothing;
372
- }
373
- return (0, lit_html_1.html) `
374
- <div part="tabs" role="tablist">
375
- ${this.#tabs.map((tab, index) => (0, lit_html_1.html) `
376
- <button
377
- part="tab"
378
- role="tab"
379
- aria-selected=${index === this.activeTab ? 'true' : 'false'}
380
- aria-controls=${`panel-${tab.id}`}
381
- tabindex=${index === this.activeTab ? 0 : -1}
382
- @click=${(e) => this.#handleTabClick(index, tab.id, e)}
383
- @keydown=${(e) => this.#handleTabKeydown(e, index)}
384
- >
385
- ${tab.label}
386
- </button>
387
- `)}
388
- </div>
389
- `;
390
- }
391
- #renderTabPanels() {
392
- return (0, lit_html_1.html) `
393
- ${this.#tabs.map((tab, index) => (0, lit_html_1.html) `
394
- <div
395
- part="tab-panel"
396
- role="tabpanel"
397
- id=${`panel-${tab.id}`}
398
- aria-labelledby=${`tab-${tab.id}`}
399
- data-state=${index === this.activeTab ? 'active' : 'hidden'}
400
- data-index=${index}
401
- >
402
- <slot name=${`tab-${tab.id}`}></slot>
403
- </div>
404
- `)}
405
- `;
406
- }
407
- #handleTabClick(index, id, event) {
408
- if (index === this.activeTab) {
409
- return;
410
- }
411
- this.activeTab = index;
412
- (0, shared_1.dispatchControlEvent)(this, 'tab-change', {
413
- index,
414
- id,
415
- event
416
- });
417
- }
418
- #handleTabKeydown(event, currentIndex) {
419
- let newIndex = currentIndex;
420
- switch (event.key) {
421
- case 'ArrowLeft':
422
- event.preventDefault();
423
- newIndex = currentIndex > 0 ? currentIndex - 1 : this.#tabs.length - 1;
424
- break;
425
- case 'ArrowRight':
426
- event.preventDefault();
427
- newIndex = currentIndex < this.#tabs.length - 1 ? currentIndex + 1 : 0;
428
- break;
429
- case 'Home':
430
- event.preventDefault();
431
- newIndex = 0;
432
- break;
433
- case 'End':
434
- event.preventDefault();
435
- newIndex = this.#tabs.length - 1;
436
- break;
437
- default:
438
- return;
439
- }
440
- if (newIndex !== currentIndex) {
441
- this.activeTab = newIndex;
442
- // Focus the new tab button
443
- queueMicrotask(() => {
444
- const tabButtons = this.shadowRoot?.querySelectorAll('[part="tab"]');
445
- const newTabButton = tabButtons?.[newIndex];
446
- newTabButton?.focus();
447
- });
448
- }
449
- }
450
- async performTabAnimation(fromIndex, toIndex) {
451
- if (this.#isAnimating) {
452
- return;
453
- }
454
- this.#isAnimating = true;
455
- const duration = 120;
456
- const easing = 'cubic-bezier(.25, 0, .5, 1)';
457
- const content = this.contentElement;
458
- if (!content) {
459
- this.#isAnimating = false;
460
- this.requestRender();
461
- return;
462
- }
463
- // Get the panels by data-index attribute for reliability
464
- const fromPanel = this.shadowRoot?.querySelector(`[part="tab-panel"][data-index="${fromIndex}"]`);
465
- const toPanel = this.shadowRoot?.querySelector(`[part="tab-panel"][data-index="${toIndex}"]`);
466
- if (!fromPanel || !toPanel) {
467
- this.#isAnimating = false;
468
- this.requestRender();
469
- return;
470
- }
471
- // Lock the current height
472
- const startHeight = content.getBoundingClientRect().height;
473
- content.style.height = `${startHeight}px`;
474
- // FIX: Ensure the new panel is hidden immediately.
475
- // Changing activeTab triggers a render which sets data-state="active" (display: block).
476
- // We must override this with inline styles to prevent the content from showing during the fade-out.
477
- toPanel.style.display = 'none';
478
- toPanel.style.opacity = '0';
479
- // Fade out old content via WAAPI (avoids any "one-frame" flashes)
480
- try {
481
- const fadeOut = fromPanel.animate([{ opacity: 1 }, { opacity: 0 }], { duration, easing, fill: 'forwards' });
482
- await fadeOut.finished;
483
- fadeOut.cancel();
484
- }
485
- catch {
486
- // ignore
487
- }
488
- fromPanel.setAttribute('data-state', 'hidden');
489
- // Prepare and measure new panel while completely invisible
490
- const previousToState = toPanel.getAttribute('data-state');
491
- // Reset display to block (overriding our 'none' above) but keep invisible for measuring
492
- toPanel.style.display = 'block';
493
- toPanel.style.visibility = 'hidden';
494
- toPanel.style.opacity = '0';
495
- // Force layout, then measure
496
- void toPanel.offsetHeight;
497
- const endHeight = toPanel.getBoundingClientRect().height;
498
- // Animate height
499
- if (startHeight !== endHeight) {
500
- content.setAttribute('data-animating', 'true');
501
- void content.offsetHeight;
502
- content.style.height = `${endHeight}px`;
503
- await this.#wait(duration);
504
- }
505
- // Show panel but keep opacity at 0, then fade in
506
- toPanel.style.visibility = 'visible';
507
- toPanel.style.opacity = '0';
508
- // Ensure the 0-opacity state is committed
509
- void toPanel.offsetHeight;
510
- try {
511
- const fadeIn = toPanel.animate([{ opacity: 0 }, { opacity: 1 }], { duration, easing, fill: 'forwards' });
512
- await fadeIn.finished;
513
- fadeIn.cancel();
514
- }
515
- catch {
516
- // ignore
517
- }
518
- // Finalize new tab state and cleanup
519
- toPanel.style.display = '';
520
- toPanel.style.visibility = '';
521
- toPanel.style.opacity = '';
522
- // Restore state attribute (we only want one active)
523
- if (previousToState !== 'active') {
524
- toPanel.setAttribute('data-state', 'active');
525
- }
526
- content.style.height = '';
527
- content.removeAttribute('data-animating');
528
- this.#isAnimating = false;
529
- this.#detach();
530
- this.#attach();
531
- }
532
- #wait(ms) {
533
- return new Promise((resolve) => setTimeout(resolve, ms));
534
- }
535
- #syncTabs() {
536
- const tabs = [];
537
- for (const child of Array.from(this.children)) {
538
- const slot = child.getAttribute('slot');
539
- if (slot?.startsWith('tab-')) {
540
- const id = slot.replace('tab-', '');
541
- const label = child.getAttribute('data-tab-label') || id;
542
- tabs.push({ id, label });
543
- }
544
- }
545
- this.#tabs = tabs.slice(0, 3);
546
- if (this.activeTab >= this.#tabs.length && this.#tabs.length > 0) {
547
- this.activeTab = 0;
548
- }
549
- }
550
- @(0, Listen_1.Listen)('input', { target: (host) => host })
551
- handleInternalInput(event) {
552
- this.#handleControlEvent(event);
553
- }
554
- @(0, Listen_1.Listen)('change', { target: (host) => host })
555
- handleInternalChange(event) {
556
- this.#handleControlEvent(event);
557
- }
558
- @(0, Listen_1.Listen)(shared_1.CONTROL_CHANGE_EVENT, { target: (host) => host })
559
- handleControlChange(event) {
560
- this.#handleControlEvent(event);
561
- }
562
- @(0, Listen_1.Listen)('slotchange', { selector: 'slot[name="footer"]' })
563
- onFooterSlotChange() {
564
- this.updateFooterAttribute();
565
- }
566
- #handleControlEvent(event) {
567
- if ('detail' in event && event.detail?.name) {
568
- this.#updateState(event.detail.name, event.detail.value, event);
569
- return;
570
- }
571
- if (!(event.target instanceof Element)) {
572
- return;
573
- }
574
- const control = event.target;
575
- const name = getControlName(control);
576
- if (!name || !this.#controls.has(name)) {
577
- return;
578
- }
579
- const value = readControlValue(control);
580
- this.#updateState(name, value, event);
581
- }
582
- #handleSlotChange = () => {
583
- this.#syncTabs();
584
- this.#detach();
585
- this.#attach();
586
- };
587
- #attach() {
588
- const slots = [];
589
- if (this.#tabs.length === 0) {
590
- if (this.entrySlot) {
591
- slots.push(this.entrySlot);
592
- }
593
- }
594
- else {
595
- const activeTab = this.#tabs[this.activeTab];
596
- if (activeTab) {
597
- const tabSlot = this.shadowRoot?.querySelector(`slot[name="tab-${activeTab.id}"]`);
598
- if (tabSlot) {
599
- slots.push(tabSlot);
600
- }
601
- }
602
- }
603
- const findControls = (el) => {
604
- const controls = [];
605
- const name = getControlName(el);
606
- if (name) {
607
- controls.push(el);
608
- }
609
- if (el.shadowRoot) {
610
- for (const child of el.shadowRoot.querySelectorAll('[name]')) {
611
- const childName = getControlName(child);
612
- if (childName) {
613
- controls.push(child);
614
- }
615
- }
616
- }
617
- for (const child of el.querySelectorAll('[name]')) {
618
- const childName = getControlName(child);
619
- if (childName) {
620
- controls.push(child);
621
- }
622
- }
623
- return controls;
624
- };
625
- this.#controls.clear();
626
- this.#state = {};
627
- for (const slot of slots) {
628
- const elements = slot.assignedElements({ flatten: true });
629
- for (const element of elements) {
630
- const controls = findControls(element);
631
- for (const control of controls) {
632
- const name = getControlName(control);
633
- if (name) {
634
- this.#controls.set(name, control);
635
- const value = readControlValue(control);
636
- this.#state[name] = value;
637
- this.#initialState[name] = value;
638
- }
639
- }
640
- }
641
- }
642
- const first = this.#controls.values().next().value;
643
- if (first) {
644
- const name = getControlName(first);
645
- this.value = name && this.#state[name] != null ? String(this.#state[name]) : null;
646
- }
647
- }
648
- #detach() {
649
- this.#controls.clear();
650
- }
651
- #updateState(name, value, event) {
652
- const prevValue = this.#state[name];
653
- if (prevValue === value) {
654
- return;
655
- }
656
- this.#state[name] = value;
657
- this.value = String(value);
658
- for (const cb of this.#subscribers.get(name) ?? []) {
659
- cb(value, name);
660
- }
661
- for (const cb of this.#subscribers.get('*') ?? []) {
662
- cb(value, name);
663
- }
664
- (0, shared_1.dispatchControlEvent)(this, 'state-change', {
665
- name,
666
- value,
667
- state: this.state,
668
- event
669
- });
670
- }
671
- updateFooterAttribute() {
672
- const footer = this.shadowRoot?.querySelector('[part="footer"]');
673
- if (!footer) {
674
- return;
675
- }
676
- const footerSlot = this.shadowRoot?.querySelector('slot[name="footer"]');
677
- const hasFooter = Boolean(footerSlot?.assignedNodes({ flatten: true }).length > 0);
678
- (0, shared_1.setBooleanAttribute)(footer, 'data-has-content', hasFooter);
679
- }
680
- }
681
- exports.State = State;