@ngbase/adk 0.1.11 → 0.1.12

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 (378) hide show
  1. package/a11y/index.d.ts +151 -5
  2. package/accordion/index.d.ts +44 -5
  3. package/autocomplete/index.d.ts +54 -5
  4. package/avatar/index.d.ts +25 -5
  5. package/bidi/index.d.ts +17 -5
  6. package/breadcrumb/index.d.ts +36 -5
  7. package/cache/index.d.ts +46 -5
  8. package/carousel/index.d.ts +79 -5
  9. package/checkbox/index.d.ts +33 -5
  10. package/chip/index.d.ts +28 -5
  11. package/clipboard/index.d.ts +11 -5
  12. package/collections/index.d.ts +23 -5
  13. package/color-picker/index.d.ts +119 -5
  14. package/cookies/index.d.ts +35 -5
  15. package/datepicker/index.d.ts +317 -5
  16. package/dialog/index.d.ts +63 -5
  17. package/drag/index.d.ts +107 -5
  18. package/fesm2022/ngbase-adk-a11y.mjs +100 -74
  19. package/fesm2022/ngbase-adk-a11y.mjs.map +1 -1
  20. package/fesm2022/ngbase-adk-accordion.mjs +31 -19
  21. package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
  22. package/fesm2022/ngbase-adk-autocomplete.mjs +17 -17
  23. package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
  24. package/fesm2022/ngbase-adk-avatar.mjs +16 -16
  25. package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
  26. package/fesm2022/ngbase-adk-bidi.mjs +6 -7
  27. package/fesm2022/ngbase-adk-bidi.mjs.map +1 -1
  28. package/fesm2022/ngbase-adk-breadcrumb.mjs +15 -15
  29. package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
  30. package/fesm2022/ngbase-adk-cache.mjs +3 -3
  31. package/fesm2022/ngbase-adk-carousel.mjs +24 -24
  32. package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
  33. package/fesm2022/ngbase-adk-checkbox.mjs +10 -10
  34. package/fesm2022/ngbase-adk-checkbox.mjs.map +1 -1
  35. package/fesm2022/ngbase-adk-chip.mjs +13 -13
  36. package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
  37. package/fesm2022/ngbase-adk-clipboard.mjs +27 -12
  38. package/fesm2022/ngbase-adk-clipboard.mjs.map +1 -1
  39. package/fesm2022/ngbase-adk-collections.mjs +5 -5
  40. package/fesm2022/ngbase-adk-collections.mjs.map +1 -1
  41. package/fesm2022/ngbase-adk-color-picker.mjs +39 -39
  42. package/fesm2022/ngbase-adk-color-picker.mjs.map +1 -1
  43. package/fesm2022/ngbase-adk-cookies.mjs +3 -3
  44. package/fesm2022/ngbase-adk-datepicker.mjs +107 -107
  45. package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
  46. package/fesm2022/ngbase-adk-dialog.mjs +39 -109
  47. package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
  48. package/fesm2022/ngbase-adk-drag.mjs +21 -22
  49. package/fesm2022/ngbase-adk-drag.mjs.map +1 -1
  50. package/fesm2022/ngbase-adk-form-field.mjs +206 -31
  51. package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
  52. package/fesm2022/ngbase-adk-hover-card.mjs +6 -6
  53. package/fesm2022/ngbase-adk-hover-card.mjs.map +1 -1
  54. package/fesm2022/ngbase-adk-icon.mjs +10 -10
  55. package/fesm2022/ngbase-adk-icon.mjs.map +1 -1
  56. package/fesm2022/ngbase-adk-inline-edit.mjs +29 -27
  57. package/fesm2022/ngbase-adk-inline-edit.mjs.map +1 -1
  58. package/fesm2022/ngbase-adk-jwt.mjs +6 -6
  59. package/fesm2022/ngbase-adk-keys.mjs +7 -8
  60. package/fesm2022/ngbase-adk-keys.mjs.map +1 -1
  61. package/fesm2022/ngbase-adk-layout.mjs +1 -1
  62. package/fesm2022/ngbase-adk-layout.mjs.map +1 -1
  63. package/fesm2022/ngbase-adk-list.mjs +10 -10
  64. package/fesm2022/ngbase-adk-list.mjs.map +1 -1
  65. package/fesm2022/ngbase-adk-mask.mjs +8 -8
  66. package/fesm2022/ngbase-adk-mask.mjs.map +1 -1
  67. package/fesm2022/ngbase-adk-menu.mjs +41 -41
  68. package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
  69. package/fesm2022/ngbase-adk-network.mjs +4 -4
  70. package/fesm2022/ngbase-adk-network.mjs.map +1 -1
  71. package/fesm2022/ngbase-adk-otp.mjs +19 -19
  72. package/fesm2022/ngbase-adk-otp.mjs.map +1 -1
  73. package/fesm2022/ngbase-adk-pagination.mjs +20 -20
  74. package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
  75. package/fesm2022/ngbase-adk-popover.mjs +28 -28
  76. package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
  77. package/fesm2022/ngbase-adk-portal.mjs +14 -15
  78. package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
  79. package/fesm2022/ngbase-adk-progress.mjs +8 -8
  80. package/fesm2022/ngbase-adk-progress.mjs.map +1 -1
  81. package/fesm2022/ngbase-adk-radio.mjs +15 -15
  82. package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
  83. package/fesm2022/ngbase-adk-resizable.mjs +19 -20
  84. package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
  85. package/fesm2022/ngbase-adk-scroll-area.mjs +31 -31
  86. package/fesm2022/ngbase-adk-scroll-area.mjs.map +1 -1
  87. package/fesm2022/ngbase-adk-select.mjs +73 -75
  88. package/fesm2022/ngbase-adk-select.mjs.map +1 -1
  89. package/fesm2022/ngbase-adk-selectable.mjs +9 -9
  90. package/fesm2022/ngbase-adk-selectable.mjs.map +1 -1
  91. package/fesm2022/ngbase-adk-sheet.mjs +9 -7
  92. package/fesm2022/ngbase-adk-sheet.mjs.map +1 -1
  93. package/fesm2022/ngbase-adk-sidenav.mjs +37 -37
  94. package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
  95. package/fesm2022/ngbase-adk-slider.mjs +26 -26
  96. package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
  97. package/fesm2022/ngbase-adk-sonner.mjs +11 -11
  98. package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
  99. package/fesm2022/ngbase-adk-stepper.mjs +28 -28
  100. package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
  101. package/fesm2022/ngbase-adk-switch.mjs +16 -16
  102. package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
  103. package/fesm2022/ngbase-adk-table.mjs +98 -78
  104. package/fesm2022/ngbase-adk-table.mjs.map +1 -1
  105. package/fesm2022/ngbase-adk-tabs.mjs +44 -44
  106. package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
  107. package/fesm2022/ngbase-adk-toggle-group.mjs +15 -15
  108. package/fesm2022/ngbase-adk-toggle-group.mjs.map +1 -1
  109. package/fesm2022/ngbase-adk-toggle.mjs +4 -4
  110. package/fesm2022/ngbase-adk-toggle.mjs.map +1 -1
  111. package/fesm2022/ngbase-adk-tooltip.mjs +15 -15
  112. package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
  113. package/fesm2022/ngbase-adk-tour.mjs +28 -28
  114. package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
  115. package/fesm2022/ngbase-adk-translate.mjs +13 -13
  116. package/fesm2022/ngbase-adk-translate.mjs.map +1 -1
  117. package/fesm2022/ngbase-adk-tree.mjs +27 -27
  118. package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
  119. package/fesm2022/ngbase-adk-utils.mjs +43 -20
  120. package/fesm2022/ngbase-adk-utils.mjs.map +1 -1
  121. package/fesm2022/ngbase-adk-virtualizer.mjs +20 -20
  122. package/fesm2022/ngbase-adk-virtualizer.mjs.map +1 -1
  123. package/form-field/index.d.ts +95 -5
  124. package/hover-card/index.d.ts +21 -5
  125. package/icon/index.d.ts +28 -5
  126. package/index.d.ts +2 -5
  127. package/inline-edit/index.d.ts +53 -5
  128. package/jwt/index.d.ts +20 -5
  129. package/keys/index.d.ts +54 -5
  130. package/layout/index.d.ts +20 -5
  131. package/list/index.d.ts +34 -5
  132. package/mask/index.d.ts +33 -5
  133. package/menu/index.d.ts +145 -5
  134. package/network/index.d.ts +29 -5
  135. package/otp/index.d.ts +51 -5
  136. package/package.json +51 -51
  137. package/pagination/index.d.ts +35 -5
  138. package/popover/index.d.ts +212 -5
  139. package/portal/index.d.ts +113 -5
  140. package/progress/index.d.ts +17 -5
  141. package/radio/index.d.ts +45 -5
  142. package/resizable/index.d.ts +73 -5
  143. package/schematics/components/files/accordion/accordion.ts.template +2 -2
  144. package/schematics/components/files/autocomplete/autocomplete.ts.template +1 -0
  145. package/schematics/components/files/avatar/avatar.ts.template +12 -4
  146. package/schematics/components/files/button/button.ts.template +32 -13
  147. package/schematics/components/files/command/command.ts.template +10 -9
  148. package/schematics/components/files/datepicker/datepicker-llm.md.template +15 -2
  149. package/schematics/components/files/dialog/dialog.ts.template +9 -2
  150. package/schematics/components/files/drawer/drawer.ts.template +1 -1
  151. package/schematics/components/files/form-field/form-field.ts.template +10 -1
  152. package/schematics/components/files/form-field/input-style.directive.ts.template +1 -1
  153. package/schematics/components/files/icon/icon-llm.md.template +0 -1
  154. package/schematics/components/files/inline-edit/inline-edit.ts.template +2 -2
  155. package/schematics/components/files/otp/otp.ts.template +1 -1
  156. package/schematics/components/files/picasa/picasa-base.component.ts.template +1 -2
  157. package/schematics/components/files/picasa/picasa.component.ts.template +4 -4
  158. package/schematics/components/files/select/select.ts.template +5 -18
  159. package/schematics/components/files/sheet/sheet.ts.template +1 -1
  160. package/schematics/components/files/sidenav/sidenav-llm.md.template +0 -1
  161. package/schematics/components/files/spinner/spinner.ts.template +1 -29
  162. package/scroll-area/index.d.ts +60 -5
  163. package/select/index.d.ts +177 -5
  164. package/selectable/index.d.ts +32 -5
  165. package/sheet/index.d.ts +44 -5
  166. package/sidenav/index.d.ts +74 -5
  167. package/slider/index.d.ts +79 -5
  168. package/sonner/index.d.ts +50 -5
  169. package/stepper/index.d.ts +54 -5
  170. package/switch/index.d.ts +47 -5
  171. package/table/index.d.ts +143 -5
  172. package/tabs/index.d.ts +85 -5
  173. package/test/index.d.ts +81 -5
  174. package/toggle/index.d.ts +16 -5
  175. package/toggle-group/index.d.ts +39 -5
  176. package/tooltip/index.d.ts +60 -5
  177. package/tour/index.d.ts +70 -5
  178. package/translate/index.d.ts +58 -5
  179. package/tree/index.d.ts +95 -5
  180. package/utils/index.d.ts +82 -5
  181. package/virtualizer/index.d.ts +45 -5
  182. package/a11y/accessibility-group.d.ts +0 -46
  183. package/a11y/accessibility-item.d.ts +0 -49
  184. package/a11y/accessibility.service.d.ts +0 -17
  185. package/a11y/autofocus.d.ts +0 -18
  186. package/a11y/focus-trap.d.ts +0 -15
  187. package/a11y/public-api.d.ts +0 -4
  188. package/accordion/accordion-content.d.ts +0 -8
  189. package/accordion/accordion-group.d.ts +0 -10
  190. package/accordion/accordion-header.d.ts +0 -7
  191. package/accordion/accordion-item.d.ts +0 -16
  192. package/accordion/public-api.d.ts +0 -4
  193. package/autocomplete/autocomplete-input.d.ts +0 -19
  194. package/autocomplete/autocomplete.d.ts +0 -34
  195. package/autocomplete/public-api.d.ts +0 -2
  196. package/avatar/avatar.d.ts +0 -22
  197. package/avatar/public-api.d.ts +0 -1
  198. package/bidi/direction.service.d.ts +0 -14
  199. package/bidi/public-api.d.ts +0 -1
  200. package/breadcrumb/breadcrumb-link.d.ts +0 -7
  201. package/breadcrumb/breadcrumb-separator.d.ts +0 -6
  202. package/breadcrumb/breadcrumb.d.ts +0 -12
  203. package/breadcrumb/breadcrumbs.d.ts +0 -9
  204. package/breadcrumb/public-api.d.ts +0 -4
  205. package/cache/cache-config.d.ts +0 -22
  206. package/cache/cache.d.ts +0 -17
  207. package/cache/cache.interecptor.d.ts +0 -2
  208. package/cache/public-api.d.ts +0 -3
  209. package/carousel/carousel-item.d.ts +0 -7
  210. package/carousel/carousel-next.d.ts +0 -8
  211. package/carousel/carousel.d.ts +0 -61
  212. package/carousel/public-api.d.ts +0 -3
  213. package/checkbox/checkbox.d.ts +0 -30
  214. package/checkbox/public-api.d.ts +0 -1
  215. package/chip/chip-group.d.ts +0 -7
  216. package/chip/chip.d.ts +0 -19
  217. package/chip/public-api.d.ts +0 -2
  218. package/clipboard/clipboard.d.ts +0 -7
  219. package/clipboard/public-api.d.ts +0 -1
  220. package/collections/SelectionModel.d.ts +0 -19
  221. package/collections/public-api.d.ts +0 -1
  222. package/color-picker/color-input.d.ts +0 -16
  223. package/color-picker/color-picker-trigger.d.ts +0 -30
  224. package/color-picker/color-picker.d.ts +0 -72
  225. package/color-picker/public-api.d.ts +0 -3
  226. package/color-picker/utils.d.ts +0 -21
  227. package/cookies/cookie.service.d.ts +0 -32
  228. package/cookies/public-api.d.ts +0 -1
  229. package/datepicker/calendar.d.ts +0 -121
  230. package/datepicker/datepicker-trigger.d.ts +0 -66
  231. package/datepicker/datepicker.d.ts +0 -55
  232. package/datepicker/native-date-adapter.d.ts +0 -33
  233. package/datepicker/public-api.d.ts +0 -5
  234. package/datepicker/time.d.ts +0 -42
  235. package/dialog/dialog.animation.d.ts +0 -3
  236. package/dialog/dialog.d.ts +0 -49
  237. package/dialog/dialog.service.d.ts +0 -7
  238. package/dialog/public-api.d.ts +0 -3
  239. package/drag/drag-drop.d.ts +0 -37
  240. package/drag/drag-move.d.ts +0 -17
  241. package/drag/drag.d.ts +0 -52
  242. package/drag/public-api.d.ts +0 -3
  243. package/form-field/auto-height.d.ts +0 -9
  244. package/form-field/error.d.ts +0 -18
  245. package/form-field/form-field.d.ts +0 -14
  246. package/form-field/input.d.ts +0 -16
  247. package/form-field/label.d.ts +0 -7
  248. package/form-field/public-api.d.ts +0 -5
  249. package/hover-card/hover-card.d.ts +0 -18
  250. package/hover-card/public-api.d.ts +0 -1
  251. package/icon/icon.d.ts +0 -12
  252. package/icon/icon.service.d.ts +0 -12
  253. package/icon/public-api.d.ts +0 -2
  254. package/inline-edit/inline-edit.d.ts +0 -47
  255. package/inline-edit/public-api.d.ts +0 -1
  256. package/jwt/jwt.service.d.ts +0 -27
  257. package/jwt/public-api.d.ts +0 -1
  258. package/keys/keys.service.d.ts +0 -13
  259. package/keys/public-api.d.ts +0 -2
  260. package/keys/shortcuts.service.d.ts +0 -38
  261. package/layout/layout.d.ts +0 -16
  262. package/layout/public-api.d.ts +0 -1
  263. package/list/list.d.ts +0 -20
  264. package/list/list.directive.d.ts +0 -12
  265. package/list/public-api.d.ts +0 -2
  266. package/mask/mask-pipe.d.ts +0 -7
  267. package/mask/mask.d.ts +0 -24
  268. package/mask/public-api.d.ts +0 -2
  269. package/menu/context-menu.d.ts +0 -21
  270. package/menu/mention.d.ts +0 -18
  271. package/menu/menu-trigger.d.ts +0 -34
  272. package/menu/menu.d.ts +0 -58
  273. package/menu/navigation-menu.d.ts +0 -19
  274. package/menu/public-api.d.ts +0 -5
  275. package/network/network.interceptor.d.ts +0 -6
  276. package/network/network.service.d.ts +0 -18
  277. package/network/public-api.d.ts +0 -2
  278. package/otp/otp.d.ts +0 -48
  279. package/otp/public-api.d.ts +0 -1
  280. package/pagination/pagination.d.ts +0 -32
  281. package/pagination/public-api.d.ts +0 -1
  282. package/popover/base-popover.service.d.ts +0 -16
  283. package/popover/popover-arrow.ng.d.ts +0 -34
  284. package/popover/popover-trigger.d.ts +0 -21
  285. package/popover/popover.d.ts +0 -60
  286. package/popover/popover.service.d.ts +0 -43
  287. package/popover/public-api.d.ts +0 -6
  288. package/popover/utils.d.ts +0 -69
  289. package/portal/dialog-ref.d.ts +0 -70
  290. package/portal/portal-base.service.d.ts +0 -19
  291. package/portal/portal-close.directive.d.ts +0 -9
  292. package/portal/portal.component.d.ts +0 -7
  293. package/portal/portal.service.d.ts +0 -16
  294. package/portal/public-api.d.ts +0 -5
  295. package/progress/progress.d.ts +0 -13
  296. package/progress/public-api.d.ts +0 -1
  297. package/public-api.d.ts +0 -2
  298. package/radio/public-api.d.ts +0 -2
  299. package/radio/radio-group.d.ts +0 -19
  300. package/radio/radio.d.ts +0 -26
  301. package/resizable/public-api.d.ts +0 -2
  302. package/resizable/resizable-group.d.ts +0 -22
  303. package/resizable/resizable.d.ts +0 -50
  304. package/scroll-area/public-api.d.ts +0 -1
  305. package/scroll-area/scroll-area.d.ts +0 -56
  306. package/select/list-selection.d.ts +0 -7
  307. package/select/option-group.d.ts +0 -7
  308. package/select/option.d.ts +0 -25
  309. package/select/public-api.d.ts +0 -6
  310. package/select/select-base.d.ts +0 -66
  311. package/select/select-input.d.ts +0 -23
  312. package/select/select.d.ts +0 -53
  313. package/selectable/public-api.d.ts +0 -2
  314. package/selectable/selectable-item.d.ts +0 -12
  315. package/selectable/selectable.d.ts +0 -19
  316. package/sheet/public-api.d.ts +0 -2
  317. package/sheet/sheet.d.ts +0 -26
  318. package/sheet/sheet.service.d.ts +0 -13
  319. package/sidenav/public-api.d.ts +0 -3
  320. package/sidenav/sidenav-header.d.ts +0 -31
  321. package/sidenav/sidenav.d.ts +0 -23
  322. package/sidenav/sidenav.service.d.ts +0 -18
  323. package/slider/public-api.d.ts +0 -1
  324. package/slider/slider.d.ts +0 -76
  325. package/sonner/public-api.d.ts +0 -2
  326. package/sonner/sonner.d.ts +0 -25
  327. package/sonner/sonner.service.d.ts +0 -21
  328. package/stepper/animation.d.ts +0 -1
  329. package/stepper/public-api.d.ts +0 -3
  330. package/stepper/step.d.ts +0 -24
  331. package/stepper/stepper.d.ts +0 -26
  332. package/switch/public-api.d.ts +0 -1
  333. package/switch/switch.d.ts +0 -44
  334. package/table/body-cell.d.ts +0 -11
  335. package/table/body-row.d.ts +0 -25
  336. package/table/column.d.ts +0 -10
  337. package/table/head-cell.d.ts +0 -12
  338. package/table/head-row.d.ts +0 -24
  339. package/table/public-api.d.ts +0 -8
  340. package/table/sort.d.ts +0 -40
  341. package/table/table.d.ts +0 -38
  342. package/tabs/public-api.d.ts +0 -2
  343. package/tabs/tab-group.d.ts +0 -52
  344. package/tabs/tab.d.ts +0 -31
  345. package/test/public-api.d.ts +0 -1
  346. package/test/utils.d.ts +0 -78
  347. package/toggle/public-api.d.ts +0 -1
  348. package/toggle/toggle.d.ts +0 -13
  349. package/toggle-group/public-api.d.ts +0 -2
  350. package/toggle-group/toggle-group.d.ts +0 -25
  351. package/toggle-group/toggle-item.d.ts +0 -14
  352. package/tooltip/public-api.d.ts +0 -2
  353. package/tooltip/tooltip.d.ts +0 -24
  354. package/tooltip/tooltip.directive.d.ts +0 -34
  355. package/tooltip/tooltip.service.d.ts +0 -28
  356. package/tour/animation.d.ts +0 -2
  357. package/tour/public-api.d.ts +0 -5
  358. package/tour/tour-base.d.ts +0 -21
  359. package/tour/tour-step.d.ts +0 -11
  360. package/tour/tour.d.ts +0 -9
  361. package/tour/tour.service.d.ts +0 -29
  362. package/translate/config.d.ts +0 -16
  363. package/translate/public-api.d.ts +0 -3
  364. package/translate/translate.d.ts +0 -11
  365. package/translate/translate.service.d.ts +0 -31
  366. package/tree/public-api.d.ts +0 -3
  367. package/tree/tree-node.d.ts +0 -28
  368. package/tree/tree-toggle.d.ts +0 -16
  369. package/tree/tree.d.ts +0 -55
  370. package/utils/animation.d.ts +0 -3
  371. package/utils/disposals.d.ts +0 -7
  372. package/utils/number-only.d.ts +0 -22
  373. package/utils/public-api.d.ts +0 -6
  374. package/utils/range.pipe.d.ts +0 -7
  375. package/utils/ssr.d.ts +0 -2
  376. package/utils/utils.d.ts +0 -28
  377. package/virtualizer/public-api.d.ts +0 -1
  378. package/virtualizer/virtualizer.d.ts +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"ngbase-adk-color-picker.mjs","sources":["../../../projects/adk/color-picker/utils.ts","../../../projects/adk/color-picker/color-picker.ts","../../../projects/adk/color-picker/color-picker-trigger.ts","../../../projects/adk/color-picker/color-input.ts","../../../projects/adk/color-picker/public-api.ts","../../../projects/adk/color-picker/ngbase-adk-color-picker.ts"],"sourcesContent":["const MAX_RGB = 255;\nconst MAX_HUE = 360;\nconst MAX_PERCENTAGE = 100;\n\nexport function hexToRgb(hex: string): [number, number, number, number] {\n // Remove the hash at the start if it's there\n hex = hex.replace(/^#/, '');\n\n // Check for valid hex formats\n if (!/^([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(hex)) {\n throw new Error('Invalid hex color format');\n }\n\n let r: number,\n g: number,\n b: number,\n a: number = 1;\n\n if (hex.length === 3 || hex.length === 4) {\n r = parseInt(hex[0] + hex[0], 16);\n g = parseInt(hex[1] + hex[1], 16);\n b = parseInt(hex[2] + hex[2], 16);\n if (hex.length === 4) {\n a = parseInt(hex[3] + hex[3], 16) / 255;\n }\n } else if (hex.length === 6 || hex.length === 8) {\n r = parseInt(hex.slice(0, 2), 16);\n g = parseInt(hex.slice(2, 4), 16);\n b = parseInt(hex.slice(4, 6), 16);\n if (hex.length === 8) {\n a = parseInt(hex.slice(6, 8), 16) / 255;\n }\n } else {\n throw new Error('Invalid hex color format');\n }\n\n return [r, g, b, roundTo2Decimals(a)];\n}\n\nexport function rgbaToHsb(\n r: number,\n g: number,\n b: number,\n a: number = 1,\n): { h: number; s: number; b: number; a: number } {\n validateRgba(r, g, b, a);\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n const v = max;\n\n if (max !== min) {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {\n h: roundNum(h * 360),\n s: roundNum(s * 100),\n b: roundNum(v * 100),\n a: roundTo2Decimals(a),\n };\n}\n\nexport function hexToHsb(hex: string): [number, number, number, number] {\n const [r, g, b, a] = hexToRgb(hex);\n const { h, s, b: brightness, a: alpha } = rgbaToHsb(r, g, b, a);\n return [roundNum(h), roundNum(s), roundNum(brightness), roundTo2Decimals(alpha)];\n}\n\nexport function rgbToHsl(r: number, g: number, b: number): { h: number; s: number; l: number } {\n validateRgb(r, g, b);\n\n r /= MAX_RGB;\n g /= MAX_RGB;\n b /= MAX_RGB;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n let s = 0;\n const l = (max + min) / 2;\n const d = max - min;\n\n if (d) {\n s = d / (1 - Math.abs(2 * l - 1));\n switch (max) {\n case r:\n h = ((g - b) / d + (g < b ? 6 : 0)) / 6;\n break;\n case g:\n h = ((b - r) / d + 2) / 6;\n break;\n case b:\n h = ((r - g) / d + 4) / 6;\n break;\n }\n }\n\n return {\n h: roundNum(h * MAX_HUE),\n s: roundNum(s * MAX_PERCENTAGE),\n l: roundNum(l * MAX_PERCENTAGE),\n };\n}\n\nexport function parseRgba(rgba: string): [number, number, number, number] {\n const matches = rgba.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\n if (!matches) {\n throw new Error('Invalid RGBA string format');\n }\n const [, r, g, b, a] = matches;\n return [parseInt(r, 10), parseInt(g, 10), parseInt(b, 10), a ? parseFloat(a) : 1];\n}\n\nexport function parseHsba(hsb: string): [number, number, number, number] {\n const matches = hsb.match(/^hsba?\\((\\d+),\\s*(\\d+)%,\\s*(\\d+)%(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\n if (!matches) {\n throw new Error('Invalid HSBA string format');\n }\n const [, h, s, b, a] = matches;\n return [parseInt(h, 10), parseInt(s, 10), parseInt(b, 10), a ? parseFloat(a) : 1];\n}\n\nexport function hsbToHsl(h: number, s: number, b: number): [number, number, number] {\n validateHsb(h, s, b);\n\n s /= MAX_PERCENTAGE;\n b /= MAX_PERCENTAGE;\n\n const l = b * (1 - s / 2);\n const saturation = l === 0 || l === 1 ? 0 : (b - l) / Math.min(l, 1 - l);\n\n return [roundNum(h), roundNum(saturation * MAX_PERCENTAGE), roundNum(l * MAX_PERCENTAGE)];\n}\n\nexport function hslaToHsba(\n h: number,\n s: number,\n l: number,\n a: number = 1,\n): [number, number, number, number] {\n validateHsl(h, s, l);\n validateAlpha(a);\n\n s /= MAX_PERCENTAGE;\n l /= MAX_PERCENTAGE;\n\n const brightness = l + s * Math.min(l, 1 - l);\n const saturation = brightness === 0 ? 0 : 2 * (1 - l / brightness);\n\n return [\n roundNum(h),\n roundNum(saturation * MAX_PERCENTAGE),\n roundNum(brightness * MAX_PERCENTAGE),\n roundTo2Decimals(a),\n ];\n}\n\nexport function hsbaToRgba(\n h: number,\n s: number,\n b: number,\n a: number = 1,\n): [number, number, number, number] {\n validateHsb(h, s, b);\n validateAlpha(a);\n\n s /= MAX_PERCENTAGE;\n b /= MAX_PERCENTAGE;\n\n const k = (n: number) => (n + h / 60) % 6;\n const f = (n: number) => b * (1 - s * Math.max(0, Math.min(k(n), 4 - k(n), 1)));\n\n return [\n roundNum(f(5) * MAX_RGB),\n roundNum(f(3) * MAX_RGB),\n roundNum(f(1) * MAX_RGB),\n roundTo2Decimals(a),\n ];\n}\n\nexport function rgbToHsba(\n r: number,\n g: number,\n b: number,\n a: number = 1,\n): [number, number, number, number] {\n const { h, s, b: br, a: alpha } = rgbaToHsb(r, g, b, a);\n return [h, s, br, alpha];\n}\n\nexport function hsbaToHex(h: number, s: number, b: number, a: number = 1): string {\n const [r, g, b_, a_] = hsbaToRgba(h, s, b, a);\n return rgbToHex(r, g, b_, a_);\n}\n\nexport function rgbToHex(r: number, g: number, b: number, a: number = 1): string {\n validateRgb(r, g, b);\n validateAlpha(a);\n\n let rgba = [r, g, b];\n if (a < 1) {\n rgba.push(Math.round(a * 255));\n }\n\n return (\n '#' +\n rgba\n .map(x => Math.round(x).toString(16).padStart(2, '0'))\n .join('')\n .toUpperCase()\n );\n}\n\nfunction validateRgb(r: number, g: number, b: number): void {\n if (r < 0 || r > MAX_RGB || g < 0 || g > MAX_RGB || b < 0 || b > MAX_RGB) {\n throw new Error('Invalid RGB values');\n }\n}\n\nfunction validateRgba(r: number, g: number, b: number, a: number): void {\n validateRgb(r, g, b);\n validateAlpha(a);\n}\n\nfunction validateHsb(h: number, s: number, b: number): void {\n if (h < 0 || h > MAX_HUE || s < 0 || s > MAX_PERCENTAGE || b < 0 || b > MAX_PERCENTAGE) {\n throw new Error('Invalid HSB values');\n }\n}\n\nfunction validateHsl(h: number, s: number, l: number): void {\n if (h < 0 || h >= MAX_HUE || s < 0 || s > MAX_PERCENTAGE || l < 0 || l > MAX_PERCENTAGE) {\n throw new Error('Invalid HSL values');\n }\n}\n\nfunction validateAlpha(a: number): void {\n if (a < 0 || a > 1) {\n throw new Error('Invalid alpha value');\n }\n}\n\nfunction roundNum(num: number): number {\n return Math.round(num);\n}\n\nfunction roundTo2Decimals(num: number): number {\n return Math.round(num * 100) / 100;\n}\n","import {\n afterNextRender,\n Component,\n Directive,\n ElementRef,\n inject,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { Drag } from '@ngbase/adk/drag';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport {\n hexToHsb,\n hsbaToHex,\n hsbaToRgba,\n hsbToHsl,\n hslaToHsba,\n parseHsba,\n parseRgba,\n rgbToHsba,\n} from './utils';\n\nexport type ColorFormat = 'hex' | 'rgb' | 'hsl' | 'hsb';\n\n@Directive({\n selector: '[ngbColorSpectrum]',\n hostDirectives: [Drag],\n host: {\n style:\n 'background-image: linear-gradient(0deg, rgb(0, 0, 0), transparent), linear-gradient(90deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)); background-color: var(--hue-color);',\n },\n})\nexport class ColorSpectrum {}\n\n@Directive({\n selector: '[ngbColorSpectrumSelector]',\n host: {\n type: 'button',\n },\n})\nexport class ColorSpectrumSelector {}\n\n@Directive({ selector: '[ngbColorSelected]' })\nexport class ColorSelected {}\n\n@Directive({\n selector: '[ngbColorHue]',\n hostDirectives: [Drag],\n host: {\n style:\n 'inset: 0px; background: linear-gradient(to right, rgb(255, 0, 0), rgb(255, 255, 0), rgb(0, 255, 0), rgb(0, 255, 255), rgb(0, 0, 255), rgb(255, 0, 255), rgb(255, 0, 0));',\n },\n})\nexport class ColorHue {}\n\n@Directive({\n selector: '[ngbColorHueThumb]',\n host: {\n type: 'button',\n },\n})\nexport class ColorHueThumb {}\n\n@Component({\n selector: '[ngbColorAlpha]',\n hostDirectives: [Drag],\n template: ` <div\n style=\"height: 100%; inset: 0px; background: linear-gradient(to right, rgba(255, 0, 4, 0), var(--hue-color));\"\n >\n <ng-content />\n </div>`,\n host: {\n style: `\n background-image: conic-gradient(\n rgba(0, 0, 0, 0.06) 0 25%,\n transparent 0 50%,\n rgba(0, 0, 0, 0.06) 0 75%,\n transparent 0\n );\n background-size: 8px 8px;\n `,\n },\n})\nexport class ColorAlpha {}\n\n@Directive({\n selector: '[ngbColorAlphaThumb]',\n host: {\n type: 'button',\n },\n})\nexport class ColorAlphaThumb {}\n\n@Directive({\n selector: 'ngb-color-picker-container',\n host: {\n style: `\n --hue-color: rgb(255, 0, 0);\n --spectrum-color: rgb(0, 0, 0);\n `,\n },\n})\nexport class NgbColorPicker {\n private readonly el = inject(ElementRef);\n private readonly dialogRef = inject(DialogRef, { optional: true });\n private readonly hueDiv = viewChild.required<ColorHue, Drag>(ColorHue, { read: Drag });\n private readonly hueSelector = viewChild.required<ColorHueThumb, ElementRef<HTMLButtonElement>>(\n ColorHueThumb,\n { read: ElementRef },\n );\n\n private readonly spectrumDiv = viewChild.required<ColorSpectrum, Drag>(ColorSpectrum, {\n read: Drag,\n });\n private readonly spectrumSelector = viewChild.required<\n ColorSpectrumSelector,\n ElementRef<HTMLButtonElement>\n >(ColorSpectrumSelector, { read: ElementRef });\n\n private readonly selectedColor = viewChild.required<ColorSelected, ElementRef<HTMLDivElement>>(\n ColorSelected,\n { read: ElementRef },\n );\n\n private alpha = 100; // 0-100\n private readonly alphaDiv = viewChild.required<ColorAlpha, Drag>(ColorAlpha, { read: Drag });\n private readonly alphaSelector = viewChild.required<\n ColorAlphaThumb,\n ElementRef<HTMLButtonElement>\n >(ColorAlphaThumb, { read: ElementRef });\n\n readonly valueChange = output<string>();\n readonly format = input<ColorFormat>(this.dialogRef?.data.format || 'hex');\n readonly presetColors = input<string[]>(this.dialogRef?.data.presetColors || []);\n\n private hue = 0;\n private saturation = 0;\n private brightness = 0;\n private lastSpectrumEvent?: MouseEvent;\n private localValue = '';\n\n private colorParsers = new Map<ColorFormat, (value: string) => [number, number, number, number]>([\n ['hsb', parseHsba],\n ['hex', hexToHsb],\n ['rgb', (value: string) => rgbToHsba(...parseRgba(value))],\n ['hsl', (value: string) => hslaToHsba(...parseHsba(value))],\n ]);\n\n constructor() {\n afterNextRender(() => {\n this.setupEventListeners();\n });\n }\n\n private calculateCoordinates(e: MouseEvent, el: ElementRef) {\n const rect = el.nativeElement.getBoundingClientRect();\n\n let x = Math.round(e.clientX - rect.left);\n let y = Math.round(e.clientY - rect.top);\n\n // Constrain x and y within the bounds of the spectrum box\n x = Math.max(0, Math.min(x, rect.width));\n y = Math.max(0, Math.min(y, rect.height));\n return { x, y, rect };\n }\n\n private setupEventListeners() {\n this.setupDragListener(this.hueDiv(), (x, y, w, h) => this.updateHue(x, 0, w, h));\n this.setupDragListener(this.spectrumDiv(), this.updateSpectrum.bind(this));\n this.setupDragListener(this.alphaDiv(), (x, y, w) => this.updateAlpha(x, 0, w));\n }\n\n private setupDragListener(\n dragElement: Drag,\n updateFunction: (x: number, y: number, width: number, height: number) => void,\n ) {\n dragElement.events.subscribe(event => {\n if (event.type === 'start' || event.type === 'move') {\n this.handleColorEvent(event.event! as PointerEvent, dragElement.el, updateFunction);\n // If we want to avoid emitting the value on every move,\n // we can add a flag to emit only when the event is 'end'\n this.valueChange.emit(this.localValue);\n }\n });\n }\n\n private handleColorEvent(\n event: PointerEvent,\n element: ElementRef,\n updateFunction: (x: number, y: number, width: number, height: number) => void,\n ) {\n const { x, y, rect } = this.calculateCoordinates(event, element);\n updateFunction(x, y, rect.width, rect.height);\n this.updateValue();\n }\n\n private updateHue(x: number, y: number, width: number, height: number) {\n this.hue = Math.round((x / width) * 360);\n this.el.nativeElement.style.setProperty('--hue-color', `hsl(${this.hue}, 100%, 50%)`);\n const hueSelector = this.hueSelector()!.nativeElement;\n hueSelector.style.left = `${x}px`;\n if (this.lastSpectrumEvent) this.updateValue();\n }\n\n private updateSpectrum(x: number, y: number, width: number, height: number) {\n const { s, b } = this.calculateSaturationAndLuminous(x, y!, width, height);\n this.saturation = s;\n this.brightness = b;\n this.lastSpectrumEvent = { clientX: x, clientY: y } as PointerEvent;\n const spectrumSelector = this.spectrumSelector()!.nativeElement;\n spectrumSelector.style.left = `${x - spectrumSelector.offsetWidth / 2}px`;\n spectrumSelector.style.top = `${y! - spectrumSelector.offsetHeight / 2}px`;\n }\n\n private updateAlpha(x: number, y: number, width: number) {\n this.alpha = Math.round((x / width) * 100);\n const alphaSelector = this.alphaSelector()!.nativeElement;\n alphaSelector.style.left = `${x}px`;\n }\n\n setValue(value: string, emit = false): void {\n if (!value) return;\n this.parse(value);\n this.updateValue(emit);\n this.el.nativeElement.style.setProperty('--hue-color', this.getColor(this.hue, 100, 100, 100));\n this.updateSelectorPositions();\n }\n\n private updateSelectorPositions() {\n this.updateSelectorPosition(this.hueDiv().el, this.hueSelector(), this.hue / 360);\n this.updateSelectorPosition(this.alphaDiv().el, this.alphaSelector(), this.alpha / 100);\n this.updateSpectrumSelectorPosition();\n }\n\n private updateSelectorPosition(\n containerEl: ElementRef<HTMLElement>,\n selectorEl: ElementRef<HTMLButtonElement>,\n ratio: number,\n ) {\n selectorEl.nativeElement.style.left = ratio * containerEl.nativeElement.clientWidth + 'px';\n }\n\n private updateSpectrumSelectorPosition() {\n const spectrumRect = this.spectrumDiv().el.nativeElement.getBoundingClientRect();\n const spectrumSelector = this.spectrumSelector()!.nativeElement;\n const { x, y } = this.calculateSpectrumPosition(\n this.saturation,\n this.brightness,\n spectrumRect.width,\n spectrumRect.height,\n );\n spectrumSelector.style.left = `${x}px`;\n spectrumSelector.style.top = `${y}px`;\n }\n\n // Simplified function to calculate the x and y based on the saturation and lightness\n private calculateSpectrumPosition(\n s: number,\n l: number,\n spectrumWidth: number,\n spectrumHeight: number,\n ): { x: number; y: number } {\n const handlerSize = 16;\n const half = handlerSize / 2;\n const x = (spectrumWidth * s) / 100 - half;\n const y = (spectrumHeight * (100 - l)) / 100 - half;\n return { x, y };\n }\n\n private calculateSaturationAndLuminous(\n x: number,\n y: number,\n sw: number,\n sh: number,\n ): { s: number; b: number } {\n const s = Math.round((x / sw) * 100);\n const b = Math.round(100 - (y / sh) * 100);\n return { s, b };\n }\n\n private updateValue(emit = false) {\n this.localValue = this.toString();\n const hsla = this.getColor(this.hue, this.saturation, this.brightness, this.alpha);\n this.el.nativeElement.style.setProperty('--spectrum-color', hsla);\n this.selectedColor()!.nativeElement.style.backgroundColor = hsla;\n this.spectrumSelector()!.nativeElement.style.backgroundColor = hsla;\n if (emit) this.valueChange.emit(this.localValue);\n }\n\n private getColor(h: number, s: number, b: number, a: number) {\n const [hh, ss, l] = hsbToHsl(h, s, b);\n return `hsla(${hh}, ${ss}%, ${l}%, ${a / 100})`;\n }\n\n private parse(value: string) {\n const parser = this.colorParsers.get(this.format());\n if (parser) {\n [this.hue, this.saturation, this.brightness, this.alpha] = parser(value);\n this.alpha = Math.round(this.alpha * 100);\n }\n }\n\n private toString() {\n const alpha = this.alpha / 100;\n const formatters = {\n hsb: () => `hsba(${this.hue}, ${this.saturation}%, ${this.brightness}%, ${alpha})`,\n hex: () => hsbaToHex(this.hue, this.saturation, this.brightness, alpha),\n rgb: () => {\n const [r, g, b, a] = hsbaToRgba(this.hue, this.saturation, this.brightness, alpha);\n return a === 1 ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`;\n },\n hsl: () => {\n const [h, s, l] = hsbToHsl(this.hue, this.saturation, this.brightness);\n return `hsla(${h}, ${s}%, ${l}%, ${alpha})`;\n },\n };\n return formatters[this.format()]?.() || '';\n }\n}\n","import {\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n InjectionToken,\n Injector,\n input,\n model,\n untracked,\n} from '@angular/core';\nimport { ngbPopoverPortal } from '@ngbase/adk/popover';\nimport { provideValueAccessor } from '@ngbase/adk/utils';\nimport { NgbColorInput } from './color-input';\nimport { ColorFormat, NgbColorPicker } from './color-picker';\n\nconst ColorPicker = new InjectionToken<typeof NgbColorPicker>('ColorPicker');\n\ninterface ColorPickerOptions {\n picker: typeof NgbColorPicker;\n accessor: typeof NgbColorInput;\n}\n\nexport const registerColorPicker = ({ picker, accessor }: ColorPickerOptions) => [\n { provide: ColorPicker, useValue: picker },\n provideValueAccessor(accessor),\n];\n\n@Directive({\n selector: '[ngbColorPickerTrigger]',\n host: {\n '(click)': 'open()',\n },\n})\nexport class ColorPickerTrigger {\n private el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private colorPicker =\n inject<typeof NgbColorPicker>(ColorPicker, { optional: true }) ?? NgbColorPicker;\n private popover = ngbPopoverPortal();\n private injector = inject(Injector);\n\n readonly format = input<ColorFormat>('hex');\n readonly presetColors = input<string[]>();\n readonly value = model<string>();\n effectRef?: EffectRef;\n\n open() {\n const { childSignal } = this.popover.open(this.colorPicker, {\n target: this.el.nativeElement,\n position: 'bl',\n offset: 0,\n data: { format: this.format(), presetColors: this.presetColors() },\n width: '255px',\n });\n this.effectRef?.destroy();\n\n this.effectRef = effect(\n () => {\n const colorPicker = childSignal()?.instance as NgbColorPicker;\n if (colorPicker) {\n untracked(() => {\n colorPicker.setValue(this.value() || '#000000');\n colorPicker.valueChange.subscribe(res => {\n this.value.set(res);\n });\n });\n }\n },\n { injector: this.injector },\n );\n }\n}\n","import { Directive, input, model } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { provideValueAccessor } from '@ngbase/adk/utils';\nimport { ColorFormat } from './color-picker';\n\n@Directive({\n selector: '[ngbColorInput]',\n providers: [provideValueAccessor(NgbColorInput)],\n})\nexport class NgbColorInput implements ControlValueAccessor {\n readonly format = input<ColorFormat>('hex');\n readonly presetColors = input<string[]>();\n readonly value = model<string>('');\n\n onChange = (_: string) => {};\n onTouched = () => {};\n\n updateValue(value = ''): void {\n this.value.set(value);\n this.onChange(value);\n this.onTouched();\n }\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n","/*\n * Public API Surface of color-picker\n */\n\nexport * from './color-picker';\nexport * from './color-picker-trigger';\nexport * from './color-input';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngbase-adk-color-picker.mjs","sources":["../../../projects/adk/color-picker/utils.ts","../../../projects/adk/color-picker/color-picker.ts","../../../projects/adk/color-picker/color-picker-trigger.ts","../../../projects/adk/color-picker/color-input.ts","../../../projects/adk/color-picker/public-api.ts","../../../projects/adk/color-picker/ngbase-adk-color-picker.ts"],"sourcesContent":["const MAX_RGB = 255;\nconst MAX_HUE = 360;\nconst MAX_PERCENTAGE = 100;\n\nexport function hexToRgb(hex: string): [number, number, number, number] {\n // Remove the hash at the start if it's there\n hex = hex.replace(/^#/, '');\n\n // Check for valid hex formats\n if (!/^([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/.test(hex)) {\n throw new Error('Invalid hex color format');\n }\n\n let r: number,\n g: number,\n b: number,\n a: number = 1;\n\n if (hex.length === 3 || hex.length === 4) {\n r = parseInt(hex[0] + hex[0], 16);\n g = parseInt(hex[1] + hex[1], 16);\n b = parseInt(hex[2] + hex[2], 16);\n if (hex.length === 4) {\n a = parseInt(hex[3] + hex[3], 16) / 255;\n }\n } else if (hex.length === 6 || hex.length === 8) {\n r = parseInt(hex.slice(0, 2), 16);\n g = parseInt(hex.slice(2, 4), 16);\n b = parseInt(hex.slice(4, 6), 16);\n if (hex.length === 8) {\n a = parseInt(hex.slice(6, 8), 16) / 255;\n }\n } else {\n throw new Error('Invalid hex color format');\n }\n\n return [r, g, b, roundTo2Decimals(a)];\n}\n\nexport function rgbaToHsb(\n r: number,\n g: number,\n b: number,\n a: number = 1,\n): { h: number; s: number; b: number; a: number } {\n validateRgba(r, g, b, a);\n\n r /= 255;\n g /= 255;\n b /= 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n const v = max;\n\n if (max !== min) {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {\n h: roundNum(h * 360),\n s: roundNum(s * 100),\n b: roundNum(v * 100),\n a: roundTo2Decimals(a),\n };\n}\n\nexport function hexToHsb(hex: string): [number, number, number, number] {\n const [r, g, b, a] = hexToRgb(hex);\n const { h, s, b: brightness, a: alpha } = rgbaToHsb(r, g, b, a);\n return [roundNum(h), roundNum(s), roundNum(brightness), roundTo2Decimals(alpha)];\n}\n\nexport function rgbToHsl(r: number, g: number, b: number): { h: number; s: number; l: number } {\n validateRgb(r, g, b);\n\n r /= MAX_RGB;\n g /= MAX_RGB;\n b /= MAX_RGB;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n let s = 0;\n const l = (max + min) / 2;\n const d = max - min;\n\n if (d) {\n s = d / (1 - Math.abs(2 * l - 1));\n switch (max) {\n case r:\n h = ((g - b) / d + (g < b ? 6 : 0)) / 6;\n break;\n case g:\n h = ((b - r) / d + 2) / 6;\n break;\n case b:\n h = ((r - g) / d + 4) / 6;\n break;\n }\n }\n\n return {\n h: roundNum(h * MAX_HUE),\n s: roundNum(s * MAX_PERCENTAGE),\n l: roundNum(l * MAX_PERCENTAGE),\n };\n}\n\nexport function parseRgba(rgba: string): [number, number, number, number] {\n const matches = rgba.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\n if (!matches) {\n throw new Error('Invalid RGBA string format');\n }\n const [, r, g, b, a] = matches;\n return [parseInt(r, 10), parseInt(g, 10), parseInt(b, 10), a ? parseFloat(a) : 1];\n}\n\nexport function parseHsba(hsb: string): [number, number, number, number] {\n const matches = hsb.match(/^hsba?\\((\\d+),\\s*(\\d+)%,\\s*(\\d+)%(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\n if (!matches) {\n throw new Error('Invalid HSBA string format');\n }\n const [, h, s, b, a] = matches;\n return [parseInt(h, 10), parseInt(s, 10), parseInt(b, 10), a ? parseFloat(a) : 1];\n}\n\nexport function hsbToHsl(h: number, s: number, b: number): [number, number, number] {\n validateHsb(h, s, b);\n\n s /= MAX_PERCENTAGE;\n b /= MAX_PERCENTAGE;\n\n const l = b * (1 - s / 2);\n const saturation = l === 0 || l === 1 ? 0 : (b - l) / Math.min(l, 1 - l);\n\n return [roundNum(h), roundNum(saturation * MAX_PERCENTAGE), roundNum(l * MAX_PERCENTAGE)];\n}\n\nexport function hslaToHsba(\n h: number,\n s: number,\n l: number,\n a: number = 1,\n): [number, number, number, number] {\n validateHsl(h, s, l);\n validateAlpha(a);\n\n s /= MAX_PERCENTAGE;\n l /= MAX_PERCENTAGE;\n\n const brightness = l + s * Math.min(l, 1 - l);\n const saturation = brightness === 0 ? 0 : 2 * (1 - l / brightness);\n\n return [\n roundNum(h),\n roundNum(saturation * MAX_PERCENTAGE),\n roundNum(brightness * MAX_PERCENTAGE),\n roundTo2Decimals(a),\n ];\n}\n\nexport function hsbaToRgba(\n h: number,\n s: number,\n b: number,\n a: number = 1,\n): [number, number, number, number] {\n validateHsb(h, s, b);\n validateAlpha(a);\n\n s /= MAX_PERCENTAGE;\n b /= MAX_PERCENTAGE;\n\n const k = (n: number) => (n + h / 60) % 6;\n const f = (n: number) => b * (1 - s * Math.max(0, Math.min(k(n), 4 - k(n), 1)));\n\n return [\n roundNum(f(5) * MAX_RGB),\n roundNum(f(3) * MAX_RGB),\n roundNum(f(1) * MAX_RGB),\n roundTo2Decimals(a),\n ];\n}\n\nexport function rgbToHsba(\n r: number,\n g: number,\n b: number,\n a: number = 1,\n): [number, number, number, number] {\n const { h, s, b: br, a: alpha } = rgbaToHsb(r, g, b, a);\n return [h, s, br, alpha];\n}\n\nexport function hsbaToHex(h: number, s: number, b: number, a: number = 1): string {\n const [r, g, b_, a_] = hsbaToRgba(h, s, b, a);\n return rgbToHex(r, g, b_, a_);\n}\n\nexport function rgbToHex(r: number, g: number, b: number, a: number = 1): string {\n validateRgb(r, g, b);\n validateAlpha(a);\n\n let rgba = [r, g, b];\n if (a < 1) {\n rgba.push(Math.round(a * 255));\n }\n\n return (\n '#' +\n rgba\n .map(x => Math.round(x).toString(16).padStart(2, '0'))\n .join('')\n .toUpperCase()\n );\n}\n\nfunction validateRgb(r: number, g: number, b: number): void {\n if (r < 0 || r > MAX_RGB || g < 0 || g > MAX_RGB || b < 0 || b > MAX_RGB) {\n throw new Error('Invalid RGB values');\n }\n}\n\nfunction validateRgba(r: number, g: number, b: number, a: number): void {\n validateRgb(r, g, b);\n validateAlpha(a);\n}\n\nfunction validateHsb(h: number, s: number, b: number): void {\n if (h < 0 || h > MAX_HUE || s < 0 || s > MAX_PERCENTAGE || b < 0 || b > MAX_PERCENTAGE) {\n throw new Error('Invalid HSB values');\n }\n}\n\nfunction validateHsl(h: number, s: number, l: number): void {\n if (h < 0 || h >= MAX_HUE || s < 0 || s > MAX_PERCENTAGE || l < 0 || l > MAX_PERCENTAGE) {\n throw new Error('Invalid HSL values');\n }\n}\n\nfunction validateAlpha(a: number): void {\n if (a < 0 || a > 1) {\n throw new Error('Invalid alpha value');\n }\n}\n\nfunction roundNum(num: number): number {\n return Math.round(num);\n}\n\nfunction roundTo2Decimals(num: number): number {\n return Math.round(num * 100) / 100;\n}\n","import {\n afterNextRender,\n Component,\n Directive,\n ElementRef,\n inject,\n input,\n output,\n viewChild,\n} from '@angular/core';\nimport { Drag } from '@ngbase/adk/drag';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport {\n hexToHsb,\n hsbaToHex,\n hsbaToRgba,\n hsbToHsl,\n hslaToHsba,\n parseHsba,\n parseRgba,\n rgbToHsba,\n} from './utils';\n\nexport type ColorFormat = 'hex' | 'rgb' | 'hsl' | 'hsb';\n\n@Directive({\n selector: '[ngbColorSpectrum]',\n hostDirectives: [Drag],\n host: {\n style:\n 'background-image: linear-gradient(0deg, rgb(0, 0, 0), transparent), linear-gradient(90deg, rgb(255, 255, 255), rgba(255, 255, 255, 0)); background-color: var(--hue-color);',\n },\n})\nexport class ColorSpectrum {}\n\n@Directive({\n selector: '[ngbColorSpectrumSelector]',\n host: {\n type: 'button',\n },\n})\nexport class ColorSpectrumSelector {}\n\n@Directive({ selector: '[ngbColorSelected]' })\nexport class ColorSelected {}\n\n@Directive({\n selector: '[ngbColorHue]',\n hostDirectives: [Drag],\n host: {\n style:\n 'inset: 0px; background: linear-gradient(to right, rgb(255, 0, 0), rgb(255, 255, 0), rgb(0, 255, 0), rgb(0, 255, 255), rgb(0, 0, 255), rgb(255, 0, 255), rgb(255, 0, 0));',\n },\n})\nexport class ColorHue {}\n\n@Directive({\n selector: '[ngbColorHueThumb]',\n host: {\n type: 'button',\n },\n})\nexport class ColorHueThumb {}\n\n@Component({\n selector: '[ngbColorAlpha]',\n hostDirectives: [Drag],\n template: ` <div\n style=\"height: 100%; inset: 0px; background: linear-gradient(to right, rgba(255, 0, 4, 0), var(--hue-color));\"\n >\n <ng-content />\n </div>`,\n host: {\n style: `\n background-image: conic-gradient(\n rgba(0, 0, 0, 0.06) 0 25%,\n transparent 0 50%,\n rgba(0, 0, 0, 0.06) 0 75%,\n transparent 0\n );\n background-size: 8px 8px;\n `,\n },\n})\nexport class ColorAlpha {}\n\n@Directive({\n selector: '[ngbColorAlphaThumb]',\n host: {\n type: 'button',\n },\n})\nexport class ColorAlphaThumb {}\n\n@Directive({\n selector: 'ngb-color-picker-container',\n host: {\n style: `\n --hue-color: rgb(255, 0, 0);\n --spectrum-color: rgb(0, 0, 0);\n `,\n },\n})\nexport class NgbColorPicker {\n private readonly el = inject(ElementRef);\n private readonly dialogRef = inject(DialogRef, { optional: true });\n private readonly hueDiv = viewChild.required<ColorHue, Drag>(ColorHue, { read: Drag });\n private readonly hueSelector = viewChild.required<ColorHueThumb, ElementRef<HTMLButtonElement>>(\n ColorHueThumb,\n { read: ElementRef },\n );\n\n private readonly spectrumDiv = viewChild.required<ColorSpectrum, Drag>(ColorSpectrum, {\n read: Drag,\n });\n private readonly spectrumSelector = viewChild.required<\n ColorSpectrumSelector,\n ElementRef<HTMLButtonElement>\n >(ColorSpectrumSelector, { read: ElementRef });\n\n private readonly selectedColor = viewChild.required<ColorSelected, ElementRef<HTMLDivElement>>(\n ColorSelected,\n { read: ElementRef },\n );\n\n private alpha = 100; // 0-100\n private readonly alphaDiv = viewChild.required<ColorAlpha, Drag>(ColorAlpha, { read: Drag });\n private readonly alphaSelector = viewChild.required<\n ColorAlphaThumb,\n ElementRef<HTMLButtonElement>\n >(ColorAlphaThumb, { read: ElementRef });\n\n readonly valueChange = output<string>();\n readonly format = input<ColorFormat>(this.dialogRef?.data.format || 'hex');\n readonly presetColors = input<string[]>(this.dialogRef?.data.presetColors || []);\n\n private hue = 0;\n private saturation = 0;\n private brightness = 0;\n private lastSpectrumEvent?: MouseEvent;\n private localValue = '';\n\n private colorParsers = new Map<ColorFormat, (value: string) => [number, number, number, number]>([\n ['hsb', parseHsba],\n ['hex', hexToHsb],\n ['rgb', (value: string) => rgbToHsba(...parseRgba(value))],\n ['hsl', (value: string) => hslaToHsba(...parseHsba(value))],\n ]);\n\n constructor() {\n afterNextRender(() => {\n this.setupEventListeners();\n });\n }\n\n private calculateCoordinates(e: MouseEvent, el: ElementRef) {\n const rect = el.nativeElement.getBoundingClientRect();\n\n let x = Math.round(e.clientX - rect.left);\n let y = Math.round(e.clientY - rect.top);\n\n // Constrain x and y within the bounds of the spectrum box\n x = Math.max(0, Math.min(x, rect.width));\n y = Math.max(0, Math.min(y, rect.height));\n return { x, y, rect };\n }\n\n private setupEventListeners() {\n this.setupDragListener(this.hueDiv(), (x, y, w, h) => this.updateHue(x, 0, w, h));\n this.setupDragListener(this.spectrumDiv(), this.updateSpectrum.bind(this));\n this.setupDragListener(this.alphaDiv(), (x, y, w) => this.updateAlpha(x, 0, w));\n }\n\n private setupDragListener(\n dragElement: Drag,\n updateFunction: (x: number, y: number, width: number, height: number) => void,\n ) {\n dragElement.events.subscribe(event => {\n if (event.type === 'start' || event.type === 'move') {\n this.handleColorEvent(event.event! as PointerEvent, dragElement.el, updateFunction);\n // If we want to avoid emitting the value on every move,\n // we can add a flag to emit only when the event is 'end'\n this.valueChange.emit(this.localValue);\n }\n });\n }\n\n private handleColorEvent(\n event: PointerEvent,\n element: ElementRef,\n updateFunction: (x: number, y: number, width: number, height: number) => void,\n ) {\n const { x, y, rect } = this.calculateCoordinates(event, element);\n updateFunction(x, y, rect.width, rect.height);\n this.updateValue();\n }\n\n private updateHue(x: number, y: number, width: number, height: number) {\n this.hue = Math.round((x / width) * 360);\n this.el.nativeElement.style.setProperty('--hue-color', `hsl(${this.hue}, 100%, 50%)`);\n const hueSelector = this.hueSelector()!.nativeElement;\n hueSelector.style.left = `${x}px`;\n if (this.lastSpectrumEvent) this.updateValue();\n }\n\n private updateSpectrum(x: number, y: number, width: number, height: number) {\n const { s, b } = this.calculateSaturationAndLuminous(x, y!, width, height);\n this.saturation = s;\n this.brightness = b;\n this.lastSpectrumEvent = { clientX: x, clientY: y } as PointerEvent;\n const spectrumSelector = this.spectrumSelector()!.nativeElement;\n spectrumSelector.style.left = `${x - spectrumSelector.offsetWidth / 2}px`;\n spectrumSelector.style.top = `${y! - spectrumSelector.offsetHeight / 2}px`;\n }\n\n private updateAlpha(x: number, y: number, width: number) {\n this.alpha = Math.round((x / width) * 100);\n const alphaSelector = this.alphaSelector()!.nativeElement;\n alphaSelector.style.left = `${x}px`;\n }\n\n setValue(value: string, emit = false): void {\n if (!value) return;\n this.parse(value);\n this.updateValue(emit);\n this.el.nativeElement.style.setProperty('--hue-color', this.getColor(this.hue, 100, 100, 100));\n this.updateSelectorPositions();\n }\n\n private updateSelectorPositions() {\n this.updateSelectorPosition(this.hueDiv().el, this.hueSelector(), this.hue / 360);\n this.updateSelectorPosition(this.alphaDiv().el, this.alphaSelector(), this.alpha / 100);\n this.updateSpectrumSelectorPosition();\n }\n\n private updateSelectorPosition(\n containerEl: ElementRef<HTMLElement>,\n selectorEl: ElementRef<HTMLButtonElement>,\n ratio: number,\n ) {\n selectorEl.nativeElement.style.left = ratio * containerEl.nativeElement.clientWidth + 'px';\n }\n\n private updateSpectrumSelectorPosition() {\n const spectrumRect = this.spectrumDiv().el.nativeElement.getBoundingClientRect();\n const spectrumSelector = this.spectrumSelector()!.nativeElement;\n const { x, y } = this.calculateSpectrumPosition(\n this.saturation,\n this.brightness,\n spectrumRect.width,\n spectrumRect.height,\n );\n spectrumSelector.style.left = `${x}px`;\n spectrumSelector.style.top = `${y}px`;\n }\n\n // Simplified function to calculate the x and y based on the saturation and lightness\n private calculateSpectrumPosition(\n s: number,\n l: number,\n spectrumWidth: number,\n spectrumHeight: number,\n ): { x: number; y: number } {\n const handlerSize = 16;\n const half = handlerSize / 2;\n const x = (spectrumWidth * s) / 100 - half;\n const y = (spectrumHeight * (100 - l)) / 100 - half;\n return { x, y };\n }\n\n private calculateSaturationAndLuminous(\n x: number,\n y: number,\n sw: number,\n sh: number,\n ): { s: number; b: number } {\n const s = Math.round((x / sw) * 100);\n const b = Math.round(100 - (y / sh) * 100);\n return { s, b };\n }\n\n private updateValue(emit = false) {\n this.localValue = this.toString();\n const hsla = this.getColor(this.hue, this.saturation, this.brightness, this.alpha);\n this.el.nativeElement.style.setProperty('--spectrum-color', hsla);\n this.selectedColor()!.nativeElement.style.backgroundColor = hsla;\n this.spectrumSelector()!.nativeElement.style.backgroundColor = hsla;\n if (emit) this.valueChange.emit(this.localValue);\n }\n\n private getColor(h: number, s: number, b: number, a: number) {\n const [hh, ss, l] = hsbToHsl(h, s, b);\n return `hsla(${hh}, ${ss}%, ${l}%, ${a / 100})`;\n }\n\n private parse(value: string) {\n const parser = this.colorParsers.get(this.format());\n if (parser) {\n [this.hue, this.saturation, this.brightness, this.alpha] = parser(value);\n this.alpha = Math.round(this.alpha * 100);\n }\n }\n\n private toString() {\n const alpha = this.alpha / 100;\n const formatters = {\n hsb: () => `hsba(${this.hue}, ${this.saturation}%, ${this.brightness}%, ${alpha})`,\n hex: () => hsbaToHex(this.hue, this.saturation, this.brightness, alpha),\n rgb: () => {\n const [r, g, b, a] = hsbaToRgba(this.hue, this.saturation, this.brightness, alpha);\n return a === 1 ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`;\n },\n hsl: () => {\n const [h, s, l] = hsbToHsl(this.hue, this.saturation, this.brightness);\n return `hsla(${h}, ${s}%, ${l}%, ${alpha})`;\n },\n };\n return formatters[this.format()]?.() || '';\n }\n}\n","import {\n Directive,\n effect,\n EffectRef,\n ElementRef,\n inject,\n InjectionToken,\n Injector,\n input,\n model,\n untracked,\n} from '@angular/core';\nimport { ngbPopoverPortal } from '@ngbase/adk/popover';\nimport { provideValueAccessor } from '@ngbase/adk/utils';\nimport { NgbColorInput } from './color-input';\nimport { ColorFormat, NgbColorPicker } from './color-picker';\n\nconst ColorPicker = new InjectionToken<typeof NgbColorPicker>('ColorPicker');\n\ninterface ColorPickerOptions {\n picker: typeof NgbColorPicker;\n accessor: typeof NgbColorInput;\n}\n\nexport const registerColorPicker = ({ picker, accessor }: ColorPickerOptions) => [\n { provide: ColorPicker, useValue: picker },\n provideValueAccessor(accessor),\n];\n\n@Directive({\n selector: '[ngbColorPickerTrigger]',\n host: {\n '(click)': 'open()',\n },\n})\nexport class ColorPickerTrigger {\n private el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private colorPicker =\n inject<typeof NgbColorPicker>(ColorPicker, { optional: true }) ?? NgbColorPicker;\n private popover = ngbPopoverPortal();\n private injector = inject(Injector);\n\n readonly format = input<ColorFormat>('hex');\n readonly presetColors = input<string[]>();\n readonly value = model<string>();\n effectRef?: EffectRef;\n\n open() {\n const { childSignal } = this.popover.open(this.colorPicker, {\n target: this.el.nativeElement,\n position: 'bl',\n offset: 0,\n data: { format: this.format(), presetColors: this.presetColors() },\n width: '255px',\n });\n this.effectRef?.destroy();\n\n this.effectRef = effect(\n () => {\n const colorPicker = childSignal()?.instance as NgbColorPicker;\n if (colorPicker) {\n untracked(() => {\n colorPicker.setValue(this.value() || '#000000');\n colorPicker.valueChange.subscribe(res => {\n this.value.set(res);\n });\n });\n }\n },\n { injector: this.injector },\n );\n }\n}\n","import { Directive, input, model } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { provideValueAccessor } from '@ngbase/adk/utils';\nimport { ColorFormat } from './color-picker';\n\n@Directive({\n selector: '[ngbColorInput]',\n providers: [provideValueAccessor(NgbColorInput)],\n})\nexport class NgbColorInput implements ControlValueAccessor {\n readonly format = input<ColorFormat>('hex');\n readonly presetColors = input<string[]>();\n readonly value = model<string>('');\n\n onChange = (_: string) => {};\n onTouched = () => {};\n\n updateValue(value = ''): void {\n this.value.set(value);\n this.onChange(value);\n this.onTouched();\n }\n\n writeValue(value: string): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n","/*\n * Public API Surface of color-picker\n */\n\nexport * from './color-picker';\nexport * from './color-picker-trigger';\nexport * from './color-input';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -64,10 +64,10 @@ class CookieService {
64
64
  }
65
65
  return false;
66
66
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: CookieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
68
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: CookieService, providedIn: 'root' }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CookieService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
68
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CookieService, providedIn: 'root' }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: CookieService, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: CookieService, decorators: [{
71
71
  type: Injectable,
72
72
  args: [{ providedIn: 'root' }]
73
73
  }], ctorParameters: () => [] });