@dropi/ui-components 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/.gitignore +13 -0
  2. package/CONTRIBUTING.md +188 -0
  3. package/MIGRATION_STEPS.md +39 -0
  4. package/PUBLISH_CHECKLIST.md +97 -0
  5. package/QUICK_START.md +108 -0
  6. package/README.md +146 -0
  7. package/jest.config.ts +21 -0
  8. package/ng-package.json +8 -0
  9. package/package.json +66 -0
  10. package/project.json +48 -0
  11. package/publish.sh +113 -0
  12. package/src/components-source/accordion/accordion-item/accordion-item.component.html +12 -0
  13. package/src/components-source/accordion/accordion-item/accordion-item.component.scss +47 -0
  14. package/src/components-source/accordion/accordion-item/accordion-item.component.spec.ts +122 -0
  15. package/src/components-source/accordion/accordion-item/accordion-item.component.ts +42 -0
  16. package/src/components-source/accordion/accordion.component.html +3 -0
  17. package/src/components-source/accordion/accordion.component.scss +5 -0
  18. package/src/components-source/accordion/accordion.component.spec.ts +243 -0
  19. package/src/components-source/accordion/accordion.component.stories.ts +111 -0
  20. package/src/components-source/accordion/accordion.component.ts +43 -0
  21. package/src/components-source/alert/alert.component.html +28 -0
  22. package/src/components-source/alert/alert.component.scss +154 -0
  23. package/src/components-source/alert/alert.component.spec.ts +185 -0
  24. package/src/components-source/alert/alert.component.stories.ts +310 -0
  25. package/src/components-source/alert/alert.component.ts +203 -0
  26. package/src/components-source/alert-legacy/alert.component.html +21 -0
  27. package/src/components-source/alert-legacy/alert.component.scss +42 -0
  28. package/src/components-source/alert-legacy/alert.component.spec.ts +159 -0
  29. package/src/components-source/alert-legacy/alert.component.ts +33 -0
  30. package/src/components-source/alert-modal/alert-modal.component.html +124 -0
  31. package/src/components-source/alert-modal/alert-modal.component.scss +203 -0
  32. package/src/components-source/alert-modal/alert-modal.component.spec.ts +557 -0
  33. package/src/components-source/alert-modal/alert-modal.component.stories.ts +295 -0
  34. package/src/components-source/alert-modal/alert-modal.component.ts +294 -0
  35. package/src/components-source/alert-modal/services/template-alert-modal.service.ts +75 -0
  36. package/src/components-source/badge/badge.component.html +49 -0
  37. package/src/components-source/badge/badge.component.scss +57 -0
  38. package/src/components-source/badge/badge.component.spec.ts +181 -0
  39. package/src/components-source/badge/badge.component.ts +21 -0
  40. package/src/components-source/breadcrumb/breadcrumb.component.html +5 -0
  41. package/src/components-source/breadcrumb/breadcrumb.component.scss +46 -0
  42. package/src/components-source/breadcrumb/breadcrumb.component.spec.ts +279 -0
  43. package/src/components-source/breadcrumb/breadcrumb.component.ts +24 -0
  44. package/src/components-source/card-product/card-product.component.html +173 -0
  45. package/src/components-source/card-product/card-product.component.spec.ts +601 -0
  46. package/src/components-source/card-product/card-product.component.stories.ts +322 -0
  47. package/src/components-source/card-product/card-product.component.ts +1101 -0
  48. package/src/components-source/card-section/card-section.component.html +22 -0
  49. package/src/components-source/card-section/card-section.component.scss +14 -0
  50. package/src/components-source/card-section/card-section.component.spec.ts +333 -0
  51. package/src/components-source/card-section/card-section.component.stories.ts +141 -0
  52. package/src/components-source/card-section/card-section.component.ts +35 -0
  53. package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.html +38 -0
  54. package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.scss +147 -0
  55. package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.spec.ts +555 -0
  56. package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.stories.ts +157 -0
  57. package/src/components-source/checkbox-selection-list/checkbox-selection-list.component.ts +219 -0
  58. package/src/components-source/city-selector/city-selector.component.html +22 -0
  59. package/src/components-source/city-selector/city-selector.component.scss +1 -0
  60. package/src/components-source/city-selector/city-selector.component.spec.ts +278 -0
  61. package/src/components-source/city-selector/city-selector.component.stories.ts +200 -0
  62. package/src/components-source/city-selector/city-selector.component.ts +151 -0
  63. package/src/components-source/color-picker/color-picker.component.html +54 -0
  64. package/src/components-source/color-picker/color-picker.component.scss +203 -0
  65. package/src/components-source/color-picker/color-picker.component.spec.ts +148 -0
  66. package/src/components-source/color-picker/color-picker.component.stories.ts +70 -0
  67. package/src/components-source/color-picker/color-picker.component.ts +353 -0
  68. package/src/components-source/country-flags/country-flags.component.html +10 -0
  69. package/src/components-source/country-flags/country-flags.component.scss +34 -0
  70. package/src/components-source/country-flags/country-flags.component.spec.ts +78 -0
  71. package/src/components-source/country-flags/country-flags.component.ts +18 -0
  72. package/src/components-source/date-picker/date-picker.component.html +35 -0
  73. package/src/components-source/date-picker/date-picker.component.scss +388 -0
  74. package/src/components-source/date-picker/date-picker.component.spec.ts +510 -0
  75. package/src/components-source/date-picker/date-picker.component.stories.ts +444 -0
  76. package/src/components-source/date-picker/date-picker.component.ts +313 -0
  77. package/src/components-source/date-picker/date-picker.stories.spec.ts +150 -0
  78. package/src/components-source/date-picker-range/date-picker-range.component.html +45 -0
  79. package/src/components-source/date-picker-range/date-picker-range.component.scss +229 -0
  80. package/src/components-source/date-picker-range/date-picker-range.component.spec.ts +555 -0
  81. package/src/components-source/date-picker-range/date-picker-range.component.ts +254 -0
  82. package/src/components-source/dropi-avatars/dropi-avatars.component.html +17 -0
  83. package/src/components-source/dropi-avatars/dropi-avatars.component.scss +58 -0
  84. package/src/components-source/dropi-avatars/dropi-avatars.component.spec.ts +403 -0
  85. package/src/components-source/dropi-avatars/dropi-avatars.component.ts +24 -0
  86. package/src/components-source/dropi-badge/dropi-badge.component.html +12 -0
  87. package/src/components-source/dropi-badge/dropi-badge.component.scss +50 -0
  88. package/src/components-source/dropi-badge/dropi-badge.component.spec.ts +108 -0
  89. package/src/components-source/dropi-badge/dropi-badge.component.stories.ts +140 -0
  90. package/src/components-source/dropi-badge/dropi-badge.component.ts +39 -0
  91. package/src/components-source/dropi-banner-external/dropi-banner-external.component.html +67 -0
  92. package/src/components-source/dropi-banner-external/dropi-banner-external.component.scss +46 -0
  93. package/src/components-source/dropi-banner-external/dropi-banner-external.component.spec.ts +170 -0
  94. package/src/components-source/dropi-banner-external/dropi-banner-external.component.stories.ts +203 -0
  95. package/src/components-source/dropi-banner-external/dropi-banner-external.component.ts +204 -0
  96. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.html +65 -0
  97. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.scss +65 -0
  98. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.spec.ts +125 -0
  99. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.component.ts +38 -0
  100. package/src/components-source/dropi-breadcrumb/dropi-breadcrumb.stories.ts +133 -0
  101. package/src/components-source/dropi-button/dropi-button.component.html +37 -0
  102. package/src/components-source/dropi-button/dropi-button.component.scss +266 -0
  103. package/src/components-source/dropi-button/dropi-button.component.spec.ts +264 -0
  104. package/src/components-source/dropi-button/dropi-button.component.stories.ts +221 -0
  105. package/src/components-source/dropi-button/dropi-button.component.ts +82 -0
  106. package/src/components-source/dropi-card-checkbox/dropi-card-checkbox.component.html +24 -0
  107. package/src/components-source/dropi-card-checkbox/dropi-card-checkbox.component.scss +85 -0
  108. package/src/components-source/dropi-card-checkbox/dropi-card-checkbox.component.spec.ts +157 -0
  109. package/src/components-source/dropi-card-checkbox/dropi-card-checkbox.component.stories.ts +209 -0
  110. package/src/components-source/dropi-card-checkbox/dropi-card-checkbox.component.ts +41 -0
  111. package/src/components-source/dropi-carousel/dropi-carousel.component.html +57 -0
  112. package/src/components-source/dropi-carousel/dropi-carousel.component.scss +156 -0
  113. package/src/components-source/dropi-carousel/dropi-carousel.component.spec.ts +224 -0
  114. package/src/components-source/dropi-carousel/dropi-carousel.component.ts +266 -0
  115. package/src/components-source/dropi-carousel/dropi-carousel.stories.ts +365 -0
  116. package/src/components-source/dropi-checkbox/dropi-checkbox.component.css +39 -0
  117. package/src/components-source/dropi-checkbox/dropi-checkbox.component.html +18 -0
  118. package/src/components-source/dropi-checkbox/dropi-checkbox.component.spec.ts +155 -0
  119. package/src/components-source/dropi-checkbox/dropi-checkbox.component.stories.ts +101 -0
  120. package/src/components-source/dropi-checkbox/dropi-checkbox.component.ts +25 -0
  121. package/src/components-source/dropi-chips/dropi-chips.component.html +10 -0
  122. package/src/components-source/dropi-chips/dropi-chips.component.scss +54 -0
  123. package/src/components-source/dropi-chips/dropi-chips.component.spec.ts +356 -0
  124. package/src/components-source/dropi-chips/dropi-chips.component.stories.ts +275 -0
  125. package/src/components-source/dropi-chips/dropi-chips.component.ts +100 -0
  126. package/src/components-source/dropi-country-selector/countries.data.ts +239 -0
  127. package/src/components-source/dropi-country-selector/dropi-country-selector.component.html +59 -0
  128. package/src/components-source/dropi-country-selector/dropi-country-selector.component.scss +126 -0
  129. package/src/components-source/dropi-country-selector/dropi-country-selector.component.spec.ts +244 -0
  130. package/src/components-source/dropi-country-selector/dropi-country-selector.component.stories.ts +117 -0
  131. package/src/components-source/dropi-country-selector/dropi-country-selector.component.ts +179 -0
  132. package/src/components-source/dropi-drawer/dropi-drawer.component.html +23 -0
  133. package/src/components-source/dropi-drawer/dropi-drawer.component.scss +88 -0
  134. package/src/components-source/dropi-drawer/dropi-drawer.component.spec.ts +84 -0
  135. package/src/components-source/dropi-drawer/dropi-drawer.component.ts +90 -0
  136. package/src/components-source/dropi-dropdown/dropi-dropdown.component.html +30 -0
  137. package/src/components-source/dropi-dropdown/dropi-dropdown.component.scss +58 -0
  138. package/src/components-source/dropi-dropdown/dropi-dropdown.component.spec.ts +213 -0
  139. package/src/components-source/dropi-dropdown/dropi-dropdown.component.stories.ts +143 -0
  140. package/src/components-source/dropi-dropdown/dropi-dropdown.component.ts +53 -0
  141. package/src/components-source/dropi-favorite-button/dropi-favorite-button.component.html +23 -0
  142. package/src/components-source/dropi-favorite-button/dropi-favorite-button.component.scss +21 -0
  143. package/src/components-source/dropi-favorite-button/dropi-favorite-button.component.spec.ts +240 -0
  144. package/src/components-source/dropi-favorite-button/dropi-favorite-button.component.ts +31 -0
  145. package/src/components-source/dropi-file-upload/card-view/card-view.component.html +154 -0
  146. package/src/components-source/dropi-file-upload/card-view/card-view.component.scss +118 -0
  147. package/src/components-source/dropi-file-upload/card-view/card-view.component.ts +72 -0
  148. package/src/components-source/dropi-file-upload/drop-zone/drop-zone.coment.stories.ts +179 -0
  149. package/src/components-source/dropi-file-upload/drop-zone/drop-zone.component.html +111 -0
  150. package/src/components-source/dropi-file-upload/drop-zone/drop-zone.component.scss +90 -0
  151. package/src/components-source/dropi-file-upload/drop-zone/drop-zone.component.ts +172 -0
  152. package/src/components-source/dropi-file-upload/dropi-file-upload.component.html +42 -0
  153. package/src/components-source/dropi-file-upload/dropi-file-upload.component.scss +31 -0
  154. package/src/components-source/dropi-file-upload/dropi-file-upload.component.spec.ts +398 -0
  155. package/src/components-source/dropi-file-upload/dropi-file-upload.component.stories.ts +139 -0
  156. package/src/components-source/dropi-file-upload/dropi-file-upload.component.ts +329 -0
  157. package/src/components-source/dropi-file-upload/file-list/file-list.component.html +51 -0
  158. package/src/components-source/dropi-file-upload/file-list/file-list.component.scss +60 -0
  159. package/src/components-source/dropi-file-upload/file-list/file-list.component.ts +84 -0
  160. package/src/components-source/dropi-file-upload/grid-view/grid-view.component.html +77 -0
  161. package/src/components-source/dropi-file-upload/grid-view/grid-view.component.scss +85 -0
  162. package/src/components-source/dropi-file-upload/grid-view/grid-view.component.ts +35 -0
  163. package/src/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.html +38 -0
  164. package/src/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.scss +59 -0
  165. package/src/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.spec.ts +214 -0
  166. package/src/components-source/dropi-ilustration-icon/dropi-ilustration-icon.component.ts +65 -0
  167. package/src/components-source/dropi-image-overlay/dropi-image-overlay.component.html +54 -0
  168. package/src/components-source/dropi-image-overlay/dropi-image-overlay.component.scss +210 -0
  169. package/src/components-source/dropi-image-overlay/dropi-image-overlay.component.spec.ts +145 -0
  170. package/src/components-source/dropi-image-overlay/dropi-image-overlay.component.ts +76 -0
  171. package/src/components-source/dropi-image-overlay/dropi-image-overlay.stories.ts +267 -0
  172. package/src/components-source/dropi-languages-selector/dropi-languages-selector.component.html +17 -0
  173. package/src/components-source/dropi-languages-selector/dropi-languages-selector.component.scss +82 -0
  174. package/src/components-source/dropi-languages-selector/dropi-languages-selector.component.spec.ts +152 -0
  175. package/src/components-source/dropi-languages-selector/dropi-languages-selector.component.ts +41 -0
  176. package/src/components-source/dropi-logo/dropi-logo.component.html +3 -0
  177. package/src/components-source/dropi-logo/dropi-logo.component.scss +20 -0
  178. package/src/components-source/dropi-logo/dropi-logo.component.spec.ts +274 -0
  179. package/src/components-source/dropi-logo/dropi-logo.component.ts +24 -0
  180. package/src/components-source/dropi-modal/dropi-modal-stack.service.ts +75 -0
  181. package/src/components-source/dropi-modal/dropi-modal.component.html +55 -0
  182. package/src/components-source/dropi-modal/dropi-modal.component.scss +274 -0
  183. package/src/components-source/dropi-modal/dropi-modal.component.spec.ts +46 -0
  184. package/src/components-source/dropi-modal/dropi-modal.component.stories.ts +392 -0
  185. package/src/components-source/dropi-modal/dropi-modal.component.ts +392 -0
  186. package/src/components-source/dropi-modal/p-template.directive.ts +11 -0
  187. package/src/components-source/dropi-navbar/dropi-navbar.component.html +41 -0
  188. package/src/components-source/dropi-navbar/dropi-navbar.component.scss +227 -0
  189. package/src/components-source/dropi-navbar/dropi-navbar.component.spec.ts +110 -0
  190. package/src/components-source/dropi-navbar/dropi-navbar.component.ts +52 -0
  191. package/src/components-source/dropi-paginator/dropi-paginator.component.html +64 -0
  192. package/src/components-source/dropi-paginator/dropi-paginator.component.scss +43 -0
  193. package/src/components-source/dropi-paginator/dropi-paginator.component.spec.ts +285 -0
  194. package/src/components-source/dropi-paginator/dropi-paginator.component.stories.ts +345 -0
  195. package/src/components-source/dropi-paginator/dropi-paginator.component.ts +85 -0
  196. package/src/components-source/dropi-phone-input/dropi-phone-input.component.html +93 -0
  197. package/src/components-source/dropi-phone-input/dropi-phone-input.component.scss +224 -0
  198. package/src/components-source/dropi-phone-input/dropi-phone-input.component.spec.ts +376 -0
  199. package/src/components-source/dropi-phone-input/dropi-phone-input.component.ts +203 -0
  200. package/src/components-source/dropi-phone-input/numeric-input.directive.ts +17 -0
  201. package/src/components-source/dropi-radio-button/dropi-radio-button.component.html +8 -0
  202. package/src/components-source/dropi-radio-button/dropi-radio-button.component.scss +33 -0
  203. package/src/components-source/dropi-radio-button/dropi-radio-button.component.spec.ts +225 -0
  204. package/src/components-source/dropi-radio-button/dropi-radio-button.component.ts +48 -0
  205. package/src/components-source/dropi-search/dropi-search.component.html +124 -0
  206. package/src/components-source/dropi-search/dropi-search.component.scss +116 -0
  207. package/src/components-source/dropi-search/dropi-search.component.spec.ts +483 -0
  208. package/src/components-source/dropi-search/dropi-search.component.stories.ts +267 -0
  209. package/src/components-source/dropi-search/dropi-search.component.ts +230 -0
  210. package/src/components-source/dropi-select/dropi-select.component.html +158 -0
  211. package/src/components-source/dropi-select/dropi-select.component.scss +275 -0
  212. package/src/components-source/dropi-select/dropi-select.component.spec.ts +386 -0
  213. package/src/components-source/dropi-select/dropi-select.component.stories.ts +686 -0
  214. package/src/components-source/dropi-select/dropi-select.component.ts +465 -0
  215. package/src/components-source/dropi-skeleton/dropi-skeleton.component.html +10 -0
  216. package/src/components-source/dropi-skeleton/dropi-skeleton.component.scss +28 -0
  217. package/src/components-source/dropi-skeleton/dropi-skeleton.component.spec.ts +273 -0
  218. package/src/components-source/dropi-skeleton/dropi-skeleton.component.stories.ts +145 -0
  219. package/src/components-source/dropi-skeleton/dropi-skeleton.component.ts +30 -0
  220. package/src/components-source/dropi-steps/dropi-steps.component.html +29 -0
  221. package/src/components-source/dropi-steps/dropi-steps.component.scss +110 -0
  222. package/src/components-source/dropi-steps/dropi-steps.component.spec.ts +228 -0
  223. package/src/components-source/dropi-steps/dropi-steps.component.stories.ts +231 -0
  224. package/src/components-source/dropi-steps/dropi-steps.component.ts +98 -0
  225. package/src/components-source/dropi-switch/dropi-switch.component.html +4 -0
  226. package/src/components-source/dropi-switch/dropi-switch.component.scss +50 -0
  227. package/src/components-source/dropi-switch/dropi-switch.component.spec.ts +105 -0
  228. package/src/components-source/dropi-switch/dropi-switch.component.stories.ts +106 -0
  229. package/src/components-source/dropi-switch/dropi-switch.component.ts +22 -0
  230. package/src/components-source/dropi-table/dropi-table.component.html +395 -0
  231. package/src/components-source/dropi-table/dropi-table.component.scss +506 -0
  232. package/src/components-source/dropi-table/dropi-table.component.spec.ts +578 -0
  233. package/src/components-source/dropi-table/dropi-table.component.stories.ts +313 -0
  234. package/src/components-source/dropi-table/dropi-table.component.ts +580 -0
  235. package/src/components-source/dropi-tag/dropi-tag.component.html +17 -0
  236. package/src/components-source/dropi-tag/dropi-tag.component.scss +50 -0
  237. package/src/components-source/dropi-tag/dropi-tag.component.spec.ts +267 -0
  238. package/src/components-source/dropi-tag/dropi-tag.component.stories.ts +290 -0
  239. package/src/components-source/dropi-tag/dropi-tag.component.ts +92 -0
  240. package/src/components-source/dropi-text-area/droip-text-area.component.stories.ts +138 -0
  241. package/src/components-source/dropi-text-area/dropi-text-area.component.html +63 -0
  242. package/src/components-source/dropi-text-area/dropi-text-area.component.scss +106 -0
  243. package/src/components-source/dropi-text-area/dropi-text-area.component.spec.ts +507 -0
  244. package/src/components-source/dropi-text-area/dropi-text-area.component.ts +80 -0
  245. package/src/components-source/dropi-tooltip/dropi-tooltip.component.html +70 -0
  246. package/src/components-source/dropi-tooltip/dropi-tooltip.component.scss +250 -0
  247. package/src/components-source/dropi-tooltip/dropi-tooltip.component.spec.ts +423 -0
  248. package/src/components-source/dropi-tooltip/dropi-tooltip.component.ts +153 -0
  249. package/src/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.html +20 -0
  250. package/src/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.scss +63 -0
  251. package/src/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.spec.ts +121 -0
  252. package/src/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.component.ts +43 -0
  253. package/src/components-source/dropi-youtube-lazy-video/dropi-youtube-lazy-video.stories.ts +125 -0
  254. package/src/components-source/empty-state/empty-state.component.html +30 -0
  255. package/src/components-source/empty-state/empty-state.component.scss +76 -0
  256. package/src/components-source/empty-state/empty-state.component.spec.ts +244 -0
  257. package/src/components-source/empty-state/empty-state.component.stories.ts +198 -0
  258. package/src/components-source/empty-state/empty-state.component.ts +34 -0
  259. package/src/components-source/file-upload-progress-bar/file-upload-progress-bar.component.html +81 -0
  260. package/src/components-source/file-upload-progress-bar/file-upload-progress-bar.component.scss +86 -0
  261. package/src/components-source/file-upload-progress-bar/file-upload-progress-bar.component.spec.ts +27 -0
  262. package/src/components-source/file-upload-progress-bar/file-upload-progress-bar.component.stories.ts +149 -0
  263. package/src/components-source/file-upload-progress-bar/file-upload-progress-bar.component.ts +89 -0
  264. package/src/components-source/foundations/dropi-border-radius-demo/dropi-border-radius-demo.component.scss +32 -0
  265. package/src/components-source/foundations/dropi-border-radius-demo/dropi-border-radius-demo.component.ts +17 -0
  266. package/src/components-source/foundations/foundations.component.html +183 -0
  267. package/src/components-source/foundations/foundations.component.scss +31 -0
  268. package/src/components-source/foundations/foundations.component.ts +26 -0
  269. package/src/components-source/icon/icon-names.const.ts +270 -0
  270. package/src/components-source/icon/icon.component.html +3 -0
  271. package/src/components-source/icon/icon.component.scss +4 -0
  272. package/src/components-source/icon/icon.component.spec.ts +304 -0
  273. package/src/components-source/icon/icon.component.ts +53 -0
  274. package/src/components-source/index.ts +89 -0
  275. package/src/components-source/input/input.component.html +97 -0
  276. package/src/components-source/input/input.component.scss +149 -0
  277. package/src/components-source/input/input.component.spec.ts +243 -0
  278. package/src/components-source/input/input.component.stories.ts +269 -0
  279. package/src/components-source/input/input.component.ts +119 -0
  280. package/src/components-source/lottie-loader/lottie-loader.component.html +16 -0
  281. package/src/components-source/lottie-loader/lottie-loader.component.scss +32 -0
  282. package/src/components-source/lottie-loader/lottie-loader.component.spec.ts +103 -0
  283. package/src/components-source/lottie-loader/lottie-loader.component.ts +20 -0
  284. package/src/components-source/otp-send-code/mock-otp-services.ts +214 -0
  285. package/src/components-source/otp-send-code/otp-send-code.component.html +151 -0
  286. package/src/components-source/otp-send-code/otp-send-code.component.scss +156 -0
  287. package/src/components-source/otp-send-code/otp-send-code.component.spec.ts +419 -0
  288. package/src/components-source/otp-send-code/otp-send-code.component.stories.ts +190 -0
  289. package/src/components-source/otp-send-code/otp-send-code.component.ts +659 -0
  290. package/src/components-source/radio-selection-list/radio-selection-list.component.html +107 -0
  291. package/src/components-source/radio-selection-list/radio-selection-list.component.scss +280 -0
  292. package/src/components-source/radio-selection-list/radio-selection-list.component.spec.ts +243 -0
  293. package/src/components-source/radio-selection-list/radio-selection-list.component.stories.ts +313 -0
  294. package/src/components-source/radio-selection-list/radio-selection-list.component.ts +143 -0
  295. package/src/components-source/read-more/read-more.component.html +14 -0
  296. package/src/components-source/read-more/read-more.component.scss +16 -0
  297. package/src/components-source/read-more/read-more.component.spec.ts +272 -0
  298. package/src/components-source/read-more/read-more.component.stories.ts +131 -0
  299. package/src/components-source/read-more/read-more.component.ts +88 -0
  300. package/src/components-source/sidebar/sidebar.component.html +42 -0
  301. package/src/components-source/sidebar/sidebar.component.scss +70 -0
  302. package/src/components-source/sidebar/sidebar.component.spec.ts +354 -0
  303. package/src/components-source/sidebar/sidebar.component.stories.ts +145 -0
  304. package/src/components-source/sidebar/sidebar.component.ts +105 -0
  305. package/src/components-source/simple-stepper/simple-stepper.component.html +17 -0
  306. package/src/components-source/simple-stepper/simple-stepper.component.scss +117 -0
  307. package/src/components-source/simple-stepper/simple-stepper.component.spec.ts +348 -0
  308. package/src/components-source/simple-stepper/simple-stepper.component.stories.ts +104 -0
  309. package/src/components-source/simple-stepper/simple-stepper.component.ts +69 -0
  310. package/src/components-source/storybook-doc-components/avatars-storybook/avatars-storybook.component.html +192 -0
  311. package/src/components-source/storybook-doc-components/avatars-storybook/avatars-storybook.component.scss +15 -0
  312. package/src/components-source/storybook-doc-components/avatars-storybook/avatars-storybook.component.ts +17 -0
  313. package/src/components-source/storybook-doc-components/border-radius-storybook/border-radius-storybook.component.html +22 -0
  314. package/src/components-source/storybook-doc-components/border-radius-storybook/border-radius-storybook.component.scss +0 -0
  315. package/src/components-source/storybook-doc-components/border-radius-storybook/border-radius-storybook.component.ts +54 -0
  316. package/src/components-source/storybook-doc-components/breakpoints-and-grids-storybook/breakpoints-and-grids-storybook.component.css +81 -0
  317. package/src/components-source/storybook-doc-components/breakpoints-and-grids-storybook/breakpoints-and-grids-storybook.component.html +143 -0
  318. package/src/components-source/storybook-doc-components/breakpoints-and-grids-storybook/breakpoints-and-grids-storybook.component.ts +97 -0
  319. package/src/components-source/storybook-doc-components/colors-storybook/colors-storybook.component.css +10 -0
  320. package/src/components-source/storybook-doc-components/colors-storybook/colors-storybook.component.html +63 -0
  321. package/src/components-source/storybook-doc-components/colors-storybook/colors-storybook.component.ts +542 -0
  322. package/src/components-source/storybook-doc-components/dropi-modal/dropi-modal.component.html +132 -0
  323. package/src/components-source/storybook-doc-components/dropi-modal/dropi-modal.component.scss +15 -0
  324. package/src/components-source/storybook-doc-components/dropi-modal/dropi-modal.component.ts +67 -0
  325. package/src/components-source/storybook-doc-components/dropi-toast/dropi-toast.component.html +156 -0
  326. package/src/components-source/storybook-doc-components/dropi-toast/dropi-toast.component.scss +13 -0
  327. package/src/components-source/storybook-doc-components/dropi-toast/dropi-toast.component.ts +55 -0
  328. package/src/components-source/storybook-doc-components/flags-storybook/flags-storybook.component.css +0 -0
  329. package/src/components-source/storybook-doc-components/flags-storybook/flags-storybook.component.html +99 -0
  330. package/src/components-source/storybook-doc-components/flags-storybook/flags-storybook.component.ts +19 -0
  331. package/src/components-source/storybook-doc-components/icons-storybook/icons-storybook.component.css +82 -0
  332. package/src/components-source/storybook-doc-components/icons-storybook/icons-storybook.component.html +111 -0
  333. package/src/components-source/storybook-doc-components/icons-storybook/icons-storybook.component.ts +196 -0
  334. package/src/components-source/storybook-doc-components/logo-storybook/logo-foundations.component.ts +19 -0
  335. package/src/components-source/storybook-doc-components/logo-storybook/logo-storybook.component.css +0 -0
  336. package/src/components-source/storybook-doc-components/logo-storybook/logo-storybook.component.html +104 -0
  337. package/src/components-source/storybook-doc-components/lustration-storybook/lustration-storybook.component.css +0 -0
  338. package/src/components-source/storybook-doc-components/lustration-storybook/lustration-storybook.component.html +218 -0
  339. package/src/components-source/storybook-doc-components/lustration-storybook/lustration-storybook.component.ts +20 -0
  340. package/src/components-source/storybook-doc-components/shadow-storybook/shadow-storybook.component.html +21 -0
  341. package/src/components-source/storybook-doc-components/shadow-storybook/shadow-storybook.component.scss +0 -0
  342. package/src/components-source/storybook-doc-components/shadow-storybook/shadow-storybook.component.ts +66 -0
  343. package/src/components-source/storybook-doc-components/spacing-storybook/spacing-storybook.component.html +33 -0
  344. package/src/components-source/storybook-doc-components/spacing-storybook/spacing-storybook.component.scss +0 -0
  345. package/src/components-source/storybook-doc-components/spacing-storybook/spacing-storybook.component.ts +37 -0
  346. package/src/components-source/storybook-doc-components/story-page/story-page.component.html +74 -0
  347. package/src/components-source/storybook-doc-components/story-page/story-page.component.scss +103 -0
  348. package/src/components-source/storybook-doc-components/story-page/story-page.component.ts +424 -0
  349. package/src/components-source/storybook-doc-components/template-breakpoint-storybook/template-breakpoint-storybook.component.html +35 -0
  350. package/src/components-source/storybook-doc-components/template-breakpoint-storybook/template-breakpoint-storybook.component.scss +64 -0
  351. package/src/components-source/storybook-doc-components/template-breakpoint-storybook/template-breakpoint-storybook.component.ts +71 -0
  352. package/src/components-source/storybook-doc-components/tillte-table-documentation/tillte-table-documentation.component.html +44 -0
  353. package/src/components-source/storybook-doc-components/tillte-table-documentation/tillte-table-documentation.component.scss +270 -0
  354. package/src/components-source/storybook-doc-components/tillte-table-documentation/tillte-table-documentation.component.ts +153 -0
  355. package/src/components-source/tabs/tabs.component.html +26 -0
  356. package/src/components-source/tabs/tabs.component.scss +62 -0
  357. package/src/components-source/tabs/tabs.component.spec.ts +212 -0
  358. package/src/components-source/tabs/tabs.component.stories.ts +203 -0
  359. package/src/components-source/tabs/tabs.component.ts +138 -0
  360. package/src/components-source/tag-type-product/tag-type-product.component.html +1 -0
  361. package/src/components-source/tag-type-product/tag-type-product.component.scss +10 -0
  362. package/src/components-source/tag-type-product/tag-type-product.component.spec.ts +38 -0
  363. package/src/components-source/tag-type-product/tag-type-product.component.ts +9 -0
  364. package/src/components-source/toast/toast.component.html +37 -0
  365. package/src/components-source/toast/toast.component.scss +142 -0
  366. package/src/components-source/toast/toast.component.spec.ts +368 -0
  367. package/src/components-source/toast/toast.component.ts +59 -0
  368. package/src/components-source/toast/toast.stories.ts +69 -0
  369. package/src/components-source/tooltip/tooltip.component.html +46 -0
  370. package/src/components-source/tooltip/tooltip.component.scss +44 -0
  371. package/src/components-source/tooltip/tooltip.component.spec.ts +327 -0
  372. package/src/components-source/tooltip/tooltip.component.ts +24 -0
  373. package/src/components-source/ui-dropi.module.ts +125 -0
  374. package/src/components-source/ui-inventory.json +1138 -0
  375. package/src/components-source/vertical-steps/vertical-steps.component.html +35 -0
  376. package/src/components-source/vertical-steps/vertical-steps.component.scss +143 -0
  377. package/src/components-source/vertical-steps/vertical-steps.component.spec.ts +121 -0
  378. package/src/components-source/vertical-steps/vertical-steps.component.stories.ts +216 -0
  379. package/src/components-source/vertical-steps/vertical-steps.component.ts +151 -0
  380. package/src/index.ts +31 -0
  381. package/src/lib/bootstrap.ts +28 -0
  382. package/src/lib/dropi-ui-elements/dropi-ui-elements.component.html +1 -0
  383. package/src/lib/dropi-ui-elements/dropi-ui-elements.component.scss +0 -0
  384. package/src/lib/dropi-ui-elements/dropi-ui-elements.component.spec.ts +21 -0
  385. package/src/lib/dropi-ui-elements/dropi-ui-elements.component.ts +9 -0
  386. package/src/lib/elements-registry.ts +66 -0
  387. package/src/lib/elements.module.ts +22 -0
  388. package/src/styles.scss +152 -0
  389. package/src/test-setup.ts +6 -0
  390. package/tsconfig.json +28 -0
  391. package/tsconfig.lib.json +18 -0
  392. package/tsconfig.lib.prod.json +9 -0
  393. package/tsconfig.spec.json +12 -0
