@dropi/ui 0.1.43 → 0.1.44
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/dist/cjs/dropi-button.cjs.entry.js +19 -2
- package/dist/cjs/dropi-checkbox.cjs.entry.js +23 -2
- package/dist/cjs/dropi-country-selector.cjs.entry.js +15 -2
- package/dist/cjs/dropi-date-picker.cjs.entry.js +40 -4
- package/dist/cjs/dropi-input_3.cjs.entry.js +3 -3
- package/dist/cjs/dropi-otp-send-code.cjs.entry.js +22 -2
- package/dist/cjs/dropi-phone-input.cjs.entry.js +25 -2
- package/dist/cjs/dropi-radio-button.cjs.entry.js +18 -1
- package/dist/cjs/dropi-select.cjs.entry.js +1 -1
- package/dist/cjs/dropi-switch.cjs.entry.js +22 -1
- package/dist/cjs/dropi-text-area.cjs.entry.js +3 -3
- package/dist/cjs/dropi-ui.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/dropi-button/dropi-button.js +39 -2
- package/dist/collection/components/dropi-checkbox/dropi-checkbox.js +38 -2
- package/dist/collection/components/dropi-country-selector/dropi-country-selector.js +29 -2
- package/dist/collection/components/dropi-date-picker/dropi-date-picker.js +55 -4
- package/dist/collection/components/dropi-input/dropi-input.js +4 -4
- package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.js +36 -2
- package/dist/collection/components/dropi-phone-input/dropi-phone-input.js +39 -2
- package/dist/collection/components/dropi-radio-button/dropi-radio-button.js +13 -2
- package/dist/collection/components/dropi-select/dropi-select.js +2 -2
- package/dist/collection/components/dropi-switch/dropi-switch.js +37 -1
- package/dist/collection/components/dropi-text-area/dropi-text-area.js +4 -4
- package/dist/components/dropi-alert-modal.js +1 -1
- package/dist/components/dropi-button.js +1 -1
- package/dist/components/dropi-card-checkbox.js +1 -1
- package/dist/components/dropi-card-section.js +1 -1
- package/dist/components/dropi-checkbox-selection-list.js +1 -1
- package/dist/components/dropi-checkbox.js +1 -1
- package/dist/components/dropi-country-selector.js +1 -1
- package/dist/components/dropi-date-picker.js +1 -1
- package/dist/components/dropi-dropdown.js +1 -1
- package/dist/components/dropi-empty-state.js +1 -1
- package/dist/components/dropi-file-upload.js +1 -1
- package/dist/components/dropi-input.js +1 -1
- package/dist/components/dropi-otp-send-code.js +1 -1
- package/dist/components/dropi-phone-input.js +1 -1
- package/dist/components/dropi-radio-button.js +1 -1
- package/dist/components/dropi-search.js +1 -1
- package/dist/components/dropi-select.js +1 -1
- package/dist/components/dropi-switch.js +1 -1
- package/dist/components/dropi-table.js +1 -1
- package/dist/components/dropi-text-area.js +1 -1
- package/dist/components/p-CCZ6rIo5.js +1 -0
- package/dist/components/p-Dd1g1gjR.js +1 -0
- package/dist/components/p-Dnx3uXgo.js +1 -0
- package/dist/components/p-Qrac2GRu.js +1 -0
- package/dist/dropi-ui/dropi-button.entry.js +19 -2
- package/dist/dropi-ui/dropi-button.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-checkbox.entry.js +23 -2
- package/dist/dropi-ui/dropi-checkbox.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-country-selector.entry.js +15 -2
- package/dist/dropi-ui/dropi-country-selector.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-date-picker.entry.js +40 -4
- package/dist/dropi-ui/dropi-date-picker.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-input.entry.js +3 -3
- package/dist/dropi-ui/dropi-input.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-otp-send-code.entry.js +22 -2
- package/dist/dropi-ui/dropi-otp-send-code.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-phone-input.entry.js +25 -2
- package/dist/dropi-ui/dropi-phone-input.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-radio-button.entry.js +18 -1
- package/dist/dropi-ui/dropi-radio-button.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-select.entry.js +1 -1
- package/dist/dropi-ui/dropi-select.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-switch.entry.js +22 -1
- package/dist/dropi-ui/dropi-switch.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-text-area.entry.js +3 -3
- package/dist/dropi-ui/dropi-text-area.entry.js.map +1 -1
- package/dist/dropi-ui/dropi-ui.esm.js +1 -1
- package/dist/dropi-ui/p-09462f7b.entry.js +1 -0
- package/dist/dropi-ui/p-42a85ce5.entry.js +1 -0
- package/dist/dropi-ui/p-43e21ed8.entry.js +1 -0
- package/dist/dropi-ui/p-532136cc.entry.js +1 -0
- package/dist/dropi-ui/p-9a569a4e.entry.js +1 -0
- package/dist/dropi-ui/p-b2e8c0e2.entry.js +1 -0
- package/dist/dropi-ui/p-bc6bb893.entry.js +1 -0
- package/dist/dropi-ui/p-c08b8995.entry.js +1 -0
- package/dist/dropi-ui/p-c6926604.entry.js +1 -0
- package/dist/dropi-ui/p-eaa10fe8.entry.js +1 -0
- package/dist/dropi-ui/p-fb4856ea.entry.js +1 -0
- package/dist/esm/dropi-button.entry.js +19 -2
- package/dist/esm/dropi-checkbox.entry.js +23 -2
- package/dist/esm/dropi-country-selector.entry.js +15 -2
- package/dist/esm/dropi-date-picker.entry.js +40 -4
- package/dist/esm/dropi-input_3.entry.js +3 -3
- package/dist/esm/dropi-otp-send-code.entry.js +22 -2
- package/dist/esm/dropi-phone-input.entry.js +25 -2
- package/dist/esm/dropi-radio-button.entry.js +18 -1
- package/dist/esm/dropi-select.entry.js +1 -1
- package/dist/esm/dropi-switch.entry.js +22 -1
- package/dist/esm/dropi-text-area.entry.js +3 -3
- package/dist/esm/dropi-ui.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/dropi-button/dropi-button.d.ts +4 -0
- package/dist/types/components/dropi-checkbox/dropi-checkbox.d.ts +5 -0
- package/dist/types/components/dropi-country-selector/dropi-country-selector.d.ts +3 -0
- package/dist/types/components/dropi-date-picker/dropi-date-picker.d.ts +6 -0
- package/dist/types/components/dropi-otp-send-code/dropi-otp-send-code.d.ts +3 -0
- package/dist/types/components/dropi-phone-input/dropi-phone-input.d.ts +5 -0
- package/dist/types/components/dropi-radio-button/dropi-radio-button.d.ts +3 -0
- package/dist/types/components/dropi-switch/dropi-switch.d.ts +5 -0
- package/dist/types/components.d.ts +109 -4
- package/hydrate/index.js +218 -43
- package/hydrate/index.mjs +218 -43
- package/package.json +1 -1
- package/readme.md +36 -0
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -139,6 +139,40 @@ onOnInput={(e) => console.log(e.detail)}
|
|
|
139
139
|
|
|
140
140
|
---
|
|
141
141
|
|
|
142
|
+
## 📋 Soporte para Formularios Nativos
|
|
143
|
+
|
|
144
|
+
Todos los componentes de entrada (`DropiInput`, `DropiSelect`, `DropiCheckbox`, `DropiSwitch`, `DropiPhoneInput`, `DropiCountrySelector`, `DropiOtpSendCode`) soportan asociación nativa a formularios. Esto permite capturar sus valores usando `new FormData(event.currentTarget)` o a través de la propiedad `elements` del formulario.
|
|
145
|
+
|
|
146
|
+
### Requisitos
|
|
147
|
+
1. El componente debe estar dentro de un tag `<form>`.
|
|
148
|
+
2. Se **debe** proporcionar la prop `name` al componente.
|
|
149
|
+
|
|
150
|
+
### Ejemplo en React
|
|
151
|
+
```tsx
|
|
152
|
+
const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
|
|
153
|
+
e.preventDefault();
|
|
154
|
+
|
|
155
|
+
// Obtener todos los datos como un objeto
|
|
156
|
+
const formData = new FormData(e.currentTarget);
|
|
157
|
+
const data = Object.fromEntries(formData.entries());
|
|
158
|
+
console.log(data); // { email: "...", country: "CO", ... }
|
|
159
|
+
|
|
160
|
+
// Acceso directo por nombre
|
|
161
|
+
const { email } = e.currentTarget.elements as any;
|
|
162
|
+
console.log(email.value);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
return (
|
|
166
|
+
<form onSubmit={handleSubmit}>
|
|
167
|
+
<DropiInput name="email" label="Email" required />
|
|
168
|
+
<DropiCountrySelector name="country" label="País" />
|
|
169
|
+
<DropiButton nativeType="submit" text="Enviar" />
|
|
170
|
+
</form>
|
|
171
|
+
);
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
142
176
|
## Uso en React (Métodos Imperativos)
|
|
143
177
|
|
|
144
178
|
Componentes como `DropiModal` y `DropiToast` tienen métodos que deben llamarse vía `ref`. Dado que los wrappers son generados, a veces es necesario castear a `any` para acceder a `show()` o `hide()`.
|
|
@@ -175,6 +209,8 @@ Botón de acción principal con múltiples variantes de tipo, apariencia, tamañ
|
|
|
175
209
|
| `text` | `string` | `''` | Texto del label |
|
|
176
210
|
| `preIcon` | `string` | `''` | Ícono antes del texto |
|
|
177
211
|
| `postIcon` | `string` | `''` | Ícono después del texto |
|
|
212
|
+
| `nativeType` | `'button' \| 'submit' \| 'reset'` | `'button'` | Tipo de botón nativo HTML |
|
|
213
|
+
|
|
178
214
|
|
|
179
215
|
**Eventos**
|
|
180
216
|
|