cats-data-grid 0.0.2 → 0.0.5

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 (354) hide show
  1. package/README.md +63 -63
  2. package/ng-package.json +20 -0
  3. package/package.json +5 -16
  4. package/src/lib/assets/images/check-white.svg +3 -0
  5. package/src/lib/assets/images/filter-icon.svg +1 -0
  6. package/src/lib/assets/images/gripper.svg +8 -0
  7. package/src/lib/assets/images/minus-blue.svg +3 -0
  8. package/src/lib/assets/images/pin.svg +4 -0
  9. package/src/lib/assets/images/t-arrow-down.svg +4 -0
  10. package/src/lib/assets/images/t-arrow-up.svg +4 -0
  11. package/src/lib/assets/images/t-choose-column.svg +3 -0
  12. package/src/lib/assets/images/t-data-pipeline.svg +13 -0
  13. package/src/lib/assets/images/t-filter-applied.svg +4 -0
  14. package/src/lib/assets/images/t-filter.svg +3 -0
  15. package/src/lib/assets/images/t-gripper.svg +8 -0
  16. package/src/lib/assets/images/t-group-by-name.svg +3 -0
  17. package/src/lib/assets/images/t-more-vertical.svg +5 -0
  18. package/src/lib/assets/images/t-move.svg +15 -0
  19. package/src/lib/assets/images/t-x.svg +4 -0
  20. package/src/lib/cats-data-grid.component.html +1389 -0
  21. package/src/lib/cats-data-grid.component.scss +736 -0
  22. package/src/lib/cats-data-grid.component.ts +1756 -0
  23. package/src/lib/common-components/common-calendar/common-calendar.component.html +228 -0
  24. package/src/lib/common-components/common-calendar/common-calendar.component.scss +279 -0
  25. package/src/lib/common-components/common-calendar/common-calendar.component.spec.ts +23 -0
  26. package/src/lib/common-components/common-calendar/common-calendar.component.ts +606 -0
  27. package/src/lib/common-components/common-input/common-input.component.html +36 -0
  28. package/src/lib/common-components/common-input/common-input.component.scss +3 -0
  29. package/src/lib/common-components/common-input/common-input.component.spec.ts +23 -0
  30. package/src/lib/common-components/common-input/common-input.component.ts +51 -0
  31. package/src/lib/directives/adaptive-position.directive.ts +192 -0
  32. package/src/lib/directives/outside-click.directive.ts +32 -0
  33. package/src/lib/directives/renderer-parser.directive.ts +51 -0
  34. package/src/lib/pipes/add-class.pipe.ts +18 -0
  35. package/src/lib/renderers/common-renderer/common-renderer.component.html +129 -0
  36. package/src/lib/renderers/common-renderer/common-renderer.component.scss +256 -0
  37. package/src/lib/renderers/common-renderer/common-renderer.component.spec.ts +23 -0
  38. package/src/lib/renderers/common-renderer/common-renderer.component.ts +302 -0
  39. package/src/lib/services/cats-data-grid.service.spec.ts +16 -0
  40. package/src/lib/services/cats-data-grid.service.ts +9 -0
  41. package/{styles → src/lib/styles}/_index.scss +3 -3
  42. package/{styles → src/lib/styles}/base/_fonts.scss +74 -74
  43. package/{styles → src/lib/styles}/base/_index.scss +1 -1
  44. package/{styles → src/lib/styles}/base/_reset.scss +60 -60
  45. package/src/lib/styles/component/_form.scss +371 -0
  46. package/{styles → src/lib/styles}/component/_index.scss +1 -1
  47. package/{styles → src/lib/styles}/sass-utils/_function.scss +14 -14
  48. package/{styles → src/lib/styles}/sass-utils/_index.scss +3 -3
  49. package/{styles → src/lib/styles}/sass-utils/_mixin.scss +87 -56
  50. package/src/lib/styles/sass-utils/_variable.scss +77 -0
  51. package/src/public-api.ts +7 -0
  52. package/tsconfig.lib.json +15 -0
  53. package/tsconfig.lib.prod.json +11 -0
  54. package/tsconfig.spec.json +15 -0
  55. package/fesm2022/cats-data-grid.mjs +0 -530
  56. package/fesm2022/cats-data-grid.mjs.map +0 -1
  57. package/index.d.ts +0 -5
  58. package/lib/cats-data-grid.component.d.ts +0 -148
  59. package/lib/directives/outside-click.directive.d.ts +0 -10
  60. package/lib/directives/renderer-parser.directive.d.ts +0 -15
  61. package/lib/pipes/add-class.pipe.d.ts +0 -7
  62. package/lib/services/cats-data-grid.service.d.ts +0 -6
  63. package/public-api.d.ts +0 -2
  64. package/styles/component/_form.scss +0 -246
  65. package/styles/sass-utils/_variable.scss +0 -66
  66. /package/{assets → src/lib/assets}/images/activity.svg +0 -0
  67. /package/{assets → src/lib/assets}/images/airplay.svg +0 -0
  68. /package/{assets → src/lib/assets}/images/alert-circle.svg +0 -0
  69. /package/{assets → src/lib/assets}/images/alert-octagon.svg +0 -0
  70. /package/{assets → src/lib/assets}/images/alert-triangle.svg +0 -0
  71. /package/{assets → src/lib/assets}/images/align-center.svg +0 -0
  72. /package/{assets → src/lib/assets}/images/align-justify.svg +0 -0
  73. /package/{assets → src/lib/assets}/images/align-left.svg +0 -0
  74. /package/{assets → src/lib/assets}/images/align-right.svg +0 -0
  75. /package/{assets → src/lib/assets}/images/anchor.svg +0 -0
  76. /package/{assets → src/lib/assets}/images/aperture.svg +0 -0
  77. /package/{assets → src/lib/assets}/images/archive.svg +0 -0
  78. /package/{assets → src/lib/assets}/images/arrow-down-circle.svg +0 -0
  79. /package/{assets → src/lib/assets}/images/arrow-down-left.svg +0 -0
  80. /package/{assets → src/lib/assets}/images/arrow-down-right.svg +0 -0
  81. /package/{assets → src/lib/assets}/images/arrow-down.svg +0 -0
  82. /package/{assets → src/lib/assets}/images/arrow-left-circle.svg +0 -0
  83. /package/{assets → src/lib/assets}/images/arrow-left.svg +0 -0
  84. /package/{assets → src/lib/assets}/images/arrow-right-circle.svg +0 -0
  85. /package/{assets → src/lib/assets}/images/arrow-right.svg +0 -0
  86. /package/{assets → src/lib/assets}/images/arrow-up-circle.svg +0 -0
  87. /package/{assets → src/lib/assets}/images/arrow-up-left.svg +0 -0
  88. /package/{assets → src/lib/assets}/images/arrow-up-right.svg +0 -0
  89. /package/{assets → src/lib/assets}/images/arrow-up.svg +0 -0
  90. /package/{assets → src/lib/assets}/images/at-sign.svg +0 -0
  91. /package/{assets → src/lib/assets}/images/award.svg +0 -0
  92. /package/{assets → src/lib/assets}/images/bar-chart-2.svg +0 -0
  93. /package/{assets → src/lib/assets}/images/bar-chart.svg +0 -0
  94. /package/{assets → src/lib/assets}/images/battery-charging.svg +0 -0
  95. /package/{assets → src/lib/assets}/images/battery.svg +0 -0
  96. /package/{assets → src/lib/assets}/images/bell-off.svg +0 -0
  97. /package/{assets → src/lib/assets}/images/bell.svg +0 -0
  98. /package/{assets → src/lib/assets}/images/bluetooth.svg +0 -0
  99. /package/{assets → src/lib/assets}/images/bold.svg +0 -0
  100. /package/{assets → src/lib/assets}/images/book-open.svg +0 -0
  101. /package/{assets → src/lib/assets}/images/book.svg +0 -0
  102. /package/{assets → src/lib/assets}/images/bookmark.svg +0 -0
  103. /package/{assets → src/lib/assets}/images/box.svg +0 -0
  104. /package/{assets → src/lib/assets}/images/briefcase.svg +0 -0
  105. /package/{assets → src/lib/assets}/images/calendar.svg +0 -0
  106. /package/{assets → src/lib/assets}/images/camera-off.svg +0 -0
  107. /package/{assets → src/lib/assets}/images/camera.svg +0 -0
  108. /package/{assets → src/lib/assets}/images/cast.svg +0 -0
  109. /package/{assets → src/lib/assets}/images/check-circle.svg +0 -0
  110. /package/{assets → src/lib/assets}/images/check-square.svg +0 -0
  111. /package/{assets → src/lib/assets}/images/check.svg +0 -0
  112. /package/{assets → src/lib/assets}/images/chevron-down.svg +0 -0
  113. /package/{assets → src/lib/assets}/images/chevron-left.svg +0 -0
  114. /package/{assets → src/lib/assets}/images/chevron-right.svg +0 -0
  115. /package/{assets → src/lib/assets}/images/chevron-up.svg +0 -0
  116. /package/{assets → src/lib/assets}/images/chevrons-down.svg +0 -0
  117. /package/{assets → src/lib/assets}/images/chevrons-left.svg +0 -0
  118. /package/{assets → src/lib/assets}/images/chevrons-right.svg +0 -0
  119. /package/{assets → src/lib/assets}/images/chevrons-up.svg +0 -0
  120. /package/{assets → src/lib/assets}/images/chrome.svg +0 -0
  121. /package/{assets → src/lib/assets}/images/circle.svg +0 -0
  122. /package/{assets → src/lib/assets}/images/clipboard.svg +0 -0
  123. /package/{assets → src/lib/assets}/images/clock.svg +0 -0
  124. /package/{assets → src/lib/assets}/images/cloud-drizzle.svg +0 -0
  125. /package/{assets → src/lib/assets}/images/cloud-lightning.svg +0 -0
  126. /package/{assets → src/lib/assets}/images/cloud-off.svg +0 -0
  127. /package/{assets → src/lib/assets}/images/cloud-rain.svg +0 -0
  128. /package/{assets → src/lib/assets}/images/cloud-snow.svg +0 -0
  129. /package/{assets → src/lib/assets}/images/cloud.svg +0 -0
  130. /package/{assets → src/lib/assets}/images/code.svg +0 -0
  131. /package/{assets → src/lib/assets}/images/codepen.svg +0 -0
  132. /package/{assets → src/lib/assets}/images/codesandbox.svg +0 -0
  133. /package/{assets → src/lib/assets}/images/coffee.svg +0 -0
  134. /package/{assets → src/lib/assets}/images/columns.svg +0 -0
  135. /package/{assets → src/lib/assets}/images/command.svg +0 -0
  136. /package/{assets → src/lib/assets}/images/compass.svg +0 -0
  137. /package/{assets → src/lib/assets}/images/copy.svg +0 -0
  138. /package/{assets → src/lib/assets}/images/corner-down-left.svg +0 -0
  139. /package/{assets → src/lib/assets}/images/corner-down-right.svg +0 -0
  140. /package/{assets → src/lib/assets}/images/corner-left-down.svg +0 -0
  141. /package/{assets → src/lib/assets}/images/corner-left-up.svg +0 -0
  142. /package/{assets → src/lib/assets}/images/corner-right-down.svg +0 -0
  143. /package/{assets → src/lib/assets}/images/corner-right-up.svg +0 -0
  144. /package/{assets → src/lib/assets}/images/corner-up-left.svg +0 -0
  145. /package/{assets → src/lib/assets}/images/corner-up-right.svg +0 -0
  146. /package/{assets → src/lib/assets}/images/cpu.svg +0 -0
  147. /package/{assets → src/lib/assets}/images/credit-card.svg +0 -0
  148. /package/{assets → src/lib/assets}/images/crop.svg +0 -0
  149. /package/{assets → src/lib/assets}/images/crosshair.svg +0 -0
  150. /package/{assets → src/lib/assets}/images/database.svg +0 -0
  151. /package/{assets → src/lib/assets}/images/delete.svg +0 -0
  152. /package/{assets → src/lib/assets}/images/disc.svg +0 -0
  153. /package/{assets → src/lib/assets}/images/divide-circle.svg +0 -0
  154. /package/{assets → src/lib/assets}/images/divide-square.svg +0 -0
  155. /package/{assets → src/lib/assets}/images/divide.svg +0 -0
  156. /package/{assets → src/lib/assets}/images/dollar-sign.svg +0 -0
  157. /package/{assets → src/lib/assets}/images/download-cloud.svg +0 -0
  158. /package/{assets → src/lib/assets}/images/download.svg +0 -0
  159. /package/{assets → src/lib/assets}/images/dribbble.svg +0 -0
  160. /package/{assets → src/lib/assets}/images/droplet.svg +0 -0
  161. /package/{assets → src/lib/assets}/images/edit-2.svg +0 -0
  162. /package/{assets → src/lib/assets}/images/edit-3.svg +0 -0
  163. /package/{assets → src/lib/assets}/images/edit.svg +0 -0
  164. /package/{assets → src/lib/assets}/images/external-link.svg +0 -0
  165. /package/{assets → src/lib/assets}/images/eye-off.svg +0 -0
  166. /package/{assets → src/lib/assets}/images/eye.svg +0 -0
  167. /package/{assets → src/lib/assets}/images/facebook.svg +0 -0
  168. /package/{assets → src/lib/assets}/images/fast-forward.svg +0 -0
  169. /package/{assets → src/lib/assets}/images/feather.svg +0 -0
  170. /package/{assets → src/lib/assets}/images/figma.svg +0 -0
  171. /package/{assets → src/lib/assets}/images/file-minus.svg +0 -0
  172. /package/{assets → src/lib/assets}/images/file-plus.svg +0 -0
  173. /package/{assets → src/lib/assets}/images/file-text.svg +0 -0
  174. /package/{assets → src/lib/assets}/images/file.svg +0 -0
  175. /package/{assets → src/lib/assets}/images/film.svg +0 -0
  176. /package/{assets → src/lib/assets}/images/filter.svg +0 -0
  177. /package/{assets → src/lib/assets}/images/flag.svg +0 -0
  178. /package/{assets → src/lib/assets}/images/folder-minus.svg +0 -0
  179. /package/{assets → src/lib/assets}/images/folder-plus.svg +0 -0
  180. /package/{assets → src/lib/assets}/images/folder.svg +0 -0
  181. /package/{assets → src/lib/assets}/images/framer.svg +0 -0
  182. /package/{assets → src/lib/assets}/images/frown.svg +0 -0
  183. /package/{assets → src/lib/assets}/images/gift.svg +0 -0
  184. /package/{assets → src/lib/assets}/images/git-branch.svg +0 -0
  185. /package/{assets → src/lib/assets}/images/git-commit.svg +0 -0
  186. /package/{assets → src/lib/assets}/images/git-merge.svg +0 -0
  187. /package/{assets → src/lib/assets}/images/git-pull-request.svg +0 -0
  188. /package/{assets → src/lib/assets}/images/github.svg +0 -0
  189. /package/{assets → src/lib/assets}/images/gitlab.svg +0 -0
  190. /package/{assets → src/lib/assets}/images/globe.svg +0 -0
  191. /package/{assets → src/lib/assets}/images/grid.svg +0 -0
  192. /package/{assets → src/lib/assets}/images/hard-drive.svg +0 -0
  193. /package/{assets → src/lib/assets}/images/hash.svg +0 -0
  194. /package/{assets → src/lib/assets}/images/headphones.svg +0 -0
  195. /package/{assets → src/lib/assets}/images/heart.svg +0 -0
  196. /package/{assets → src/lib/assets}/images/help-circle.svg +0 -0
  197. /package/{assets → src/lib/assets}/images/hexagon.svg +0 -0
  198. /package/{assets → src/lib/assets}/images/home.svg +0 -0
  199. /package/{assets → src/lib/assets}/images/image.svg +0 -0
  200. /package/{assets → src/lib/assets}/images/inbox.svg +0 -0
  201. /package/{assets → src/lib/assets}/images/info.svg +0 -0
  202. /package/{assets → src/lib/assets}/images/instagram.svg +0 -0
  203. /package/{assets → src/lib/assets}/images/italic.svg +0 -0
  204. /package/{assets → src/lib/assets}/images/key.svg +0 -0
  205. /package/{assets → src/lib/assets}/images/layers.svg +0 -0
  206. /package/{assets → src/lib/assets}/images/layout.svg +0 -0
  207. /package/{assets → src/lib/assets}/images/life-buoy.svg +0 -0
  208. /package/{assets → src/lib/assets}/images/link-2.svg +0 -0
  209. /package/{assets → src/lib/assets}/images/link.svg +0 -0
  210. /package/{assets → src/lib/assets}/images/linkedin.svg +0 -0
  211. /package/{assets → src/lib/assets}/images/list.svg +0 -0
  212. /package/{assets → src/lib/assets}/images/loader.svg +0 -0
  213. /package/{assets → src/lib/assets}/images/lock.svg +0 -0
  214. /package/{assets → src/lib/assets}/images/log-in.svg +0 -0
  215. /package/{assets → src/lib/assets}/images/log-out.svg +0 -0
  216. /package/{assets → src/lib/assets}/images/mail.svg +0 -0
  217. /package/{assets → src/lib/assets}/images/map-pin.svg +0 -0
  218. /package/{assets → src/lib/assets}/images/map.svg +0 -0
  219. /package/{assets → src/lib/assets}/images/maximize-2.svg +0 -0
  220. /package/{assets → src/lib/assets}/images/maximize.svg +0 -0
  221. /package/{assets → src/lib/assets}/images/meh.svg +0 -0
  222. /package/{assets → src/lib/assets}/images/menu.svg +0 -0
  223. /package/{assets → src/lib/assets}/images/message-circle.svg +0 -0
  224. /package/{assets → src/lib/assets}/images/message-square.svg +0 -0
  225. /package/{assets → src/lib/assets}/images/mic-off.svg +0 -0
  226. /package/{assets → src/lib/assets}/images/mic.svg +0 -0
  227. /package/{assets → src/lib/assets}/images/minimize-2.svg +0 -0
  228. /package/{assets → src/lib/assets}/images/minimize.svg +0 -0
  229. /package/{assets → src/lib/assets}/images/minus-circle.svg +0 -0
  230. /package/{assets → src/lib/assets}/images/minus-square.svg +0 -0
  231. /package/{assets → src/lib/assets}/images/minus.svg +0 -0
  232. /package/{assets → src/lib/assets}/images/monitor.svg +0 -0
  233. /package/{assets → src/lib/assets}/images/moon.svg +0 -0
  234. /package/{assets → src/lib/assets}/images/more-horizontal.svg +0 -0
  235. /package/{assets → src/lib/assets}/images/more-vertical.svg +0 -0
  236. /package/{assets → src/lib/assets}/images/mouse-pointer.svg +0 -0
  237. /package/{assets → src/lib/assets}/images/move.svg +0 -0
  238. /package/{assets → src/lib/assets}/images/music.svg +0 -0
  239. /package/{assets → src/lib/assets}/images/navigation-2.svg +0 -0
  240. /package/{assets → src/lib/assets}/images/navigation.svg +0 -0
  241. /package/{assets → src/lib/assets}/images/octagon.svg +0 -0
  242. /package/{assets → src/lib/assets}/images/package.svg +0 -0
  243. /package/{assets → src/lib/assets}/images/paperclip.svg +0 -0
  244. /package/{assets → src/lib/assets}/images/pause-circle.svg +0 -0
  245. /package/{assets → src/lib/assets}/images/pause.svg +0 -0
  246. /package/{assets → src/lib/assets}/images/pen-tool.svg +0 -0
  247. /package/{assets → src/lib/assets}/images/percent.svg +0 -0
  248. /package/{assets → src/lib/assets}/images/phone-call.svg +0 -0
  249. /package/{assets → src/lib/assets}/images/phone-forwarded.svg +0 -0
  250. /package/{assets → src/lib/assets}/images/phone-incoming.svg +0 -0
  251. /package/{assets → src/lib/assets}/images/phone-missed.svg +0 -0
  252. /package/{assets → src/lib/assets}/images/phone-off.svg +0 -0
  253. /package/{assets → src/lib/assets}/images/phone-outgoing.svg +0 -0
  254. /package/{assets → src/lib/assets}/images/phone.svg +0 -0
  255. /package/{assets → src/lib/assets}/images/pie-chart.svg +0 -0
  256. /package/{assets → src/lib/assets}/images/play-circle.svg +0 -0
  257. /package/{assets → src/lib/assets}/images/play.svg +0 -0
  258. /package/{assets → src/lib/assets}/images/plus-circle.svg +0 -0
  259. /package/{assets → src/lib/assets}/images/plus-square.svg +0 -0
  260. /package/{assets → src/lib/assets}/images/plus.svg +0 -0
  261. /package/{assets → src/lib/assets}/images/pocket.svg +0 -0
  262. /package/{assets → src/lib/assets}/images/power.svg +0 -0
  263. /package/{assets → src/lib/assets}/images/printer.svg +0 -0
  264. /package/{assets → src/lib/assets}/images/radio.svg +0 -0
  265. /package/{assets → src/lib/assets}/images/refresh-ccw.svg +0 -0
  266. /package/{assets → src/lib/assets}/images/refresh-cw.svg +0 -0
  267. /package/{assets → src/lib/assets}/images/repeat.svg +0 -0
  268. /package/{assets → src/lib/assets}/images/rewind.svg +0 -0
  269. /package/{assets → src/lib/assets}/images/rotate-ccw.svg +0 -0
  270. /package/{assets → src/lib/assets}/images/rotate-cw.svg +0 -0
  271. /package/{assets → src/lib/assets}/images/rss.svg +0 -0
  272. /package/{assets → src/lib/assets}/images/save.svg +0 -0
  273. /package/{assets → src/lib/assets}/images/scissors.svg +0 -0
  274. /package/{assets → src/lib/assets}/images/search.svg +0 -0
  275. /package/{assets → src/lib/assets}/images/send.svg +0 -0
  276. /package/{assets → src/lib/assets}/images/server.svg +0 -0
  277. /package/{assets → src/lib/assets}/images/settings.svg +0 -0
  278. /package/{assets → src/lib/assets}/images/share-2.svg +0 -0
  279. /package/{assets → src/lib/assets}/images/share.svg +0 -0
  280. /package/{assets → src/lib/assets}/images/shield-off.svg +0 -0
  281. /package/{assets → src/lib/assets}/images/shield.svg +0 -0
  282. /package/{assets → src/lib/assets}/images/shopping-bag.svg +0 -0
  283. /package/{assets → src/lib/assets}/images/shopping-cart.svg +0 -0
  284. /package/{assets → src/lib/assets}/images/shuffle.svg +0 -0
  285. /package/{assets → src/lib/assets}/images/sidebar.svg +0 -0
  286. /package/{assets → src/lib/assets}/images/skip-back.svg +0 -0
  287. /package/{assets → src/lib/assets}/images/skip-forward.svg +0 -0
  288. /package/{assets → src/lib/assets}/images/slack.svg +0 -0
  289. /package/{assets → src/lib/assets}/images/slash.svg +0 -0
  290. /package/{assets → src/lib/assets}/images/sliders.svg +0 -0
  291. /package/{assets → src/lib/assets}/images/smartphone.svg +0 -0
  292. /package/{assets → src/lib/assets}/images/smile.svg +0 -0
  293. /package/{assets → src/lib/assets}/images/sort_down.svg +0 -0
  294. /package/{assets → src/lib/assets}/images/sort_up.svg +0 -0
  295. /package/{assets → src/lib/assets}/images/speaker.svg +0 -0
  296. /package/{assets → src/lib/assets}/images/square.svg +0 -0
  297. /package/{assets → src/lib/assets}/images/star.svg +0 -0
  298. /package/{assets → src/lib/assets}/images/stop-circle.svg +0 -0
  299. /package/{assets → src/lib/assets}/images/sun.svg +0 -0
  300. /package/{assets → src/lib/assets}/images/sunrise.svg +0 -0
  301. /package/{assets → src/lib/assets}/images/sunset.svg +0 -0
  302. /package/{assets → src/lib/assets}/images/table.svg +0 -0
  303. /package/{assets → src/lib/assets}/images/tablet.svg +0 -0
  304. /package/{assets → src/lib/assets}/images/tag.svg +0 -0
  305. /package/{assets → src/lib/assets}/images/target.svg +0 -0
  306. /package/{assets → src/lib/assets}/images/terminal.svg +0 -0
  307. /package/{assets → src/lib/assets}/images/thermometer.svg +0 -0
  308. /package/{assets → src/lib/assets}/images/thumbs-down.svg +0 -0
  309. /package/{assets → src/lib/assets}/images/thumbs-up.svg +0 -0
  310. /package/{assets → src/lib/assets}/images/toggle-left.svg +0 -0
  311. /package/{assets → src/lib/assets}/images/toggle-right.svg +0 -0
  312. /package/{assets → src/lib/assets}/images/tool.svg +0 -0
  313. /package/{assets → src/lib/assets}/images/trash-2.svg +0 -0
  314. /package/{assets → src/lib/assets}/images/trash.svg +0 -0
  315. /package/{assets → src/lib/assets}/images/trello.svg +0 -0
  316. /package/{assets → src/lib/assets}/images/trending-down.svg +0 -0
  317. /package/{assets → src/lib/assets}/images/trending-up.svg +0 -0
  318. /package/{assets → src/lib/assets}/images/triangle.svg +0 -0
  319. /package/{assets → src/lib/assets}/images/truck.svg +0 -0
  320. /package/{assets → src/lib/assets}/images/tv.svg +0 -0
  321. /package/{assets → src/lib/assets}/images/twitch.svg +0 -0
  322. /package/{assets → src/lib/assets}/images/twitter.svg +0 -0
  323. /package/{assets → src/lib/assets}/images/type.svg +0 -0
  324. /package/{assets → src/lib/assets}/images/umbrella.svg +0 -0
  325. /package/{assets → src/lib/assets}/images/underline.svg +0 -0
  326. /package/{assets → src/lib/assets}/images/unlock.svg +0 -0
  327. /package/{assets → src/lib/assets}/images/upload-cloud.svg +0 -0
  328. /package/{assets → src/lib/assets}/images/upload.svg +0 -0
  329. /package/{assets → src/lib/assets}/images/user-check.svg +0 -0
  330. /package/{assets → src/lib/assets}/images/user-minus.svg +0 -0
  331. /package/{assets → src/lib/assets}/images/user-plus.svg +0 -0
  332. /package/{assets → src/lib/assets}/images/user-x.svg +0 -0
  333. /package/{assets → src/lib/assets}/images/user.svg +0 -0
  334. /package/{assets → src/lib/assets}/images/users.svg +0 -0
  335. /package/{assets → src/lib/assets}/images/video-off.svg +0 -0
  336. /package/{assets → src/lib/assets}/images/video.svg +0 -0
  337. /package/{assets → src/lib/assets}/images/voicemail.svg +0 -0
  338. /package/{assets → src/lib/assets}/images/volume-1.svg +0 -0
  339. /package/{assets → src/lib/assets}/images/volume-2.svg +0 -0
  340. /package/{assets → src/lib/assets}/images/volume-x.svg +0 -0
  341. /package/{assets → src/lib/assets}/images/volume.svg +0 -0
  342. /package/{assets → src/lib/assets}/images/watch.svg +0 -0
  343. /package/{assets → src/lib/assets}/images/wifi-off.svg +0 -0
  344. /package/{assets → src/lib/assets}/images/wifi.svg +0 -0
  345. /package/{assets → src/lib/assets}/images/wind.svg +0 -0
  346. /package/{assets → src/lib/assets}/images/x-circle.svg +0 -0
  347. /package/{assets → src/lib/assets}/images/x-octagon.svg +0 -0
  348. /package/{assets → src/lib/assets}/images/x-square.svg +0 -0
  349. /package/{assets → src/lib/assets}/images/x.svg +0 -0
  350. /package/{assets → src/lib/assets}/images/youtube.svg +0 -0
  351. /package/{assets → src/lib/assets}/images/zap-off.svg +0 -0
  352. /package/{assets → src/lib/assets}/images/zap.svg +0 -0
  353. /package/{assets → src/lib/assets}/images/zoom-in.svg +0 -0
  354. /package/{assets → src/lib/assets}/images/zoom-out.svg +0 -0
