@loadspark/core 0.0.1

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 (445) hide show
  1. package/LICENSE.md +71 -0
  2. package/README.md +628 -0
  3. package/dist/access/accessors.d.ts +22 -0
  4. package/dist/access/accessors.d.ts.map +1 -0
  5. package/dist/access/accessors.js +20 -0
  6. package/dist/access/accessors.js.map +1 -0
  7. package/dist/access/builders.d.ts +4 -0
  8. package/dist/access/builders.d.ts.map +1 -0
  9. package/dist/access/builders.js +26 -0
  10. package/dist/access/builders.js.map +1 -0
  11. package/dist/access/index.d.ts +4 -0
  12. package/dist/access/index.d.ts.map +1 -0
  13. package/dist/access/index.js +5 -0
  14. package/dist/access/index.js.map +1 -0
  15. package/dist/access/roles.d.ts +38 -0
  16. package/dist/access/roles.d.ts.map +1 -0
  17. package/dist/access/roles.js +33 -0
  18. package/dist/access/roles.js.map +1 -0
  19. package/dist/collections/users/access.d.ts +30 -0
  20. package/dist/collections/users/access.d.ts.map +1 -0
  21. package/dist/collections/users/access.js +96 -0
  22. package/dist/collections/users/access.js.map +1 -0
  23. package/dist/collections/users/config.d.ts +9 -0
  24. package/dist/collections/users/config.d.ts.map +1 -0
  25. package/dist/collections/users/config.js +55 -0
  26. package/dist/collections/users/config.js.map +1 -0
  27. package/dist/collections/users/fields.d.ts +4 -0
  28. package/dist/collections/users/fields.d.ts.map +1 -0
  29. package/dist/collections/users/fields.js +97 -0
  30. package/dist/collections/users/fields.js.map +1 -0
  31. package/dist/collections/users/hooks.d.ts +25 -0
  32. package/dist/collections/users/hooks.d.ts.map +1 -0
  33. package/dist/collections/users/hooks.js +50 -0
  34. package/dist/collections/users/hooks.js.map +1 -0
  35. package/dist/collections/users/types.d.ts +18 -0
  36. package/dist/collections/users/types.d.ts.map +1 -0
  37. package/dist/collections/users/types.js +8 -0
  38. package/dist/collections/users/types.js.map +1 -0
  39. package/dist/constants.d.ts +45 -0
  40. package/dist/constants.d.ts.map +1 -0
  41. package/dist/constants.js +46 -0
  42. package/dist/constants.js.map +1 -0
  43. package/dist/exports/access/index.d.ts +2 -0
  44. package/dist/exports/access/index.d.ts.map +1 -0
  45. package/dist/exports/access/index.js +3 -0
  46. package/dist/exports/access/index.js.map +1 -0
  47. package/dist/exports/fields/AlertBox/client.d.ts +2 -0
  48. package/dist/exports/fields/AlertBox/client.d.ts.map +1 -0
  49. package/dist/exports/fields/AlertBox/client.js +3 -0
  50. package/dist/exports/fields/AlertBox/client.js.map +1 -0
  51. package/dist/exports/fields/AlertBox/index.d.ts +2 -0
  52. package/dist/exports/fields/AlertBox/index.d.ts.map +1 -0
  53. package/dist/exports/fields/AlertBox/index.js +3 -0
  54. package/dist/exports/fields/AlertBox/index.js.map +1 -0
  55. package/dist/exports/fields/ColourText/client.d.ts +2 -0
  56. package/dist/exports/fields/ColourText/client.d.ts.map +1 -0
  57. package/dist/exports/fields/ColourText/client.js +3 -0
  58. package/dist/exports/fields/ColourText/client.js.map +1 -0
  59. package/dist/exports/fields/ColourText/index.d.ts +2 -0
  60. package/dist/exports/fields/ColourText/index.d.ts.map +1 -0
  61. package/dist/exports/fields/ColourText/index.js +3 -0
  62. package/dist/exports/fields/ColourText/index.js.map +1 -0
  63. package/dist/exports/fields/Combo/client.d.ts +2 -0
  64. package/dist/exports/fields/Combo/client.d.ts.map +1 -0
  65. package/dist/exports/fields/Combo/client.js +3 -0
  66. package/dist/exports/fields/Combo/client.js.map +1 -0
  67. package/dist/exports/fields/Combo/index.d.ts +2 -0
  68. package/dist/exports/fields/Combo/index.d.ts.map +1 -0
  69. package/dist/exports/fields/Combo/index.js +3 -0
  70. package/dist/exports/fields/Combo/index.js.map +1 -0
  71. package/dist/exports/fields/Countries/index.d.ts +2 -0
  72. package/dist/exports/fields/Countries/index.d.ts.map +1 -0
  73. package/dist/exports/fields/Countries/index.js +3 -0
  74. package/dist/exports/fields/Countries/index.js.map +1 -0
  75. package/dist/exports/fields/Number/client.d.ts +2 -0
  76. package/dist/exports/fields/Number/client.d.ts.map +1 -0
  77. package/dist/exports/fields/Number/client.js +3 -0
  78. package/dist/exports/fields/Number/client.js.map +1 -0
  79. package/dist/exports/fields/Number/index.d.ts +2 -0
  80. package/dist/exports/fields/Number/index.d.ts.map +1 -0
  81. package/dist/exports/fields/Number/index.js +3 -0
  82. package/dist/exports/fields/Number/index.js.map +1 -0
  83. package/dist/exports/fields/OpeningHours/client.d.ts +2 -0
  84. package/dist/exports/fields/OpeningHours/client.d.ts.map +1 -0
  85. package/dist/exports/fields/OpeningHours/client.js +3 -0
  86. package/dist/exports/fields/OpeningHours/client.js.map +1 -0
  87. package/dist/exports/fields/OpeningHours/index.d.ts +2 -0
  88. package/dist/exports/fields/OpeningHours/index.d.ts.map +1 -0
  89. package/dist/exports/fields/OpeningHours/index.js +3 -0
  90. package/dist/exports/fields/OpeningHours/index.js.map +1 -0
  91. package/dist/exports/fields/Pattern/client.d.ts +2 -0
  92. package/dist/exports/fields/Pattern/client.d.ts.map +1 -0
  93. package/dist/exports/fields/Pattern/client.js +3 -0
  94. package/dist/exports/fields/Pattern/client.js.map +1 -0
  95. package/dist/exports/fields/Pattern/index.d.ts +2 -0
  96. package/dist/exports/fields/Pattern/index.d.ts.map +1 -0
  97. package/dist/exports/fields/Pattern/index.js +3 -0
  98. package/dist/exports/fields/Pattern/index.js.map +1 -0
  99. package/dist/exports/fields/Range/client.d.ts +2 -0
  100. package/dist/exports/fields/Range/client.d.ts.map +1 -0
  101. package/dist/exports/fields/Range/client.js +3 -0
  102. package/dist/exports/fields/Range/client.js.map +1 -0
  103. package/dist/exports/fields/Range/index.d.ts +2 -0
  104. package/dist/exports/fields/Range/index.d.ts.map +1 -0
  105. package/dist/exports/fields/Range/index.js +3 -0
  106. package/dist/exports/fields/Range/index.js.map +1 -0
  107. package/dist/exports/fields/Telephone/client.d.ts +2 -0
  108. package/dist/exports/fields/Telephone/client.d.ts.map +1 -0
  109. package/dist/exports/fields/Telephone/client.js +3 -0
  110. package/dist/exports/fields/Telephone/client.js.map +1 -0
  111. package/dist/exports/fields/Telephone/index.d.ts +2 -0
  112. package/dist/exports/fields/Telephone/index.d.ts.map +1 -0
  113. package/dist/exports/fields/Telephone/index.js +3 -0
  114. package/dist/exports/fields/Telephone/index.js.map +1 -0
  115. package/dist/exports/fields/client.d.ts +2 -0
  116. package/dist/exports/fields/client.d.ts.map +1 -0
  117. package/dist/exports/fields/client.js +2 -0
  118. package/dist/exports/fields/client.js.map +1 -0
  119. package/dist/exports/fields/index.d.ts +10 -0
  120. package/dist/exports/fields/index.d.ts.map +1 -0
  121. package/dist/exports/fields/index.js +11 -0
  122. package/dist/exports/fields/index.js.map +1 -0
  123. package/dist/exports/translations/index.d.ts +2 -0
  124. package/dist/exports/translations/index.d.ts.map +1 -0
  125. package/dist/exports/translations/index.js +3 -0
  126. package/dist/exports/translations/index.js.map +1 -0
  127. package/dist/exports/users/index.d.ts +4 -0
  128. package/dist/exports/users/index.d.ts.map +1 -0
  129. package/dist/exports/users/index.js +5 -0
  130. package/dist/exports/users/index.js.map +1 -0
  131. package/dist/exports/validations/index.d.ts +4 -0
  132. package/dist/exports/validations/index.d.ts.map +1 -0
  133. package/dist/exports/validations/index.js +5 -0
  134. package/dist/exports/validations/index.js.map +1 -0
  135. package/dist/fields/AlertBox/Component.d.ts +14 -0
  136. package/dist/fields/AlertBox/Component.d.ts.map +1 -0
  137. package/dist/fields/AlertBox/Component.js +32 -0
  138. package/dist/fields/AlertBox/Component.js.map +1 -0
  139. package/dist/fields/AlertBox/icons/AlertIcon.d.ts +3 -0
  140. package/dist/fields/AlertBox/icons/AlertIcon.d.ts.map +1 -0
  141. package/dist/fields/AlertBox/icons/AlertIcon.js +27 -0
  142. package/dist/fields/AlertBox/icons/AlertIcon.js.map +1 -0
  143. package/dist/fields/AlertBox/icons/ErrorIcon.d.ts +3 -0
  144. package/dist/fields/AlertBox/icons/ErrorIcon.d.ts.map +1 -0
  145. package/dist/fields/AlertBox/icons/ErrorIcon.js +35 -0
  146. package/dist/fields/AlertBox/icons/ErrorIcon.js.map +1 -0
  147. package/dist/fields/AlertBox/icons/InfoIcon.d.ts +3 -0
  148. package/dist/fields/AlertBox/icons/InfoIcon.d.ts.map +1 -0
  149. package/dist/fields/AlertBox/icons/InfoIcon.js +29 -0
  150. package/dist/fields/AlertBox/icons/InfoIcon.js.map +1 -0
  151. package/dist/fields/AlertBox/index.d.ts +76 -0
  152. package/dist/fields/AlertBox/index.d.ts.map +1 -0
  153. package/dist/fields/AlertBox/index.js +64 -0
  154. package/dist/fields/AlertBox/index.js.map +1 -0
  155. package/dist/fields/AlertBox/styles.css +42 -0
  156. package/dist/fields/ColourText/Component.d.ts +8 -0
  157. package/dist/fields/ColourText/Component.d.ts.map +1 -0
  158. package/dist/fields/ColourText/Component.js +102 -0
  159. package/dist/fields/ColourText/Component.js.map +1 -0
  160. package/dist/fields/ColourText/index.d.ts +35 -0
  161. package/dist/fields/ColourText/index.d.ts.map +1 -0
  162. package/dist/fields/ColourText/index.js +41 -0
  163. package/dist/fields/ColourText/index.js.map +1 -0
  164. package/dist/fields/ColourText/styles.css +21 -0
  165. package/dist/fields/ColourText/validate.d.ts +3 -0
  166. package/dist/fields/ColourText/validate.d.ts.map +1 -0
  167. package/dist/fields/ColourText/validate.js +30 -0
  168. package/dist/fields/ColourText/validate.js.map +1 -0
  169. package/dist/fields/Combo/Component.d.ts +16 -0
  170. package/dist/fields/Combo/Component.d.ts.map +1 -0
  171. package/dist/fields/Combo/Component.js +105 -0
  172. package/dist/fields/Combo/Component.js.map +1 -0
  173. package/dist/fields/Combo/beforeValidate.d.ts +4 -0
  174. package/dist/fields/Combo/beforeValidate.d.ts.map +1 -0
  175. package/dist/fields/Combo/beforeValidate.js +30 -0
  176. package/dist/fields/Combo/beforeValidate.js.map +1 -0
  177. package/dist/fields/Combo/index.d.ts +58 -0
  178. package/dist/fields/Combo/index.d.ts.map +1 -0
  179. package/dist/fields/Combo/index.js +74 -0
  180. package/dist/fields/Combo/index.js.map +1 -0
  181. package/dist/fields/Countries/index.d.ts +49 -0
  182. package/dist/fields/Countries/index.d.ts.map +1 -0
  183. package/dist/fields/Countries/index.js +59 -0
  184. package/dist/fields/Countries/index.js.map +1 -0
  185. package/dist/fields/Number/Component.d.ts +14 -0
  186. package/dist/fields/Number/Component.d.ts.map +1 -0
  187. package/dist/fields/Number/Component.js +108 -0
  188. package/dist/fields/Number/Component.js.map +1 -0
  189. package/dist/fields/Number/index.d.ts +64 -0
  190. package/dist/fields/Number/index.d.ts.map +1 -0
  191. package/dist/fields/Number/index.js +66 -0
  192. package/dist/fields/Number/index.js.map +1 -0
  193. package/dist/fields/Number/styles.css +0 -0
  194. package/dist/fields/OpeningHours/Component.d.ts +7 -0
  195. package/dist/fields/OpeningHours/Component.d.ts.map +1 -0
  196. package/dist/fields/OpeningHours/Component.js +161 -0
  197. package/dist/fields/OpeningHours/Component.js.map +1 -0
  198. package/dist/fields/OpeningHours/index.d.ts +51 -0
  199. package/dist/fields/OpeningHours/index.d.ts.map +1 -0
  200. package/dist/fields/OpeningHours/index.js +49 -0
  201. package/dist/fields/OpeningHours/index.js.map +1 -0
  202. package/dist/fields/OpeningHours/styles.css +124 -0
  203. package/dist/fields/OpeningHours/validate.d.ts +3 -0
  204. package/dist/fields/OpeningHours/validate.d.ts.map +1 -0
  205. package/dist/fields/OpeningHours/validate.js +39 -0
  206. package/dist/fields/OpeningHours/validate.js.map +1 -0
  207. package/dist/fields/Pattern/Component.d.ts +14 -0
  208. package/dist/fields/Pattern/Component.d.ts.map +1 -0
  209. package/dist/fields/Pattern/Component.js +88 -0
  210. package/dist/fields/Pattern/Component.js.map +1 -0
  211. package/dist/fields/Pattern/index.d.ts +59 -0
  212. package/dist/fields/Pattern/index.d.ts.map +1 -0
  213. package/dist/fields/Pattern/index.js +55 -0
  214. package/dist/fields/Pattern/index.js.map +1 -0
  215. package/dist/fields/Pattern/styles.css +34 -0
  216. package/dist/fields/Range/Component.d.ts +13 -0
  217. package/dist/fields/Range/Component.d.ts.map +1 -0
  218. package/dist/fields/Range/Component.js +138 -0
  219. package/dist/fields/Range/Component.js.map +1 -0
  220. package/dist/fields/Range/index.d.ts +82 -0
  221. package/dist/fields/Range/index.d.ts.map +1 -0
  222. package/dist/fields/Range/index.js +63 -0
  223. package/dist/fields/Range/index.js.map +1 -0
  224. package/dist/fields/Range/range.scss +138 -0
  225. package/dist/fields/Range/types.d.ts +5 -0
  226. package/dist/fields/Range/types.d.ts.map +1 -0
  227. package/dist/fields/Range/types.js +3 -0
  228. package/dist/fields/Range/types.js.map +1 -0
  229. package/dist/fields/Telephone/Component.d.ts +13 -0
  230. package/dist/fields/Telephone/Component.d.ts.map +1 -0
  231. package/dist/fields/Telephone/Component.js +92 -0
  232. package/dist/fields/Telephone/Component.js.map +1 -0
  233. package/dist/fields/Telephone/index.d.ts +99 -0
  234. package/dist/fields/Telephone/index.d.ts.map +1 -0
  235. package/dist/fields/Telephone/index.js +59 -0
  236. package/dist/fields/Telephone/index.js.map +1 -0
  237. package/dist/fields/Telephone/validate.d.ts +3 -0
  238. package/dist/fields/Telephone/validate.d.ts.map +1 -0
  239. package/dist/fields/Telephone/validate.js +13 -0
  240. package/dist/fields/Telephone/validate.js.map +1 -0
  241. package/dist/index.d.ts +10 -0
  242. package/dist/index.d.ts.map +1 -0
  243. package/dist/index.js +35 -0
  244. package/dist/index.js.map +1 -0
  245. package/dist/translations/index.d.ts +6 -0
  246. package/dist/translations/index.d.ts.map +1 -0
  247. package/dist/translations/index.js +92 -0
  248. package/dist/translations/index.js.map +1 -0
  249. package/dist/translations/languages/ar.d.ts +576 -0
  250. package/dist/translations/languages/ar.d.ts.map +1 -0
  251. package/dist/translations/languages/ar.js +329 -0
  252. package/dist/translations/languages/ar.js.map +1 -0
  253. package/dist/translations/languages/az.d.ts +576 -0
  254. package/dist/translations/languages/az.d.ts.map +1 -0
  255. package/dist/translations/languages/az.js +329 -0
  256. package/dist/translations/languages/az.js.map +1 -0
  257. package/dist/translations/languages/bg.d.ts +576 -0
  258. package/dist/translations/languages/bg.d.ts.map +1 -0
  259. package/dist/translations/languages/bg.js +329 -0
  260. package/dist/translations/languages/bg.js.map +1 -0
  261. package/dist/translations/languages/bnBd.d.ts +576 -0
  262. package/dist/translations/languages/bnBd.d.ts.map +1 -0
  263. package/dist/translations/languages/bnBd.js +329 -0
  264. package/dist/translations/languages/bnBd.js.map +1 -0
  265. package/dist/translations/languages/bnIn.d.ts +576 -0
  266. package/dist/translations/languages/bnIn.d.ts.map +1 -0
  267. package/dist/translations/languages/bnIn.js +329 -0
  268. package/dist/translations/languages/bnIn.js.map +1 -0
  269. package/dist/translations/languages/ca.d.ts +576 -0
  270. package/dist/translations/languages/ca.d.ts.map +1 -0
  271. package/dist/translations/languages/ca.js +329 -0
  272. package/dist/translations/languages/ca.js.map +1 -0
  273. package/dist/translations/languages/cs.d.ts +576 -0
  274. package/dist/translations/languages/cs.d.ts.map +1 -0
  275. package/dist/translations/languages/cs.js +329 -0
  276. package/dist/translations/languages/cs.js.map +1 -0
  277. package/dist/translations/languages/da.d.ts +576 -0
  278. package/dist/translations/languages/da.d.ts.map +1 -0
  279. package/dist/translations/languages/da.js +329 -0
  280. package/dist/translations/languages/da.js.map +1 -0
  281. package/dist/translations/languages/de.d.ts +576 -0
  282. package/dist/translations/languages/de.d.ts.map +1 -0
  283. package/dist/translations/languages/de.js +329 -0
  284. package/dist/translations/languages/de.js.map +1 -0
  285. package/dist/translations/languages/en.d.ts +576 -0
  286. package/dist/translations/languages/en.d.ts.map +1 -0
  287. package/dist/translations/languages/en.js +329 -0
  288. package/dist/translations/languages/en.js.map +1 -0
  289. package/dist/translations/languages/es.d.ts +576 -0
  290. package/dist/translations/languages/es.d.ts.map +1 -0
  291. package/dist/translations/languages/es.js +329 -0
  292. package/dist/translations/languages/es.js.map +1 -0
  293. package/dist/translations/languages/et.d.ts +576 -0
  294. package/dist/translations/languages/et.d.ts.map +1 -0
  295. package/dist/translations/languages/et.js +329 -0
  296. package/dist/translations/languages/et.js.map +1 -0
  297. package/dist/translations/languages/fa.d.ts +576 -0
  298. package/dist/translations/languages/fa.d.ts.map +1 -0
  299. package/dist/translations/languages/fa.js +329 -0
  300. package/dist/translations/languages/fa.js.map +1 -0
  301. package/dist/translations/languages/fr.d.ts +576 -0
  302. package/dist/translations/languages/fr.d.ts.map +1 -0
  303. package/dist/translations/languages/fr.js +329 -0
  304. package/dist/translations/languages/fr.js.map +1 -0
  305. package/dist/translations/languages/he.d.ts +576 -0
  306. package/dist/translations/languages/he.d.ts.map +1 -0
  307. package/dist/translations/languages/he.js +329 -0
  308. package/dist/translations/languages/he.js.map +1 -0
  309. package/dist/translations/languages/hr.d.ts +576 -0
  310. package/dist/translations/languages/hr.d.ts.map +1 -0
  311. package/dist/translations/languages/hr.js +329 -0
  312. package/dist/translations/languages/hr.js.map +1 -0
  313. package/dist/translations/languages/hu.d.ts +576 -0
  314. package/dist/translations/languages/hu.d.ts.map +1 -0
  315. package/dist/translations/languages/hu.js +329 -0
  316. package/dist/translations/languages/hu.js.map +1 -0
  317. package/dist/translations/languages/hy.d.ts +576 -0
  318. package/dist/translations/languages/hy.d.ts.map +1 -0
  319. package/dist/translations/languages/hy.js +329 -0
  320. package/dist/translations/languages/hy.js.map +1 -0
  321. package/dist/translations/languages/id.d.ts +576 -0
  322. package/dist/translations/languages/id.d.ts.map +1 -0
  323. package/dist/translations/languages/id.js +329 -0
  324. package/dist/translations/languages/id.js.map +1 -0
  325. package/dist/translations/languages/is.d.ts +576 -0
  326. package/dist/translations/languages/is.d.ts.map +1 -0
  327. package/dist/translations/languages/is.js +329 -0
  328. package/dist/translations/languages/is.js.map +1 -0
  329. package/dist/translations/languages/it.d.ts +576 -0
  330. package/dist/translations/languages/it.d.ts.map +1 -0
  331. package/dist/translations/languages/it.js +329 -0
  332. package/dist/translations/languages/it.js.map +1 -0
  333. package/dist/translations/languages/ja.d.ts +576 -0
  334. package/dist/translations/languages/ja.d.ts.map +1 -0
  335. package/dist/translations/languages/ja.js +329 -0
  336. package/dist/translations/languages/ja.js.map +1 -0
  337. package/dist/translations/languages/ko.d.ts +576 -0
  338. package/dist/translations/languages/ko.d.ts.map +1 -0
  339. package/dist/translations/languages/ko.js +329 -0
  340. package/dist/translations/languages/ko.js.map +1 -0
  341. package/dist/translations/languages/lt.d.ts +576 -0
  342. package/dist/translations/languages/lt.d.ts.map +1 -0
  343. package/dist/translations/languages/lt.js +329 -0
  344. package/dist/translations/languages/lt.js.map +1 -0
  345. package/dist/translations/languages/lv.d.ts +576 -0
  346. package/dist/translations/languages/lv.d.ts.map +1 -0
  347. package/dist/translations/languages/lv.js +329 -0
  348. package/dist/translations/languages/lv.js.map +1 -0
  349. package/dist/translations/languages/my.d.ts +576 -0
  350. package/dist/translations/languages/my.d.ts.map +1 -0
  351. package/dist/translations/languages/my.js +329 -0
  352. package/dist/translations/languages/my.js.map +1 -0
  353. package/dist/translations/languages/nb.d.ts +576 -0
  354. package/dist/translations/languages/nb.d.ts.map +1 -0
  355. package/dist/translations/languages/nb.js +329 -0
  356. package/dist/translations/languages/nb.js.map +1 -0
  357. package/dist/translations/languages/nl.d.ts +576 -0
  358. package/dist/translations/languages/nl.d.ts.map +1 -0
  359. package/dist/translations/languages/nl.js +329 -0
  360. package/dist/translations/languages/nl.js.map +1 -0
  361. package/dist/translations/languages/pl.d.ts +576 -0
  362. package/dist/translations/languages/pl.d.ts.map +1 -0
  363. package/dist/translations/languages/pl.js +329 -0
  364. package/dist/translations/languages/pl.js.map +1 -0
  365. package/dist/translations/languages/pt.d.ts +576 -0
  366. package/dist/translations/languages/pt.d.ts.map +1 -0
  367. package/dist/translations/languages/pt.js +329 -0
  368. package/dist/translations/languages/pt.js.map +1 -0
  369. package/dist/translations/languages/ro.d.ts +576 -0
  370. package/dist/translations/languages/ro.d.ts.map +1 -0
  371. package/dist/translations/languages/ro.js +329 -0
  372. package/dist/translations/languages/ro.js.map +1 -0
  373. package/dist/translations/languages/rs.d.ts +576 -0
  374. package/dist/translations/languages/rs.d.ts.map +1 -0
  375. package/dist/translations/languages/rs.js +329 -0
  376. package/dist/translations/languages/rs.js.map +1 -0
  377. package/dist/translations/languages/rsLatin.d.ts +576 -0
  378. package/dist/translations/languages/rsLatin.d.ts.map +1 -0
  379. package/dist/translations/languages/rsLatin.js +329 -0
  380. package/dist/translations/languages/rsLatin.js.map +1 -0
  381. package/dist/translations/languages/ru.d.ts +576 -0
  382. package/dist/translations/languages/ru.d.ts.map +1 -0
  383. package/dist/translations/languages/ru.js +329 -0
  384. package/dist/translations/languages/ru.js.map +1 -0
  385. package/dist/translations/languages/sk.d.ts +576 -0
  386. package/dist/translations/languages/sk.d.ts.map +1 -0
  387. package/dist/translations/languages/sk.js +329 -0
  388. package/dist/translations/languages/sk.js.map +1 -0
  389. package/dist/translations/languages/sl.d.ts +576 -0
  390. package/dist/translations/languages/sl.d.ts.map +1 -0
  391. package/dist/translations/languages/sl.js +329 -0
  392. package/dist/translations/languages/sl.js.map +1 -0
  393. package/dist/translations/languages/sv.d.ts +576 -0
  394. package/dist/translations/languages/sv.d.ts.map +1 -0
  395. package/dist/translations/languages/sv.js +329 -0
  396. package/dist/translations/languages/sv.js.map +1 -0
  397. package/dist/translations/languages/ta.d.ts +576 -0
  398. package/dist/translations/languages/ta.d.ts.map +1 -0
  399. package/dist/translations/languages/ta.js +329 -0
  400. package/dist/translations/languages/ta.js.map +1 -0
  401. package/dist/translations/languages/th.d.ts +576 -0
  402. package/dist/translations/languages/th.d.ts.map +1 -0
  403. package/dist/translations/languages/th.js +329 -0
  404. package/dist/translations/languages/th.js.map +1 -0
  405. package/dist/translations/languages/tr.d.ts +576 -0
  406. package/dist/translations/languages/tr.d.ts.map +1 -0
  407. package/dist/translations/languages/tr.js +329 -0
  408. package/dist/translations/languages/tr.js.map +1 -0
  409. package/dist/translations/languages/uk.d.ts +576 -0
  410. package/dist/translations/languages/uk.d.ts.map +1 -0
  411. package/dist/translations/languages/uk.js +329 -0
  412. package/dist/translations/languages/uk.js.map +1 -0
  413. package/dist/translations/languages/vi.d.ts +576 -0
  414. package/dist/translations/languages/vi.d.ts.map +1 -0
  415. package/dist/translations/languages/vi.js +329 -0
  416. package/dist/translations/languages/vi.js.map +1 -0
  417. package/dist/translations/languages/zh.d.ts +576 -0
  418. package/dist/translations/languages/zh.d.ts.map +1 -0
  419. package/dist/translations/languages/zh.js +329 -0
  420. package/dist/translations/languages/zh.js.map +1 -0
  421. package/dist/translations/languages/zhTw.d.ts +576 -0
  422. package/dist/translations/languages/zhTw.d.ts.map +1 -0
  423. package/dist/translations/languages/zhTw.js +329 -0
  424. package/dist/translations/languages/zhTw.js.map +1 -0
  425. package/dist/types.d.ts +269 -0
  426. package/dist/types.d.ts.map +1 -0
  427. package/dist/types.js +257 -0
  428. package/dist/types.js.map +1 -0
  429. package/dist/utils.d.ts +32 -0
  430. package/dist/utils.d.ts.map +1 -0
  431. package/dist/utils.js +82 -0
  432. package/dist/utils.js.map +1 -0
  433. package/dist/validations/dates.d.ts +230 -0
  434. package/dist/validations/dates.d.ts.map +1 -0
  435. package/dist/validations/dates.js +254 -0
  436. package/dist/validations/dates.js.map +1 -0
  437. package/dist/validations/numbers.d.ts +118 -0
  438. package/dist/validations/numbers.d.ts.map +1 -0
  439. package/dist/validations/numbers.js +151 -0
  440. package/dist/validations/numbers.js.map +1 -0
  441. package/dist/validations/relationLinkedUser.d.ts +43 -0
  442. package/dist/validations/relationLinkedUser.d.ts.map +1 -0
  443. package/dist/validations/relationLinkedUser.js +54 -0
  444. package/dist/validations/relationLinkedUser.js.map +1 -0
  445. package/package.json +228 -0
