@esportsplus/ui 0.8.4 → 0.9.2

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 (522) hide show
  1. package/.editorconfig +9 -9
  2. package/.gitattributes +2 -2
  3. package/.github/dependabot.yml +23 -0
  4. package/.github/workflows/bump.yml +7 -0
  5. package/.github/workflows/publish.yml +14 -0
  6. package/build/components/accordion/index.d.ts +1 -0
  7. package/build/components/accordion/index.js +1 -0
  8. package/build/components/accordion/scss/index.scss +2 -0
  9. package/build/components/anchor/index.d.ts +1 -0
  10. package/build/components/anchor/index.js +1 -0
  11. package/build/components/anchor/scss/index.scss +2 -0
  12. package/build/components/banner/index.d.ts +1 -0
  13. package/build/components/banner/index.js +1 -0
  14. package/build/components/banner/scss/index.scss +2 -0
  15. package/build/components/border/index.d.ts +1 -0
  16. package/build/components/border/index.js +1 -0
  17. package/build/components/border/scss/index.scss +2 -0
  18. package/build/components/bubble/index.d.ts +1 -0
  19. package/build/components/bubble/index.js +1 -0
  20. package/build/components/bubble/scss/index.scss +2 -0
  21. package/build/components/button/index.d.ts +1 -0
  22. package/build/components/button/index.js +1 -0
  23. package/build/components/button/scss/index.scss +2 -0
  24. package/build/components/card/index.d.ts +1 -0
  25. package/build/components/card/index.js +1 -0
  26. package/build/components/card/scss/index.scss +2 -0
  27. package/build/components/clipboard/index.d.ts +0 -1
  28. package/build/components/clipboard/index.js +0 -1
  29. package/build/components/container/index.d.ts +1 -0
  30. package/build/components/container/index.js +1 -0
  31. package/build/components/container/scss/index.scss +2 -0
  32. package/build/components/counter/index.d.ts +1 -0
  33. package/build/components/counter/index.js +22 -16
  34. package/build/components/counter/scss/index.scss +2 -0
  35. package/build/components/ellipsis/index.d.ts +1 -0
  36. package/build/components/ellipsis/index.js +7 -6
  37. package/build/components/ellipsis/scss/index.scss +2 -0
  38. package/build/components/field/checkbox.d.ts +13 -0
  39. package/build/components/field/checkbox.js +52 -0
  40. package/build/components/field/description.d.ts +4 -0
  41. package/build/components/field/description.js +11 -0
  42. package/build/components/field/error.d.ts +4 -0
  43. package/build/components/field/error.js +13 -0
  44. package/build/components/field/file.d.ts +17 -0
  45. package/build/components/field/file.js +51 -0
  46. package/build/components/field/index.d.ts +79 -0
  47. package/build/components/field/index.js +9 -0
  48. package/build/components/field/optional.d.ts +12 -0
  49. package/build/components/field/optional.js +16 -0
  50. package/build/components/field/scss/index.scss +2 -0
  51. package/build/components/field/select.d.ts +22 -0
  52. package/build/components/field/select.js +135 -0
  53. package/build/components/field/switch.d.ts +3 -0
  54. package/build/components/field/switch.js +6 -0
  55. package/build/components/field/text.d.ts +17 -0
  56. package/build/components/field/text.js +64 -0
  57. package/build/components/field/textarea.d.ts +3 -0
  58. package/build/components/field/textarea.js +5 -0
  59. package/build/components/field/title.d.ts +5 -0
  60. package/build/components/field/title.js +21 -0
  61. package/build/components/footer/index.d.ts +1 -0
  62. package/build/components/footer/index.js +51 -46
  63. package/build/components/footer/scss/index.scss +2 -0
  64. package/build/components/form/action.d.ts +3 -1
  65. package/build/components/form/action.js +10 -7
  66. package/build/components/form/index.d.ts +2 -14
  67. package/build/components/form/index.js +1 -2
  68. package/build/components/form/input.d.ts +2 -4
  69. package/build/components/form/input.js +7 -7
  70. package/build/components/form/types.d.ts +0 -1
  71. package/build/components/frame/index.d.ts +1 -0
  72. package/build/components/frame/index.js +1 -0
  73. package/build/components/frame/scss/index.scss +2 -0
  74. package/build/components/grid/index.d.ts +1 -0
  75. package/build/components/grid/index.js +1 -0
  76. package/build/components/grid/scss/index.scss +2 -0
  77. package/build/components/group/index.d.ts +1 -0
  78. package/build/components/group/index.js +1 -0
  79. package/build/components/group/scss/index.scss +2 -0
  80. package/build/components/highlight/index.d.ts +1 -0
  81. package/build/components/highlight/index.js +5 -1
  82. package/build/components/highlight/scss/index.scss +2 -0
  83. package/build/components/icon/index.d.ts +1 -0
  84. package/build/components/icon/index.js +1 -0
  85. package/build/components/icon/scss/index.scss +2 -0
  86. package/build/components/index.d.ts +38 -19
  87. package/build/components/index.js +38 -19
  88. package/build/components/link/hover.d.ts +1 -1
  89. package/build/components/link/hover.js +8 -8
  90. package/build/components/link/index.d.ts +2 -1
  91. package/build/components/link/index.js +1 -0
  92. package/build/components/link/scss/index.scss +2 -0
  93. package/build/components/loader/index.d.ts +1 -0
  94. package/build/components/loader/index.js +23 -15
  95. package/build/components/loader/scss/index.scss +2 -0
  96. package/build/components/loading/index.d.ts +2 -1
  97. package/build/components/loading/index.js +9 -3
  98. package/build/components/loading/scss/index.scss +2 -0
  99. package/build/components/magnet/index.d.ts +1 -0
  100. package/build/components/magnet/index.js +8 -7
  101. package/build/components/magnet/scss/index.scss +2 -0
  102. package/build/components/modal/index.d.ts +1 -0
  103. package/build/components/modal/index.js +1 -0
  104. package/build/components/modal/scss/index.scss +2 -0
  105. package/build/components/normalize/index.d.ts +1 -0
  106. package/build/components/normalize/index.js +1 -0
  107. package/build/components/normalize/scss/index.scss +3 -0
  108. package/build/components/number/index.d.ts +2 -8
  109. package/build/components/number/index.js +2 -16
  110. package/build/components/page/index.d.ts +1 -10
  111. package/build/components/page/index.js +1 -1
  112. package/build/components/page/scss/index.scss +2 -0
  113. package/build/components/root/index.d.ts +1 -1
  114. package/build/components/root/onclick.d.ts +1 -1
  115. package/build/components/root/onclick.js +1 -1
  116. package/build/components/root/scss/index.scss +2 -0
  117. package/build/components/row/index.d.ts +1 -0
  118. package/build/components/row/index.js +1 -0
  119. package/build/components/row/scss/index.scss +2 -0
  120. package/build/components/scrollbar/index.d.ts +1 -0
  121. package/build/components/scrollbar/index.js +15 -9
  122. package/build/components/scrollbar/scss/index.scss +2 -0
  123. package/build/components/sidebar/index.d.ts +1 -0
  124. package/build/components/sidebar/index.js +1 -0
  125. package/build/components/sidebar/scss/index.scss +2 -0
  126. package/build/components/site/index.d.ts +1 -0
  127. package/build/components/site/index.js +6 -5
  128. package/build/components/site/scss/index.scss +2 -0
  129. package/build/components/text/index.d.ts +1 -0
  130. package/build/components/text/index.js +1 -0
  131. package/build/components/text/scss/index.scss +2 -0
  132. package/build/components/thumbnail/index.d.ts +1 -0
  133. package/build/components/thumbnail/index.js +1 -0
  134. package/build/components/thumbnail/scss/index.scss +2 -0
  135. package/build/components/tooltip/index.d.ts +1 -0
  136. package/build/components/tooltip/index.js +2 -1
  137. package/build/components/tooltip/scss/index.scss +2 -0
  138. package/build/components/truncate/index.d.ts +2 -9
  139. package/build/components/truncate/index.js +2 -10
  140. package/build/components/typewriter/index.d.ts +1 -0
  141. package/build/components/typewriter/index.js +1 -0
  142. package/build/components/typewriter/scss/index.scss +2 -0
  143. package/build/css-utilities/[margin,padding]/scss/index.scss +2 -0
  144. package/build/css-utilities/absolute/scss/index.scss +2 -0
  145. package/build/css-utilities/background/scss/index.scss +2 -0
  146. package/build/css-utilities/border/scss/index.scss +2 -0
  147. package/build/css-utilities/color/scss/index.scss +2 -0
  148. package/build/css-utilities/disabled/scss/index.scss +2 -0
  149. package/build/css-utilities/flex/scss/index.scss +2 -0
  150. package/build/css-utilities/glass/scss/index.scss +2 -0
  151. package/build/css-utilities/hidden/scss/index.scss +2 -0
  152. package/build/css-utilities/index.d.ts +18 -0
  153. package/build/css-utilities/index.js +18 -0
  154. package/build/css-utilities/inline/scss/index.scss +2 -0
  155. package/build/css-utilities/line-height/scss/index.scss +2 -0
  156. package/build/css-utilities/not-allowed/scss/index.scss +2 -0
  157. package/build/css-utilities/pointer/scss/index.scss +2 -0
  158. package/build/css-utilities/size/scss/index.scss +2 -0
  159. package/build/css-utilities/squircle/scss/index.scss +2 -0
  160. package/build/css-utilities/text/scss/index.scss +2 -0
  161. package/build/css-utilities/viewport/scss/index.scss +2 -0
  162. package/build/css-utilities/width/scss/index.scss +2 -0
  163. package/build/fonts/index.d.ts +1 -0
  164. package/build/fonts/index.js +1 -0
  165. package/build/fonts/montserrat/index.d.ts +1 -0
  166. package/build/fonts/montserrat/index.js +1 -0
  167. package/build/fonts/montserrat/scss/index.scss +2 -0
  168. package/dist/components/accordion/index.js +26 -0
  169. package/dist/components/accordion/scss/index.scss +2 -0
  170. package/dist/components/anchor/index.js +1 -0
  171. package/dist/components/anchor/scss/index.scss +2 -0
  172. package/dist/components/banner/index.js +1 -0
  173. package/dist/components/banner/scss/index.scss +2 -0
  174. package/dist/components/border/index.js +1 -0
  175. package/dist/components/border/scss/index.scss +2 -0
  176. package/dist/components/bubble/index.js +1 -0
  177. package/dist/components/bubble/scss/index.scss +2 -0
  178. package/dist/components/button/index.js +1 -0
  179. package/dist/components/button/scss/index.scss +2 -0
  180. package/dist/components/card/index.js +1 -0
  181. package/dist/components/card/scss/index.scss +2 -0
  182. package/dist/components/clipboard/index.js +2 -0
  183. package/dist/components/clipboard/write.js +9 -0
  184. package/dist/components/container/index.js +1 -0
  185. package/dist/components/container/scss/index.scss +2 -0
  186. package/dist/components/counter/index.js +78 -0
  187. package/dist/components/counter/scss/index.scss +2 -0
  188. package/dist/components/ellipsis/index.js +9 -0
  189. package/dist/components/ellipsis/scss/index.scss +2 -0
  190. package/dist/components/field/checkbox.js +52 -0
  191. package/dist/components/field/description.js +11 -0
  192. package/dist/components/field/error.js +13 -0
  193. package/dist/components/field/file.js +51 -0
  194. package/dist/components/field/index.js +9 -0
  195. package/dist/components/field/optional.js +16 -0
  196. package/dist/components/field/scss/index.scss +2 -0
  197. package/dist/components/field/select.js +135 -0
  198. package/dist/components/field/switch.js +6 -0
  199. package/dist/components/field/text.js +64 -0
  200. package/dist/components/field/textarea.js +5 -0
  201. package/dist/components/field/title.js +21 -0
  202. package/dist/components/footer/index.js +60 -0
  203. package/dist/components/footer/scss/index.scss +2 -0
  204. package/dist/components/form/action.js +57 -0
  205. package/dist/components/form/index.js +3 -0
  206. package/dist/components/form/input.js +10 -0
  207. package/dist/components/form/types.js +1 -0
  208. package/dist/components/frame/index.js +1 -0
  209. package/dist/components/frame/scss/index.scss +2 -0
  210. package/dist/components/grid/index.js +1 -0
  211. package/dist/components/grid/scss/index.scss +2 -0
  212. package/dist/components/group/index.js +1 -0
  213. package/dist/components/group/scss/index.scss +2 -0
  214. package/dist/components/highlight/index.js +40 -0
  215. package/dist/components/highlight/scss/index.scss +2 -0
  216. package/dist/components/icon/index.js +1 -0
  217. package/dist/components/icon/scss/index.scss +2 -0
  218. package/dist/components/index.js +38 -0
  219. package/dist/components/json/download.js +8 -0
  220. package/dist/components/json/index.js +2 -0
  221. package/dist/components/link/hover.js +17 -0
  222. package/dist/components/link/index.js +3 -0
  223. package/dist/components/link/scss/index.scss +2 -0
  224. package/dist/components/loader/index.js +39 -0
  225. package/dist/components/loader/scss/index.scss +2 -0
  226. package/dist/components/loading/index.js +12 -0
  227. package/dist/components/loading/scss/index.scss +2 -0
  228. package/dist/components/magnet/index.js +47 -0
  229. package/dist/components/magnet/scss/index.scss +2 -0
  230. package/dist/components/modal/index.js +1 -0
  231. package/dist/components/modal/scss/index.scss +2 -0
  232. package/dist/components/normalize/index.js +1 -0
  233. package/dist/components/normalize/scss/index.scss +3 -0
  234. package/dist/components/number/index.js +2 -0
  235. package/dist/components/page/index.js +11 -0
  236. package/dist/components/page/scss/index.scss +2 -0
  237. package/dist/components/root/index.js +3 -0
  238. package/dist/components/root/onclick.js +14 -0
  239. package/dist/components/root/scss/index.scss +2 -0
  240. package/dist/components/row/index.js +1 -0
  241. package/dist/components/row/scss/index.scss +2 -0
  242. package/dist/components/scrollbar/index.js +42 -0
  243. package/dist/components/scrollbar/scss/index.scss +2 -0
  244. package/dist/components/sidebar/index.js +1 -0
  245. package/dist/components/sidebar/scss/index.scss +2 -0
  246. package/dist/components/site/index.js +17 -0
  247. package/dist/components/site/scss/index.scss +2 -0
  248. package/dist/components/text/index.js +1 -0
  249. package/dist/components/text/scss/index.scss +2 -0
  250. package/dist/components/thumbnail/index.js +1 -0
  251. package/dist/components/thumbnail/scss/index.scss +2 -0
  252. package/dist/components/tooltip/index.js +64 -0
  253. package/dist/components/tooltip/scss/index.scss +2 -0
  254. package/dist/components/truncate/index.js +2 -0
  255. package/dist/components/typewriter/index.js +42 -0
  256. package/dist/components/typewriter/scss/index.scss +2 -0
  257. package/dist/css-utilities/[margin,padding]/scss/index.scss +2 -0
  258. package/dist/css-utilities/absolute/scss/index.scss +2 -0
  259. package/dist/css-utilities/background/scss/index.scss +2 -0
  260. package/dist/css-utilities/border/scss/index.scss +2 -0
  261. package/dist/css-utilities/color/scss/index.scss +2 -0
  262. package/dist/css-utilities/disabled/scss/index.scss +2 -0
  263. package/dist/css-utilities/flex/scss/index.scss +2 -0
  264. package/dist/css-utilities/glass/scss/index.scss +2 -0
  265. package/dist/css-utilities/hidden/scss/index.scss +2 -0
  266. package/dist/css-utilities/index.js +18 -0
  267. package/dist/css-utilities/inline/scss/index.scss +2 -0
  268. package/dist/css-utilities/line-height/scss/index.scss +2 -0
  269. package/dist/css-utilities/not-allowed/scss/index.scss +2 -0
  270. package/dist/css-utilities/pointer/scss/index.scss +2 -0
  271. package/dist/css-utilities/size/scss/index.scss +2 -0
  272. package/dist/css-utilities/squircle/scss/index.scss +2 -0
  273. package/dist/css-utilities/text/scss/index.scss +2 -0
  274. package/dist/css-utilities/viewport/scss/index.scss +2 -0
  275. package/dist/css-utilities/width/scss/index.scss +2 -0
  276. package/dist/fonts/index.js +1 -0
  277. package/dist/fonts/montserrat/index.js +1 -0
  278. package/dist/fonts/montserrat/scss/index.scss +2 -0
  279. package/lib.scss +1 -1
  280. package/package.json +28 -20
  281. package/src/components/accordion/index.ts +35 -34
  282. package/src/components/accordion/scss/index.scss +17 -16
  283. package/src/components/accordion/scss/variables.scss +9 -9
  284. package/src/components/anchor/index.ts +1 -0
  285. package/src/components/anchor/scss/index.scss +42 -41
  286. package/src/components/anchor/scss/variables.scss +4 -4
  287. package/src/components/banner/index.ts +1 -0
  288. package/src/components/banner/scss/index.scss +41 -40
  289. package/src/components/banner/scss/variables.scss +9 -9
  290. package/src/components/border/index.ts +1 -0
  291. package/src/components/border/scss/index.scss +12 -0
  292. package/src/components/border/scss/variables.scss +6 -0
  293. package/src/components/bubble/index.ts +1 -0
  294. package/src/components/bubble/scss/index.scss +32 -0
  295. package/src/components/bubble/scss/variables.scss +19 -0
  296. package/src/components/button/index.ts +1 -0
  297. package/src/components/button/scss/index.scss +115 -114
  298. package/src/components/button/scss/variables.scss +66 -66
  299. package/src/components/card/index.ts +1 -0
  300. package/src/components/card/scss/index.scss +36 -35
  301. package/src/components/card/scss/variables.scss +41 -41
  302. package/src/components/clipboard/index.ts +3 -4
  303. package/src/components/clipboard/write.ts +8 -8
  304. package/src/components/container/index.ts +1 -0
  305. package/src/components/container/scss/index.scss +10 -8
  306. package/src/components/container/scss/variables.scss +5 -5
  307. package/src/components/counter/index.ts +99 -93
  308. package/src/components/counter/scss/index.scss +63 -61
  309. package/src/components/counter/scss/variables.scss +26 -26
  310. package/src/components/ellipsis/index.ts +10 -9
  311. package/src/components/ellipsis/scss/index.scss +29 -27
  312. package/src/components/ellipsis/scss/variables.scss +4 -4
  313. package/src/components/field/checkbox.ts +71 -0
  314. package/src/components/field/description.ts +14 -0
  315. package/src/components/field/error.ts +16 -0
  316. package/src/components/field/file.ts +77 -0
  317. package/src/components/field/index.ts +11 -0
  318. package/src/components/field/optional.ts +23 -0
  319. package/src/components/field/scss/_check.scss +225 -0
  320. package/src/components/field/scss/_normalize.scss +36 -0
  321. package/src/components/field/scss/_text.scss +106 -0
  322. package/src/components/field/scss/index.scss +161 -0
  323. package/src/components/field/scss/variables.scss +139 -0
  324. package/src/components/field/select.ts +182 -0
  325. package/src/components/field/switch.ts +9 -0
  326. package/src/components/field/text.ts +92 -0
  327. package/src/components/field/textarea.ts +8 -0
  328. package/src/components/field/title.ts +24 -0
  329. package/src/components/footer/index.ts +83 -78
  330. package/src/components/footer/scss/index.scss +25 -25
  331. package/src/components/form/action.ts +79 -80
  332. package/src/components/form/index.ts +5 -6
  333. package/src/components/form/input.ts +17 -15
  334. package/src/components/form/types.ts +13 -15
  335. package/src/components/frame/index.ts +1 -0
  336. package/src/components/frame/scss/index.scss +11 -11
  337. package/src/components/grid/index.ts +1 -0
  338. package/src/components/grid/scss/index.scss +11 -9
  339. package/src/components/grid/scss/variables.scss +5 -5
  340. package/src/components/group/index.ts +1 -0
  341. package/src/components/group/scss/index.scss +38 -36
  342. package/src/components/group/scss/variables.scss +17 -17
  343. package/src/components/highlight/index.ts +51 -47
  344. package/src/components/highlight/scss/index.scss +6 -4
  345. package/src/components/highlight/scss/variables.scss +3 -3
  346. package/src/components/icon/index.ts +1 -0
  347. package/src/components/icon/scss/index.scss +18 -16
  348. package/src/components/icon/scss/variables.scss +7 -7
  349. package/src/components/index.ts +38 -19
  350. package/src/components/json/download.ts +14 -14
  351. package/src/components/json/index.ts +3 -3
  352. package/src/components/link/hover.ts +18 -18
  353. package/src/components/link/index.ts +4 -3
  354. package/src/components/link/scss/index.scss +66 -65
  355. package/src/components/link/scss/variables.scss +46 -46
  356. package/src/components/loader/index.ts +42 -34
  357. package/src/components/loader/scss/index.scss +70 -68
  358. package/src/components/loader/scss/variables.scss +5 -5
  359. package/src/components/loading/index.ts +13 -7
  360. package/src/components/loading/scss/index.scss +18 -16
  361. package/src/components/loading/scss/variables.scss +5 -5
  362. package/src/components/magnet/index.ts +55 -54
  363. package/src/components/magnet/scss/index.scss +17 -16
  364. package/src/components/magnet/scss/variables.scss +4 -4
  365. package/src/components/modal/index.ts +1 -0
  366. package/src/components/modal/scss/index.scss +35 -34
  367. package/src/components/modal/scss/variables.scss +6 -6
  368. package/src/components/normalize/index.ts +1 -0
  369. package/src/components/normalize/scss/index.scss +1 -0
  370. package/src/components/number/index.ts +4 -24
  371. package/src/components/page/index.ts +17 -15
  372. package/src/components/page/scss/index.scss +33 -31
  373. package/src/components/page/scss/variables.scss +15 -15
  374. package/src/components/root/index.ts +4 -4
  375. package/src/components/root/onclick.ts +20 -20
  376. package/src/components/root/scss/index.scss +94 -94
  377. package/src/components/root/scss/variables.scss +100 -100
  378. package/src/components/row/index.ts +1 -0
  379. package/src/components/row/scss/index.scss +7 -7
  380. package/src/components/scrollbar/index.ts +49 -43
  381. package/src/components/scrollbar/scss/index.scss +72 -70
  382. package/src/components/scrollbar/scss/variables.scss +6 -6
  383. package/src/components/sidebar/index.ts +1 -0
  384. package/src/components/sidebar/scss/index.scss +50 -49
  385. package/src/components/sidebar/scss/variables.scss +20 -20
  386. package/src/components/site/index.ts +27 -26
  387. package/src/components/site/scss/index.scss +3 -3
  388. package/src/components/text/index.ts +1 -0
  389. package/src/components/text/scss/index.scss +11 -9
  390. package/src/components/text/scss/variables.scss +8 -8
  391. package/src/components/thumbnail/index.ts +1 -0
  392. package/src/components/thumbnail/scss/index.scss +9 -7
  393. package/src/components/thumbnail/scss/variables.scss +7 -7
  394. package/src/components/tooltip/index.ts +85 -84
  395. package/src/components/tooltip/scss/_center.scss +13 -13
  396. package/src/components/tooltip/scss/_east.scss +34 -34
  397. package/src/components/tooltip/scss/_north.scss +34 -34
  398. package/src/components/tooltip/scss/_south.scss +35 -35
  399. package/src/components/tooltip/scss/_west.scss +34 -34
  400. package/src/components/tooltip/scss/index.scss +94 -93
  401. package/src/components/tooltip/scss/variables.scss +24 -24
  402. package/src/components/truncate/index.ts +4 -14
  403. package/src/components/typewriter/index.ts +54 -53
  404. package/src/components/typewriter/scss/index.scss +14 -14
  405. package/src/css-utilities/[margin,padding]/scss/index.scss +43 -41
  406. package/src/css-utilities/[margin,padding]/scss/variables.scss +54 -54
  407. package/src/css-utilities/absolute/scss/index.scss +36 -36
  408. package/src/css-utilities/background/scss/index.scss +1 -0
  409. package/src/css-utilities/background/scss/variables.scss +26 -27
  410. package/src/css-utilities/border/scss/index.scss +23 -21
  411. package/src/css-utilities/border/scss/variables.scss +64 -66
  412. package/src/css-utilities/color/scss/index.scss +1 -0
  413. package/src/css-utilities/color/scss/variables.scss +29 -31
  414. package/src/css-utilities/disabled/scss/index.scss +4 -4
  415. package/src/css-utilities/flex/scss/index.scss +65 -65
  416. package/src/css-utilities/glass/scss/index.scss +4 -2
  417. package/src/css-utilities/glass/scss/variables.scss +2 -2
  418. package/src/css-utilities/hidden/scss/index.scss +28 -28
  419. package/src/css-utilities/index.ts +18 -0
  420. package/src/css-utilities/inline/scss/index.scss +7 -7
  421. package/src/css-utilities/line-height/scss/index.scss +1 -0
  422. package/src/css-utilities/line-height/scss/variables.scss +10 -10
  423. package/src/css-utilities/not-allowed/scss/index.scss +7 -7
  424. package/src/css-utilities/pointer/scss/index.scss +5 -5
  425. package/src/css-utilities/size/scss/index.scss +1 -0
  426. package/src/css-utilities/size/scss/variables.scss +12 -12
  427. package/src/css-utilities/squircle/scss/index.scss +4 -4
  428. package/src/css-utilities/text/scss/index.scss +90 -89
  429. package/src/css-utilities/text/scss/variables.scss +31 -31
  430. package/src/css-utilities/viewport/scss/index.scss +4 -4
  431. package/src/css-utilities/width/scss/index.scss +5 -3
  432. package/src/css-utilities/width/scss/variables.scss +9 -9
  433. package/src/fonts/index.ts +1 -0
  434. package/src/fonts/montserrat/index.ts +1 -0
  435. package/src/fonts/montserrat/scss/Montserrat-Bold.woff +0 -0
  436. package/src/fonts/montserrat/scss/Montserrat-Bold.woff2 +0 -0
  437. package/src/fonts/montserrat/scss/Montserrat-BoldItalic.woff +0 -0
  438. package/src/fonts/montserrat/scss/Montserrat-BoldItalic.woff2 +0 -0
  439. package/src/fonts/montserrat/scss/Montserrat-Italic.woff +0 -0
  440. package/src/fonts/montserrat/scss/Montserrat-Italic.woff2 +0 -0
  441. package/src/fonts/montserrat/scss/Montserrat-Medium.woff +0 -0
  442. package/src/fonts/montserrat/scss/Montserrat-Medium.woff2 +0 -0
  443. package/src/fonts/montserrat/scss/Montserrat-MediumItalic.woff +0 -0
  444. package/src/fonts/montserrat/scss/Montserrat-MediumItalic.woff2 +0 -0
  445. package/src/fonts/montserrat/scss/Montserrat-Regular.woff +0 -0
  446. package/src/fonts/montserrat/scss/Montserrat-Regular.woff2 +0 -0
  447. package/src/fonts/montserrat/scss/Montserrat-SemiBold.woff +0 -0
  448. package/src/fonts/montserrat/scss/Montserrat-SemiBold.woff2 +0 -0
  449. package/src/fonts/montserrat/scss/Montserrat-SemiBoldItalic.woff +0 -0
  450. package/src/fonts/montserrat/scss/Montserrat-SemiBoldItalic.woff2 +0 -0
  451. package/{storage/fonts/montserrat/index.css → src/fonts/montserrat/scss/index.scss} +79 -79
  452. package/src/lib/index.scss +7 -7
  453. package/src/lib/scss/breakpoint.scss +41 -41
  454. package/src/lib/scss/color.scss +1 -1
  455. package/src/lib/scss/css-variables.scss +16 -16
  456. package/src/lib/scss/list.scss +77 -77
  457. package/src/lib/scss/map.scss +1 -1
  458. package/src/lib/scss/position.scss +55 -55
  459. package/src/lib/scss/string.scss +34 -34
  460. package/src/tokens/index.scss +11 -11
  461. package/src/tokens/scss/border-radius.scss +12 -12
  462. package/src/tokens/scss/border-width.scss +6 -6
  463. package/src/tokens/scss/box-shadow.scss +39 -39
  464. package/src/tokens/scss/color.scss +68 -64
  465. package/src/tokens/scss/font-size.scss +16 -16
  466. package/src/tokens/scss/font-weight.scss +6 -6
  467. package/src/tokens/scss/line-height.scss +6 -6
  468. package/src/tokens/scss/size.scss +13 -13
  469. package/src/tokens/scss/spacer.scss +10 -10
  470. package/src/tokens/scss/state.scss +85 -87
  471. package/src/tokens/scss/transition-duration.scss +1 -1
  472. package/tokens.scss +1 -1
  473. package/tsconfig.json +2 -2
  474. package/vite.config.ts +32 -0
  475. package/build/components/form/layout.d.ts +0 -12
  476. package/build/components/form/layout.js +0 -12
  477. package/build/index.d.ts +0 -19
  478. package/build/index.js +0 -19
  479. package/components/styles.css +0 -30
  480. package/components/variables.css +0 -24
  481. package/fonts/montserrat.css +0 -1
  482. package/normalize.css +0 -1
  483. package/src/components/clipboard/scss/index.scss +0 -3
  484. package/src/components/form/layout.ts +0 -26
  485. package/src/css-utilities/index.scss +0 -14
  486. package/src/css-utilities/overflow/scss/index.scss +0 -5
  487. package/src/index.ts +0 -19
  488. package/utilities/styles.css +0 -16
  489. package/utilities/variables.css +0 -9
  490. package/webpack.config.ts +0 -26
  491. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Bold.woff +0 -0
  492. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Bold.woff2 +0 -0
  493. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-BoldItalic.woff +0 -0
  494. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-BoldItalic.woff2 +0 -0
  495. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Italic.woff +0 -0
  496. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Italic.woff2 +0 -0
  497. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Medium.woff +0 -0
  498. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Medium.woff2 +0 -0
  499. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-MediumItalic.woff +0 -0
  500. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-MediumItalic.woff2 +0 -0
  501. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Regular.woff +0 -0
  502. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-Regular.woff2 +0 -0
  503. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-SemiBold.woff +0 -0
  504. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-SemiBold.woff2 +0 -0
  505. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-SemiBoldItalic.woff +0 -0
  506. /package/{storage/fonts/montserrat → build/fonts/montserrat/scss}/Montserrat-SemiBoldItalic.woff2 +0 -0
  507. /package/{assets/f0032576ac7462ccbd0c.woff → dist/fonts/montserrat/scss/Montserrat-Bold.woff} +0 -0
  508. /package/{assets/0af89c10df9bc2f8d646.woff2 → dist/fonts/montserrat/scss/Montserrat-Bold.woff2} +0 -0
  509. /package/{assets/bf331673b91821715c08.woff → dist/fonts/montserrat/scss/Montserrat-BoldItalic.woff} +0 -0
  510. /package/{assets/dd8646a41e4397b77fc4.woff2 → dist/fonts/montserrat/scss/Montserrat-BoldItalic.woff2} +0 -0
  511. /package/{assets/f872e621917a45943fbc.woff → dist/fonts/montserrat/scss/Montserrat-Italic.woff} +0 -0
  512. /package/{assets/593de7c561e5ffe80c3e.woff2 → dist/fonts/montserrat/scss/Montserrat-Italic.woff2} +0 -0
  513. /package/{assets/2a3e005f58bfca9c117e.woff → dist/fonts/montserrat/scss/Montserrat-Medium.woff} +0 -0
  514. /package/{assets/e06c107cc50506570954.woff2 → dist/fonts/montserrat/scss/Montserrat-Medium.woff2} +0 -0
  515. /package/{assets/16663c3f6ab1da2d6c86.woff → dist/fonts/montserrat/scss/Montserrat-MediumItalic.woff} +0 -0
  516. /package/{assets/ecdfe4c05425592708aa.woff2 → dist/fonts/montserrat/scss/Montserrat-MediumItalic.woff2} +0 -0
  517. /package/{assets/a04b5e24af93da353f0e.woff → dist/fonts/montserrat/scss/Montserrat-Regular.woff} +0 -0
  518. /package/{assets/58a8d7ebc386843b62c5.woff2 → dist/fonts/montserrat/scss/Montserrat-Regular.woff2} +0 -0
  519. /package/{assets/16e8721ef5837bc6375e.woff → dist/fonts/montserrat/scss/Montserrat-SemiBold.woff} +0 -0
  520. /package/{assets/109e3207d9afea8524be.woff2 → dist/fonts/montserrat/scss/Montserrat-SemiBold.woff2} +0 -0
  521. /package/{assets/c54b0f4340f2914802d1.woff → dist/fonts/montserrat/scss/Montserrat-SemiBoldItalic.woff} +0 -0
  522. /package/{assets/68b7982c2b30b51bf932.woff2 → dist/fonts/montserrat/scss/Montserrat-SemiBoldItalic.woff2} +0 -0
