cats-ui-lib 2.0.1 → 2.0.2

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 (367) hide show
  1. package/fesm2022/cats-ui.mjs +2474 -0
  2. package/fesm2022/cats-ui.mjs.map +1 -0
  3. package/index.d.ts +896 -0
  4. package/package.json +22 -11
  5. package/ng-package.json +0 -18
  6. package/src/lib/components/accordion/accordion-item/accordion-item.component.html +0 -13
  7. package/src/lib/components/accordion/accordion-item/accordion-item.component.scss +0 -36
  8. package/src/lib/components/accordion/accordion-item/accordion-item.component.ts +0 -57
  9. package/src/lib/components/accordion/accordion-item/index.ts +0 -1
  10. package/src/lib/components/accordion/accordion.component.html +0 -3
  11. package/src/lib/components/accordion/accordion.component.scss +0 -6
  12. package/src/lib/components/accordion/accordion.component.ts +0 -30
  13. package/src/lib/components/accordion/index.ts +0 -2
  14. package/src/lib/components/auto-complete-multi-select/auto-complete-multi-select.component.html +0 -125
  15. package/src/lib/components/auto-complete-multi-select/auto-complete-multi-select.component.scss +0 -138
  16. package/src/lib/components/auto-complete-multi-select/auto-complete-multi-select.component.ts +0 -319
  17. package/src/lib/components/auto-complete-multi-select/index.ts +0 -1
  18. package/src/lib/components/auto-complete-single-select/auto-complete-single-select.component.html +0 -84
  19. package/src/lib/components/auto-complete-single-select/auto-complete-single-select.component.scss +0 -68
  20. package/src/lib/components/auto-complete-single-select/auto-complete-single-select.component.ts +0 -231
  21. package/src/lib/components/auto-complete-single-select/index.ts +0 -1
  22. package/src/lib/components/checkbox-button/checkbox-button.component.html +0 -43
  23. package/src/lib/components/checkbox-button/checkbox-button.component.scss +0 -65
  24. package/src/lib/components/checkbox-button/checkbox-button.component.ts +0 -185
  25. package/src/lib/components/checkbox-button/index.ts +0 -1
  26. package/src/lib/components/date-time-picker/date-time-picker.component.html +0 -179
  27. package/src/lib/components/date-time-picker/date-time-picker.component.scss +0 -305
  28. package/src/lib/components/date-time-picker/date-time-picker.component.ts +0 -591
  29. package/src/lib/components/date-time-picker/index.ts +0 -1
  30. package/src/lib/components/input/index.ts +0 -1
  31. package/src/lib/components/input/input.component.html +0 -27
  32. package/src/lib/components/input/input.component.scss +0 -43
  33. package/src/lib/components/input/input.component.ts +0 -133
  34. package/src/lib/components/multi-select/index.ts +0 -1
  35. package/src/lib/components/multi-select/multi-select.component.html +0 -107
  36. package/src/lib/components/multi-select/multi-select.component.scss +0 -195
  37. package/src/lib/components/multi-select/multi-select.component.ts +0 -283
  38. package/src/lib/components/radio-button/index.ts +0 -1
  39. package/src/lib/components/radio-button/radio-button.component.html +0 -22
  40. package/src/lib/components/radio-button/radio-button.component.scss +0 -86
  41. package/src/lib/components/radio-button/radio-button.component.ts +0 -137
  42. package/src/lib/components/search-box/index.ts +0 -1
  43. package/src/lib/components/search-box/search-box.component.html +0 -15
  44. package/src/lib/components/search-box/search-box.component.scss +0 -28
  45. package/src/lib/components/search-box/search-box.component.ts +0 -79
  46. package/src/lib/components/single-select/index.ts +0 -1
  47. package/src/lib/components/single-select/single-select.component.html +0 -124
  48. package/src/lib/components/single-select/single-select.component.scss +0 -134
  49. package/src/lib/components/single-select/single-select.component.ts +0 -264
  50. package/src/lib/components/tabs/index.ts +0 -4
  51. package/src/lib/components/tabs/tab/tab-item/tab-item.component.html +0 -1
  52. package/src/lib/components/tabs/tab/tab-item/tab-item.component.scss +0 -0
  53. package/src/lib/components/tabs/tab/tab-item/tab-item.component.ts +0 -14
  54. package/src/lib/components/tabs/tab/tab.component.html +0 -25
  55. package/src/lib/components/tabs/tab/tab.component.scss +0 -21
  56. package/src/lib/components/tabs/tab/tab.component.ts +0 -37
  57. package/src/lib/components/tabs/tab-content.directive.ts +0 -9
  58. package/src/lib/components/tabs/tab-heading.directive.ts +0 -9
  59. package/src/lib/components/toogle-button/index.ts +0 -1
  60. package/src/lib/components/toogle-button/toogle-button.component.html +0 -14
  61. package/src/lib/components/toogle-button/toogle-button.component.scss +0 -60
  62. package/src/lib/components/toogle-button/toogle-button.component.ts +0 -47
  63. package/src/lib/directives/cats-ui-tooltip.directive.ts +0 -132
  64. package/src/lib/directives/outside-click.directive.ts +0 -31
  65. package/src/lib/modal/cats-ui.modal.ts +0 -83
  66. package/src/lib/services/cats-ui.service.spec.ts +0 -16
  67. package/src/lib/services/cats-ui.service.ts +0 -9
  68. package/src/public-api.ts +0 -21
  69. package/tsconfig.lib.json +0 -15
  70. package/tsconfig.lib.prod.json +0 -11
  71. package/tsconfig.spec.json +0 -15
  72. /package/{src/lib/assets → assets}/images/activity.svg +0 -0
  73. /package/{src/lib/assets → assets}/images/airplay.svg +0 -0
  74. /package/{src/lib/assets → assets}/images/alert-circle.svg +0 -0
  75. /package/{src/lib/assets → assets}/images/alert-octagon.svg +0 -0
  76. /package/{src/lib/assets → assets}/images/alert-triangle.svg +0 -0
  77. /package/{src/lib/assets → assets}/images/align-center.svg +0 -0
  78. /package/{src/lib/assets → assets}/images/align-justify.svg +0 -0
  79. /package/{src/lib/assets → assets}/images/align-left.svg +0 -0
  80. /package/{src/lib/assets → assets}/images/align-right.svg +0 -0
  81. /package/{src/lib/assets → assets}/images/anchor.svg +0 -0
  82. /package/{src/lib/assets → assets}/images/aperture.svg +0 -0
  83. /package/{src/lib/assets → assets}/images/archive.svg +0 -0
  84. /package/{src/lib/assets → assets}/images/arrow-down-circle.svg +0 -0
  85. /package/{src/lib/assets → assets}/images/arrow-down-left.svg +0 -0
  86. /package/{src/lib/assets → assets}/images/arrow-down-right.svg +0 -0
  87. /package/{src/lib/assets → assets}/images/arrow-down.svg +0 -0
  88. /package/{src/lib/assets → assets}/images/arrow-left-circle.svg +0 -0
  89. /package/{src/lib/assets → assets}/images/arrow-left.svg +0 -0
  90. /package/{src/lib/assets → assets}/images/arrow-right-circle.svg +0 -0
  91. /package/{src/lib/assets → assets}/images/arrow-right.svg +0 -0
  92. /package/{src/lib/assets → assets}/images/arrow-up-circle.svg +0 -0
  93. /package/{src/lib/assets → assets}/images/arrow-up-left.svg +0 -0
  94. /package/{src/lib/assets → assets}/images/arrow-up-right.svg +0 -0
  95. /package/{src/lib/assets → assets}/images/arrow-up.svg +0 -0
  96. /package/{src/lib/assets → assets}/images/at-sign.svg +0 -0
  97. /package/{src/lib/assets → assets}/images/award.svg +0 -0
  98. /package/{src/lib/assets → assets}/images/bar-chart-2.svg +0 -0
  99. /package/{src/lib/assets → assets}/images/bar-chart.svg +0 -0
  100. /package/{src/lib/assets → assets}/images/battery-charging.svg +0 -0
  101. /package/{src/lib/assets → assets}/images/battery.svg +0 -0
  102. /package/{src/lib/assets → assets}/images/bell-off.svg +0 -0
  103. /package/{src/lib/assets → assets}/images/bell.svg +0 -0
  104. /package/{src/lib/assets → assets}/images/bluetooth.svg +0 -0
  105. /package/{src/lib/assets → assets}/images/bold.svg +0 -0
  106. /package/{src/lib/assets → assets}/images/book-open.svg +0 -0
  107. /package/{src/lib/assets → assets}/images/book.svg +0 -0
  108. /package/{src/lib/assets → assets}/images/bookmark.svg +0 -0
  109. /package/{src/lib/assets → assets}/images/box.svg +0 -0
  110. /package/{src/lib/assets → assets}/images/briefcase.svg +0 -0
  111. /package/{src/lib/assets → assets}/images/calendar.svg +0 -0
  112. /package/{src/lib/assets → assets}/images/camera-off.svg +0 -0
  113. /package/{src/lib/assets → assets}/images/camera.svg +0 -0
  114. /package/{src/lib/assets → assets}/images/cast.svg +0 -0
  115. /package/{src/lib/assets → assets}/images/check-circle.svg +0 -0
  116. /package/{src/lib/assets → assets}/images/check-square.svg +0 -0
  117. /package/{src/lib/assets → assets}/images/check.svg +0 -0
  118. /package/{src/lib/assets → assets}/images/chevron-down.svg +0 -0
  119. /package/{src/lib/assets → assets}/images/chevron-left.svg +0 -0
  120. /package/{src/lib/assets → assets}/images/chevron-right.svg +0 -0
  121. /package/{src/lib/assets → assets}/images/chevron-up.svg +0 -0
  122. /package/{src/lib/assets → assets}/images/chevrons-down.svg +0 -0
  123. /package/{src/lib/assets → assets}/images/chevrons-left.svg +0 -0
  124. /package/{src/lib/assets → assets}/images/chevrons-right.svg +0 -0
  125. /package/{src/lib/assets → assets}/images/chevrons-up.svg +0 -0
  126. /package/{src/lib/assets → assets}/images/chrome.svg +0 -0
  127. /package/{src/lib/assets → assets}/images/circle.svg +0 -0
  128. /package/{src/lib/assets → assets}/images/clipboard.svg +0 -0
  129. /package/{src/lib/assets → assets}/images/clock.svg +0 -0
  130. /package/{src/lib/assets → assets}/images/cloud-drizzle.svg +0 -0
  131. /package/{src/lib/assets → assets}/images/cloud-lightning.svg +0 -0
  132. /package/{src/lib/assets → assets}/images/cloud-off.svg +0 -0
  133. /package/{src/lib/assets → assets}/images/cloud-rain.svg +0 -0
  134. /package/{src/lib/assets → assets}/images/cloud-snow.svg +0 -0
  135. /package/{src/lib/assets → assets}/images/cloud.svg +0 -0
  136. /package/{src/lib/assets → assets}/images/code.svg +0 -0
  137. /package/{src/lib/assets → assets}/images/codepen.svg +0 -0
  138. /package/{src/lib/assets → assets}/images/codesandbox.svg +0 -0
  139. /package/{src/lib/assets → assets}/images/coffee.svg +0 -0
  140. /package/{src/lib/assets → assets}/images/columns.svg +0 -0
  141. /package/{src/lib/assets → assets}/images/command.svg +0 -0
  142. /package/{src/lib/assets → assets}/images/compass.svg +0 -0
  143. /package/{src/lib/assets → assets}/images/copy.svg +0 -0
  144. /package/{src/lib/assets → assets}/images/corner-down-left.svg +0 -0
  145. /package/{src/lib/assets → assets}/images/corner-down-right.svg +0 -0
  146. /package/{src/lib/assets → assets}/images/corner-left-down.svg +0 -0
  147. /package/{src/lib/assets → assets}/images/corner-left-up.svg +0 -0
  148. /package/{src/lib/assets → assets}/images/corner-right-down.svg +0 -0
  149. /package/{src/lib/assets → assets}/images/corner-right-up.svg +0 -0
  150. /package/{src/lib/assets → assets}/images/corner-up-left.svg +0 -0
  151. /package/{src/lib/assets → assets}/images/corner-up-right.svg +0 -0
  152. /package/{src/lib/assets → assets}/images/cpu.svg +0 -0
  153. /package/{src/lib/assets → assets}/images/credit-card.svg +0 -0
  154. /package/{src/lib/assets → assets}/images/crop.svg +0 -0
  155. /package/{src/lib/assets → assets}/images/crosshair.svg +0 -0
  156. /package/{src/lib/assets → assets}/images/database.svg +0 -0
  157. /package/{src/lib/assets → assets}/images/delete.svg +0 -0
  158. /package/{src/lib/assets → assets}/images/disc.svg +0 -0
  159. /package/{src/lib/assets → assets}/images/divide-circle.svg +0 -0
  160. /package/{src/lib/assets → assets}/images/divide-square.svg +0 -0
  161. /package/{src/lib/assets → assets}/images/divide.svg +0 -0
  162. /package/{src/lib/assets → assets}/images/dollar-sign.svg +0 -0
  163. /package/{src/lib/assets → assets}/images/download-cloud.svg +0 -0
  164. /package/{src/lib/assets → assets}/images/download.svg +0 -0
  165. /package/{src/lib/assets → assets}/images/dribbble.svg +0 -0
  166. /package/{src/lib/assets → assets}/images/droplet.svg +0 -0
  167. /package/{src/lib/assets → assets}/images/edit-2.svg +0 -0
  168. /package/{src/lib/assets → assets}/images/edit-3.svg +0 -0
  169. /package/{src/lib/assets → assets}/images/edit.svg +0 -0
  170. /package/{src/lib/assets → assets}/images/external-link.svg +0 -0
  171. /package/{src/lib/assets → assets}/images/eye-off.svg +0 -0
  172. /package/{src/lib/assets → assets}/images/eye.svg +0 -0
  173. /package/{src/lib/assets → assets}/images/facebook.svg +0 -0
  174. /package/{src/lib/assets → assets}/images/fast-forward.svg +0 -0
  175. /package/{src/lib/assets → assets}/images/feather.svg +0 -0
  176. /package/{src/lib/assets → assets}/images/figma.svg +0 -0
  177. /package/{src/lib/assets → assets}/images/file-minus.svg +0 -0
  178. /package/{src/lib/assets → assets}/images/file-plus.svg +0 -0
  179. /package/{src/lib/assets → assets}/images/file-text.svg +0 -0
  180. /package/{src/lib/assets → assets}/images/file.svg +0 -0
  181. /package/{src/lib/assets → assets}/images/film.svg +0 -0
  182. /package/{src/lib/assets → assets}/images/filter.svg +0 -0
  183. /package/{src/lib/assets → assets}/images/flag.svg +0 -0
  184. /package/{src/lib/assets → assets}/images/folder-minus.svg +0 -0
  185. /package/{src/lib/assets → assets}/images/folder-plus.svg +0 -0
  186. /package/{src/lib/assets → assets}/images/folder.svg +0 -0
  187. /package/{src/lib/assets → assets}/images/framer.svg +0 -0
  188. /package/{src/lib/assets → assets}/images/frown.svg +0 -0
  189. /package/{src/lib/assets → assets}/images/gift.svg +0 -0
  190. /package/{src/lib/assets → assets}/images/git-branch.svg +0 -0
  191. /package/{src/lib/assets → assets}/images/git-commit.svg +0 -0
  192. /package/{src/lib/assets → assets}/images/git-merge.svg +0 -0
  193. /package/{src/lib/assets → assets}/images/git-pull-request.svg +0 -0
  194. /package/{src/lib/assets → assets}/images/github.svg +0 -0
  195. /package/{src/lib/assets → assets}/images/gitlab.svg +0 -0
  196. /package/{src/lib/assets → assets}/images/globe.svg +0 -0
  197. /package/{src/lib/assets → assets}/images/grid.svg +0 -0
  198. /package/{src/lib/assets → assets}/images/hard-drive.svg +0 -0
  199. /package/{src/lib/assets → assets}/images/hash.svg +0 -0
  200. /package/{src/lib/assets → assets}/images/headphones.svg +0 -0
  201. /package/{src/lib/assets → assets}/images/heart.svg +0 -0
  202. /package/{src/lib/assets → assets}/images/help-circle.svg +0 -0
  203. /package/{src/lib/assets → assets}/images/hexagon.svg +0 -0
  204. /package/{src/lib/assets → assets}/images/home.svg +0 -0
  205. /package/{src/lib/assets → assets}/images/icon-checked.svg +0 -0
  206. /package/{src/lib/assets → assets}/images/image.svg +0 -0
  207. /package/{src/lib/assets → assets}/images/inbox.svg +0 -0
  208. /package/{src/lib/assets → assets}/images/indeterminate.svg +0 -0
  209. /package/{src/lib/assets → assets}/images/info.svg +0 -0
  210. /package/{src/lib/assets → assets}/images/instagram.svg +0 -0
  211. /package/{src/lib/assets → assets}/images/italic.svg +0 -0
  212. /package/{src/lib/assets → assets}/images/key.svg +0 -0
  213. /package/{src/lib/assets → assets}/images/layers.svg +0 -0
  214. /package/{src/lib/assets → assets}/images/layout.svg +0 -0
  215. /package/{src/lib/assets → assets}/images/life-buoy.svg +0 -0
  216. /package/{src/lib/assets → assets}/images/link-2.svg +0 -0
  217. /package/{src/lib/assets → assets}/images/link.svg +0 -0
  218. /package/{src/lib/assets → assets}/images/linkedin.svg +0 -0
  219. /package/{src/lib/assets → assets}/images/list.svg +0 -0
  220. /package/{src/lib/assets → assets}/images/loader.svg +0 -0
  221. /package/{src/lib/assets → assets}/images/lock.svg +0 -0
  222. /package/{src/lib/assets → assets}/images/log-in.svg +0 -0
  223. /package/{src/lib/assets → assets}/images/log-out.svg +0 -0
  224. /package/{src/lib/assets → assets}/images/mail.svg +0 -0
  225. /package/{src/lib/assets → assets}/images/map-pin.svg +0 -0
  226. /package/{src/lib/assets → assets}/images/map.svg +0 -0
  227. /package/{src/lib/assets → assets}/images/maximize-2.svg +0 -0
  228. /package/{src/lib/assets → assets}/images/maximize.svg +0 -0
  229. /package/{src/lib/assets → assets}/images/meh.svg +0 -0
  230. /package/{src/lib/assets → assets}/images/menu.svg +0 -0
  231. /package/{src/lib/assets → assets}/images/message-circle.svg +0 -0
  232. /package/{src/lib/assets → assets}/images/message-square.svg +0 -0
  233. /package/{src/lib/assets → assets}/images/mic-off.svg +0 -0
  234. /package/{src/lib/assets → assets}/images/mic.svg +0 -0
  235. /package/{src/lib/assets → assets}/images/minimize-2.svg +0 -0
  236. /package/{src/lib/assets → assets}/images/minimize.svg +0 -0
  237. /package/{src/lib/assets → assets}/images/minus-circle.svg +0 -0
  238. /package/{src/lib/assets → assets}/images/minus-square.svg +0 -0
  239. /package/{src/lib/assets → assets}/images/minus.svg +0 -0
  240. /package/{src/lib/assets → assets}/images/monitor.svg +0 -0
  241. /package/{src/lib/assets → assets}/images/moon.svg +0 -0
  242. /package/{src/lib/assets → assets}/images/more-horizontal.svg +0 -0
  243. /package/{src/lib/assets → assets}/images/more-vertical.svg +0 -0
  244. /package/{src/lib/assets → assets}/images/mouse-pointer.svg +0 -0
  245. /package/{src/lib/assets → assets}/images/move.svg +0 -0
  246. /package/{src/lib/assets → assets}/images/music.svg +0 -0
  247. /package/{src/lib/assets → assets}/images/navigation-2.svg +0 -0
  248. /package/{src/lib/assets → assets}/images/navigation.svg +0 -0
  249. /package/{src/lib/assets → assets}/images/octagon.svg +0 -0
  250. /package/{src/lib/assets → assets}/images/package.svg +0 -0
  251. /package/{src/lib/assets → assets}/images/paperclip.svg +0 -0
  252. /package/{src/lib/assets → assets}/images/pause-circle.svg +0 -0
  253. /package/{src/lib/assets → assets}/images/pause.svg +0 -0
  254. /package/{src/lib/assets → assets}/images/pen-tool.svg +0 -0
  255. /package/{src/lib/assets → assets}/images/percent.svg +0 -0
  256. /package/{src/lib/assets → assets}/images/phone-call.svg +0 -0
  257. /package/{src/lib/assets → assets}/images/phone-forwarded.svg +0 -0
  258. /package/{src/lib/assets → assets}/images/phone-incoming.svg +0 -0
  259. /package/{src/lib/assets → assets}/images/phone-missed.svg +0 -0
  260. /package/{src/lib/assets → assets}/images/phone-off.svg +0 -0
  261. /package/{src/lib/assets → assets}/images/phone-outgoing.svg +0 -0
  262. /package/{src/lib/assets → assets}/images/phone.svg +0 -0
  263. /package/{src/lib/assets → assets}/images/pie-chart.svg +0 -0
  264. /package/{src/lib/assets → assets}/images/play-circle.svg +0 -0
  265. /package/{src/lib/assets → assets}/images/play.svg +0 -0
  266. /package/{src/lib/assets → assets}/images/plus-circle.svg +0 -0
  267. /package/{src/lib/assets → assets}/images/plus-square.svg +0 -0
  268. /package/{src/lib/assets → assets}/images/plus.svg +0 -0
  269. /package/{src/lib/assets → assets}/images/pocket.svg +0 -0
  270. /package/{src/lib/assets → assets}/images/power.svg +0 -0
  271. /package/{src/lib/assets → assets}/images/printer.svg +0 -0
  272. /package/{src/lib/assets → assets}/images/radio.svg +0 -0
  273. /package/{src/lib/assets → assets}/images/refresh-ccw.svg +0 -0
  274. /package/{src/lib/assets → assets}/images/refresh-cw.svg +0 -0
  275. /package/{src/lib/assets → assets}/images/repeat.svg +0 -0
  276. /package/{src/lib/assets → assets}/images/rewind.svg +0 -0
  277. /package/{src/lib/assets → assets}/images/rotate-ccw.svg +0 -0
  278. /package/{src/lib/assets → assets}/images/rotate-cw.svg +0 -0
  279. /package/{src/lib/assets → assets}/images/rss.svg +0 -0
  280. /package/{src/lib/assets → assets}/images/save.svg +0 -0
  281. /package/{src/lib/assets → assets}/images/scissors.svg +0 -0
  282. /package/{src/lib/assets → assets}/images/search.svg +0 -0
  283. /package/{src/lib/assets → assets}/images/send.svg +0 -0
  284. /package/{src/lib/assets → assets}/images/server.svg +0 -0
  285. /package/{src/lib/assets → assets}/images/settings.svg +0 -0
  286. /package/{src/lib/assets → assets}/images/share-2.svg +0 -0
  287. /package/{src/lib/assets → assets}/images/share.svg +0 -0
  288. /package/{src/lib/assets → assets}/images/shield-off.svg +0 -0
  289. /package/{src/lib/assets → assets}/images/shield.svg +0 -0
  290. /package/{src/lib/assets → assets}/images/shopping-bag.svg +0 -0
  291. /package/{src/lib/assets → assets}/images/shopping-cart.svg +0 -0
  292. /package/{src/lib/assets → assets}/images/shuffle.svg +0 -0
  293. /package/{src/lib/assets → assets}/images/sidebar.svg +0 -0
  294. /package/{src/lib/assets → assets}/images/skip-back.svg +0 -0
  295. /package/{src/lib/assets → assets}/images/skip-forward.svg +0 -0
  296. /package/{src/lib/assets → assets}/images/slack.svg +0 -0
  297. /package/{src/lib/assets → assets}/images/slash.svg +0 -0
  298. /package/{src/lib/assets → assets}/images/sliders.svg +0 -0
  299. /package/{src/lib/assets → assets}/images/smartphone.svg +0 -0
  300. /package/{src/lib/assets → assets}/images/smile.svg +0 -0
  301. /package/{src/lib/assets → assets}/images/speaker.svg +0 -0
  302. /package/{src/lib/assets → assets}/images/square.svg +0 -0
  303. /package/{src/lib/assets → assets}/images/star.svg +0 -0
  304. /package/{src/lib/assets → assets}/images/stop-circle.svg +0 -0
  305. /package/{src/lib/assets → assets}/images/sun.svg +0 -0
  306. /package/{src/lib/assets → assets}/images/sunrise.svg +0 -0
  307. /package/{src/lib/assets → assets}/images/sunset.svg +0 -0
  308. /package/{src/lib/assets → assets}/images/table.svg +0 -0
  309. /package/{src/lib/assets → assets}/images/tablet.svg +0 -0
  310. /package/{src/lib/assets → assets}/images/tag.svg +0 -0
  311. /package/{src/lib/assets → assets}/images/target.svg +0 -0
  312. /package/{src/lib/assets → assets}/images/terminal.svg +0 -0
  313. /package/{src/lib/assets → assets}/images/thermometer.svg +0 -0
  314. /package/{src/lib/assets → assets}/images/thumbs-down.svg +0 -0
  315. /package/{src/lib/assets → assets}/images/thumbs-up.svg +0 -0
  316. /package/{src/lib/assets → assets}/images/toggle-left.svg +0 -0
  317. /package/{src/lib/assets → assets}/images/toggle-right.svg +0 -0
  318. /package/{src/lib/assets → assets}/images/tool.svg +0 -0
  319. /package/{src/lib/assets → assets}/images/trash-2.svg +0 -0
  320. /package/{src/lib/assets → assets}/images/trash.svg +0 -0
  321. /package/{src/lib/assets → assets}/images/trello.svg +0 -0
  322. /package/{src/lib/assets → assets}/images/trending-down.svg +0 -0
  323. /package/{src/lib/assets → assets}/images/trending-up.svg +0 -0
  324. /package/{src/lib/assets → assets}/images/triangle.svg +0 -0
  325. /package/{src/lib/assets → assets}/images/truck.svg +0 -0
  326. /package/{src/lib/assets → assets}/images/tv.svg +0 -0
  327. /package/{src/lib/assets → assets}/images/twitch.svg +0 -0
  328. /package/{src/lib/assets → assets}/images/twitter.svg +0 -0
  329. /package/{src/lib/assets → assets}/images/type.svg +0 -0
  330. /package/{src/lib/assets → assets}/images/umbrella.svg +0 -0
  331. /package/{src/lib/assets → assets}/images/underline.svg +0 -0
  332. /package/{src/lib/assets → assets}/images/unlock.svg +0 -0
  333. /package/{src/lib/assets → assets}/images/upload-cloud.svg +0 -0
  334. /package/{src/lib/assets → assets}/images/upload.svg +0 -0
  335. /package/{src/lib/assets → assets}/images/user-check.svg +0 -0
  336. /package/{src/lib/assets → assets}/images/user-minus.svg +0 -0
  337. /package/{src/lib/assets → assets}/images/user-plus.svg +0 -0
  338. /package/{src/lib/assets → assets}/images/user-x.svg +0 -0
  339. /package/{src/lib/assets → assets}/images/user.svg +0 -0
  340. /package/{src/lib/assets → assets}/images/users.svg +0 -0
  341. /package/{src/lib/assets → assets}/images/video-off.svg +0 -0
  342. /package/{src/lib/assets → assets}/images/video.svg +0 -0
  343. /package/{src/lib/assets → assets}/images/voicemail.svg +0 -0
  344. /package/{src/lib/assets → assets}/images/volume-1.svg +0 -0
  345. /package/{src/lib/assets → assets}/images/volume-2.svg +0 -0
  346. /package/{src/lib/assets → assets}/images/volume-x.svg +0 -0
  347. /package/{src/lib/assets → assets}/images/volume.svg +0 -0
  348. /package/{src/lib/assets → assets}/images/watch.svg +0 -0
  349. /package/{src/lib/assets → assets}/images/wifi-off.svg +0 -0
  350. /package/{src/lib/assets → assets}/images/wifi.svg +0 -0
  351. /package/{src/lib/assets → assets}/images/wind.svg +0 -0
  352. /package/{src/lib/assets → assets}/images/x-circle.svg +0 -0
  353. /package/{src/lib/assets → assets}/images/x-octagon.svg +0 -0
  354. /package/{src/lib/assets → assets}/images/x-square.svg +0 -0
  355. /package/{src/lib/assets → assets}/images/x.svg +0 -0
  356. /package/{src/lib/assets → assets}/images/youtube.svg +0 -0
  357. /package/{src/lib/assets → assets}/images/zap-off.svg +0 -0
  358. /package/{src/lib/assets → assets}/images/zap.svg +0 -0
  359. /package/{src/lib/assets → assets}/images/zoom-in.svg +0 -0
  360. /package/{src/lib/assets → assets}/images/zoom-out.svg +0 -0
  361. /package/{src/lib/styles → styles}/_fonts.scss +0 -0
  362. /package/{src/lib/styles → styles}/_functions.scss +0 -0
  363. /package/{src/lib/styles → styles}/_index.scss +0 -0
  364. /package/{src/lib/styles → styles}/_mixins.scss +0 -0
  365. /package/{src/lib/styles → styles}/_reset.scss +0 -0
  366. /package/{src/lib/styles → styles}/_utilities.scss +0 -0
  367. /package/{src/lib/styles → styles}/_variables.scss +0 -0