@@ -0,0 +1,14 @@
1
+ import type { NumberFieldClientProps, TextFieldClientProps } from 'payload';
2
+ import React from 'react';
3
+ import type { Config } from './index.js';
4
+ import './styles.css';
5
+ type Props = {
6
+ className?: string;
7
+ config: Config;
8
+ path: string;
9
+ placeholder?: string;
10
+ readOnly?: boolean;
11
+ } & (NumberFieldClientProps | TextFieldClientProps);
12
+ export declare const PatternComponent: React.FC<Props>;
13
+ export {};
14
+ //# sourceMappingURL=Component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.d.ts","sourceRoot":"","sources":["../../../src/fields/Pattern/Component.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAS3E,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,CAAA;AAEnD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4F5C,CAAA"}
@@ -0,0 +1,88 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { FieldError as Error, FieldDescription, FieldLabel, RenderCustomComponent, useField } from '@payloadcms/ui';
4
+ import React, { useCallback } from 'react';
5
+ import { PatternFormat } from 'react-number-format';
6
+ import './styles.css';
7
+ export const PatternComponent = (props)=>{
8
+ const { config, field, path, readOnly, validate } = props;
9
+ const { type, admin: { className, description, placeholder, readOnly: adminReadOnly } = {}, label, required } = field;
10
+ const memoizedValidate = useCallback((value, options)=>{
11
+ if (typeof validate === 'function') {
12
+ return validate(value, {
13
+ ...options,
14
+ required
15
+ });
16
+ }
17
+ return true;
18
+ }, [
19
+ validate,
20
+ required
21
+ ]);
22
+ const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, errorMessage, setValue, showError, value } = useField({
23
+ path,
24
+ validate: memoizedValidate
25
+ });
26
+ const classes = [
27
+ 'field-type',
28
+ 'text',
29
+ className,
30
+ showError && 'error',
31
+ readOnly && 'read-only',
32
+ 'container'
33
+ ].filter(Boolean).join(' ');
34
+ const valueString = value ?? '';
35
+ const isReadonly = readOnly || adminReadOnly;
36
+ return /*#__PURE__*/ _jsxs("div", {
37
+ className: `bfPatternFieldWrapper field-type`,
38
+ children: [
39
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
40
+ CustomComponent: Label,
41
+ Fallback: /*#__PURE__*/ _jsx(FieldLabel, {
42
+ label: label,
43
+ path: path,
44
+ required: required
45
+ })
46
+ }),
47
+ BeforeInput,
48
+ /*#__PURE__*/ _jsxs("div", {
49
+ className: classes,
50
+ children: [
51
+ /*#__PURE__*/ _jsx(PatternFormat, {
52
+ className: "patternInput",
53
+ id: `field-${path.replace(/\./g, '__')}`,
54
+ name: path,
55
+ onValueChange: ({ value: raw })=>{
56
+ if (type === 'number') {
57
+ const nextNum = raw === '' ? null : Number(raw);
58
+ setValue(nextNum === null || Number.isNaN(nextNum) ? null : nextNum);
59
+ } else {
60
+ setValue(raw);
61
+ }
62
+ },
63
+ placeholder: typeof placeholder === 'string' ? placeholder : '',
64
+ readOnly: isReadonly,
65
+ required: config.required,
66
+ value: String(valueString),
67
+ ...config
68
+ }),
69
+ /*#__PURE__*/ _jsx(Error, {
70
+ message: errorMessage ?? '',
71
+ showError: showError
72
+ })
73
+ ]
74
+ }),
75
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
76
+ CustomComponent: Description,
77
+ Fallback: /*#__PURE__*/ _jsx(FieldDescription, {
78
+ className: `field-description-${path.replace(/\./g, '__')}`,
79
+ description: description ?? '',
80
+ path: path
81
+ })
82
+ }),
83
+ AfterInput
84
+ ]
85
+ });
86
+ };
87
+
88
+ //# sourceMappingURL=Component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/fields/Pattern/Component.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n'use client'\nimport type { NumberFieldClientProps, TextFieldClientProps } from 'payload'\n\nimport {\n FieldError as Error,\n FieldDescription,\n FieldLabel,\n RenderCustomComponent,\n useField,\n} from '@payloadcms/ui'\nimport React, { useCallback } from 'react'\nimport { PatternFormat } from 'react-number-format'\n\nimport type { Config } from './index.js'\n\nimport './styles.css'\n\ntype Props = {\n className?: string\n config: Config\n path: string\n placeholder?: string\n readOnly?: boolean\n} & (NumberFieldClientProps | TextFieldClientProps)\n\nexport const PatternComponent: React.FC<Props> = (props) => {\n const { config, field, path, readOnly, validate } = props\n\n const {\n type,\n admin: { className, description, placeholder, readOnly: adminReadOnly } = {},\n label,\n required,\n } = field\n\n const memoizedValidate = useCallback(\n (value: any, options: any) => {\n if (typeof validate === 'function') {\n return validate(value, { ...options, required })\n }\n return true\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Label } = {},\n errorMessage,\n setValue,\n showError,\n value,\n } = useField<null | number | string>({\n path,\n validate: memoizedValidate,\n })\n\n const classes = [\n 'field-type',\n 'text',\n className,\n showError && 'error',\n readOnly && 'read-only',\n 'container',\n ]\n .filter(Boolean)\n .join(' ')\n\n const valueString = value ?? ''\n\n const isReadonly = readOnly || adminReadOnly\n\n return (\n <div className={`bfPatternFieldWrapper field-type`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={<FieldLabel label={label} path={path} required={required} />}\n />\n\n {BeforeInput}\n\n <div className={classes}>\n <PatternFormat\n className=\"patternInput\"\n id={`field-${path.replace(/\\./g, '__')}`}\n name={path}\n onValueChange={({ value: raw }) => {\n if (type === 'number') {\n const nextNum = raw === '' ? null : Number(raw)\n setValue(nextNum === null || Number.isNaN(nextNum) ? null : nextNum)\n } else {\n setValue(raw)\n }\n }}\n placeholder={typeof placeholder === 'string' ? placeholder : ''}\n readOnly={isReadonly}\n required={config.required}\n value={String(valueString)}\n {...config}\n />\n\n <Error message={errorMessage ?? ''} showError={showError} />\n </div>\n\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <FieldDescription\n className={`field-description-${path.replace(/\\./g, '__')}`}\n description={description ?? ''}\n path={path}\n />\n }\n />\n\n {AfterInput}\n </div>\n )\n}\n"],"names":["FieldError","Error","FieldDescription","FieldLabel","RenderCustomComponent","useField","React","useCallback","PatternFormat","PatternComponent","props","config","field","path","readOnly","validate","type","admin","className","description","placeholder","adminReadOnly","label","required","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Label","errorMessage","setValue","showError","classes","filter","Boolean","join","valueString","isReadonly","div","CustomComponent","Fallback","id","replace","name","onValueChange","raw","nextNum","Number","isNaN","String","message"],"mappings":"AAAA,qDAAqD,GACrD;;AAGA,SACEA,cAAcC,KAAK,EACnBC,gBAAgB,EAChBC,UAAU,EACVC,qBAAqB,EACrBC,QAAQ,QACH,iBAAgB;AACvB,OAAOC,SAASC,WAAW,QAAQ,QAAO;AAC1C,SAASC,aAAa,QAAQ,sBAAqB;AAInD,OAAO,eAAc;AAUrB,OAAO,MAAMC,mBAAoC,CAACC;IAChD,MAAM,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,GAAGL;IAEpD,MAAM,EACJM,IAAI,EACJC,OAAO,EAAEC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEN,UAAUO,aAAa,EAAE,GAAG,CAAC,CAAC,EAC5EC,KAAK,EACLC,QAAQ,EACT,GAAGX;IAEJ,MAAMY,mBAAmBjB,YACvB,CAACkB,OAAYC;QACX,IAAI,OAAOX,aAAa,YAAY;YAClC,OAAOA,SAASU,OAAO;gBAAE,GAAGC,OAAO;gBAAEH;YAAS;QAChD;QACA,OAAO;IACT,GACA;QAACR;QAAUQ;KAAS;IAGtB,MAAM,EACJI,kBAAkB,EAAEC,UAAU,EAAEC,WAAW,EAAEC,WAAW,EAAEC,KAAK,EAAE,GAAG,CAAC,CAAC,EACtEC,YAAY,EACZC,QAAQ,EACRC,SAAS,EACTT,KAAK,EACN,GAAGpB,SAAiC;QACnCQ;QACAE,UAAUS;IACZ;IAEA,MAAMW,UAAU;QACd;QACA;QACAjB;QACAgB,aAAa;QACbpB,YAAY;QACZ;KACD,CACEsB,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,MAAMC,cAAcd,SAAS;IAE7B,MAAMe,aAAa1B,YAAYO;IAE/B,qBACE,MAACoB;QAAIvB,WAAW,CAAC,gCAAgC,CAAC;;0BAChD,KAACd;gBACCsC,iBAAiBX;gBACjBY,wBAAU,KAACxC;oBAAWmB,OAAOA;oBAAOT,MAAMA;oBAAMU,UAAUA;;;YAG3DM;0BAED,MAACY;gBAAIvB,WAAWiB;;kCACd,KAAC3B;wBACCU,WAAU;wBACV0B,IAAI,CAAC,MAAM,EAAE/B,KAAKgC,OAAO,CAAC,OAAO,OAAO;wBACxCC,MAAMjC;wBACNkC,eAAe,CAAC,EAAEtB,OAAOuB,GAAG,EAAE;4BAC5B,IAAIhC,SAAS,UAAU;gCACrB,MAAMiC,UAAUD,QAAQ,KAAK,OAAOE,OAAOF;gCAC3Cf,SAASgB,YAAY,QAAQC,OAAOC,KAAK,CAACF,WAAW,OAAOA;4BAC9D,OAAO;gCACLhB,SAASe;4BACX;wBACF;wBACA5B,aAAa,OAAOA,gBAAgB,WAAWA,cAAc;wBAC7DN,UAAU0B;wBACVjB,UAAUZ,OAAOY,QAAQ;wBACzBE,OAAO2B,OAAOb;wBACb,GAAG5B,MAAM;;kCAGZ,KAACV;wBAAMoD,SAASrB,gBAAgB;wBAAIE,WAAWA;;;;0BAGjD,KAAC9B;gBACCsC,iBAAiBZ;gBACjBa,wBACE,KAACzC;oBACCgB,WAAW,CAAC,kBAAkB,EAAEL,KAAKgC,OAAO,CAAC,OAAO,OAAO;oBAC3D1B,aAAaA,eAAe;oBAC5BN,MAAMA;;;YAKXe;;;AAGP,EAAC"}
@@ -0,0 +1,59 @@
1
+ import type { Field, TextField as TextFieldType } from 'payload';
2
+ import type { PatternFormatProps } from 'react-number-format';
3
+ type FieldTypes = TextFieldType;
4
+ export interface PatternConfig extends PatternFormatProps {
5
+ }
6
+ export type Config = {} & PatternConfig;
7
+ /**
8
+ * Factory function type for creating a Pattern field.
9
+ *
10
+ * @param overrides - Any Payload TextField properties to override
11
+ * @param config - Pattern format configuration (see react-number-format docs)
12
+ *
13
+ * @returns A Payload Field configuration
14
+ */
15
+ export type Pattern = (
16
+ /**
17
+ * Field overrides
18
+ */
19
+ overrides: FieldTypes,
20
+ /**
21
+ * Config mapping to Numeric or Pattern formats from https://s-yadav.github.io/react-number-format/docs/numeric_format
22
+ */
23
+ config: Config) => Field;
24
+ /**
25
+ * Creates a Pattern field with regex-based input formatting and validation.
26
+ *
27
+ * This field provides pattern-based input formatting using react-number-format:
28
+ * - Custom input masks (e.g., phone numbers, credit cards, dates)
29
+ * - Format as you type
30
+ * - Pattern validation
31
+ * - Read-only mode support
32
+ *
33
+ * See https://s-yadav.github.io/react-number-format/docs/pattern_format for all configuration options.
34
+ *
35
+ * @param overrides - Any Payload TextField properties to override (name, label, required, etc.)
36
+ * @param config - Pattern format configuration from react-number-format
37
+ * @param config.format - Pattern string (e.g., '####-####-####-####' for credit card)
38
+ * @param config.mask - Character to use for unfilled positions (defaults to ' ')
39
+ * @param config.readOnly - Make the field read-only
40
+ *
41
+ * @returns A Payload Field configuration
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * PatternField(
46
+ * {
47
+ * name: 'creditCard',
48
+ * label: { en: 'Credit Card', de: 'Kreditkarte' }
49
+ * },
50
+ * {
51
+ * format: '####-####-####-####',
52
+ * mask: '_'
53
+ * }
54
+ * )
55
+ * ```
56
+ */
57
+ export declare const PatternField: Pattern;
58
+ export {};
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Pattern/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAI7D,KAAK,UAAU,GAAG,aAAa,CAAA;AAG/B,MAAM,WAAW,aAAc,SAAQ,kBAAkB;CAAG;AAE5D,MAAM,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,CAAA;AAEvC;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG;AACpB;;GAEG;AACH,SAAS,EAAE,UAAU;AACrB;;GAEG;AACH,MAAM,EAAE,MAAM,KACX,KAAK,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,YAAY,EAAE,OAuB1B,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { deepMerge } from 'payload';
2
+ /**
3
+ * Creates a Pattern field with regex-based input formatting and validation.
4
+ *
5
+ * This field provides pattern-based input formatting using react-number-format:
6
+ * - Custom input masks (e.g., phone numbers, credit cards, dates)
7
+ * - Format as you type
8
+ * - Pattern validation
9
+ * - Read-only mode support
10
+ *
11
+ * See https://s-yadav.github.io/react-number-format/docs/pattern_format for all configuration options.
12
+ *
13
+ * @param overrides - Any Payload TextField properties to override (name, label, required, etc.)
14
+ * @param config - Pattern format configuration from react-number-format
15
+ * @param config.format - Pattern string (e.g., '####-####-####-####' for credit card)
16
+ * @param config.mask - Character to use for unfilled positions (defaults to ' ')
17
+ * @param config.readOnly - Make the field read-only
18
+ *
19
+ * @returns A Payload Field configuration
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * PatternField(
24
+ * {
25
+ * name: 'creditCard',
26
+ * label: { en: 'Credit Card', de: 'Kreditkarte' }
27
+ * },
28
+ * {
29
+ * format: '####-####-####-####',
30
+ * mask: '_'
31
+ * }
32
+ * )
33
+ * ```
34
+ */ export const PatternField = (overrides, config)=>{
35
+ const patternField = deepMerge({
36
+ name: 'pattern',
37
+ type: 'text',
38
+ admin: {
39
+ components: {
40
+ // Field: PatternComponent,
41
+ Field: {
42
+ clientProps: {
43
+ config
44
+ },
45
+ path: '@loadspark/core/fields/Pattern/client#PatternComponent'
46
+ }
47
+ },
48
+ readOnly: config.readOnly
49
+ },
50
+ required: config.required
51
+ }, overrides);
52
+ return patternField;
53
+ };
54
+
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/fields/Pattern/index.ts"],"sourcesContent":["import type { Field, TextField as TextFieldType } from 'payload'\nimport type { PatternFormatProps } from 'react-number-format'\n\nimport { deepMerge } from 'payload'\n\ntype FieldTypes = TextFieldType\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface PatternConfig extends PatternFormatProps {}\n\nexport type Config = {} & PatternConfig\n\n/**\n * Factory function type for creating a Pattern field.\n *\n * @param overrides - Any Payload TextField properties to override\n * @param config - Pattern format configuration (see react-number-format docs)\n *\n * @returns A Payload Field configuration\n */\nexport type Pattern = (\n /**\n * Field overrides\n */\n overrides: FieldTypes,\n /**\n * Config mapping to Numeric or Pattern formats from https://s-yadav.github.io/react-number-format/docs/numeric_format\n */\n config: Config,\n) => Field\n\n/**\n * Creates a Pattern field with regex-based input formatting and validation.\n *\n * This field provides pattern-based input formatting using react-number-format:\n * - Custom input masks (e.g., phone numbers, credit cards, dates)\n * - Format as you type\n * - Pattern validation\n * - Read-only mode support\n *\n * See https://s-yadav.github.io/react-number-format/docs/pattern_format for all configuration options.\n *\n * @param overrides - Any Payload TextField properties to override (name, label, required, etc.)\n * @param config - Pattern format configuration from react-number-format\n * @param config.format - Pattern string (e.g., '####-####-####-####' for credit card)\n * @param config.mask - Character to use for unfilled positions (defaults to ' ')\n * @param config.readOnly - Make the field read-only\n *\n * @returns A Payload Field configuration\n *\n * @example\n * ```ts\n * PatternField(\n * {\n * name: 'creditCard',\n * label: { en: 'Credit Card', de: 'Kreditkarte' }\n * },\n * {\n * format: '####-####-####-####',\n * mask: '_'\n * }\n * )\n * ```\n */\nexport const PatternField: Pattern = (overrides, config) => {\n const patternField = deepMerge<FieldTypes, FieldTypes>(\n {\n name: 'pattern',\n type: 'text',\n admin: {\n components: {\n // Field: PatternComponent,\n Field: {\n clientProps: {\n config,\n },\n path: '@loadspark/core/fields/Pattern/client#PatternComponent',\n },\n },\n readOnly: config.readOnly,\n },\n required: config.required,\n },\n overrides,\n )\n\n return patternField\n}\n"],"names":["deepMerge","PatternField","overrides","config","patternField","name","type","admin","components","Field","clientProps","path","readOnly","required"],"mappings":"AAGA,SAASA,SAAS,QAAQ,UAAS;AA4BnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCC,GACD,OAAO,MAAMC,eAAwB,CAACC,WAAWC;IAC/C,MAAMC,eAAeJ,UACnB;QACEK,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,YAAY;gBACV,2BAA2B;gBAC3BC,OAAO;oBACLC,aAAa;wBACXP;oBACF;oBACAQ,MAAM;gBACR;YACF;YACAC,UAAUT,OAAOS,QAAQ;QAC3B;QACAC,UAAUV,OAAOU,QAAQ;IAC3B,GACAX;IAGF,OAAOE;AACT,EAAC"}
@@ -0,0 +1,34 @@
1
+ .bfSlugFieldWrapper {
2
+ position: relative;
3
+
4
+ .container {
5
+ display: flex;
6
+ }
7
+
8
+ .slugInput {
9
+ flex-grow: 2;
10
+ }
11
+
12
+ .srOnly {
13
+ border: 0 !important;
14
+ clip: rect(1px, 1px, 1px, 1px) !important;
15
+ -webkit-clip-path: inset(50%) !important;
16
+ clip-path: inset(50%) !important;
17
+ height: 1px !important;
18
+ margin: -1px !important;
19
+ overflow: hidden !important;
20
+ padding: 0 !important;
21
+ position: absolute !important;
22
+ width: 1px !important;
23
+ white-space: nowrap !important;
24
+ }
25
+
26
+ .checkbox {
27
+ position: absolute;
28
+ top: calc(50% - 1rem);
29
+ right: 1rem;
30
+ display: flex;
31
+ align-items: center;
32
+ }
33
+ }
34
+
@@ -0,0 +1,13 @@
1
+ import type { NumberFieldClientProps } from 'payload';
2
+ import type { Config } from './index.js';
3
+ import './range.scss';
4
+ type Props = {
5
+ className?: string;
6
+ config?: Config;
7
+ path: string;
8
+ placeholder?: string;
9
+ readOnly?: boolean;
10
+ } & NumberFieldClientProps;
11
+ export declare const RangeComponent: React.FC<Props>;
12
+ export {};
13
+ //# sourceMappingURL=Component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.d.ts","sourceRoot":"","sources":["../../../src/fields/Range/Component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAWrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,sBAAsB,CAAA;AAE1B,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4I1C,CAAA"}
@@ -0,0 +1,138 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { FieldError as Error, FieldDescription, FieldLabel, RenderCustomComponent, useField } from '@payloadcms/ui';
4
+ import { useCallback } from 'react';
5
+ import './range.scss';
6
+ export const RangeComponent = (props)=>{
7
+ const { config, field, path, readOnly, validate } = props;
8
+ const { admin: { className, description, placeholder, readOnly: adminReadOnly } = {}, label, required } = field;
9
+ const memoizedValidate = useCallback(// eslint-disable-next-line @typescript-eslint/no-explicit-any
10
+ (value, options)=>{
11
+ if (typeof validate === 'function') {
12
+ return validate(value, {
13
+ ...options || {},
14
+ required
15
+ });
16
+ }
17
+ }, [
18
+ validate,
19
+ required
20
+ ]);
21
+ const { customComponents: { AfterInput, BeforeInput, Description, Label } = {}, errorMessage, setValue, showError, value } = useField({
22
+ path,
23
+ // @ts-expect-error - memoizedValidate is not typed
24
+ validate: memoizedValidate
25
+ });
26
+ const step = config?.step ?? 1;
27
+ const usedMin = field.min ?? 1;
28
+ const usedMax = field.max ?? 100;
29
+ const rangeValue = usedMax - usedMin;
30
+ const markers = config?.markers ?? [];
31
+ const getPosition = useCallback((value)=>{
32
+ const remainder = value - usedMin;
33
+ if (remainder === 0) {
34
+ return 0;
35
+ }
36
+ return remainder / rangeValue * 100;
37
+ }, [
38
+ rangeValue,
39
+ usedMin
40
+ ]);
41
+ const classes = [
42
+ '',
43
+ className,
44
+ showError && 'error',
45
+ readOnly && 'read-only',
46
+ 'container'
47
+ ].filter(Boolean).join(' ');
48
+ const isReadonly = Boolean(readOnly) || Boolean(adminReadOnly);
49
+ const handleReset = (e)=>{
50
+ e.preventDefault();
51
+ setValue(null);
52
+ };
53
+ return /*#__PURE__*/ _jsxs("div", {
54
+ className: `bfRangeFieldWrapper field-type`,
55
+ children: [
56
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
57
+ CustomComponent: Label,
58
+ Fallback: /*#__PURE__*/ _jsx(FieldLabel, {
59
+ label: label,
60
+ path: path,
61
+ required: required
62
+ })
63
+ }),
64
+ /*#__PURE__*/ _jsxs("div", {
65
+ className: "containerWrapper",
66
+ children: [
67
+ config?.showPreview && /*#__PURE__*/ _jsx(_Fragment, {
68
+ children: /*#__PURE__*/ _jsx("div", {
69
+ className: "valuePreview",
70
+ children: value ? value : '/'
71
+ })
72
+ }),
73
+ /*#__PURE__*/ _jsxs("div", {
74
+ className: classes,
75
+ children: [
76
+ BeforeInput,
77
+ /*#__PURE__*/ _jsx("input", {
78
+ className: "rangeInput",
79
+ id: `field-${path.replace(/\./g, '__')}`,
80
+ max: usedMax,
81
+ min: usedMin,
82
+ name: path,
83
+ onChange: (e)=>{
84
+ const next = Number(e.target.value);
85
+ setValue(Number.isNaN(next) ? null : next);
86
+ },
87
+ placeholder: typeof placeholder === 'string' ? placeholder : '',
88
+ readOnly: isReadonly,
89
+ required: required,
90
+ step: step,
91
+ type: "range",
92
+ value: value ?? 0,
93
+ ...markers?.length && markers.length > 0 ? {
94
+ list: `field-markers-${path.replace(/\./g, '__')}`
95
+ } : {}
96
+ }),
97
+ /*#__PURE__*/ _jsx("datalist", {
98
+ className: "markersList",
99
+ id: `field-markers-${path.replace(/\./g, '__')}`,
100
+ children: markers.map((marker, index)=>{
101
+ return /*#__PURE__*/ _jsx("option", {
102
+ "data-test": getPosition(marker.value),
103
+ style: {
104
+ left: `${getPosition(marker.value)}%`
105
+ },
106
+ value: marker.value,
107
+ children: marker.label
108
+ }, index);
109
+ })
110
+ })
111
+ ]
112
+ }),
113
+ /*#__PURE__*/ _jsx(Error, {
114
+ message: errorMessage ?? '',
115
+ showError: showError
116
+ })
117
+ ]
118
+ }),
119
+ !required && Boolean(value) && /*#__PURE__*/ _jsx("button", {
120
+ className: "btn--size-small btn btn--style-secondary resetButton",
121
+ onClick: handleReset,
122
+ type: "button",
123
+ children: "Reset"
124
+ }),
125
+ /*#__PURE__*/ _jsx(RenderCustomComponent, {
126
+ CustomComponent: Description,
127
+ Fallback: /*#__PURE__*/ _jsx(FieldDescription, {
128
+ className: `field-description-${path.replace(/\./g, '__')}`,
129
+ description: description ?? '',
130
+ path: path
131
+ })
132
+ }),
133
+ AfterInput
134
+ ]
135
+ });
136
+ };
137
+
138
+ //# sourceMappingURL=Component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/fields/Range/Component.tsx"],"sourcesContent":["'use client'\nimport type { NumberFieldClientProps } from 'payload'\n\nimport {\n FieldError as Error,\n FieldDescription,\n FieldLabel,\n RenderCustomComponent,\n useField,\n} from '@payloadcms/ui'\nimport { type MouseEventHandler, useCallback } from 'react'\n\nimport type { Config } from './index.js'\n\nimport './range.scss'\n\ntype Props = {\n className?: string\n config?: Config\n path: string\n placeholder?: string\n readOnly?: boolean\n} & NumberFieldClientProps\n\nexport const RangeComponent: React.FC<Props> = (props) => {\n const { config, field, path, readOnly, validate } = props\n const {\n admin: { className, description, placeholder, readOnly: adminReadOnly } = {},\n label,\n required,\n } = field\n\n const memoizedValidate = useCallback(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (value: null | number | undefined, options: any) => {\n if (typeof validate === 'function') {\n return validate(value, { ...(options || {}), required })\n }\n },\n [validate, required],\n )\n\n const {\n customComponents: { AfterInput, BeforeInput, Description, Label } = {},\n errorMessage,\n setValue,\n showError,\n value,\n } = useField<null | number>({\n path,\n // @ts-expect-error - memoizedValidate is not typed\n validate: memoizedValidate,\n })\n\n const step = config?.step ?? 1\n const usedMin = field.min ?? 1\n const usedMax = field.max ?? 100\n const rangeValue = usedMax - usedMin\n const markers = config?.markers ?? []\n\n const getPosition = useCallback(\n (value: number) => {\n const remainder = value - usedMin\n if (remainder === 0) {\n return 0\n }\n return (remainder / rangeValue) * 100\n },\n [rangeValue, usedMin],\n )\n\n const classes = ['', className, showError && 'error', readOnly && 'read-only', 'container']\n .filter(Boolean)\n .join(' ')\n\n const isReadonly = Boolean(readOnly) || Boolean(adminReadOnly)\n\n const handleReset: MouseEventHandler = (e) => {\n e.preventDefault()\n setValue(null)\n }\n\n return (\n <div className={`bfRangeFieldWrapper field-type`}>\n <RenderCustomComponent\n CustomComponent={Label}\n Fallback={<FieldLabel label={label} path={path} required={required} />}\n />\n\n <div className=\"containerWrapper\">\n {config?.showPreview && (\n <>\n <div className=\"valuePreview\">{value ? value : '/'}</div>\n </>\n )}\n <div className={classes}>\n {BeforeInput}\n\n <input\n className=\"rangeInput\"\n id={`field-${path.replace(/\\./g, '__')}`}\n max={usedMax}\n min={usedMin}\n name={path}\n onChange={(e) => {\n const next = Number(e.target.value)\n setValue(Number.isNaN(next) ? null : next)\n }}\n placeholder={typeof placeholder === 'string' ? placeholder : ''}\n readOnly={isReadonly}\n required={required}\n step={step}\n type=\"range\"\n value={value ?? 0}\n {...(markers?.length && markers.length > 0\n ? { list: `field-markers-${path.replace(/\\./g, '__')}` }\n : {})}\n />\n\n <datalist className=\"markersList\" id={`field-markers-${path.replace(/\\./g, '__')}`}>\n {markers.map((marker, index) => {\n return (\n <option\n data-test={getPosition(marker.value)}\n key={index}\n style={{\n left: `${getPosition(marker.value)}%`,\n }}\n value={marker.value}\n >\n {marker.label}\n </option>\n )\n })}\n </datalist>\n </div>\n\n <Error message={errorMessage ?? ''} showError={showError} />\n </div>\n\n {!required && Boolean(value) && (\n <button\n className=\"btn--size-small btn btn--style-secondary resetButton\"\n onClick={handleReset}\n type=\"button\"\n >\n Reset\n </button>\n )}\n\n <RenderCustomComponent\n CustomComponent={Description}\n Fallback={\n <FieldDescription\n className={`field-description-${path.replace(/\\./g, '__')}`}\n description={description ?? ''}\n path={path}\n />\n }\n />\n\n {AfterInput}\n </div>\n )\n}\n"],"names":["FieldError","Error","FieldDescription","FieldLabel","RenderCustomComponent","useField","useCallback","RangeComponent","props","config","field","path","readOnly","validate","admin","className","description","placeholder","adminReadOnly","label","required","memoizedValidate","value","options","customComponents","AfterInput","BeforeInput","Description","Label","errorMessage","setValue","showError","step","usedMin","min","usedMax","max","rangeValue","markers","getPosition","remainder","classes","filter","Boolean","join","isReadonly","handleReset","e","preventDefault","div","CustomComponent","Fallback","showPreview","input","id","replace","name","onChange","next","Number","target","isNaN","type","length","list","datalist","map","marker","index","option","data-test","style","left","message","button","onClick"],"mappings":"AAAA;;AAGA,SACEA,cAAcC,KAAK,EACnBC,gBAAgB,EAChBC,UAAU,EACVC,qBAAqB,EACrBC,QAAQ,QACH,iBAAgB;AACvB,SAAiCC,WAAW,QAAQ,QAAO;AAI3D,OAAO,eAAc;AAUrB,OAAO,MAAMC,iBAAkC,CAACC;IAC9C,MAAM,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,QAAQ,EAAE,GAAGL;IACpD,MAAM,EACJM,OAAO,EAAEC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEL,UAAUM,aAAa,EAAE,GAAG,CAAC,CAAC,EAC5EC,KAAK,EACLC,QAAQ,EACT,GAAGV;IAEJ,MAAMW,mBAAmBf,YACvB,8DAA8D;IAC9D,CAACgB,OAAkCC;QACjC,IAAI,OAAOV,aAAa,YAAY;YAClC,OAAOA,SAASS,OAAO;gBAAE,GAAIC,WAAW,CAAC,CAAC;gBAAGH;YAAS;QACxD;IACF,GACA;QAACP;QAAUO;KAAS;IAGtB,MAAM,EACJI,kBAAkB,EAAEC,UAAU,EAAEC,WAAW,EAAEC,WAAW,EAAEC,KAAK,EAAE,GAAG,CAAC,CAAC,EACtEC,YAAY,EACZC,QAAQ,EACRC,SAAS,EACTT,KAAK,EACN,GAAGjB,SAAwB;QAC1BM;QACA,mDAAmD;QACnDE,UAAUQ;IACZ;IAEA,MAAMW,OAAOvB,QAAQuB,QAAQ;IAC7B,MAAMC,UAAUvB,MAAMwB,GAAG,IAAI;IAC7B,MAAMC,UAAUzB,MAAM0B,GAAG,IAAI;IAC7B,MAAMC,aAAaF,UAAUF;IAC7B,MAAMK,UAAU7B,QAAQ6B,WAAW,EAAE;IAErC,MAAMC,cAAcjC,YAClB,CAACgB;QACC,MAAMkB,YAAYlB,QAAQW;QAC1B,IAAIO,cAAc,GAAG;YACnB,OAAO;QACT;QACA,OAAO,AAACA,YAAYH,aAAc;IACpC,GACA;QAACA;QAAYJ;KAAQ;IAGvB,MAAMQ,UAAU;QAAC;QAAI1B;QAAWgB,aAAa;QAASnB,YAAY;QAAa;KAAY,CACxF8B,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,MAAMC,aAAaF,QAAQ/B,aAAa+B,QAAQzB;IAEhD,MAAM4B,cAAiC,CAACC;QACtCA,EAAEC,cAAc;QAChBlB,SAAS;IACX;IAEA,qBACE,MAACmB;QAAIlC,WAAW,CAAC,8BAA8B,CAAC;;0BAC9C,KAACX;gBACC8C,iBAAiBtB;gBACjBuB,wBAAU,KAAChD;oBAAWgB,OAAOA;oBAAOR,MAAMA;oBAAMS,UAAUA;;;0BAG5D,MAAC6B;gBAAIlC,WAAU;;oBACZN,QAAQ2C,6BACP;kCACE,cAAA,KAACH;4BAAIlC,WAAU;sCAAgBO,QAAQA,QAAQ;;;kCAGnD,MAAC2B;wBAAIlC,WAAW0B;;4BACbf;0CAED,KAAC2B;gCACCtC,WAAU;gCACVuC,IAAI,CAAC,MAAM,EAAE3C,KAAK4C,OAAO,CAAC,OAAO,OAAO;gCACxCnB,KAAKD;gCACLD,KAAKD;gCACLuB,MAAM7C;gCACN8C,UAAU,CAACV;oCACT,MAAMW,OAAOC,OAAOZ,EAAEa,MAAM,CAACtC,KAAK;oCAClCQ,SAAS6B,OAAOE,KAAK,CAACH,QAAQ,OAAOA;gCACvC;gCACAzC,aAAa,OAAOA,gBAAgB,WAAWA,cAAc;gCAC7DL,UAAUiC;gCACVzB,UAAUA;gCACVY,MAAMA;gCACN8B,MAAK;gCACLxC,OAAOA,SAAS;gCACf,GAAIgB,SAASyB,UAAUzB,QAAQyB,MAAM,GAAG,IACrC;oCAAEC,MAAM,CAAC,cAAc,EAAErD,KAAK4C,OAAO,CAAC,OAAO,OAAO;gCAAC,IACrD,CAAC,CAAC;;0CAGR,KAACU;gCAASlD,WAAU;gCAAcuC,IAAI,CAAC,cAAc,EAAE3C,KAAK4C,OAAO,CAAC,OAAO,OAAO;0CAC/EjB,QAAQ4B,GAAG,CAAC,CAACC,QAAQC;oCACpB,qBACE,KAACC;wCACCC,aAAW/B,YAAY4B,OAAO7C,KAAK;wCAEnCiD,OAAO;4CACLC,MAAM,GAAGjC,YAAY4B,OAAO7C,KAAK,EAAE,CAAC,CAAC;wCACvC;wCACAA,OAAO6C,OAAO7C,KAAK;kDAElB6C,OAAOhD,KAAK;uCANRiD;gCASX;;;;kCAIJ,KAACnE;wBAAMwE,SAAS5C,gBAAgB;wBAAIE,WAAWA;;;;YAGhD,CAACX,YAAYuB,QAAQrB,wBACpB,KAACoD;gBACC3D,WAAU;gBACV4D,SAAS7B;gBACTgB,MAAK;0BACN;;0BAKH,KAAC1D;gBACC8C,iBAAiBvB;gBACjBwB,wBACE,KAACjD;oBACCa,WAAW,CAAC,kBAAkB,EAAEJ,KAAK4C,OAAO,CAAC,OAAO,OAAO;oBAC3DvC,aAAaA,eAAe;oBAC5BL,MAAMA;;;YAKXc;;;AAGP,EAAC"}
@@ -0,0 +1,82 @@
1
+ import type { Field, NumberField as NumberFieldType } from 'payload';
2
+ import type { NumberMarkerItem } from './types.js';
3
+ type FieldTypes = NumberFieldType;
4
+ /**
5
+ * Additional config unique to the range input
6
+ */
7
+ export type Config = {
8
+ /**
9
+ * You can provide an array of markers https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range#adding_tick_marks
10
+ */
11
+ markers?: NumberMarkerItem[];
12
+ /**
13
+ * @default 100
14
+ */
15
+ max?: number;
16
+ /**
17
+ * @default 1
18
+ */
19
+ min?: number;
20
+ /**
21
+ * Shows the value previewed next to the field
22
+ */
23
+ showPreview?: boolean;
24
+ /**
25
+ * @default 1
26
+ */
27
+ step?: 'any' | number;
28
+ };
29
+ /**
30
+ * Factory function type for creating a Range field.
31
+ *
32
+ * @param overrides - Any Payload NumberField properties to override (except type)
33
+ * @param config - Range slider configuration
34
+ *
35
+ * @returns A Payload Field configuration
36
+ */
37
+ export type Range = (
38
+ /**
39
+ * Field overrides
40
+ */
41
+ overrides: Omit<FieldTypes, 'type'>, config: Config) => Field;
42
+ /**
43
+ * Creates a Range field with a slider-based number input.
44
+ *
45
+ * This field provides a visual range slider for number input with:
46
+ * - Customizable min/max values
47
+ * - Step control
48
+ * - Optional tick marks/markers
49
+ * - Value preview display
50
+ *
51
+ * Built on top of HTML5 range input with enhanced UI.
52
+ *
53
+ * @param overrides - Any Payload NumberField properties to override (name, label, required, etc.)
54
+ * @param config - Range slider configuration
55
+ * @param config.min - Minimum value (defaults to 1)
56
+ * @param config.max - Maximum value (defaults to 100)
57
+ * @param config.step - Step increment ('any' or number, defaults to 1)
58
+ * @param config.markers - Array of marker positions for tick marks
59
+ * @param config.showPreview - Show the current value next to the slider (defaults to false)
60
+ *
61
+ * @returns A Payload Field configuration
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * RangeField(
66
+ * {
67
+ * name: 'rating',
68
+ * label: { en: 'Rating', de: 'Bewertung' }
69
+ * },
70
+ * {
71
+ * min: 0,
72
+ * max: 10,
73
+ * step: 1,
74
+ * showPreview: true,
75
+ * markers: [0, 5, 10]
76
+ * }
77
+ * )
78
+ * ```
79
+ */
80
+ export declare const RangeField: Range;
81
+ export {};
82
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Range/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAA;AAIpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,KAAK,UAAU,GAAG,eAAe,CAAA;AAEjC;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,KAAK,GAAG;AAClB;;GAEG;AACH,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EACnC,MAAM,EAAE,MAAM,KACX,KAAK,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,UAAU,EAAE,KA8BxB,CAAA"}
@@ -0,0 +1,63 @@
1
+ import { deepMerge } from 'payload';
2
+ /**
3
+ * Creates a Range field with a slider-based number input.
4
+ *
5
+ * This field provides a visual range slider for number input with:
6
+ * - Customizable min/max values
7
+ * - Step control
8
+ * - Optional tick marks/markers
9
+ * - Value preview display
10
+ *
11
+ * Built on top of HTML5 range input with enhanced UI.
12
+ *
13
+ * @param overrides - Any Payload NumberField properties to override (name, label, required, etc.)
14
+ * @param config - Range slider configuration
15
+ * @param config.min - Minimum value (defaults to 1)
16
+ * @param config.max - Maximum value (defaults to 100)
17
+ * @param config.step - Step increment ('any' or number, defaults to 1)
18
+ * @param config.markers - Array of marker positions for tick marks
19
+ * @param config.showPreview - Show the current value next to the slider (defaults to false)
20
+ *
21
+ * @returns A Payload Field configuration
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * RangeField(
26
+ * {
27
+ * name: 'rating',
28
+ * label: { en: 'Rating', de: 'Bewertung' }
29
+ * },
30
+ * {
31
+ * min: 0,
32
+ * max: 10,
33
+ * step: 1,
34
+ * showPreview: true,
35
+ * markers: [0, 5, 10]
36
+ * }
37
+ * )
38
+ * ```
39
+ */ export const RangeField = (overrides, config = {})=>{
40
+ const rangeField = deepMerge({
41
+ name: 'range',
42
+ type: 'number',
43
+ admin: {
44
+ components: {
45
+ Field: {
46
+ clientProps: {
47
+ config
48
+ },
49
+ path: '@loadspark/core/fields/Range/client#RangeComponent'
50
+ }
51
+ }
52
+ },
53
+ ...config?.min ? {
54
+ min: config.min
55
+ } : {},
56
+ ...config?.max ? {
57
+ max: config.max
58
+ } : {}
59
+ }, overrides);
60
+ return rangeField;
61
+ };
62
+
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/fields/Range/index.ts"],"sourcesContent":["import type { Field, NumberField as NumberFieldType } from 'payload'\n\nimport { deepMerge } from 'payload'\n\nimport type { NumberMarkerItem } from './types.js'\n\ntype FieldTypes = NumberFieldType\n\n/**\n * Additional config unique to the range input\n */\nexport type Config = {\n /**\n * You can provide an array of markers https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range#adding_tick_marks\n */\n markers?: NumberMarkerItem[]\n /**\n * @default 100\n */\n max?: number\n /**\n * @default 1\n */\n min?: number\n /**\n * Shows the value previewed next to the field\n */\n showPreview?: boolean\n /**\n * @default 1\n */\n step?: 'any' | number\n}\n\n/**\n * Factory function type for creating a Range field.\n *\n * @param overrides - Any Payload NumberField properties to override (except type)\n * @param config - Range slider configuration\n *\n * @returns A Payload Field configuration\n */\nexport type Range = (\n /**\n * Field overrides\n */\n overrides: Omit<FieldTypes, 'type'>,\n config: Config,\n) => Field\n\n/**\n * Creates a Range field with a slider-based number input.\n *\n * This field provides a visual range slider for number input with:\n * - Customizable min/max values\n * - Step control\n * - Optional tick marks/markers\n * - Value preview display\n *\n * Built on top of HTML5 range input with enhanced UI.\n *\n * @param overrides - Any Payload NumberField properties to override (name, label, required, etc.)\n * @param config - Range slider configuration\n * @param config.min - Minimum value (defaults to 1)\n * @param config.max - Maximum value (defaults to 100)\n * @param config.step - Step increment ('any' or number, defaults to 1)\n * @param config.markers - Array of marker positions for tick marks\n * @param config.showPreview - Show the current value next to the slider (defaults to false)\n *\n * @returns A Payload Field configuration\n *\n * @example\n * ```ts\n * RangeField(\n * {\n * name: 'rating',\n * label: { en: 'Rating', de: 'Bewertung' }\n * },\n * {\n * min: 0,\n * max: 10,\n * step: 1,\n * showPreview: true,\n * markers: [0, 5, 10]\n * }\n * )\n * ```\n */\nexport const RangeField: Range = (overrides, config = {}) => {\n const rangeField = deepMerge<FieldTypes, Omit<FieldTypes, 'type'>>(\n {\n name: 'range',\n type: 'number',\n admin: {\n components: {\n Field: {\n clientProps: {\n config,\n },\n path: '@loadspark/core/fields/Range/client#RangeComponent',\n },\n },\n },\n ...(config?.min\n ? {\n min: config.min,\n }\n : {}),\n ...(config?.max\n ? {\n max: config.max,\n }\n : {}),\n },\n overrides,\n )\n\n return rangeField\n}\n"],"names":["deepMerge","RangeField","overrides","config","rangeField","name","type","admin","components","Field","clientProps","path","min","max"],"mappings":"AAEA,SAASA,SAAS,QAAQ,UAAS;AAgDnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCC,GACD,OAAO,MAAMC,aAAoB,CAACC,WAAWC,SAAS,CAAC,CAAC;IACtD,MAAMC,aAAaJ,UACjB;QACEK,MAAM;QACNC,MAAM;QACNC,OAAO;YACLC,YAAY;gBACVC,OAAO;oBACLC,aAAa;wBACXP;oBACF;oBACAQ,MAAM;gBACR;YACF;QACF;QACA,GAAIR,QAAQS,MACR;YACEA,KAAKT,OAAOS,GAAG;QACjB,IACA,CAAC,CAAC;QACN,GAAIT,QAAQU,MACR;YACEA,KAAKV,OAAOU,GAAG;QACjB,IACA,CAAC,CAAC;IACR,GACAX;IAGF,OAAOE;AACT,EAAC"}