@easemate/web-kit 0.2.0 → 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 (437) hide show
  1. package/build/decorators.cjs +921 -0
  2. package/build/decorators.cjs.map +1 -0
  3. package/build/decorators.d.cts +123 -0
  4. package/build/decorators.d.ts +123 -0
  5. package/build/decorators.js +889 -0
  6. package/build/decorators.js.map +1 -0
  7. package/build/elements.cjs +27604 -0
  8. package/build/elements.cjs.map +1 -0
  9. package/build/elements.d.cts +373 -0
  10. package/build/elements.d.ts +373 -0
  11. package/build/elements.js +27528 -0
  12. package/build/elements.js.map +1 -0
  13. package/build/{elements/monitor/index.d.ts → index-31iOHBv0.d.cts} +26 -5
  14. package/build/{elements/monitor/index.d.cts → index-31iOHBv0.d.ts} +26 -5
  15. package/build/{elements/panel/index.d.cts → index-NzGpn7ai.d.cts} +6 -3
  16. package/build/{elements/panel/index.d.ts → index-NzGpn7ai.d.ts} +6 -3
  17. package/build/{elements/state/index.d.ts → index-qZoNKsHn.d.cts} +46 -5
  18. package/build/{elements/state/index.d.cts → index-qZoNKsHn.d.ts} +46 -5
  19. package/build/index.cjs +38651 -38
  20. package/build/index.cjs.map +1 -0
  21. package/build/index.d.cts +85 -6
  22. package/build/index.d.ts +85 -6
  23. package/build/index.js +38535 -12
  24. package/build/index.js.map +1 -0
  25. package/build/init-B7gNNyTd.d.ts +235 -0
  26. package/build/init-DwVGVxkx.d.cts +235 -0
  27. package/build/jsx.cjs +31 -0
  28. package/build/jsx.cjs.map +1 -0
  29. package/build/jsx.d.cts +317 -0
  30. package/build/jsx.d.ts +317 -0
  31. package/build/jsx.js +6 -0
  32. package/build/jsx.js.map +1 -0
  33. package/build/outside-click-rZ3Di_WX.d.cts +16 -0
  34. package/build/outside-click-rZ3Di_WX.d.ts +16 -0
  35. package/build/react.cjs +37827 -0
  36. package/build/react.cjs.map +1 -0
  37. package/build/react.d.cts +356 -0
  38. package/build/react.d.ts +356 -0
  39. package/build/react.js +37802 -0
  40. package/build/react.js.map +1 -0
  41. package/build/register.cjs +35832 -36
  42. package/build/register.cjs.map +1 -0
  43. package/build/register.d.cts +4 -33
  44. package/build/register.d.ts +4 -33
  45. package/build/register.js +35831 -35
  46. package/build/register.js.map +1 -0
  47. package/build/register.server.cjs +19 -0
  48. package/build/register.server.cjs.map +1 -0
  49. package/build/register.server.d.cts +2 -0
  50. package/build/register.server.d.ts +2 -0
  51. package/build/register.server.js +1 -0
  52. package/build/register.server.js.map +1 -0
  53. package/build/registry-9GX9KTG1.d.cts +264 -0
  54. package/build/registry-9GX9KTG1.d.ts +264 -0
  55. package/build/template-helpers-CguLXtLD.d.cts +10 -0
  56. package/build/template-helpers-CguLXtLD.d.ts +10 -0
  57. package/build/theme.cjs +746 -0
  58. package/build/theme.cjs.map +1 -0
  59. package/build/{theme/index.d.cts → theme.d.cts} +41 -21
  60. package/build/{theme/index.d.ts → theme.d.ts} +41 -21
  61. package/build/theme.js +692 -0
  62. package/build/theme.js.map +1 -0
  63. package/build/utils.cjs +205 -0
  64. package/build/utils.cjs.map +1 -0
  65. package/build/utils.d.cts +26 -0
  66. package/build/utils.d.ts +26 -0
  67. package/build/utils.js +167 -0
  68. package/build/utils.js.map +1 -0
  69. package/package.json +47 -33
  70. package/build/components/code/index.cjs +0 -152
  71. package/build/components/code/index.d.cts +0 -11
  72. package/build/components/code/index.d.ts +0 -11
  73. package/build/components/code/index.js +0 -148
  74. package/build/components/code/utils/highlight-api.cjs +0 -18
  75. package/build/components/code/utils/highlight-api.d.cts +0 -7
  76. package/build/components/code/utils/highlight-api.d.ts +0 -7
  77. package/build/components/code/utils/highlight-api.js +0 -14
  78. package/build/components/code/utils/syntax-grammars.cjs +0 -62
  79. package/build/components/code/utils/syntax-grammars.d.cts +0 -7
  80. package/build/components/code/utils/syntax-grammars.d.ts +0 -7
  81. package/build/components/code/utils/syntax-grammars.js +0 -59
  82. package/build/components/code/utils/syntax-highlighter-theme.cjs +0 -27
  83. package/build/components/code/utils/syntax-highlighter-theme.d.cts +0 -3
  84. package/build/components/code/utils/syntax-highlighter-theme.d.ts +0 -3
  85. package/build/components/code/utils/syntax-highlighter-theme.js +0 -23
  86. package/build/components/code/utils/syntax-highlighter-types.cjs +0 -2
  87. package/build/components/code/utils/syntax-highlighter-types.d.cts +0 -12
  88. package/build/components/code/utils/syntax-highlighter-types.d.ts +0 -12
  89. package/build/components/code/utils/syntax-highlighter-types.js +0 -1
  90. package/build/components/code/utils/syntax-tokenizer.cjs +0 -63
  91. package/build/components/code/utils/syntax-tokenizer.d.cts +0 -3
  92. package/build/components/code/utils/syntax-tokenizer.d.ts +0 -3
  93. package/build/components/code/utils/syntax-tokenizer.js +0 -58
  94. package/build/components/curve/bezier-conversion.cjs +0 -23
  95. package/build/components/curve/bezier-conversion.d.cts +0 -2
  96. package/build/components/curve/bezier-conversion.d.ts +0 -2
  97. package/build/components/curve/bezier-conversion.js +0 -19
  98. package/build/components/curve/canvas-controls.cjs +0 -300
  99. package/build/components/curve/canvas-controls.d.cts +0 -12
  100. package/build/components/curve/canvas-controls.d.ts +0 -12
  101. package/build/components/curve/canvas-controls.js +0 -296
  102. package/build/components/curve/canvas.cjs +0 -1208
  103. package/build/components/curve/canvas.d.cts +0 -24
  104. package/build/components/curve/canvas.d.ts +0 -24
  105. package/build/components/curve/canvas.js +0 -1204
  106. package/build/components/curve/constants.cjs +0 -203
  107. package/build/components/curve/constants.d.cts +0 -23
  108. package/build/components/curve/constants.d.ts +0 -23
  109. package/build/components/curve/constants.js +0 -200
  110. package/build/components/curve/controls.cjs +0 -942
  111. package/build/components/curve/controls.d.cts +0 -37
  112. package/build/components/curve/controls.d.ts +0 -37
  113. package/build/components/curve/controls.js +0 -938
  114. package/build/components/curve/index.cjs +0 -335
  115. package/build/components/curve/index.d.cts +0 -31
  116. package/build/components/curve/index.d.ts +0 -31
  117. package/build/components/curve/index.js +0 -330
  118. package/build/components/curve/output.cjs +0 -141
  119. package/build/components/curve/output.d.cts +0 -19
  120. package/build/components/curve/output.d.ts +0 -19
  121. package/build/components/curve/output.js +0 -137
  122. package/build/components/curve/styles.cjs +0 -493
  123. package/build/components/curve/styles.d.cts +0 -6
  124. package/build/components/curve/styles.d.ts +0 -6
  125. package/build/components/curve/styles.js +0 -490
  126. package/build/components/curve/svg-renderer.cjs +0 -185
  127. package/build/components/curve/svg-renderer.d.cts +0 -9
  128. package/build/components/curve/svg-renderer.d.ts +0 -9
  129. package/build/components/curve/svg-renderer.js +0 -175
  130. package/build/components/curve/toolbar.cjs +0 -368
  131. package/build/components/curve/toolbar.d.cts +0 -26
  132. package/build/components/curve/toolbar.d.ts +0 -26
  133. package/build/components/curve/toolbar.js +0 -364
  134. package/build/components/curve/types.cjs +0 -10
  135. package/build/components/curve/types.d.cts +0 -33
  136. package/build/components/curve/types.d.ts +0 -33
  137. package/build/components/curve/types.js +0 -7
  138. package/build/components/curve/utils.cjs +0 -541
  139. package/build/components/curve/utils.d.cts +0 -33
  140. package/build/components/curve/utils.d.ts +0 -33
  141. package/build/components/curve/utils.js +0 -521
  142. package/build/components/index.cjs +0 -18
  143. package/build/components/index.d.cts +0 -2
  144. package/build/components/index.d.ts +0 -2
  145. package/build/components/index.js +0 -2
  146. package/build/decorators/Component.cjs +0 -127
  147. package/build/decorators/Component.d.cts +0 -28
  148. package/build/decorators/Component.d.ts +0 -28
  149. package/build/decorators/Component.js +0 -123
  150. package/build/decorators/Listen.cjs +0 -154
  151. package/build/decorators/Listen.d.cts +0 -18
  152. package/build/decorators/Listen.d.ts +0 -18
  153. package/build/decorators/Listen.js +0 -151
  154. package/build/decorators/OutsideClick.cjs +0 -64
  155. package/build/decorators/OutsideClick.d.cts +0 -16
  156. package/build/decorators/OutsideClick.d.ts +0 -16
  157. package/build/decorators/OutsideClick.js +0 -59
  158. package/build/decorators/Prop.cjs +0 -273
  159. package/build/decorators/Prop.d.cts +0 -22
  160. package/build/decorators/Prop.d.ts +0 -22
  161. package/build/decorators/Prop.js +0 -270
  162. package/build/decorators/Query.cjs +0 -79
  163. package/build/decorators/Query.d.cts +0 -27
  164. package/build/decorators/Query.d.ts +0 -27
  165. package/build/decorators/Query.js +0 -76
  166. package/build/decorators/Watch.cjs +0 -52
  167. package/build/decorators/Watch.d.cts +0 -11
  168. package/build/decorators/Watch.d.ts +0 -11
  169. package/build/decorators/Watch.js +0 -49
  170. package/build/decorators/index.cjs +0 -15
  171. package/build/decorators/index.d.cts +0 -6
  172. package/build/decorators/index.d.ts +0 -6
  173. package/build/decorators/index.js +0 -6
  174. package/build/elements/button/index.cjs +0 -214
  175. package/build/elements/button/index.d.cts +0 -11
  176. package/build/elements/button/index.d.ts +0 -11
  177. package/build/elements/button/index.js +0 -210
  178. package/build/elements/checkbox/index.cjs +0 -316
  179. package/build/elements/checkbox/index.d.cts +0 -14
  180. package/build/elements/checkbox/index.d.ts +0 -14
  181. package/build/elements/checkbox/index.js +0 -312
  182. package/build/elements/color/index.cjs +0 -154
  183. package/build/elements/color/index.d.cts +0 -18
  184. package/build/elements/color/index.d.ts +0 -18
  185. package/build/elements/color/index.js +0 -150
  186. package/build/elements/color/picker.cjs +0 -544
  187. package/build/elements/color/picker.d.cts +0 -37
  188. package/build/elements/color/picker.d.ts +0 -37
  189. package/build/elements/color/picker.js +0 -540
  190. package/build/elements/color/utils.cjs +0 -235
  191. package/build/elements/color/utils.d.cts +0 -37
  192. package/build/elements/color/utils.d.ts +0 -37
  193. package/build/elements/color/utils.js +0 -218
  194. package/build/elements/dropdown/index.cjs +0 -875
  195. package/build/elements/dropdown/index.d.cts +0 -30
  196. package/build/elements/dropdown/index.d.ts +0 -30
  197. package/build/elements/dropdown/index.js +0 -871
  198. package/build/elements/field/index.cjs +0 -82
  199. package/build/elements/field/index.d.cts +0 -4
  200. package/build/elements/field/index.d.ts +0 -4
  201. package/build/elements/field/index.js +0 -78
  202. package/build/elements/icons/animation/chevron.cjs +0 -57
  203. package/build/elements/icons/animation/chevron.d.cts +0 -10
  204. package/build/elements/icons/animation/chevron.d.ts +0 -10
  205. package/build/elements/icons/animation/chevron.js +0 -53
  206. package/build/elements/icons/animation/clear.cjs +0 -74
  207. package/build/elements/icons/animation/clear.d.cts +0 -3
  208. package/build/elements/icons/animation/clear.d.ts +0 -3
  209. package/build/elements/icons/animation/clear.js +0 -70
  210. package/build/elements/icons/animation/grid.cjs +0 -77
  211. package/build/elements/icons/animation/grid.d.cts +0 -8
  212. package/build/elements/icons/animation/grid.d.ts +0 -8
  213. package/build/elements/icons/animation/grid.js +0 -73
  214. package/build/elements/icons/animation/loading.cjs +0 -68
  215. package/build/elements/icons/animation/loading.d.cts +0 -3
  216. package/build/elements/icons/animation/loading.d.ts +0 -3
  217. package/build/elements/icons/animation/loading.js +0 -64
  218. package/build/elements/icons/animation/snap.cjs +0 -133
  219. package/build/elements/icons/animation/snap.d.cts +0 -8
  220. package/build/elements/icons/animation/snap.d.ts +0 -8
  221. package/build/elements/icons/animation/snap.js +0 -129
  222. package/build/elements/icons/index.cjs +0 -40
  223. package/build/elements/icons/index.d.cts +0 -24
  224. package/build/elements/icons/index.d.ts +0 -24
  225. package/build/elements/icons/index.js +0 -24
  226. package/build/elements/icons/interface/anchor-add.cjs +0 -35
  227. package/build/elements/icons/interface/anchor-add.d.cts +0 -3
  228. package/build/elements/icons/interface/anchor-add.d.ts +0 -3
  229. package/build/elements/icons/interface/anchor-add.js +0 -31
  230. package/build/elements/icons/interface/anchor-remove.cjs +0 -34
  231. package/build/elements/icons/interface/anchor-remove.d.cts +0 -3
  232. package/build/elements/icons/interface/anchor-remove.d.ts +0 -3
  233. package/build/elements/icons/interface/anchor-remove.js +0 -30
  234. package/build/elements/icons/interface/arrow-up.cjs +0 -30
  235. package/build/elements/icons/interface/arrow-up.d.cts +0 -3
  236. package/build/elements/icons/interface/arrow-up.d.ts +0 -3
  237. package/build/elements/icons/interface/arrow-up.js +0 -26
  238. package/build/elements/icons/interface/arrows-vertical.cjs +0 -30
  239. package/build/elements/icons/interface/arrows-vertical.d.cts +0 -3
  240. package/build/elements/icons/interface/arrows-vertical.d.ts +0 -3
  241. package/build/elements/icons/interface/arrows-vertical.js +0 -26
  242. package/build/elements/icons/interface/bezier-angle.cjs +0 -33
  243. package/build/elements/icons/interface/bezier-angle.d.cts +0 -3
  244. package/build/elements/icons/interface/bezier-angle.d.ts +0 -3
  245. package/build/elements/icons/interface/bezier-angle.js +0 -29
  246. package/build/elements/icons/interface/bezier-distribute.cjs +0 -34
  247. package/build/elements/icons/interface/bezier-distribute.d.cts +0 -3
  248. package/build/elements/icons/interface/bezier-distribute.d.ts +0 -3
  249. package/build/elements/icons/interface/bezier-distribute.js +0 -30
  250. package/build/elements/icons/interface/bezier-length.cjs +0 -31
  251. package/build/elements/icons/interface/bezier-length.d.cts +0 -3
  252. package/build/elements/icons/interface/bezier-length.d.ts +0 -3
  253. package/build/elements/icons/interface/bezier-length.js +0 -27
  254. package/build/elements/icons/interface/bezier-mirror.cjs +0 -31
  255. package/build/elements/icons/interface/bezier-mirror.d.cts +0 -3
  256. package/build/elements/icons/interface/bezier-mirror.d.ts +0 -3
  257. package/build/elements/icons/interface/bezier-mirror.js +0 -27
  258. package/build/elements/icons/interface/bezier.cjs +0 -26
  259. package/build/elements/icons/interface/bezier.d.cts +0 -3
  260. package/build/elements/icons/interface/bezier.d.ts +0 -3
  261. package/build/elements/icons/interface/bezier.js +0 -22
  262. package/build/elements/icons/interface/check.cjs +0 -30
  263. package/build/elements/icons/interface/check.d.cts +0 -3
  264. package/build/elements/icons/interface/check.d.ts +0 -3
  265. package/build/elements/icons/interface/check.js +0 -26
  266. package/build/elements/icons/interface/circle-arrow-left.cjs +0 -30
  267. package/build/elements/icons/interface/circle-arrow-left.d.cts +0 -3
  268. package/build/elements/icons/interface/circle-arrow-left.d.ts +0 -3
  269. package/build/elements/icons/interface/circle-arrow-left.js +0 -26
  270. package/build/elements/icons/interface/circle-arrow-right.cjs +0 -30
  271. package/build/elements/icons/interface/circle-arrow-right.d.cts +0 -3
  272. package/build/elements/icons/interface/circle-arrow-right.d.ts +0 -3
  273. package/build/elements/icons/interface/circle-arrow-right.js +0 -26
  274. package/build/elements/icons/interface/code.cjs +0 -30
  275. package/build/elements/icons/interface/code.d.cts +0 -3
  276. package/build/elements/icons/interface/code.d.ts +0 -3
  277. package/build/elements/icons/interface/code.js +0 -26
  278. package/build/elements/icons/interface/dots.cjs +0 -32
  279. package/build/elements/icons/interface/dots.d.cts +0 -3
  280. package/build/elements/icons/interface/dots.d.ts +0 -3
  281. package/build/elements/icons/interface/dots.js +0 -28
  282. package/build/elements/icons/interface/mention.cjs +0 -30
  283. package/build/elements/icons/interface/mention.d.cts +0 -3
  284. package/build/elements/icons/interface/mention.d.ts +0 -3
  285. package/build/elements/icons/interface/mention.js +0 -26
  286. package/build/elements/icons/interface/minus.cjs +0 -30
  287. package/build/elements/icons/interface/minus.d.cts +0 -3
  288. package/build/elements/icons/interface/minus.d.ts +0 -3
  289. package/build/elements/icons/interface/minus.js +0 -26
  290. package/build/elements/icons/interface/picker.cjs +0 -34
  291. package/build/elements/icons/interface/picker.d.cts +0 -3
  292. package/build/elements/icons/interface/picker.d.ts +0 -3
  293. package/build/elements/icons/interface/picker.js +0 -30
  294. package/build/elements/icons/interface/plus.cjs +0 -30
  295. package/build/elements/icons/interface/plus.d.cts +0 -3
  296. package/build/elements/icons/interface/plus.d.ts +0 -3
  297. package/build/elements/icons/interface/plus.js +0 -26
  298. package/build/elements/icons/interface/settings.cjs +0 -30
  299. package/build/elements/icons/interface/settings.d.cts +0 -3
  300. package/build/elements/icons/interface/settings.d.ts +0 -3
  301. package/build/elements/icons/interface/settings.js +0 -26
  302. package/build/elements/index.cjs +0 -65
  303. package/build/elements/index.d.cts +0 -23
  304. package/build/elements/index.d.ts +0 -23
  305. package/build/elements/index.js +0 -23
  306. package/build/elements/input/index.cjs +0 -273
  307. package/build/elements/input/index.d.cts +0 -17
  308. package/build/elements/input/index.d.ts +0 -17
  309. package/build/elements/input/index.js +0 -269
  310. package/build/elements/logo/index.cjs +0 -732
  311. package/build/elements/logo/index.d.cts +0 -17
  312. package/build/elements/logo/index.d.ts +0 -17
  313. package/build/elements/logo/index.js +0 -728
  314. package/build/elements/monitor/fps.cjs +0 -432
  315. package/build/elements/monitor/fps.d.cts +0 -21
  316. package/build/elements/monitor/fps.d.ts +0 -21
  317. package/build/elements/monitor/fps.js +0 -428
  318. package/build/elements/monitor/index.cjs +0 -670
  319. package/build/elements/monitor/index.js +0 -666
  320. package/build/elements/number/index.cjs +0 -173
  321. package/build/elements/number/index.d.cts +0 -19
  322. package/build/elements/number/index.d.ts +0 -19
  323. package/build/elements/number/index.js +0 -169
  324. package/build/elements/origin/index.cjs +0 -169
  325. package/build/elements/origin/index.d.cts +0 -12
  326. package/build/elements/origin/index.d.ts +0 -12
  327. package/build/elements/origin/index.js +0 -165
  328. package/build/elements/panel/index.cjs +0 -496
  329. package/build/elements/panel/index.js +0 -492
  330. package/build/elements/popover/index.cjs +0 -209
  331. package/build/elements/popover/index.d.cts +0 -19
  332. package/build/elements/popover/index.d.ts +0 -19
  333. package/build/elements/popover/index.js +0 -205
  334. package/build/elements/radio/index.cjs +0 -301
  335. package/build/elements/radio/index.d.cts +0 -13
  336. package/build/elements/radio/index.d.ts +0 -13
  337. package/build/elements/radio/index.js +0 -283
  338. package/build/elements/radio/input.cjs +0 -329
  339. package/build/elements/radio/input.d.cts +0 -15
  340. package/build/elements/radio/input.d.ts +0 -15
  341. package/build/elements/radio/input.js +0 -325
  342. package/build/elements/radio/option.cjs +0 -15
  343. package/build/elements/radio/option.d.cts +0 -3
  344. package/build/elements/radio/option.d.ts +0 -3
  345. package/build/elements/radio/option.js +0 -11
  346. package/build/elements/shared.cjs +0 -66
  347. package/build/elements/shared.d.cts +0 -40
  348. package/build/elements/shared.d.ts +0 -40
  349. package/build/elements/shared.js +0 -59
  350. package/build/elements/slider/index.cjs +0 -232
  351. package/build/elements/slider/index.d.cts +0 -20
  352. package/build/elements/slider/index.d.ts +0 -20
  353. package/build/elements/slider/index.js +0 -228
  354. package/build/elements/state/index.cjs +0 -274
  355. package/build/elements/state/index.js +0 -270
  356. package/build/elements/toggle/index.cjs +0 -151
  357. package/build/elements/toggle/index.d.cts +0 -9
  358. package/build/elements/toggle/index.d.ts +0 -9
  359. package/build/elements/toggle/index.js +0 -147
  360. package/build/elements/tooltip/index.cjs +0 -187
  361. package/build/elements/tooltip/index.d.cts +0 -17
  362. package/build/elements/tooltip/index.d.ts +0 -17
  363. package/build/elements/tooltip/index.js +0 -183
  364. package/build/init.cjs +0 -325
  365. package/build/init.d.cts +0 -157
  366. package/build/init.d.ts +0 -157
  367. package/build/init.js +0 -289
  368. package/build/internal/component-loaders.cjs +0 -208
  369. package/build/internal/component-loaders.d.cts +0 -52
  370. package/build/internal/component-loaders.d.ts +0 -52
  371. package/build/internal/component-loaders.js +0 -169
  372. package/build/internal/fonts.cjs +0 -128
  373. package/build/internal/fonts.d.cts +0 -32
  374. package/build/internal/fonts.d.ts +0 -32
  375. package/build/internal/fonts.js +0 -123
  376. package/build/internal/lazy-load.cjs +0 -89
  377. package/build/internal/lazy-load.d.cts +0 -32
  378. package/build/internal/lazy-load.d.ts +0 -32
  379. package/build/internal/lazy-load.js +0 -86
  380. package/build/internal/style-inject.cjs +0 -236
  381. package/build/internal/style-inject.d.cts +0 -44
  382. package/build/internal/style-inject.d.ts +0 -44
  383. package/build/internal/style-inject.js +0 -226
  384. package/build/react/events.cjs +0 -25
  385. package/build/react/events.d.cts +0 -39
  386. package/build/react/events.d.ts +0 -39
  387. package/build/react/events.js +0 -22
  388. package/build/react/index.cjs +0 -19
  389. package/build/react/index.d.cts +0 -13
  390. package/build/react/index.d.ts +0 -13
  391. package/build/react/index.js +0 -12
  392. package/build/react/provider.cjs +0 -134
  393. package/build/react/provider.d.cts +0 -81
  394. package/build/react/provider.d.ts +0 -81
  395. package/build/react/provider.js +0 -98
  396. package/build/react/types.cjs +0 -8
  397. package/build/react/types.d.cts +0 -55
  398. package/build/react/types.d.ts +0 -55
  399. package/build/react/types.js +0 -7
  400. package/build/react/use-ease-state.cjs +0 -129
  401. package/build/react/use-ease-state.d.cts +0 -95
  402. package/build/react/use-ease-state.d.ts +0 -95
  403. package/build/react/use-ease-state.js +0 -126
  404. package/build/react/use-web-kit.cjs +0 -150
  405. package/build/react/use-web-kit.d.cts +0 -80
  406. package/build/react/use-web-kit.d.ts +0 -80
  407. package/build/react/use-web-kit.js +0 -114
  408. package/build/theme/index.cjs +0 -452
  409. package/build/theme/index.js +0 -423
  410. package/build/theme/presets.cjs +0 -54
  411. package/build/theme/presets.d.cts +0 -19
  412. package/build/theme/presets.d.ts +0 -19
  413. package/build/theme/presets.js +0 -51
  414. package/build/theme/registry.cjs +0 -204
  415. package/build/theme/registry.d.cts +0 -99
  416. package/build/theme/registry.d.ts +0 -99
  417. package/build/theme/registry.js +0 -194
  418. package/build/theme/tokens.cjs +0 -148
  419. package/build/theme/tokens.d.cts +0 -163
  420. package/build/theme/tokens.d.ts +0 -163
  421. package/build/theme/tokens.js +0 -145
  422. package/build/utils/dismiss-controller.cjs +0 -77
  423. package/build/utils/dismiss-controller.d.cts +0 -14
  424. package/build/utils/dismiss-controller.d.ts +0 -14
  425. package/build/utils/dismiss-controller.js +0 -73
  426. package/build/utils/index.cjs +0 -18
  427. package/build/utils/index.d.cts +0 -3
  428. package/build/utils/index.d.ts +0 -3
  429. package/build/utils/index.js +0 -3
  430. package/build/utils/outside-click.cjs +0 -82
  431. package/build/utils/outside-click.d.cts +0 -18
  432. package/build/utils/outside-click.d.ts +0 -18
  433. package/build/utils/outside-click.js +0 -74
  434. package/build/utils/template-helpers.cjs +0 -39
  435. package/build/utils/template-helpers.d.cts +0 -13
  436. package/build/utils/template-helpers.d.ts +0 -13
  437. package/build/utils/template-helpers.js +0 -28
