@dropi/ui 0.1.20 → 0.1.22

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 (533) hide show
  1. package/dist/cjs/dropi-accordion-item.cjs.entry.js +54 -0
  2. package/dist/cjs/dropi-accordion.cjs.entry.js +5 -39
  3. package/dist/cjs/dropi-alert-legacy.cjs.entry.js +39 -0
  4. package/dist/cjs/dropi-alert-modal.cjs.entry.js +80 -24
  5. package/dist/cjs/dropi-alert.cjs.entry.js +20 -14
  6. package/dist/cjs/dropi-avatars.cjs.entry.js +3 -3
  7. package/dist/cjs/dropi-badge-legacy.cjs.entry.js +30 -0
  8. package/dist/cjs/dropi-badge.cjs.entry.js +4 -4
  9. package/dist/cjs/dropi-banner-external.cjs.entry.js +25 -9
  10. package/dist/cjs/dropi-breadcrumb.cjs.entry.js +2 -2
  11. package/dist/cjs/dropi-button.cjs.entry.js +11 -7
  12. package/dist/cjs/dropi-card-checkbox.cjs.entry.js +17 -14
  13. package/dist/cjs/dropi-card-product.cjs.entry.js +42 -23
  14. package/dist/cjs/dropi-card-section.cjs.entry.js +17 -17
  15. package/dist/cjs/dropi-carousel.cjs.entry.js +112 -42
  16. package/dist/cjs/dropi-checkbox-selection-list.cjs.entry.js +17 -15
  17. package/dist/cjs/dropi-checkbox.cjs.entry.js +6 -6
  18. package/dist/cjs/dropi-chips.cjs.entry.js +8 -8
  19. package/dist/cjs/dropi-city-selector.cjs.entry.js +28 -9
  20. package/dist/cjs/dropi-color-picker.cjs.entry.js +300 -50
  21. package/dist/cjs/dropi-country-flags.cjs.entry.js +4 -4
  22. package/dist/cjs/dropi-country-selector.cjs.entry.js +50 -17
  23. package/dist/cjs/dropi-date-picker-range.cjs.entry.js +8 -8
  24. package/dist/cjs/dropi-date-picker.cjs.entry.js +53 -35
  25. package/dist/cjs/dropi-drawer.cjs.entry.js +38 -9
  26. package/dist/cjs/dropi-dropdown.cjs.entry.js +23 -16
  27. package/dist/cjs/dropi-empty-state.cjs.entry.js +15 -18
  28. package/dist/cjs/dropi-favorite-button.cjs.entry.js +5 -5
  29. package/dist/cjs/dropi-file-upload-progress-bar.cjs.entry.js +57 -32
  30. package/dist/cjs/dropi-file-upload.cjs.entry.js +210 -57
  31. package/dist/cjs/dropi-icon.cjs.entry.js +21 -4
  32. package/dist/cjs/dropi-ilustration-icon.cjs.entry.js +3 -3
  33. package/dist/cjs/dropi-image-miniature.cjs.entry.js +2 -2
  34. package/dist/cjs/dropi-image-overlay.cjs.entry.js +4 -3
  35. package/dist/cjs/dropi-input_3.cjs.entry.js +392 -0
  36. package/dist/cjs/dropi-languages-selector.cjs.entry.js +10 -6
  37. package/dist/cjs/dropi-logo.cjs.entry.js +12 -2
  38. package/dist/cjs/dropi-lottie-loader.cjs.entry.js +5 -5
  39. package/dist/cjs/dropi-media-player.cjs.entry.js +131 -41
  40. package/dist/cjs/dropi-modal.cjs.entry.js +46 -20
  41. package/dist/cjs/dropi-navbar.cjs.entry.js +14 -12
  42. package/dist/cjs/dropi-otp-send-code.cjs.entry.js +13 -13
  43. package/dist/cjs/dropi-phone-input.cjs.entry.js +163 -50
  44. package/dist/cjs/dropi-radio-button.cjs.entry.js +7 -7
  45. package/dist/cjs/dropi-radio-selection-list.cjs.entry.js +17 -13
  46. package/dist/cjs/dropi-read-more.cjs.entry.js +8 -4
  47. package/dist/cjs/dropi-search.cjs.entry.js +52 -38
  48. package/dist/cjs/dropi-select.cjs.entry.js +102 -55
  49. package/dist/cjs/dropi-sidebar.cjs.entry.js +61 -50
  50. package/dist/cjs/dropi-simple-stepper.cjs.entry.js +8 -6
  51. package/dist/cjs/dropi-skeleton.cjs.entry.js +16 -6
  52. package/dist/cjs/dropi-steps.cjs.entry.js +6 -4
  53. package/dist/cjs/dropi-switch.cjs.entry.js +5 -5
  54. package/dist/cjs/dropi-table.cjs.entry.js +212 -37
  55. package/dist/cjs/dropi-tabs.cjs.entry.js +13 -11
  56. package/dist/cjs/dropi-tag-type-product.cjs.entry.js +3 -3
  57. package/dist/cjs/dropi-text-area.cjs.entry.js +45 -14
  58. package/dist/cjs/dropi-time-line.cjs.entry.js +3 -3
  59. package/dist/cjs/dropi-toast.cjs.entry.js +7 -6
  60. package/dist/cjs/dropi-tooltip-v2.cjs.entry.js +131 -0
  61. package/dist/cjs/dropi-tooltip.cjs.entry.js +5 -26
  62. package/dist/cjs/dropi-ui.cjs.js +2 -2
  63. package/dist/cjs/dropi-vertical-steps.cjs.entry.js +6 -6
  64. package/dist/cjs/dropi-youtube-lazy-video.cjs.entry.js +3 -3
  65. package/dist/cjs/{index-DcOH2ZjX.js → index-C8kwDvpf.js} +1044 -14
  66. package/dist/cjs/loader.cjs.js +2 -2
  67. package/dist/collection/collection-manifest.json +7 -3
  68. package/dist/collection/components/dropi-accordion/dropi-accordion-item.css +45 -0
  69. package/dist/collection/components/dropi-accordion/dropi-accordion-item.js +172 -0
  70. package/dist/collection/components/dropi-accordion/dropi-accordion.css +3 -3
  71. package/dist/collection/components/dropi-accordion/dropi-accordion.js +7 -129
  72. package/dist/collection/components/dropi-alert/dropi-alert.css +5 -11
  73. package/dist/collection/components/dropi-alert/dropi-alert.js +86 -20
  74. package/dist/collection/components/dropi-alert-legacy/dropi-alert-legacy.css +31 -0
  75. package/dist/collection/components/dropi-alert-legacy/dropi-alert-legacy.js +128 -0
  76. package/dist/collection/components/dropi-alert-modal/dropi-alert-modal.css +55 -23
  77. package/dist/collection/components/dropi-alert-modal/dropi-alert-modal.js +180 -50
  78. package/dist/collection/components/dropi-avatars/dropi-avatars.js +3 -3
  79. package/dist/collection/components/dropi-badge/dropi-badge.css +1 -1
  80. package/dist/collection/components/dropi-badge/dropi-badge.js +3 -4
  81. package/dist/collection/components/dropi-badge-legacy/dropi-badge-legacy.css +17 -0
  82. package/dist/collection/components/dropi-badge-legacy/dropi-badge-legacy.js +119 -0
  83. package/dist/collection/components/dropi-banner-external/dropi-banner-external.js +88 -13
  84. package/dist/collection/components/dropi-breadcrumb/dropi-breadcrumb.js +1 -1
  85. package/dist/collection/components/dropi-button/dropi-button.css +17 -17
  86. package/dist/collection/components/dropi-button/dropi-button.js +31 -7
  87. package/dist/collection/components/dropi-card-checkbox/dropi-card-checkbox.css +3 -1
  88. package/dist/collection/components/dropi-card-checkbox/dropi-card-checkbox.js +30 -27
  89. package/dist/collection/components/dropi-card-product/dropi-card-product.css +179 -102
  90. package/dist/collection/components/dropi-card-product/dropi-card-product.js +112 -79
  91. package/dist/collection/components/dropi-card-section/dropi-card-section.css +2 -2
  92. package/dist/collection/components/dropi-card-section/dropi-card-section.js +25 -25
  93. package/dist/collection/components/dropi-carousel/dropi-carousel.css +114 -69
  94. package/dist/collection/components/dropi-carousel/dropi-carousel.js +202 -100
  95. package/dist/collection/components/dropi-checkbox/dropi-checkbox.js +6 -6
  96. package/dist/collection/components/dropi-checkbox-selection-list/dropi-checkbox-selection-list.js +42 -20
  97. package/dist/collection/components/dropi-chips/dropi-chips.js +15 -15
  98. package/dist/collection/components/dropi-city-selector/dropi-city-selector.css +112 -50
  99. package/dist/collection/components/dropi-city-selector/dropi-city-selector.js +38 -9
  100. package/dist/collection/components/dropi-color-picker/dropi-color-picker.css +169 -142
  101. package/dist/collection/components/dropi-color-picker/dropi-color-picker.js +317 -159
  102. package/dist/collection/components/dropi-country-flags/dropi-country-flags.js +5 -5
  103. package/dist/collection/components/dropi-country-selector/dropi-country-selector.css +72 -25
  104. package/dist/collection/components/dropi-country-selector/dropi-country-selector.js +124 -22
  105. package/dist/collection/components/dropi-date-picker/dropi-date-picker.css +104 -39
  106. package/dist/collection/components/dropi-date-picker/dropi-date-picker.js +131 -49
  107. package/dist/collection/components/dropi-date-picker-range/dropi-date-picker-range.css +8 -8
  108. package/dist/collection/components/dropi-date-picker-range/dropi-date-picker-range.js +8 -8
  109. package/dist/collection/components/dropi-drawer/dropi-drawer.css +38 -16
  110. package/dist/collection/components/dropi-drawer/dropi-drawer.js +107 -18
  111. package/dist/collection/components/dropi-dropdown/dropi-dropdown.css +1 -1
  112. package/dist/collection/components/dropi-dropdown/dropi-dropdown.js +52 -27
  113. package/dist/collection/components/dropi-empty-state/dropi-empty-state.js +37 -54
  114. package/dist/collection/components/dropi-favorite-button/dropi-favorite-button.js +5 -5
  115. package/dist/collection/components/dropi-file-upload/dropi-file-upload.css +431 -33
  116. package/dist/collection/components/dropi-file-upload/dropi-file-upload.js +364 -104
  117. package/dist/collection/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.css +82 -78
  118. package/dist/collection/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.js +129 -69
  119. package/dist/collection/components/dropi-icon/dropi-icon.css +5 -0
  120. package/dist/collection/components/dropi-icon/dropi-icon.js +19 -2
  121. package/dist/collection/components/dropi-ilustration-icon/dropi-ilustration-icon.css +3 -3
  122. package/dist/collection/components/dropi-ilustration-icon/dropi-ilustration-icon.js +1 -1
  123. package/dist/collection/components/dropi-image-miniature/dropi-image-miniature.js +1 -1
  124. package/dist/collection/components/dropi-image-overlay/dropi-image-overlay.css +6 -2
  125. package/dist/collection/components/dropi-image-overlay/dropi-image-overlay.js +5 -4
  126. package/dist/collection/components/dropi-input/dropi-input.css +1 -1
  127. package/dist/collection/components/dropi-input/dropi-input.js +155 -82
  128. package/dist/collection/components/dropi-languages-selector/dropi-languages-selector.css +1 -1
  129. package/dist/collection/components/dropi-languages-selector/dropi-languages-selector.js +9 -5
  130. package/dist/collection/components/dropi-logo/dropi-logo.js +12 -1
  131. package/dist/collection/components/dropi-lottie-loader/dropi-lottie-loader.css +8 -2
  132. package/dist/collection/components/dropi-lottie-loader/dropi-lottie-loader.js +6 -6
  133. package/dist/collection/components/dropi-media-player/dropi-media-player.css +263 -70
  134. package/dist/collection/components/dropi-media-player/dropi-media-player.js +161 -61
  135. package/dist/collection/components/dropi-modal/dropi-modal.css +14 -4
  136. package/dist/collection/components/dropi-modal/dropi-modal.js +312 -26
  137. package/dist/collection/components/dropi-navbar/dropi-navbar.css +7 -7
  138. package/dist/collection/components/dropi-navbar/dropi-navbar.js +42 -26
  139. package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.css +2 -2
  140. package/dist/collection/components/dropi-otp-send-code/dropi-otp-send-code.js +13 -13
  141. package/dist/collection/components/dropi-paginator/dropi-paginator.css +2 -2
  142. package/dist/collection/components/dropi-paginator/dropi-paginator.js +51 -99
  143. package/dist/collection/components/dropi-phone-input/dropi-phone-input.css +158 -101
  144. package/dist/collection/components/dropi-phone-input/dropi-phone-input.js +256 -86
  145. package/dist/collection/components/dropi-radio-button/dropi-radio-button.js +13 -20
  146. package/dist/collection/components/dropi-radio-selection-list/dropi-radio-selection-list.css +3 -3
  147. package/dist/collection/components/dropi-radio-selection-list/dropi-radio-selection-list.js +69 -19
  148. package/dist/collection/components/dropi-read-more/dropi-read-more.css +5 -8
  149. package/dist/collection/components/dropi-read-more/dropi-read-more.js +46 -2
  150. package/dist/collection/components/dropi-search/dropi-search.css +2 -2
  151. package/dist/collection/components/dropi-search/dropi-search.js +194 -60
  152. package/dist/collection/components/dropi-select/dropi-select.css +7 -7
  153. package/dist/collection/components/dropi-select/dropi-select.js +170 -84
  154. package/dist/collection/components/dropi-sidebar/dropi-sidebar.css +51 -92
  155. package/dist/collection/components/dropi-sidebar/dropi-sidebar.js +86 -176
  156. package/dist/collection/components/dropi-simple-stepper/dropi-simple-stepper.css +2 -2
  157. package/dist/collection/components/dropi-simple-stepper/dropi-simple-stepper.js +29 -7
  158. package/dist/collection/components/dropi-skeleton/dropi-skeleton.js +40 -10
  159. package/dist/collection/components/dropi-steps/dropi-steps.css +3 -3
  160. package/dist/collection/components/dropi-steps/dropi-steps.js +31 -3
  161. package/dist/collection/components/dropi-switch/dropi-switch.js +5 -5
  162. package/dist/collection/components/dropi-table/dropi-table.css +505 -45
  163. package/dist/collection/components/dropi-table/dropi-table.js +690 -50
  164. package/dist/collection/components/dropi-tabs/dropi-tabs.css +10 -5
  165. package/dist/collection/components/dropi-tabs/dropi-tabs.js +35 -13
  166. package/dist/collection/components/dropi-tag/dropi-tag.js +5 -5
  167. package/dist/collection/components/dropi-tag-type-product/dropi-tag-type-product.css +4 -4
  168. package/dist/collection/components/dropi-tag-type-product/dropi-tag-type-product.js +1 -1
  169. package/dist/collection/components/dropi-text-area/dropi-text-area.css +4 -1
  170. package/dist/collection/components/dropi-text-area/dropi-text-area.js +87 -32
  171. package/dist/collection/components/dropi-time-line/dropi-time-line.css +2 -2
  172. package/dist/collection/components/dropi-time-line/dropi-time-line.js +1 -1
  173. package/dist/collection/components/dropi-toast/dropi-toast.css +2 -2
  174. package/dist/collection/components/dropi-toast/dropi-toast.js +6 -5
  175. package/dist/collection/components/dropi-tooltip/dropi-tooltip.css +28 -63
  176. package/dist/collection/components/dropi-tooltip/dropi-tooltip.js +11 -88
  177. package/dist/collection/components/dropi-tooltip-v2/dropi-tooltip.css +67 -0
  178. package/dist/collection/components/dropi-tooltip-v2/dropi-tooltip.js +468 -0
  179. package/dist/collection/components/dropi-vertical-steps/dropi-vertical-steps.css +3 -3
  180. package/dist/collection/components/dropi-vertical-steps/dropi-vertical-steps.js +5 -5
  181. package/dist/collection/components/dropi-youtube-lazy-video/dropi-youtube-lazy-video.css +1 -1
  182. package/dist/collection/components/dropi-youtube-lazy-video/dropi-youtube-lazy-video.js +1 -1
  183. package/dist/components/dropi-accordion-item.d.ts +11 -0
  184. package/dist/components/dropi-accordion-item.js +1 -0
  185. package/dist/components/dropi-accordion.js +1 -1
  186. package/dist/components/dropi-alert-legacy.d.ts +11 -0
  187. package/dist/components/dropi-alert-legacy.js +1 -0
  188. package/dist/components/dropi-alert-modal.js +1 -1
  189. package/dist/components/dropi-alert.js +1 -1
  190. package/dist/components/dropi-avatars.js +1 -1
  191. package/dist/components/dropi-badge-legacy.d.ts +11 -0
  192. package/dist/components/dropi-badge-legacy.js +1 -0
  193. package/dist/components/dropi-badge.js +1 -1
  194. package/dist/components/dropi-banner-external.js +1 -1
  195. package/dist/components/dropi-breadcrumb.js +1 -1
  196. package/dist/components/dropi-button.js +1 -1
  197. package/dist/components/dropi-card-checkbox.js +1 -1
  198. package/dist/components/dropi-card-product.js +1 -1
  199. package/dist/components/dropi-card-section.js +1 -1
  200. package/dist/components/dropi-carousel.js +1 -1
  201. package/dist/components/dropi-checkbox-selection-list.js +1 -1
  202. package/dist/components/dropi-checkbox.js +1 -1
  203. package/dist/components/dropi-chips.js +1 -1
  204. package/dist/components/dropi-city-selector.js +1 -1
  205. package/dist/components/dropi-color-picker.js +1 -1
  206. package/dist/components/dropi-country-flags.js +1 -1
  207. package/dist/components/dropi-country-selector.js +1 -1
  208. package/dist/components/dropi-date-picker-range.js +1 -1
  209. package/dist/components/dropi-date-picker.js +1 -1
  210. package/dist/components/dropi-drawer.js +1 -1
  211. package/dist/components/dropi-dropdown.js +1 -1
  212. package/dist/components/dropi-empty-state.js +1 -1
  213. package/dist/components/dropi-favorite-button.js +1 -1
  214. package/dist/components/dropi-file-upload-progress-bar.js +1 -1
  215. package/dist/components/dropi-file-upload.js +1 -1
  216. package/dist/components/dropi-icon.js +1 -1
  217. package/dist/components/dropi-ilustration-icon.js +1 -1
  218. package/dist/components/dropi-image-miniature.js +1 -1
  219. package/dist/components/dropi-image-overlay.js +1 -1
  220. package/dist/components/dropi-input.js +1 -1
  221. package/dist/components/dropi-languages-selector.js +1 -1
  222. package/dist/components/dropi-logo.js +1 -1
  223. package/dist/components/dropi-lottie-loader.js +1 -1
  224. package/dist/components/dropi-media-player.js +1 -1
  225. package/dist/components/dropi-modal.js +1 -1
  226. package/dist/components/dropi-navbar.js +1 -1
  227. package/dist/components/dropi-otp-send-code.js +1 -1
  228. package/dist/components/dropi-paginator.js +1 -1
  229. package/dist/components/dropi-phone-input.js +1 -1
  230. package/dist/components/dropi-radio-button.js +1 -1
  231. package/dist/components/dropi-radio-selection-list.js +1 -1
  232. package/dist/components/dropi-read-more.js +1 -1
  233. package/dist/components/dropi-search.js +1 -1
  234. package/dist/components/dropi-select.js +1 -1
  235. package/dist/components/dropi-sidebar.js +1 -1
  236. package/dist/components/dropi-simple-stepper.js +1 -1
  237. package/dist/components/dropi-skeleton.js +1 -1
  238. package/dist/components/dropi-steps.js +1 -1
  239. package/dist/components/dropi-switch.js +1 -1
  240. package/dist/components/dropi-table.js +1 -1
  241. package/dist/components/dropi-tabs.js +1 -1
  242. package/dist/components/dropi-tag-type-product.js +1 -1
  243. package/dist/components/dropi-tag.js +1 -1
  244. package/dist/components/dropi-text-area.js +1 -1
  245. package/dist/components/dropi-time-line.js +1 -1
  246. package/dist/components/dropi-toast.js +1 -1
  247. package/dist/components/dropi-tooltip-v2.d.ts +11 -0
  248. package/dist/components/dropi-tooltip-v2.js +1 -0
  249. package/dist/components/dropi-tooltip.js +1 -1
  250. package/dist/components/dropi-vertical-steps.js +1 -1
  251. package/dist/components/dropi-youtube-lazy-video.js +1 -1
  252. package/dist/components/index.js +1 -1
  253. package/dist/components/p-B9R8Apw7.js +1 -0
  254. package/dist/components/p-B_Ace02i.js +1 -0
  255. package/dist/components/p-BrjO_JXp.js +1 -0
  256. package/dist/components/p-BwhxWL4p.js +1 -0
  257. package/dist/components/p-Bz2jXX3R.js +1 -0
  258. package/dist/components/p-CV4X3Gm4.js +1 -0
  259. package/dist/components/p-CV_oz45O.js +1 -0
  260. package/dist/components/p-D-vQQQNz.js +1 -0
  261. package/dist/components/p-D13d88W3.js +1 -0
  262. package/dist/components/p-DGUfr98Z.js +1 -0
  263. package/dist/components/p-a-hGQrJd.js +1 -0
  264. package/dist/components/p-o5gyrbbD.js +1 -0
  265. package/dist/dropi-ui/dropi-ui.css +1 -1
  266. package/dist/dropi-ui/dropi-ui.esm.js +1 -1
  267. package/dist/dropi-ui/p-00e5a2de.entry.js +1 -0
  268. package/dist/dropi-ui/p-0188e07a.entry.js +1 -0
  269. package/dist/dropi-ui/p-02710049.entry.js +1 -0
  270. package/dist/dropi-ui/p-17c56074.entry.js +1 -0
  271. package/dist/dropi-ui/p-18adf694.entry.js +1 -0
  272. package/dist/dropi-ui/p-1a3619c3.entry.js +1 -0
  273. package/dist/dropi-ui/p-1d3d6a32.entry.js +1 -0
  274. package/dist/dropi-ui/p-25640777.entry.js +1 -0
  275. package/dist/dropi-ui/p-2674d901.entry.js +1 -0
  276. package/dist/dropi-ui/p-2af538b9.entry.js +1 -0
  277. package/dist/dropi-ui/p-3013f3b8.entry.js +1 -0
  278. package/dist/dropi-ui/p-3321ca70.entry.js +1 -0
  279. package/dist/dropi-ui/p-33d242ec.entry.js +1 -0
  280. package/dist/dropi-ui/p-39af6478.entry.js +1 -0
  281. package/dist/dropi-ui/p-3e36c8b8.entry.js +1 -0
  282. package/dist/dropi-ui/p-3ebc9b7b.entry.js +1 -0
  283. package/dist/dropi-ui/p-446a481d.entry.js +1 -0
  284. package/dist/dropi-ui/p-50a5e548.entry.js +1 -0
  285. package/dist/dropi-ui/p-50e0d44f.entry.js +1 -0
  286. package/dist/dropi-ui/p-53a7a37d.entry.js +1 -0
  287. package/dist/dropi-ui/p-5c0bd7c2.entry.js +1 -0
  288. package/dist/dropi-ui/p-5cee6721.entry.js +1 -0
  289. package/dist/dropi-ui/p-5fb33ae4.entry.js +1 -0
  290. package/dist/dropi-ui/p-665ef7ba.entry.js +1 -0
  291. package/dist/dropi-ui/p-66b80371.entry.js +1 -0
  292. package/dist/dropi-ui/p-7bfc1c27.entry.js +1 -0
  293. package/dist/dropi-ui/p-7c0d2edf.entry.js +1 -0
  294. package/dist/dropi-ui/p-7eb27836.entry.js +1 -0
  295. package/dist/dropi-ui/p-85444414.entry.js +1 -0
  296. package/dist/dropi-ui/p-86283e99.entry.js +1 -0
  297. package/dist/dropi-ui/p-8bf5d8ee.entry.js +1 -0
  298. package/dist/dropi-ui/p-9032ba00.entry.js +1 -0
  299. package/dist/dropi-ui/p-9212f544.entry.js +1 -0
  300. package/dist/dropi-ui/p-92291873.entry.js +1 -0
  301. package/dist/dropi-ui/p-955e52f8.entry.js +1 -0
  302. package/dist/dropi-ui/p-976a15e3.entry.js +1 -0
  303. package/dist/dropi-ui/p-9b037086.entry.js +1 -0
  304. package/dist/dropi-ui/p-9e0129cc.entry.js +1 -0
  305. package/dist/dropi-ui/{p-c9ebd31b.entry.js → p-9ffec3f7.entry.js} +1 -1
  306. package/dist/dropi-ui/p-D5SAM1O2.js +2 -0
  307. package/dist/dropi-ui/p-a1c93e55.entry.js +1 -0
  308. package/dist/dropi-ui/p-a232c6a7.entry.js +1 -0
  309. package/dist/dropi-ui/p-a3c4d677.entry.js +1 -0
  310. package/dist/dropi-ui/p-a457e8ca.entry.js +1 -0
  311. package/dist/dropi-ui/p-a4e1df5e.entry.js +1 -0
  312. package/dist/dropi-ui/p-a822a23e.entry.js +1 -0
  313. package/dist/dropi-ui/p-a8f24270.entry.js +1 -0
  314. package/dist/dropi-ui/p-ae35d538.entry.js +1 -0
  315. package/dist/dropi-ui/p-af8e2157.entry.js +1 -0
  316. package/dist/dropi-ui/p-b2623a5c.entry.js +1 -0
  317. package/dist/dropi-ui/p-b3d3c72e.entry.js +1 -0
  318. package/dist/dropi-ui/p-c3614c4a.entry.js +1 -0
  319. package/dist/dropi-ui/p-cbf5367e.entry.js +1 -0
  320. package/dist/dropi-ui/p-cc527d91.entry.js +1 -0
  321. package/dist/dropi-ui/p-cdde481b.entry.js +1 -0
  322. package/dist/dropi-ui/p-d42d4ef7.entry.js +1 -0
  323. package/dist/dropi-ui/{p-b41c8a6c.entry.js → p-db38bf16.entry.js} +1 -1
  324. package/dist/dropi-ui/p-dd5d8b1b.entry.js +1 -0
  325. package/dist/dropi-ui/p-e3ad21f8.entry.js +1 -0
  326. package/dist/dropi-ui/p-e6e766ed.entry.js +1 -0
  327. package/dist/dropi-ui/p-ec263862.entry.js +1 -0
  328. package/dist/dropi-ui/p-efc2fc35.entry.js +1 -0
  329. package/dist/dropi-ui/p-f41cd9b5.entry.js +1 -0
  330. package/dist/dropi-ui/p-fa3d0267.entry.js +1 -0
  331. package/dist/esm/dropi-accordion-item.entry.js +52 -0
  332. package/dist/esm/dropi-accordion.entry.js +5 -39
  333. package/dist/esm/dropi-alert-legacy.entry.js +37 -0
  334. package/dist/esm/dropi-alert-modal.entry.js +80 -24
  335. package/dist/esm/dropi-alert.entry.js +20 -14
  336. package/dist/esm/dropi-avatars.entry.js +3 -3
  337. package/dist/esm/dropi-badge-legacy.entry.js +28 -0
  338. package/dist/esm/dropi-badge.entry.js +4 -4
  339. package/dist/esm/dropi-banner-external.entry.js +25 -9
  340. package/dist/esm/dropi-breadcrumb.entry.js +2 -2
  341. package/dist/esm/dropi-button.entry.js +11 -7
  342. package/dist/esm/dropi-card-checkbox.entry.js +17 -14
  343. package/dist/esm/dropi-card-product.entry.js +42 -23
  344. package/dist/esm/dropi-card-section.entry.js +17 -17
  345. package/dist/esm/dropi-carousel.entry.js +112 -42
  346. package/dist/esm/dropi-checkbox-selection-list.entry.js +17 -15
  347. package/dist/esm/dropi-checkbox.entry.js +6 -6
  348. package/dist/esm/dropi-chips.entry.js +8 -8
  349. package/dist/esm/dropi-city-selector.entry.js +28 -9
  350. package/dist/esm/dropi-color-picker.entry.js +300 -50
  351. package/dist/esm/dropi-country-flags.entry.js +4 -4
  352. package/dist/esm/dropi-country-selector.entry.js +50 -17
  353. package/dist/esm/dropi-date-picker-range.entry.js +8 -8
  354. package/dist/esm/dropi-date-picker.entry.js +53 -35
  355. package/dist/esm/dropi-drawer.entry.js +38 -9
  356. package/dist/esm/dropi-dropdown.entry.js +23 -16
  357. package/dist/esm/dropi-empty-state.entry.js +15 -18
  358. package/dist/esm/dropi-favorite-button.entry.js +5 -5
  359. package/dist/esm/dropi-file-upload-progress-bar.entry.js +57 -32
  360. package/dist/esm/dropi-file-upload.entry.js +210 -57
  361. package/dist/esm/dropi-icon.entry.js +21 -4
  362. package/dist/esm/dropi-ilustration-icon.entry.js +3 -3
  363. package/dist/esm/dropi-image-miniature.entry.js +2 -2
  364. package/dist/esm/dropi-image-overlay.entry.js +4 -3
  365. package/dist/esm/dropi-input_3.entry.js +388 -0
  366. package/dist/esm/dropi-languages-selector.entry.js +10 -6
  367. package/dist/esm/dropi-logo.entry.js +12 -2
  368. package/dist/esm/dropi-lottie-loader.entry.js +5 -5
  369. package/dist/esm/dropi-media-player.entry.js +131 -41
  370. package/dist/esm/dropi-modal.entry.js +46 -20
  371. package/dist/esm/dropi-navbar.entry.js +14 -12
  372. package/dist/esm/dropi-otp-send-code.entry.js +13 -13
  373. package/dist/esm/dropi-phone-input.entry.js +163 -50
  374. package/dist/esm/dropi-radio-button.entry.js +7 -7
  375. package/dist/esm/dropi-radio-selection-list.entry.js +17 -13
  376. package/dist/esm/dropi-read-more.entry.js +8 -4
  377. package/dist/esm/dropi-search.entry.js +52 -38
  378. package/dist/esm/dropi-select.entry.js +102 -55
  379. package/dist/esm/dropi-sidebar.entry.js +61 -50
  380. package/dist/esm/dropi-simple-stepper.entry.js +8 -6
  381. package/dist/esm/dropi-skeleton.entry.js +16 -6
  382. package/dist/esm/dropi-steps.entry.js +6 -4
  383. package/dist/esm/dropi-switch.entry.js +5 -5
  384. package/dist/esm/dropi-table.entry.js +212 -37
  385. package/dist/esm/dropi-tabs.entry.js +13 -11
  386. package/dist/esm/dropi-tag-type-product.entry.js +3 -3
  387. package/dist/esm/dropi-text-area.entry.js +45 -14
  388. package/dist/esm/dropi-time-line.entry.js +3 -3
  389. package/dist/esm/dropi-toast.entry.js +7 -6
  390. package/dist/esm/dropi-tooltip-v2.entry.js +129 -0
  391. package/dist/esm/dropi-tooltip.entry.js +5 -26
  392. package/dist/esm/dropi-ui.js +3 -3
  393. package/dist/esm/dropi-vertical-steps.entry.js +6 -6
  394. package/dist/esm/dropi-youtube-lazy-video.entry.js +3 -3
  395. package/dist/esm/{index-Tbza12Gt.js → index-D5SAM1O2.js} +1044 -15
  396. package/dist/esm/loader.js +3 -3
  397. package/dist/types/components/dropi-accordion/dropi-accordion-item.d.ts +24 -0
  398. package/dist/types/components/dropi-accordion/dropi-accordion.d.ts +3 -23
  399. package/dist/types/components/dropi-alert/dropi-alert.d.ts +9 -3
  400. package/dist/types/components/dropi-alert-legacy/dropi-alert-legacy.d.ts +18 -0
  401. package/dist/types/components/dropi-alert-modal/dropi-alert-modal.d.ts +26 -8
  402. package/dist/types/components/dropi-badge-legacy/dropi-badge-legacy.d.ts +15 -0
  403. package/dist/types/components/dropi-banner-external/dropi-banner-external.d.ts +11 -3
  404. package/dist/types/components/dropi-button/dropi-button.d.ts +4 -2
  405. package/dist/types/components/dropi-card-checkbox/dropi-card-checkbox.d.ts +8 -7
  406. package/dist/types/components/dropi-card-product/dropi-card-product.d.ts +19 -15
  407. package/dist/types/components/dropi-card-section/dropi-card-section.d.ts +5 -5
  408. package/dist/types/components/dropi-carousel/dropi-carousel.d.ts +31 -27
  409. package/dist/types/components/dropi-checkbox/dropi-checkbox.d.ts +1 -1
  410. package/dist/types/components/dropi-checkbox-selection-list/dropi-checkbox-selection-list.d.ts +7 -5
  411. package/dist/types/components/dropi-chips/dropi-chips.d.ts +4 -4
  412. package/dist/types/components/dropi-city-selector/dropi-city-selector.d.ts +3 -1
  413. package/dist/types/components/dropi-color-picker/dropi-color-picker.d.ts +51 -26
  414. package/dist/types/components/dropi-country-flags/dropi-country-flags.d.ts +1 -1
  415. package/dist/types/components/dropi-country-selector/dropi-country-selector.d.ts +16 -5
  416. package/dist/types/components/dropi-date-picker/dropi-date-picker.d.ts +16 -8
  417. package/dist/types/components/dropi-date-picker-range/dropi-date-picker-range.d.ts +2 -2
  418. package/dist/types/components/dropi-drawer/dropi-drawer.d.ts +12 -6
  419. package/dist/types/components/dropi-dropdown/dropi-dropdown.d.ts +12 -6
  420. package/dist/types/components/dropi-empty-state/dropi-empty-state.d.ts +12 -14
  421. package/dist/types/components/dropi-favorite-button/dropi-favorite-button.d.ts +1 -1
  422. package/dist/types/components/dropi-file-upload/dropi-file-upload.d.ts +65 -26
  423. package/dist/types/components/dropi-file-upload-progress-bar/dropi-file-upload-progress-bar.d.ts +24 -16
  424. package/dist/types/components/dropi-icon/dropi-icon.d.ts +3 -1
  425. package/dist/types/components/dropi-image-overlay/dropi-image-overlay.d.ts +1 -1
  426. package/dist/types/components/dropi-input/dropi-input.d.ts +27 -17
  427. package/dist/types/components/dropi-languages-selector/dropi-languages-selector.d.ts +1 -1
  428. package/dist/types/components/dropi-logo/dropi-logo.d.ts +2 -0
  429. package/dist/types/components/dropi-lottie-loader/dropi-lottie-loader.d.ts +1 -1
  430. package/dist/types/components/dropi-media-player/dropi-media-player.d.ts +26 -19
  431. package/dist/types/components/dropi-modal/dropi-modal.d.ts +24 -5
  432. package/dist/types/components/dropi-navbar/dropi-navbar.d.ts +7 -5
  433. package/dist/types/components/dropi-otp-send-code/dropi-otp-send-code.d.ts +1 -1
  434. package/dist/types/components/dropi-paginator/dropi-paginator.d.ts +10 -20
  435. package/dist/types/components/dropi-phone-input/dropi-phone-input.d.ts +35 -20
  436. package/dist/types/components/dropi-radio-button/dropi-radio-button.d.ts +2 -2
  437. package/dist/types/components/dropi-radio-selection-list/dropi-radio-selection-list.d.ts +11 -4
  438. package/dist/types/components/dropi-read-more/dropi-read-more.d.ts +4 -0
  439. package/dist/types/components/dropi-search/dropi-search.d.ts +24 -12
  440. package/dist/types/components/dropi-select/dropi-select.d.ts +26 -15
  441. package/dist/types/components/dropi-sidebar/dropi-sidebar.d.ts +32 -26
  442. package/dist/types/components/dropi-simple-stepper/dropi-simple-stepper.d.ts +2 -0
  443. package/dist/types/components/dropi-skeleton/dropi-skeleton.d.ts +4 -1
  444. package/dist/types/components/dropi-steps/dropi-steps.d.ts +3 -0
  445. package/dist/types/components/dropi-switch/dropi-switch.d.ts +1 -1
  446. package/dist/types/components/dropi-table/dropi-table.d.ts +90 -14
  447. package/dist/types/components/dropi-tabs/dropi-tabs.d.ts +5 -3
  448. package/dist/types/components/dropi-text-area/dropi-text-area.d.ts +27 -6
  449. package/dist/types/components/dropi-tooltip/dropi-tooltip.d.ts +3 -17
  450. package/dist/types/components/dropi-tooltip-v2/dropi-tooltip.d.ts +59 -0
  451. package/dist/types/components/dropi-vertical-steps/dropi-vertical-steps.d.ts +1 -1
  452. package/dist/types/components.d.ts +2182 -1180
  453. package/dist/types/index.d.ts +1 -0
  454. package/hydrate/index.d.ts +287 -0
  455. package/hydrate/index.js +30455 -0
  456. package/hydrate/index.mjs +30445 -0
  457. package/hydrate/package.json +12 -0
  458. package/package.json +33 -5
  459. package/readme.md +97 -18
  460. package/scripts/setup.js +310 -29
  461. package/skills/install-dropi-ui/skill.md +15 -10
  462. package/dist/cjs/dropi-input.cjs.entry.js +0 -210
  463. package/dist/cjs/dropi-paginator.cjs.entry.js +0 -91
  464. package/dist/cjs/dropi-tag.cjs.entry.js +0 -68
  465. package/dist/components/p-BY_J-4Sm.js +0 -1
  466. package/dist/components/p-CYCV-5qV.js +0 -1
  467. package/dist/components/p-D0ZJcRZn.js +0 -1
  468. package/dist/components/p-DUPOnSiL.js +0 -1
  469. package/dist/components/p-DUX_WvqW.js +0 -1
  470. package/dist/components/p-wO1yy0Zr.js +0 -1
  471. package/dist/dropi-ui/p-053ebb91.entry.js +0 -1
  472. package/dist/dropi-ui/p-0acd32e6.entry.js +0 -1
  473. package/dist/dropi-ui/p-0e88a543.entry.js +0 -1
  474. package/dist/dropi-ui/p-0f2f5f75.entry.js +0 -1
  475. package/dist/dropi-ui/p-131d87ac.entry.js +0 -1
  476. package/dist/dropi-ui/p-1af4719d.entry.js +0 -1
  477. package/dist/dropi-ui/p-1e8f6d4a.entry.js +0 -1
  478. package/dist/dropi-ui/p-22132b1a.entry.js +0 -1
  479. package/dist/dropi-ui/p-2c1aaf6f.entry.js +0 -1
  480. package/dist/dropi-ui/p-2e9b87a9.entry.js +0 -1
  481. package/dist/dropi-ui/p-3414a414.entry.js +0 -1
  482. package/dist/dropi-ui/p-34ad54a1.entry.js +0 -1
  483. package/dist/dropi-ui/p-3531378b.entry.js +0 -1
  484. package/dist/dropi-ui/p-3983a7aa.entry.js +0 -1
  485. package/dist/dropi-ui/p-40e91337.entry.js +0 -1
  486. package/dist/dropi-ui/p-4a8646e5.entry.js +0 -1
  487. package/dist/dropi-ui/p-4be64bf0.entry.js +0 -1
  488. package/dist/dropi-ui/p-4ec17510.entry.js +0 -1
  489. package/dist/dropi-ui/p-5023eef0.entry.js +0 -1
  490. package/dist/dropi-ui/p-51a97b1a.entry.js +0 -1
  491. package/dist/dropi-ui/p-52796d84.entry.js +0 -1
  492. package/dist/dropi-ui/p-53a5bd7b.entry.js +0 -1
  493. package/dist/dropi-ui/p-5425f941.entry.js +0 -1
  494. package/dist/dropi-ui/p-58d0bf7a.entry.js +0 -1
  495. package/dist/dropi-ui/p-59d3bd9b.entry.js +0 -1
  496. package/dist/dropi-ui/p-5e957631.entry.js +0 -1
  497. package/dist/dropi-ui/p-64cbf4ea.entry.js +0 -1
  498. package/dist/dropi-ui/p-68080534.entry.js +0 -1
  499. package/dist/dropi-ui/p-6da6b97e.entry.js +0 -1
  500. package/dist/dropi-ui/p-6df57f25.entry.js +0 -1
  501. package/dist/dropi-ui/p-7c916570.entry.js +0 -1
  502. package/dist/dropi-ui/p-7e95462a.entry.js +0 -1
  503. package/dist/dropi-ui/p-80089042.entry.js +0 -1
  504. package/dist/dropi-ui/p-8768bb11.entry.js +0 -1
  505. package/dist/dropi-ui/p-896f2900.entry.js +0 -1
  506. package/dist/dropi-ui/p-89ac1ff2.entry.js +0 -1
  507. package/dist/dropi-ui/p-8ce79c69.entry.js +0 -1
  508. package/dist/dropi-ui/p-8e809670.entry.js +0 -1
  509. package/dist/dropi-ui/p-93b207b7.entry.js +0 -1
  510. package/dist/dropi-ui/p-983f72ad.entry.js +0 -1
  511. package/dist/dropi-ui/p-98babb78.entry.js +0 -1
  512. package/dist/dropi-ui/p-9fc53d50.entry.js +0 -1
  513. package/dist/dropi-ui/p-Tbza12Gt.js +0 -2
  514. package/dist/dropi-ui/p-a20705fe.entry.js +0 -1
  515. package/dist/dropi-ui/p-a72da98f.entry.js +0 -1
  516. package/dist/dropi-ui/p-a876d57c.entry.js +0 -1
  517. package/dist/dropi-ui/p-b1b0f938.entry.js +0 -1
  518. package/dist/dropi-ui/p-b2e176b1.entry.js +0 -1
  519. package/dist/dropi-ui/p-b890fd5b.entry.js +0 -1
  520. package/dist/dropi-ui/p-bf5a53ef.entry.js +0 -1
  521. package/dist/dropi-ui/p-c0677661.entry.js +0 -1
  522. package/dist/dropi-ui/p-c2562a1c.entry.js +0 -1
  523. package/dist/dropi-ui/p-c2b5d0fb.entry.js +0 -1
  524. package/dist/dropi-ui/p-c4d4396b.entry.js +0 -1
  525. package/dist/dropi-ui/p-cecfb68e.entry.js +0 -1
  526. package/dist/dropi-ui/p-d0b47e2e.entry.js +0 -1
  527. package/dist/dropi-ui/p-dcefef51.entry.js +0 -1
  528. package/dist/dropi-ui/p-e4b7e15f.entry.js +0 -1
  529. package/dist/dropi-ui/p-e7f4ed25.entry.js +0 -1
  530. package/dist/dropi-ui/p-f1d69b15.entry.js +0 -1
  531. package/dist/esm/dropi-input.entry.js +0 -208
  532. package/dist/esm/dropi-paginator.entry.js +0 -89
  533. package/dist/esm/dropi-tag.entry.js +0 -66