@@ -1,591 +0,0 @@
1
- import { CommonModule, DatePipe } from '@angular/common';
2
- import { ChangeDetectorRef, Component, EventEmitter, Inject, Input, LOCALE_ID, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';
3
- import { AbstractControl, ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors } from '@angular/forms';
4
- import { OutsideClickDirective } from '../../directives/outside-click.directive';
5
- import { DateConfig } from '../../modal/cats-ui.modal';
6
- interface IRange {
7
- value: Date;
8
- label: string;
9
- }
10
- @Component({
11
- selector: 'cats-ui-date-time-picker',
12
- imports: [CommonModule, OutsideClickDirective],
13
- templateUrl: './date-time-picker.component.html',
14
- styleUrl: './date-time-picker.component.scss',
15
- providers: [
16
- {
17
- provide: NG_VALUE_ACCESSOR,
18
- useExisting: DateTimePickerComponent,
19
- multi: true,
20
- },
21
- {
22
- provide: NG_VALIDATORS,
23
- useExisting: DateTimePickerComponent,
24
- multi: true,
25
- },
26
- DatePipe,
27
- ],
28
- })
29
- export class DateTimePickerComponent
30
- implements OnInit, OnChanges, ControlValueAccessor
31
- {
32
- @Output() dateTimeSelected = new EventEmitter<any>();
33
- @Input() dateConfig!: DateConfig;
34
- @Input() minDate?: string;
35
- @Input() maxDate?: string;
36
- @Input() preSelectedValue: any;
37
- selectedDateTime: any;
38
- currentDate = new Date();
39
- currentMonth = this.currentDate.getMonth();
40
- currentYear = this.currentDate.getFullYear();
41
- selectedDate: number | null = null;
42
- selectedTime: string | null = null;
43
- calendar: number[][] = [];
44
- timeSlots: IRange[] = [];
45
- rangeStart: number | null = null;
46
- rangeEnd: number | null = null;
47
- selectedMonth: any;
48
- selectedYear: any;
49
- control!: AbstractControl<any, any>;
50
- disableControl: boolean = false;
51
- date: any = '';
52
- calendarView: string = 'defaultView';
53
- yearRange: number[] = [];
54
- daysInMonth: any[] = [];
55
- selectedDay: number = 0;
56
- selectedStartDate: any;
57
- selectedEndDate: any;
58
- isOpen: boolean = false;
59
- showYearSelector = false;
60
- monthRange: any = {
61
- '0': 'JAN',
62
- '01': 'FEB',
63
- '02': 'MAR',
64
- '03': 'APR',
65
- '04': 'MAY',
66
- '05': 'JUN',
67
- '06': 'JUL',
68
- '07': 'AUG',
69
- '08': 'SEP',
70
- '09': 'OCT',
71
- '10': 'NOV',
72
- '11': 'DEC',
73
- };
74
- constructor(
75
- @Inject(LOCALE_ID) private locale: string,
76
- private cd: ChangeDetectorRef,
77
- private datePipe: DatePipe
78
- ) {}
79
- ngOnChanges(_changes: SimpleChanges): void {
80
- if (!_changes['selectedDateTime']?.currentValue) {
81
- this.selectedDateTime = [];
82
- } else {
83
- this.writeValue(this.control?.value);
84
- }
85
- }
86
- ngOnInit(): void {
87
- this.generateYearRange();
88
- // this.generateCalendar();
89
- this.generateTimeRanges();
90
- if (this.preSelectedValue) {
91
- this.initializeCalendar();
92
- }
93
- }
94
-
95
- private onTouchedCallback: () => void = () => {};
96
- private onChangeCallback: (_: any) => void = () => {};
97
- writeValue(value: any): void {
98
- if (value) {
99
- this.selectedDateTime = value;
100
- this.onChangeCallback(value);
101
- this.cd.markForCheck();
102
- }
103
- }
104
-
105
- registerOnChange(fn: any): void {
106
- this.onChangeCallback = fn;
107
- }
108
- registerOnTouched(fn: any): void {
109
- this.onTouchedCallback = fn;
110
- }
111
-
112
- setDisabledState(isDisabled: boolean): void {
113
- if (this.control) {
114
- isDisabled ? this.control.disable() : this.control.enable();
115
- }
116
- }
117
- /**
118
- * @description Validates date time picker component
119
- * @author Shiva Kant
120
- * @param control
121
- * @returns validate
122
- */
123
- validate(control: AbstractControl): ValidationErrors | null {
124
- this.control = control;
125
- const selected = this.date ? new Date(this.date) : null;
126
-
127
- // Check required manually
128
- const isRequired =
129
- control.validator && control.validator(control)?.['required'];
130
-
131
- if (
132
- (isRequired || control.hasError('required')) &&
133
- (!this.date || !this.selectedDay)
134
- ) {
135
- return { required: true };
136
- } else if (this.minDate && selected && selected < new Date(this.minDate)) {
137
- return { minDate: true };
138
- } else if (this.maxDate && selected && selected > new Date(this.maxDate)) {
139
- return { maxDate: true };
140
- }
141
-
142
- return null;
143
- }
144
- /**
145
- * @description method to toggleCalendar
146
- * @author Shiva Kant
147
- */
148
- toggleCalendar(): void {
149
- this.isOpen = !this.isOpen;
150
- if (this.date && this.isOpen) {
151
- this.currentDate = new Date(this.date);
152
- this.selectedDay = this.currentDate.getDate();
153
- }
154
- this.calendarView = 'defaultView';
155
- this.generateCalendar();
156
- if (this.isOpen) {
157
- let ele = document.getElementsByClassName('calendar-footer');
158
- setTimeout(() => {
159
- ele[0]?.scrollIntoView();
160
- });
161
- }
162
- }
163
-
164
- /**
165
- * @description Closes calendar
166
- * @author Shiva Kant
167
- */
168
- closeCalendar(): void {
169
- this.isOpen = false;
170
- this.calendarView = 'defaultView';
171
- }
172
- /**
173
- * @description Method to Gets month year
174
- * @author Shiva Kant
175
- * @returns month year
176
- */
177
- getMonthYear(): { month: string; year: string } {
178
- return {
179
- month: this.currentDate.toLocaleString('default', {
180
- month: 'long',
181
- }),
182
- year: this.currentDate.toLocaleString('default', {
183
- year: 'numeric',
184
- }),
185
- };
186
- }
187
-
188
- /**
189
- * @description Method to Updates current year month
190
- * @author Shiva Kant
191
- */
192
- updateCurrentYearMonth(): void {
193
- this.currentYear = this.currentDate.getFullYear();
194
- this.currentMonth = this.currentDate.getMonth();
195
- }
196
-
197
- /**
198
- * @description Method to Selects year
199
- * @author Shiva Kant
200
- * @param year
201
- */
202
- selectYear(year: number): void {
203
- this.currentDate.setFullYear(year);
204
- this.updateCurrentYearMonth();
205
- this.showYearSelector = false;
206
- this.calendarView = 'defaultView';
207
- this.selectedDay = 0;
208
- this.generateCalendar();
209
- }
210
-
211
- /**
212
- * @description Method to Selects month
213
- * @author Shiva Kant
214
- * @param month
215
- */
216
- selectMonth(month: any): void {
217
- this.currentDate.setMonth(month);
218
- this.updateCurrentYearMonth();
219
- this.calendarView = 'defaultView';
220
- this.selectedDay = 0;
221
- this.generateCalendar();
222
- }
223
-
224
- /**
225
- * @description Method to Previous year range
226
- * @author Shiva Kant
227
- */
228
- previousYearRange(): void {
229
- this.yearRange = this.yearRange.map((year) => year - 18);
230
- }
231
-
232
- /**
233
- * @description Method to Next year range
234
- * @author Shiva Kant
235
- */
236
- nextYearRange(): void {
237
- this.yearRange = this.yearRange.map((year) => year + 18);
238
- }
239
-
240
- /**
241
- * @description Method to Toggles year selector
242
- * @author Shiva Kant
243
- */
244
- toggleYearSelector(): void {
245
- this.showYearSelector = !this.showYearSelector;
246
- this.generateYearRange();
247
- }
248
- /**
249
- * @description Method to Generates year range
250
- * @author Shiva Kant
251
- */
252
- generateYearRange(): void {
253
- const currentYear = this.currentDate.getFullYear();
254
- const startYear = currentYear - (currentYear % 20);
255
- this.yearRange = Array.from({ length: 18 }, (_, i) => startYear + i);
256
- }
257
- /**
258
- * @description Method to Determines whether date selectable is
259
- * @author Shiva Kant
260
- * @param date
261
- * @returns true if date selectable
262
- */
263
- isDateSelectable(date: Date): boolean {
264
- const min = this.minDate ? new Date(this.minDate) : null;
265
- const max = this.maxDate ? new Date(this.maxDate) : null;
266
- if (min && date < min) return false;
267
- if (max && date > max) return false;
268
- return true;
269
- }
270
- /**
271
- * @description Method to Determines whether day disabled is
272
- * @author Shiva Kant
273
- * @param day
274
- * @returns true if day disabled
275
- */
276
- isDayDisabled(day: number): boolean {
277
- const date = new Date(
278
- this.currentDate.getFullYear(),
279
- this.currentDate.getMonth(),
280
- day
281
- );
282
- return !this.isDateSelectable(date);
283
- }
284
- /**
285
- * @description Method to Generates calendar
286
- * @author Shiva Kant
287
- */
288
- generateCalendar(): void {
289
- const year = this.currentDate.getFullYear();
290
- const month = this.currentDate.getMonth();
291
-
292
- const firstDayOfMonth = new Date(year, month, 1);
293
- const firstWeekDay = (firstDayOfMonth.getDay() + 6) % 7; // Convert Sunday (0) to 6, Monday is 0
294
-
295
- const daysInCurrentMonth = new Date(year, month + 1, 0).getDate();
296
- const daysInPreviousMonth = new Date(year, month, 0).getDate();
297
-
298
- const totalCells = 42; // 6 rows of 7 days
299
- const calendarDays: { day: number; date: Date; isCurrentMonth: boolean }[] =
300
- [];
301
-
302
- // Fill previous month days
303
- for (let i = firstWeekDay - 1; i >= 0; i--) {
304
- const day = daysInPreviousMonth - i;
305
- const date = new Date(year, month - 1, day);
306
- calendarDays.push({ day, date, isCurrentMonth: false });
307
- }
308
-
309
- // Fill current month days
310
- for (let day = 1; day <= daysInCurrentMonth; day++) {
311
- const date = new Date(year, month, day);
312
- calendarDays.push({ day, date, isCurrentMonth: true });
313
- }
314
-
315
- // Fill next month days
316
- const remaining = totalCells - calendarDays.length;
317
- for (let day = 1; day <= remaining; day++) {
318
- const date = new Date(year, month + 1, day);
319
- calendarDays.push({ day, date, isCurrentMonth: false });
320
- }
321
-
322
- this.daysInMonth = calendarDays;
323
- }
324
-
325
- /**
326
- * @description Method to Previous month
327
- * @author Shiva Kant
328
- */
329
- previousMonth(): void {
330
- this.currentDate.setMonth(this.currentDate.getMonth() - 1);
331
- this.updateCurrentYearMonth();
332
- this.selectedDay = 0;
333
- this.generateCalendar();
334
- }
335
-
336
- /**
337
- * @description Method to Next month
338
- * @author Shiva Kant
339
- */
340
- nextMonth(): void {
341
- this.currentDate.setMonth(this.currentDate.getMonth() + 1);
342
- this.updateCurrentYearMonth();
343
- this.selectedDay = 0;
344
- this.generateCalendar();
345
- }
346
-
347
- /**
348
- * @description Method to Initializes calendar when preSelectedValue date
349
- * @author Shiva Kant
350
- * @returns calendar
351
- */
352
- initializeCalendar(): void {
353
- if (!this.preSelectedValue) return;
354
-
355
- // Case 1: Single date (string or Date)
356
- if (
357
- typeof this.preSelectedValue === 'string' ||
358
- this.preSelectedValue instanceof Date
359
- ) {
360
- const date = new Date(this.preSelectedValue);
361
- this.selectedDate = date.getDate();
362
- this.selectedMonth = date.getMonth();
363
- this.selectedYear = date.getFullYear();
364
- this.selectedTime = this.formatTime(date);
365
-
366
- // Update current view to show the month/year
367
- this.currentDate = new Date(
368
- this.selectedYear,
369
- this.selectedMonth,
370
- this.selectedDate
371
- );
372
- this.generateCalendar();
373
- }
374
-
375
- // Case 2: Range of dates
376
- else if (this.preSelectedValue.start && this.preSelectedValue.end) {
377
- const startDate = new Date(this.preSelectedValue.start);
378
- const endDate = new Date(this.preSelectedValue.end);
379
-
380
- // Patch component state
381
- this.rangeStart = startDate.getDate();
382
- this.rangeEnd = endDate.getDate();
383
-
384
- this.selectedStartDate = startDate;
385
- this.selectedEndDate = endDate;
386
-
387
- this.selectedMonth = startDate.getMonth();
388
- this.selectedYear = startDate.getFullYear();
389
-
390
- // Set the current calendar view to the start month/year
391
- this.currentDate = new Date(this.selectedYear, this.selectedMonth, 1);
392
- this.generateCalendar();
393
-
394
- // Optional: If your calendar requires a single selectedTime for range, you could pick start or end
395
- this.selectedTime = this.formatTime(startDate);
396
-
397
- // Emit initial range value
398
- this.emitDateTime();
399
- }
400
- }
401
-
402
- /**
403
- * @description Method to Selects date
404
- * @author Shiva Kant
405
- * @param date
406
- */
407
- selectDate(date: number): void {
408
- const selectedFullDate = new Date(
409
- this.currentYear,
410
- this.currentMonth,
411
- date
412
- );
413
- selectedFullDate.setHours(0, 0, 0, 0);
414
-
415
- this.selectedMonth = this.currentMonth;
416
- this.selectedYear = this.currentYear;
417
-
418
- if (this.dateConfig.selectionMode === 'single') {
419
- this.selectedDate = date;
420
- this.rangeStart = null;
421
- this.rangeEnd = null;
422
- } else {
423
- if (!this.rangeStart || this.rangeEnd) {
424
- this.rangeStart = date;
425
- this.rangeEnd = null;
426
- } else {
427
- this.rangeEnd = date < this.rangeStart ? this.rangeStart : date;
428
- this.rangeStart = date < this.rangeStart ? date : this.rangeStart;
429
- }
430
- }
431
-
432
- this.emitDateTime();
433
- }
434
-
435
- /**
436
- * @description Method to Selects time
437
- * @author Shiva Kant
438
- * @param time
439
- */
440
- selectTime(time: string): void {
441
- this.selectedTime = time;
442
- this.emitDateTime();
443
- }
444
- /**
445
- * @description Method to Determines whether selected date is
446
- * @author Shiva Kant
447
- * @param date
448
- * @returns
449
- */
450
- isSelectedDate(date: number, month: number, year: number): boolean {
451
- if (this.dateConfig.selectionMode === 'single') {
452
- // Check if the day, month, and year match
453
- return (
454
- this.selectedDate === date &&
455
- this.selectedMonth === month &&
456
- this.selectedYear === year
457
- );
458
- } else if (this.dateConfig.selectionMode === 'range') {
459
- // Range selection checks, ensuring both start and end dates are within the same month and year
460
- return !!(
461
- (this.rangeStart &&
462
- this.rangeStart === date &&
463
- this.selectedMonth === month &&
464
- this.selectedYear === year) ||
465
- (this.rangeEnd &&
466
- this.rangeEnd === date &&
467
- this.selectedMonth === month &&
468
- this.selectedYear === year) ||
469
- (this.rangeStart &&
470
- this.rangeEnd &&
471
- date > this.rangeStart &&
472
- date < this.rangeEnd &&
473
- this.selectedMonth === month &&
474
- this.selectedYear === year)
475
- );
476
- }
477
- return false;
478
- }
479
-
480
- /**
481
- * @description Method to Generates time ranges
482
- * @author Shiva Kant
483
- */
484
- generateTimeRanges(): void {
485
- const startTime = new Date();
486
- startTime.setHours(0, 0, 0, 0);
487
- this.timeSlots = Array.from({ length: 48 }, (_, i) => {
488
- const time = new Date(startTime.getTime() + i * 30 * 60 * 1000);
489
- return { value: time, label: this.formatTime(time) };
490
- });
491
- }
492
-
493
- /**
494
- * @description Method to Formats time
495
- * @author Shiva Kant
496
- * @param date
497
- * @returns time
498
- */
499
- formatTime(date: Date): string {
500
- return date.toLocaleTimeString('en-US', {
501
- hour: '2-digit',
502
- minute: '2-digit',
503
- hour12: true,
504
- });
505
- }
506
- /**
507
- * @description Method to Formats date time
508
- * @author Shiva Kant
509
- * @param fullDate
510
- * @param selectedTime
511
- * @returns date time
512
- */
513
- formatDateTime(fullDate: Date, selectedTime: string | null): string {
514
- const date = new Date(fullDate);
515
-
516
- if (!selectedTime) {
517
- // Only date formatting when time not required
518
- return this.datePipe.transform(date, 'yyyy/MM/dd')!;
519
- }
520
-
521
- const [time, period] = selectedTime.split(' ');
522
- let [hours, minutes] = time.split(':').map(Number);
523
-
524
- // Convert 12-hour → 24-hour
525
- if (period === 'PM' && hours !== 12) hours += 12;
526
- if (period === 'AM' && hours === 12) hours = 0;
527
-
528
- date.setHours(hours, minutes, 0, 0);
529
-
530
- return this.datePipe.transform(date, 'yyyy/MM/dd hh:mm a')!;
531
- }
532
-
533
- /**
534
- * @description Method to Emits date time
535
- * @author Shiva Kant
536
- * @returns date time
537
- */
538
- emitDateTime(): void {
539
- if (this.dateConfig.enableTime && !this.selectedTime) {
540
- return; // wait until user selects time
541
- }
542
- if (this.dateConfig.selectionMode === 'single') {
543
- if (!this.selectedDate) return;
544
-
545
- const fullDate = new Date(
546
- this.currentYear,
547
- this.currentMonth,
548
- this.selectedDate
549
- );
550
-
551
- this.selectedDateTime = this.formatDateTime(
552
- fullDate || '',
553
- this.dateConfig.enableTime ? this.selectedTime : null
554
- );
555
-
556
- this.writeValue(this.selectedDateTime);
557
- this.date = this.selectedDate;
558
- this.dateTimeSelected.emit(this.selectedDateTime);
559
-
560
- return;
561
- }
562
- if (this.dateConfig.selectionMode === 'range') {
563
- if (!this.rangeStart || !this.rangeEnd) return;
564
-
565
- const startDate = new Date(
566
- this.currentYear,
567
- this.currentMonth,
568
- this.rangeStart
569
- );
570
- const endDate = new Date(
571
- this.currentYear,
572
- this.currentMonth,
573
- this.rangeEnd
574
- );
575
-
576
- const startDateTime = this.formatDateTime(
577
- startDate,
578
- this.dateConfig.enableTime ? this.selectedTime : null
579
- );
580
- const endDateTime = this.formatDateTime(
581
- endDate,
582
- this.dateConfig.enableTime ? this.selectedTime : null
583
- );
584
-
585
- const rangeResult = { start: startDateTime, end: endDateTime };
586
-
587
- this.writeValue(rangeResult);
588
- this.dateTimeSelected.emit(rangeResult);
589
- }
590
- }
591
- }
@@ -1 +0,0 @@
1
- export * from "./date-time-picker.component"
@@ -1 +0,0 @@
1
- export * from './input.component';
@@ -1,27 +0,0 @@
1
- <div class="input_container">
2
- @if (inputConfig.label) {
3
- <label>{{ inputConfig.label }}</label>
4
- }
5
- <div class="custom-input">
6
- <input
7
- class="input-box"
8
- [type]="showPassword ? 'text' : inputConfig.type"
9
- [placeholder]="inputConfig.placeholder"
10
- [disabled]="disabled"
11
- [(ngModel)]="value"
12
- (input)="handleInput($event)"
13
- (blur)="handleBlur($event)"
14
- (keydown)="handleKeyDown($event)"
15
- (keyup)="handleKeyUp($event)"
16
- />
17
- <!-- Eye Icon Only When Type Is Password -->
18
- @if (inputConfig.type === 'password') {
19
- <span class="eye_icon" (click)="togglePassword()">
20
- <img
21
- [src]="showPassword ? 'images/eye.svg' : 'images/eye-off.svg'"
22
- alt="toggle password visibility"
23
- />
24
- </span>
25
- }
26
- </div>
27
- </div>
@@ -1,43 +0,0 @@
1
- @use "../../styles" as *;
2
-
3
- .input_container {
4
- margin-bottom: rem(12px);
5
- label {
6
- @include fontStyle(var(--fs-16), rem(24px), 600);
7
- margin-bottom: rem(8px);
8
- }
9
-
10
- .custom-input {
11
- position: relative;
12
- @include flex("", center, rem(8px));
13
- &:has(span) input[type="text"] {
14
- padding-right: rem(45px);
15
- }
16
-
17
- input {
18
- @include box(100%, rem(56px));
19
- padding: rem(16px);
20
- @include border($radius: rem(8px));
21
- @include fontStyle(var(--fs-16), rem(24px), 400);
22
- &[type="password"] {
23
- padding-right: rem(45px);
24
- }
25
- &:focus {
26
- outline: none;
27
- border-color: var(--blue-700);
28
- }
29
- &:disabled {
30
- background-color: var(--neutral-100);
31
- cursor: not-allowed;
32
- }
33
- }
34
- .eye_icon {
35
- position: absolute;
36
- right: rem(16px);
37
- img {
38
- max-width: rem(20px);
39
- cursor: pointer;
40
- }
41
- }
42
- }
43
- }