@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
@@ -0,0 +1,16 @@
1
+ import s from './select.js';
2
+ import sw from './switch.js';
3
+ import t from './text.js';
4
+ const select = (data) => {
5
+ data.field ??= {};
6
+ data.field.class = `field--optional ${data.field?.class || ''}`;
7
+ data.field.content = s(data.field);
8
+ return sw(data);
9
+ };
10
+ const text = (data) => {
11
+ data.field ??= {};
12
+ data.field.class = `field--optional ${data.field?.class || ''}`;
13
+ data.field.content = t(data.field);
14
+ return sw(data);
15
+ };
16
+ export default { select, text };
@@ -0,0 +1,2 @@
1
+ .field{--margin-horizontal:0px;--margin-vertical:var(--size-300);--width:100%}.field--optional{--max-height:0;--max-height-active:0}.field.--active .field--optional{--max-height:var(--max-height-active)}.field-description,.field-error{--font-size:var(--font-size-300)}.field-error{--color:var(--color-red-400)}.field-mask{--background:var(--background-default);--background-active:var(--background-default);--background-default:transparent;--background-hover:var(--background-default);--background-pressed:var(--background-default);--border-color:var(--border-color-default);--border-color-default:var(--background);--border-radius:var(--border-radius-400);--border-style:solid;--border-width:0px;--box-shadow:var(--box-shadow-default);--box-shadow-active:var(--box-shadow-400);--box-shadow-default:var(--box-shadow-300);--box-shadow-hover:var(--box-shadow-400);--box-shadow-pressed:none;--color:var(--color-default);--color-active:var(--color-default);--color-default:var(--color-text-400);--color-hover:var(--color-default);--color-pressed:var(--color-default);--outline-opacity:var(--outline-opacity-default);--outline-opacity-active:.32;--outline-opacity-default:0;--outline-opacity-hover:0;--outline-opacity-pressed:0;--outline-spacing:0px;--outline-width:var(--outline-width-default);--outline-width-active:4px;--outline-width-default:0px;--outline-width-hover:0px;--outline-width-pressed:0px;--padding-horizontal:0px;--padding-vertical:var(--size-400)}.field.--active>.field-mask,.field.--active :not(.field) .field-mask{--background:var(--background-active);--border-color:var(--border-color-active);--box-shadow:var(--box-shadow-active);--color:var(--color-active);--outline-opacity:var(--outline-opacity-active);--outline-width:var(--outline-width-active)}label.field:not(.--active):not(.--active):hover>.field-mask,.field:not(.--active):not(label) .field-mask:not(.--active):hover{--background:var(--background-hover);--border-color:var(--border-color-hover);--box-shadow:var(--box-shadow-hover);--color:var(--color-hover);--outline-opacity:var(--outline-opacity-hover);--outline-width:var(--outline-width-hover)}label.field:not(.--active):not(.--active):active>.field-mask,.field:not(.--active):not(label) .field-mask:not(.--active):active{--background:var(--background-pressed);--border-color:var(--border-color-pressed);--box-shadow:var(--box-shadow-pressed);--color:var(--color-pressed);--outline-opacity:var(--outline-opacity-pressed);--outline-width:var(--outline-width-pressed)}.field-mask--outline:not(.--active):active{--border-color:var(--border-color-default)}.field-mask--outline:not(.--active):active:before{--outline-width:0px}.field-required{--border-radius:var(--border-radius-circle);--size:6px}.field-title{--color:var(--color-default);--color-active:var(--color-default);--color-default:var(--color-text-400);--color-hover:var(--color-default);--color-pressed:var(--color-default);--font-size:var(--font-size-400);--font-weight:var(--font-weight-500)}.field.--active .field-title{--color:var(--color-active)}.field:not(.--active):hover .field-title{--color:var(--color-hover)}.field:not(.--active):active .field-title{--color:var(--color-pressed)}.field label.field:not(.--active):hover,.field:not(label):not(.--active) .field-mask:not(.--active):hover{--background:var(--background-hover);--border-color:var(--border-color-hover);--box-shadow:var(--box-shadow-hover);--color:var(--color-hover);--outline-opacity:var(--outline-opacity-hover);--outline-width:var(--outline-width-hover)}.field label.field:not(.--active):active,.field:not(label):not(.--active) .field-mask:not(.--active):active{--background:var(--background-pressed);--border-color:var(--border-color-pressed);--box-shadow:var(--box-shadow-pressed);--color:var(--color-pressed);--outline-opacity:var(--outline-opacity-pressed);--outline-width:var(--outline-width-pressed)}.field-mask--checkbox,.field-mask--radio,.field-mask--switch{--accent:var(--accent-default);--accent-active:var(--accent-default);--accent-default:var(--color-white-400);--accent-hover:var(--accent-default);--accent-pressed:var(--accent-default);--height:var(--size);--opacity:var(--opacity-default);--opacity-active:var(--opacity-default);--opacity-default:1;--opacity-hover:var(--opacity-default);--opacity-pressed:var(--opacity-default);--rotate:0deg;--scale:var(--scale-default);--scale-active:var(--scale-default);--scale-default:1;--scale-hover:var(--scale-default);--scale-pressed:var(--scale-default);--size:var(--size-600);--width-switch:40px}.field-mask--checkbox:before,.field-mask--radio:before,.field-mask--switch:before{--translateX:0px;--translateY:0px}.field-mask--checkbox label.field:not(.--active):not(.--active):hover,.field:not(label):not(.--active) .field-mask--checkbox:not(.--active):hover,.field-mask--radio label.field:not(.--active):not(.--active):hover,.field:not(label):not(.--active) .field-mask--radio:not(.--active):hover,.field-mask--switch label.field:not(.--active):not(.--active):hover,.field:not(label):not(.--active) .field-mask--switch:not(.--active):hover{--accent:var(--accent-hover);--opacity:var(--opacity-hover);--scale:var(--scale-hover)}.field-mask--checkbox label.field:not(.--active):not(.--active):active,.field:not(label):not(.--active) .field-mask--checkbox:not(.--active):active,.field-mask--radio label.field:not(.--active):not(.--active):active,.field:not(label):not(.--active) .field-mask--radio:not(.--active):active,.field-mask--switch label.field:not(.--active):not(.--active):active,.field:not(label):not(.--active) .field-mask--switch:not(.--active):active{--accent:var(--accent-pressed);--opacity:var(--opacity-pressed);--scale:var(--scale-pressed)}.field.--active .field-mask--checkbox,.field.--active .field-mask--radio,.field.--active .field-mask--switch{--accent:var(--accent-active);--opacity:var(--opacity-active);--scale:var(--scale-active)}.field-mask--checkbox,.field-mask--radio{--margin-horizontal:calc(var(--width-switch) - var(--width));--width:var(--height)}.field-mask--radio:before,.field-mask--switch:before{--box-shadow:0 1px 0 #00000029}.field-mask--checkbox{--border-radius:var(--border-radius-300);--rotate:45deg;--scale-active:1;--scale-default:0;--scale-hover:1.08;--scale-pressed:.98}.field-mask--checkbox:before{--box-shadow:1px 1px 0 #00000029;--border-width:5px;--height:110%;--translateX:108%;--translateY:8%;--width:50%}.field:not(.--active):not(:hover) .field-mask--checkbox:before{--translateY:100%}.field-mask--radio{--border-radius:var(--border-radius-circle);--opacity-active:1;--opacity-default:.4;--scale-active:.9;--scale-default:0;--scale-hover:.8;--scale-pressed:.7}.field-mask--radio:before{--height:calc((var(--size)/2) - (var(--border-width)*2));--translateX:50%;--translateY:50%;--width:var(--height)}.field-mask--switch{--border-radius:var(--border-radius-curved);--padding-horizontal:var(--border-width-400);--padding-vertical:var(--border-width-400);--width:var(--width-switch)}.field-mask--switch:before{--height:calc(var(--size) - (var(--border-width)*2) - (var(--padding-vertical)*2));--width:var(--height)}.field.--active .field-mask--switch:before{--translateX:calc(var(--width-switch) - (var(--border-width)*2) - var(--height) - (var(--padding-horizontal)*2))}.field-mask--input,.field-mask--select{--font-size:var(--font-size-400);--line-height:var(--line-height-400)}.field-mask--input{--size:var(--size-400)}.field-mask--select{--arrow-spacer:1px;--arrow-size:6px}.field-mask-arrow{--border-width:var(--border-width-500)}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;background:0 0;border:0;border-radius:0;margin:0;padding:0}button,button:active,button:focus,button:hover,input,input:active,input:focus,input:hover,select,select:active,select:focus,select:hover,textarea,textarea:active,textarea:focus,textarea:hover{outline:none}button:invalid,input:invalid,select:invalid,textarea:invalid{box-shadow:none}form{width:100%;margin:0;padding:0}label{cursor:pointer}.field{gap:var(--margin-vertical)var(--margin-horizontal);transition:background var(--transition-duration)ease-in-out,border-color var(--transition-duration)ease-in-out,box-shadow var(--transition-duration)ease-in-out,color var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out;width:var(--width);z-index:1;display:flex;position:relative}.field:not(.--active):hover{z-index:8}.field.--active{z-index:9}.field--optional{max-height:var(--max-height);opacity:0;pointer-events:none;transition:background var(--transition-duration)ease-in-out,border-color var(--transition-duration)ease-in-out,box-shadow var(--transition-duration)ease-in-out,color var(--transition-duration)ease-in-out,max-height var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out}.field.--active .field--optional{opacity:1;pointer-events:auto}.field-description,.field-error,.field-title{color:var(--color);font-size:var(--font-size);word-wrap:break-word;width:100%;position:relative}.field-description:empty,.field-error:empty,.field-title:empty{height:0;margin:0}.field-error{animation:.32s linear fieldError}@keyframes fieldError{0%{transform:translate(8px)}20%{transform:translate(-8px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}to{transform:translate(0)}}.field-mask:after{border-radius:inherit;box-shadow:var(--box-shadow);content:"";pointer-events:none;transition:box-shadow var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out,transform var(--transition-duration)ease-in-out;z-index:0;position:absolute;inset:0}.field-mask--flat:after{display:none}.field-mask--outline:before{box-shadow:0 0 0 var(--outline-width)var(--border-color);border-radius:var(--border-radius);content:"";opacity:var(--outline-opacity);pointer-events:none;transition:box-shadow var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out;z-index:0;position:absolute;inset:0}.field-required{background:var(--background);border-radius:var(--border-radius);height:var(--size);width:var(--size)}.field-tag--hidden{appearance:none;opacity:0;pointer-events:none;z-index:-1;width:0;height:0;position:absolute;top:0;left:0}.field-title{font-weight:var(--font-weight);z-index:1}.field-mask--checkbox,.field-mask--radio,.field-mask--switch{background:var(--background);border-color:var(--border-color);border-radius:var(--border-radius);border-style:var(--border-style);border-width:var(--border-width);flex:0 0 var(--width);height:var(--height);transition:background var(--transition-duration)ease-in-out,border-color var(--transition-duration)ease-in-out,box-shadow var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out,transform var(--transition-duration)ease-in-out;width:var(--width);position:relative}.field-mask--checkbox:invalid,.field-mask--checkbox:required,.field-mask--radio:invalid,.field-mask--radio:required,.field-mask--switch:invalid,.field-mask--switch:required{box-shadow:none}.field-mask--checkbox:before,.field-mask--radio:before,.field-mask--switch:before{box-shadow:var(--box-shadow);content:"";height:var(--height);opacity:var(--opacity);transform:translate(var(--translateX),var(--translateY))rotate(var(--rotate))scale(var(--scale));width:var(--width)}.field-mask--checkbox .field-tag,.field-mask--radio .field-tag,.field-mask--switch .field-tag{opacity:0;pointer-events:none;z-index:0;width:0;height:0;position:absolute;top:0;left:0}.field-mask--checkbox:before,.field-mask--radio:before{position:absolute;bottom:50%;right:50%}.field-mask--radio:before,.field-mask--switch:before{background:var(--accent);border-radius:inherit;transform-origin:50%}.field-mask--checkbox:before{border-bottom:var(--border-width)solid var(--accent);border-right:var(--border-width)solid var(--accent);transform-origin:0}.field-mask--switch:before{top:var(--padding-vertical);left:var(--padding-horizontal);position:absolute}.field-mask--input,.field-mask--select{background:var(--background);border:var(--border-width)var(--border-style)var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size);line-height:var(--line-height);flex-wrap:wrap;align-items:center;width:100%;display:flex;position:relative}.field-mask--input:invalid,.field-mask--input:required,.field-mask--select:invalid,.field-mask--select:required{box-shadow:none}.field-mask--input,.field-mask--input .field-tag,.field-mask--select,.field-mask--select .field-tag{color:var(--color)}.field-mask--input .field-tag,.field-mask--select .field-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field-mask--input{cursor:text;min-height:calc(var(--padding-vertical)*2 + var(--size))}.field-mask--input .field-tag{padding:var(--padding-vertical)var(--padding-horizontal);flex:auto;min-width:0}.field-mask--input .field-tag[type=number]{appearance:textfield}.field-mask--input textarea.field-tag{white-space:normal}.field-mask--select{cursor:pointer;padding:var(--padding-vertical)calc(var(--padding-horizontal)/1.5 + var(--arrow-size))var(--padding-vertical)var(--padding-horizontal)}.field-mask--select.--padding{padding-right:calc(var(--padding-horizontal)*1.5 + var(--arrow-size))}.field-mask-arrow{right:calc(var(--padding-horizontal) + var(--arrow-spacer));bottom:calc(50% + var(--arrow-spacer));border-color:var(--border-color);border-style:var(--border-style);border-width:0 var(--border-width)var(--border-width)0;content:"";height:var(--arrow-size);width:var(--arrow-size);position:absolute;transform:translateY(50%)rotate(45deg)}.field-text{padding-right:var(--padding-horizontal)}
2
+ /*$vite$:1*/
@@ -0,0 +1,135 @@
1
+ import { reactive } from '@esportsplus/reactivity';
2
+ import { html } from '@esportsplus/template';
3
+ import { omit } from '@esportsplus/utilities';
4
+ import form from '../../components/form/index.js';
5
+ import scrollbar from '../../components/scrollbar/index.js';
6
+ import root from '../../components/root/index.js';
7
+ import description from './description.js';
8
+ import error from './error.js';
9
+ import title from './title.js';
10
+ const FIELD_OMIT = [
11
+ 'content',
12
+ 'description',
13
+ 'effect',
14
+ 'mask',
15
+ 'name',
16
+ 'options', 'option',
17
+ 'required',
18
+ 'selected', 'scrollbar',
19
+ 'tag', 'text', 'title', 'tooltip'
20
+ ];
21
+ const TOOLTIP_OMIT = ['direction'];
22
+ function parse(keys, selected) {
23
+ let options = {};
24
+ for (let key of keys) {
25
+ options[key] = false;
26
+ }
27
+ options[selected] = true;
28
+ return {
29
+ options,
30
+ selected: selected || keys[0]
31
+ };
32
+ }
33
+ function template(data, state) {
34
+ data.scrollbar ??= {};
35
+ data.scrollbar.style = data.scrollbar.style || '--background-default: var(--color-black-400);';
36
+ data.tooltip ??= {};
37
+ data.tooltip.class = `tooltip-content--${data.tooltip?.direction || 's'} ${data.tooltip?.class || ''}`;
38
+ data.tooltip.direction ??= 's';
39
+ let { html: h, parent: { attributes: a } } = scrollbar({
40
+ attributes: data.scrollbar,
41
+ fixed: true
42
+ });
43
+ return html `
44
+ <div
45
+ class='tooltip-content --flex-column --width-full'
46
+ ${omit(data.tooltip, TOOLTIP_OMIT)}
47
+ >
48
+ <div
49
+ class='row --flex-column'
50
+ onclick='${(e) => {
51
+ let key = e?.target?.dataset?.key;
52
+ if (key === undefined) {
53
+ return;
54
+ }
55
+ state.options[key] = true;
56
+ state.options[state.selected] = false;
57
+ state.active = false;
58
+ state.selected = key;
59
+ if (data.effect) {
60
+ data.effect(key);
61
+ }
62
+ }}'
63
+ ${a}
64
+ >
65
+ ${Object.keys(data.options || {}).map((key) => html `
66
+ <div
67
+ class='
68
+ ${() => state.options[key] && '--active'}
69
+ link
70
+ --flex-vertical
71
+ '
72
+ data-key='${key}'
73
+ ${data.option}
74
+ >
75
+ <span class='--text-truncate'>
76
+ ${data.options[key]}
77
+ </span>
78
+ </div>
79
+ `)}
80
+ </div>
81
+
82
+ ${h}
83
+ </div>
84
+ `;
85
+ }
86
+ export default (data) => {
87
+ let state = reactive(Object.assign({
88
+ active: false,
89
+ error: '',
90
+ render: false,
91
+ }, parse(Object.keys(data.options || {}), data.selected)));
92
+ data.mask ??= {};
93
+ data.mask.onclick = () => {
94
+ state.render = true;
95
+ state.active = !state.active;
96
+ if (state.active) {
97
+ root.onclick.push(() => state.active = false);
98
+ }
99
+ };
100
+ data.tag ??= {};
101
+ data.tag.name = data.name;
102
+ data.tag.onclick = () => { };
103
+ data.tag.onrender = form.input.onrender(state);
104
+ data.tag.value = () => state.selected;
105
+ return html `
106
+ <div class='
107
+ ${() => state.active ? '--active' : ''}
108
+ field
109
+ tooltip
110
+ --flex-column
111
+ '
112
+ ${omit(data, FIELD_OMIT)}
113
+ >
114
+ ${title(data)}
115
+
116
+ <label
117
+ class='field-mask field-mask--select --flex-row --padding-400'
118
+ ${data.mask}
119
+ >
120
+ <input class='field-tag field-tag--hidden' ${data.tag}>
121
+
122
+ <div class='field-text' style='pointer-events: none' ${data.text}>
123
+ ${() => data.options[state.selected] || '-'}
124
+ </div>
125
+
126
+ <div class='field-mask-arrow'></div>
127
+
128
+ ${() => state.render && template(data, state)}
129
+ </label>
130
+
131
+ ${description(data)}
132
+ ${error(state)}
133
+ </div>
134
+ `;
135
+ };
@@ -0,0 +1,6 @@
1
+ import checkbox from './checkbox.js';
2
+ export default (data) => {
3
+ data.mask = data.mask || {};
4
+ data.mask.class = `field-mask--switch ${data.mask?.class || ''}`;
5
+ return checkbox(data);
6
+ };
@@ -0,0 +1,64 @@
1
+ import { reactive } from '@esportsplus/reactivity';
2
+ import { html } from '@esportsplus/template';
3
+ import { omit, pick } from '@esportsplus/utilities';
4
+ import form from '../../components/form/index.js';
5
+ import description from './description.js';
6
+ import error from './error.js';
7
+ import title from './title.js';
8
+ const FIELD_OMIT = [
9
+ 'content',
10
+ 'description',
11
+ 'mask',
12
+ 'name',
13
+ 'placeholder',
14
+ 'required',
15
+ 'tag', 'textarea', 'title', 'type',
16
+ 'value'
17
+ ];
18
+ const INPUT_PICK = ['name', 'placeholder', 'required', 'type', 'value'];
19
+ const TEXTAREA_PICK = ['name', 'placeholder'];
20
+ export default (data) => {
21
+ let state = reactive({
22
+ active: false,
23
+ error: ''
24
+ });
25
+ data.onfocusin = () => {
26
+ state.active = true;
27
+ };
28
+ data.onfocusout = () => {
29
+ state.active = false;
30
+ };
31
+ data.tag ??= {};
32
+ data.tag.class = `field-tag --padding-400 ${data.tag.class || ''}`;
33
+ data.tag.onrender = form.input.onrender(state);
34
+ data.type ??= 'string';
35
+ data.value ??= '';
36
+ return html `
37
+ <div
38
+ class='
39
+ ${() => state.active && '--active'}
40
+ field
41
+ --flex-column
42
+ '
43
+ ${omit(data, FIELD_OMIT)}
44
+ >
45
+ ${title(data)}
46
+
47
+ <label class='field-mask field-mask--input --flex-row' ${data.mask}>
48
+ ${data.textarea
49
+ ? html `
50
+ <textarea ${data.tag} ${pick(data, TEXTAREA_PICK)}>
51
+ ${data.value}
52
+ </textarea>
53
+ `
54
+ : html `
55
+ <input ${data.tag} ${pick(data, INPUT_PICK)}>
56
+ `}
57
+ ${data.content || ''}
58
+ </label>
59
+
60
+ ${description(data)}
61
+ ${error(state)}
62
+ </div>
63
+ `;
64
+ };
@@ -0,0 +1,5 @@
1
+ import text from './text.js';
2
+ export default (data) => {
3
+ data.textarea = true;
4
+ return text(data);
5
+ };
@@ -0,0 +1,21 @@
1
+ import { html } from '@esportsplus/template';
2
+ import tooltip from '../../components/tooltip/index.js';
3
+ export default (data) => {
4
+ if (!data?.title) {
5
+ return '';
6
+ }
7
+ return html `
8
+ <div class='field-title --flex-horizontal-space-between --flex-vertical'>
9
+ ${data.title}
10
+
11
+ ${data?.required && html `
12
+ <div
13
+ class='bubble --background-primary --margin-left'
14
+ ${tooltip.onhover().attributes}
15
+ >
16
+ <span class='tooltip-message tooltip-message--w'>Required</span>
17
+ </div>
18
+ `}
19
+ </div>
20
+ `;
21
+ };
@@ -0,0 +1,60 @@
1
+ import { html, svg } from '@esportsplus/template';
2
+ import './scss/index.scss';
3
+ function copy({ attributes, brand }) {
4
+ return html `
5
+ <div class='footer-copyright group-item --flex-center'>
6
+ <div
7
+ class='text --padding-vertical --padding-300 --text-300'
8
+ style='--color-default: var(--color-grey-500);'
9
+ ${attributes}
10
+ >
11
+ &copy; ${`${new Date().getFullYear()} ${brand}, All rights reserved`}
12
+ </div>
13
+ </div>
14
+ `;
15
+ }
16
+ export default ({ copyright, footer, nav, social }) => {
17
+ return html `
18
+ <footer class='footer' ${footer?.attributes}>
19
+ <div class='container'>
20
+ <div class='group group--offset-top --flex-center --margin-400'>
21
+
22
+ ${nav
23
+ ? nav.links.map(({ text, url }) => html `
24
+ <div class='group-item'>
25
+ <a
26
+ class='link --color-white --padding-vertical-300 --text-300'
27
+ href='${url}'
28
+ style='--color-default: var(--color-grey-500);'
29
+ ${nav.attributes}
30
+ >
31
+ ${text}
32
+ </a>
33
+ </div>
34
+ `)
35
+ : copy(copyright)}
36
+
37
+ <div class='footer-break'></div>
38
+
39
+ ${social?.links && social.links.map(({ icon, url }) => html `
40
+ <div class='group-item'>
41
+ <a
42
+ class='link --color-white --padding-0px'
43
+ href='${url}'
44
+ style='--color-default: var(--color-grey-500);'
45
+ ${social.attributes}
46
+ >
47
+ <div class='icon --size-500'>
48
+ ${svg.sprite(icon)}
49
+ </div>
50
+ </a>
51
+ </div>
52
+ `)}
53
+
54
+ ${nav && copy(copyright)}
55
+
56
+ </div>
57
+ </div>
58
+ </footer>
59
+ `;
60
+ };
@@ -0,0 +1,2 @@
1
+ .footer,.footer-break{width:100%}@media (max-width:640px){.footer-copyright:first-child{--width:100%}}@media (min-width:640px){.footer-copyright:first-child{margin-right:auto}}.footer-copyright:first-child+.footer-break{display:none}.footer-copyright:last-child{--width:100%}
2
+ /*$vite$:1*/
@@ -0,0 +1,57 @@
1
+ import response from '@esportsplus/action';
2
+ import input from './input.js';
3
+ function parse(input) {
4
+ let data = {};
5
+ for (let [path, value] of input) {
6
+ let bucket = data, segments = path.indexOf('.') !== -1 ? path.split('.') : [path];
7
+ for (let i = 0; i < segments.length - 1; i++) {
8
+ bucket = bucket[segments[i]] = bucket[segments[i]] || {};
9
+ }
10
+ let key = segments.at(-1);
11
+ if (path.endsWith('[]')) {
12
+ if (typeof value === 'string' && value.trim() === '') {
13
+ continue;
14
+ }
15
+ bucket = bucket[key.substring(0, key.length - 2)] ??= [];
16
+ bucket.push(value);
17
+ }
18
+ else {
19
+ bucket[key] = value;
20
+ }
21
+ }
22
+ return data;
23
+ }
24
+ ;
25
+ export default function (action, s) {
26
+ return {
27
+ onclick: function (event) {
28
+ let trigger = event.target;
29
+ if (trigger?.type !== 'submit') {
30
+ return;
31
+ }
32
+ event.preventDefault();
33
+ this.dispatchEvent(new SubmitEvent('submit', { cancelable: true, bubbles: true, submitter: trigger }));
34
+ },
35
+ onsubmit: async function (event) {
36
+ event.preventDefault();
37
+ if (s) {
38
+ s.processing = true;
39
+ }
40
+ let { errors } = await action({
41
+ input: parse(new FormData(this).entries()),
42
+ response
43
+ });
44
+ for (let i = 0, n = errors.length; i < n; i++) {
45
+ let { message, path } = errors[i], reactive = input.get(this[path]);
46
+ if (!reactive) {
47
+ continue;
48
+ }
49
+ reactive.error = `${message[0].toUpperCase()}${message.substring(1)}`;
50
+ }
51
+ if (s) {
52
+ s.processing = false;
53
+ }
54
+ }
55
+ };
56
+ }
57
+ ;
@@ -0,0 +1,3 @@
1
+ import action from './action.js';
2
+ import input from './input.js';
3
+ export default { action, input };
@@ -0,0 +1,10 @@
1
+ let key = Symbol();
2
+ const get = (element) => {
3
+ return element ? element[key] : undefined;
4
+ };
5
+ const onrender = (reactive) => {
6
+ return (element) => {
7
+ element[key] = reactive;
8
+ };
9
+ };
10
+ export default { get, onrender };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import './scss/index.scss';
@@ -0,0 +1,2 @@
1
+ .frame{flex-wrap:wrap;justify-content:flex-start;width:100%;display:none;position:relative}.frame.--active{display:flex}
2
+ /*$vite$:1*/
@@ -0,0 +1 @@
1
+ import './scss/index.scss';
@@ -0,0 +1,2 @@
1
+ .grid{--margin-horizontal:var(--size-400);--margin-vertical:var(--size-400);--max-width:1fr;--min-width:200px;grid-gap:var(--margin-horizontal)var(--margin-vertical);grid-template-columns:repeat(auto-fit,minmax(var(--min-width),var(--max-width)));display:grid;position:relative}.grid .grid-item{width:100%}
2
+ /*$vite$:1*/
@@ -0,0 +1 @@
1
+ import './scss/index.scss';
@@ -0,0 +1,2 @@
1
+ .group{--margin-horizontal:var(--size-400);--width:auto}.group.--flex-column .group-item{--width:100%}.group--scroller .group-item{--margin-vertical:0px}.group{margin:0 calc(var(--margin-horizontal)/-2);width:calc(100% + var(--margin-horizontal));flex-wrap:wrap;justify-content:flex-start;display:flex;position:relative}.group--offset-bottom{margin-bottom:calc(var(--margin-vertical)*-1)}.group--offset-top{margin-top:calc(var(--margin-vertical)*-1)}.group--scroller{margin-bottom:calc(var(--scrollbar-width)*-1);padding-bottom:var(--scrollbar-width);flex-flow:row;overflow-y:hidden}.group-item{margin:var(--margin-vertical)calc(var(--margin-horizontal)/2)0;width:var(--width);display:flex;position:relative}.group-item[class*=--width]{width:calc(var(--width) - var(--margin-horizontal))}
2
+ /*$vite$:1*/
@@ -0,0 +1,40 @@
1
+ import { reactive } from '@esportsplus/reactivity';
2
+ import './scss/index.scss';
3
+ let key = Symbol(), observer = null;
4
+ export default (background) => {
5
+ if (observer === null) {
6
+ observer = new IntersectionObserver((entries) => {
7
+ let disconnected = 0, n = entries.length;
8
+ for (let i = 0; i < n; i++) {
9
+ let { isIntersecting, target } = entries[i];
10
+ if (target.isConnected) {
11
+ target[key].highlight = +isIntersecting;
12
+ }
13
+ else {
14
+ disconnected++;
15
+ observer.unobserve(target);
16
+ }
17
+ }
18
+ if (n - disconnected === 0) {
19
+ observer.disconnect();
20
+ observer = null;
21
+ }
22
+ }, { threshold: 1 });
23
+ }
24
+ let state = reactive({
25
+ highlight: 0
26
+ });
27
+ return {
28
+ attributes: {
29
+ class: 'highlight',
30
+ onrender: function (element) {
31
+ element[key] = state;
32
+ observer.observe(element);
33
+ },
34
+ style: [
35
+ () => `--highlight: ${state.highlight}`,
36
+ `--background: ${background}`,
37
+ ]
38
+ }
39
+ };
40
+ };
@@ -0,0 +1,2 @@
1
+ .highlight{--background:transparent;--highlight:1;background:linear-gradient(90deg,var(--background)50%,transparent 50%)110% 0/200% 100% no-repeat;background-position:calc((1 - var(--highlight))*110%)0;transition:background-position .32s}
2
+ /*$vite$:1*/
@@ -0,0 +1 @@
1
+ import './scss/index.scss';
@@ -0,0 +1,2 @@
1
+ .icon{--color:inherit;--height:var(--size);--margin-horizontal:var(--size-300);--size:var(--size-400);--width:var(--size);color:var(--color);flex:0 0 var(--width);height:var(--height);width:var(--width);display:flex;position:relative}.icon svg{color:currentColor;fill:currentColor;width:100%;height:100%}
2
+ /*$vite$:1*/
@@ -0,0 +1,38 @@
1
+ export * as accordion from './accordion/index.js';
2
+ export * as anchor from './anchor/index.js';
3
+ export * as banner from './banner/index.js';
4
+ export * as border from './border/index.js';
5
+ export * as bubble from './bubble/index.js';
6
+ export * as button from './button/index.js';
7
+ export * as card from './card/index.js';
8
+ export * as clipboard from './clipboard/index.js';
9
+ export * as container from './container/index.js';
10
+ export * as counter from './counter/index.js';
11
+ export * as ellipsis from './ellipsis/index.js';
12
+ export * as field from './field/index.js';
13
+ export * as footer from './footer/index.js';
14
+ export * as form from './form/index.js';
15
+ export * as frame from './frame/index.js';
16
+ export * as grid from './grid/index.js';
17
+ export * as group from './group/index.js';
18
+ export * as highlight from './highlight/index.js';
19
+ export * as icon from './icon/index.js';
20
+ export * as json from './json/index.js';
21
+ export * as link from './link/index.js';
22
+ export * as loader from './loader/index.js';
23
+ export * as loading from './loading/index.js';
24
+ export * as magnet from './magnet/index.js';
25
+ export * as modal from './modal/index.js';
26
+ export * as normalize from './normalize/index.js';
27
+ export * as number from './number/index.js';
28
+ export * as page from './page/index.js';
29
+ export * as root from './root/index.js';
30
+ export * as row from './row/index.js';
31
+ export * as scrollbar from './scrollbar/index.js';
32
+ export * as sidebar from './sidebar/index.js';
33
+ export * as site from './site/index.js';
34
+ export * as text from './text/index.js';
35
+ export * as thumbnail from './thumbnail/index.js';
36
+ export * as tooltip from './tooltip/index.js';
37
+ export * as truncate from './truncate/index.js';
38
+ export * as typewriter from './typewriter/index.js';
@@ -0,0 +1,8 @@
1
+ export default (content, name) => {
2
+ let link = document.createElement('a');
3
+ link.download = name + '.json';
4
+ link.href = window.URL.createObjectURL(new Blob([JSON.stringify(content)], { type: 'application/json' }));
5
+ document.body.appendChild(link);
6
+ link.click();
7
+ document.body.removeChild(link);
8
+ };
@@ -0,0 +1,2 @@
1
+ import download from './download.js';
2
+ export default { download };
@@ -0,0 +1,17 @@
1
+ import { html } from '@esportsplus/template';
2
+ export default ({ attributes, content }) => {
3
+ return {
4
+ attributes: {
5
+ class: 'link--hover'
6
+ },
7
+ html: html `
8
+ <span class='link-hover link-hover--one' ${attributes}>
9
+ ${content}
10
+ </span>
11
+
12
+ <span class='link-hover link-hover--two' ${attributes}>
13
+ ${content}
14
+ </span>
15
+ `
16
+ };
17
+ };
@@ -0,0 +1,3 @@
1
+ import hover from './hover.js';
2
+ import './scss/index.scss';
3
+ export default { hover };
@@ -0,0 +1,2 @@
1
+ .link{--background:var(--background-default);--background-active:var(--background-default);--background-default:transparent;--background-hover:var(--background-default);--background-pressed:var(--background-default);--border-color:var(--border-color-default);--border-color-active:var(--border-color-default);--border-color-default:var(--background);--border-color-hover:var(--border-color-default);--border-color-pressed:var(--border-color-default);--border-radius:var(--border-radius-400);--border-width:0px;--color:var(--color-default);--color-active:var(--color-default);--color-default:var(--color-text-400);--color-hover:var(--color-default);--color-pressed:var(--color-default);--font-size:var(--font-size-400);--font-weight:var(--font-weight-500);--line-height:var(--line-height-400);--padding-horizontal:0px;--padding-vertical:var(--size-400);--width:auto}.link.--active{--background:var(--background-active);--border-color:var(--border-color-active);--color:var(--color-active)}.link:not(.--active):hover{--background:var(--background-hover);--border-color:var(--border-color-hover);--color:var(--color-hover)}.link:not(.--active):active{--background:var(--background-pressed);--border-color:var(--border-color-pressed);--color:var(--color-pressed)}.link{background:var(--background);color:var(--color);cursor:pointer;font-size:var(--font-size);line-height:var(--line-height);padding:calc(var(--padding-vertical) - var(--border-width))calc(var(--padding-horizontal) - var(--border-width));transition:background var(--transition-duration)ease-in-out,border-color var(--transition-duration)ease-in-out,color var(--transition-duration)ease-in-out,opacity var(--transition-duration)ease-in-out;width:var(--width);flex-wrap:wrap;place-content:center flex-start;display:flex;position:relative}.link--hover.tooltip:hover .link-hover--one,.link--hover:not(.--active):hover .link-hover--one{opacity:0;transform:translateY(-75%)}.link--hover.tooltip:hover .link-hover--two,.link--hover:not(.--active):hover .link-hover--two{opacity:1;transform:translate(50%,50%)}.link--underline.--active,.link--underline:not(.--active):hover{text-decoration:underline}.link-hover{transition:opacity .3s ease-in-out,all .3s cubic-bezier(.23,.65,.74,1.09)}.link-hover--one{transform:translateY(0)}.link-hover--two{opacity:0;padding:0 var(--padding-horizontal);white-space:nowrap;position:absolute;bottom:50%;right:50%;transform:translate(50%,125%)}
2
+ /*$vite$:1*/
@@ -0,0 +1,39 @@
1
+ import { html } from '@esportsplus/template';
2
+ import { reactive } from '@esportsplus/reactivity';
3
+ import './scss/index.scss';
4
+ export default ({ attributes, content }) => {
5
+ let state = reactive({
6
+ load: false,
7
+ scale: false
8
+ });
9
+ setTimeout(() => {
10
+ state.scale = true;
11
+ }, 300);
12
+ return html `
13
+ <div class='loader ${() => state.load && 'loader--load'}'>
14
+ <div class='loader ${() => state.load && 'loader--load'}'>
15
+ <div class='loader-content'>
16
+ <div
17
+ class='
18
+ ${() => state.scale && 'loader-logo--scale'}
19
+ loader-logo
20
+ text
21
+ --flex-center
22
+ --text-uppercase
23
+ --text-600
24
+ '
25
+ style='color: var(--color-grey-500);'
26
+ onanimationend='${({ animationName: name }) => {
27
+ if (name === 'scale') {
28
+ state.load = true;
29
+ }
30
+ }}'
31
+ ${attributes}
32
+ >
33
+ ${content}
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ `;
39
+ };
@@ -0,0 +1,2 @@
1
+ .loader-logo{--size:10svh;--translateY:8px}.loader{background-color:var(--color-black-500);opacity:1;pointer-events:none;visibility:visible;z-index:9999;transition:all .3s ease-in-out;position:fixed;inset:0}.loader--load{animation:.6s ease-in-out .2s both move}.loader--load .loader--load{animation:.6s ease-in-out both move}@keyframes move{0%{transform:translateY(0)}80%{transform:translateY(-102%)}to{transform:translateY(-102%)}}.loader .loader{background-color:var(--color-black-400)}.loader-content{position:absolute;inset:50% auto auto 50%;transform:translate(-50%)translateY(-50%)}.loader-logo{color:#fff}.loader-logo--scale{animation:.32s both scale}@keyframes scale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale3d(1.8,1.8,1.8)}}
2
+ /*$vite$:1*/
@@ -0,0 +1,12 @@
1
+ import { html } from '@esportsplus/template';
2
+ import './scss/index.scss';
3
+ export default (attributes) => {
4
+ return html `
5
+ <div
6
+ class='loading --border-width-700 --size-800'
7
+ style='--border-color: var(--color-border-500);'
8
+ ${attributes}
9
+ >
10
+ </div>
11
+ `;
12
+ };
@@ -0,0 +1,2 @@
1
+ .loading{--animation-duration:.64s;--border-color:var(--color);--border-width:var(--border-width-400);--size:var(--size-400);animation:loading var(--animation-duration)linear infinite;border:var(--border-width)solid color-mix(in srgb,var(--border-color),transparent 90%);border-left-color:var(--border-color);height:var(--size);width:var(--size);border-radius:100%}@keyframes loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
2
+ /*$vite$:1*/