@@ -1,11 +1,11 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-Tbza12Gt.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-D5SAM1O2.js';
2
2
 
3
- const dropiButtonCss = () => `:host{display:inline-block}:host([full-width]){display:flex;width:100%}:host([full-width]) .btn{width:100%}*,*::before,*::after{box-sizing:border-box}.btn{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:var(--Size-1, 4px);border-radius:var(--Border-2, 8px);font-weight:700;min-width:33px;line-height:110%;cursor:pointer;white-space:nowrap;transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease}.btn:active{transition:transform 0.01s ease-out;transform:scale(0.98)}.btn:hover:not(:active){transform:scale(1.01)}.btn.without-text{gap:0}.btn.large{padding:var(--Size-4, 16px);font-size:var(--Size-4, 16px);height:48px}.btn.normal{padding:var(--Size-3, 12px);font-size:var(--font-size-s, 12px);height:40px}.btn.small{padding:var(--Size-2, 8px);font-size:var(--Size-3, 12px);height:29px}.btn.disabled,.btn.loading{cursor:not-allowed;pointer-events:none}.btn.primary.default{background:var(--Primary-Primary-500, #f49a3d);color:var(--Neutral-White, #fff)}.btn.primary.default:hover{background:var(--Primary-Primary-600, #e58017)}.btn.primary.success{background:var(--Success-Success-500, #0abb87);color:var(--Neutral-White, #fff)}.btn.primary.success:hover{background:var(--Success-Success-600, #09aa7b)}.btn.primary.info{background:var(--Info-Info-500, #50a5f1);color:var(--Neutral-White, #fff)}.btn.primary.info:hover{background:var(--Info-Info-600, #4996db)}.btn.primary.error{background:var(--Error-Error-500, #f46a6b);color:var(--Neutral-White, #fff)}.btn.primary.error:hover{background:var(--Error-Error-600, #de6061)}.btn.primary.warning{background:var(--Warning-Warning-500, #f1b44c);color:var(--Neutral-White, #fff)}.btn.primary.warning:hover{background:var(--Warning-Warning-600, #dba445)}.btn.primary.legacy{background:var(--Secondary-Secondary-500, #008dbf);color:var(--Neutral-White, #fff)}.btn.primary.legacy:hover{background:var(--Secondary-Secondary-600, #007199)}.btn.primary.disabled.default{background:var(--Primary-Primary-300, #f2bc85);color:var(--Neutral-White, #fff)}.btn.primary.disabled.success{background:var(--Success-Success-300, #5bd1af);color:var(--Neutral-White, #fff)}.btn.primary.disabled.info{background:var(--Info-Info-300, #8ac3f6);color:var(--Neutral-White, #fff)}.btn.primary.disabled.error{background:var(--Error-Error-300, #f89b9c);color:var(--Neutral-White, #fff)}.btn.primary.disabled.warning{background:var(--Warning-Warning-300, #f6cd87);color:var(--Neutral-White, #fff)}.btn.primary.disabled.legacy{background:var(--Secondary-Secondary-300, #62bad9);color:var(--Neutral-White, #fff)}.btn.secondary{background:var(--Neutral-White, #fff);border:1px solid}.btn.secondary.default{border-color:var(--Primary-Primary-500, #f49a3d);color:var(--Primary-Primary-500, #f49a3d)}.btn.secondary.default:hover{color:var(--Primary-Primary-600, #e58017);border-color:var(--Primary-Primary-600, #e58017)}.btn.secondary.success{border-color:var(--Success-Success-500, #0abb87);color:var(--Success-Success-500, #0abb87)}.btn.secondary.success:hover{color:var(--Success-Success-600, #09aa7b);border-color:var(--Success-Success-600, #09aa7b)}.btn.secondary.info{border-color:var(--Info-Info-500, #50a5f1);color:var(--Info-Info-500, #50a5f1)}.btn.secondary.info:hover{color:var(--Info-Info-600, #4996db);border-color:var(--Info-Info-600, #4996db)}.btn.secondary.error{border-color:var(--Error-Error-500, #f46a6b);color:var(--Error-Error-500, #f46a6b)}.btn.secondary.error:hover{color:var(--Error-Error-600, #de6061);border-color:var(--Error-Error-600, #de6061)}.btn.secondary.warning{border-color:var(--Warning-Warning-500, #f1b44c);color:var(--Warning-Warning-500, #f1b44c)}.btn.secondary.warning:hover{color:var(--Warning-Warning-600, #dba445);border-color:var(--Warning-Warning-600, #dba445)}.btn.secondary.legacy{border-color:var(--Secondary-Secondary-500, #008dbf);color:var(--Secondary-Secondary-500, #008dbf)}.btn.secondary.legacy:hover{color:var(--Secondary-Secondary-600, #007199);border-color:var(--Secondary-Secondary-600, #007199)}.btn.secondary.disabled.default{border-color:var(--Primary-Primary-300, #f2bc85);color:var(--Primary-Primary-300, #f2bc85)}.btn.secondary.disabled.success{border-color:var(--Success-Success-300, #5bd1af);color:var(--Success-Success-300, #5bd1af)}.btn.secondary.disabled.info{border-color:var(--Info-Info-300, #8ac3f6);color:var(--Info-Info-300, #8ac3f6)}.btn.secondary.disabled.error{border-color:var(--Error-Error-300, #f89b9c);color:var(--Error-Error-300, #f89b9c)}.btn.secondary.disabled.warning{border-color:var(--Warning-Warning-300, #f6cd87);color:var(--Warning-Warning-300, #f6cd87)}.btn.secondary.disabled.legacy{border-color:var(--Secondary-Secondary-300, #62bad9);color:var(--Secondary-Secondary-300, #62bad9)}.btn.tertiary{background:none;border:none}.btn.tertiary.default,.btn.tertiary.legacy{border:1px solid var(--Gray-Gray-200, #c3c9d9);color:var(--Gray-Gray-500, #69738c)}.btn.tertiary.default:hover,.btn.tertiary.legacy:hover{border-color:var(--Gray-Gray-400, #858ea6);color:var(--Gray-Gray-600, #475066)}.btn.tertiary.success{color:var(--Success-Success-500, #0abb87)}.btn.tertiary.success:hover{background:var(--Success-Success-50, #e7f8f3)}.btn.tertiary.info{color:var(--Info-Info-500, #50a5f1)}.btn.tertiary.info:hover{background:var(--Info-Info-50, #eef6fe)}.btn.tertiary.error{color:var(--Error-Error-500, #f46a6b)}.btn.tertiary.error:hover{background:var(--Error-Error-50, #fef0f0)}.btn.tertiary.warning{color:var(--Warning-Warning-500, #f1b44c)}.btn.tertiary.warning:hover{background:var(--Warning-Warning-50, #fef8ed)}.btn.tertiary.dropdown{color:var(--Gray-Gray-500, #69738c);font-weight:400;font-size:14px;background:transparent}.btn.tertiary.disabled.default,.btn.tertiary.disabled.legacy{border:1px solid var(--Gray-Gray-200, #c3c9d9);color:var(--Gray-Gray-400, #858ea6)}.btn.tertiary.disabled.success{color:var(--Success-Success-300, #5bd1af)}.btn.tertiary.disabled.info{color:var(--Info-Info-300, #8ac3f6)}.btn.tertiary.disabled.error{color:var(--Error-Error-300, #f89b9c)}.btn.tertiary.disabled.warning{color:var(--Warning-Warning-300, #f6cd87)}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`;
3
+ const dropiButtonCss = () => `:host{display:inline-block}:host([full-width]){display:flex;width:100%}:host([full-width]) .btn{width:100%}*,*::before,*::after{box-sizing:border-box}.btn{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:var(--Size-1, 4px);border-radius:var(--Border-2, 8px);font-weight:var(--font-weight-bold);min-width:33px;line-height:110%;cursor:pointer;white-space:nowrap;transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease}.btn:active{transition:transform 0.01s ease-out;transform:scale(0.98)}.btn:hover:not(:active){transform:scale(1.01)}.btn.without-text{gap:0}.btn.large{padding:var(--Size-4, 16px);font-size:var(--Size-4, 16px);height:48px}.btn.normal{padding:var(--Size-3, 12px);font-size:var(--font-size-s, 12px);height:40px}.btn.small{padding:var(--Size-2, 8px);font-size:var(--font-size-s, 12px);height:29px}.btn.disabled,.btn.loading{cursor:not-allowed;pointer-events:none}.btn.primary.default{background:var(--Primary-Primary-500, #f49a3d);color:var(--Neutral-White, #ffffff)}.btn.primary.default:hover{background:var(--Primary-Primary-600, #e58017)}.btn.primary.success{background:var(--Success-Success-500, #0abb87);color:var(--Neutral-White, #ffffff)}.btn.primary.success:hover{background:var(--Success-Success-600, #09aa7b)}.btn.primary.info{background:var(--Info-Info-500, #50a5f1);color:var(--Neutral-White, #ffffff)}.btn.primary.info:hover{background:var(--Info-Info-600, #4996db)}.btn.primary.error{background:var(--Error-Error-500, #f46a6b);color:var(--Neutral-White, #ffffff)}.btn.primary.error:hover{background:var(--Error-Error-600, #de6061)}.btn.primary.warning{background:var(--Warning-Warning-500, #f1b44c);color:var(--Neutral-White, #ffffff)}.btn.primary.warning:hover{background:var(--Warning-Warning-600, #dba445)}.btn.primary.legacy{background:var(--Secondary-Secondary-500, #008dbf);color:var(--Neutral-White, #ffffff)}.btn.primary.legacy:hover{background:var(--Secondary-Secondary-600, #007199)}.btn.primary.disabled.default{background:var(--Primary-Primary-300, #f2bc85);color:var(--Neutral-White, #ffffff)}.btn.primary.disabled.success{background:var(--Success-Success-300, #5bd1af);color:var(--Neutral-White, #ffffff)}.btn.primary.disabled.info{background:var(--Info-Info-300, #8ac3f6);color:var(--Neutral-White, #ffffff)}.btn.primary.disabled.error{background:var(--Error-Error-300, #f89b9c);color:var(--Neutral-White, #ffffff)}.btn.primary.disabled.warning{background:var(--Warning-Warning-300, #f6cd87);color:var(--Neutral-White, #ffffff)}.btn.primary.disabled.legacy{background:var(--Secondary-Secondary-300, #62bad9);color:var(--Neutral-White, #ffffff)}.btn.secondary{background:var(--Neutral-White, #ffffff);border:1px solid}.btn.secondary.default{border-color:var(--Primary-Primary-500, #f49a3d);color:var(--Primary-Primary-500, #f49a3d)}.btn.secondary.default:hover{color:var(--Primary-Primary-600, #e58017);border-color:var(--Primary-Primary-600, #e58017)}.btn.secondary.success{border-color:var(--Success-Success-500, #0abb87);color:var(--Success-Success-500, #0abb87)}.btn.secondary.success:hover{color:var(--Success-Success-600, #09aa7b);border-color:var(--Success-Success-600, #09aa7b)}.btn.secondary.info{border-color:var(--Info-Info-500, #50a5f1);color:var(--Info-Info-500, #50a5f1)}.btn.secondary.info:hover{color:var(--Info-Info-600, #4996db);border-color:var(--Info-Info-600, #4996db)}.btn.secondary.error{border-color:var(--Error-Error-500, #f46a6b);color:var(--Error-Error-500, #f46a6b)}.btn.secondary.error:hover{color:var(--Error-Error-600, #de6061);border-color:var(--Error-Error-600, #de6061)}.btn.secondary.warning{border-color:var(--Warning-Warning-500, #f1b44c);color:var(--Warning-Warning-500, #f1b44c)}.btn.secondary.warning:hover{color:var(--Warning-Warning-600, #dba445);border-color:var(--Warning-Warning-600, #dba445)}.btn.secondary.legacy{border-color:var(--Secondary-Secondary-500, #008dbf);color:var(--Secondary-Secondary-500, #008dbf)}.btn.secondary.legacy:hover{color:var(--Secondary-Secondary-600, #007199);border-color:var(--Secondary-Secondary-600, #007199)}.btn.secondary.disabled.default{border-color:var(--Primary-Primary-300, #f2bc85);color:var(--Primary-Primary-300, #f2bc85)}.btn.secondary.disabled.success{border-color:var(--Success-Success-300, #5bd1af);color:var(--Success-Success-300, #5bd1af)}.btn.secondary.disabled.info{border-color:var(--Info-Info-300, #8ac3f6);color:var(--Info-Info-300, #8ac3f6)}.btn.secondary.disabled.error{border-color:var(--Error-Error-300, #f89b9c);color:var(--Error-Error-300, #f89b9c)}.btn.secondary.disabled.warning{border-color:var(--Warning-Warning-300, #f6cd87);color:var(--Warning-Warning-300, #f6cd87)}.btn.secondary.disabled.legacy{border-color:var(--Secondary-Secondary-300, #62bad9);color:var(--Secondary-Secondary-300, #62bad9)}.btn.tertiary{background:none;border:none}.btn.tertiary.default,.btn.tertiary.legacy{border:1px solid var(--Gray-Gray-200, #c3c9d9);color:var(--Gray-Gray-500, #69738c)}.btn.tertiary.default:hover,.btn.tertiary.legacy:hover{border-color:var(--Gray-Gray-400, #858ea6);color:var(--Gray-Gray-600, #475066)}.btn.tertiary.success{color:var(--Success-Success-500, #0abb87)}.btn.tertiary.success:hover{background:var(--Success-Success-50, #e7f8f3)}.btn.tertiary.info{color:var(--Info-Info-500, #50a5f1)}.btn.tertiary.info:hover{background:var(--Info-Info-50, #eef6fe)}.btn.tertiary.error{color:var(--Error-Error-500, #f46a6b)}.btn.tertiary.error:hover{background:var(--Error-Error-50, #fef0f0)}.btn.tertiary.warning{color:var(--Warning-Warning-500, #f1b44c)}.btn.tertiary.warning:hover{background:var(--Warning-Warning-50, #fef8ed)}.btn.tertiary.dropdown{color:var(--Gray-Gray-500, #69738c);font-weight:var(--font-weight-regular);font-size:var(--font-size-s);background:transparent}.btn.tertiary.disabled.default,.btn.tertiary.disabled.legacy{border:1px solid var(--Gray-Gray-200, #c3c9d9);color:var(--Gray-Gray-400, #858ea6)}.btn.tertiary.disabled.success{color:var(--Success-Success-300, #5bd1af)}.btn.tertiary.disabled.info{color:var(--Info-Info-300, #8ac3f6)}.btn.tertiary.disabled.error{color:var(--Error-Error-300, #f89b9c)}.btn.tertiary.disabled.warning{color:var(--Warning-Warning-300, #f6cd87)}.spin{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}`;
4
4
 