@@ -0,0 +1,51 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import {
3
+ Component,
4
+ EventEmitter,
5
+ HostListener,
6
+ Input,
7
+ Output,
8
+ } from '@angular/core';
9
+
10
+ @Component({
11
+ selector: 'lib-common-input',
12
+ imports: [CommonModule],
13
+ templateUrl: './common-input.component.html',
14
+ styleUrl: './common-input.component.scss',
15
+ })
16
+ export class CommonInputComponent {
17
+ @Input() options: { label: string; value: any }[] = [];
18
+ @Input() selectedValue: any;
19
+ @Input() placeholder = 'Select';
20
+ @Input() elementType = 'dropdown';
21
+
22
+ @Output() valueChange = new EventEmitter<any>();
23
+
24
+ showDropdown = false;
25
+
26
+ toggleDropdown(): void {
27
+ this.showDropdown = !this.showDropdown;
28
+ }
29
+
30
+ selectOption(option: any): void {
31
+ this.selectedValue = option.value;
32
+ this.valueChange.emit(option.value);
33
+ this.showDropdown = false;
34
+ }
35
+
36
+ get selectedLabel(): string {
37
+ return (
38
+ this.options.find((o) => o.value === this.selectedValue)?.label ||
39
+ this.placeholder
40
+ );
41
+ }
42
+
43
+ // optional: close on outside click
44
+ @HostListener('document:click', ['$event'])
45
+ closeOnOutsideClick(event: MouseEvent): void {
46
+ const target = event.target as HTMLElement;
47
+ if (!target.closest('.text_filter_section')) {
48
+ this.showDropdown = false;
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,192 @@
1
+ import {
2
+ Directive,
3
+ ElementRef,
4
+ Input,
5
+ Renderer2,
6
+ HostListener,
7
+ OnDestroy,
8
+ AfterViewInit,
9
+ } from '@angular/core';
10
+
11
+ @Directive({
12
+ selector: '[adaptivePosition]',
13
+ })
14
+ export class AdaptivePositionDirective implements AfterViewInit, OnDestroy {
15
+ @Input('adaptive') dropdown!: HTMLElement;
16
+ @Input() trigger!: HTMLElement;
17
+ @Input() parentContainer!: HTMLElement;
18
+ @Input() matchWidth: boolean = true;
19
+ @Input() closeOnOutside: boolean = true;
20
+ @Input() isAction: boolean = false;
21
+ @Input() isColumnActionMenu: boolean = false;
22
+
23
+ resizeObserver!: ResizeObserver;
24
+ isOpen = false;
25
+ menuItems: HTMLElement[] = [];
26
+ focusedIndex = -1;
27
+
28
+ constructor(private host: ElementRef) {}
29
+
30
+ ngAfterViewInit(): void {
31
+ this.setupBaseStyles();
32
+ this.observeResize();
33
+ }
34
+
35
+ // @HostListener('click', ['$event'])
36
+ // toggle(event: Event) {
37
+ // event.stopPropagation();
38
+ // this.isOpen ? this.close() : this.open();
39
+ // }
40
+
41
+ open() {
42
+ this.isOpen = true;
43
+ this.dropdown.classList.remove('hidden');
44
+ this.dropdown.setAttribute('role', 'listbox');
45
+ this.host.nativeElement.setAttribute('aria-expanded', 'true');
46
+ this.prepareItems();
47
+ this.positionDropdown();
48
+
49
+ if (this.closeOnOutside)
50
+ document.addEventListener('click', this.handleOutsideClick);
51
+ }
52
+
53
+ close() {
54
+ this.isOpen = false;
55
+ this.dropdown.classList.add('hidden');
56
+ this.host.nativeElement.setAttribute('aria-expanded', 'false');
57
+ document.removeEventListener('click', this.handleOutsideClick);
58
+ this.focusedIndex = -1;
59
+ }
60
+
61
+ positionDropdown() {
62
+ if (!this.trigger) return;
63
+
64
+ const dropdown = this.host.nativeElement;
65
+ const parent =
66
+ this.parentContainer ||
67
+ this.trigger.closest('.table_wrapper') ||
68
+ document.body ||
69
+ this.trigger.offsetParent!;
70
+ if (!parent) return;
71
+
72
+ const t = this.trigger.getBoundingClientRect();
73
+ const p = parent.getBoundingClientRect();
74
+ const dH = dropdown.offsetHeight;
75
+ const dW = dropdown.offsetWidth;
76
+
77
+ const spaceBelow = p.bottom - t.bottom;
78
+ const spaceAbove = t.top - p.top;
79
+ const spaceRight = p.right - t.left;
80
+ const spaceLeft = t.right - p.left;
81
+
82
+ if (spaceBelow < dH && spaceAbove > dH) {
83
+ dropdown.style.bottom = `${this.trigger.offsetHeight}px`;
84
+ dropdown.style.top = 'auto';
85
+ dropdown.classList.add('drop-up');
86
+ dropdown.classList.remove('drop-down');
87
+ }
88
+
89
+ if (spaceRight < dW && spaceLeft > dW) {
90
+ dropdown.style.right = '0';
91
+ dropdown.style.left = 'auto';
92
+ dropdown.classList.add('align-right');
93
+ if (this.isColumnActionMenu) dropdown.style.right = '0';
94
+ }
95
+
96
+ if (this.isAction) dropdown.style.right = '70px';
97
+ if (this.matchWidth) dropdown.style.width = `${this.trigger.offsetWidth}px`;
98
+ }
99
+
100
+ @HostListener('keydown', ['$event'])
101
+ handleKeys(e: KeyboardEvent) {
102
+ if (!this.isOpen) return;
103
+
104
+ switch (e.key) {
105
+ case 'ArrowDown':
106
+ this.moveFocus(1);
107
+ e.preventDefault();
108
+ break;
109
+ case 'ArrowUp':
110
+ this.moveFocus(-1);
111
+ e.preventDefault();
112
+ break;
113
+ case 'Home':
114
+ this.focusItem(0);
115
+ e.preventDefault();
116
+ break;
117
+ case 'End':
118
+ this.focusItem(this.menuItems.length - 1);
119
+ e.preventDefault();
120
+ break;
121
+ case 'Enter':
122
+ case ' ':
123
+ this.selectFocused();
124
+ e.preventDefault();
125
+ break;
126
+ case 'Escape':
127
+ this.close();
128
+ break;
129
+ }
130
+ }
131
+
132
+ moveFocus(delta: number) {
133
+ this.focusedIndex =
134
+ (this.focusedIndex + delta + this.menuItems.length) %
135
+ this.menuItems.length;
136
+ this.focusItem(this.focusedIndex);
137
+ }
138
+
139
+ focusItem(index: number) {
140
+ this.focusedIndex = index;
141
+ this.menuItems.forEach((i) => i.classList.remove('focused'));
142
+
143
+ const item = this.menuItems[index];
144
+ item.classList.add('focused');
145
+ item.scrollIntoView({ block: 'nearest' });
146
+ }
147
+
148
+ selectFocused() {
149
+ if (this.focusedIndex >= 0) this.menuItems[this.focusedIndex].click();
150
+ this.close();
151
+ }
152
+
153
+ prepareItems() {
154
+ this.menuItems = Array.from(
155
+ this.dropdown.querySelectorAll('[role="option"], li, div'),
156
+ );
157
+ this.menuItems.forEach((el) => el.setAttribute('tabindex', '-1'));
158
+ }
159
+
160
+ handleOutsideClick = (e: Event) => {
161
+ const target = e.target;
162
+ if (
163
+ !(target instanceof Node) ||
164
+ (!this.host.nativeElement.contains(target) &&
165
+ !this.dropdown.contains(target))
166
+ ) {
167
+ this.close();
168
+ }
169
+ };
170
+
171
+ setupBaseStyles() {
172
+ const dropdown = this.host.nativeElement;
173
+ dropdown.style.position = 'absolute';
174
+ this.host.nativeElement.setAttribute('role', 'button');
175
+ this.positionDropdown();
176
+ }
177
+
178
+ observeResize() {
179
+ const parent = this.parentContainer || this.host.nativeElement.offsetParent;
180
+ this.resizeObserver = new ResizeObserver(() => {
181
+ if (this.isOpen) this.positionDropdown();
182
+ });
183
+ this.resizeObserver.observe(this.host.nativeElement);
184
+ this.resizeObserver.observe(this.trigger);
185
+ if (parent) this.resizeObserver.observe(parent);
186
+ }
187
+
188
+ ngOnDestroy() {
189
+ this.resizeObserver?.disconnect();
190
+ document.removeEventListener('click', this.handleOutsideClick);
191
+ }
192
+ }
@@ -0,0 +1,32 @@
1
+ import {
2
+ Directive,
3
+ ElementRef,
4
+ EventEmitter,
5
+ HostListener,
6
+ OnDestroy,
7
+ OnInit,
8
+ Output,
9
+ } from '@angular/core';
10
+
11
+ @Directive({
12
+ selector: '[appOutsideClick]',
13
+ standalone: true,
14
+ })
15
+ export class OutsideClickDirective implements OnInit, OnDestroy {
16
+ @Output() clickOutside = new EventEmitter();
17
+ constructor(private elementRef: ElementRef) {}
18
+ private onClick = (event: MouseEvent) => {
19
+ const target = event.target as HTMLElement;
20
+ if (!this.elementRef.nativeElement.contains(target)) {
21
+ this.clickOutside.emit(event);
22
+ }
23
+ };
24
+
25
+ ngOnInit() {
26
+ document.addEventListener('click', this.onClick, true);
27
+ }
28
+
29
+ ngOnDestroy() {
30
+ document.removeEventListener('click', this.onClick, true);
31
+ }
32
+ }
@@ -0,0 +1,51 @@
1
+ import {
2
+ Component,
3
+ Directive,
4
+ ElementRef,
5
+ Input,
6
+ OnInit,
7
+ ViewContainerRef,
8
+ } from '@angular/core';
9
+
10
+ @Directive({
11
+ selector: '[appRendererParser]',
12
+ })
13
+ export class RendererParserDirective implements OnInit {
14
+ @Input() rowParam: any;
15
+ @Input() col: any;
16
+ @Input() api: any;
17
+ @Input() currentValue: any;
18
+ ref: any;
19
+ constructor(private el: ViewContainerRef, private er: ElementRef) {}
20
+ ngOnInit() {
21
+ this.el?.clear();
22
+ let params: any = {
23
+ data: this.rowParam,
24
+ value: this.currentValue,
25
+ cellParams: this.col?.cellRendererParams,
26
+ col: this.col,
27
+ };
28
+ if (
29
+ this.col?.cellRenderer?.prototype &&
30
+ this.col.cellRenderer.prototype?.constructor == this.col.cellRenderer
31
+ ) {
32
+ this.ref = this.el.createComponent(this.col?.cellRenderer);
33
+ this.ref.instance?.cellInit(params, this.api);
34
+ } else if (typeof this.col?.cellRenderer == 'function') {
35
+ let newDiv = document.createElement('div');
36
+ newDiv.className = 'more_data_wrapper';
37
+ newDiv.innerHTML = this.col.cellRenderer(params);
38
+ let toltipDiv = document.createElement('div');
39
+ let itemDiv = document.createElement('div');
40
+ let descDiv = document.createElement('div');
41
+ toltipDiv.className = 'see_more_data';
42
+ itemDiv.className = 'item';
43
+ descDiv.className = 'desc';
44
+ descDiv.innerHTML = newDiv.innerText;
45
+ itemDiv.appendChild(descDiv);
46
+ toltipDiv.appendChild(itemDiv);
47
+ this.er.nativeElement.appendChild(newDiv);
48
+ this.er.nativeElement.appendChild(toltipDiv);
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,18 @@
1
+ import { Pipe, PipeTransform } from '@angular/core';
2
+
3
+ @Pipe({
4
+ name: 'addClass'
5
+ })
6
+ export class AddClassPipe implements PipeTransform {
7
+
8
+ transform(value: any, context: any): string {
9
+ if (context?.addClasses) {
10
+ return context.addClasses(value)
11
+ }
12
+ else if(context?.cellValueClass) {
13
+ return context.cellValueClass(value)
14
+ }
15
+ return '';
16
+ }
17
+
18
+ }
@@ -0,0 +1,129 @@
1
+ <!-- Switch -->
2
+ @if (type === "switch") {
3
+ <div class="table_switch_wrapper">
4
+ <label class="switch">
5
+ <input type="checkbox" [checked]="value" (change)="onToggle($event)" />
6
+ <span class="slider"></span>
7
+ </label>
8
+ </div>
9
+ }
10
+
11
+ <!-- Action Menu -->
12
+
13
+ @if (type === "action-menu") {
14
+ <div class="action-menu">
15
+ <button class="action_dots" (click)="onThreeDotsMenuClick()" #tagTrigger>
16
+ <img src="images/more-{{ actionSubType || 'vertical' }}.svg" />
17
+ </button>
18
+
19
+ @if (openActionMenu) {
20
+ <div
21
+ class="menu"
22
+ appOutsideClick
23
+ (clickOutside)="clickOutside($event)"
24
+ adaptivePosition
25
+ [trigger]="tagTrigger"
26
+ [isAction]="true"
27
+ [matchWidth]="false"
28
+ >
29
+ <div class="item_wrapper" id="table_scroll">
30
+ @for (act of actions; track $index) {
31
+ <div
32
+ class="{{ 'menu_item' + ' ' + act.class }}"
33
+ [ngClass]="{
34
+ disabled_item:
35
+ params?.data?.disabledActions?.includes(act.label) ||
36
+ act.disabled,
37
+ }"
38
+ (click)="onActionClick(act)"
39
+ >
40
+ @if (act.icon) {
41
+ <img src="images/{{ act.icon }}.svg" />
42
+ } @else {
43
+ <img src="{{ act?.image }}" />
44
+ }
45
+
46
+ <span class="ellipsis">{{ act.label }}</span>
47
+ </div>
48
+ }
49
+ </div>
50
+ </div>
51
+ }
52
+ </div>
53
+ }
54
+
55
+ <!-- Tags -->
56
+
57
+ @if (type === "tag") {
58
+ <div
59
+ class="tag_wrapper"
60
+ (mouseover)="toggleDropdown($event)"
61
+ (mouseout)="closeDropdown($event)"
62
+ #tagTrigger
63
+ >
64
+ @for (tag of visibleTags; track $index) {
65
+ <div
66
+ class="{{ 'tag_chip' + ' ' + tag.class }}"
67
+ [ngClass]="tag.tagValue | addClass: params.cellParams"
68
+ >
69
+ <!-- <span class="circle"></span>
70
+ <img src="images/home.svg" alt="" class="icon" /> -->
71
+
72
+ <div class="more_data_section">
73
+ <!-- <span class="textTruncate"> {{ tag.tagValue }}</span> -->
74
+ <div class="cell-value ellipsis">
75
+ <div class="more_data_wrapper textTruncate">
76
+ {{ tag.tagValue }}
77
+ </div>
78
+ <div class="see_more_data" id="table_scroll">
79
+ <div class="item">
80
+ <span class="desc"> {{ tag.tagValue }}</span>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ }
87
+ @if (hiddenCount > 0) {
88
+ <div class="hidden_list">
89
+ <span class="tag_more">+{{ hiddenCount }}</span>
90
+ @if (openDropdown) {
91
+ <div
92
+ class="tag_dropdown"
93
+ id="table_scroll"
94
+ adaptivePosition
95
+ [trigger]="tagTrigger"
96
+ [matchWidth]="false"
97
+ >
98
+ @for (tag of allTags; track $index) {
99
+ <div class="{{ 'dropdown_item' + ' ' + tag.class }}">
100
+ {{ tag.tagValue }}
101
+ </div>
102
+ }
103
+ </div>
104
+ }
105
+ </div>
106
+ }
107
+ </div>
108
+ }
109
+
110
+ @if (type === "link") {
111
+ <div class="more_data_section cell-value ellipsis">
112
+ @for (link of linkVal; track $index) {
113
+ <div class="more_data_wrapper textTruncate">
114
+ <span
115
+ class="grid-link"
116
+ (click)="linkSingleClick()"
117
+ (dblclick)="linkDoubleClick()"
118
+ >
119
+ {{ link?.linkValue }}
120
+ </span>
121
+ </div>
122
+ <div class="see_more_data" id="table_scroll">
123
+ <div class="item">
124
+ <span class="desc"> {{ link?.linkValue }}</span>
125
+ </div>
126
+ </div>
127
+ }
128
+ </div>
129
+ }