@@ -1,732 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogoLoader = void 0;
4
- const lit_html_1 = require("lit-html");
5
- const Component_1 = require("../../decorators/Component");
6
- const Prop_1 = require("../../decorators/Prop");
7
- const CENTER = { x: 74, y: 74 };
8
- const DOTS_DATA = [
9
- { id: 'dot-1', cx: 7.22725, cy: 73.99975 },
10
- { id: 'dot-2', cx: 8.0, cy: 107.63685 },
11
- { id: 'dot-3', cx: 41.36365, cy: 7.72734 },
12
- { id: 'dot-4', cx: 40.36105, cy: 40.36375 },
13
- { id: 'dot-5', cx: 40.36105, cy: 107.63625 },
14
- { id: 'dot-6', cx: 41.36365, cy: 140.77285 },
15
- { id: 'dot-7', cx: 73.99995, cy: 7.22725 },
16
- { id: 'dot-8', cx: 73.99995, cy: 140.77325 },
17
- { id: 'dot-9', cx: 108.13785, cy: 7.72734 },
18
- { id: 'dot-10', cx: 107.88425, cy: 73.99975 },
19
- { id: 'dot-11', cx: 108.13785, cy: 140.77285 },
20
- { id: 'dot-12', cx: 141.27285, cy: 40.86385 },
21
- { id: 'dot-13', cx: 140.77225, cy: 73.99975 },
22
- { id: 'dot-14', cx: 141.27285, cy: 107.63685 },
23
- { id: 'dot-15', cx: 40.36165, cy: 73.99925 },
24
- { id: 'dot-16', cx: 74.00125, cy: 40.36345 },
25
- { id: 'dot-17', cx: 74.00125, cy: 73.99925 },
26
- { id: 'dot-18', cx: 74.00125, cy: 107.63585 },
27
- { id: 'dot-19', cx: 107.63485, cy: 40.36345 },
28
- { id: 'dot-20', cx: 107.63485, cy: 107.63585 },
29
- { id: 'dot-21', cx: 141.77, cy: 8.23 },
30
- { id: 'dot-22', cx: 141.77, cy: 140.77 },
31
- { id: 'dot-23', cx: 7.73019, cy: 140.77 },
32
- { id: 'dot-24', cx: 7.72018, cy: 8.22 },
33
- { id: 'dot-25', cx: 7.73518, cy: 40.865 }
34
- ];
35
- const INNER_DOT_IDS = ['dot-19', 'dot-20', 'dot-18', 'dot-15', 'dot-17', 'dot-16'];
36
- const OUTER_DOT_IDS = DOTS_DATA.map((d) => d.id).filter((id) => !INNER_DOT_IDS.includes(id));
37
- const forceReflow = (el) => {
38
- void window.getComputedStyle(el).opacity;
39
- };
40
- const getAngle = (dot) => Math.atan2(dot.cy - CENTER.y, dot.cx - CENTER.x);
41
- const sortByAngle = (ids) => ids
42
- .map((id) => DOTS_DATA.find((d) => d.id === id))
43
- .filter((dot) => dot != null)
44
- .sort((a, b) => getAngle(a) - getAngle(b));
45
- const LOOP_DURATION = 1500;
46
- const ROTATION_DURATION = 600;
47
- @(0, Component_1.Component)({
48
- tag: 'ease-logo-loader',
49
- styles: `
50
- :host {
51
- display: inline-block;
52
- --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
53
- --ease-in-out: cubic-bezier(0.45, 0, 0.55, 1);
54
- --ease-overshoot: cubic-bezier(0.34, 1.56, 0.64, 1);
55
-
56
- --dot-dark: var(--color-gray-0, oklab(98.81% 0 0));
57
- --dot-medium: var(--color-gray-600, oklab(65.21% -0.0019 -0.0144));
58
- --dot-light: var(--color-gray-700, oklab(37.92% -0.0006 -0.0179));
59
- --dot-accent: var(--color-blue-600, oklab(76.85% 0.0462 -0.1115));
60
- }
61
-
62
- .logo-loader {
63
- position: relative;
64
- display: inline-flex;
65
- align-items: center;
66
- justify-content: center;
67
- width: var(--logo-loader-size, 36px);
68
- height: var(--logo-loader-size, 36px);
69
- }
70
-
71
- .logo-loader__svg {
72
- width: 100%;
73
- height: 100%;
74
- display: block;
75
- transform-origin: center;
76
- overflow: visible;
77
- }
78
-
79
- .logo-loader__svg rect {
80
- transform-box: fill-box;
81
- transform-origin: center;
82
- transition:
83
- transform 380ms var(--ease-out),
84
- fill 320ms ease,
85
- opacity 320ms ease;
86
- }
87
-
88
- /* State: intro - dots are animating in */
89
- .logo-loader[data-state='intro'] .logo-loader__svg rect {
90
- opacity: 0;
91
- transform: scale(0);
92
- }
93
-
94
- /* Outer dots loading animation */
95
- @keyframes loading-outer {
96
- 0%, 100% {
97
- transform: scale(var(--base-scale, 1));
98
- fill: var(--dot-light);
99
- opacity: 0.4;
100
- }
101
- 15% {
102
- transform: scale(calc(var(--base-scale, 1) * 1.35));
103
- fill: var(--dot-dark);
104
- opacity: 1;
105
- }
106
- 35% {
107
- transform: scale(var(--base-scale, 1));
108
- fill: var(--dot-medium);
109
- opacity: 0.8;
110
- }
111
- }
112
-
113
- /* Inner dots loading animation */
114
- @keyframes loading-inner {
115
- 0%, 100% {
116
- transform: scale(var(--base-scale, 0.6));
117
- opacity: 0.7;
118
- fill: var(--dot-medium);
119
- }
120
- 50% {
121
- transform: scale(calc(var(--base-scale, 0.6) * 1.9));
122
- opacity: 0.1;
123
- fill: var(--dot-light);
124
- }
125
- }
126
-
127
- .dot-loading {
128
- animation-name: loading-outer;
129
- animation-duration: 600ms;
130
- animation-timing-function: cubic-bezier(0.3, 0.6, 0.4, 1);
131
- animation-iteration-count: infinite;
132
- animation-fill-mode: both;
133
- animation-delay: var(--delay, 0ms);
134
- }
135
-
136
- .dot-loading-inner {
137
- animation-name: loading-inner;
138
- animation-duration: 1500ms;
139
- animation-timing-function: ease-in-out;
140
- animation-iteration-count: infinite;
141
- animation-fill-mode: both;
142
- animation-delay: var(--delay, 0ms);
143
- }
144
-
145
- /* Exit animation class */
146
- .restoring {
147
- transition:
148
- transform 450ms cubic-bezier(0.25, 0, 0.5, 1),
149
- fill 350ms ease,
150
- opacity 350ms ease;
151
- }
152
-
153
- /* Particle intro animation */
154
- @keyframes particle-bounce {
155
- 0% { transform: scale(1); }
156
- 40% { transform: scale(1.25); }
157
- 65% { transform: scale(0.95); }
158
- 85% { transform: scale(1.05); }
159
- 100% { transform: scale(1); }
160
- }
161
-
162
- .particle-bounce {
163
- animation: particle-bounce 400ms var(--ease-overshoot) both;
164
- }
165
-
166
- /* Shockwave ring animation */
167
- @keyframes shockwave-expansion {
168
- 0% {
169
- transform: scale(1);
170
- opacity: 1;
171
- stroke-width: 1.5px;
172
- }
173
- 100% {
174
- transform: scale(4);
175
- opacity: 0;
176
- stroke-width: 0.5px;
177
- }
178
- }
179
-
180
- .shockwave-ring {
181
- fill: none;
182
- stroke: var(--dot-dark);
183
- transform-box: fill-box;
184
- transform-origin: center;
185
- animation: shockwave-expansion 900ms cubic-bezier(0.165, 0.84, 0.44, 1) both;
186
- }
187
-
188
- /* Pulse wave for intro */
189
- @keyframes pulse-wave {
190
- 0% {
191
- transform: scale(1);
192
- filter: brightness(1);
193
- }
194
- 50% {
195
- transform: scale(1.2);
196
- filter: brightness(1.6);
197
- fill: var(--dot-light);
198
- }
199
- 100% {
200
- transform: scale(1);
201
- filter: brightness(1);
202
- }
203
- }
204
-
205
- .dot-pulse-wave {
206
- animation: pulse-wave var(--pulse-duration, 500ms) var(--pulse-delay, 0ms) cubic-bezier(0.455, 0.03, 0.515, 0.955);
207
- }
208
-
209
- @media (prefers-reduced-motion: reduce) {
210
- .logo-loader__svg {
211
- transition: none;
212
- transform: scale(1);
213
- }
214
- .logo-loader__svg rect {
215
- animation: none !important;
216
- transition: none;
217
- transform: scale(1);
218
- opacity: 1;
219
- }
220
- }
221
- `,
222
- template(host) {
223
- const size = host.size ?? 36;
224
- const state = host.state;
225
- const ariaLabel = host.ariaLabel;
226
- const ariaLabelTrimmed = ariaLabel?.trim() ?? '';
227
- return (0, lit_html_1.html) `
228
- <div
229
- class="logo-loader"
230
- data-state=${state}
231
- style=${`--logo-loader-size:${size}px;`}
232
- >
233
- <svg
234
- viewBox="0 0 148 148"
235
- fill="none"
236
- xmlns="http://www.w3.org/2000/svg"
237
- class="logo-loader__svg"
238
- role=${ariaLabelTrimmed ? 'img' : null}
239
- aria-label=${ariaLabelTrimmed || null}
240
- aria-hidden=${ariaLabelTrimmed ? null : 'true'}
241
- focusable=${ariaLabelTrimmed ? null : 'false'}
242
- >
243
- <g class="shockwave-container"></g>
244
-
245
- <rect id="dot-1" x="0.5" y="67.2725" width="13.4545" height="13.4545" rx="6.72727" fill="var(--dot-medium)" />
246
- <rect id="dot-2" x="3.5" y="103.152" width="8.9697" height="8.9697" rx="4.48485" fill="var(--dot-medium)" />
247
- <rect id="dot-3" x="36.8788" y="3.24249" width="8.9697" height="8.9697" rx="4.48485" fill="var(--dot-medium)" />
248
- <rect id="dot-4" x="33.6338" y="33.6365" width="13.4545" height="13.4545" rx="6.72727" fill="var(--dot-medium)" />
249
- <rect id="dot-5" x="33.6338" y="100.909" width="13.4545" height="13.4545" rx="6.72727" fill="var(--dot-medium)" />
250
- <rect id="dot-6" x="36.8788" y="136.288" width="8.9697" height="8.9697" rx="4.48485" fill="var(--dot-medium)" />
251
- <rect id="dot-7" x="67.2727" y="0.5" width="13.4545" height="13.4545" rx="6.72727" fill="var(--dot-light)" />
252
- <rect id="dot-8" x="67.2727" y="134.046" width="13.4545" height="13.4545" rx="6.72727" fill="var(--dot-medium)" />
253
- <rect id="dot-9" x="103.653" y="3.24249" width="8.9697" height="8.9697" rx="4.48485" fill="var(--dot-medium)" />
254
- <rect id="dot-10" x="101.407" y="67.2725" width="13.4545" height="13.4545" rx="6.72727" fill="var(--dot-medium)" />
255
- <rect id="dot-11" x="103.653" y="136.288" width="8.9697" height="8.9697" rx="4.48485" fill="var(--dot-light)" />
256
- <rect id="dot-12" x="136.788" y="36.379" width="8.9697" height="8.9697" rx="4.48485" fill="var(--dot-light)" />
257
- <rect id="dot-13" x="134.045" y="67.2725" width="13.4545" height="13.4545" rx="6.72727" fill="var(--dot-light)" />
258
- <rect id="dot-14" x="136.788" y="103.152" width="8.9697" height="8.9697" rx="4.48485" fill="var(--dot-light)" />
259
-
260
- <rect id="dot-15" x="26.9071" y="60.5447" width="26.9091" height="26.9091" rx="13.4545" fill="var(--dot-dark)" />
261
- <rect id="dot-16" x="60.5467" y="26.9089" width="26.9091" height="26.9091" rx="13.4545" fill="var(--dot-dark)" />
262
- <rect id="dot-17" x="60.5467" y="60.5447" width="26.9091" height="26.9091" rx="13.4545" fill="var(--dot-dark)" />
263
- <rect id="dot-18" x="60.5467" y="94.1813" width="26.9091" height="26.9091" rx="13.4545" fill="var(--dot-dark)" />
264
- <rect id="dot-19" x="94.1803" y="26.9089" width="26.9091" height="26.9091" rx="13.4545" fill="var(--dot-dark)" />
265
- <rect id="dot-20" x="94.1803" y="94.1813" width="26.9091" height="26.9091" rx="13.4545" fill="var(--dot-dark)" />
266
-
267
- <rect id="dot-21" x="139.53" y="5.98999" width="4.48" height="4.48" rx="2.24" fill="var(--dot-light)" />
268
- <rect id="dot-22" x="139.53" y="138.53" width="4.48" height="4.48" rx="2.24" fill="var(--dot-light)" />
269
- <rect id="dot-23" x="5.49019" y="138.53" width="4.48" height="4.48" rx="2.24" fill="var(--dot-light)" />
270
- <rect id="dot-24" x="5.48018" y="5.97998" width="4.48" height="4.48" rx="2.24" fill="var(--dot-light)" />
271
- <rect id="dot-25" x="4.37018" y="37.5" width="6.73" height="6.73" rx="3.365" fill="var(--dot-light)" />
272
- </svg>
273
- </div>
274
- `;
275
- }
276
- })
277
- class LogoLoader extends HTMLElement {
278
- @(0, Prop_1.Prop)({
279
- type: Boolean,
280
- attribute: 'loading',
281
- defaultValue: false,
282
- onChange(next) {
283
- this.handleLoadingChange(next);
284
- }
285
- })
286
- accessor loading = false;
287
- @(0, Prop_1.Prop)({
288
- type: 'string',
289
- attribute: 'intro',
290
- defaultValue: 'wave'
291
- })
292
- accessor intro = 'wave';
293
- @(0, Prop_1.Prop)({
294
- type: Number,
295
- attribute: 'size',
296
- defaultValue: 36
297
- })
298
- accessor size = 36;
299
- @(0, Prop_1.Prop)({
300
- type: 'string',
301
- attribute: 'aria-label',
302
- defaultValue: null
303
- })
304
- accessor ariaLabel = null;
305
- #state = 'intro';
306
- #loopStartTime = 0;
307
- #animationTimers = [];
308
- #introCompleted = false;
309
- get state() {
310
- return this.#state;
311
- }
312
- set state(value) {
313
- if (this.#state === value) {
314
- return;
315
- }
316
- this.#state = value;
317
- if (typeof this.requestRender === 'function') {
318
- this.requestRender();
319
- }
320
- }
321
- connectedCallback() {
322
- // Wait for first render before starting intro animation
323
- // The Component decorator renders after connectedCallback via requestAnimationFrame
324
- requestAnimationFrame(() => {
325
- // Double RAF to ensure render is complete
326
- requestAnimationFrame(() => {
327
- if (this.loading) {
328
- this.#runIntro(() => {
329
- this.#introCompleted = true;
330
- this.#startLoopAnimation();
331
- });
332
- }
333
- else {
334
- this.#runIntro(() => {
335
- this.#introCompleted = true;
336
- this.state = 'idle';
337
- });
338
- }
339
- });
340
- });
341
- }
342
- disconnectedCallback() {
343
- this.#clearTimers();
344
- }
345
- #clearTimers() {
346
- for (const id of this.#animationTimers) {
347
- window.clearTimeout(id);
348
- }
349
- this.#animationTimers = [];
350
- }
351
- #setTimeout(fn, delay) {
352
- const id = window.setTimeout(fn, delay);
353
- this.#animationTimers.push(id);
354
- return id;
355
- }
356
- #getDot(id) {
357
- const svg = this.shadowRoot?.querySelector('.logo-loader__svg');
358
- return svg?.querySelector(`#${id}`);
359
- }
360
- #getShockwaveContainer() {
361
- return this.shadowRoot?.querySelector('.shockwave-container');
362
- }
363
- #resetDotsState(instant = false, keepOpacity = false) {
364
- const container = this.#getShockwaveContainer();
365
- if (container) {
366
- container.innerHTML = '';
367
- }
368
- for (const dot of DOTS_DATA) {
369
- const el = this.#getDot(dot.id);
370
- if (!el) {
371
- continue;
372
- }
373
- if (instant) {
374
- el.style.transition = 'none';
375
- }
376
- else {
377
- el.style.transition = '';
378
- }
379
- // Remove all animation classes
380
- el.classList.remove('dot-loading', 'dot-loading-inner', 'restoring', 'dot-pulse-wave', 'particle-bounce');
381
- el.style.removeProperty('--base-scale');
382
- el.style.removeProperty('--delay');
383
- el.style.removeProperty('--pulse-delay');
384
- el.style.removeProperty('--pulse-duration');
385
- // Reset inline styles
386
- el.style.transform = 'scale(1)';
387
- if (!keepOpacity) {
388
- el.style.opacity = instant ? '1' : '';
389
- }
390
- el.style.removeProperty('fill');
391
- el.style.removeProperty('filter');
392
- if (instant) {
393
- forceReflow(el);
394
- el.style.removeProperty('transition');
395
- }
396
- }
397
- }
398
- /** Ensure all dots are visible */
399
- #ensureVisibility() {
400
- for (const dot of DOTS_DATA) {
401
- const el = this.#getDot(dot.id);
402
- if (el && (el.style.opacity === '0' || el.style.opacity === '')) {
403
- el.style.transition = 'opacity 200ms ease-out';
404
- el.style.opacity = '1';
405
- }
406
- }
407
- }
408
- /** Run wave intro animation */
409
- #runWaveIntro(onComplete) {
410
- this.state = 'intro';
411
- // Prepare dots hidden
412
- for (const dot of DOTS_DATA) {
413
- const el = this.#getDot(dot.id);
414
- if (!el) {
415
- continue;
416
- }
417
- el.style.transition = 'none';
418
- el.style.opacity = '0';
419
- el.style.transform = 'scale(0)';
420
- forceReflow(el);
421
- }
422
- const innerDotIds = new Set(INNER_DOT_IDS);
423
- const innerDots = DOTS_DATA.filter((d) => innerDotIds.has(d.id));
424
- const outerDots = DOTS_DATA.filter((d) => !innerDotIds.has(d.id));
425
- // WAVE 1: Inner dots appear at half scale
426
- const orderedInner = sortByAngle(innerDots.map((d) => d.id));
427
- orderedInner.forEach((dot, index) => {
428
- const el = this.#getDot(dot.id);
429
- if (!el) {
430
- return;
431
- }
432
- el.style.fill = 'var(--dot-medium)';
433
- forceReflow(el);
434
- el.style.removeProperty('transition');
435
- const delay = index * 75;
436
- this.#setTimeout(() => {
437
- el.style.transition = 'transform 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 400ms ease-out';
438
- el.style.opacity = '1';
439
- el.style.transform = 'scale(0.5)';
440
- }, delay);
441
- });
442
- // WAVE 2: Inner to full scale + outer appear
443
- this.#setTimeout(() => {
444
- // Inner dots to full scale
445
- orderedInner.forEach((dot, index) => {
446
- const el = this.#getDot(dot.id);
447
- if (!el) {
448
- return;
449
- }
450
- const delay = index * 65;
451
- this.#setTimeout(() => {
452
- el.style.transition = 'transform 600ms cubic-bezier(0.34, 1.56, 0.64, 1), fill 450ms ease-out';
453
- el.style.transform = 'scale(1)';
454
- el.style.removeProperty('fill');
455
- }, delay);
456
- });
457
- // Outer dots appear
458
- const orderedOuter = sortByAngle(outerDots.map((d) => d.id));
459
- orderedOuter.forEach((dot, index) => {
460
- const el = this.#getDot(dot.id);
461
- if (!el) {
462
- return;
463
- }
464
- el.style.removeProperty('transition');
465
- const delay = 150 + index * 40;
466
- this.#setTimeout(() => {
467
- el.style.transition = 'transform 650ms cubic-bezier(0.34, 1.56, 0.64, 1), opacity 550ms ease-out';
468
- el.style.opacity = '1';
469
- el.style.transform = 'scale(1)';
470
- }, delay);
471
- });
472
- }, 650);
473
- // Completion
474
- this.#setTimeout(() => {
475
- onComplete?.();
476
- }, 1400);
477
- }
478
- /** Run particle intro animation */
479
- #runParticleIntro(onComplete) {
480
- this.state = 'intro';
481
- // Prepare dots hidden
482
- for (const dot of DOTS_DATA) {
483
- const el = this.#getDot(dot.id);
484
- if (!el) {
485
- continue;
486
- }
487
- el.style.transition = 'none';
488
- el.style.opacity = '0';
489
- el.style.transform = 'scale(0)';
490
- forceReflow(el);
491
- }
492
- const innerDotIds = new Set(INNER_DOT_IDS);
493
- // Create particle animation data
494
- const particles = DOTS_DATA.map((dot, index) => {
495
- const finalAngle = getAngle(dot);
496
- const startDistance = 110 + Math.random() * 80;
497
- const angleVariation = (Math.random() - 0.5) * Math.PI * 0.35;
498
- const startAngle = finalAngle + angleVariation;
499
- const startX = Math.cos(startAngle) * startDistance;
500
- const startY = Math.sin(startAngle) * startDistance;
501
- const curvature = Math.random() * 0.4 + 0.3;
502
- const controlAngle = startAngle + (Math.random() - 0.5) * Math.PI * curvature;
503
- const controlDistance = startDistance * 0.6;
504
- const controlX = Math.cos(controlAngle) * controlDistance;
505
- const controlY = Math.sin(controlAngle) * controlDistance;
506
- const group = Math.floor(index / 5);
507
- const groupDelay = group * 110;
508
- const withinGroupDelay = (index % 5) * 40;
509
- const delay = groupDelay + withinGroupDelay + Math.random() * 40;
510
- const duration = 600 + Math.random() * 300;
511
- return {
512
- ...dot,
513
- startX,
514
- startY,
515
- controlX,
516
- controlY,
517
- delay,
518
- duration,
519
- impactTime: delay + duration,
520
- rotationSpeed: 720 + Math.random() * 360,
521
- isInner: innerDotIds.has(dot.id)
522
- };
523
- });
524
- particles.sort((a, b) => a.delay - b.delay);
525
- // First 3 inner dots for shockwaves
526
- const shockwaveParticles = particles
527
- .filter((p) => p.isInner)
528
- .sort((a, b) => a.impactTime - b.impactTime)
529
- .slice(0, 3);
530
- const shockwaveSet = new Set(shockwaveParticles.map((p) => p.id));
531
- // Animate each particle
532
- for (const particle of particles) {
533
- const el = this.#getDot(particle.id);
534
- if (!el) {
535
- continue;
536
- }
537
- el.style.transform = `translate(${particle.startX}px, ${particle.startY}px) scale(0.05)`;
538
- this.#setTimeout(() => {
539
- el.style.opacity = '1';
540
- const steps = 30;
541
- let step = 0;
542
- const animateStep = () => {
543
- step++;
544
- const progress = step / steps;
545
- const t = progress;
546
- const mt = 1 - t;
547
- const x = mt * mt * particle.startX + 2 * mt * t * particle.controlX + t * t * 0;
548
- const y = mt * mt * particle.startY + 2 * mt * t * particle.controlY + t * t * 0;
549
- const easeOut = 1 - (1 - progress) ** 4;
550
- const scale = 0.05 + easeOut * 0.95;
551
- const rotation = progress * particle.rotationSpeed;
552
- el.style.transition = 'transform 33ms linear';
553
- el.style.transform = `translate(${x}px, ${y}px) scale(${scale}) rotate(${rotation}deg)`;
554
- if (step < steps) {
555
- requestAnimationFrame(animateStep);
556
- }
557
- else {
558
- // Impact - clear all transforms
559
- const bounceDuration = 250;
560
- el.style.transition = `transform ${bounceDuration}ms cubic-bezier(0.34, 1.56, 0.64, 1)`;
561
- el.style.transform = 'scale(1)';
562
- if (shockwaveSet.has(particle.id)) {
563
- this.#triggerShockwave(particle);
564
- }
565
- this.#setTimeout(() => {
566
- el.classList.add('particle-bounce');
567
- this.#setTimeout(() => {
568
- el.classList.remove('particle-bounce');
569
- }, 400);
570
- }, bounceDuration);
571
- }
572
- };
573
- requestAnimationFrame(animateStep);
574
- }, particle.delay);
575
- }
576
- // Early completion
577
- const earlyRevealTime = Math.max(...particles.map((p) => p.delay)) * 0.6;
578
- this.#setTimeout(() => {
579
- onComplete?.();
580
- }, earlyRevealTime);
581
- // Final cleanup
582
- const maxTime = Math.max(...particles.map((p) => p.impactTime + 500));
583
- this.#setTimeout(() => {
584
- this.#resetDotsState(false, true);
585
- }, maxTime);
586
- }
587
- #triggerShockwave(dot) {
588
- const container = this.#getShockwaveContainer();
589
- if (!container) {
590
- return;
591
- }
592
- const ring = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
593
- ring.setAttribute('cx', String(dot.cx));
594
- ring.setAttribute('cy', String(dot.cy));
595
- ring.setAttribute('r', '13.45');
596
- ring.classList.add('shockwave-ring');
597
- container.appendChild(ring);
598
- this.#setTimeout(() => {
599
- ring.remove();
600
- }, 900);
601
- }
602
- #runIntro(onComplete) {
603
- if (this.intro === 'particle') {
604
- this.#runParticleIntro(onComplete);
605
- }
606
- else {
607
- this.#runWaveIntro(onComplete);
608
- }
609
- }
610
- #startLoopAnimation() {
611
- this.#loopStartTime = performance.now();
612
- this.#ensureVisibility();
613
- // Inner dots - scale down with transition, then add animation class
614
- const orderedInnerDots = sortByAngle(INNER_DOT_IDS);
615
- let seedDelay = 0;
616
- orderedInnerDots.forEach((dot) => {
617
- this.#setTimeout(() => {
618
- const el = this.#getDot(dot.id);
619
- if (!el) {
620
- return;
621
- }
622
- const targetScale = 0.6;
623
- el.style.transition = 'all 450ms cubic-bezier(0.4, 0, 0.2, 1)';
624
- el.style.transform = `scale(${targetScale})`;
625
- el.style.fill = 'var(--dot-medium)';
626
- el.style.opacity = '0.7';
627
- el.style.setProperty('--base-scale', `${targetScale}`);
628
- const angle = getAngle(dot);
629
- const normalizedAngle = (angle + Math.PI) / (2 * Math.PI);
630
- const animationDelayMs = normalizedAngle * LOOP_DURATION;
631
- el.style.setProperty('--delay', `${animationDelayMs}ms`);
632
- this.#setTimeout(() => {
633
- el.classList.add('dot-loading-inner');
634
- }, 100);
635
- }, seedDelay);
636
- seedDelay += 60;
637
- });
638
- const orderedOuterDots = sortByAngle(OUTER_DOT_IDS);
639
- this.#setTimeout(() => {
640
- orderedOuterDots.forEach((dot) => {
641
- const el = this.#getDot(dot.id);
642
- if (!el) {
643
- return;
644
- }
645
- el.style.transition = 'all 350ms ease-out';
646
- const baseScale = 1.2;
647
- el.style.setProperty('--base-scale', `${baseScale}`);
648
- const angle = getAngle(dot);
649
- const normalizedAngle = (angle + Math.PI) / (2 * Math.PI);
650
- const animationDelayMs = normalizedAngle * ROTATION_DURATION;
651
- el.style.setProperty('--delay', `${animationDelayMs}ms`);
652
- this.#setTimeout(() => {
653
- el.classList.add('dot-loading');
654
- }, 50);
655
- });
656
- this.state = 'loop';
657
- }, seedDelay + 100);
658
- }
659
- #endLoopAnimation() {
660
- const now = performance.now();
661
- const elapsed = Math.max(0, now - this.#loopStartTime);
662
- const timeInCycle = elapsed % LOOP_DURATION;
663
- const timeLeft = LOOP_DURATION - timeInCycle + 50;
664
- this.state = 'exit';
665
- this.#setTimeout(() => {
666
- const orderedAllDots = sortByAngle(DOTS_DATA.map((d) => d.id));
667
- orderedAllDots.forEach((dot, i) => {
668
- const el = this.#getDot(dot.id);
669
- if (!el) {
670
- return;
671
- }
672
- const delay = i * 18;
673
- this.#setTimeout(() => {
674
- el.classList.remove('dot-loading', 'dot-loading-inner');
675
- el.style.removeProperty('--delay');
676
- el.style.removeProperty('--base-scale');
677
- el.classList.add('restoring');
678
- el.style.transform = 'scale(1)';
679
- el.style.opacity = '1';
680
- el.style.removeProperty('fill');
681
- this.#setTimeout(() => {
682
- el.classList.remove('restoring');
683
- }, 500);
684
- }, delay);
685
- });
686
- this.#setTimeout(() => {
687
- this.state = 'idle';
688
- }, orderedAllDots.length * 18 + 500);
689
- }, timeLeft);
690
- }
691
- handleLoadingChange(next) {
692
- if (!this.#introCompleted) {
693
- return;
694
- }
695
- this.#clearTimers();
696
- if (next) {
697
- if (this.state === 'idle' || this.state === 'exit') {
698
- this.#resetDotsState(true, true);
699
- this.#startLoopAnimation();
700
- }
701
- }
702
- else {
703
- if (this.state === 'loop') {
704
- this.#endLoopAnimation();
705
- }
706
- else if (this.state !== 'intro' && this.state !== 'exit') {
707
- this.state = 'idle';
708
- }
709
- }
710
- }
711
- playIntro(variant) {
712
- this.#clearTimers();
713
- this.#resetDotsState(true);
714
- const originalIntro = this.intro;
715
- if (variant) {
716
- this.intro = variant;
717
- }
718
- this.#runIntro(() => {
719
- this.#introCompleted = true;
720
- if (this.loading) {
721
- this.#startLoopAnimation();
722
- }
723
- else {
724
- this.state = 'idle';
725
- }
726
- });
727
- if (variant) {
728
- this.intro = originalIntro;
729
- }
730
- }
731
- }
732
- exports.LogoLoader = LogoLoader;