@@ -0,0 +1,275 @@
1
+ import { moduleMetadata, type Meta, type StoryObj } from '@storybook/angular';
2
+ import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
+ import '@dotlottie/player-component';
4
+ import { action } from '@storybook/addon-actions';
5
+ import { DropiChipsComponent } from './dropi-chips.component';
6
+
7
+ /**
8
+ * # Chips Component
9
+ *
10
+ * A compact component for displaying selected items, filters, or categories.
11
+ * Chips can be interactive (removable) or display-only based on the style.
12
+ *
13
+ * ## Features
14
+ * - **Styles**: filters (removable), fill (solid), outline
15
+ * - **Types**: text, image-based chips
16
+ * - **Icons**: Optional icon display
17
+ * - **Content projection**: Display custom content inside the chip
18
+ *
19
+ * ## Usage
20
+ * ```html
21
+ * <app-dropi-chips
22
+ * style="filtrers"
23
+ * type="text"
24
+ * [showIcon]="true"
25
+ * icon="Close">
26
+ * Filter: Active
27
+ * </app-dropi-chips>
28
+ * ```
29
+ */
30
+ const meta: Meta<DropiChipsComponent> = {
31
+ title: 'UI Dropi/Chips',
32
+ component: DropiChipsComponent,
33
+ tags: ['autodocs'],
34
+ parameters: {
35
+ layout: 'centered',
36
+ docs: {
37
+ description: {
38
+ component: `
39
+ A compact component for displaying selected items, filters, or categories.
40
+ Chips can be interactive (removable) or display-only based on the style.
41
+
42
+ ### Key Features
43
+ - **Styles**: filters (removable), fill (solid), outline
44
+ - **Types**: text, image-based chips
45
+ - **Icons**: Optional icon display
46
+ - **Content projection**: Display custom content inside the chip
47
+ `,
48
+ },
49
+ },
50
+ },
51
+ decorators: [
52
+ moduleMetadata({
53
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
54
+ }),
55
+ ],
56
+ argTypes: {
57
+ style: {
58
+ control: 'text',
59
+ description: 'Visual style of the chip (filters, fill, outline)',
60
+ table: {
61
+ type: { summary: 'string' },
62
+ },
63
+ },
64
+ type: {
65
+ control: 'text',
66
+ description: 'Type of content displayed (text, img)',
67
+ table: {
68
+ type: { summary: 'string' },
69
+ },
70
+ },
71
+ urlImg: {
72
+ control: 'text',
73
+ description: 'URL of the image when type is "img"',
74
+ table: {
75
+ type: { summary: 'string' },
76
+ },
77
+ },
78
+ showIcon: {
79
+ control: 'boolean',
80
+ description: 'Whether to show an icon inside the chip',
81
+ table: {
82
+ type: { summary: 'boolean' },
83
+ defaultValue: { summary: 'false' },
84
+ },
85
+ },
86
+ icon: {
87
+ control: 'text',
88
+ description: 'Name of the icon to display',
89
+ table: {
90
+ type: { summary: 'string' },
91
+ },
92
+ },
93
+ },
94
+ };
95
+
96
+ export default meta;
97
+ type Story = StoryObj<DropiChipsComponent>;
98
+
99
+ /** Filter-style chip - removable */
100
+ export const Filters: Story = {
101
+ args: {
102
+ style: 'filtrers',
103
+ type: 'text',
104
+ urlImg: '',
105
+ showIcon: false,
106
+ icon: '',
107
+ },
108
+ parameters: {
109
+ design: {
110
+ type: 'figma',
111
+ url: 'https://www.figma.com/design/ONiVQJJ2qrJ6tmJnpNrrKE/-WEB--components?node-id=387-1740&m=dev',
112
+ },
113
+ docs: {
114
+ description: {
115
+ story: 'Filter-style chip that can be removed. Ideal for active filters in search results.',
116
+ },
117
+ },
118
+ },
119
+ render: (args) => ({
120
+ props: {
121
+ ...args,
122
+ },
123
+ template: `
124
+ <app-dropi-chips
125
+ [type]="type"
126
+ [urlImg]="urlImg"
127
+ [showIcon]="showIcon"
128
+ [icon]="icon"
129
+ [style]="style">
130
+ This is my chip
131
+ </app-dropi-chips>
132
+ `,
133
+ }),
134
+ };
135
+
136
+ /** Fill-style chip - solid background */
137
+ export const Fill: Story = {
138
+ args: {
139
+ style: 'fill',
140
+ type: 'text',
141
+ urlImg: '',
142
+ showIcon: false,
143
+ icon: '',
144
+ },
145
+ parameters: {
146
+ design: {
147
+ type: 'figma',
148
+ url: 'https://www.figma.com/design/ONiVQJJ2qrJ6tmJnpNrrKE/-WEB--components?node-id=387-1056&m=dev',
149
+ },
150
+ docs: {
151
+ description: {
152
+ story:
153
+ 'Solid fill chip with prominent visual appearance. Use for selected items or categories.',
154
+ },
155
+ },
156
+ },
157
+ render: (args) => ({
158
+ props: {
159
+ ...args,
160
+ },
161
+ template: `
162
+ <app-dropi-chips
163
+ [type]="type"
164
+ [urlImg]="urlImg"
165
+ [showIcon]="showIcon"
166
+ [icon]="icon"
167
+ [style]="style">
168
+ This is my chip
169
+ </app-dropi-chips>
170
+ `,
171
+ }),
172
+ };
173
+
174
+ /** Chip with icon */
175
+ export const WithIcon: Story = {
176
+ args: {
177
+ style: 'fill',
178
+ type: 'icon',
179
+ urlImg: '',
180
+ showIcon: false,
181
+ icon: 'File',
182
+ },
183
+
184
+ parameters: {
185
+ design: {
186
+ type: 'figma',
187
+ url: 'https://www.figma.com/design/ONiVQJJ2qrJ6tmJnpNrrKE/-WEB--components?node-id=387-1036&m=dev',
188
+ },
189
+ docs: {
190
+ description: {
191
+ story: 'Chip displaying an icon. Useful for file types, categories, or status indicators.',
192
+ },
193
+ },
194
+ },
195
+ render: (args) => ({
196
+ props: {
197
+ ...args,
198
+ },
199
+ template: `
200
+ <app-dropi-chips
201
+ [type]="type"
202
+ [urlImg]="urlImg"
203
+ [showIcon]="showIcon"
204
+ [style]="style"
205
+ [icon]="icon"
206
+
207
+ >
208
+ Este es mi chip
209
+ </app-dropi-chips>
210
+ `,
211
+ }),
212
+ };
213
+
214
+ export const whitAvatar: Story = {
215
+ args: {
216
+ style: 'filtrers',
217
+ type: 'avatar',
218
+ urlImg: 'assets/img/LOGO-250-PX.png',
219
+ showIcon: false,
220
+ },
221
+ parameters: {
222
+ design: {
223
+ type: 'figma',
224
+ url: 'https://www.figma.com/design/ONiVQJJ2qrJ6tmJnpNrrKE/-WEB--components?node-id=387-1022&m=dev',
225
+ },
226
+ },
227
+ render: (args) => ({
228
+ props: {
229
+ ...args,
230
+ },
231
+ template: `
232
+ <app-dropi-chips
233
+ [type]="type"
234
+ [urlImg]="urlImg"
235
+ [showIcon]="showIcon"
236
+ [style]="style"
237
+ [icon]="icon"
238
+
239
+ >
240
+ Este es mi chip
241
+ </app-dropi-chips>
242
+ `,
243
+ }),
244
+ };
245
+ export const showIconClose: Story = {
246
+ args: {
247
+ style: 'fill',
248
+ type: 'text',
249
+ urlImg: '',
250
+ showIcon: true,
251
+ },
252
+ parameters: {
253
+ design: {
254
+ type: 'figma',
255
+ url: 'https://www.figma.com/design/ONiVQJJ2qrJ6tmJnpNrrKE/-WEB--components?node-id=387-1050&m=dev',
256
+ },
257
+ },
258
+ render: (args) => ({
259
+ props: {
260
+ ...args,
261
+ },
262
+ template: `
263
+ <app-dropi-chips
264
+ [type]="type"
265
+ [urlImg]="urlImg"
266
+ [showIcon]="showIcon"
267
+ [style]="style"
268
+ [icon]="icon"
269
+
270
+ >
271
+ Este es mi chip
272
+ </app-dropi-chips>
273
+ `,
274
+ }),
275
+ };
@@ -0,0 +1,100 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, OnInit } from '@angular/core';
3
+ import { IconComponent } from '../icon/icon.component';
4
+ import { trigger, transition, style, animate } from '@angular/animations';
5
+
6
+ @Component({
7
+ selector: 'app-dropi-chips',
8
+ templateUrl: './dropi-chips.component.html',
9
+ styleUrls: ['./dropi-chips.component.scss'],
10
+ standalone: true,
11
+ imports: [CommonModule, IconComponent],
12
+ animations: [
13
+ trigger('fade', [
14
+ transition(':enter', [
15
+ style({ opacity: 0, transform: 'scale(0.8)' }),
16
+ animate('200ms ease-out', style({ opacity: 1, transform: 'scale(1)' })),
17
+ ]),
18
+ transition(':leave', [
19
+ animate('150ms ease-in', style({ opacity: 0, transform: 'scale(0.8)' })),
20
+ ]),
21
+ ]),
22
+ ],
23
+ })
24
+ export class DropiChipsComponent implements OnInit {
25
+ @Input() style: 'filtrers' | 'fill' = 'fill';
26
+ @Input() type: 'icon' | 'text' | 'avatar' = 'icon';
27
+ @Input() urlImg: string;
28
+ @Input() showIcon: boolean = false;
29
+ @Input() icon: string = '';
30
+ isVisible = true;
31
+
32
+ fontColor = 'Gray-Gray-600';
33
+
34
+ stylesChips = {
35
+ flitrers: {
36
+ bgc: 'var(--Gray-Gray-50)',
37
+ br: 'var(--Border-2)',
38
+ bs: 'solid',
39
+ bw: '1px',
40
+ bc: 'var(--Gray-Gray-200)',
41
+ cl: 'var(--Gray-Gray-600)',
42
+ },
43
+ fill: {
44
+ bgc: 'var(--Primary-Primary-50)',
45
+ br: 'var(--Border-2)',
46
+ bs: 'none',
47
+ bw: '1px',
48
+ bc: 'var(--Primary-Primary-200)',
49
+ cl: 'var(--Primary-Primary-500)',
50
+ },
51
+ };
52
+
53
+ styleToApply: {
54
+ 'background-color': any;
55
+ 'border-radius': any;
56
+ 'border-style': any;
57
+ 'border-width': any;
58
+ 'border-color': any;
59
+ color: any;
60
+ };
61
+
62
+ constructor() {}
63
+
64
+ ngOnInit() {
65
+ if (!this.urlImg || this.urlImg == '') {
66
+ this.urlImg = 'assets/images/.Radio icon.png';
67
+ }
68
+ this.selectStyle();
69
+ }
70
+
71
+ selectStyle() {
72
+ if (this.stylesChips.hasOwnProperty(this.style)) {
73
+ const selectedStyle = this.stylesChips[this.style];
74
+
75
+ this.styleToApply = {
76
+ 'background-color': selectedStyle.bgc,
77
+ 'border-radius': selectedStyle.br,
78
+ 'border-style': selectedStyle.bs,
79
+ 'border-width': selectedStyle.bw,
80
+ 'border-color': selectedStyle.bc,
81
+ color: selectedStyle.cl,
82
+ };
83
+
84
+ if (this.type == 'icon') {
85
+ this.styleToApply['padding'] = '0 8px';
86
+ }
87
+
88
+ this.setFontColor();
89
+ }
90
+ }
91
+
92
+ setFontColor() {
93
+ this.fontColor = this.styleToApply['color'];
94
+ this.fontColor = this.fontColor.substring(6, this.fontColor.length - 1);
95
+ }
96
+
97
+ closeChips() {
98
+ this.isVisible = false;
99
+ }
100
+ }
@@ -0,0 +1,239 @@
1
+ import { iCountryList } from '@app/utilities/interfaces/ui/country-selector.interface';
2
+
3
+ export const COUNTRIES: iCountryList[] = [
4
+ { name: 'Afghanistan', code: 'AF', codePhone: '93' },
5
+ { name: 'Åland Islands', code: 'AX', codePhone: '358' },
6
+ { name: 'Albania', code: 'AL', codePhone: '355' },
7
+ { name: 'Algeria', code: 'DZ', codePhone: '213' },
8
+ { name: 'American Samoa', code: 'AS', codePhone: '1684' },
9
+ { name: 'AndorrA', code: 'AD', codePhone: '376' },
10
+ { name: 'Angola', code: 'AO', codePhone: '244' },
11
+ { name: 'Anguilla', code: 'AI', codePhone: '1264' },
12
+ { name: 'Antarctica', code: 'AQ', codePhone: '672' },
13
+ { name: 'Antigua and Barbuda', code: 'AG', codePhone: '1268' },
14
+ { name: 'Argentina', code: 'AR', codePhone: '54' },
15
+ { name: 'Armenia', code: 'AM', codePhone: '374' },
16
+ { name: 'Aruba', code: 'AW', codePhone: '297' },
17
+ { name: 'Australia', code: 'AU', codePhone: '61' },
18
+ { name: 'Austria', code: 'AT', codePhone: '43' },
19
+ { name: 'Azerbaijan', code: 'AZ', codePhone: '994' },
20
+ { name: 'Bahamas', code: 'BS', codePhone: '1242' },
21
+ { name: 'Bahrain', code: 'BH', codePhone: '973' },
22
+ { name: 'Bangladesh', code: 'BD', codePhone: '880' },
23
+ { name: 'Barbados', code: 'BB', codePhone: '1246' },
24
+ { name: 'Belarus', code: 'BY', codePhone: '375' },
25
+ { name: 'Belgium', code: 'BE', codePhone: '32' },
26
+ { name: 'Belize', code: 'BZ', codePhone: '501' },
27
+ { name: 'Benin', code: 'BJ', codePhone: '229' },
28
+ { name: 'Bermuda', code: 'BM', codePhone: '1441' },
29
+ { name: 'Bhutan', code: 'BT', codePhone: '975' },
30
+ { name: 'Bolivia', code: 'BO', codePhone: '591' },
31
+ { name: 'Bosnia and Herzegovina', code: 'BA', codePhone: '387' },
32
+ { name: 'Botswana', code: 'BW', codePhone: '267' },
33
+ { name: 'Brazil', code: 'BR', codePhone: '55' },
34
+ { name: 'Brunei Darussalam', code: 'BN', codePhone: '673' },
35
+ { name: 'Bulgaria', code: 'BG', codePhone: '359' },
36
+ { name: 'Burkina Faso', code: 'BF', codePhone: '226' },
37
+ { name: 'Burundi', code: 'BI', codePhone: '257' },
38
+ { name: 'Cambodia', code: 'KH', codePhone: '855' },
39
+ { name: 'Cameroon', code: 'CM', codePhone: '237' },
40
+ { name: 'Canada', code: 'CA', codePhone: '1' },
41
+ { name: 'Cape Verde', code: 'CV', codePhone: '238' },
42
+ { name: 'Cayman Islands', code: 'KY', codePhone: '1345' },
43
+ { name: 'Central African Republic', code: 'CF', codePhone: '236' },
44
+ { name: 'Chad', code: 'TD', codePhone: '235' },
45
+ { name: 'Chile', code: 'CL', codePhone: '56' },
46
+ { name: 'China', code: 'CN', codePhone: '86' },
47
+ { name: 'Christmas Island', code: 'CX', codePhone: '61' },
48
+ { name: 'Cocos (Keeling) Islands', code: 'CC', codePhone: '61' },
49
+ { name: 'Colombia', code: 'CO', codePhone: '57' },
50
+ { name: 'Comoros', code: 'KM', codePhone: '269' },
51
+ { name: 'Congo', code: 'CG', codePhone: '242' },
52
+ { name: 'Congo, The Democratic Republic of the', code: 'CD', codePhone: '243' },
53
+ { name: 'Cook Islands', code: 'CK', codePhone: '682' },
54
+ { name: 'Costa Rica', code: 'CR', codePhone: '506' },
55
+ { name: "Cote D'Ivoire", code: 'CI', codePhone: '225' },
56
+ { name: 'Croatia', code: 'HR', codePhone: '385' },
57
+ { name: 'Cuba', code: 'CU', codePhone: '53' },
58
+ { name: 'Cyprus', code: 'CY', codePhone: '357' },
59
+ { name: 'Czech Republic', code: 'CZ', codePhone: '420' },
60
+ { name: 'Denmark', code: 'DK', codePhone: '45' },
61
+ { name: 'Djibouti', code: 'DJ', codePhone: '253' },
62
+ { name: 'Dominica', code: 'DM', codePhone: '1767' },
63
+ { name: 'Dominican Republic', code: 'DO', codePhone: '1' },
64
+ { name: 'Ecuador', code: 'EC', codePhone: '593' },
65
+ { name: 'Egypt', code: 'EG', codePhone: '20' },
66
+ { name: 'El Salvador', code: 'SV', codePhone: '503' },
67
+ { name: 'Equatorial Guinea', code: 'GQ', codePhone: '240' },
68
+ { name: 'Eritrea', code: 'ER', codePhone: '291' },
69
+ { name: 'Estonia', code: 'EE', codePhone: '372' },
70
+ { name: 'Ethiopia', code: 'ET', codePhone: '251' },
71
+ { name: 'Falkland Islands (Malvinas)', code: 'FK', codePhone: '500' },
72
+ { name: 'Faroe Islands', code: 'FO', codePhone: '298' },
73
+ { name: 'Fiji', code: 'FJ', codePhone: '679' },
74
+ { name: 'Finland', code: 'FI', codePhone: '358' },
75
+ { name: 'France', code: 'FR', codePhone: '33' },
76
+ { name: 'French Guiana', code: 'GF', codePhone: '594' },
77
+ { name: 'French Polynesia', code: 'PF', codePhone: '689' },
78
+ { name: 'French Southern Territories', code: 'TF', codePhone: '262' },
79
+ { name: 'Gabon', code: 'GA', codePhone: '241' },
80
+ { name: 'Gambia', code: 'GM', codePhone: '220' },
81
+ { name: 'Georgia', code: 'GE', codePhone: '995' },
82
+ { name: 'Germany', code: 'DE', codePhone: '49' },
83
+ { name: 'Ghana', code: 'GH', codePhone: '233' },
84
+ { name: 'Gibraltar', code: 'GI', codePhone: '350' },
85
+ { name: 'Greece', code: 'GR', codePhone: '30' },
86
+ { name: 'Greenland', code: 'GL', codePhone: '299' },
87
+ { name: 'Grenada', code: 'GD', codePhone: '1473' },
88
+ { name: 'Guam', code: 'GU', codePhone: '1671' },
89
+ { name: 'Guatemala', code: 'GT', codePhone: '502' },
90
+ { name: 'Guernsey', code: 'GG', codePhone: '44' },
91
+ { name: 'Guinea', code: 'GN', codePhone: '224' },
92
+ { name: 'Guinea-Bissau', code: 'GW', codePhone: '245' },
93
+ { name: 'Guyana', code: 'GY', codePhone: '592' },
94
+ { name: 'Haiti', code: 'HT', codePhone: '509' },
95
+ { name: 'Holy See (Vatican City State)', code: 'VA', codePhone: '379' },
96
+ { name: 'Honduras', code: 'HN', codePhone: '504' },
97
+ { name: 'Hong Kong', code: 'HK', codePhone: '852' },
98
+ { name: 'Hungary', code: 'HU', codePhone: '36' },
99
+ { name: 'Iceland', code: 'IS', codePhone: '354' },
100
+ { name: 'India', code: 'IN', codePhone: '91' },
101
+ { name: 'Indonesia', code: 'ID', codePhone: '62' },
102
+ { name: 'Iran, Islamic Republic Of', code: 'IR', codePhone: '98' },
103
+ { name: 'Iraq', code: 'IQ', codePhone: '964' },
104
+ { name: 'Ireland', code: 'IE', codePhone: '353' },
105
+ { name: 'Isle of Man', code: 'IM', codePhone: '44' },
106
+ { name: 'Israel', code: 'IL', codePhone: '972' },
107
+ { name: 'Italy', code: 'IT', codePhone: '39' },
108
+ { name: 'Jamaica', code: 'JM', codePhone: '1876' },
109
+ { name: 'Japan', code: 'JP', codePhone: '81' },
110
+ { name: 'Jersey', code: 'JE', codePhone: '44' },
111
+ { name: 'Jordan', code: 'JO', codePhone: '962' },
112
+ { name: 'Kazakhstan', code: 'KZ', codePhone: '7' },
113
+ { name: 'Kenya', code: 'KE', codePhone: '254' },
114
+ { name: 'Kiribati', code: 'KI', codePhone: '686' },
115
+ { name: "Korea, Democratic People'S Republic of", code: 'KP', codePhone: '850' },
116
+ { name: 'Korea, Republic of', code: 'KR', codePhone: '82' },
117
+ { name: 'Kuwait', code: 'KW', codePhone: '965' },
118
+ { name: 'Kyrgyzstan', code: 'KG', codePhone: '996' },
119
+ { name: "Lao People'S Democratic Republic", code: 'LA', codePhone: '856' },
120
+ { name: 'Latvia', code: 'LV', codePhone: '371' },
121
+ { name: 'Lebanon', code: 'LB', codePhone: '961' },
122
+ { name: 'Lesotho', code: 'LS', codePhone: '266' },
123
+ { name: 'Liberia', code: 'LR', codePhone: '231' },
124
+ { name: 'Libyan Arab Jamahiriya', code: 'LY', codePhone: '218' },
125
+ { name: 'Liechtenstein', code: 'LI', codePhone: '423' },
126
+ { name: 'Lithuania', code: 'LT', codePhone: '370' },
127
+ { name: 'Luxembourg', code: 'LU', codePhone: '352' },
128
+ { name: 'Macao', code: 'MO', codePhone: '853' },
129
+ { name: 'Macedonia, The Former Yugoslav Republic of', code: 'MK', codePhone: '389' },
130
+ { name: 'Madagascar', code: 'MG', codePhone: '261' },
131
+ { name: 'Malawi', code: 'MW', codePhone: '265' },
132
+ { name: 'Malaysia', code: 'MY', codePhone: '60' },
133
+ { name: 'Maldives', code: 'MV', codePhone: '960' },
134
+ { name: 'Mali', code: 'ML', codePhone: '223' },
135
+ { name: 'Malta', code: 'MT', codePhone: '356' },
136
+ { name: 'Marshall Islands', code: 'MH', codePhone: '692' },
137
+ { name: 'Martinique', code: 'MQ', codePhone: '596' },
138
+ { name: 'Mauritania', code: 'MR', codePhone: '222' },
139
+ { name: 'Mauritius', code: 'MU', codePhone: '230' },
140
+ { name: 'Mayotte', code: 'YT', codePhone: '262' },
141
+ { name: 'Mexico', code: 'MX', codePhone: '52' },
142
+ { name: 'Micronesia, Federated States of', code: 'FM', codePhone: '691' },
143
+ { name: 'Moldova, Republic of', code: 'MD', codePhone: '373' },
144
+ { name: 'Monaco', code: 'MC', codePhone: '377' },
145
+ { name: 'Mongolia', code: 'MN', codePhone: '976' },
146
+ { name: 'Montserrat', code: 'MS', codePhone: '1664' },
147
+ { name: 'Morocco', code: 'MA', codePhone: '212' },
148
+ { name: 'Mozambique', code: 'MZ', codePhone: '258' },
149
+ { name: 'Myanmar', code: 'MM', codePhone: '95' },
150
+ { name: 'Namibia', code: 'NA', codePhone: '264' },
151
+ { name: 'Nauru', code: 'NR', codePhone: '674' },
152
+ { name: 'Nepal', code: 'NP', codePhone: '977' },
153
+ { name: 'Netherlands', code: 'NL', codePhone: '31' },
154
+ { name: 'Netherlands Antilles', code: 'AN', codePhone: '599' },
155
+ { name: 'New Caledonia', code: 'NC', codePhone: '687' },
156
+ { name: 'New Zealand', code: 'NZ', codePhone: '64' },
157
+ { name: 'Nicaragua', code: 'NI', codePhone: '505' },
158
+ { name: 'Niger', code: 'NE', codePhone: '227' },
159
+ { name: 'Nigeria', code: 'NG', codePhone: '234' },
160
+ { name: 'Niue', code: 'NU', codePhone: '683' },
161
+ { name: 'Norfolk Island', code: 'NF', codePhone: '672' },
162
+ { name: 'Northern Mariana Islands', code: 'MP', codePhone: '1670' },
163
+ { name: 'Norway', code: 'NO', codePhone: '47' },
164
+ { name: 'Oman', code: 'OM', codePhone: '968' },
165
+ { name: 'Pakistan', code: 'PK', codePhone: '92' },
166
+ { name: 'Palau', code: 'PW', codePhone: '680' },
167
+ { name: 'Palestinian Territory, Occupied', code: 'PS', codePhone: '970' },
168
+ { name: 'Panama', code: 'PA', codePhone: '507' },
169
+ { name: 'Papua New Guinea', code: 'PG', codePhone: '675' },
170
+ { name: 'Paraguay', code: 'PY', codePhone: '595' },
171
+ { name: 'Peru', code: 'PE', codePhone: '51' },
172
+ { name: 'Philippines', code: 'PH', codePhone: '63' },
173
+ { name: 'Pitcairn', code: 'PN', codePhone: '64' },
174
+ { name: 'Poland', code: 'PL', codePhone: '48' },
175
+ { name: 'Portugal', code: 'PT', codePhone: '351' },
176
+ { name: 'Puerto Rico', code: 'PR', codePhone: '1' },
177
+ { name: 'Qatar', code: 'QA', codePhone: '974' },
178
+ { name: 'Reunion', code: 'RE', codePhone: '262' },
179
+ { name: 'Romania', code: 'RO', codePhone: '40' },
180
+ { name: 'Russian Federation', code: 'RU', codePhone: '7' },
181
+ { name: 'RWANDA', code: 'RW', codePhone: '250' },
182
+ { name: 'Saint Helena', code: 'SH', codePhone: '290' },
183
+ { name: 'Saint Kitts and Nevis', code: 'KN', codePhone: '1869' },
184
+ { name: 'Saint Lucia', code: 'LC', codePhone: '1758' },
185
+ { name: 'Saint Vincent and the Grenadines', code: 'VC', codePhone: '1784' },
186
+ { name: 'Samoa', code: 'WS', codePhone: '685' },
187
+ { name: 'San Marino', code: 'SM', codePhone: '378' },
188
+ { name: 'Sao Tome and Principe', code: 'ST', codePhone: '239' },
189
+ { name: 'Saudi Arabia', code: 'SA', codePhone: '966' },
190
+ { name: 'Senegal', code: 'SN', codePhone: '221' },
191
+ { name: 'Seychelles', code: 'SC', codePhone: '248' },
192
+ { name: 'Sierra Leone', code: 'SL', codePhone: '232' },
193
+ { name: 'Singapore', code: 'SG', codePhone: '65' },
194
+ { name: 'Slovakia', code: 'SK', codePhone: '421' },
195
+ { name: 'Slovenia', code: 'SI', codePhone: '386' },
196
+ { name: 'Solomon Islands', code: 'SB', codePhone: '677' },
197
+ { name: 'Somalia', code: 'SO', codePhone: '252' },
198
+ { name: 'South Africa', code: 'ZA', codePhone: '27' },
199
+ { name: 'South Georgia and the South Sandwich Islands', code: 'GS', codePhone: '500' },
200
+ { name: 'Spain', code: 'ES', codePhone: '34' },
201
+ { name: 'Sri Lanka', code: 'LK', codePhone: '94' },
202
+ { name: 'Sudan', code: 'SD', codePhone: '249' },
203
+ { name: 'Suriname', code: 'SR', codePhone: '597' },
204
+ { name: 'Swaziland', code: 'SZ', codePhone: '268' },
205
+ { name: 'Sweden', code: 'SE', codePhone: '46' },
206
+ { name: 'Switzerland', code: 'CH', codePhone: '41' },
207
+ { name: 'Syrian Arab Republic', code: 'SY', codePhone: '963' },
208
+ { name: 'Taiwan, Province of China', code: 'TW', codePhone: '886' },
209
+ { name: 'Tajikistan', code: 'TJ', codePhone: '992' },
210
+ { name: 'Tanzania, United Republic of', code: 'TZ', codePhone: '255' },
211
+ { name: 'Thailand', code: 'TH', codePhone: '66' },
212
+ { name: 'Timor-Leste', code: 'TL', codePhone: '670' },
213
+ { name: 'Togo', code: 'TG', codePhone: '228' },
214
+ { name: 'Tokelau', code: 'TK', codePhone: '690' },
215
+ { name: 'Tonga', code: 'TO', codePhone: '676' },
216
+ { name: 'Trinidad and Tobago', code: 'TT', codePhone: '1868' },
217
+ { name: 'Tunisia', code: 'TN', codePhone: '216' },
218
+ { name: 'Turkey', code: 'TR', codePhone: '90' },
219
+ { name: 'Turkmenistan', code: 'TM', codePhone: '993' },
220
+ { name: 'Turks and Caicos Islands', code: 'TC', codePhone: '1649' },
221
+ { name: 'Tuvalu', code: 'TV', codePhone: '688' },
222
+ { name: 'Uganda', code: 'UG', codePhone: '256' },
223
+ { name: 'Ukraine', code: 'UA', codePhone: '380' },
224
+ { name: 'United Arab Emirates', code: 'AE', codePhone: '971' },
225
+ { name: 'United Kingdom', code: 'GB', codePhone: '44' },
226
+ { name: 'United States', code: 'US', codePhone: '1' },
227
+ { name: 'Uruguay', code: 'UY', codePhone: '598' },
228
+ { name: 'Uzbekistan', code: 'UZ', codePhone: '998' },
229
+ { name: 'Vanuatu', code: 'VU', codePhone: '678' },
230
+ { name: 'Venezuela', code: 'VE', codePhone: '58' },
231
+ { name: 'Viet Nam', code: 'VN', codePhone: '84' },
232
+ { name: 'Virgin Islands, British', code: 'VG', codePhone: '1284' },
233
+ { name: 'Virgin Islands, U.S.', code: 'VI', codePhone: '1340' },
234
+ { name: 'Wallis and Futuna', code: 'WF', codePhone: '681' },
235
+ { name: 'Western Sahara', code: 'EH', codePhone: '212' },
236
+ { name: 'Yemen', code: 'YE', codePhone: '967' },
237
+ { name: 'Zambia', code: 'ZM', codePhone: '260' },
238
+ { name: 'Zimbabwe', code: 'ZW', codePhone: '263' },
239
+ ];
@@ -0,0 +1,59 @@
1
+ <div class="custom-select">
2
+ <label *ngIf="selectProperties?.label">
3
+ {{ selectProperties.label | translate }}
4
+ <span *ngIf="selectProperties?.showObligatory">*</span>
5
+ </label>
6
+ <button
7
+ type="button"
8
+ class="select-button"
9
+ [disabled]="disabled"
10
+ [ngClass]="{
11
+ 'select-completed': !!selectedOption,
12
+ 'select-invalid': hasError
13
+ }"
14
+ (click)="showOptions()"
15
+ >
16
+ <div>
17
+ <ng-container *ngIf="selectedOption; else placeholder">
18
+ <img
19
+ style="border-radius: 16px"
20
+ [src]="'https://flagsapi.com/' + selectedOption.code + '/shiny/24.png'"
21
+ />
22
+ {{ selectedOption.name }}
23
+ </ng-container>
24
+
25
+ <ng-template #placeholder>
26
+ {{ selectProperties.placeholder }}
27
+ </ng-template>
28
+ </div>
29
+
30
+ <app-icon
31
+ [name]="isExpanded ? 'Dropdown-up' : 'Dropdown-down'"
32
+ width="20px"
33
+ height="20px"
34
+ color="Gray-Gray-500"
35
+ ></app-icon>
36
+ </button>
37
+
38
+ <ul class="select-dropdown" [ngClass]="isExpanded ? 'expanded-select' : 'collapsed-select'">
39
+ <li>
40
+ <input
41
+ #searchInput
42
+ type="text"
43
+ [(ngModel)]="searchTerm"
44
+ (input)="filterCountries()"
45
+ class="country-search"
46
+ placeholder="{{ 'Search country' | translate }}"
47
+ />
48
+ </li>
49
+ <li *ngFor="let country of filteredCountries">
50
+ <button class="option" (click)="selectOption(country)" type="button">
51
+ <img
52
+ style="border-radius: 16px"
53
+ [src]="'https://flagsapi.com/' + country.code + '/shiny/24.png'"
54
+ />
55
+ {{ country.name }}
56
+ </button>
57
+ </li>
58
+ </ul>
59
+ </div>