@dropi/ui 0.1.27 → 0.1.28

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 (489) hide show
  1. package/dist/cjs/dropi-accordion-item.cjs.entry.js +54 -0
  2. package/dist/cjs/dropi-accordion.cjs.entry.js +19 -0
  3. package/dist/cjs/dropi-alert-legacy.cjs.entry.js +39 -0
  4. package/dist/cjs/dropi-alert-modal.cjs.entry.js +128 -0
  5. package/dist/cjs/dropi-alert.cjs.entry.js +64 -0
  6. package/dist/cjs/dropi-avatars.cjs.entry.js +31 -0
  7. package/dist/cjs/dropi-badge-legacy.cjs.entry.js +30 -0
  8. package/dist/cjs/dropi-badge.cjs.entry.js +37 -0
  9. package/dist/cjs/dropi-banner-external.cjs.entry.js +63 -0
  10. package/dist/cjs/dropi-breadcrumb.cjs.entry.js +48 -0
  11. package/dist/cjs/dropi-button.cjs.entry.js +87 -0
  12. package/dist/cjs/dropi-card-checkbox.cjs.entry.js +48 -0
  13. package/dist/cjs/dropi-card-product.cjs.entry.js +78 -0
  14. package/dist/cjs/dropi-card-section.cjs.entry.js +38 -0
  15. package/dist/cjs/dropi-carousel.cjs.entry.js +153 -0
  16. package/dist/cjs/dropi-checkbox-selection-list.cjs.entry.js +73 -0
  17. package/dist/cjs/dropi-checkbox.cjs.entry.js +36 -0
  18. package/dist/cjs/dropi-chips.cjs.entry.js +30 -0
  19. package/dist/cjs/dropi-city-selector.cjs.entry.js +104 -0
  20. package/dist/cjs/dropi-color-picker.cjs.entry.js +319 -0
  21. package/dist/cjs/dropi-country-flags.cjs.entry.js +37 -0
  22. package/dist/cjs/dropi-country-selector.cjs.entry.js +197 -0
  23. package/dist/cjs/dropi-date-picker-range.cjs.entry.js +115 -0
  24. package/dist/cjs/dropi-date-picker.cjs.entry.js +223 -0
  25. package/dist/cjs/dropi-drawer.cjs.entry.js +79 -0
  26. package/dist/cjs/dropi-dropdown.cjs.entry.js +65 -0
  27. package/dist/cjs/dropi-empty-state.cjs.entry.js +36 -0
  28. package/dist/cjs/dropi-favorite-button.cjs.entry.js +27 -0
  29. package/dist/cjs/dropi-file-upload-progress-bar.cjs.entry.js +77 -0
  30. package/dist/cjs/dropi-file-upload.cjs.entry.js +237 -0
  31. package/dist/cjs/dropi-icon.cjs.entry.js +67 -0
  32. package/dist/cjs/dropi-ilustration-icon.cjs.entry.js +39 -0
  33. package/dist/cjs/dropi-image-miniature.cjs.entry.js +44 -0
  34. package/dist/cjs/dropi-image-overlay.cjs.entry.js +63 -0
  35. package/dist/cjs/dropi-input_3.cjs.entry.js +392 -0
  36. package/dist/cjs/dropi-languages-selector.cjs.entry.js +61 -0
  37. package/dist/cjs/dropi-logo.cjs.entry.js +37 -0
  38. package/dist/cjs/dropi-lottie-loader.cjs.entry.js +27 -0
  39. package/dist/cjs/dropi-media-player.cjs.entry.js +192 -0
  40. package/dist/cjs/dropi-modal.cjs.entry.js +142 -0
  41. package/dist/cjs/dropi-navbar.cjs.entry.js +54 -0
  42. package/dist/cjs/dropi-otp-send-code.cjs.entry.js +92 -0
  43. package/dist/cjs/dropi-phone-input.cjs.entry.js +197 -0
  44. package/dist/cjs/dropi-radio-button.cjs.entry.js +47 -0
  45. package/dist/cjs/dropi-radio-selection-list.cjs.entry.js +60 -0
  46. package/dist/cjs/dropi-read-more.cjs.entry.js +40 -0
  47. package/dist/cjs/dropi-search.cjs.entry.js +124 -0
  48. package/dist/cjs/dropi-select.cjs.entry.js +382 -0
  49. package/dist/cjs/dropi-sidebar.cjs.entry.js +78 -0
  50. package/dist/cjs/dropi-simple-stepper.cjs.entry.js +53 -0
  51. package/dist/cjs/dropi-skeleton.cjs.entry.js +57 -0
  52. package/dist/cjs/dropi-steps.cjs.entry.js +52 -0
  53. package/dist/cjs/dropi-switch.cjs.entry.js +30 -0
  54. package/dist/cjs/dropi-table.cjs.entry.js +299 -0
  55. package/dist/cjs/dropi-tabs.cjs.entry.js +51 -0
  56. package/dist/cjs/dropi-tag-type-product.cjs.entry.js +19 -0
  57. package/dist/cjs/dropi-text-area.cjs.entry.js +134 -0
  58. package/dist/cjs/dropi-time-line.cjs.entry.js +34 -0
  59. package/dist/cjs/dropi-toast.cjs.entry.js +56 -0
  60. package/dist/cjs/dropi-tooltip-v2.cjs.entry.js +131 -0
  61. package/dist/cjs/dropi-tooltip.cjs.entry.js +21 -0
  62. package/dist/cjs/dropi-ui.cjs.js +24 -0
  63. package/dist/cjs/dropi-vertical-steps.cjs.entry.js +55 -0
  64. package/dist/cjs/dropi-youtube-lazy-video.cjs.entry.js +33 -0
  65. package/dist/cjs/index-C8kwDvpf.js +2773 -0
  66. package/dist/cjs/index.cjs.js +2 -0
  67. package/dist/cjs/loader.cjs.js +12 -0
  68. package/dist/collection/assets/icons/symbol/svg/sprite.css.svg +1 -0
  69. package/dist/collection/collection-manifest.json +77 -0
  70. package/dist/collection/components/dropi-accordion/dropi-accordion-item.css +45 -0
  71. package/dist/collection/components/dropi-accordion/dropi-accordion-item.js +172 -0
  72. package/dist/collection/components/dropi-accordion/dropi-accordion.css +21 -0
  73. package/dist/collection/components/dropi-accordion/dropi-accordion.js +48 -0
  74. package/dist/collection/components/dropi-alert/dropi-alert.css +128 -0
  75. package/dist/collection/components/dropi-alert/dropi-alert.js +371 -0
  76. package/dist/collection/components/dropi-alert-legacy/dropi-alert-legacy.css +31 -0
  77. package/dist/collection/components/dropi-alert-legacy/dropi-alert-legacy.js +128 -0
  78. package/dist/collection/components/dropi-alert-modal/dropi-alert-modal.css +105 -0
  79. package/dist/collection/components/dropi-alert-modal/dropi-alert-modal.js +525 -0
  80. package/dist/collection/components/dropi-avatars/dropi-avatars.css +55 -0
  81. package/dist/collection/components/dropi-avatars/dropi-avatars.js +126 -0
  82. package/dist/collection/components/dropi-badge/dropi-badge.css +41 -0
  83. package/dist/collection/components/dropi-badge/dropi-badge.js +71 -0
  84. package/dist/collection/components/dropi-badge-legacy/dropi-badge-legacy.css +17 -0
  85. package/dist/collection/components/dropi-badge-legacy/dropi-badge-legacy.js +119 -0
  86. package/dist/collection/components/dropi-banner-external/dropi-banner-external.css +56 -0
  87. package/dist/collection/components/dropi-banner-external/dropi-banner-external.js +254 -0
  88. package/dist/collection/components/dropi-breadcrumb/dropi-breadcrumb.css +69 -0
  89. package/dist/collection/components/dropi-breadcrumb/dropi-breadcrumb.js +171 -0
  90. package/dist/collection/components/dropi-button/dropi-button.css +177 -0
  91. package/dist/collection/components/dropi-button/dropi-button.js +323 -0
  92. package/dist/collection/components/dropi-card-checkbox/dropi-card-checkbox.css +92 -0
  93. package/dist/collection/components/dropi-card-checkbox/dropi-card-checkbox.js +222 -0
  94. package/dist/collection/components/dropi-card-product/dropi-card-product.css +235 -0
  95. package/dist/collection/components/dropi-card-product/dropi-card-product.js +386 -0
  96. package/dist/collection/components/dropi-card-section/dropi-card-section.css +42 -0
  97. package/dist/collection/components/dropi-card-section/dropi-card-section.js +178 -0
  98. package/dist/collection/components/dropi-carousel/dropi-carousel.css +148 -0
  99. package/dist/collection/components/dropi-carousel/dropi-carousel.js +379 -0
  100. package/dist/collection/components/dropi-checkbox/dropi-checkbox.css +47 -0
  101. package/dist/collection/components/dropi-checkbox/dropi-checkbox.js +103 -0
  102. package/dist/collection/components/dropi-checkbox-selection-list/dropi-checkbox-selection-list.css +44 -0
  103. package/dist/collection/components/dropi-checkbox-selection-list/dropi-checkbox-selection-list.js +267 -0
  104. package/dist/collection/components/dropi-chips/dropi-chips.css +68 -0
  105. package/dist/collection/components/dropi-chips/dropi-chips.js +169 -0
  106. package/dist/collection/components/dropi-city-selector/dropi-city-selector.css +218 -0
  107. package/dist/collection/components/dropi-city-selector/dropi-city-selector.js +242 -0
  108. package/dist/collection/components/dropi-color-picker/dropi-color-picker.css +210 -0
  109. package/dist/collection/components/dropi-color-picker/dropi-color-picker.js +393 -0
  110. package/dist/collection/components/dropi-country-flags/dropi-country-flags.css +30 -0
  111. package/dist/collection/components/dropi-country-flags/dropi-country-flags.js +129 -0
  112. package/dist/collection/components/dropi-country-selector/dropi-country-selector.css +211 -0
  113. package/dist/collection/components/dropi-country-selector/dropi-country-selector.js +429 -0
  114. package/dist/collection/components/dropi-date-picker/dropi-date-picker.css +215 -0
  115. package/dist/collection/components/dropi-date-picker/dropi-date-picker.js +516 -0
  116. package/dist/collection/components/dropi-date-picker-range/dropi-date-picker-range.css +143 -0
  117. package/dist/collection/components/dropi-date-picker-range/dropi-date-picker-range.js +327 -0
  118. package/dist/collection/components/dropi-drawer/dropi-drawer.css +129 -0
  119. package/dist/collection/components/dropi-drawer/dropi-drawer.js +287 -0
  120. package/dist/collection/components/dropi-dropdown/dropi-dropdown.css +51 -0
  121. package/dist/collection/components/dropi-dropdown/dropi-dropdown.js +209 -0
  122. package/dist/collection/components/dropi-empty-state/dropi-empty-state.css +59 -0
  123. package/dist/collection/components/dropi-empty-state/dropi-empty-state.js +222 -0
  124. package/dist/collection/components/dropi-favorite-button/dropi-favorite-button.css +24 -0
  125. package/dist/collection/components/dropi-favorite-button/dropi-favorite-button.js +78 -0
  126. package/dist/collection/components/dropi-file-upload/dropi-file-upload.css +464 -0
  127. package/dist/collection/components/dropi-file-upload/dropi-file-upload.js +517 -0
  128. package/dist/collection/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.css +115 -0
  129. package/dist/collection/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.js +258 -0
  130. package/dist/collection/components/dropi-icon/dropi-icon.css +26 -0
  131. package/dist/collection/components/dropi-icon/dropi-icon.js +159 -0
  132. package/dist/collection/components/dropi-ilustration-icon/dropi-ilustration-icon.css +91 -0
  133. package/dist/collection/components/dropi-ilustration-icon/dropi-ilustration-icon.js +150 -0
  134. package/dist/collection/components/dropi-image-miniature/dropi-image-miniature.css +45 -0
  135. package/dist/collection/components/dropi-image-miniature/dropi-image-miniature.js +150 -0
  136. package/dist/collection/components/dropi-image-overlay/dropi-image-overlay.css +127 -0
  137. package/dist/collection/components/dropi-image-overlay/dropi-image-overlay.js +156 -0
  138. package/dist/collection/components/dropi-input/dropi-input.css +185 -0
  139. package/dist/collection/components/dropi-input/dropi-input.js +808 -0
  140. package/dist/collection/components/dropi-languages-selector/dropi-languages-selector.css +79 -0
  141. package/dist/collection/components/dropi-languages-selector/dropi-languages-selector.js +158 -0
  142. package/dist/collection/components/dropi-logo/dropi-logo.css +26 -0
  143. package/dist/collection/components/dropi-logo/dropi-logo.js +107 -0
  144. package/dist/collection/components/dropi-lottie-loader/dropi-lottie-loader.css +56 -0
  145. package/dist/collection/components/dropi-lottie-loader/dropi-lottie-loader.js +116 -0
  146. package/dist/collection/components/dropi-media-player/dropi-media-player.css +320 -0
  147. package/dist/collection/components/dropi-media-player/dropi-media-player.js +394 -0
  148. package/dist/collection/components/dropi-modal/dropi-modal.css +140 -0
  149. package/dist/collection/components/dropi-modal/dropi-modal.js +695 -0
  150. package/dist/collection/components/dropi-navbar/dropi-navbar.css +166 -0
  151. package/dist/collection/components/dropi-navbar/dropi-navbar.js +302 -0
  152. package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.css +67 -0
  153. package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.js +221 -0
  154. package/dist/collection/components/dropi-paginator/dropi-paginator.css +103 -0
  155. package/dist/collection/components/dropi-paginator/dropi-paginator.js +215 -0
  156. package/dist/collection/components/dropi-phone-input/dropi-phone-input.css +209 -0
  157. package/dist/collection/components/dropi-phone-input/dropi-phone-input.js +442 -0
  158. package/dist/collection/components/dropi-radio-button/dropi-radio-button.css +62 -0
  159. package/dist/collection/components/dropi-radio-button/dropi-radio-button.js +174 -0
  160. package/dist/collection/components/dropi-radio-selection-list/dropi-radio-selection-list.css +64 -0
  161. package/dist/collection/components/dropi-radio-selection-list/dropi-radio-selection-list.js +259 -0
  162. package/dist/collection/components/dropi-read-more/dropi-read-more.css +25 -0
  163. package/dist/collection/components/dropi-read-more/dropi-read-more.js +154 -0
  164. package/dist/collection/components/dropi-search/dropi-search.css +112 -0
  165. package/dist/collection/components/dropi-search/dropi-search.js +526 -0
  166. package/dist/collection/components/dropi-select/dropi-select.css +366 -0
  167. package/dist/collection/components/dropi-select/dropi-select.js +1018 -0
  168. package/dist/collection/components/dropi-select/select.types.js +1 -0
  169. package/dist/collection/components/dropi-sidebar/dropi-sidebar.css +76 -0
  170. package/dist/collection/components/dropi-sidebar/dropi-sidebar.js +143 -0
  171. package/dist/collection/components/dropi-simple-stepper/dropi-simple-stepper.css +94 -0
  172. package/dist/collection/components/dropi-simple-stepper/dropi-simple-stepper.js +194 -0
  173. package/dist/collection/components/dropi-skeleton/dropi-skeleton.css +27 -0
  174. package/dist/collection/components/dropi-skeleton/dropi-skeleton.js +192 -0
  175. package/dist/collection/components/dropi-steps/dropi-steps.css +95 -0
  176. package/dist/collection/components/dropi-steps/dropi-steps.js +173 -0
  177. package/dist/collection/components/dropi-switch/dropi-switch.css +57 -0
  178. package/dist/collection/components/dropi-switch/dropi-switch.js +96 -0
  179. package/dist/collection/components/dropi-table/dropi-table.css +540 -0
  180. package/dist/collection/components/dropi-table/dropi-table.js +973 -0
  181. package/dist/collection/components/dropi-tabs/dropi-tabs.css +47 -0
  182. package/dist/collection/components/dropi-tabs/dropi-tabs.js +181 -0
  183. package/dist/collection/components/dropi-tag/dropi-tag.css +39 -0
  184. package/dist/collection/components/dropi-tag/dropi-tag.js +190 -0
  185. package/dist/collection/components/dropi-tag-type-product/dropi-tag-type-product.css +14 -0
  186. package/dist/collection/components/dropi-tag-type-product/dropi-tag-type-product.js +48 -0
  187. package/dist/collection/components/dropi-text-area/dropi-text-area.css +100 -0
  188. package/dist/collection/components/dropi-text-area/dropi-text-area.js +512 -0
  189. package/dist/collection/components/dropi-time-line/dropi-time-line.css +108 -0
  190. package/dist/collection/components/dropi-time-line/dropi-time-line.js +69 -0
  191. package/dist/collection/components/dropi-toast/dropi-toast.css +63 -0
  192. package/dist/collection/components/dropi-toast/dropi-toast.js +165 -0
  193. package/dist/collection/components/dropi-tooltip/dropi-tooltip.css +32 -0
  194. package/dist/collection/components/dropi-tooltip/dropi-tooltip.js +70 -0
  195. package/dist/collection/components/dropi-tooltip-v2/dropi-tooltip.css +67 -0
  196. package/dist/collection/components/dropi-tooltip-v2/dropi-tooltip.js +468 -0
  197. package/dist/collection/components/dropi-vertical-steps/dropi-vertical-steps.css +95 -0
  198. package/dist/collection/components/dropi-vertical-steps/dropi-vertical-steps.js +167 -0
  199. package/dist/collection/components/dropi-youtube-lazy-video/dropi-youtube-lazy-video.css +73 -0
  200. package/dist/collection/components/dropi-youtube-lazy-video/dropi-youtube-lazy-video.js +110 -0
  201. package/dist/collection/index.js +1 -0
  202. package/dist/collection/utils/utils.js +3 -0
  203. package/dist/collection/utils/utils.unit.test.js +16 -0
  204. package/dist/components/dropi-accordion-item.js +1 -0
  205. package/dist/components/dropi-accordion.js +1 -0
  206. package/dist/components/dropi-alert-legacy.js +1 -0
  207. package/dist/components/dropi-alert-modal.js +1 -0
  208. package/dist/components/dropi-alert.js +1 -0
  209. package/dist/components/dropi-avatars.js +1 -0
  210. package/dist/components/dropi-badge-legacy.js +1 -0
  211. package/dist/components/dropi-badge.js +1 -0
  212. package/dist/components/dropi-banner-external.js +1 -0
  213. package/dist/components/dropi-breadcrumb.js +1 -0
  214. package/dist/components/dropi-button.js +1 -0
  215. package/dist/components/dropi-card-checkbox.js +1 -0
  216. package/dist/components/dropi-card-product.js +1 -0
  217. package/dist/components/dropi-card-section.js +1 -0
  218. package/dist/components/dropi-carousel.js +1 -0
  219. package/dist/components/dropi-checkbox-selection-list.js +1 -0
  220. package/dist/components/dropi-checkbox.js +1 -0
  221. package/dist/components/dropi-chips.js +1 -0
  222. package/dist/components/dropi-city-selector.js +1 -0
  223. package/dist/components/dropi-color-picker.js +1 -0
  224. package/dist/components/dropi-country-flags.js +1 -0
  225. package/dist/components/dropi-country-selector.js +1 -0
  226. package/dist/components/dropi-date-picker-range.js +1 -0
  227. package/dist/components/dropi-date-picker.js +1 -0
  228. package/dist/components/dropi-drawer.js +1 -0
  229. package/dist/components/dropi-dropdown.js +1 -0
  230. package/dist/components/dropi-empty-state.js +1 -0
  231. package/dist/components/dropi-favorite-button.js +1 -0
  232. package/dist/components/dropi-file-upload-progress-bar.js +1 -0
  233. package/dist/components/dropi-file-upload.js +1 -0
  234. package/dist/components/dropi-icon.js +1 -0
  235. package/dist/components/dropi-ilustration-icon.js +1 -0
  236. package/dist/components/dropi-image-miniature.js +1 -0
  237. package/dist/components/dropi-image-overlay.js +1 -0
  238. package/dist/components/dropi-input.js +1 -0
  239. package/dist/components/dropi-languages-selector.js +1 -0
  240. package/dist/components/dropi-logo.js +1 -0
  241. package/dist/components/dropi-lottie-loader.js +1 -0
  242. package/dist/components/dropi-media-player.js +1 -0
  243. package/dist/components/dropi-modal.js +1 -0
  244. package/dist/components/dropi-navbar.js +1 -0
  245. package/dist/components/dropi-otp-send-code.js +1 -0
  246. package/dist/components/dropi-paginator.js +1 -0
  247. package/dist/components/dropi-phone-input.js +1 -0
  248. package/dist/components/dropi-radio-button.js +1 -0
  249. package/dist/components/dropi-radio-selection-list.js +1 -0
  250. package/dist/components/dropi-read-more.js +1 -0
  251. package/dist/components/dropi-search.js +1 -0
  252. package/dist/components/dropi-select.js +1 -0
  253. package/dist/components/dropi-sidebar.js +1 -0
  254. package/dist/components/dropi-simple-stepper.js +1 -0
  255. package/dist/components/dropi-skeleton.js +1 -0
  256. package/dist/components/dropi-steps.js +1 -0
  257. package/dist/components/dropi-switch.js +1 -0
  258. package/dist/components/dropi-table.js +1 -0
  259. package/dist/components/dropi-tabs.js +1 -0
  260. package/dist/components/dropi-tag-type-product.js +1 -0
  261. package/dist/components/dropi-tag.js +1 -0
  262. package/dist/components/dropi-text-area.js +1 -0
  263. package/dist/components/dropi-time-line.js +1 -0
  264. package/dist/components/dropi-toast.js +1 -0
  265. package/dist/components/dropi-tooltip-v2.js +1 -0
  266. package/dist/components/dropi-tooltip.js +1 -0
  267. package/dist/components/dropi-vertical-steps.js +1 -0
  268. package/dist/components/dropi-youtube-lazy-video.js +1 -0
  269. package/dist/components/index.js +1 -0
  270. package/dist/components/p-B9R8Apw7.js +1 -0
  271. package/dist/components/p-B_Ace02i.js +1 -0
  272. package/dist/components/p-BrjO_JXp.js +1 -0
  273. package/dist/components/p-BwhxWL4p.js +1 -0
  274. package/dist/components/p-Bz2jXX3R.js +1 -0
  275. package/dist/components/p-CV_oz45O.js +1 -0
  276. package/dist/components/p-D-vQQQNz.js +1 -0
  277. package/dist/components/p-D13d88W3.js +1 -0
  278. package/dist/components/p-DGUfr98Z.js +1 -0
  279. package/dist/components/p-QOZr7tU8.js +1 -0
  280. package/dist/components/p-a-hGQrJd.js +1 -0
  281. package/dist/components/p-o5gyrbbD.js +1 -0
  282. package/dist/dropi-ui/dropi-ui.css +1 -311
  283. package/dist/dropi-ui/dropi-ui.esm.js +1 -50
  284. package/dist/dropi-ui/index.esm.js +0 -4
  285. package/dist/dropi-ui/p-00e5a2de.entry.js +1 -0
  286. package/dist/dropi-ui/p-0188e07a.entry.js +1 -0
  287. package/dist/dropi-ui/p-02710049.entry.js +1 -0
  288. package/dist/dropi-ui/p-17c56074.entry.js +1 -0
  289. package/dist/dropi-ui/p-18adf694.entry.js +1 -0
  290. package/dist/dropi-ui/p-1a3619c3.entry.js +1 -0
  291. package/dist/dropi-ui/p-1d3d6a32.entry.js +1 -0
  292. package/dist/dropi-ui/p-25640777.entry.js +1 -0
  293. package/dist/dropi-ui/p-2674d901.entry.js +1 -0
  294. package/dist/dropi-ui/p-2af538b9.entry.js +1 -0
  295. package/dist/dropi-ui/p-3013f3b8.entry.js +1 -0
  296. package/dist/dropi-ui/p-3321ca70.entry.js +1 -0
  297. package/dist/dropi-ui/p-33d242ec.entry.js +1 -0
  298. package/dist/dropi-ui/p-34b66ca2.entry.js +1 -0
  299. package/dist/dropi-ui/p-39af6478.entry.js +1 -0
  300. package/dist/dropi-ui/p-3e36c8b8.entry.js +1 -0
  301. package/dist/dropi-ui/p-3ebc9b7b.entry.js +1 -0
  302. package/dist/dropi-ui/p-446a481d.entry.js +1 -0
  303. package/dist/dropi-ui/p-50e0d44f.entry.js +1 -0
  304. package/dist/dropi-ui/p-53a7a37d.entry.js +1 -0
  305. package/dist/dropi-ui/p-5c0bd7c2.entry.js +1 -0
  306. package/dist/dropi-ui/p-5cee6721.entry.js +1 -0
  307. package/dist/dropi-ui/p-5fb33ae4.entry.js +1 -0
  308. package/dist/dropi-ui/p-665ef7ba.entry.js +1 -0
  309. package/dist/dropi-ui/p-66b80371.entry.js +1 -0
  310. package/dist/dropi-ui/p-7bfc1c27.entry.js +1 -0
  311. package/dist/dropi-ui/p-7c0d2edf.entry.js +1 -0
  312. package/dist/dropi-ui/p-7eb27836.entry.js +1 -0
  313. package/dist/dropi-ui/p-85444414.entry.js +1 -0
  314. package/dist/dropi-ui/p-86283e99.entry.js +1 -0
  315. package/dist/dropi-ui/p-8bf5d8ee.entry.js +1 -0
  316. package/dist/dropi-ui/p-9032ba00.entry.js +1 -0
  317. package/dist/dropi-ui/p-9212f544.entry.js +1 -0
  318. package/dist/dropi-ui/p-92291873.entry.js +1 -0
  319. package/dist/dropi-ui/p-955e52f8.entry.js +1 -0
  320. package/dist/dropi-ui/p-976a15e3.entry.js +1 -0
  321. package/dist/dropi-ui/p-9b037086.entry.js +1 -0
  322. package/dist/dropi-ui/p-9e0129cc.entry.js +1 -0
  323. package/dist/dropi-ui/p-9ffec3f7.entry.js +1 -0
  324. package/dist/dropi-ui/p-D5SAM1O2.js +2 -0
  325. package/dist/dropi-ui/p-a1c93e55.entry.js +1 -0
  326. package/dist/dropi-ui/p-a232c6a7.entry.js +1 -0
  327. package/dist/dropi-ui/p-a3c4d677.entry.js +1 -0
  328. package/dist/dropi-ui/p-a457e8ca.entry.js +1 -0
  329. package/dist/dropi-ui/p-a4e1df5e.entry.js +1 -0
  330. package/dist/dropi-ui/p-a822a23e.entry.js +1 -0
  331. package/dist/dropi-ui/p-a8f24270.entry.js +1 -0
  332. package/dist/dropi-ui/p-ae35d538.entry.js +1 -0
  333. package/dist/dropi-ui/p-af8e2157.entry.js +1 -0
  334. package/dist/dropi-ui/p-b2623a5c.entry.js +1 -0
  335. package/dist/dropi-ui/p-b3d3c72e.entry.js +1 -0
  336. package/dist/dropi-ui/p-c3614c4a.entry.js +1 -0
  337. package/dist/dropi-ui/p-cbf5367e.entry.js +1 -0
  338. package/dist/dropi-ui/p-cc527d91.entry.js +1 -0
  339. package/dist/dropi-ui/p-cdde481b.entry.js +1 -0
  340. package/dist/dropi-ui/p-d42d4ef7.entry.js +1 -0
  341. package/dist/dropi-ui/p-db38bf16.entry.js +1 -0
  342. package/dist/dropi-ui/p-dd5d8b1b.entry.js +1 -0
  343. package/dist/dropi-ui/p-e3ad21f8.entry.js +1 -0
  344. package/dist/dropi-ui/p-e6e766ed.entry.js +1 -0
  345. package/dist/dropi-ui/p-ec263862.entry.js +1 -0
  346. package/dist/dropi-ui/p-efc2fc35.entry.js +1 -0
  347. package/dist/dropi-ui/p-f41cd9b5.entry.js +1 -0
  348. package/dist/dropi-ui/p-fa3d0267.entry.js +1 -0
  349. package/dist/{dropi-ui → esm}/dropi-accordion-item.entry.js +2 -8
  350. package/dist/{dropi-ui → esm}/dropi-accordion.entry.js +1 -4
  351. package/dist/{dropi-ui → esm}/dropi-alert-legacy.entry.js +1 -4
  352. package/dist/{dropi-ui → esm}/dropi-alert-modal.entry.js +1 -4
  353. package/dist/{dropi-ui → esm}/dropi-alert.entry.js +1 -4
  354. package/dist/{dropi-ui → esm}/dropi-avatars.entry.js +1 -4
  355. package/dist/{dropi-ui → esm}/dropi-badge-legacy.entry.js +1 -4
  356. package/dist/{dropi-ui → esm}/dropi-badge.entry.js +1 -4
  357. package/dist/{dropi-ui → esm}/dropi-banner-external.entry.js +1 -4
  358. package/dist/{dropi-ui → esm}/dropi-breadcrumb.entry.js +1 -4
  359. package/dist/{dropi-ui → esm}/dropi-button.entry.js +1 -4
  360. package/dist/{dropi-ui → esm}/dropi-card-checkbox.entry.js +1 -4
  361. package/dist/{dropi-ui → esm}/dropi-card-product.entry.js +1 -4
  362. package/dist/{dropi-ui → esm}/dropi-card-section.entry.js +1 -4
  363. package/dist/{dropi-ui → esm}/dropi-carousel.entry.js +1 -4
  364. package/dist/{dropi-ui → esm}/dropi-checkbox-selection-list.entry.js +1 -4
  365. package/dist/{dropi-ui → esm}/dropi-checkbox.entry.js +1 -4
  366. package/dist/{dropi-ui → esm}/dropi-chips.entry.js +1 -4
  367. package/dist/{dropi-ui → esm}/dropi-city-selector.entry.js +1 -4
  368. package/dist/{dropi-ui → esm}/dropi-color-picker.entry.js +1 -4
  369. package/dist/{dropi-ui → esm}/dropi-country-flags.entry.js +1 -4
  370. package/dist/{dropi-ui → esm}/dropi-country-selector.entry.js +1 -4
  371. package/dist/{dropi-ui → esm}/dropi-date-picker-range.entry.js +1 -4
  372. package/dist/{dropi-ui → esm}/dropi-date-picker.entry.js +1 -4
  373. package/dist/{dropi-ui → esm}/dropi-drawer.entry.js +1 -4
  374. package/dist/{dropi-ui → esm}/dropi-dropdown.entry.js +1 -4
  375. package/dist/{dropi-ui → esm}/dropi-empty-state.entry.js +1 -4
  376. package/dist/{dropi-ui → esm}/dropi-favorite-button.entry.js +1 -4
  377. package/dist/{dropi-ui → esm}/dropi-file-upload-progress-bar.entry.js +1 -4
  378. package/dist/{dropi-ui → esm}/dropi-file-upload.entry.js +1 -4
  379. package/dist/{dropi-ui → esm}/dropi-icon.entry.js +1 -4
  380. package/dist/{dropi-ui → esm}/dropi-ilustration-icon.entry.js +1 -4
  381. package/dist/{dropi-ui → esm}/dropi-image-miniature.entry.js +1 -4
  382. package/dist/{dropi-ui → esm}/dropi-image-overlay.entry.js +1 -4
  383. package/dist/{dropi-ui/dropi-input.entry.js → esm/dropi-input_3.entry.js} +128 -4
  384. package/dist/{dropi-ui → esm}/dropi-languages-selector.entry.js +1 -4
  385. package/dist/{dropi-ui → esm}/dropi-logo.entry.js +1 -4
  386. package/dist/{dropi-ui → esm}/dropi-lottie-loader.entry.js +1 -4
  387. package/dist/{dropi-ui → esm}/dropi-media-player.entry.js +1 -4
  388. package/dist/{dropi-ui → esm}/dropi-modal.entry.js +1 -4
  389. package/dist/{dropi-ui → esm}/dropi-navbar.entry.js +1 -4
  390. package/dist/{dropi-ui → esm}/dropi-otp-send-code.entry.js +1 -4
  391. package/dist/{dropi-ui → esm}/dropi-phone-input.entry.js +1 -4
  392. package/dist/{dropi-ui → esm}/dropi-radio-button.entry.js +1 -4
  393. package/dist/{dropi-ui → esm}/dropi-radio-selection-list.entry.js +1 -4
  394. package/dist/{dropi-ui → esm}/dropi-read-more.entry.js +1 -4
  395. package/dist/{dropi-ui → esm}/dropi-search.entry.js +1 -4
  396. package/dist/{dropi-ui → esm}/dropi-select.entry.js +1 -4
  397. package/dist/{dropi-ui → esm}/dropi-sidebar.entry.js +1 -4
  398. package/dist/{dropi-ui → esm}/dropi-simple-stepper.entry.js +1 -4
  399. package/dist/{dropi-ui → esm}/dropi-skeleton.entry.js +1 -4
  400. package/dist/{dropi-ui → esm}/dropi-steps.entry.js +1 -4
  401. package/dist/{dropi-ui → esm}/dropi-switch.entry.js +1 -4
  402. package/dist/{dropi-ui → esm}/dropi-table.entry.js +1 -4
  403. package/dist/{dropi-ui → esm}/dropi-tabs.entry.js +1 -4
  404. package/dist/{dropi-ui → esm}/dropi-tag-type-product.entry.js +1 -4
  405. package/dist/{dropi-ui → esm}/dropi-text-area.entry.js +1 -4
  406. package/dist/{dropi-ui → esm}/dropi-time-line.entry.js +1 -4
  407. package/dist/{dropi-ui → esm}/dropi-toast.entry.js +1 -4
  408. package/dist/{dropi-ui → esm}/dropi-tooltip-v2.entry.js +1 -4
  409. package/dist/{dropi-ui → esm}/dropi-tooltip.entry.js +1 -4
  410. package/dist/esm/dropi-ui.js +20 -0
  411. package/dist/{dropi-ui → esm}/dropi-vertical-steps.entry.js +1 -4
  412. package/dist/{dropi-ui → esm}/dropi-youtube-lazy-video.entry.js +1 -4
  413. package/dist/esm/index-D5SAM1O2.js +2763 -0
  414. package/dist/esm/index.js +1 -0
  415. package/dist/esm/loader.js +10 -0
  416. package/dist/index.cjs.js +1 -0
  417. package/dist/index.js +1 -0
  418. package/package.json +1 -1
  419. package/dist/dropi-ui/dropi-accordion-item.entry.js.map +0 -1
  420. package/dist/dropi-ui/dropi-accordion.entry.js.map +0 -1
  421. package/dist/dropi-ui/dropi-alert-legacy.entry.js.map +0 -1
  422. package/dist/dropi-ui/dropi-alert-modal.entry.js.map +0 -1
  423. package/dist/dropi-ui/dropi-alert.entry.js.map +0 -1
  424. package/dist/dropi-ui/dropi-avatars.entry.js.map +0 -1
  425. package/dist/dropi-ui/dropi-badge-legacy.entry.js.map +0 -1
  426. package/dist/dropi-ui/dropi-badge.entry.js.map +0 -1
  427. package/dist/dropi-ui/dropi-banner-external.entry.js.map +0 -1
  428. package/dist/dropi-ui/dropi-breadcrumb.entry.js.map +0 -1
  429. package/dist/dropi-ui/dropi-button.entry.js.map +0 -1
  430. package/dist/dropi-ui/dropi-card-checkbox.entry.js.map +0 -1
  431. package/dist/dropi-ui/dropi-card-product.entry.js.map +0 -1
  432. package/dist/dropi-ui/dropi-card-section.entry.js.map +0 -1
  433. package/dist/dropi-ui/dropi-carousel.entry.js.map +0 -1
  434. package/dist/dropi-ui/dropi-checkbox-selection-list.entry.js.map +0 -1
  435. package/dist/dropi-ui/dropi-checkbox.entry.js.map +0 -1
  436. package/dist/dropi-ui/dropi-chips.entry.js.map +0 -1
  437. package/dist/dropi-ui/dropi-city-selector.entry.js.map +0 -1
  438. package/dist/dropi-ui/dropi-color-picker.entry.js.map +0 -1
  439. package/dist/dropi-ui/dropi-country-flags.entry.js.map +0 -1
  440. package/dist/dropi-ui/dropi-country-selector.entry.js.map +0 -1
  441. package/dist/dropi-ui/dropi-date-picker-range.entry.js.map +0 -1
  442. package/dist/dropi-ui/dropi-date-picker.entry.js.map +0 -1
  443. package/dist/dropi-ui/dropi-drawer.entry.js.map +0 -1
  444. package/dist/dropi-ui/dropi-dropdown.entry.js.map +0 -1
  445. package/dist/dropi-ui/dropi-empty-state.entry.js.map +0 -1
  446. package/dist/dropi-ui/dropi-favorite-button.entry.js.map +0 -1
  447. package/dist/dropi-ui/dropi-file-upload-progress-bar.entry.js.map +0 -1
  448. package/dist/dropi-ui/dropi-file-upload.entry.js.map +0 -1
  449. package/dist/dropi-ui/dropi-icon.entry.js.map +0 -1
  450. package/dist/dropi-ui/dropi-ilustration-icon.entry.js.map +0 -1
  451. package/dist/dropi-ui/dropi-image-miniature.entry.js.map +0 -1
  452. package/dist/dropi-ui/dropi-image-overlay.entry.js.map +0 -1
  453. package/dist/dropi-ui/dropi-input.entry.js.map +0 -1
  454. package/dist/dropi-ui/dropi-languages-selector.entry.js.map +0 -1
  455. package/dist/dropi-ui/dropi-logo.entry.js.map +0 -1
  456. package/dist/dropi-ui/dropi-lottie-loader.entry.js.map +0 -1
  457. package/dist/dropi-ui/dropi-media-player.entry.js.map +0 -1
  458. package/dist/dropi-ui/dropi-modal.entry.js.map +0 -1
  459. package/dist/dropi-ui/dropi-navbar.entry.js.map +0 -1
  460. package/dist/dropi-ui/dropi-otp-send-code.entry.js.map +0 -1
  461. package/dist/dropi-ui/dropi-paginator.entry.js +0 -70
  462. package/dist/dropi-ui/dropi-paginator.entry.js.map +0 -1
  463. package/dist/dropi-ui/dropi-phone-input.entry.js.map +0 -1
  464. package/dist/dropi-ui/dropi-radio-button.entry.js.map +0 -1
  465. package/dist/dropi-ui/dropi-radio-selection-list.entry.js.map +0 -1
  466. package/dist/dropi-ui/dropi-read-more.entry.js.map +0 -1
  467. package/dist/dropi-ui/dropi-search.entry.js.map +0 -1
  468. package/dist/dropi-ui/dropi-select.entry.js.map +0 -1
  469. package/dist/dropi-ui/dropi-sidebar.entry.js.map +0 -1
  470. package/dist/dropi-ui/dropi-simple-stepper.entry.js.map +0 -1
  471. package/dist/dropi-ui/dropi-skeleton.entry.js.map +0 -1
  472. package/dist/dropi-ui/dropi-steps.entry.js.map +0 -1
  473. package/dist/dropi-ui/dropi-switch.entry.js.map +0 -1
  474. package/dist/dropi-ui/dropi-table.entry.js.map +0 -1
  475. package/dist/dropi-ui/dropi-tabs.entry.js.map +0 -1
  476. package/dist/dropi-ui/dropi-tag-type-product.entry.js.map +0 -1
  477. package/dist/dropi-ui/dropi-tag.entry.js +0 -69
  478. package/dist/dropi-ui/dropi-tag.entry.js.map +0 -1
  479. package/dist/dropi-ui/dropi-text-area.entry.js.map +0 -1
  480. package/dist/dropi-ui/dropi-time-line.entry.js.map +0 -1
  481. package/dist/dropi-ui/dropi-toast.entry.js.map +0 -1
  482. package/dist/dropi-ui/dropi-tooltip-v2.entry.js.map +0 -1
  483. package/dist/dropi-ui/dropi-tooltip.entry.js.map +0 -1
  484. package/dist/dropi-ui/dropi-ui.esm.js.map +0 -1
  485. package/dist/dropi-ui/dropi-vertical-steps.entry.js.map +0 -1
  486. package/dist/dropi-ui/dropi-youtube-lazy-video.entry.js.map +0 -1
  487. package/dist/dropi-ui/index-Cvp2LQOM.js +0 -4585
  488. package/dist/dropi-ui/index-Cvp2LQOM.js.map +0 -1
  489. package/dist/dropi-ui/index.esm.js.map +0 -1
