@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.
- package/README.md +93 -0
- package/dist/browser/global.global.js +722 -0
- package/dist/browser/global.global.js.map +1 -0
- package/dist/chunk-4NEGCRY2.js +125 -0
- package/dist/chunk-4NEGCRY2.js.map +1 -0
- package/dist/chunk-D3J67V3G.js +571 -0
- package/dist/chunk-D3J67V3G.js.map +1 -0
- package/dist/chunk-HP2CJPHY.js +11 -0
- package/dist/chunk-HP2CJPHY.js.map +1 -0
- package/dist/core/index.cjs +154 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.cts +11 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.js +13 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.cjs +721 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/react/index.cjs +729 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +10 -0
- package/dist/react/index.d.ts +10 -0
- package/dist/react/index.js +43 -0
- package/dist/react/index.js.map +1 -0
- package/dist/svelte/index.cjs +759 -0
- package/dist/svelte/index.cjs.map +1 -0
- package/dist/svelte/index.d.cts +20 -0
- package/dist/svelte/index.d.ts +20 -0
- package/dist/svelte/index.js +72 -0
- package/dist/svelte/index.js.map +1 -0
- package/dist/types-gvovPPPU.d.cts +93 -0
- package/dist/types-gvovPPPU.d.ts +93 -0
- package/dist/vanilla/index.cjs +700 -0
- package/dist/vanilla/index.cjs.map +1 -0
- package/dist/vanilla/index.d.cts +7 -0
- package/dist/vanilla/index.d.ts +7 -0
- package/dist/vanilla/index.js +12 -0
- package/dist/vanilla/index.js.map +1 -0
- package/dist/vue/index.cjs +736 -0
- package/dist/vue/index.cjs.map +1 -0
- package/dist/vue/index.d.cts +13 -0
- package/dist/vue/index.d.ts +13 -0
- package/dist/vue/index.js +56 -0
- package/dist/vue/index.js.map +1 -0
- 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
|
+
```
|