@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.
Files changed (108) hide show
  1. package/dist/cjs/dropi-button.cjs.entry.js +19 -2
  2. package/dist/cjs/dropi-checkbox.cjs.entry.js +23 -2
  3. package/dist/cjs/dropi-country-selector.cjs.entry.js +15 -2
  4. package/dist/cjs/dropi-date-picker.cjs.entry.js +40 -4
  5. package/dist/cjs/dropi-input_3.cjs.entry.js +3 -3
  6. package/dist/cjs/dropi-otp-send-code.cjs.entry.js +22 -2
  7. package/dist/cjs/dropi-phone-input.cjs.entry.js +25 -2
  8. package/dist/cjs/dropi-radio-button.cjs.entry.js +18 -1
  9. package/dist/cjs/dropi-select.cjs.entry.js +1 -1
  10. package/dist/cjs/dropi-switch.cjs.entry.js +22 -1
  11. package/dist/cjs/dropi-text-area.cjs.entry.js +3 -3
  12. package/dist/cjs/dropi-ui.cjs.js +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/components/dropi-button/dropi-button.js +39 -2
  15. package/dist/collection/components/dropi-checkbox/dropi-checkbox.js +38 -2
  16. package/dist/collection/components/dropi-country-selector/dropi-country-selector.js +29 -2
  17. package/dist/collection/components/dropi-date-picker/dropi-date-picker.js +55 -4
  18. package/dist/collection/components/dropi-input/dropi-input.js +4 -4
  19. package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.js +36 -2
  20. package/dist/collection/components/dropi-phone-input/dropi-phone-input.js +39 -2
  21. package/dist/collection/components/dropi-radio-button/dropi-radio-button.js +13 -2
  22. package/dist/collection/components/dropi-select/dropi-select.js +2 -2
  23. package/dist/collection/components/dropi-switch/dropi-switch.js +37 -1
  24. package/dist/collection/components/dropi-text-area/dropi-text-area.js +4 -4
  25. package/dist/components/dropi-alert-modal.js +1 -1
  26. package/dist/components/dropi-button.js +1 -1
  27. package/dist/components/dropi-card-checkbox.js +1 -1
  28. package/dist/components/dropi-card-section.js +1 -1
  29. package/dist/components/dropi-checkbox-selection-list.js +1 -1
  30. package/dist/components/dropi-checkbox.js +1 -1
  31. package/dist/components/dropi-country-selector.js +1 -1
  32. package/dist/components/dropi-date-picker.js +1 -1
  33. package/dist/components/dropi-dropdown.js +1 -1
  34. package/dist/components/dropi-empty-state.js +1 -1
  35. package/dist/components/dropi-file-upload.js +1 -1
  36. package/dist/components/dropi-input.js +1 -1
  37. package/dist/components/dropi-otp-send-code.js +1 -1
  38. package/dist/components/dropi-phone-input.js +1 -1
  39. package/dist/components/dropi-radio-button.js +1 -1
  40. package/dist/components/dropi-search.js +1 -1
  41. package/dist/components/dropi-select.js +1 -1
  42. package/dist/components/dropi-switch.js +1 -1
  43. package/dist/components/dropi-table.js +1 -1
  44. package/dist/components/dropi-text-area.js +1 -1
  45. package/dist/components/p-CCZ6rIo5.js +1 -0
  46. package/dist/components/p-Dd1g1gjR.js +1 -0
  47. package/dist/components/p-Dnx3uXgo.js +1 -0
  48. package/dist/components/p-Qrac2GRu.js +1 -0
  49. package/dist/dropi-ui/dropi-button.entry.js +19 -2
  50. package/dist/dropi-ui/dropi-button.entry.js.map +1 -1
  51. package/dist/dropi-ui/dropi-checkbox.entry.js +23 -2
  52. package/dist/dropi-ui/dropi-checkbox.entry.js.map +1 -1
  53. package/dist/dropi-ui/dropi-country-selector.entry.js +15 -2
  54. package/dist/dropi-ui/dropi-country-selector.entry.js.map +1 -1
  55. package/dist/dropi-ui/dropi-date-picker.entry.js +40 -4
  56. package/dist/dropi-ui/dropi-date-picker.entry.js.map +1 -1
  57. package/dist/dropi-ui/dropi-input.entry.js +3 -3
  58. package/dist/dropi-ui/dropi-input.entry.js.map +1 -1
  59. package/dist/dropi-ui/dropi-otp-send-code.entry.js +22 -2
  60. package/dist/dropi-ui/dropi-otp-send-code.entry.js.map +1 -1
  61. package/dist/dropi-ui/dropi-phone-input.entry.js +25 -2
  62. package/dist/dropi-ui/dropi-phone-input.entry.js.map +1 -1
  63. package/dist/dropi-ui/dropi-radio-button.entry.js +18 -1
  64. package/dist/dropi-ui/dropi-radio-button.entry.js.map +1 -1
  65. package/dist/dropi-ui/dropi-select.entry.js +1 -1
  66. package/dist/dropi-ui/dropi-select.entry.js.map +1 -1
  67. package/dist/dropi-ui/dropi-switch.entry.js +22 -1
  68. package/dist/dropi-ui/dropi-switch.entry.js.map +1 -1
  69. package/dist/dropi-ui/dropi-text-area.entry.js +3 -3
  70. package/dist/dropi-ui/dropi-text-area.entry.js.map +1 -1
  71. package/dist/dropi-ui/dropi-ui.esm.js +1 -1
  72. package/dist/dropi-ui/p-09462f7b.entry.js +1 -0
  73. package/dist/dropi-ui/p-42a85ce5.entry.js +1 -0
  74. package/dist/dropi-ui/p-43e21ed8.entry.js +1 -0
  75. package/dist/dropi-ui/p-532136cc.entry.js +1 -0
  76. package/dist/dropi-ui/p-9a569a4e.entry.js +1 -0
  77. package/dist/dropi-ui/p-b2e8c0e2.entry.js +1 -0
  78. package/dist/dropi-ui/p-bc6bb893.entry.js +1 -0
  79. package/dist/dropi-ui/p-c08b8995.entry.js +1 -0
  80. package/dist/dropi-ui/p-c6926604.entry.js +1 -0
  81. package/dist/dropi-ui/p-eaa10fe8.entry.js +1 -0
  82. package/dist/dropi-ui/p-fb4856ea.entry.js +1 -0
  83. package/dist/esm/dropi-button.entry.js +19 -2
  84. package/dist/esm/dropi-checkbox.entry.js +23 -2
  85. package/dist/esm/dropi-country-selector.entry.js +15 -2
  86. package/dist/esm/dropi-date-picker.entry.js +40 -4
  87. package/dist/esm/dropi-input_3.entry.js +3 -3
  88. package/dist/esm/dropi-otp-send-code.entry.js +22 -2
  89. package/dist/esm/dropi-phone-input.entry.js +25 -2
  90. package/dist/esm/dropi-radio-button.entry.js +18 -1
  91. package/dist/esm/dropi-select.entry.js +1 -1
  92. package/dist/esm/dropi-switch.entry.js +22 -1
  93. package/dist/esm/dropi-text-area.entry.js +3 -3
  94. package/dist/esm/dropi-ui.js +1 -1
  95. package/dist/esm/loader.js +1 -1
  96. package/dist/types/components/dropi-button/dropi-button.d.ts +4 -0
  97. package/dist/types/components/dropi-checkbox/dropi-checkbox.d.ts +5 -0
  98. package/dist/types/components/dropi-country-selector/dropi-country-selector.d.ts +3 -0
  99. package/dist/types/components/dropi-date-picker/dropi-date-picker.d.ts +6 -0
  100. package/dist/types/components/dropi-otp-send-code/dropi-otp-send-code.d.ts +3 -0
  101. package/dist/types/components/dropi-phone-input/dropi-phone-input.d.ts +5 -0
  102. package/dist/types/components/dropi-radio-button/dropi-radio-button.d.ts +3 -0
  103. package/dist/types/components/dropi-switch/dropi-switch.d.ts +5 -0
  104. package/dist/types/components.d.ts +109 -4
  105. package/hydrate/index.js +218 -43
  106. package/hydrate/index.mjs +218 -43
  107. package/package.json +1 -1
  108. package/readme.md +36 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dropi/ui",
3
- "version": "0.1.43",
3
+ "version": "0.1.44",
4
4
  "description": "Dropi Design System — Web Components for Angular, React and Vue",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
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