@samline/forms 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +93 -0
  2. package/dist/browser/global.global.js +722 -0
  3. package/dist/browser/global.global.js.map +1 -0
  4. package/dist/chunk-4NEGCRY2.js +125 -0
  5. package/dist/chunk-4NEGCRY2.js.map +1 -0
  6. package/dist/chunk-D3J67V3G.js +571 -0
  7. package/dist/chunk-D3J67V3G.js.map +1 -0
  8. package/dist/chunk-HP2CJPHY.js +11 -0
  9. package/dist/chunk-HP2CJPHY.js.map +1 -0
  10. package/dist/core/index.cjs +154 -0
  11. package/dist/core/index.cjs.map +1 -0
  12. package/dist/core/index.d.cts +11 -0
  13. package/dist/core/index.d.ts +11 -0
  14. package/dist/core/index.js +13 -0
  15. package/dist/core/index.js.map +1 -0
  16. package/dist/index.cjs +721 -0
  17. package/dist/index.cjs.map +1 -0
  18. package/dist/index.d.cts +3 -0
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.js +21 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/react/index.cjs +729 -0
  23. package/dist/react/index.cjs.map +1 -0
  24. package/dist/react/index.d.cts +10 -0
  25. package/dist/react/index.d.ts +10 -0
  26. package/dist/react/index.js +43 -0
  27. package/dist/react/index.js.map +1 -0
  28. package/dist/svelte/index.cjs +759 -0
  29. package/dist/svelte/index.cjs.map +1 -0
  30. package/dist/svelte/index.d.cts +20 -0
  31. package/dist/svelte/index.d.ts +20 -0
  32. package/dist/svelte/index.js +72 -0
  33. package/dist/svelte/index.js.map +1 -0
  34. package/dist/types-gvovPPPU.d.cts +93 -0
  35. package/dist/types-gvovPPPU.d.ts +93 -0
  36. package/dist/vanilla/index.cjs +700 -0
  37. package/dist/vanilla/index.cjs.map +1 -0
  38. package/dist/vanilla/index.d.cts +7 -0
  39. package/dist/vanilla/index.d.ts +7 -0
  40. package/dist/vanilla/index.js +12 -0
  41. package/dist/vanilla/index.js.map +1 -0
  42. package/dist/vue/index.cjs +736 -0
  43. package/dist/vue/index.cjs.map +1 -0
  44. package/dist/vue/index.d.cts +13 -0
  45. package/dist/vue/index.d.ts +13 -0
  46. package/dist/vue/index.js +56 -0
  47. package/dist/vue/index.js.map +1 -0
  48. package/package.json +93 -0
package/README.md ADDED
@@ -0,0 +1,93 @@
1
+ # @samline/forms
2
+
3
+ Controlador de formularios para HTML nativo, React, Vue, Svelte y uso directo en browser.
4
+
5
+ ## Contents
6
+
7
+ - [Installation](#installation)
8
+ - [CDN / Browser](#browser)
9
+ - [Entrypoints](#entrypoints)
10
+ - [Quick Start](#quick-start)
11
+ - [API](#api)
12
+ - [Documentation](#documentation)
13
+ - [License](#license)
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ npm install @samline/forms
19
+ ```
20
+
21
+ ```bash
22
+ pnpm add @samline/forms
23
+ ```
24
+
25
+ ```bash
26
+ yarn add @samline/forms
27
+ ```
28
+
29
+ ```bash
30
+ bun add @samline/forms
31
+ ```
32
+
33
+ ## Entrypoints
34
+
35
+ | Entrypoint | Uso |
36
+ | --- | --- |
37
+ | `@samline/forms` | API vanilla principal |
38
+ | `@samline/forms/core` | Tipos, serialización y validación |
39
+ | `@samline/forms/vanilla` | Alias explícito de la API DOM |
40
+ | `@samline/forms/react` | Hook para React |
41
+ | `@samline/forms/vue` | Composable para Vue |
42
+ | `@samline/forms/svelte` | Store y action para Svelte |
43
+ | `@samline/forms/browser` | Bundle global para script tag |
44
+
45
+ ## Quick Start
46
+
47
+ ```ts
48
+ import { form } from '@samline/forms'
49
+
50
+ const contactForm = form('contact-form', {
51
+ validators: {
52
+ email: {
53
+ required: true,
54
+ pattern: /^[^\s@]+@[^\s@]+\.[^\s@]+$/
55
+ }
56
+ }
57
+ })
58
+
59
+ contactForm.onSubmit((element, data, formData, state) => {
60
+ console.log(element, data, formData, state)
61
+ })
62
+ ```
63
+
64
+ ## API
65
+
66
+ - `form(target, options)` crea un controlador para un `form` real o un id.
67
+ - `watch` y `observe` reaccionan a cambios por campo.
68
+ - `validate` y `revalidate` ejecutan reglas básicas compartidas.
69
+ - `setErrors` y `clearErrors` mantienen el estado visual y lógico.
70
+ - `getData` devuelve objeto serializado y `FormData` listo para `fetch`.
71
+
72
+ ## Documentation
73
+
74
+ - [docs/vanilla.md](docs/vanilla.md)
75
+ - [docs/react.md](docs/react.md)
76
+ - [docs/vue.md](docs/vue.md)
77
+ - [docs/svelte.md](docs/svelte.md)
78
+ - [docs/browser.md](docs/browser.md)
79
+
80
+ ## License
81
+
82
+ MIT
83
+
84
+ ## Browser
85
+
86
+ El build browser expone `window.SamlineForms` para proyectos sin bundler.
87
+
88
+ ```html
89
+ <script src="/dist/browser/global.global.js"></script>
90
+ <script>
91
+ const contactForm = window.SamlineForms.form('contact-form')
92
+ </script>
93
+ ```