@@ -0,0 +1,808 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * @component dropi-input
4
+ * Text input with floating label, validation states, password toggle,
5
+ * number/letter restrictions, thousand separator, and native form association.
6
+ *
7
+ * ## Form usage (native HTML form)
8
+ * ```html
9
+ * <form>
10
+ * <dropi-input name="email" label="Email" required></dropi-input>
11
+ * </form>
12
+ * ```
13
+ *
14
+ * ## Controlled usage (React / Vue / Angular)
15
+ * Pass `value` and listen to `dropiInput` to update.
16
+ */
17
+ export class DropiInput {
18
+ internals;
19
+ // ── Identification ──────────────────────────────────────────
20
+ /** Input id. Defaults to label label. */
21
+ id = '';
22
+ /** Name attribute for native form submission */
23
+ name = '';
24
+ // ── Content ─────────────────────────────────────────────────
25
+ /** Floating or fixed label text */
26
+ label = '';
27
+ /** Placeholder text (visible in fixedLabel mode or on focus) */
28
+ placeholder = ' ';
29
+ /** Current value (controlled) */
30
+ value = '';
31
+ /** Max character length */
32
+ maxLength;
33
+ // ── Behavior ────────────────────────────────────────────────
34
+ /** Disable the input */
35
+ disabled = false;
36
+ /** Mark as required (shows asterisk when showObligatoryAsterisk is true) */
37
+ required = false;
38
+ /** Show the required asterisk on the label */
39
+ showObligatoryAsterisk = true;
40
+ /** Show label above the input (fixed), instead of floating inside */
41
+ fixedLabel = false;
42
+ /** Keyboard input mode hint */
43
+ inputMode = 'text';
44
+ // ── Input type modifiers ────────────────────────────────────
45
+ /** Show password visibility toggle (renders as password field) */
46
+ passwordInput = false;
47
+ /** Apply thousand separator formatting (e.g. 1,000,000) */
48
+ isMoneyInput = false;
49
+ /** Apply thousand separator without currency symbol */
50
+ isThousandSeparator = false;
51
+ /** Only allow numeric characters */
52
+ isNumericInput = false;
53
+ /** Allow decimal point when isNumericInput is true */
54
+ allowDecimals = false;
55
+ /** Only allow letter characters */
56
+ isLettersOnly = false;
57
+ // ── Icon ────────────────────────────────────────────────────
58
+ /** Icon name shown inside the input (only visible when value is not empty) */
59
+ icon = '';
60
+ /** Color token for the icon */
61
+ iconColor = 'Gray-Gray-400';
62
+ // ── Validation ──────────────────────────────────────────────
63
+ /** Mark the field as invalid (consumer-controlled) */
64
+ hasError = false;
65
+ /** Helper / error text shown below the field */
66
+ textHelper = '';
67
+ /** Only show textHelper when the field is invalid */
68
+ showHelperOnlyOnError = false;
69
+ // ── Angular-parity ──────────────────────────────────────────
70
+ /**
71
+ * Convenience object prop — matches Angular `inputProperties: InputProperties`.
72
+ * Fields: id, label, placeholder, maxLength, textHelper, passwordInput,
73
+ * icon, iconColor, isMoneyInput, showObligatoryAsterisk, isNumericInput,
74
+ * allowDecimals, isThousandSeparator, showHelperOnlyOnError,
75
+ * isLettersOnly, inputMode.
76
+ * Note: `formControl` is not supported; use `value` + onInput event instead.
77
+ */
78
+ inputProperties = null;
79
+ // ── Internal state ──────────────────────────────────────────
80
+ showPassword = false;
81
+ touched = false;
82
+ // ── Events ──────────────────────────────────────────────────
83
+ /** Emitted on every keystroke with the current value */
84
+ onInput;
85
+ /** Emitted on blur with the final value */
86
+ onChange;
87
+ /** Emitted on focus */
88
+ onFocus;
89
+ /** Emitted on blur */
90
+ onBlur;
91
+ inputPropertiesChanged(val) {
92
+ if (!val)
93
+ return;
94
+ if (val.id !== undefined)
95
+ this.id = val.id;
96
+ if (val.label !== undefined)
97
+ this.label = val.label;
98
+ if (val.placeholder !== undefined)
99
+ this.placeholder = val.placeholder;
100
+ if (val.maxLength !== undefined)
101
+ this.maxLength = val.maxLength;
102
+ if (val.textHelper !== undefined)
103
+ this.textHelper = val.textHelper;
104
+ if (val.passwordInput !== undefined)
105
+ this.passwordInput = val.passwordInput;
106
+ if (val.isPasswordInput !== undefined)
107
+ this.passwordInput = val.isPasswordInput; // Fallback
108
+ if (val.icon !== undefined)
109
+ this.icon = val.icon;
110
+ if (val.iconColor !== undefined)
111
+ this.iconColor = val.iconColor;
112
+ if (val.isMoneyInput !== undefined)
113
+ this.isMoneyInput = val.isMoneyInput;
114
+ if (val.showObligatoryAsterisk !== undefined)
115
+ this.showObligatoryAsterisk = val.showObligatoryAsterisk;
116
+ if (val.isNumericInput !== undefined)
117
+ this.isNumericInput = val.isNumericInput;
118
+ if (val.allowDecimals !== undefined)
119
+ this.allowDecimals = val.allowDecimals;
120
+ if (val.isThousandSeparator !== undefined)
121
+ this.isThousandSeparator = val.isThousandSeparator;
122
+ if (val.showHelperOnlyOnError !== undefined)
123
+ this.showHelperOnlyOnError = val.showHelperOnlyOnError;
124
+ if (val.isLettersOnly !== undefined)
125
+ this.isLettersOnly = val.isLettersOnly;
126
+ if (val.inputMode !== undefined)
127
+ this.inputMode = val.inputMode;
128
+ }
129
+ valueChanged(val) {
130
+ this.internals.setFormValue(val);
131
+ }
132
+ disabledChanged(val) {
133
+ this.internals.setValidity(val ? { customError: true } : {}, val ? 'Field is disabled' : '');
134
+ }
135
+ componentWillLoad() {
136
+ this.internals.setFormValue(this.value ?? '');
137
+ if (this.inputProperties)
138
+ this.inputPropertiesChanged(this.inputProperties);
139
+ }
140
+ // ── Handlers ────────────────────────────────────────────────
141
+ handleInput(e) {
142
+ let val = e.target.value;
143
+ if (this.isNumericInput)
144
+ val = this.filterNumbers(val);
145
+ if (this.isLettersOnly)
146
+ val = this.filterLetters(val);
147
+ if (this.isMoneyInput || this.isThousandSeparator)
148
+ val = this.formatThousands(val, this.isMoneyInput);
149
+ this.value = val;
150
+ this.internals.setFormValue(val);
151
+ this.onInput.emit(val);
152
+ }
153
+ handleKeyDown(e) {
154
+ if ((this.isNumericInput || this.isMoneyInput || this.isThousandSeparator) && !this.isAllowedNumberKey(e)) {
155
+ e.preventDefault();
156
+ }
157
+ if (this.isLettersOnly && !this.isAllowedLetterKey(e)) {
158
+ e.preventDefault();
159
+ }
160
+ }
161
+ handleFocus() {
162
+ this.onFocus.emit();
163
+ }
164
+ handleBlur() {
165
+ this.touched = true;
166
+ this.onChange.emit(this.value);
167
+ this.onBlur.emit();
168
+ }
169
+ togglePassword() {
170
+ if (this.disabled)
171
+ return;
172
+ this.showPassword = !this.showPassword;
173
+ }
174
+ // ── Helpers ─────────────────────────────────────────────────
175
+ filterNumbers(val) {
176
+ const pattern = this.allowDecimals ? /[^0-9.]/g : /[^0-9]/g;
177
+ return val.replace(pattern, '');
178
+ }
179
+ filterLetters(val) {
180
+ return val.replace(/[^a-zA-ZáéíóúÁÉÍÓÚñÑüÜ\s]/g, '');
181
+ }
182
+ isAllowedNumberKey(e) {
183
+ const allowed = ['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Tab', 'Enter', 'Home', 'End'];
184
+ if (allowed.includes(e.key))
185
+ return true;
186
+ if (e.ctrlKey || e.metaKey)
187
+ return true; // copy/paste/select-all
188
+ if (/^[0-9]$/.test(e.key))
189
+ return true;
190
+ if (this.allowDecimals && e.key === '.')
191
+ return true;
192
+ return false;
193
+ }
194
+ isAllowedLetterKey(e) {
195
+ const allowed = ['Backspace', 'Delete', 'ArrowLeft', 'ArrowRight', 'Tab', 'Enter', 'Home', 'End', ' '];
196
+ if (allowed.includes(e.key))
197
+ return true;
198
+ if (e.ctrlKey || e.metaKey)
199
+ return true;
200
+ return /^[a-zA-ZáéíóúÁÉÍÓÚñÑüÜ]$/.test(e.key);
201
+ }
202
+ formatThousands(val, withCurrency) {
203
+ const raw = val.replace(/[^0-9.]/g, '');
204
+ const [integer, decimal] = raw.split('.');
205
+ const formatted = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
206
+ const result = decimal !== undefined ? `${formatted}.${decimal}` : formatted;
207
+ return withCurrency ? `$${result}` : result;
208
+ }
209
+ // ── Computed ─────────────────────────────────────────────────
210
+ get resolvedId() {
211
+ return this.id || this.label;
212
+ }
213
+ get inputType() {
214
+ if (this.passwordInput)
215
+ return this.showPassword ? 'text' : 'password';
216
+ return 'text';
217
+ }
218
+ get showHelper() {
219
+ if (!this.textHelper)
220
+ return false;
221
+ if (this.showHelperOnlyOnError)
222
+ return this.hasError && this.touched;
223
+ return true;
224
+ }
225
+ get isInvalid() {
226
+ return this.hasError && this.touched;
227
+ }
228
+ // ── Render ───────────────────────────────────────────────────
229
+ render() {
230
+ const showObligatoryAsterisk = this.required && this.showObligatoryAsterisk && !this.disabled;
231
+ const showIconInline = !!this.icon;
232
+ return (h("div", { key: 'cc38b113d77982ba53665a6c8ccbf39a393da696', class: { 'fixed-label-container': this.fixedLabel } }, this.fixedLabel && (h("div", { key: '06bb6b6df585f859dc7a903fac4ed3f9f6c31077', class: "input-label Body-S-Regular" }, this.label, showObligatoryAsterisk && h("span", { key: '6e87d6717a312d7497c2cf438aec7a692b974dda', class: "asterisk" }, " *"))), h("div", { key: '2eb67324cb06e04ee9fc5507a319a2eda8b5e410', class: "form-group" }, h("div", { key: '9d8d6f8df83c33782fd61810267e433fdab452d9', class: { 'input-container': true, 'input-container--has-icon': showIconInline } }, showIconInline && h("dropi-icon", { key: '370070a0e75a929438cb564698ee10c866e944a9', class: "icon-input", name: this.icon, color: this.iconColor, width: "20px", height: "20px" }), this.passwordInput && (h("dropi-icon", { key: '675958939e32a94060993515f9b9a58513ec2adc', class: "icon-input-password", name: this.showPassword ? 'Eye' : 'Eye-crossed', width: "20px", height: "20px", color: "Gray-Gray-500", onClick: () => this.togglePassword() })), h("input", { key: 'd2ac98c43f9863ea8153dc66dd3fe347a7c28473', id: this.resolvedId, class: {
233
+ 'form-control': true,
234
+ 'form-control-valid': !this.isInvalid && this.touched && !!this.value,
235
+ 'form-control-invalid': this.isInvalid,
236
+ 'padding-icon': showIconInline,
237
+ 'text-password': this.passwordInput && !this.showPassword,
238
+ 'fixed-label-input': this.fixedLabel,
239
+ }, type: this.inputType, value: this.value, placeholder: this.fixedLabel ? this.placeholder : ' ', disabled: this.disabled, required: this.required, maxLength: this.maxLength, inputMode: this.inputMode, "data-cy": undefined, onInput: e => this.handleInput(e), onKeyDown: e => this.handleKeyDown(e), onFocus: () => this.handleFocus(), onBlur: () => this.handleBlur() }), !this.fixedLabel && (h("label", { key: '45eb57801e7d199532215ba069af8ba01714a46f', class: "Body-S-Regular label-bottom", htmlFor: this.resolvedId }, this.label, showObligatoryAsterisk && h("span", { key: '5d4d83ce2575d60567a4a947d643a89f760cb3bd', class: "asterisk" }, " *"))), this.showHelper && (h("div", { key: 'b78fdac5f0c46b827c9dd2895d43a5e1724058d8', class: "form-control-helper" }, this.isInvalid && h("dropi-icon", { key: 'f037c95230fe0fa57540a1b74a26c14e56e555e4', name: "Warning-circle", width: "12px", height: "12px", color: "Error-Error-500" }), h("span", { key: 'fc48f7418c36f7ded7a999e446323ca8adb2b590', class: {
240
+ 'disabled-helper': this.disabled,
241
+ 'invalid-color': this.isInvalid,
242
+ } }, this.textHelper)))))));
243
+ }
244
+ static get is() { return "dropi-input"; }
245
+ static get encapsulation() { return "shadow"; }
246
+ static get formAssociated() { return true; }
247
+ static get originalStyleUrls() {
248
+ return {
249
+ "$": ["dropi-input.css"]
250
+ };
251
+ }
252
+ static get styleUrls() {
253
+ return {
254
+ "$": ["dropi-input.css"]
255
+ };
256
+ }
257
+ static get properties() {
258
+ return {
259
+ "id": {
260
+ "type": "string",
261
+ "mutable": true,
262
+ "complexType": {
263
+ "original": "string",
264
+ "resolved": "string",
265
+ "references": {}
266
+ },
267
+ "required": false,
268
+ "optional": false,
269
+ "docs": {
270
+ "tags": [],
271
+ "text": "Input id. Defaults to label label."
272
+ },
273
+ "getter": false,
274
+ "setter": false,
275
+ "reflect": false,
276
+ "attribute": "id",
277
+ "defaultValue": "''"
278
+ },
279
+ "name": {
280
+ "type": "string",
281
+ "mutable": false,
282
+ "complexType": {
283
+ "original": "string",
284
+ "resolved": "string",
285
+ "references": {}
286
+ },
287
+ "required": false,
288
+ "optional": false,
289
+ "docs": {
290
+ "tags": [],
291
+ "text": "Name attribute for native form submission"
292
+ },
293
+ "getter": false,
294
+ "setter": false,
295
+ "reflect": false,
296
+ "attribute": "name",
297
+ "defaultValue": "''"
298
+ },
299
+ "label": {
300
+ "type": "string",
301
+ "mutable": true,
302
+ "complexType": {
303
+ "original": "string",
304
+ "resolved": "string",
305
+ "references": {}
306
+ },
307
+ "required": false,
308
+ "optional": false,
309
+ "docs": {
310
+ "tags": [],
311
+ "text": "Floating or fixed label text"
312
+ },
313
+ "getter": false,
314
+ "setter": false,
315
+ "reflect": false,
316
+ "attribute": "label",
317
+ "defaultValue": "''"
318
+ },
319
+ "placeholder": {
320
+ "type": "string",
321
+ "mutable": true,
322
+ "complexType": {
323
+ "original": "string",
324
+ "resolved": "string",
325
+ "references": {}
326
+ },
327
+ "required": false,
328
+ "optional": false,
329
+ "docs": {
330
+ "tags": [],
331
+ "text": "Placeholder text (visible in fixedLabel mode or on focus)"
332
+ },
333
+ "getter": false,
334
+ "setter": false,
335
+ "reflect": false,
336
+ "attribute": "placeholder",
337
+ "defaultValue": "' '"
338
+ },
339
+ "value": {
340
+ "type": "string",
341
+ "mutable": true,
342
+ "complexType": {
343
+ "original": "string",
344
+ "resolved": "string",
345
+ "references": {}
346
+ },
347
+ "required": false,
348
+ "optional": false,
349
+ "docs": {
350
+ "tags": [],
351
+ "text": "Current value (controlled)"
352
+ },
353
+ "getter": false,
354
+ "setter": false,
355
+ "reflect": false,
356
+ "attribute": "value",
357
+ "defaultValue": "''"
358
+ },
359
+ "maxLength": {
360
+ "type": "number",
361
+ "mutable": true,
362
+ "complexType": {
363
+ "original": "number",
364
+ "resolved": "number",
365
+ "references": {}
366
+ },
367
+ "required": false,
368
+ "optional": false,
369
+ "docs": {
370
+ "tags": [],
371
+ "text": "Max character length"
372
+ },
373
+ "getter": false,
374
+ "setter": false,
375
+ "reflect": false,
376
+ "attribute": "max-length"
377
+ },
378
+ "disabled": {
379
+ "type": "boolean",
380
+ "mutable": false,
381
+ "complexType": {
382
+ "original": "boolean",
383
+ "resolved": "boolean",
384
+ "references": {}
385
+ },
386
+ "required": false,
387
+ "optional": false,
388
+ "docs": {
389
+ "tags": [],
390
+ "text": "Disable the input"
391
+ },
392
+ "getter": false,
393
+ "setter": false,
394
+ "reflect": true,
395
+ "attribute": "disabled",
396
+ "defaultValue": "false"
397
+ },
398
+ "required": {
399
+ "type": "boolean",
400
+ "mutable": false,
401
+ "complexType": {
402
+ "original": "boolean",
403
+ "resolved": "boolean",
404
+ "references": {}
405
+ },
406
+ "required": false,
407
+ "optional": false,
408
+ "docs": {
409
+ "tags": [],
410
+ "text": "Mark as required (shows asterisk when showObligatoryAsterisk is true)"
411
+ },
412
+ "getter": false,
413
+ "setter": false,
414
+ "reflect": true,
415
+ "attribute": "required",
416
+ "defaultValue": "false"
417
+ },
418
+ "showObligatoryAsterisk": {
419
+ "type": "boolean",
420
+ "mutable": true,
421
+ "complexType": {
422
+ "original": "boolean",
423
+ "resolved": "boolean",
424
+ "references": {}
425
+ },
426
+ "required": false,
427
+ "optional": false,
428
+ "docs": {
429
+ "tags": [],
430
+ "text": "Show the required asterisk on the label"
431
+ },
432
+ "getter": false,
433
+ "setter": false,
434
+ "reflect": false,
435
+ "attribute": "show-obligatory-asterisk",
436
+ "defaultValue": "true"
437
+ },
438
+ "fixedLabel": {
439
+ "type": "boolean",
440
+ "mutable": false,
441
+ "complexType": {
442
+ "original": "boolean",
443
+ "resolved": "boolean",
444
+ "references": {}
445
+ },
446
+ "required": false,
447
+ "optional": false,
448
+ "docs": {
449
+ "tags": [],
450
+ "text": "Show label above the input (fixed), instead of floating inside"
451
+ },
452
+ "getter": false,
453
+ "setter": false,
454
+ "reflect": false,
455
+ "attribute": "fixed-label",
456
+ "defaultValue": "false"
457
+ },
458
+ "inputMode": {
459
+ "type": "string",
460
+ "mutable": true,
461
+ "complexType": {
462
+ "original": "InputMode",
463
+ "resolved": "\"decimal\" | \"email\" | \"numeric\" | \"search\" | \"tel\" | \"text\" | \"url\"",
464
+ "references": {
465
+ "InputMode": {
466
+ "location": "local",
467
+ "path": "/Users/mac-ti/Documents/dropi/dropi-ui/src/components/dropi-input/dropi-input.tsx",
468
+ "id": "src/components/dropi-input/dropi-input.tsx::InputMode"
469
+ }
470
+ }
471
+ },
472
+ "required": false,
473
+ "optional": false,
474
+ "docs": {
475
+ "tags": [],
476
+ "text": "Keyboard input mode hint"
477
+ },
478
+ "getter": false,
479
+ "setter": false,
480
+ "reflect": false,
481
+ "attribute": "input-mode",
482
+ "defaultValue": "'text'"
483
+ },
484
+ "passwordInput": {
485
+ "type": "boolean",
486
+ "mutable": true,
487
+ "complexType": {
488
+ "original": "boolean",
489
+ "resolved": "boolean",
490
+ "references": {}
491
+ },
492
+ "required": false,
493
+ "optional": false,
494
+ "docs": {
495
+ "tags": [],
496
+ "text": "Show password visibility toggle (renders as password field)"
497
+ },
498
+ "getter": false,
499
+ "setter": false,
500
+ "reflect": false,
501
+ "attribute": "password-input",
502
+ "defaultValue": "false"
503
+ },
504
+ "isMoneyInput": {
505
+ "type": "boolean",
506
+ "mutable": true,
507
+ "complexType": {
508
+ "original": "boolean",
509
+ "resolved": "boolean",
510
+ "references": {}
511
+ },
512
+ "required": false,
513
+ "optional": false,
514
+ "docs": {
515
+ "tags": [],
516
+ "text": "Apply thousand separator formatting (e.g. 1,000,000)"
517
+ },
518
+ "getter": false,
519
+ "setter": false,
520
+ "reflect": false,
521
+ "attribute": "is-money-input",
522
+ "defaultValue": "false"
523
+ },
524
+ "isThousandSeparator": {
525
+ "type": "boolean",
526
+ "mutable": true,
527
+ "complexType": {
528
+ "original": "boolean",
529
+ "resolved": "boolean",
530
+ "references": {}
531
+ },
532
+ "required": false,
533
+ "optional": false,
534
+ "docs": {
535
+ "tags": [],
536
+ "text": "Apply thousand separator without currency symbol"
537
+ },
538
+ "getter": false,
539
+ "setter": false,
540
+ "reflect": false,
541
+ "attribute": "is-thousand-separator",
542
+ "defaultValue": "false"
543
+ },
544
+ "isNumericInput": {
545
+ "type": "boolean",
546
+ "mutable": true,
547
+ "complexType": {
548
+ "original": "boolean",
549
+ "resolved": "boolean",
550
+ "references": {}
551
+ },
552
+ "required": false,
553
+ "optional": false,
554
+ "docs": {
555
+ "tags": [],
556
+ "text": "Only allow numeric characters"
557
+ },
558
+ "getter": false,
559
+ "setter": false,
560
+ "reflect": false,
561
+ "attribute": "is-numeric-input",
562
+ "defaultValue": "false"
563
+ },
564
+ "allowDecimals": {
565
+ "type": "boolean",
566
+ "mutable": true,
567
+ "complexType": {
568
+ "original": "boolean",
569
+ "resolved": "boolean",
570
+ "references": {}
571
+ },
572
+ "required": false,
573
+ "optional": false,
574
+ "docs": {
575
+ "tags": [],
576
+ "text": "Allow decimal point when isNumericInput is true"
577
+ },
578
+ "getter": false,
579
+ "setter": false,
580
+ "reflect": false,
581
+ "attribute": "allow-decimals",
582
+ "defaultValue": "false"
583
+ },
584
+ "isLettersOnly": {
585
+ "type": "boolean",
586
+ "mutable": true,
587
+ "complexType": {
588
+ "original": "boolean",
589
+ "resolved": "boolean",
590
+ "references": {}
591
+ },
592
+ "required": false,
593
+ "optional": false,
594
+ "docs": {
595
+ "tags": [],
596
+ "text": "Only allow letter characters"
597
+ },
598
+ "getter": false,
599
+ "setter": false,
600
+ "reflect": false,
601
+ "attribute": "is-letters-only",
602
+ "defaultValue": "false"
603
+ },
604
+ "icon": {
605
+ "type": "string",
606
+ "mutable": true,
607
+ "complexType": {
608
+ "original": "string",
609
+ "resolved": "string",
610
+ "references": {}
611
+ },
612
+ "required": false,
613
+ "optional": false,
614
+ "docs": {
615
+ "tags": [],
616
+ "text": "Icon name shown inside the input (only visible when value is not empty)"
617
+ },
618
+ "getter": false,
619
+ "setter": false,
620
+ "reflect": false,
621
+ "attribute": "icon",
622
+ "defaultValue": "''"
623
+ },
624
+ "iconColor": {
625
+ "type": "string",
626
+ "mutable": true,
627
+ "complexType": {
628
+ "original": "string",
629
+ "resolved": "string",
630
+ "references": {}
631
+ },
632
+ "required": false,
633
+ "optional": false,
634
+ "docs": {
635
+ "tags": [],
636
+ "text": "Color token for the icon"
637
+ },
638
+ "getter": false,
639
+ "setter": false,
640
+ "reflect": false,
641
+ "attribute": "icon-color",
642
+ "defaultValue": "'Gray-Gray-400'"
643
+ },
644
+ "hasError": {
645
+ "type": "boolean",
646
+ "mutable": true,
647
+ "complexType": {
648
+ "original": "boolean",
649
+ "resolved": "boolean",
650
+ "references": {}
651
+ },
652
+ "required": false,
653
+ "optional": false,
654
+ "docs": {
655
+ "tags": [],
656
+ "text": "Mark the field as invalid (consumer-controlled)"
657
+ },
658
+ "getter": false,
659
+ "setter": false,
660
+ "reflect": false,
661
+ "attribute": "has-error",
662
+ "defaultValue": "false"
663
+ },
664
+ "textHelper": {
665
+ "type": "string",
666
+ "mutable": true,
667
+ "complexType": {
668
+ "original": "string",
669
+ "resolved": "string",
670
+ "references": {}
671
+ },
672
+ "required": false,
673
+ "optional": false,
674
+ "docs": {
675
+ "tags": [],
676
+ "text": "Helper / error text shown below the field"
677
+ },
678
+ "getter": false,
679
+ "setter": false,
680
+ "reflect": false,
681
+ "attribute": "text-helper",
682
+ "defaultValue": "''"
683
+ },
684
+ "showHelperOnlyOnError": {
685
+ "type": "boolean",
686
+ "mutable": true,
687
+ "complexType": {
688
+ "original": "boolean",
689
+ "resolved": "boolean",
690
+ "references": {}
691
+ },
692
+ "required": false,
693
+ "optional": false,
694
+ "docs": {
695
+ "tags": [],
696
+ "text": "Only show textHelper when the field is invalid"
697
+ },
698
+ "getter": false,
699
+ "setter": false,
700
+ "reflect": false,
701
+ "attribute": "show-helper-only-on-error",
702
+ "defaultValue": "false"
703
+ },
704
+ "inputProperties": {
705
+ "type": "any",
706
+ "mutable": false,
707
+ "complexType": {
708
+ "original": "any",
709
+ "resolved": "any",
710
+ "references": {}
711
+ },
712
+ "required": false,
713
+ "optional": false,
714
+ "docs": {
715
+ "tags": [],
716
+ "text": "Convenience object prop \u2014 matches Angular `inputProperties: InputProperties`.\nFields: id, label, placeholder, maxLength, textHelper, passwordInput,\nicon, iconColor, isMoneyInput, showObligatoryAsterisk, isNumericInput,\nallowDecimals, isThousandSeparator, showHelperOnlyOnError,\nisLettersOnly, inputMode.\nNote: `formControl` is not supported; use `value` + onInput event instead."
717
+ },
718
+ "getter": false,
719
+ "setter": false,
720
+ "reflect": false,
721
+ "attribute": "input-properties",
722
+ "defaultValue": "null"
723
+ }
724
+ };
725
+ }
726
+ static get states() {
727
+ return {
728
+ "showPassword": {},
729
+ "touched": {}
730
+ };
731
+ }
732
+ static get events() {
733
+ return [{
734
+ "method": "onInput",
735
+ "name": "onInput",
736
+ "bubbles": true,
737
+ "cancelable": true,
738
+ "composed": true,
739
+ "docs": {
740
+ "tags": [],
741
+ "text": "Emitted on every keystroke with the current value"
742
+ },
743
+ "complexType": {
744
+ "original": "string",
745
+ "resolved": "string",
746
+ "references": {}
747
+ }
748
+ }, {
749
+ "method": "onChange",
750
+ "name": "onChange",
751
+ "bubbles": true,
752
+ "cancelable": true,
753
+ "composed": true,
754
+ "docs": {
755
+ "tags": [],
756
+ "text": "Emitted on blur with the final value"
757
+ },
758
+ "complexType": {
759
+ "original": "string",
760
+ "resolved": "string",
761
+ "references": {}
762
+ }
763
+ }, {
764
+ "method": "onFocus",
765
+ "name": "onFocus",
766
+ "bubbles": true,
767
+ "cancelable": true,
768
+ "composed": true,
769
+ "docs": {
770
+ "tags": [],
771
+ "text": "Emitted on focus"
772
+ },
773
+ "complexType": {
774
+ "original": "void",
775
+ "resolved": "void",
776
+ "references": {}
777
+ }
778
+ }, {
779
+ "method": "onBlur",
780
+ "name": "onBlur",
781
+ "bubbles": true,
782
+ "cancelable": true,
783
+ "composed": true,
784
+ "docs": {
785
+ "tags": [],
786
+ "text": "Emitted on blur"
787
+ },
788
+ "complexType": {
789
+ "original": "void",
790
+ "resolved": "void",
791
+ "references": {}
792
+ }
793
+ }];
794
+ }
795
+ static get watchers() {
796
+ return [{
797
+ "propName": "inputProperties",
798
+ "methodName": "inputPropertiesChanged"
799
+ }, {
800
+ "propName": "value",
801
+ "methodName": "valueChanged"
802
+ }, {
803
+ "propName": "disabled",
804
+ "methodName": "disabledChanged"
805
+ }];
806
+ }
807
+ static get attachInternalsMemberName() { return "internals"; }
808
+ }