@@ -1,66 +1,66 @@
1
- @use '/lib';
2
- @use '/tokens';
3
-
4
- .button {
5
- --background: var(--background-default);
6
- --background-active: var(--background-default);
7
- --background-default: transparent;
8
- --background-hover: var(--background-default);
9
- --background-pressed: var(--background-default);
10
- --border-color: var(--border-color-default);
11
- --border-color-active: var(--border-color-default);
12
- --border-color-default: var(--background);
13
- --border-color-hover: var(--border-color-default);
14
- --border-color-pressed: var(--border-color-default);
15
- --border-radius: var(--border-radius-400);
16
- --border-width: 0px;
17
- --box-shadow: var(--box-shadow-default);
18
- --box-shadow-active: var(--box-shadow-300);
19
- --box-shadow-default: none;
20
- --box-shadow-hover: var(--box-shadow-400);
21
- --box-shadow-pressed: none;
22
- --color: var(--color-default);
23
- --color-active: var(--color-default);
24
- --color-default: var(--color-text-400);
25
- --color-hover: var(--color-default);
26
- --color-pressed: var(--color-default);
27
- --font-size: var(--font-size-400);
28
- --font-weight: var(--font-weight-400);
29
- --line-height: var(--line-height-400);
30
- --padding-horizontal: var(--size-400);
31
- --padding-vertical: var(--size-400);
32
- --width: auto;
33
-
34
- @include tokens.state(active) {
35
- --background: var(--background-active);
36
- --border-color: var(--border-color-active);
37
- --box-shadow: var(--box-shadow-active);
38
- --color: var(--color-active);
39
- }
40
-
41
- @include tokens.state(hover) {
42
- --background: var(--background-hover);
43
- --border-color: var(--border-color-hover);
44
- --box-shadow: var(--box-shadow-hover);
45
- --color: var(--color-hover);
46
- }
47
-
48
- @include tokens.state(pressed) {
49
- --background: var(--background-pressed);
50
- --border-color: var(--border-color-pressed);
51
- --box-shadow: var(--box-shadow-pressed);
52
- --color: var(--color-pressed);
53
- }
54
-
55
-
56
- &--processing {
57
- --animation-duration: 0.64s;
58
- --border-color: var(--color);
59
- --border-width: var(--border-width-400);
60
- --size: var(--size-400);
61
- }
62
-
63
- &--skeleton {
64
- --animation-duration: 6.4s;
65
- }
66
- }
1
+ @use '/lib';
2
+ @use '/tokens';
3
+
4
+ .button {
5
+ --background: var(--background-default);
6
+ --background-active: var(--background-default);
7
+ --background-default: transparent;
8
+ --background-hover: var(--background-default);
9
+ --background-pressed: var(--background-default);
10
+ --border-color: var(--border-color-default);
11
+ --border-color-active: var(--border-color-default);
12
+ --border-color-default: var(--background);
13
+ --border-color-hover: var(--border-color-default);
14
+ --border-color-pressed: var(--border-color-default);
15
+ --border-radius: var(--border-radius-400);
16
+ --border-width: 0px;
17
+ --box-shadow: var(--box-shadow-default);
18
+ --box-shadow-active: var(--box-shadow-300);
19
+ --box-shadow-default: none;
20
+ --box-shadow-hover: var(--box-shadow-400);
21
+ --box-shadow-pressed: none;
22
+ --color: var(--color-default);
23
+ --color-active: var(--color-default);
24
+ --color-default: var(--color-text-400);
25
+ --color-hover: var(--color-default);
26
+ --color-pressed: var(--color-default);
27
+ --font-size: var(--font-size-400);
28
+ --font-weight: var(--font-weight-400);
29
+ --line-height: var(--line-height-400);
30
+ --padding-horizontal: var(--size-400);
31
+ --padding-vertical: var(--size-400);
32
+ --width: auto;
33
+
34
+ @include tokens.state(active) {
35
+ --background: var(--background-active);
36
+ --border-color: var(--border-color-active);
37
+ --box-shadow: var(--box-shadow-active);
38
+ --color: var(--color-active);
39
+ }
40
+
41
+ @include tokens.state(hover) {
42
+ --background: var(--background-hover);
43
+ --border-color: var(--border-color-hover);
44
+ --box-shadow: var(--box-shadow-hover);
45
+ --color: var(--color-hover);
46
+ }
47
+
48
+ @include tokens.state(pressed) {
49
+ --background: var(--background-pressed);
50
+ --border-color: var(--border-color-pressed);
51
+ --box-shadow: var(--box-shadow-pressed);
52
+ --color: var(--color-pressed);
53
+ }
54
+
55
+
56
+ &--processing {
57
+ --animation-duration: 0.64s;
58
+ --border-width: var(--border-width-400);
59
+ --processing-color: var(--color);
60
+ --size: var(--size-400);
61
+ }
62
+
63
+ &--skeleton {
64
+ --animation-duration: 6.4s;
65
+ }
66
+ }
@@ -0,0 +1 @@
1
+ import './scss/index.scss';
@@ -1,35 +1,36 @@
1
- @use '/lib';
2
-
3
- .card {
4
- background: var(--background);
5
- border-radius: var(--border-radius);
6
- padding: var(--padding-vertical) var(--padding-horizontal);
7
- position: relative;
8
- transition:
9
- background var(--transition-duration) ease-in-out,
10
- border-color var(--transition-duration) ease-in-out,
11
- box-shadow var(--transition-duration) ease-in-out,
12
- max-height var(--transition-duration) ease-in-out;
13
- width: var(--width);
14
-
15
-
16
- // Pseudo Element Box Shadow
17
- &::after {
18
- @include lib.position(absolute, full);
19
- border-radius: inherit;
20
- box-shadow: var(--box-shadow);
21
- content: '';
22
- pointer-events: none;
23
- transition:
24
- box-shadow var(--transition-duration) ease-in-out,
25
- opacity var(--transition-duration) ease-in-out;
26
- z-index: 0;
27
- }
28
-
29
-
30
- &--flat {
31
- &::after {
32
- display: none;
33
- }
34
- }
35
- }
1
+ @use '/lib';
2
+ @use './variables.scss';
3
+
4
+ .card {
5
+ background: var(--background);
6
+ border-radius: var(--border-radius);
7
+ padding: var(--padding-vertical) var(--padding-horizontal);
8
+ position: relative;
9
+ transition:
10
+ background var(--transition-duration) ease-in-out,
11
+ border-color var(--transition-duration) ease-in-out,
12
+ box-shadow var(--transition-duration) ease-in-out,
13
+ max-height var(--transition-duration) ease-in-out;
14
+ width: var(--width);
15
+
16
+
17
+ // Pseudo Element Box Shadow
18
+ &::after {
19
+ @include lib.position(absolute, full);
20
+ border-radius: inherit;
21
+ box-shadow: var(--box-shadow);
22
+ content: '';
23
+ pointer-events: none;
24
+ transition:
25
+ box-shadow var(--transition-duration) ease-in-out,
26
+ opacity var(--transition-duration) ease-in-out;
27
+ z-index: 0;
28
+ }
29
+
30
+
31
+ &--flat {
32
+ &::after {
33
+ display: none;
34
+ }
35
+ }
36
+ }
@@ -1,41 +1,41 @@
1
- @use '/tokens';
2
-
3
- .card {
4
- --background: var(--background-default);
5
- --background-active: var(--background-default);
6
- --background-default: transparent;
7
- --background-hover: var(--background-default);
8
- --background-pressed: var(--background-default);
9
- --border-color: var(--border-color-default);
10
- --border-color-active: var(--border-color-default);
11
- --border-color-default: var(--background);
12
- --border-color-hover: var(--border-color-default);
13
- --border-color-pressed: var(--border-color-default);
14
- --border-radius: var(--border-radius-400);
15
- --box-shadow: var(--box-shadow-default);
16
- --box-shadow-active: var(--box-shadow-300);
17
- --box-shadow-default: none;
18
- --box-shadow-hover: var(--box-shadow-300);
19
- --box-shadow-pressed: none;
20
- --padding-horizontal: 0px;
21
- --padding-vertical: 0px;
22
- --width: auto;
23
-
24
- @include tokens.state(active) {
25
- --background: var(--background-active);
26
- --border-color: var(--border-color-active);
27
- --box-shadow: var(--box-shadow-active);
28
- }
29
-
30
- @include tokens.state(hover) {
31
- --background: var(--background-hover);
32
- --border-color: var(--border-color-hover);
33
- --box-shadow: var(--box-shadow-hover);
34
- }
35
-
36
- @include tokens.state(pressed) {
37
- --background: var(--background-pressed);
38
- --border-color: var(--border-color-pressed);
39
- --box-shadow: var(--box-shadow-pressed);
40
- }
41
- }
1
+ @use '/tokens';
2
+
3
+ .card {
4
+ --background: var(--background-default);
5
+ --background-active: var(--background-default);
6
+ --background-default: transparent;
7
+ --background-hover: var(--background-default);
8
+ --background-pressed: var(--background-default);
9
+ --border-color: var(--border-color-default);
10
+ --border-color-active: var(--border-color-default);
11
+ --border-color-default: var(--background);
12
+ --border-color-hover: var(--border-color-default);
13
+ --border-color-pressed: var(--border-color-default);
14
+ --border-radius: var(--border-radius-400);
15
+ --box-shadow: var(--box-shadow-default);
16
+ --box-shadow-active: var(--box-shadow-300);
17
+ --box-shadow-default: none;
18
+ --box-shadow-hover: var(--box-shadow-300);
19
+ --box-shadow-pressed: none;
20
+ --padding-horizontal: 0px;
21
+ --padding-vertical: 0px;
22
+ --width: auto;
23
+
24
+ @include tokens.state(active) {
25
+ --background: var(--background-active);
26
+ --border-color: var(--border-color-active);
27
+ --box-shadow: var(--box-shadow-active);
28
+ }
29
+
30
+ @include tokens.state(hover) {
31
+ --background: var(--background-hover);
32
+ --border-color: var(--border-color-hover);
33
+ --box-shadow: var(--box-shadow-hover);
34
+ }
35
+
36
+ @include tokens.state(pressed) {
37
+ --background: var(--background-pressed);
38
+ --border-color: var(--border-color-pressed);
39
+ --box-shadow: var(--box-shadow-pressed);
40
+ }
41
+ }
@@ -1,5 +1,4 @@
1
- import write from './write';
2
- import './scss/index.scss';
3
-
4
-
1
+ import write from './write';
2
+
3
+
5
4
  export default { write };