5
5
  const DropiButton = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
- this.dropiClick = createEvent(this, "dropiClick", 7);
8
+ this.onClick = createEvent(this, "onClick", 7);
9
9
  }
10
10
  /** Visual color palette */
11
11
  type = 'default';
@@ -21,10 +21,12 @@ const DropiButton = class {
21
21
  preIcon = '';
22
22
  /** Icon name to show after the text */
23
23
  postIcon = '';
24
+ /** Custom icon color override */
25
+ customIconColor = '';
24
26
  /** Button label */
25
27
  text = '';
26
28
  /** Emitted on click (not emitted when disabled or loading) */
27
- dropiClick;
29
+ onClick;
28
30
  colorMap = {
29
31
  default: 'Primary-Primary-',
30
32
  success: 'Success-Success-',
@@ -33,6 +35,7 @@ const DropiButton = class {
33
35
  legacy: 'Secondary-Secondary-',
34
36
  warning: 'Warning-Warning-',
35
37
  dropdown: 'Gray-Gray-',
38
+ 'default-light': 'Gray-Gray-',
36
39
  };
37
40
  get iconSize() {
38
41
  if (this.size === 'large')
@@ -55,7 +58,7 @@ const DropiButton = class {
55
58
  }
56
59
  handleClick(e) {
57
60
  if (this.state !== 'disabled' && this.state !== 'loading') {
58
- this.dropiClick.emit(e);
61
+ this.onClick.emit(e);
59
62
  }
60
63
  }
61
64
  renderLoadingSpinner() {
@@ -66,14 +69,15 @@ const DropiButton = class {
66
69
  const hasText = this.text !== '';
67
70
  const showPostIcon = this.postIcon !== '' || this.type === 'dropdown';
68
71
  const dropdownIcon = this.type === 'dropdown' ? 'Dropdown-down' : this.postIcon;
69
- return (h("button", { key: 'e924f56cb86a87ee8a314cfc5c278042a4d0a87d', class: {
72
+ return (h("button", { key: 'd21aeb2274c317795bb0daad6d30c2bc9f3ede9f', class: {
70
73
  btn: true,
71
74
  'without-text': !hasText,
72
75
  [this.severity]: true,
73
76
  [this.type]: true,
74
77
  [this.size]: true,
75
78
  [this.state]: true,
76
- }, disabled: isDisabled, onClick: (e) => this.handleClick(e) }, this.preIcon && (h("dropi-icon", { key: '6d42026da19f7bf2fc6186659b8afc48748544f1', name: this.preIcon, width: this.iconSize, height: this.iconSize, color: this.fontColor })), hasText && h("span", { key: 'c71ee430fec84cd24d261dc12973ad0b472cc71c', class: "text" }, this.text), showPostIcon && (h("dropi-icon", { key: 'ff3890de446e5b48c88a980f01cce4e7b9764b24', name: dropdownIcon, width: this.iconSize, height: this.iconSize, color: this.fontColor })), this.state === 'loading' && this.renderLoadingSpinner(), h("slot", { key: '3ee6aacd17a004664ad4bcf89219a8e2dc865343' })));
79
+ 'full-width': this.fullWidth,
80
+ }, disabled: isDisabled, onClick: (e) => this.handleClick(e) }, this.preIcon && (h("dropi-icon", { key: '6711ece5a9c871db989e6bc4572c0d0ebfa7f899', name: this.preIcon, width: this.iconSize, height: this.iconSize, color: this.fontColor })), hasText && h("span", { key: '9fc49de08b5672c6e2dae9b3cea9587d451fac0d', class: "text" }, this.text), showPostIcon && (h("dropi-icon", { key: '1ce254e23b16fb7013469fb3e2d71fe70dba5a9d', name: dropdownIcon, width: this.iconSize, height: this.iconSize, color: this.fontColor })), this.state === 'loading' && this.renderLoadingSpinner(), h("slot", { key: '72857295b27aa6ef6981276d68497f33958a584c' })));
77
81
  }
78
82
  };
79
83
  DropiButton.style = dropiButtonCss();
@@ -1,18 +1,18 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-Tbza12Gt.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-D5SAM1O2.js';
2
2
 
3
- const dropiCardCheckboxCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.container-card-check{padding:var(--Size-4, 16px);border:1px solid var(--Gray-Gray-200, #c3c9d9);border-radius:var(--Size-2, 8px);width:100%;display:flex;align-items:center;gap:var(--Size-3, 12px);cursor:pointer;height:66px;overflow:hidden;transition:background 0.15s ease, border-color 0.15s ease}.container-card-check.disabled{border-radius:var(--Border-2, 8px);border:1px solid var(--Gray-Gray-100, #e6eaf2);background-color:var(--Gray-Gray-50, #f7f8fa);cursor:default}.container-card-check.disabled .title-check,.container-card-check.disabled .description-text,.container-card-check.disabled .extra-info{color:var(--Gray-Gray-400, #858ea6)}.container-text{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:start;overflow:hidden}.title-check{color:var(--Gray-Gray-700, #32394d);font-size:var(--font-size-m, 14px);font-weight:var(--font-weight-regular, 400);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.description-text{color:var(--Gray-Gray-500, #69738c);font-size:var(--font-size-s, 12px);margin-top:var(--Size-1, 4px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.extra-info{display:flex;justify-content:space-between;align-items:center;flex-direction:column;gap:4px;flex-shrink:0;font-size:var(--font-size-s, 12px);color:var(--Gray-Gray-600, #475066)}.extra-info h4{margin:0;font-size:var(--font-size-s, 12px)}.default-card{border:none}.is-checked{background:var(--Primary-Primary-50, #fff8f0);border:1px solid var(--Primary-Primary-500, #f49a3d)}`;
3
+ const dropiCardCheckboxCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.container-card-check{padding:var(--Size-4, 16px);border:1px solid var(--Gray-Gray-200, #c3c9d9);border-radius:var(--Size-2, 8px);width:100%;display:flex;align-items:center;gap:var(--Size-3, 12px);cursor:pointer;height:66px;overflow:hidden;transition:background 0.15s ease, border-color 0.15s ease}.container-card-check.disabled{border-radius:var(--Border-2, 8px);border:1px solid var(--Gray-Gray-100, #e6eaf2);background-color:var(--Gray-Gray-50, #f7f8fa);cursor:default}.container-card-check.disabled .title-check,.container-card-check.disabled .description-text,.container-card-check.disabled .extra-info{color:var(--Gray-Gray-400, #858ea6)}.container-text{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:start;overflow:hidden}.title-check{color:var(--Gray-Gray-700, #32394d);font-size:var(--font-size-m, 14px);font-weight:var(--font-weight-regular, 400);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.description-text{color:var(--Gray-Gray-500, #69738c);font-size:var(--font-size-s, 12px);margin-top:var(--Size-1, 4px);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.extra-info{display:flex;justify-content:space-between;align-items:center;flex-direction:column;gap:4px;flex-shrink:0;font-size:var(--font-size-s, 12px);color:var(--Gray-Gray-600, #475066)}.extra-info h4{margin:0;font-weight:var(--font-weight-semibold);color:inherit;line-height:inherit}.default-card{border:none}.is-checked{background:var(--Primary-Primary-50, #fff8f0);border:1px solid var(--Primary-Primary-500, #f49a3d)}`;
4
4
 
5
5
  const DropiCardCheckbox = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
- this.dropiChange = createEvent(this, "dropiChange", 7);
8
+ this.onChange = createEvent(this, "onChange", 7);
9
9
  }
10
- /** Visual type: 'default' = no border, 'with-card' = bordered card */
10
+ /** Visual type — matches Angular: 'default' | 'with card' */
11
11
  type = 'default';
12
- /** Whether the checkbox is checked */
13
- checked = false;
14
- /** Main title */
15
- cardTitle = '';
12
+ /** Whether the checkbox is checked — matches Angular 'state' */
13
+ state = 'checked';
14
+ /** Main title — matches Angular 'title' */
15
+ title = 'Tittle';
16
16
  /** Optional description below title */
17
17
  description = '';
18
18
  /** Optional extra info shown on the right */
@@ -22,20 +22,23 @@ const DropiCardCheckbox = class {
22
22
  /** Disables interaction */
23
23
  disabled = false;
24
24
  /** Emitted with the new checked state when clicked */
25
- dropiChange;
25
+ onChange;
26
+ get isChecked() {
27
+ return this.state === 'checked';
28
+ }
26
29
  handleClick() {
27
30
  if (this.disabled)
28
31
  return;
29
- this.checked = !this.checked;
30
- this.dropiChange.emit(this.checked);
32
+ this.state = this.isChecked ? 'default' : 'checked';
33
+ this.onChange.emit(this.isChecked);
31
34
  }
32
35
  render() {
33
- return (h("div", { key: '9c647faab478d2817593315051b1f02d0334756d', class: {
36
+ return (h("div", { key: '238a146e7500efbc01d83a8494ee577fbb600729', class: {
34
37
  'container-card-check': true,
35
38
  'default-card': this.type === 'default',
36
- 'is-checked': this.checked && this.type === 'with-card',
39
+ 'is-checked': this.isChecked && this.type === 'with card',
37
40
  'disabled': this.disabled,
38
- }, onClick: () => this.handleClick() }, h("dropi-checkbox", { key: '31db5cd31da290692d6aa77e0129b7e4361c23aa', checked: this.checked, disabled: this.disabled }), h("div", { key: '4b5c8eeadd255a79344d634d84e3ff93fafa34b4', class: "container-text" }, h("div", { key: '30a03f764294e0b4ca8a2bf4fd1badc08d0dc7e9', class: "title-check" }, this.cardTitle), this.description && h("div", { key: '751b4fac066b17c903e56a0aa5ef16b0d4151944', class: "description-text" }, this.description)), (this.extraInfo || this.extraInfoDescription) && (h("div", { key: '6b7eec457d42169ac87d1042b65b1bebdd436a5e', class: "extra-info" }, this.extraInfo && h("div", { key: '07e1cfa079668255343570498e0ad0dc0351effb' }, this.extraInfo), this.extraInfoDescription && h("h4", { key: '3a8277e2749b9cbdaf7d5d11086c7f2ac11dc39c' }, this.extraInfoDescription)))));
41
+ }, onClick: () => this.handleClick() }, h("dropi-checkbox", { key: '405d834de33790be58fba7e50b0e579889f04394', checked: this.isChecked, disabled: this.disabled }), h("div", { key: '49659771de9ca8ee8c2fa9fbe828a1d94fbd3c9e', class: "container-text" }, h("div", { key: '7d39435ef56cd61605e9d9b69d6917e3ec8470fa', class: "title-check" }, this.title), this.description && h("div", { key: '00a7723401979d7a9d926ce939eb09430ddb7372', class: "description-text" }, this.description)), (this.extraInfo || this.extraInfoDescription) && (h("div", { key: '4d1c9e49f6e397f0433827960167ff88bcd669db', class: "extra-info" }, this.extraInfo && h("div", { key: 'b9da8514c2013cd6cab9cf6005dad8d3ae30b930' }, this.extraInfo), this.extraInfoDescription && h("h4", { key: 'ac2fcbc6359ea173911f181b2a145de59af10c9d' }, this.extraInfoDescription)))));
39
42
  }
40
43
  };
41
44
  DropiCardCheckbox.style = dropiCardCheckboxCss();
@@ -1,55 +1,74 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-Tbza12Gt.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-D5SAM1O2.js';
2
2
 
3
- const dropiCardProductCss = () => `:host{display:block}*,*::before,*::after{box-sizing:border-box}.card{display:flex;flex-direction:column;border:1px solid var(--Gray-Gray-100, #eceef4);border-radius:var(--Border-2, 8px);background:var(--Neutral-White, #fff);overflow:hidden;cursor:pointer;transition:box-shadow 0.2s, transform 0.2s}.card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.1);transform:translateY(-2px)}.card__image-wrap{position:relative;width:100%;aspect-ratio:1;background:var(--Gray-Gray-50, #f7f8fa);overflow:hidden}.card__image{width:100%;height:100%;object-fit:cover}.card__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.card__badge{position:absolute;top:var(--Size-2, 8px);left:var(--Size-2, 8px);padding:2px 8px;border-radius:100px;font-size:var(--font-size-xs, 10px);font-weight:var(--font-weight-bold, 700)}.card__badge--default{background:var(--Gray-Gray-100, #eceef4);color:var(--Gray-Gray-700, #32394d)}.card__badge--success{background:var(--Success-Success-100, #d4f5de);color:var(--Success-Success-700, #0f7b2e)}.card__badge--warning{background:var(--Warning-Warning-100, #fef3cd);color:var(--Warning-Warning-700, #856404)}.card__badge--error{background:var(--Error-Error-100, #fde8e8);color:var(--Error-Error-700, #9b1c1c)}.card__badge--info{background:var(--Info-Info-100, #dbeafe);color:var(--Info-Info-700, #1d4ed8)}.card__fav{position:absolute;top:var(--Size-2, 8px);right:var(--Size-2, 8px);background:var(--Neutral-White, #fff);border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,0.12);transition:transform 0.15s}.card__fav:hover{transform:scale(1.1)}.card__fav--active{background:var(--Error-Error-50, #fef2f2)}.card__body{flex:1;padding:var(--Size-3, 12px);display:flex;flex-direction:column;gap:4px}.card__category{font-size:var(--font-size-xs, 10px);color:var(--Gray-Gray-400, #858ea6);text-transform:uppercase;letter-spacing:0.5px}.card__name{margin:0;font-size:var(--font-size-s, 12px);font-weight:var(--font-weight-bold, 700);color:var(--Gray-Gray-800, #1a2033);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card__price{margin:4px 0 0;font-size:var(--font-size-m, 14px);font-weight:var(--font-weight-bold, 700);color:var(--Primary-Primary-500, #f49a3d)}.card__price-currency{font-size:var(--font-size-xs, 10px);margin-right:2px}.card__supplier{margin:0;font-size:var(--font-size-xs, 10px);color:var(--Gray-Gray-400, #858ea6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card__no-stock{margin:4px 0 0;font-size:var(--font-size-xs, 10px);color:var(--Error-Error-500, #f46a6b)}.card__footer{padding:var(--Size-2, 8px) var(--Size-3, 12px) var(--Size-3, 12px)}.card__add-btn{width:100%;height:36px;display:flex;align-items:center;justify-content:center;gap:var(--Size-1, 4px);background:var(--Primary-Primary-500, #f49a3d);color:var(--Neutral-White, #fff);border:none;border-radius:var(--Border-2, 8px);font-size:var(--font-size-s, 12px);font-weight:var(--font-weight-bold, 700);font-family:inherit;cursor:pointer;transition:background 0.15s}.card__add-btn:hover:not(:disabled){background:var(--Primary-Primary-600, #e08526)}.card__add-btn:disabled{background:var(--Gray-Gray-200, #c3c9d9);cursor:not-allowed}`;
3
+ const dropiCardProductCss = () => `:host{display:block;font-family:'Inter', sans-serif}*,*::before,*::after{box-sizing:border-box}.dropi-card-product{position:relative;background:#ffffff;border-radius:8px;overflow:hidden;transition:all 0.2s ease-in-out;cursor:pointer;display:flex;flex-direction:column;height:100%;box-sizing:border-box;width:100%;max-width:450px;box-shadow:none}.product-image-container{padding:4px;flex-shrink:0}.product-image{position:relative;width:100%;aspect-ratio:1;border-radius:8px;border:1px solid #c3c9d9;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa}.product-image img{width:100%;height:100%;object-fit:cover;border-radius:8px}.product-image img.error-img{object-fit:contain}.favorite-button{position:absolute;bottom:5px;right:6px;border-radius:8px;padding:12px;cursor:pointer;transition:all 0.2s ease-in-out;z-index:2;display:flex;align-items:center;justify-content:center;width:42px;height:40px;background:#ffffff;border:1px solid #858ea6}.favorite-button.favorite-active{background:var(--Primary-Primary-500, #f49a3d);border:1px solid var(--Primary-Primary-500, #f49a3d)}.product-info{position:relative;padding:8px;display:flex;flex-direction:column;gap:4px;flex:1;justify-content:space-between}.supplier-insignia{position:absolute;top:-24px;left:0px}.product-header{display:flex;justify-content:space-between;align-items:center;width:100%;height:26px}.category{color:#69738c;font-family:'Inter', sans-serif;font-size:12px;font-weight:400;line-height:1.5;flex:1}.stock-info{display:flex;align-items:center;gap:2px;font-family:'Inter', sans-serif;font-size:12px;font-weight:400;line-height:1.5}.stock-label{color:#69738c}.stock-value{font-weight:500}.product-name{color:#32394d;font-family:'Inter', sans-serif;font-size:16px;font-weight:500;line-height:1.5;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.supplier-info{font-family:'Inter', sans-serif;font-size:12px;line-height:1.2}.supplier-label{color:#69738c;font-weight:400}.supplier-name{color:#50a5f1;font-weight:400;margin-left:4px;cursor:pointer}.price-container{display:flex;gap:8px;margin-top:4px}.price-item{flex:1;display:flex;flex-direction:column}.price-label{color:#69738c;font-family:'Inter', sans-serif;font-size:12px;font-weight:400;line-height:1.5;height:18px;min-width:max-content}.price-value{color:#32394d;font-family:'Inter', sans-serif;font-size:14px;font-weight:700;line-height:1.1;margin-top:2px}.separator{height:1px;background:#e6eaf2;margin:0;flex-shrink:0}.action-button{background:#ffffff;border:none;border-top:1px solid #e6eaf2;padding:12px;cursor:pointer;transition:all 0.2s ease-in-out;display:flex;align-items:center;justify-content:center;gap:8px;height:40px;flex-shrink:0}.action-button--disabled{opacity:0.3;cursor:not-allowed}.button-text{font-family:'Inter', sans-serif;font-size:14px;font-weight:700;line-height:1.1;color:#f49a3d;text-align:center;white-space:nowrap}`;
4
4
 
5
5
  const DropiCardProduct = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
- this.dropiCardClick = createEvent(this, "dropiCardClick", 7);
9
- this.dropiToggleFavorite = createEvent(this, "dropiToggleFavorite", 7);
8
+ this.onProductClick = createEvent(this, "onProductClick", 7);
9
+ this.changeFavorite = createEvent(this, "changeFavorite", 7);
10
10
  this.dropiAddProduct = createEvent(this, "dropiAddProduct", 7);
11
+ this.dropiSupplierClick = createEvent(this, "dropiSupplierClick", 7);
11
12
  }
12
13
  /** Product image URL */
13
14
  image = '';
14
15
  /** Product name */
15
16
  productName = '';
16
- /** Product price */
17
- price = 0;
17
+ /** Sale / supplier price (Precio proveedor) */
18
+ salePrice = 0;
19
+ /** Suggested price for the dropshipper (Precio sugerido) */
20
+ suggestedPrice = 0;
18
21
  /** Price currency symbol */
19
22
  currency = '$';
20
23
  /** Supplier / store name */
21
24
  supplier = '';
22
25
  /** Category label */
23
26
  category = '';
27
+ /** Stock quantity (0 = Agotado) */
28
+ stock = 0;
29
+ /** Supplier category for insignia: 'verified' | 'premium' | 'exclusive' | '' */
30
+ supplierCategory = '';
24
31
  /** Show favorite button */
25
32
  showFavorite = true;
26
33
  /** Is marked as favorite */
27
34
  isFavorite = false;
28
- /** Show "Add to store" button */
35
+ /** Show "Enviar a cliente" button */
29
36
  showAddButton = true;
30
- /** Badge text (e.g. "Nuevo", "Oferta") */
31
- badge = '';
32
- /** Badge color variant */
33
- badgeType = 'default';
34
- /** Stock availability */
35
- inStock = true;
36
- /** Emitted when card is clicked */
37
- dropiCardClick;
38
- /** Emitted when favorite toggled */
39
- dropiToggleFavorite;
40
- /** Emitted when "Add" button clicked */
37
+ /** Emitted when card is clicked — matches Angular 'onProductClick' */
38
+ onProductClick;
39
+ /** Emitted when favorite toggled — matches Angular 'changeFavorite' */
40
+ changeFavorite;
41
+ /** Emitted when "Enviar a cliente" button clicked */
41
42
  dropiAddProduct;
43
+ /** Emitted when supplier name clicked */
44
+ dropiSupplierClick;
42
45
  formatPrice(val) {
46
+ if (val == null)
47
+ return '0';
43
48
  return val.toLocaleString('es-CO');
44
49
  }
50
+ get inStock() {
51
+ return this.stock > 0;
52
+ }
53
+ getStockColor() {
54
+ if (this.stock === 0)
55
+ return 'var(--Error-Error-500, #f46a6b)';
56
+ if (this.stock <= 10)
57
+ return 'var(--Warning-Warning-500, #f59e0b)';
58
+ return 'var(--Success-Success-500, #0abb87)';
59
+ }
45
60
  render() {
46
- return (h("div", { key: '98684e3d5fac7968633bcd62b46dba6f0e0f5d64', class: "card", onClick: () => this.dropiCardClick.emit() }, h("div", { key: '848cf4ef786584e5b02a99249df3cfa48c41d428', class: "card__image-wrap" }, this.image
47
- ? h("img", { class: "card__image", src: this.image, alt: this.productName, loading: "lazy" })
48
- : h("div", { class: "card__image-placeholder" }, h("dropi-icon", { name: "Image", width: "32px", height: "32px", color: "Gray-Gray-300" })), this.badge && (h("span", { key: '7238c35891b35a0bb12a774817542323bcd33e99', class: `card__badge card__badge--${this.badgeType}` }, this.badge)), this.showFavorite && (h("button", { key: '647c8569997ff8ba96ca0d4d19a12570fb353d93', class: { 'card__fav': true, 'card__fav--active': this.isFavorite }, onClick: (e) => {
61
+ return (h("div", { key: '42990ea883dcd6cc72e1f62771f7b9554c36bdba', class: "dropi-card-product", onClick: () => this.onProductClick.emit() }, h("div", { key: '59295427ddc350ec3c70d7d1bd4803ffa6bf26b0', class: "product-image-container" }, h("div", { key: '9d10e18f2eadf16f0c0b1b7cb7860d08f2ca778f', class: "product-image" }, h("img", { key: '19f7af8eddcbea880d32ef30603d55bfe9337f17', src: this.image || '', alt: this.productName, onError: (e) => {
62
+ e.target.src = './assets/utils/no-image.jpg';
63
+ }, class: !this.image ? 'error-img' : '' }), this.showFavorite && (h("button", { key: 'a6e13eea7c211fd772fe5ee7c13c7d475d54986c', class: { 'favorite-button': true, 'favorite-active': this.isFavorite }, onClick: (e) => {
49
64
  e.stopPropagation();
50
65
  this.isFavorite = !this.isFavorite;
51
- this.dropiToggleFavorite.emit(this.isFavorite);
52
- }, "aria-label": "Favorito" }, h("dropi-icon", { key: 'a9d654e3bdc5816f2c58537cb07c486a61021fcd', name: this.isFavorite ? 'Heart-filled' : 'Heart', width: "16px", height: "16px", color: this.isFavorite ? 'Error-Error-500' : 'Gray-Gray-400' })))), h("div", { key: 'c553168c5926dafb582210b680571eb9b4ae72ea', class: "card__body" }, this.category && h("span", { key: '6cee8941275bc0461c9d06b0c5bf2f0a75f14f0b', class: "card__category" }, this.category), h("p", { key: 'd4577a94b9a7b7b8b9c275987369dc56e4a0c2b4', class: "card__name" }, this.productName), h("p", { key: '2ead66bd7ce7a7f15285b8099cfea7de8d4f6d1a', class: "card__price" }, h("span", { key: '90e317dc5bdad1cbe6199ef9abd13cf6468a439b', class: "card__price-currency" }, this.currency), this.formatPrice(this.price)), this.supplier && (h("p", { key: 'f70fc28afbc468d7eca3683afbc193ec47c275f4', class: "card__supplier" }, this.supplier)), !this.inStock && (h("p", { key: '37d9911367a0e0504e661e52eee69f4628572bb1', class: "card__no-stock" }, "Sin stock disponible"))), this.showAddButton && (h("div", { key: 'eef0213d00268319b6fa9901ced750d2f06735ed', class: "card__footer" }, h("button", { key: 'f026718a0146fdea94dbcda40614354be80fa932', class: "card__add-btn", disabled: !this.inStock, onClick: (e) => { e.stopPropagation(); this.dropiAddProduct.emit(); } }, h("dropi-icon", { key: 'dc3ff5553e60df93a3eb93bab43be874f8d6582d', name: "Plus", width: "14px", height: "14px", color: "Neutral-White" }), "Agregar")))));
66
+ this.changeFavorite.emit(this.isFavorite);
67
+ }, "aria-label": "Favorito" }, h("dropi-icon", { key: '0020aaa1beffedd0243c62f616dfeb6428ec63e5', name: this.isFavorite ? 'Heart-solid' : 'Heart', width: "18px", height: "18px", color: this.isFavorite ? '#fff' : '#858ea6' }))))), h("div", { key: '390a04f46d8394deb0591969a04525f3687509a0', class: "product-info" }, this.supplierCategory && (h("dropi-ilustration-icon", { key: '7fa320fcc36f6d4929197a2d88e59deb76d34ab0', class: "supplier-insignia", type: "insignia", stateInsignia: this.supplierCategory, tagProduct: true })), h("div", { key: '67e922b0afc44b3f376db3b20a33d7cc0ae8e987', class: "product-header" }, this.category && (h("span", { key: '421f39afc07922579610fe57abdfa37b4fa68586', class: "category" }, this.category)), h("div", { key: 'e4ad1d38535bd876298efb6d819d3355ac6b7446', class: "stock-info" }, h("span", { key: '5dbdabc282dbfaee4adec81668d38a909e04227d', class: "stock-label" }, "Stock:"), h("span", { key: 'f14a47956953779f4527404930b4a988ac5c5737', class: "stock-value", style: { color: this.getStockColor() } }, this.stock === 0 ? 'Agotado' : this.stock))), h("h3", { key: '4403e622316112df4075fafbbbbc17151d2e1b39', class: "product-name" }, this.productName), this.supplier && (h("div", { key: '28554238023a313e1698847a5faccd17e9bbd750', class: "supplier-info" }, h("span", { key: 'e34245925f659f232050ad835cf83690b112d7d0', class: "supplier-label" }, "Proveedor:"), h("span", { key: 'cabf8743951095acf0c05dd6e48ee74140984773', class: "supplier-name", onClick: (e) => { e.stopPropagation(); this.dropiSupplierClick.emit(); } }, this.supplier))), h("div", { key: '193982dc4aea14f337f64c9156d97f7c23d02db7', class: "price-container" }, h("div", { key: 'f2925c29fe4d5f9be2f92c501b92351e9a4f60e0', class: "price-item" }, h("span", { key: 'd0a8f99140d6ced64e19a69a2f198ba861cca017', class: "price-label" }, "Precio proveedor"), h("span", { key: '6fa5b8b5cd1f6d6e7b2551bdceedf65e3cb0029d', class: "price-value" }, this.currency, " ", this.formatPrice(this.salePrice))), h("div", { key: '0a37ead7f660608ed6303c97893fdd9156b5bfad', class: "price-item" }, h("span", { key: '8bb33b1b418fdbb79c31ed69ddfa2598f6450efd', class: "price-label" }, "Precio sugerido"), h("span", { key: '2df4c30b299190461f0032a66cc8d281ce9c9dab', class: "price-value" }, this.currency, " ", this.formatPrice(this.suggestedPrice))))), h("div", { key: '91a8306e386ac8d0422a02d3b4bac2d96ba7bebc', class: "separator" }), this.showAddButton && (h("div", { key: '69fd0267e5388770f5067a23d4ddf2636867b030', class: { 'action-button': true, 'action-button--disabled': !this.inStock }, onClick: (e) => {
68
+ e.stopPropagation();
69
+ if (this.inStock)
70
+ this.dropiAddProduct.emit();
71
+ } }, h("dropi-icon", { key: '6e9a7333778b5a4e75bca612f7900909e9b52c80', name: "Shopping-cart-arrow-rigth", width: "20px", height: "20px", color: "#f49a3d" }), h("span", { key: '1f3eb20049a94cb74bef8c89f8773a831667dc7b', class: "button-text" }, "Enviar a cliente")))));
53
72
  }
54
73
  };
55
74
  DropiCardProduct.style = dropiCardProductCss();
@@ -1,34 +1,34 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-Tbza12Gt.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-D5SAM1O2.js';
2
2
 
3
- const dropiCardSectionCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.card-section{display:flex;align-items:center;justify-content:space-between;gap:var(--Size-4, 16px);padding:var(--Size-3, 12px) var(--Size-4, 16px);background:var(--Neutral-White, #fff);border:1px solid var(--Gray-Gray-100, #e6eaf2);border-radius:var(--Border-2, 8px)}.card-section__text{flex:1}.card-section__title{margin:0 0 4px;font-family:inherit;font-weight:var(--font-weight-bold, 700);color:var(--Gray-Gray-800, #1a2033)}h5.card-section__title{font-size:var(--font-size-m, 14px)}h6.card-section__title{font-size:var(--font-size-s, 12px)}.card-section__desc{margin:0;font-size:var(--font-size-xs, 10px);color:var(--Gray-Gray-500, #69738c)}.card-section__control{flex-shrink:0}.card-section__dropdown-btn{display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer}`;
3
+ const dropiCardSectionCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.card-section{display:flex;align-items:center;justify-content:space-between;gap:var(--Size-4, 16px);padding:var(--Size-3, 12px) var(--Size-4, 16px);background:var(--Neutral-White, #ffffff);border:1px solid var(--Gray-Gray-100, #e6eaf2);border-radius:var(--Border-2, 8px)}.card-section__text{flex:1}.card-section__title{margin:0 0 4px;font-family:inherit;font-weight:var(--font-weight-bold, 700);color:var(--Gray-Gray-800, #1f2433)}h5.card-section__title{font-size:var(--font-size-m, 14px)}h6.card-section__title{font-size:var(--font-size-s, 12px)}.card-section__desc{margin:0;font-size:var(--font-size-xs, 10px);color:var(--Gray-Gray-500, #69738c)}.card-section__control{flex-shrink:0}.card-section__dropdown-btn{display:flex;align-items:center;background:none;border:none;padding:0;cursor:pointer}`;
4
4
 
5
5
  const DropiCardSection = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
- this.dropiChange = createEvent(this, "dropiChange", 7);
9
- this.dropiClick = createEvent(this, "dropiClick", 7);
8
+ this.onChange = createEvent(this, "onChange", 7);
9
+ this.onClick = createEvent(this, "onClick", 7);
10
10
  }
11
- /** Section title */
12
- sectionTitle = '';
11
+ /** Section title — matches Angular 'title' */
12
+ title = 'title';
13
13
  /** Section description */
14
- description = '';
14
+ description = 'Description';
15
15
  /** Control type on the right */
16
- typeElement = 'switch';
16
+ typeElement = 'dropdown';
17
17
  /** Title size variant */
18
- type = 'medium';
18
+ type = 'important';
19
19
  /** Switch checked state */
20
20
  isChecked = false;
21
- /** Emitted when switch changes. e.detail = new boolean value */
22
- dropiChange;
21
+ /** Emitted when switch changes */
22
+ onChange;
23
23
  /** Emitted when dropdown icon is clicked */
24
- dropiClick;
24
+ onClick;
25
25
  render() {
26
- return (h("div", { key: 'f2653804e3d325fb6859d5cc096c893c8fb08ed8', class: "card-section" }, h("div", { key: '25fb5e34a9abcdc6a2761adf7053256cb431304d', class: "card-section__text" }, this.type === 'important'
27
- ? h("h5", { class: "card-section__title card-section__title--important" }, this.sectionTitle)
28
- : h("h6", { class: "card-section__title" }, this.sectionTitle), this.description && h("p", { key: 'fbfb5509a685f39053aa787b57df7c9f2ba1b6eb', class: "card-section__desc" }, this.description)), h("div", { key: 'f5e6a3d27b08cd6d8be791d9d8bb007c2859d9d2', class: "card-section__control" }, this.typeElement === 'switch' ? (h("dropi-switch", { isChecked: this.isChecked, onDropiChange: (e) => {
26
+ return (h("div", { key: 'aa7548c223bf3238b7af10e52821e3ffd19fefca', class: "card-section" }, h("div", { key: '6b0ed1e7f7c282b0f67277567a2fa1ffbab9d04e', class: "card-section__text" }, this.type === 'important'
27
+ ? h("h5", { class: "card-section__title card-section__title--important" }, this.title)
28
+ : h("h6", { class: "card-section__title" }, this.title), this.description && h("p", { key: 'f0c83d631d541d95c19e4a246634da56413a3de9', class: "card-section__desc" }, this.description)), h("div", { key: '976d78401ab26872df88115ae0f0449bcd2faae9', class: "card-section__control" }, this.typeElement === 'switch' ? (h("dropi-switch", { isChecked: this.isChecked, onOnChange: (e) => {
29
29
  this.isChecked = e.detail;
30
- this.dropiChange.emit(e.detail);
31
- } })) : (h("button", { class: "card-section__dropdown-btn", onClick: () => this.dropiClick.emit(), "aria-label": "Expandir" }, h("dropi-icon", { name: "Dropdown-down", width: "20px", height: "20px", color: "Gray-Gray-500" }))))));
30
+ this.onChange.emit(e.detail);
31
+ } })) : (h("button", { class: "card-section__dropdown-btn", onClick: () => this.onClick.emit(), "aria-label": "Expandir" }, h("dropi-icon", { name: "Dropdown-down", width: "20px", height: "20px", color: "Gray-Gray-500" }))))));
32
32
  }
33
33
  };
34
34
  DropiCardSection.style = dropiCardSectionCss();
@@ -1,78 +1,148 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-Tbza12Gt.js';
1
+ import { r as registerInstance, c as createEvent, a as getElement, h } from './index-D5SAM1O2.js';
2
2
 
3
- const dropiCarouselCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.carousel{display:flex;flex-direction:column;gap:var(--Size-2, 8px);width:100%}.carousel__stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--Border-2, 8px);background:var(--Gray-Gray-100, #eceef4)}.carousel__slide{position:absolute;inset:0;opacity:0;transition:opacity 0.4s ease;pointer-events:none}.carousel__slide--active{opacity:1;pointer-events:all}.carousel__img{width:100%;height:100%}.carousel__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0, 0, 0, 0.4);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s;z-index:1}.carousel__nav:hover{background:rgba(0,0,0,0.65)}.carousel__nav--prev{left:var(--Size-2, 8px)}.carousel__nav--next{right:var(--Size-2, 8px)}.carousel__dots{display:flex;justify-content:center;gap:var(--Size-1, 4px)}.carousel__dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--Gray-Gray-300, #a0a9c0);cursor:pointer;padding:0;transition:background 0.2s, transform 0.2s}.carousel__dot--active{background:var(--Primary-Primary-500, #f49a3d);transform:scale(1.3)}.carousel__thumbs{display:flex;gap:var(--Size-2, 8px);overflow-x:auto;padding-bottom:2px}.carousel__thumbs::-webkit-scrollbar{height:4px}.carousel__thumbs::-webkit-scrollbar-thumb{background:var(--Gray-Gray-200, #c3c9d9);border-radius:2px}.carousel__thumb{width:56px;height:56px;object-fit:cover;border-radius:var(--Border-1, 4px);cursor:pointer;flex-shrink:0;opacity:0.5;border:2px solid transparent;transition:opacity 0.15s, border-color 0.15s}.carousel__thumb:hover{opacity:0.8}.carousel__thumb--active{opacity:1;border-color:var(--Primary-Primary-500, #f49a3d)}`;
3
+ const dropiCarouselCss = () => `:host{display:block;width:100%}*,*::before,*::after{box-sizing:border-box}.dropi-carousel-container{display:flex;flex-direction:column;position:relative;width:100%;max-width:100%;overflow:hidden;padding:0 var(--Size-4)}.dropi-carousel-content{display:flex;align-items:center;position:relative;padding:1rem 0;width:100%}.dropi-carousel-items-content{overflow:hidden;flex:1;padding:0;width:100%;max-width:100%}.dropi-carousel-items-container{display:flex;padding-bottom:var(--Size-3);will-change:transform}.dropi-carousel-item{flex:0 0 auto;padding:0 0.5rem;box-sizing:border-box}.dropi-carousel-item>*{width:100%;box-sizing:border-box;display:block}.dropi-carousel-nav{display:flex;width:40px;height:40px;justify-content:center;align-items:center;cursor:pointer;transition:all 0.2s;flex-shrink:0;z-index:1;border-radius:var(--Border-5);background:var(--Neutral-White, #fff);box-shadow:var(--Shadow-medium);border:none;appearance:none;padding:0}.dropi-carousel-nav:hover{background:var(--Gray-Gray-50)}.dropi-carousel-nav:disabled{opacity:0.4;cursor:not-allowed;box-shadow:none}.dropi-carousel-prev{margin-right:1rem}.dropi-carousel-next{margin-left:1rem}.dropi-carousel-indicators{display:flex;justify-content:center;gap:0.5rem;list-style:none;padding:1rem 0 0 0;margin:0}.dropi-carousel-indicators li{cursor:pointer}.dropi-carousel-indicators li button{width:1rem;height:1rem;border-radius:50%;border:1px solid var(--Gray-Gray-100, #eceef4);background:var(--Neutral-White, #fff);cursor:pointer;transition:all 0.2s;padding:0}.dropi-carousel-indicators li.active button{background:var(--Primary-Primary-500);border-color:var(--Primary-Primary-500)}.dropi-carousel-indicators li:hover button{background:var(--Gray-Gray-200)}.vertical .dropi-carousel-content{flex-direction:column}.vertical .dropi-carousel-items-container{flex-direction:column}.vertical .dropi-carousel-prev{margin:0 0 1rem 0}.vertical .dropi-carousel-next{margin:1rem 0 0 0}@media (max-width: 768px){.dropi-carousel-container{padding:0}.dropi-carousel-item{padding:0 0.25rem}}`;
4
4
 
5
5
  const DropiCarousel = class {
6
6
  constructor(hostRef) {
7
7
  registerInstance(this, hostRef);
8
- this.dropiSlideChange = createEvent(this, "dropiSlideChange", 7);
8
+ this.pageChange = createEvent(this, "pageChange", 7);
9
+ this.onPage = createEvent(this, "onPage", 7);
9
10
  }
10
- /** Array of image URLs or JSON string */
11
- images = [];
12
- /** Alt text prefix for images */
13
- altPrefix = 'Imagen';
11
+ get el() { return getElement(this); }
12
+ /** Items to display (Array of URLs or objects) */
13
+ value = [];
14
+ /** Active page index */
15
+ page = 0;
16
+ /** Number of items visible per page */
17
+ numVisible = 1;
18
+ /** Number of items to scroll per click */
19
+ numScroll = 1;
20
+ /** Orientation of the carousel */
21
+ orientation = 'horizontal';
14
22
  /** Show navigation arrows */
15
- showArrows = true;
23
+ showNavigators = true;
16
24
  /** Show dot indicators */
17
- showDots = true;
18
- /** Show thumbnail strip */
19
- showThumbs = false;
25
+ showIndicators = true;
20
26
  /** Autoplay interval in ms (0 = disabled) */
21
- autoplay = 0;
22
- /** Active index (controlled) */
23
- activeIndex = 0;
24
- /** Object-fit for images */
25
- objectFit = 'cover';
26
- parsedImages = [];
27
- current = 0;
27
+ autoplayInterval = 0;
28
+ /** Infinite scrolling */
29
+ circular = false;
30
+ parsedValue = [];
31
+ internalPage = 0;
32
+ isAnimating = false;
33
+ totalPages = 0;
34
+ itemsContainer;
28
35
  timer;
29
- /** Emitted when slide changes. e.detail = new index */
30
- dropiSlideChange;
31
- imagesChanged(val) {
32
- this.parsedImages = typeof val === 'string' ? JSON.parse(val) : (val || []);
36
+ pageChange;
37
+ onPage;
38
+ handleValue(val) {
39
+ this.parsedValue = typeof val === 'string' ? JSON.parse(val) : (val || []);
40
+ this.updateTotalPages();
41
+ this.updateTransform();
33
42
  }
34
- activeIndexChanged(val) {
35
- this.current = val;
43
+ handlePage(val) {
44
+ this.internalPage = val;
45
+ this.updateTransform();
36
46
  }
37
47
  componentWillLoad() {
38
- this.imagesChanged(this.images);
39
- this.current = this.activeIndex;
48
+ if (!this.value || (Array.isArray(this.value) && this.value.length === 0)) {
49
+ const attrValue = this.el.getAttribute('value');
50
+ if (attrValue)
51
+ this.value = attrValue;
52
+ }
53
+ this.handleValue(this.value);
54
+ this.internalPage = this.page;
40
55
  }
41
56
  componentDidLoad() {
42
- if (this.autoplay > 0) {
57
+ this.updateTransform();
58
+ if (this.autoplayInterval > 0) {
43
59
  this.startAutoplay();
44
60
  }
61
+ window.addEventListener('resize', this.onResize);
45
62
  }
46
63
  disconnectedCallback() {
47
64
  this.stopAutoplay();
65
+ window.removeEventListener('resize', this.onResize);
48
66
  }
67
+ onResize = () => {
68
+ this.updateTotalPages();
69
+ this.updateTransform();
70
+ };
49
71
  startAutoplay() {
50
- this.timer = setInterval(() => this.next(), this.autoplay);
72
+ this.timer = setInterval(() => this.navForward(), this.autoplayInterval);
51
73
  }
52
74
  stopAutoplay() {
53
75
  if (this.timer)
54
76
  clearInterval(this.timer);
55
77
  }
56
- go(index) {
57
- const len = this.parsedImages.length;
58
- this.current = ((index % len) + len) % len;
59
- this.activeIndex = this.current;
60
- this.dropiSlideChange.emit(this.current);
78
+ updateTotalPages() {
79
+ if (!this.parsedValue.length || this.parsedValue.length <= this.numVisible) {
80
+ this.totalPages = 1;
81
+ return;
82
+ }
83
+ const totalItems = this.parsedValue.length;
84
+ const remainingItems = totalItems - this.numVisible;
85
+ this.totalPages = Math.ceil(remainingItems / this.numScroll) + 1;
86
+ }
87
+ updateTransform() {
88
+ if (!this.itemsContainer)
89
+ return;
90
+ const prop = this.orientation === 'vertical' ? 'translateY' : 'translateX';
91
+ const firstItem = this.itemsContainer.querySelector('.dropi-carousel-item');
92
+ if (!firstItem)
93
+ return;
94
+ const itemSize = this.orientation === 'vertical' ? firstItem.offsetHeight : firstItem.offsetWidth;
95
+ const itemsScrolled = this.internalPage * this.numScroll;
96
+ const maxScroll = Math.max(0, this.parsedValue.length - this.numVisible);
97
+ const safeScroll = Math.min(itemsScrolled, maxScroll);
98
+ const translateValue = -(safeScroll * itemSize);
99
+ this.itemsContainer.style.transform = `${prop}(${translateValue}px)`;
100
+ }
101
+ navForward = (e) => {
102
+ if (e)
103
+ e.preventDefault();
104
+ if (this.circular || this.internalPage < this.totalPages - 1) {
105
+ this.isAnimating = true;
106
+ this.internalPage = (this.internalPage + 1) % this.totalPages;
107
+ this.page = this.internalPage;
108
+ this.updateTransform();
109
+ this.pageChange.emit(this.internalPage);
110
+ setTimeout(() => (this.isAnimating = false), 500);
111
+ }
112
+ };
113
+ navBackward = (e) => {
114
+ if (e)
115
+ e.preventDefault();
116
+ if (this.circular || this.internalPage > 0) {
117
+ this.isAnimating = true;
118
+ this.internalPage = (this.internalPage - 1 + this.totalPages) % this.totalPages;
119
+ this.page = this.internalPage;
120
+ this.updateTransform();
121
+ this.pageChange.emit(this.internalPage);
122
+ setTimeout(() => (this.isAnimating = false), 500);
123
+ }
124
+ };
125
+ onDotClick(index) {
126
+ this.isAnimating = true;
127
+ this.internalPage = index;
128
+ this.page = this.internalPage;
129
+ this.updateTransform();
130
+ this.pageChange.emit(this.internalPage);
131
+ setTimeout(() => (this.isAnimating = false), 500);
61
132
  }
62
- prev() { this.go(this.current - 1); }
63
- next() { this.go(this.current + 1); }
64
133
  render() {
65
- const imgs = this.parsedImages;
66
- if (!imgs.length)
134
+ const items = this.parsedValue;
135
+ if (!items.length)
67
136
  return null;
68
- return (h("div", { class: "carousel" }, h("div", { class: "carousel__stage" }, imgs.map((src, i) => (h("div", { class: { 'carousel__slide': true, 'carousel__slide--active': i === this.current }, "aria-hidden": i !== this.current }, h("img", { class: "carousel__img", src: src, alt: `${this.altPrefix} ${i + 1}`, style: { objectFit: this.objectFit }, loading: "lazy" })))), this.showArrows && imgs.length > 1 && (h("button", { class: "carousel__nav carousel__nav--prev", onClick: () => this.prev(), "aria-label": "Anterior" }, h("dropi-icon", { name: "Arrow-Left-2", width: "20px", height: "20px", color: "Neutral-White" }))), this.showArrows && imgs.length > 1 && (h("button", { class: "carousel__nav carousel__nav--next", onClick: () => this.next(), "aria-label": "Siguiente" }, h("dropi-icon", { name: "Arrow-Right-2", width: "20px", height: "20px", color: "Neutral-White" })))), this.showDots && imgs.length > 1 && (h("div", { class: "carousel__dots" }, imgs.map((_, i) => (h("button", { class: { 'carousel__dot': true, 'carousel__dot--active': i === this.current }, onClick: () => this.go(i), "aria-label": `Ir a diapositiva ${i + 1}` }))))), this.showThumbs && imgs.length > 1 && (h("div", { class: "carousel__thumbs" }, imgs.map((src, i) => (h("img", { class: { 'carousel__thumb': true, 'carousel__thumb--active': i === this.current }, src: src, alt: `${this.altPrefix} ${i + 1}`, onClick: () => this.go(i), loading: "lazy" })))))));
137
+ const itemFlexBasis = `${100 / this.numVisible}%`;
138
+ return (h("div", { class: { 'dropi-carousel-container': true, 'vertical': this.orientation === 'vertical' } }, h("div", { class: "dropi-carousel-content" }, this.showNavigators && items.length > this.numVisible && (h("button", { class: "dropi-carousel-nav dropi-carousel-prev", disabled: !this.circular && this.internalPage === 0, onClick: (e) => this.navBackward(e), "aria-label": "Anterior" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M14.659 17.5a.833.833 0 0 1-.589-.244l-4.43-4.431a.833.833 0 0 1 0-1.178l4.43-4.431a.834.834 0 0 1 1.179 1.178L11.42 12.25l3.83 3.829a.833.833 0 0 1-.59 1.421Z", fill: "#475066" })))), h("div", { class: "dropi-carousel-items-content" }, h("div", { class: "dropi-carousel-items-container", ref: (el) => (this.itemsContainer = el), style: { transition: this.isAnimating ? 'transform 0.5s ease' : 'none' } }, items.map((item, i) => (h("div", { class: "dropi-carousel-item", style: { flex: `0 0 ${itemFlexBasis}` } }, typeof item === 'string' ? (h("img", { src: item, alt: `Slide ${i + 1}` })) : (h("slot", { name: `item-${i}` }))))))), this.showNavigators && items.length > this.numVisible && (h("button", { class: "dropi-carousel-nav dropi-carousel-next", disabled: !this.circular && this.internalPage >= this.totalPages - 1, onClick: (e) => this.navForward(e), "aria-label": "Siguiente" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M9.341 17.5a.833.833 0 0 0 .589-.244l4.43-4.431a.833.833 0 0 0 0-1.178l-4.43-4.431a.834.834 0 0 0-1.179 1.178l3.83 3.829-3.83 3.829a.833.833 0 0 0 .59 1.421Z", fill: "#475066" }))))), this.showIndicators && this.totalPages > 1 && (h("ul", { class: "dropi-carousel-indicators" }, Array.from({ length: this.totalPages }).map((_, i) => (h("li", { class: { active: i === this.internalPage }, onClick: () => this.onDotClick(i) }, h("button", { type: "button", "aria-label": `Página ${i + 1}` }))))))));
69
139
  }
70
140
  static get watchers() { return {
71
- "images": [{
72
- "imagesChanged": 0
141
+ "value": [{
142
+ "handleValue": 0
73
143
  }],
74
- "activeIndex": [{
75
- "activeIndexChanged": 0
144
+ "page": [{
145
+ "handlePage": 0
76
146
  }]
77
147
  }; }
78
148
  };