@@ -1,9 +1,9 @@
1
- export default async (value: string) => {
2
- try {
3
- await navigator.clipboard.writeText(value);
4
- return true;
5
- }
6
- catch {
7
- return false;
8
- }
1
+ export default async (value: string) => {
2
+ try {
3
+ await navigator.clipboard.writeText(value);
4
+ return true;
5
+ }
6
+ catch {
7
+ return false;
8
+ }
9
9
  };
@@ -0,0 +1 @@
1
+ import './scss/index.scss';
@@ -1,8 +1,10 @@
1
- .container {
2
- display: flex;
3
- flex-wrap: wrap;
4
- justify-content: flex-start;
5
- margin: var(--margin-vertical) auto;
6
- position: relative;
7
- width: min(var(--max-width), calc(100% - var(--margin-horizontal) * 2));
8
- }
1
+ @use './variables.scss';
2
+
3
+ .container {
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ justify-content: flex-start;
7
+ margin: var(--margin-vertical) auto;
8
+ position: relative;
9
+ width: min(var(--max-width), calc(100% - var(--margin-horizontal) * 2));
10
+ }
@@ -1,5 +1,5 @@
1
- .container {
2
- --margin-horizontal: var(--size-600);
3
- --margin-vertical: 0px;
4
- --max-width: 1400px;
5
- }
1
+ .container {
2
+ --margin-horizontal: var(--size-600);
3
+ --margin-vertical: 0px;
4
+ --max-width: 1400px;
5
+ }
@@ -1,94 +1,100 @@
1
- import { effect, reactive } from '@esportsplus/reactivity'
2
- import { html } from '@esportsplus/template';
3
-
4
-
5
- let formatters: Record<string, Intl.NumberFormat> = {};
6
-
7
-
8
- export default ({ currency, delay, max, suffix, value }: { currency?: 'IGNORE' | 'EUR' | 'GBP' | 'USD', delay?: number, max?: number, suffix?: string, value: number }) => {
9
- let api = reactive({ value: -1 }),
10
- formatter = currency === 'IGNORE' ? undefined : formatters[currency || 'USD'] ??= new Intl.NumberFormat('en-US', {
11
- style: 'currency',
12
- currency: currency || 'USD'
13
- }),
14
- rendering = true,
15
- state = reactive({
16
- length: 0,
17
- render: [] as string[]
18
- });
19
-
20
- effect(() => {
21
- if (api.value !== -1) {
22
- value = api.value;
23
- }
24
-
25
- let padding = (max || value).toFixed(2).length - value.toFixed(2).length,
26
- values = value.toString().padStart( value.toString().length + padding, '1') as any;
27
-
28
- if (formatter) {
29
- values = formatter.format(values);
30
- }
31
- else {
32
- values = Number(values).toLocaleString();
33
- }
34
-
35
- values = values.split('');
36
-
37
- if (suffix) {
38
- values.push(' ', ...suffix.split(''));
39
- }
40
-
41
- state.length = values.length;
42
-
43
- for (let i = 0, n = values.length; i < n; i++) {
44
- let value = values[i];
45
-
46
- if (!isNaN(parseInt(value, 10)) && (rendering === true || padding > 0)) {
47
- padding--;
48
- value = '0';
49
- }
50
-
51
- state.render[i] = value;
52
- }
53
-
54
- if (rendering === true) {
55
- rendering = false;
56
- setTimeout(() => api.value = value, delay || 1000);
57
- }
58
- });
59
-
60
- return {
61
- html: html`
62
- <div class='counter'>
63
- ${() => {
64
- let n = state.length;
65
-
66
- if (n === 0) {
67
- return '';
68
- }
69
-
70
- return html.reactive(state.render, function (value, i) {
71
- if (isNaN(parseInt(value as string, 10))) {
72
- return html`
73
- <span class='counter-character counter-character--symbol'>
74
- ${value}
75
- </span>
76
- `;
77
- }
78
-
79
- return html`
80
- <div class='counter-character ${i > n - 3 ? 'counter-character--fraction' : ''}'>
81
- <div class='counter-character-track' style='${() => `--value: ${this[i]}`}'>
82
- <span>9</span>
83
- ${[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((value) => html`<span>${value}</span>`)}
84
- <span>0</span>
85
- </div>
86
- </div>
87
- `;
88
- })
89
- }}
90
- </div>
91
- `,
92
- state: api
93
- };
1
+ import { effect, reactive } from '@esportsplus/reactivity'
2
+ import { html } from '@esportsplus/template';
3
+ import './scss/index.scss';
4
+
5
+
6
+ let formatters: Record<string, Intl.NumberFormat> = {};
7
+
8
+
9
+ export default ({ currency, delay, max, suffix, value }: { currency?: 'IGNORE' | 'EUR' | 'GBP' | 'USD', delay?: number, max?: number, suffix?: string, value: number }) => {
10
+ let api = reactive({ value: -1 }),
11
+ formatter = currency === 'IGNORE' ? undefined : formatters[currency || 'USD'] ??= new Intl.NumberFormat('en-US', {
12
+ style: 'currency',
13
+ currency: currency || 'USD'
14
+ }),
15
+ rendering = true,
16
+ state = reactive({
17
+ length: 0,
18
+ render: [] as string[]
19
+ });
20
+
21
+ effect(() => {
22
+ if (api.value !== -1) {
23
+ value = api.value;
24
+ }
25
+
26
+ let padding = (max || value).toFixed(2).length - value.toFixed(2).length,
27
+ values = value.toString().padStart( value.toString().length + padding, '1') as any;
28
+
29
+ if (formatter) {
30
+ values = formatter.format(values);
31
+ }
32
+ else {
33
+ values = Number(values).toLocaleString();
34
+ }
35
+
36
+ values = values.split('');
37
+
38
+ if (suffix) {
39
+ values.push(' ', ...suffix.split(''));
40
+ }
41
+
42
+ state.length = values.length;
43
+
44
+ for (let i = 0, n = values.length; i < n; i++) {
45
+ let value = values[i];
46
+
47
+ if (!isNaN(parseInt(value, 10)) && (rendering === true || padding > 0)) {
48
+ padding--;
49
+ value = '0';
50
+ }
51
+
52
+ state.render[i] = value;
53
+ }
54
+
55
+ if (rendering === true) {
56
+ rendering = false;
57
+ setTimeout(() => api.value = value, delay || 1000);
58
+ }
59
+ });
60
+
61
+ return {
62
+ html: html`
63
+ <div class='counter'>
64
+ ${() => {
65
+ let n = state.length;
66
+
67
+ if (n === 0) {
68
+ return '';
69
+ }
70
+
71
+ return html.reactive(state.render, function (value, i) {
72
+ if (isNaN(parseInt(value as string, 10))) {
73
+ return html`
74
+ <span class='counter-character counter-character--symbol'>
75
+ ${value}
76
+ </span>
77
+ `;
78
+ }
79
+
80
+ return html`
81
+ <div
82
+ class='
83
+ ${i > n - 3 && 'counter-character--fraction'}
84
+ counter-character
85
+ '
86
+ >
87
+ <div class='counter-character-track' style='${() => `--value: ${this[i]}`}'>
88
+ <span>9</span>
89
+ ${[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map((value) => html`<span>${value}</span>`)}
90
+ <span>0</span>
91
+ </div>
92
+ </div>
93
+ `;
94
+ })
95
+ }}
96
+ </div>
97
+ `,
98
+ state: api
99
+ };
94
100
  };