primeng 22.1.2 → 22.1.3

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 (406) hide show
  1. package/fesm2022/primeng-accordion.mjs +23 -24
  2. package/fesm2022/primeng-animateonscroll.mjs +9 -10
  3. package/fesm2022/primeng-api.mjs +31 -32
  4. package/fesm2022/primeng-autocomplete.mjs +17 -18
  5. package/fesm2022/primeng-autofocus.mjs +7 -8
  6. package/fesm2022/primeng-avatar.mjs +10 -11
  7. package/fesm2022/primeng-avatargroup.mjs +10 -11
  8. package/fesm2022/primeng-badge.mjs +10 -11
  9. package/fesm2022/primeng-base.mjs +41 -31
  10. package/fesm2022/primeng-basecomponent.mjs +108 -44
  11. package/fesm2022/primeng-baseeditableholder.mjs +3 -4
  12. package/fesm2022/primeng-baseinput.mjs +3 -4
  13. package/fesm2022/primeng-basemodelholder.mjs +3 -4
  14. package/fesm2022/primeng-bind.mjs +10 -9
  15. package/fesm2022/primeng-blockui.mjs +23 -24
  16. package/fesm2022/primeng-breadcrumb.mjs +10 -11
  17. package/fesm2022/primeng-button.mjs +33 -39
  18. package/fesm2022/primeng-buttongroup.mjs +12 -13
  19. package/fesm2022/primeng-card.mjs +10 -11
  20. package/fesm2022/primeng-carousel.mjs +47 -46
  21. package/fesm2022/primeng-cascadeselect.mjs +23 -24
  22. package/fesm2022/primeng-chart.mjs +10 -11
  23. package/fesm2022/primeng-checkbox.mjs +10 -11
  24. package/fesm2022/primeng-chip.mjs +10 -11
  25. package/fesm2022/primeng-classnames.mjs +7 -8
  26. package/fesm2022/primeng-colorpicker.mjs +10 -11
  27. package/fesm2022/primeng-commandmenu.mjs +12 -13
  28. package/fesm2022/primeng-compare.mjs +19 -20
  29. package/fesm2022/primeng-config.mjs +39 -18
  30. package/fesm2022/primeng-confirmdialog.mjs +29 -21
  31. package/fesm2022/primeng-confirmpopup.mjs +22 -21
  32. package/fesm2022/primeng-contextmenu.mjs +29 -28
  33. package/fesm2022/primeng-dataview.mjs +10 -11
  34. package/fesm2022/primeng-datepicker.mjs +110 -87
  35. package/fesm2022/primeng-dialog.mjs +46 -34
  36. package/fesm2022/primeng-divider.mjs +10 -11
  37. package/fesm2022/primeng-dock.mjs +12 -13
  38. package/fesm2022/primeng-dom.mjs +18 -6
  39. package/fesm2022/primeng-dragdrop.mjs +15 -14
  40. package/fesm2022/primeng-drawer.mjs +20 -22
  41. package/fesm2022/primeng-dynamicdialog.mjs +23 -22
  42. package/fesm2022/primeng-editor.mjs +10 -11
  43. package/fesm2022/primeng-fieldset.mjs +13 -15
  44. package/fesm2022/primeng-fileupload.mjs +24 -25
  45. package/fesm2022/primeng-floatlabel.mjs +10 -11
  46. package/fesm2022/primeng-fluid.mjs +10 -11
  47. package/fesm2022/primeng-focustrap.mjs +11 -12
  48. package/fesm2022/primeng-galleria.mjs +40 -37
  49. package/fesm2022/primeng-gallery.mjs +73 -74
  50. package/fesm2022/primeng-iconfield.mjs +10 -11
  51. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -4
  52. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -4
  53. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -4
  54. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -4
  55. package/fesm2022/primeng-icons-angledown.mjs +3 -4
  56. package/fesm2022/primeng-icons-angleleft.mjs +3 -4
  57. package/fesm2022/primeng-icons-angleright.mjs +3 -4
  58. package/fesm2022/primeng-icons-angleup.mjs +3 -4
  59. package/fesm2022/primeng-icons-arrowdown.mjs +4 -6
  60. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -4
  61. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -4
  62. package/fesm2022/primeng-icons-arrowleft.mjs +4 -6
  63. package/fesm2022/primeng-icons-arrowright.mjs +3 -4
  64. package/fesm2022/primeng-icons-arrowup.mjs +4 -6
  65. package/fesm2022/primeng-icons-ban.mjs +4 -6
  66. package/fesm2022/primeng-icons-bars.mjs +3 -4
  67. package/fesm2022/primeng-icons-baseicon.mjs +6 -7
  68. package/fesm2022/primeng-icons-blank.mjs +3 -4
  69. package/fesm2022/primeng-icons-calendar.mjs +3 -4
  70. package/fesm2022/primeng-icons-caretleft.mjs +3 -4
  71. package/fesm2022/primeng-icons-caretright.mjs +3 -4
  72. package/fesm2022/primeng-icons-check.mjs +3 -4
  73. package/fesm2022/primeng-icons-chevrondown.mjs +3 -4
  74. package/fesm2022/primeng-icons-chevronleft.mjs +3 -4
  75. package/fesm2022/primeng-icons-chevronright.mjs +3 -4
  76. package/fesm2022/primeng-icons-chevronup.mjs +3 -4
  77. package/fesm2022/primeng-icons-exclamationtriangle.mjs +4 -6
  78. package/fesm2022/primeng-icons-eye.mjs +3 -4
  79. package/fesm2022/primeng-icons-eyeslash.mjs +4 -6
  80. package/fesm2022/primeng-icons-filter.mjs +4 -6
  81. package/fesm2022/primeng-icons-filterfill.mjs +3 -4
  82. package/fesm2022/primeng-icons-filterslash.mjs +4 -6
  83. package/fesm2022/primeng-icons-home.mjs +4 -6
  84. package/fesm2022/primeng-icons-infocircle.mjs +4 -6
  85. package/fesm2022/primeng-icons-minus.mjs +3 -4
  86. package/fesm2022/primeng-icons-pencil.mjs +4 -6
  87. package/fesm2022/primeng-icons-plus.mjs +4 -6
  88. package/fesm2022/primeng-icons-refresh.mjs +4 -6
  89. package/fesm2022/primeng-icons-search.mjs +4 -6
  90. package/fesm2022/primeng-icons-searchminus.mjs +4 -6
  91. package/fesm2022/primeng-icons-searchplus.mjs +4 -6
  92. package/fesm2022/primeng-icons-sortalt.mjs +4 -6
  93. package/fesm2022/primeng-icons-sortamountdown.mjs +4 -6
  94. package/fesm2022/primeng-icons-sortamountupalt.mjs +4 -6
  95. package/fesm2022/primeng-icons-spinner.mjs +4 -6
  96. package/fesm2022/primeng-icons-star.mjs +4 -6
  97. package/fesm2022/primeng-icons-starfill.mjs +4 -6
  98. package/fesm2022/primeng-icons-thlarge.mjs +4 -6
  99. package/fesm2022/primeng-icons-times.mjs +3 -4
  100. package/fesm2022/primeng-icons-timescircle.mjs +4 -6
  101. package/fesm2022/primeng-icons-trash.mjs +4 -6
  102. package/fesm2022/primeng-icons-undo.mjs +4 -6
  103. package/fesm2022/primeng-icons-upload.mjs +4 -6
  104. package/fesm2022/primeng-icons-windowmaximize.mjs +4 -6
  105. package/fesm2022/primeng-icons-windowminimize.mjs +4 -6
  106. package/fesm2022/primeng-iftalabel.mjs +10 -11
  107. package/fesm2022/primeng-image.mjs +34 -20
  108. package/fesm2022/primeng-imagecompare.mjs +10 -11
  109. package/fesm2022/primeng-inplace.mjs +16 -17
  110. package/fesm2022/primeng-inputcolor.mjs +46 -51
  111. package/fesm2022/primeng-inputgroup.mjs +10 -11
  112. package/fesm2022/primeng-inputgroupaddon.mjs +10 -11
  113. package/fesm2022/primeng-inputicon.mjs +10 -11
  114. package/fesm2022/primeng-inputmask.mjs +15 -16
  115. package/fesm2022/primeng-inputnumber.mjs +10 -11
  116. package/fesm2022/primeng-inputotp.mjs +10 -11
  117. package/fesm2022/primeng-inputpassword.mjs +10 -11
  118. package/fesm2022/primeng-inputtags.mjs +12 -13
  119. package/fesm2022/primeng-inputtext.mjs +10 -11
  120. package/fesm2022/primeng-isolation.mjs +280 -0
  121. package/fesm2022/primeng-keyfilter.mjs +7 -8
  122. package/fesm2022/primeng-knob.mjs +13 -15
  123. package/fesm2022/primeng-label.mjs +10 -11
  124. package/fesm2022/primeng-license.mjs +0 -1
  125. package/fesm2022/primeng-listbox.mjs +32 -29
  126. package/fesm2022/primeng-megamenu.mjs +30 -34
  127. package/fesm2022/primeng-menu.mjs +36 -43
  128. package/fesm2022/primeng-menubar.mjs +26 -24
  129. package/fesm2022/primeng-message.mjs +16 -19
  130. package/fesm2022/primeng-metergroup.mjs +13 -14
  131. package/fesm2022/primeng-motion.mjs +13 -14
  132. package/fesm2022/primeng-multiselect.mjs +34 -27
  133. package/fesm2022/primeng-orderlist.mjs +31 -23
  134. package/fesm2022/primeng-organizationchart.mjs +13 -14
  135. package/fesm2022/primeng-overlay.mjs +24 -22
  136. package/fesm2022/primeng-overlaybadge.mjs +10 -11
  137. package/fesm2022/primeng-paginator.mjs +13 -11
  138. package/fesm2022/primeng-panel.mjs +13 -15
  139. package/fesm2022/primeng-panelmenu.mjs +22 -23
  140. package/fesm2022/primeng-passthrough.mjs +0 -1
  141. package/fesm2022/primeng-password.mjs +29 -30
  142. package/fesm2022/primeng-picklist.mjs +28 -20
  143. package/fesm2022/primeng-popover.mjs +21 -21
  144. package/fesm2022/primeng-progressbar.mjs +10 -11
  145. package/fesm2022/primeng-progressspinner.mjs +10 -11
  146. package/fesm2022/primeng-radiobutton.mjs +13 -14
  147. package/fesm2022/primeng-rating.mjs +14 -16
  148. package/fesm2022/primeng-ripple.mjs +24 -23
  149. package/fesm2022/primeng-scrollarea.mjs +25 -26
  150. package/fesm2022/primeng-scroller.mjs +16 -14
  151. package/fesm2022/primeng-scrollpanel.mjs +23 -24
  152. package/fesm2022/primeng-scrolltop.mjs +12 -13
  153. package/fesm2022/primeng-select.mjs +243 -146
  154. package/fesm2022/primeng-selectbutton.mjs +10 -11
  155. package/fesm2022/primeng-sidebar.mjs +82 -84
  156. package/fesm2022/primeng-skeleton.mjs +10 -11
  157. package/fesm2022/primeng-slider.mjs +10 -11
  158. package/fesm2022/primeng-speeddial.mjs +20 -19
  159. package/fesm2022/primeng-splitbutton.mjs +11 -13
  160. package/fesm2022/primeng-splitter.mjs +13 -14
  161. package/fesm2022/primeng-stepper.mjs +47 -48
  162. package/fesm2022/primeng-steps.mjs +10 -11
  163. package/fesm2022/primeng-styleclass.mjs +10 -9
  164. package/fesm2022/primeng-table.mjs +183 -162
  165. package/fesm2022/primeng-tabs.mjs +36 -37
  166. package/fesm2022/primeng-tag.mjs +10 -11
  167. package/fesm2022/primeng-terminal.mjs +13 -14
  168. package/fesm2022/primeng-textarea.mjs +10 -11
  169. package/fesm2022/primeng-tieredmenu.mjs +26 -26
  170. package/fesm2022/primeng-timeline.mjs +10 -11
  171. package/fesm2022/primeng-toast.mjs +48 -33
  172. package/fesm2022/primeng-togglebutton.mjs +10 -11
  173. package/fesm2022/primeng-toggleswitch.mjs +10 -11
  174. package/fesm2022/primeng-toolbar.mjs +10 -11
  175. package/fesm2022/primeng-tooltip.mjs +24 -25
  176. package/fesm2022/primeng-tree.mjs +19 -20
  177. package/fesm2022/primeng-treeselect.mjs +18 -19
  178. package/fesm2022/primeng-treetable.mjs +93 -88
  179. package/fesm2022/primeng-useid.mjs +38 -0
  180. package/fesm2022/primeng-usestyle.mjs +265 -44
  181. package/fesm2022/primeng-utils.mjs +33 -2
  182. package/fesm2022/primeng.mjs +0 -1
  183. package/package.json +12 -4
  184. package/types/primeng-accordion.d.ts +0 -9
  185. package/types/primeng-animateonscroll.d.ts +2 -1
  186. package/types/primeng-api.d.ts +3 -1
  187. package/types/primeng-autocomplete.d.ts +1 -3
  188. package/types/primeng-base.d.ts +3 -1
  189. package/types/primeng-basecomponent.d.ts +34 -16
  190. package/types/primeng-button.d.ts +9 -12
  191. package/types/primeng-carousel.d.ts +3 -25
  192. package/types/primeng-compare.d.ts +0 -9
  193. package/types/primeng-config.d.ts +27 -2
  194. package/types/primeng-confirmdialog.d.ts +1 -0
  195. package/types/primeng-confirmpopup.d.ts +1 -3
  196. package/types/primeng-datepicker.d.ts +2 -12
  197. package/types/primeng-dialog.d.ts +1 -0
  198. package/types/primeng-dom.d.ts +6 -11
  199. package/types/primeng-dragdrop.d.ts +1 -0
  200. package/types/primeng-dynamicdialog.d.ts +3 -1
  201. package/types/primeng-focustrap.d.ts +1 -1
  202. package/types/primeng-gallery.d.ts +0 -63
  203. package/types/primeng-inputcolor.d.ts +0 -33
  204. package/types/primeng-isolation.d.ts +21 -0
  205. package/types/primeng-listbox.d.ts +1 -0
  206. package/types/primeng-megamenu.d.ts +5 -1
  207. package/types/primeng-menu.d.ts +6 -7
  208. package/types/primeng-motion.d.ts +2 -7
  209. package/types/primeng-multiselect.d.ts +3 -1
  210. package/types/primeng-orderlist.d.ts +1 -0
  211. package/types/primeng-picklist.d.ts +1 -0
  212. package/types/primeng-scrollarea.d.ts +0 -15
  213. package/types/primeng-scroller.d.ts +2 -1
  214. package/types/primeng-select.d.ts +54 -13
  215. package/types/primeng-sidebar.d.ts +0 -69
  216. package/types/primeng-splitter.d.ts +0 -3
  217. package/types/primeng-stepper.d.ts +2 -19
  218. package/types/primeng-table.d.ts +2 -75
  219. package/types/primeng-tabs.d.ts +2 -16
  220. package/types/primeng-toast.d.ts +4 -2
  221. package/types/primeng-treetable.d.ts +4 -92
  222. package/types/primeng-types-listbox.d.ts +1 -1
  223. package/types/primeng-types-select.d.ts +4 -0
  224. package/types/primeng-useid.d.ts +15 -0
  225. package/types/primeng-usestyle.d.ts +87 -7
  226. package/types/primeng-utils.d.ts +42 -0
  227. package/fesm2022/primeng-accordion.mjs.map +0 -1
  228. package/fesm2022/primeng-animateonscroll.mjs.map +0 -1
  229. package/fesm2022/primeng-api.mjs.map +0 -1
  230. package/fesm2022/primeng-autocomplete.mjs.map +0 -1
  231. package/fesm2022/primeng-autofocus.mjs.map +0 -1
  232. package/fesm2022/primeng-avatar.mjs.map +0 -1
  233. package/fesm2022/primeng-avatargroup.mjs.map +0 -1
  234. package/fesm2022/primeng-badge.mjs.map +0 -1
  235. package/fesm2022/primeng-base.mjs.map +0 -1
  236. package/fesm2022/primeng-basecomponent.mjs.map +0 -1
  237. package/fesm2022/primeng-baseeditableholder.mjs.map +0 -1
  238. package/fesm2022/primeng-baseinput.mjs.map +0 -1
  239. package/fesm2022/primeng-basemodelholder.mjs.map +0 -1
  240. package/fesm2022/primeng-bind.mjs.map +0 -1
  241. package/fesm2022/primeng-blockui.mjs.map +0 -1
  242. package/fesm2022/primeng-breadcrumb.mjs.map +0 -1
  243. package/fesm2022/primeng-button.mjs.map +0 -1
  244. package/fesm2022/primeng-buttongroup.mjs.map +0 -1
  245. package/fesm2022/primeng-card.mjs.map +0 -1
  246. package/fesm2022/primeng-carousel.mjs.map +0 -1
  247. package/fesm2022/primeng-cascadeselect.mjs.map +0 -1
  248. package/fesm2022/primeng-chart.mjs.map +0 -1
  249. package/fesm2022/primeng-checkbox.mjs.map +0 -1
  250. package/fesm2022/primeng-chip.mjs.map +0 -1
  251. package/fesm2022/primeng-classnames.mjs.map +0 -1
  252. package/fesm2022/primeng-colorpicker.mjs.map +0 -1
  253. package/fesm2022/primeng-commandmenu.mjs.map +0 -1
  254. package/fesm2022/primeng-compare.mjs.map +0 -1
  255. package/fesm2022/primeng-config.mjs.map +0 -1
  256. package/fesm2022/primeng-confirmdialog.mjs.map +0 -1
  257. package/fesm2022/primeng-confirmpopup.mjs.map +0 -1
  258. package/fesm2022/primeng-contextmenu.mjs.map +0 -1
  259. package/fesm2022/primeng-dataview.mjs.map +0 -1
  260. package/fesm2022/primeng-datepicker.mjs.map +0 -1
  261. package/fesm2022/primeng-dialog.mjs.map +0 -1
  262. package/fesm2022/primeng-divider.mjs.map +0 -1
  263. package/fesm2022/primeng-dock.mjs.map +0 -1
  264. package/fesm2022/primeng-dom.mjs.map +0 -1
  265. package/fesm2022/primeng-dragdrop.mjs.map +0 -1
  266. package/fesm2022/primeng-drawer.mjs.map +0 -1
  267. package/fesm2022/primeng-dynamicdialog.mjs.map +0 -1
  268. package/fesm2022/primeng-editor.mjs.map +0 -1
  269. package/fesm2022/primeng-fieldset.mjs.map +0 -1
  270. package/fesm2022/primeng-fileupload.mjs.map +0 -1
  271. package/fesm2022/primeng-floatlabel.mjs.map +0 -1
  272. package/fesm2022/primeng-fluid.mjs.map +0 -1
  273. package/fesm2022/primeng-focustrap.mjs.map +0 -1
  274. package/fesm2022/primeng-galleria.mjs.map +0 -1
  275. package/fesm2022/primeng-gallery.mjs.map +0 -1
  276. package/fesm2022/primeng-iconfield.mjs.map +0 -1
  277. package/fesm2022/primeng-icons-angledoubledown.mjs.map +0 -1
  278. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +0 -1
  279. package/fesm2022/primeng-icons-angledoubleright.mjs.map +0 -1
  280. package/fesm2022/primeng-icons-angledoubleup.mjs.map +0 -1
  281. package/fesm2022/primeng-icons-angledown.mjs.map +0 -1
  282. package/fesm2022/primeng-icons-angleleft.mjs.map +0 -1
  283. package/fesm2022/primeng-icons-angleright.mjs.map +0 -1
  284. package/fesm2022/primeng-icons-angleup.mjs.map +0 -1
  285. package/fesm2022/primeng-icons-arrowdown.mjs.map +0 -1
  286. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +0 -1
  287. package/fesm2022/primeng-icons-arrowdownright.mjs.map +0 -1
  288. package/fesm2022/primeng-icons-arrowleft.mjs.map +0 -1
  289. package/fesm2022/primeng-icons-arrowright.mjs.map +0 -1
  290. package/fesm2022/primeng-icons-arrowup.mjs.map +0 -1
  291. package/fesm2022/primeng-icons-ban.mjs.map +0 -1
  292. package/fesm2022/primeng-icons-bars.mjs.map +0 -1
  293. package/fesm2022/primeng-icons-baseicon.mjs.map +0 -1
  294. package/fesm2022/primeng-icons-blank.mjs.map +0 -1
  295. package/fesm2022/primeng-icons-calendar.mjs.map +0 -1
  296. package/fesm2022/primeng-icons-caretleft.mjs.map +0 -1
  297. package/fesm2022/primeng-icons-caretright.mjs.map +0 -1
  298. package/fesm2022/primeng-icons-check.mjs.map +0 -1
  299. package/fesm2022/primeng-icons-chevrondown.mjs.map +0 -1
  300. package/fesm2022/primeng-icons-chevronleft.mjs.map +0 -1
  301. package/fesm2022/primeng-icons-chevronright.mjs.map +0 -1
  302. package/fesm2022/primeng-icons-chevronup.mjs.map +0 -1
  303. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +0 -1
  304. package/fesm2022/primeng-icons-eye.mjs.map +0 -1
  305. package/fesm2022/primeng-icons-eyeslash.mjs.map +0 -1
  306. package/fesm2022/primeng-icons-filter.mjs.map +0 -1
  307. package/fesm2022/primeng-icons-filterfill.mjs.map +0 -1
  308. package/fesm2022/primeng-icons-filterslash.mjs.map +0 -1
  309. package/fesm2022/primeng-icons-home.mjs.map +0 -1
  310. package/fesm2022/primeng-icons-infocircle.mjs.map +0 -1
  311. package/fesm2022/primeng-icons-minus.mjs.map +0 -1
  312. package/fesm2022/primeng-icons-pencil.mjs.map +0 -1
  313. package/fesm2022/primeng-icons-plus.mjs.map +0 -1
  314. package/fesm2022/primeng-icons-refresh.mjs.map +0 -1
  315. package/fesm2022/primeng-icons-search.mjs.map +0 -1
  316. package/fesm2022/primeng-icons-searchminus.mjs.map +0 -1
  317. package/fesm2022/primeng-icons-searchplus.mjs.map +0 -1
  318. package/fesm2022/primeng-icons-sortalt.mjs.map +0 -1
  319. package/fesm2022/primeng-icons-sortamountdown.mjs.map +0 -1
  320. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +0 -1
  321. package/fesm2022/primeng-icons-spinner.mjs.map +0 -1
  322. package/fesm2022/primeng-icons-star.mjs.map +0 -1
  323. package/fesm2022/primeng-icons-starfill.mjs.map +0 -1
  324. package/fesm2022/primeng-icons-thlarge.mjs.map +0 -1
  325. package/fesm2022/primeng-icons-times.mjs.map +0 -1
  326. package/fesm2022/primeng-icons-timescircle.mjs.map +0 -1
  327. package/fesm2022/primeng-icons-trash.mjs.map +0 -1
  328. package/fesm2022/primeng-icons-undo.mjs.map +0 -1
  329. package/fesm2022/primeng-icons-upload.mjs.map +0 -1
  330. package/fesm2022/primeng-icons-windowmaximize.mjs.map +0 -1
  331. package/fesm2022/primeng-icons-windowminimize.mjs.map +0 -1
  332. package/fesm2022/primeng-iftalabel.mjs.map +0 -1
  333. package/fesm2022/primeng-image.mjs.map +0 -1
  334. package/fesm2022/primeng-imagecompare.mjs.map +0 -1
  335. package/fesm2022/primeng-inplace.mjs.map +0 -1
  336. package/fesm2022/primeng-inputcolor.mjs.map +0 -1
  337. package/fesm2022/primeng-inputgroup.mjs.map +0 -1
  338. package/fesm2022/primeng-inputgroupaddon.mjs.map +0 -1
  339. package/fesm2022/primeng-inputicon.mjs.map +0 -1
  340. package/fesm2022/primeng-inputmask.mjs.map +0 -1
  341. package/fesm2022/primeng-inputnumber.mjs.map +0 -1
  342. package/fesm2022/primeng-inputotp.mjs.map +0 -1
  343. package/fesm2022/primeng-inputpassword.mjs.map +0 -1
  344. package/fesm2022/primeng-inputtags.mjs.map +0 -1
  345. package/fesm2022/primeng-inputtext.mjs.map +0 -1
  346. package/fesm2022/primeng-keyfilter.mjs.map +0 -1
  347. package/fesm2022/primeng-knob.mjs.map +0 -1
  348. package/fesm2022/primeng-label.mjs.map +0 -1
  349. package/fesm2022/primeng-license.mjs.map +0 -1
  350. package/fesm2022/primeng-listbox.mjs.map +0 -1
  351. package/fesm2022/primeng-megamenu.mjs.map +0 -1
  352. package/fesm2022/primeng-menu.mjs.map +0 -1
  353. package/fesm2022/primeng-menubar.mjs.map +0 -1
  354. package/fesm2022/primeng-message.mjs.map +0 -1
  355. package/fesm2022/primeng-metergroup.mjs.map +0 -1
  356. package/fesm2022/primeng-motion.mjs.map +0 -1
  357. package/fesm2022/primeng-multiselect.mjs.map +0 -1
  358. package/fesm2022/primeng-orderlist.mjs.map +0 -1
  359. package/fesm2022/primeng-organizationchart.mjs.map +0 -1
  360. package/fesm2022/primeng-overlay.mjs.map +0 -1
  361. package/fesm2022/primeng-overlaybadge.mjs.map +0 -1
  362. package/fesm2022/primeng-paginator.mjs.map +0 -1
  363. package/fesm2022/primeng-panel.mjs.map +0 -1
  364. package/fesm2022/primeng-panelmenu.mjs.map +0 -1
  365. package/fesm2022/primeng-passthrough.mjs.map +0 -1
  366. package/fesm2022/primeng-password.mjs.map +0 -1
  367. package/fesm2022/primeng-picklist.mjs.map +0 -1
  368. package/fesm2022/primeng-popover.mjs.map +0 -1
  369. package/fesm2022/primeng-progressbar.mjs.map +0 -1
  370. package/fesm2022/primeng-progressspinner.mjs.map +0 -1
  371. package/fesm2022/primeng-radiobutton.mjs.map +0 -1
  372. package/fesm2022/primeng-rating.mjs.map +0 -1
  373. package/fesm2022/primeng-ripple.mjs.map +0 -1
  374. package/fesm2022/primeng-scrollarea.mjs.map +0 -1
  375. package/fesm2022/primeng-scroller.mjs.map +0 -1
  376. package/fesm2022/primeng-scrollpanel.mjs.map +0 -1
  377. package/fesm2022/primeng-scrolltop.mjs.map +0 -1
  378. package/fesm2022/primeng-select.mjs.map +0 -1
  379. package/fesm2022/primeng-selectbutton.mjs.map +0 -1
  380. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  381. package/fesm2022/primeng-skeleton.mjs.map +0 -1
  382. package/fesm2022/primeng-slider.mjs.map +0 -1
  383. package/fesm2022/primeng-speeddial.mjs.map +0 -1
  384. package/fesm2022/primeng-splitbutton.mjs.map +0 -1
  385. package/fesm2022/primeng-splitter.mjs.map +0 -1
  386. package/fesm2022/primeng-stepper.mjs.map +0 -1
  387. package/fesm2022/primeng-steps.mjs.map +0 -1
  388. package/fesm2022/primeng-styleclass.mjs.map +0 -1
  389. package/fesm2022/primeng-table.mjs.map +0 -1
  390. package/fesm2022/primeng-tabs.mjs.map +0 -1
  391. package/fesm2022/primeng-tag.mjs.map +0 -1
  392. package/fesm2022/primeng-terminal.mjs.map +0 -1
  393. package/fesm2022/primeng-textarea.mjs.map +0 -1
  394. package/fesm2022/primeng-tieredmenu.mjs.map +0 -1
  395. package/fesm2022/primeng-timeline.mjs.map +0 -1
  396. package/fesm2022/primeng-toast.mjs.map +0 -1
  397. package/fesm2022/primeng-togglebutton.mjs.map +0 -1
  398. package/fesm2022/primeng-toggleswitch.mjs.map +0 -1
  399. package/fesm2022/primeng-toolbar.mjs.map +0 -1
  400. package/fesm2022/primeng-tooltip.mjs.map +0 -1
  401. package/fesm2022/primeng-tree.mjs.map +0 -1
  402. package/fesm2022/primeng-treeselect.mjs.map +0 -1
  403. package/fesm2022/primeng-treetable.mjs.map +0 -1
  404. package/fesm2022/primeng-usestyle.mjs.map +0 -1
  405. package/fesm2022/primeng-utils.mjs.map +0 -1
  406. package/fesm2022/primeng.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-image.mjs","names":["RefreshIcon","EyeIcon","UndoIcon","SearchMinusIcon","SearchPlusIcon","TimesIcon"],"sources":["../../src/image/style/imagestyle.ts","../../src/image/image.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/image';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-image p-component',\n {\n 'p-image-preview': instance.preview()\n }\n ],\n previewMask: 'p-image-preview-mask',\n previewIcon: 'p-image-preview-icon',\n mask: 'p-image-mask p-overlay-mask',\n toolbar: 'p-image-toolbar',\n rotateRightButton: 'p-image-action p-image-rotate-right-button',\n rotateLeftButton: 'p-image-action p-image-rotate-left-button',\n zoomOutButton: ({ instance }) => [\n 'p-image-action p-image-zoom-out-button',\n {\n 'p-disabled': instance.isZoomOutDisabled()\n }\n ],\n zoomInButton: ({ instance }) => [\n 'p-image-action p-image-zoom-in-button',\n {\n 'p-disabled': instance.isZoomInDisabled()\n }\n ],\n closeButton: 'p-image-action p-image-close-button',\n original: 'p-image-original'\n};\n\n@Injectable()\nexport class ImageStyle extends BaseStyle {\n name = 'image';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Displays an image with preview and tranformation options. For multiple image, see Galleria.\n *\n * [Live Demo](https://www.primeng.org/image/)\n *\n * @module imagestyle\n *\n */\nexport enum ImageClasses {\n /**\n * Class name of the root element\n */\n root = 'p-image',\n /**\n * Class name of the preview mask element\n */\n previewMask = 'p-image-preview-mask',\n /**\n * Class name of the preview icon element\n */\n previewIcon = 'p-image-preview-icon',\n /**\n * Class name of the mask element\n */\n mask = 'p-image-mask',\n /**\n * Class name of the toolbar element\n */\n toolbar = 'p-image-toolbar',\n /**\n * Class name of the rotate right button element\n */\n rotateRightButton = 'p-image-rotate-right-button',\n /**\n * Class name of the rotate left button element\n */\n rotateLeftButton = 'p-image-rotate-left-button',\n /**\n * Class name of the zoom out button element\n */\n zoomOutButton = 'p-image-zoom-out-button',\n /**\n * Class name of the zoom in button element\n */\n zoomInButton = 'p-image-zoom-in-button',\n /**\n * Class name of the close button element\n */\n closeButton = 'p-image-close-button',\n /**\n * Class name of the original element\n */\n original = 'p-image-original'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChild, ElementRef, HostListener, inject, InjectionToken, input, NgModule, output, signal, TemplateRef, viewChild, ViewEncapsulation } from '@angular/core';\nimport { SafeUrl } from '@angular/platform-browser';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { appendChild, focus } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { blockBodyScroll, unblockBodyScroll } from 'primeng/dom';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { Eye as EyeIcon } from '@primeicons/angular/eye';\nimport { Refresh as RefreshIcon } from '@primeicons/angular/refresh';\nimport { SearchMinus as SearchMinusIcon } from '@primeicons/angular/search-minus';\nimport { SearchPlus as SearchPlusIcon } from '@primeicons/angular/search-plus';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { Undo as UndoIcon } from '@primeicons/angular/undo';\nimport { MotionModule } from 'primeng/motion';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport { Nullable } from 'primeng/ts-helpers';\nimport type { ImageImageTemplateContext, ImageLoading, ImagePassThrough, ImagePreviewTemplateContext } from 'primeng/types/image';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ImageStyle } from './style/imagestyle';\n\nconst IMAGE_INSTANCE = new InjectionToken<Image>('IMAGE_INSTANCE');\n\n/**\n * Displays an image with preview and tranformation options.\n * @group Components\n * @deprecated Use Gallery component instead.\n */\n@Component({\n selector: 'p-image',\n standalone: true,\n imports: [NgTemplateOutlet, RefreshIcon, EyeIcon, UndoIcon, SearchMinusIcon, SearchPlusIcon, TimesIcon, FocusTrap, SharedModule, BindModule, MotionModule],\n template: `\n @if (!imageTemplate()) {\n <img\n [attr.src]=\"src()\"\n [attr.srcset]=\"srcSet()\"\n [attr.sizes]=\"sizes()\"\n [attr.alt]=\"alt()\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.loading]=\"loading()\"\n [style]=\"imageStyle()\"\n [class]=\"imageClass()\"\n (error)=\"imageError($event)\"\n [pBind]=\"ptm('image')\"\n />\n }\n\n <ng-container *ngTemplateOutlet=\"imageTemplate(); context: imageTemplateContext()\"></ng-container>\n\n @if (preview()) {\n <button [attr.aria-label]=\"zoomImageAriaLabel()\" type=\"button\" [class]=\"cx('previewMask')\" (click)=\"onImageClick()\" #previewButton [style]=\"previewMaskStyle()\" [pBind]=\"ptm('previewMask')\">\n @if (indicatorTemplate()) {\n <ng-container *ngTemplateOutlet=\"indicatorTemplate()\"></ng-container>\n } @else {\n <svg data-p-icon=\"eye\" [class]=\"cx('previewIcon')\" [pBind]=\"ptm('previewIcon')\" />\n }\n </button>\n }\n @if (renderMask()) {\n <div\n #mask\n [class]=\"cx('mask')\"\n [attr.aria-modal]=\"maskVisible()\"\n role=\"dialog\"\n (click)=\"onMaskClick()\"\n (keydown)=\"onMaskKeydown($event)\"\n pFocusTrap\n [pBind]=\"ptm('mask')\"\n [pMotion]=\"maskVisible()\"\n [pMotionAppear]=\"true\"\n [pMotionEnterActiveClass]=\"'p-overlay-mask-enter-active'\"\n [pMotionLeaveActiveClass]=\"'p-overlay-mask-leave-active'\"\n [pMotionOptions]=\"computedMaskMotionOptions()\"\n (pMotionOnAfterLeave)=\"onMaskAfterLeave()\"\n >\n <div [class]=\"cx('toolbar')\" (click)=\"handleToolbarClick($event)\" [pBind]=\"ptm('toolbar')\">\n <button [class]=\"cx('rotateRightButton')\" (click)=\"rotateRight()\" type=\"button\" [attr.aria-label]=\"rightAriaLabel()\" [pBind]=\"ptm('rotateRightButton')\">\n @if (!rotateRightIconTemplate()) {\n <svg data-p-icon=\"refresh\" />\n }\n <ng-container *ngTemplateOutlet=\"rotateRightIconTemplate()\"></ng-container>\n </button>\n <button [class]=\"cx('rotateLeftButton')\" (click)=\"rotateLeft()\" type=\"button\" [attr.aria-label]=\"leftAriaLabel()\" [pBind]=\"ptm('rotateLeftButton')\">\n @if (!rotateLeftIconTemplate()) {\n <svg data-p-icon=\"undo\" />\n }\n <ng-container *ngTemplateOutlet=\"rotateLeftIconTemplate()\"></ng-container>\n </button>\n <button [class]=\"cx('zoomOutButton')\" (click)=\"zoomOut()\" type=\"button\" [disabled]=\"isZoomOutDisabled()\" [attr.aria-label]=\"zoomOutAriaLabel()\" [pBind]=\"ptm('zoomOutButton')\">\n @if (!zoomOutIconTemplate()) {\n <svg data-p-icon=\"search-minus\" />\n }\n <ng-container *ngTemplateOutlet=\"zoomOutIconTemplate()\"></ng-container>\n </button>\n <button [class]=\"cx('zoomInButton')\" (click)=\"zoomIn()\" type=\"button\" [disabled]=\"isZoomInDisabled()\" [attr.aria-label]=\"zoomInAriaLabel()\" [pBind]=\"ptm('zoomInButton')\">\n @if (!zoomInIconTemplate()) {\n <svg data-p-icon=\"search-plus\" />\n }\n <ng-container *ngTemplateOutlet=\"zoomInIconTemplate()\"></ng-container>\n </button>\n <button [class]=\"cx('closeButton')\" type=\"button\" (click)=\"closePreview()\" [attr.aria-label]=\"closeAriaLabel()\" #closeButton [pBind]=\"ptm('closeButton')\">\n @if (!closeIconTemplate()) {\n <svg data-p-icon=\"times\" />\n }\n <ng-container *ngTemplateOutlet=\"closeIconTemplate()\"></ng-container>\n </button>\n </div>\n @if (renderPreview()) {\n <p-motion [visible]=\"previewVisible\" name=\"p-image-original\" [appear]=\"true\" [options]=\"computedMotionOptions()\" (onBeforeEnter)=\"onAnimationStart($event)\" (onBeforeLeave)=\"onBeforeLeave()\" (onAfterLeave)=\"onAnimationEnd()\">\n @if (!previewTemplate()) {\n <img\n [attr.src]=\"previewImageSrc() ? previewImageSrc() : src()\"\n [attr.srcset]=\"previewImageSrcSet()\"\n [attr.sizes]=\"previewImageSizes()\"\n [class]=\"cx('original')\"\n [style]=\"imagePreviewStyle()\"\n (click)=\"onPreviewImageClick()\"\n [pBind]=\"ptm('original')\"\n />\n }\n <ng-container *ngTemplateOutlet=\"previewTemplate(); context: previewTemplateContext()\"></ng-container>\n </p-motion>\n }\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ImageStyle, { provide: IMAGE_INSTANCE, useExisting: Image }, { provide: PARENT_INSTANCE, useExisting: Image }],\n host: {\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class Image extends BaseComponent<ImagePassThrough> {\n componentName = 'Image';\n\n constructor() {\n super();\n }\n\n $pcImage: Image | undefined = inject(IMAGE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Style class of the image element.\n * @group Props\n */\n imageClass = input<string>();\n\n /**\n * Inline style of the image element.\n * @group Props\n */\n imageStyle = input<CSSProperties>();\n\n /**\n * The source path for the main image.\n * @group Props\n */\n src = input<string | SafeUrl>();\n\n /**\n * The srcset definition for the main image.\n * @group Props\n */\n srcSet = input<string | SafeUrl>();\n\n /**\n * The sizes definition for the main image.\n * @group Props\n */\n sizes = input<string>();\n\n /**\n * The source path for the preview image.\n * @group Props\n */\n previewImageSrc = input<string | SafeUrl>();\n\n /**\n * The srcset definition for the preview image.\n * @group Props\n */\n previewImageSrcSet = input<string | SafeUrl>();\n\n /**\n * The sizes definition for the preview image.\n * @group Props\n */\n previewImageSizes = input<string>();\n\n /**\n * Attribute of the preview image element.\n * @group Props\n */\n alt = input<string>();\n\n /**\n * Attribute of the image element.\n * @group Props\n */\n width = input<string>();\n\n /**\n * Attribute of the image element.\n * @group Props\n */\n height = input<string>();\n\n /**\n * Attribute of the image element.\n * @group Props\n */\n loading = input<ImageLoading>();\n\n /**\n * Controls the preview functionality.\n * @group Props\n */\n preview = input(false, { transform: booleanAttribute });\n\n /**\n * Enter animation class name of modal.\n * @defaultValue 'p-modal-enter'\n * @group Props\n */\n modalEnterAnimation = input<string | null | undefined>('p-modal-enter');\n\n /**\n * Leave animation class name of modal.\n * @defaultValue 'p-modal-leave'\n * @group Props\n */\n modalLeaveAnimation = input<string | null | undefined>('p-modal-leave');\n\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n\n /**\n * The motion options for the mask.\n * @group Props\n */\n maskMotionOptions = input<MotionOptions>();\n\n computedMaskMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('maskMotion'),\n ...this.maskMotionOptions()\n }));\n\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions>();\n\n computedMotionOptions = computed<MotionOptions>(() => ({\n ...this.ptm('motion'),\n ...this.motionOptions()\n }));\n\n /**\n * Triggered when the preview overlay is shown.\n * @group Emits\n */\n onShow = output<any>();\n\n /**\n * Triggered when the preview overlay is hidden.\n * @group Emits\n */\n onHide = output<any>();\n\n /**\n * This event is triggered if an error occurs while loading an image file.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onImageError = output<Event>();\n\n mask = viewChild<ElementRef>('mask');\n\n previewButton = viewChild<ElementRef>('previewButton');\n\n closeButton = viewChild<ElementRef>('closeButton');\n\n /**\n * Custom indicator template.\n * @group Templates\n */\n indicatorTemplate = contentChild<TemplateRef<void>>('indicator', { descendants: false });\n\n /**\n * Custom rotate right icon template.\n * @group Templates\n */\n rotateRightIconTemplate = contentChild<TemplateRef<void>>('rotaterighticon', { descendants: false });\n\n /**\n * Custom rotate left icon template.\n * @group Templates\n */\n rotateLeftIconTemplate = contentChild<TemplateRef<void>>('rotatelefticon', { descendants: false });\n\n /**\n * Custom zoom out icon template.\n * @group Templates\n */\n zoomOutIconTemplate = contentChild<TemplateRef<void>>('zoomouticon', { descendants: false });\n\n /**\n * Custom zoom in icon template.\n * @group Templates\n */\n zoomInIconTemplate = contentChild<TemplateRef<void>>('zoominicon', { descendants: false });\n\n /**\n * Custom close icon template.\n * @group Templates\n */\n closeIconTemplate = contentChild<TemplateRef<void>>('closeicon', { descendants: false });\n\n /**\n * Custom preview template.\n * @group Templates\n */\n previewTemplate = contentChild<TemplateRef<ImagePreviewTemplateContext>>('preview', { descendants: false });\n\n /**\n * Custom image template.\n * @group Templates\n */\n imageTemplate = contentChild<TemplateRef<ImageImageTemplateContext>>('image', { descendants: false });\n\n renderMask = signal<boolean>(false);\n\n renderPreview = signal<boolean>(false);\n\n maskVisible = signal(false);\n\n previewVisible: boolean = false;\n\n rotate = signal(0);\n\n scale = signal(1);\n\n previewClick: boolean = false;\n\n container: Nullable<HTMLElement>;\n\n wrapper: Nullable<HTMLElement>;\n\n _componentStyle = inject(ImageStyle);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n private zoomSettings = {\n default: 1,\n step: 0.1,\n max: 1.5,\n min: 0.5\n };\n\n private get aria() {\n return this.config.translation.aria;\n }\n\n isZoomOutDisabled = computed(() => this.scale() - this.zoomSettings.step <= this.zoomSettings.min);\n\n isZoomInDisabled = computed(() => this.scale() + this.zoomSettings.step >= this.zoomSettings.max);\n\n previewMaskStyle = computed(() => ({ height: this.height() + 'px', width: this.width() + 'px' }));\n\n imageTemplateContext() {\n return { errorCallback: this.imageError.bind(this) };\n }\n\n previewTemplateContext(): ImagePreviewTemplateContext {\n return {\n class: this.cx('original') ?? '',\n style: this.imagePreviewStyle(),\n previewCallback: this.onPreviewImageClick.bind(this)\n };\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onImageClick() {\n if (this.preview()) {\n this.maskVisible.set(true);\n this.previewVisible = true;\n this.renderMask.set(true);\n this.renderPreview.set(true);\n blockBodyScroll();\n }\n }\n\n onMaskClick() {\n if (!this.previewClick) {\n this.closePreview();\n }\n\n this.previewClick = false;\n }\n\n onMaskKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Escape':\n this.onMaskClick();\n setTimeout(() => {\n focus(this.previewButton()?.nativeElement);\n }, 25);\n event.preventDefault();\n\n break;\n\n default:\n break;\n }\n }\n\n onPreviewImageClick() {\n this.previewClick = true;\n }\n\n rotateRight() {\n this.rotate.update((v) => v + 90);\n this.previewClick = true;\n }\n\n rotateLeft() {\n this.rotate.update((v) => v - 90);\n this.previewClick = true;\n }\n\n zoomIn() {\n this.scale.update((v) => v + this.zoomSettings.step);\n this.previewClick = true;\n }\n\n zoomOut() {\n this.scale.update((v) => v - this.zoomSettings.step);\n this.previewClick = true;\n }\n\n onAnimationStart(event: MotionEvent) {\n this.container = event.element as HTMLDivElement;\n this.wrapper = this.container?.parentElement;\n\n if (this.$attrSelector) {\n this.wrapper?.setAttribute(this.$attrSelector, '');\n }\n\n this.appendContainer();\n this.moveOnTop();\n this.onShow.emit({});\n setTimeout(() => {\n focus(this.closeButton()?.nativeElement);\n }, 25);\n }\n\n onBeforeLeave() {\n this.maskVisible.set(false);\n }\n\n onAnimationEnd() {\n this.renderPreview.set(false);\n }\n\n onMaskAfterLeave() {\n if (!this.renderPreview()) {\n this.renderMask.set(false);\n }\n\n ZIndexUtils.clear(this.wrapper);\n this.container = null;\n this.wrapper = null;\n this.rotate.set(0);\n this.scale.set(this.zoomSettings.default);\n unblockBodyScroll();\n this.onHide.emit({});\n }\n\n moveOnTop() {\n ZIndexUtils.set('modal', this.wrapper, this.config.zIndex.modal);\n }\n\n appendContainer() {\n if (this.$appendTo() && this.$appendTo() !== 'self') {\n if (this.$appendTo() === 'body' && this.wrapper) {\n this.document.body.appendChild(this.wrapper as HTMLElement);\n } else if (this.wrapper) {\n appendChild(this.$appendTo(), this.wrapper);\n }\n }\n }\n\n imagePreviewStyle() {\n return { transform: 'rotate(' + this.rotate() + 'deg) scale(' + this.scale() + ')' };\n }\n\n zoomImageAriaLabel() {\n return this.aria?.zoomImage;\n }\n\n handleToolbarClick(event: MouseEvent) {\n event.stopPropagation();\n }\n\n closePreview() {\n this.previewVisible = false;\n }\n\n imageError(event: Event) {\n this.onImageError.emit(event);\n }\n\n rightAriaLabel() {\n return this.aria?.rotateRight;\n }\n\n leftAriaLabel() {\n return this.aria?.rotateLeft;\n }\n\n zoomInAriaLabel() {\n return this.aria?.zoomIn;\n }\n\n zoomOutAriaLabel() {\n return this.aria?.zoomOut;\n }\n\n closeAriaLabel() {\n return this.aria?.close;\n }\n\n @HostListener('document:keydown.escape') onKeydownHandler() {\n if (this.previewVisible) {\n this.closePreview();\n }\n }\n\n onDestroy() {\n if (this.wrapper) {\n ZIndexUtils.clear(this.wrapper);\n this.wrapper.remove();\n this.wrapper = null;\n }\n\n this.container = null;\n\n if (this.maskVisible()) {\n unblockBodyScroll();\n }\n }\n}\n\n@NgModule({\n imports: [Image, SharedModule],\n exports: [Image, SharedModule]\n})\nexport class ImageModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-imagecompare.mjs","names":[],"sources":["../../src/imagecompare/style/imagecomparestyle.ts","../../src/imagecompare/imagecompare.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/imagecompare';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-imagecompare',\n slider: 'p-imagecompare-slider'\n};\n\n@Injectable()\nexport class ImageCompareStyle extends BaseStyle {\n name = 'imagecompare';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * ImageCompare compares two images side by side with a slider.\n *\n * [Live Demo](https://www.primeng.org/imagecompare/)\n *\n * @module imagecomparestyle\n *\n */\nexport enum ImageCompareClasses {\n /**\n * Class name of the root element\n */\n root = 'p-imagecompare',\n /**\n * Class name of the slider element\n */\n slider = 'p-imagecompare-slider'\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChild, inject, InjectionToken, input, NgModule, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ImageComparePassThrough } from 'primeng/types/imagecompare';\nimport { ImageCompareStyle } from './style/imagecomparestyle';\n\nconst IMAGECOMPARE_INSTANCE = new InjectionToken<ImageCompare>('IMAGECOMPARE_INSTANCE');\n\n/**\n * Compare two images side by side with a slider.\n * @group Components\n * @deprecated Use Compare component instead.\n */\n@Component({\n selector: 'p-image-compare, p-imagecompare',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, BindModule],\n template: `\n <ng-container *ngTemplateOutlet=\"leftTemplate()\"></ng-container>\n <ng-container *ngTemplateOutlet=\"rightTemplate()\"></ng-container>\n <input type=\"range\" min=\"0\" max=\"100\" value=\"50\" (input)=\"onSlide($event)\" [class]=\"cx('slider')\" [pBind]=\"ptm('slider')\" />\n `,\n host: {\n '[class]': \"cx('root')\",\n '[attr.tabindex]': 'tabindex()',\n '[attr.aria-labelledby]': 'ariaLabelledby()',\n '[attr.aria-label]': 'ariaLabel()'\n },\n hostDirectives: [Bind],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [ImageCompareStyle, { provide: IMAGECOMPARE_INSTANCE, useExisting: ImageCompare }, { provide: PARENT_INSTANCE, useExisting: ImageCompare }]\n})\nexport class ImageCompare extends BaseComponent<ImageComparePassThrough> {\n componentName = 'ImageCompare';\n\n $pcImageCompare: ImageCompare | undefined = inject(IMAGECOMPARE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n constructor() {\n super();\n }\n\n /**\n * Index of the element in tabbing order.\n * @defaultValue 0\n * @group Props\n */\n tabindex = input<number>();\n\n /**\n * Defines a string value that labels an interactive element.\n * @group Props\n */\n ariaLabelledby = input<string>();\n\n /**\n * Identifier of the underlying input element.\n * @group Props\n */\n ariaLabel = input<string>();\n\n /**\n * Custom left side template.\n * @group Templates\n */\n leftTemplate = contentChild<TemplateRef<void>>('left', { descendants: false });\n\n /**\n * Custom right side template.\n * @group Templates\n */\n rightTemplate = contentChild<TemplateRef<void>>('right', { descendants: false });\n\n _componentStyle = inject(ImageCompareStyle);\n\n mutationObserver: MutationObserver;\n\n isRTL: boolean = false;\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onInit() {\n this.updateDirection();\n this.observeDirectionChanges();\n }\n\n onSlide(event: Event) {\n const target = event.target as HTMLInputElement;\n const value = target.value;\n const image = target.previousElementSibling as HTMLElement | null;\n\n if (image) {\n if (this.isRTL) {\n image.style.clipPath = `polygon(${100 - +value}% 0, 100% 0, 100% 100%, ${100 - +value}% 100%)`;\n } else {\n image.style.clipPath = `polygon(0 0, ${value}% 0, ${value}% 100%, 0 100%)`;\n }\n }\n }\n\n updateDirection() {\n this.isRTL = !!this.el.nativeElement.closest('[dir=\"rtl\"]');\n }\n\n observeDirectionChanges() {\n if (isPlatformBrowser(this.platformId)) {\n const targetNode = document?.documentElement;\n const config = { attributes: true, attributeFilter: ['dir'] };\n\n this.mutationObserver = new MutationObserver(() => {\n this.updateDirection();\n });\n\n this.mutationObserver.observe(targetNode, config);\n }\n }\n\n onDestroy() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n}\n\n@NgModule({\n imports: [ImageCompare, SharedModule],\n exports: [ImageCompare, SharedModule]\n})\nexport class ImageCompareModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-inplace.mjs","names":[],"sources":["../../src/inplace/style/inplacestyle.ts","../../src/inplace/inplace.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/inplace';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: () => ['p-inplace p-component'],\n display: ({ instance }) => ['p-inplace-display', { 'p-disabled': instance.disabled() }],\n content: 'p-inplace-content'\n};\n\n@Injectable()\nexport class InplaceStyle extends BaseStyle {\n name = 'inplace';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.\n *\n * [Live Demo](https://www.primeng.org/inplace)\n *\n * @module inplacestyle\n *\n */\nexport enum InplaceClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inplace',\n /**\n * Class name of the display element\n */\n display = 'p-inplace-display',\n /**\n * Class name of the content element\n */\n content = 'p-inplace-content'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChild, inject, InjectionToken, input, NgModule, output, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport type { InplaceContentTemplateContext, InplacePassThrough } from 'primeng/types/inplace';\nimport { InplaceStyle } from './style/inplacestyle';\n\nconst INPLACE_INSTANCE = new InjectionToken<Inplace>('INPLACE_INSTANCE');\n\n@Component({\n selector: 'p-inplacedisplay, p-inplace-display',\n standalone: true,\n template: '<ng-content></ng-content>'\n})\nexport class InplaceDisplay extends BaseComponent {}\n\n@Component({\n selector: 'p-inplacecontent, p-inplace-content',\n standalone: true,\n template: '<ng-content></ng-content>'\n})\nexport class InplaceContent extends BaseComponent {}\n\n/**\n * Inplace provides an easy to do editing and display at the same time where clicking the output displays the actual content.\n * @group Components\n */\n@Component({\n selector: 'p-inplace',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, Bind],\n template: `\n @if (!active()) {\n <div [class]=\"cx('display')\" [pBind]=\"ptm('display')\" (click)=\"onActivateClick($event)\" tabindex=\"0\" role=\"button\" (keydown)=\"onKeydown($event)\" [attr.data-p-disabled]=\"disabled()\">\n <ng-content select=\"[pInplaceDisplay]\"></ng-content>\n @if (displayTemplate()) {\n <ng-container [ngTemplateOutlet]=\"displayTemplate()!\"></ng-container>\n }\n </div>\n }\n @if (active()) {\n <div [class]=\"cx('content')\" [pBind]=\"ptm('content')\">\n <ng-content select=\"[pInplaceContent]\"></ng-content>\n @if (contentTemplate()) {\n <ng-container [ngTemplateOutlet]=\"contentTemplate()!\" [ngTemplateOutletContext]=\"{ closeCallback: onDeactivateClick.bind(this) }\"></ng-container>\n }\n </div>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [InplaceStyle, { provide: INPLACE_INSTANCE, useExisting: Inplace }, { provide: PARENT_INSTANCE, useExisting: Inplace }],\n host: {\n '[attr.aria-live]': \"'polite'\",\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class Inplace extends BaseComponent<InplacePassThrough> {\n componentName = 'Inplace';\n\n $pcInplace: Inplace | undefined = inject(INPLACE_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n /**\n * Whether the content is displayed or not.\n * @group Props\n */\n active = signal(false);\n\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Allows to prevent clicking.\n * @group Props\n */\n preventClick = input(false, { transform: booleanAttribute });\n\n /**\n * Callback to invoke when inplace is opened.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onActivate = output<Event>();\n\n /**\n * Callback to invoke when inplace is closed.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onDeactivate = output<Event>();\n\n /**\n * Custom display template.\n * @group Templates\n */\n displayTemplate = contentChild<TemplateRef<void>>('display', { descendants: false });\n\n /**\n * Custom content template.\n * @group Templates\n */\n contentTemplate = contentChild<TemplateRef<InplaceContentTemplateContext>>('content', { descendants: false });\n\n _componentStyle = inject(InplaceStyle);\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onActivateClick(event: MouseEvent) {\n if (!this.preventClick()) this.activate(event);\n }\n\n onDeactivateClick(event: MouseEvent) {\n if (!this.preventClick()) this.deactivate(event);\n }\n\n /**\n * Activates the content.\n * @param {Event} event - Browser event.\n * @group Method\n */\n activate(event?: Event) {\n if (!this.disabled()) {\n this.active.set(true);\n if (event) this.onActivate.emit(event);\n }\n }\n\n /**\n * Deactivates the content.\n * @param {Event} event - Browser event.\n * @group Method\n */\n deactivate(event?: Event) {\n if (!this.disabled()) {\n this.active.set(false);\n if (event) this.onDeactivate.emit(event);\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (event.code === 'Enter') {\n this.activate(event);\n event.preventDefault();\n }\n }\n}\n\n@NgModule({\n imports: [Inplace, InplaceContent, InplaceDisplay, SharedModule],\n exports: [Inplace, InplaceContent, InplaceDisplay, SharedModule]\n})\nexport class InplaceModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-inputcolor.mjs","names":["i1","i1","i1","i1","i1","i1","i1","i1","i1","i1","i1"],"sources":["../../src/inputcolor/color-manager.ts","../../src/inputcolor/inputcolor.token.ts","../../src/inputcolor/inputcolor-area.ts","../../src/inputcolor/inputcolor-area-background.ts","../../src/inputcolor/inputcolor-area-handle.ts","../../src/inputcolor/inputcolor-eyedropper.ts","../../src/inputcolor/inputcolor-input.ts","../../src/inputcolor/inputcolor-slider.ts","../../src/inputcolor/inputcolor-slider-handle.ts","../../src/inputcolor/inputcolor-slider-track.ts","../../src/inputcolor/inputcolor-swatch.ts","../../src/inputcolor/inputcolor-swatch-background.ts","../../src/inputcolor/inputcolor-transparency-grid.ts","../../src/inputcolor/style/inputcolorstyle.ts","../../src/inputcolor/inputcolor.ts"],"sourcesContent":["export type ColorSpace = 'hsba' | 'hsla' | 'rgba' | 'hexa' | 'oklch';\n\nexport type ColorOutputFormat = ColorSpace | 'hex' | 'rgb' | 'hsl' | 'hsb' | 'oklcha' | 'css';\n\nexport type ColorChannel = 'hue' | 'saturation' | 'brightness' | 'lightness' | 'red' | 'green' | 'blue' | 'alpha' | 'hex' | 'L' | 'C' | 'H' | 'oklchLightness' | 'oklchChroma' | 'oklchHue';\n\nexport type ColorSliderChannel = 'hue' | 'saturation' | 'brightness' | 'lightness' | 'red' | 'green' | 'blue' | 'alpha' | 'L' | 'C' | 'H' | 'oklchLightness' | 'oklchChroma' | 'oklchHue';\n\nexport type ColorInputChannel = ColorChannel | 'css';\n\nexport interface ColorChannelRange {\n minValue: number;\n maxValue: number;\n step: number;\n pageStep: number;\n}\n\nexport interface Color2DAxes {\n xChannel: ColorSliderChannel;\n yChannel: ColorSliderChannel;\n}\n\nexport interface Color3DAxes extends Color2DAxes {\n zChannel: ColorSliderChannel;\n}\n\nexport interface ColorOutput {\n toString(format?: ColorOutputFormat): string;\n toHex(): string;\n toHexa(): string;\n toHexInt(): number;\n toRgbString(): string;\n toHslString(): string;\n toHsbString(): string;\n}\n\nexport type ColorInstance = HSBColor | HSLColor | RGBColor | OKLCHColor;\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction round(value: number, decimals: number = 0): number {\n const factor = Math.pow(10, decimals);\n\n return Math.round(value * factor) / factor;\n}\n\nfunction multiplyMatrices(matrix: number[], vector: number[]): number[] {\n return [matrix[0] * vector[0] + matrix[1] * vector[1] + matrix[2] * vector[2], matrix[3] * vector[0] + matrix[4] * vector[1] + matrix[5] * vector[2], matrix[6] * vector[0] + matrix[7] * vector[1] + matrix[8] * vector[2]];\n}\n\nfunction mod(n: number, m: number): number {\n return ((n % m) + m) % m;\n}\n\n/**\n * Snaps a value to the nearest step increment within min/max bounds.\n * @example snap(23.7, 0, 100, 5) => 25\n * @example snap(0.234, 0, 1, 0.01) => 0.23\n */\nexport function snapValue(value: number, min: number, max: number, step: number): number {\n const clamped = clamp(value, min, max);\n const offset = clamped - min;\n const steps = Math.round(offset / step);\n const snapped = min + steps * step;\n const precision = (step.toString().split('.')[1] || '').length;\n\n return parseFloat(snapped.toFixed(precision));\n}\n\nexport abstract class Color implements ColorOutput {\n abstract readonly colorSpace: ColorSpace;\n\n abstract getChannelValue(channel: ColorChannel): number;\n abstract setChannelValue(channel: ColorChannel, value: number): ColorInstance;\n abstract toHSB(): HSBColor;\n abstract toHSL(): HSLColor;\n abstract toRGB(): RGBColor;\n abstract toOKLCH(): OKLCHColor;\n abstract clone(): ColorInstance;\n abstract toJSON(): Record<string, number>;\n abstract getFormat(): ColorSpace;\n abstract getChannels(): [ColorChannel, ColorChannel, ColorChannel];\n abstract getChannelRange(channel: ColorChannel): ColorChannelRange;\n\n get alpha(): number {\n return this.getChannelValue('alpha');\n }\n\n getSpaceAxes(xyChannels: Color2DAxes): Color3DAxes {\n const { xChannel, yChannel } = xyChannels;\n\n if (xChannel === yChannel) {\n throw new Error('xChannel and yChannel cannot be the same');\n }\n\n const zChannel = this.getChannels().find((channel) => channel !== xChannel && channel !== yChannel);\n\n if (!zChannel) {\n throw new Error('zChannel not found');\n }\n\n return { xChannel, yChannel, zChannel: zChannel as ColorSliderChannel };\n }\n\n incChannelValue(channel: ColorChannel, step: number): ColorInstance {\n const range = this.getChannelRange(channel);\n const currentValue = this.getChannelValue(channel);\n const newValue = snapValue(clamp(currentValue + step, range.minValue, range.maxValue), range.minValue, range.maxValue, range.step);\n\n return this.setChannelValue(channel, newValue);\n }\n\n decChannelValue(channel: ColorChannel, step: number): ColorInstance {\n return this.incChannelValue(channel, -step);\n }\n\n toHex(): string {\n const rgb = this.toRGB();\n const r = Math.round(rgb.red).toString(16).padStart(2, '0');\n const g = Math.round(rgb.green).toString(16).padStart(2, '0');\n const b = Math.round(rgb.blue).toString(16).padStart(2, '0');\n\n return `#${r}${g}${b}`;\n }\n\n toHexa(): string {\n const hex = this.toHex();\n\n if (this.alpha < 1) {\n const a = Math.round(this.alpha * 255)\n .toString(16)\n .padStart(2, '0');\n\n return `${hex}${a}`;\n }\n\n return hex;\n }\n\n toHexInt(): number {\n const rgb = this.toRGB();\n\n return (Math.round(rgb.red) << 16) | (Math.round(rgb.green) << 8) | Math.round(rgb.blue);\n }\n\n toRgbString(): string {\n const rgb = this.toRGB();\n const r = Math.round(rgb.red);\n const g = Math.round(rgb.green);\n const b = Math.round(rgb.blue);\n\n if (this.alpha < 1) {\n return `rgba(${r}, ${g}, ${b}, ${round(this.alpha, 2)})`;\n }\n\n return `rgb(${r}, ${g}, ${b})`;\n }\n\n toHslString(): string {\n const hsl = this.toHSL();\n const h = Math.round(hsl.hue) % 360;\n const s = Math.round(hsl.saturation);\n const l = Math.round(hsl.lightness);\n\n if (this.alpha < 1) {\n return `hsla(${h}, ${s}%, ${l}%, ${round(this.alpha, 2)})`;\n }\n\n return `hsl(${h}, ${s}%, ${l}%)`;\n }\n\n toHsbString(): string {\n const hsb = this.toHSB();\n const h = Math.round(hsb.hue) % 360;\n const s = Math.round(hsb.saturation);\n const b = Math.round(hsb.brightness);\n\n if (this.alpha < 1) {\n return `hsba(${h}, ${s}%, ${b}%, ${round(this.alpha, 2)})`;\n }\n\n return `hsb(${h}, ${s}%, ${b}%)`;\n }\n\n toString(format?: ColorOutputFormat): string {\n const f = format || this.colorSpace;\n\n switch (f) {\n case 'hex':\n return this.toHex();\n case 'hexa':\n return this.toHexa();\n case 'rgb':\n case 'rgba':\n return this.toRgbString();\n case 'hsl':\n case 'hsla':\n return this.toHslString();\n case 'hsb':\n case 'hsba':\n return this.toHsbString();\n case 'oklch':\n return this.toOKLCH().toString('oklch');\n case 'oklcha':\n return this.toOKLCH().toString('oklcha');\n case 'css':\n return this.toHex();\n default:\n return this.toHex();\n }\n }\n\n toFormat(format: ColorSpace): ColorInstance {\n switch (format) {\n case 'hsba':\n return this.toHSB();\n case 'hsla':\n return this.toHSL();\n case 'rgba':\n return this.toRGB();\n case 'hexa':\n return this.toRGB();\n case 'oklch':\n return this.toOKLCH();\n default:\n return this.toHSB();\n }\n }\n}\n\nexport class HSBColor extends Color {\n readonly colorSpace: ColorSpace = 'hsba';\n\n constructor(\n public hue: number,\n public saturation: number,\n public brightness: number,\n private _alpha: number = 1\n ) {\n super();\n this.hue = hue >= 0 && hue <= 360 ? hue : mod(hue, 360);\n this.saturation = clamp(saturation, 0, 100);\n this.brightness = clamp(brightness, 0, 100);\n this._alpha = clamp(_alpha, 0, 1);\n }\n\n getChannelValue(channel: ColorChannel): number {\n switch (channel) {\n case 'hue':\n return this.hue;\n case 'saturation':\n return this.saturation;\n case 'brightness':\n return this.brightness;\n case 'alpha':\n return this._alpha;\n case 'lightness':\n return this.toHSL().getChannelValue(channel);\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n case 'oklchHue':\n return this.toOKLCH().getChannelValue(channel);\n default:\n return this.toRGB().getChannelValue(channel);\n }\n }\n\n setChannelValue(channel: ColorChannel, value: number): ColorInstance {\n switch (channel) {\n case 'hue':\n return new HSBColor(value, this.saturation, this.brightness, this._alpha);\n case 'saturation':\n return new HSBColor(this.hue, value, this.brightness, this._alpha);\n case 'brightness':\n return new HSBColor(this.hue, this.saturation, value, this._alpha);\n case 'alpha':\n return new HSBColor(this.hue, this.saturation, this.brightness, value);\n\n case 'lightness': {\n const hsl = this.toHSL().setChannelValue(channel, value);\n\n return hsl.toHSB();\n }\n\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n\n // falls through\n case 'oklchHue': {\n const oklch = this.toOKLCH().setChannelValue(channel, value);\n\n return oklch.toHSB();\n }\n\n default: {\n const rgb = this.toRGB().setChannelValue(channel, value);\n\n return rgb.toHSB();\n }\n }\n }\n\n toHSB(): HSBColor {\n return this.clone();\n }\n\n toHSL(): HSLColor {\n const h = this.hue;\n const s = this.saturation / 100;\n const b = this.brightness / 100;\n\n const l = b * (1 - s / 2);\n const sl = l === 0 || l === 1 ? 0 : ((b - l) / Math.min(l, 1 - l)) * 100;\n\n return new HSLColor(h, sl, l * 100, this._alpha);\n }\n\n toRGB(): RGBColor {\n const h = this.hue / 360;\n const s = this.saturation / 100;\n const b = this.brightness / 100;\n\n let r: number, g: number, bl: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = b * (1 - s);\n const q = b * (1 - f * s);\n const t = b * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = b;\n g = t;\n bl = p;\n break;\n case 1:\n r = q;\n g = b;\n bl = p;\n break;\n case 2:\n r = p;\n g = b;\n bl = t;\n break;\n case 3:\n r = p;\n g = q;\n bl = b;\n break;\n case 4:\n r = t;\n g = p;\n bl = b;\n break;\n case 5:\n r = b;\n g = p;\n bl = q;\n break;\n default:\n r = 0;\n g = 0;\n bl = 0;\n }\n\n return new RGBColor(r * 255, g * 255, bl * 255, this._alpha);\n }\n\n toOKLCH(): OKLCHColor {\n return this.toRGB().toOKLCH();\n }\n\n clone(): HSBColor {\n return new HSBColor(this.hue, this.saturation, this.brightness, this._alpha);\n }\n\n toJSON(): Record<string, number> {\n return {\n hue: this.hue,\n saturation: this.saturation,\n brightness: this.brightness,\n alpha: this._alpha\n };\n }\n\n getFormat(): ColorSpace {\n return 'hsba';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['hue', 'saturation', 'brightness'];\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'hue':\n return { minValue: 0, maxValue: 360, step: 1, pageStep: 15 };\n case 'saturation':\n case 'brightness':\n return { minValue: 0, maxValue: 100, step: 1, pageStep: 10 };\n case 'alpha':\n return { minValue: 0, maxValue: 1, step: 0.01, pageStep: 0.1 };\n case 'lightness':\n return this.toHSL().getChannelRange(channel);\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n case 'oklchHue':\n return this.toOKLCH().getChannelRange(channel);\n case 'red':\n case 'green':\n case 'blue':\n return this.toRGB().getChannelRange(channel);\n default:\n throw new Error(`Unknown color channel: ${channel}`);\n }\n }\n}\n\nexport class HSLColor extends Color {\n readonly colorSpace: ColorSpace = 'hsla';\n\n constructor(\n public hue: number,\n public saturation: number,\n public lightness: number,\n private _alpha: number = 1\n ) {\n super();\n this.hue = hue >= 0 && hue <= 360 ? hue : mod(hue, 360);\n this.saturation = clamp(saturation, 0, 100);\n this.lightness = clamp(lightness, 0, 100);\n this._alpha = clamp(_alpha, 0, 1);\n }\n\n getChannelValue(channel: ColorChannel): number {\n switch (channel) {\n case 'hue':\n return this.hue;\n case 'saturation':\n return this.saturation;\n case 'lightness':\n return this.lightness;\n case 'alpha':\n return this._alpha;\n case 'brightness':\n return this.toHSB().getChannelValue(channel);\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n case 'oklchHue':\n return this.toOKLCH().getChannelValue(channel);\n default:\n return this.toRGB().getChannelValue(channel);\n }\n }\n\n setChannelValue(channel: ColorChannel, value: number): ColorInstance {\n switch (channel) {\n case 'hue':\n return new HSLColor(value, this.saturation, this.lightness, this._alpha);\n case 'saturation':\n return new HSLColor(this.hue, value, this.lightness, this._alpha);\n case 'lightness':\n return new HSLColor(this.hue, this.saturation, value, this._alpha);\n case 'alpha':\n return new HSLColor(this.hue, this.saturation, this.lightness, value);\n\n case 'brightness': {\n const hsb = this.toHSB().setChannelValue(channel, value);\n\n return hsb.toHSL();\n }\n\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n\n // falls through\n case 'oklchHue': {\n const oklch = this.toOKLCH().setChannelValue(channel, value);\n\n return oklch.toHSL();\n }\n\n default: {\n const rgb = this.toRGB().setChannelValue(channel, value);\n\n return rgb.toHSL();\n }\n }\n }\n\n toHSB(): HSBColor {\n const h = this.hue;\n const s = this.saturation / 100;\n const l = this.lightness / 100;\n\n const b = l + s * Math.min(l, 1 - l);\n const sb = b === 0 ? 0 : 2 * (1 - l / b);\n\n return new HSBColor(h, sb * 100, b * 100, this._alpha);\n }\n\n toHSL(): HSLColor {\n return this.clone();\n }\n\n toRGB(): RGBColor {\n const h = this.hue;\n const s = this.saturation / 100;\n const l = this.lightness / 100;\n\n const a = s * Math.min(l, 1 - l);\n\n const f = (n: number) => {\n const k = (n + h / 30) % 12;\n\n return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n };\n\n return new RGBColor(f(0) * 255, f(8) * 255, f(4) * 255, this._alpha);\n }\n\n toOKLCH(): OKLCHColor {\n return this.toRGB().toOKLCH();\n }\n\n clone(): HSLColor {\n return new HSLColor(this.hue, this.saturation, this.lightness, this._alpha);\n }\n\n toJSON(): Record<string, number> {\n return {\n hue: this.hue,\n saturation: this.saturation,\n lightness: this.lightness,\n alpha: this._alpha\n };\n }\n\n getFormat(): ColorSpace {\n return 'hsla';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['hue', 'saturation', 'lightness'];\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'hue':\n return { minValue: 0, maxValue: 360, step: 1, pageStep: 15 };\n case 'saturation':\n case 'lightness':\n return { minValue: 0, maxValue: 100, step: 1, pageStep: 10 };\n case 'alpha':\n return { minValue: 0, maxValue: 1, step: 0.01, pageStep: 0.1 };\n case 'brightness':\n return this.toHSB().getChannelRange(channel);\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n case 'oklchHue':\n return this.toOKLCH().getChannelRange(channel);\n case 'red':\n case 'green':\n case 'blue':\n return this.toRGB().getChannelRange(channel);\n default:\n throw new Error(`Unknown color channel: ${channel}`);\n }\n }\n}\n\nexport class RGBColor extends Color {\n readonly colorSpace: ColorSpace = 'rgba';\n\n constructor(\n public red: number,\n public green: number,\n public blue: number,\n private _alpha: number = 1\n ) {\n super();\n this.red = clamp(red, 0, 255);\n this.green = clamp(green, 0, 255);\n this.blue = clamp(blue, 0, 255);\n this._alpha = clamp(_alpha, 0, 1);\n }\n\n getChannelValue(channel: ColorChannel): number {\n switch (channel) {\n case 'red':\n return this.red;\n case 'green':\n return this.green;\n case 'blue':\n return this.blue;\n case 'alpha':\n return this._alpha;\n case 'hue':\n case 'saturation':\n case 'brightness':\n return this.toHSB().getChannelValue(channel);\n case 'lightness':\n return this.toHSL().getChannelValue(channel);\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n case 'oklchHue':\n return this.toOKLCH().getChannelValue(channel);\n default:\n return this.toHSB().getChannelValue(channel);\n }\n }\n\n setChannelValue(channel: ColorChannel, value: number): ColorInstance {\n switch (channel) {\n case 'red':\n return new RGBColor(value, this.green, this.blue, this._alpha);\n case 'green':\n return new RGBColor(this.red, value, this.blue, this._alpha);\n case 'blue':\n return new RGBColor(this.red, this.green, value, this._alpha);\n case 'alpha':\n return new RGBColor(this.red, this.green, this.blue, value);\n case 'hue':\n case 'saturation':\n\n // falls through\n case 'brightness': {\n const hsb = this.toHSB().setChannelValue(channel, value);\n\n return hsb.toRGB();\n }\n\n case 'lightness': {\n const hsl = this.toHSL().setChannelValue(channel, value);\n\n return hsl.toRGB();\n }\n\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n\n // falls through\n case 'oklchHue': {\n const oklch = this.toOKLCH().setChannelValue(channel, value);\n\n return oklch.toRGB();\n }\n\n default: {\n const hsb = this.toHSB().setChannelValue(channel, value);\n\n return hsb.toRGB();\n }\n }\n }\n\n toHSB(): HSBColor {\n const r = this.red / 255;\n const g = this.green / 255;\n const b = this.blue / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n\n let h = 0;\n const s = max === 0 ? 0 : d / max;\n const v = max;\n\n if (d !== 0) {\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 new HSBColor(h * 360, s * 100, v * 100, this._alpha);\n }\n\n toHSL(): HSLColor {\n const r = this.red / 255;\n const g = this.green / 255;\n const b = this.blue / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const d = max - min;\n const l = (max + min) / 2;\n\n let h = 0;\n let s = 0;\n\n if (d !== 0) {\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\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 new HSLColor(h * 360, s * 100, l * 100, this._alpha);\n }\n\n toRGB(): RGBColor {\n return this.clone();\n }\n\n toOKLCH(): OKLCHColor {\n const rgb = [this.red / 255, this.green / 255, this.blue / 255];\n const rgbLinear = rgb.map((c) => (Math.abs(c) <= 0.04045 ? c / 12.92 : (c < 0 ? -1 : 1) * ((Math.abs(c) + 0.055) / 1.055) ** 2.4));\n\n const xyz = multiplyMatrices([0.41239079926595934, 0.357584339383878, 0.1804807884018343, 0.21263900587151027, 0.715168678767756, 0.07219231536073371, 0.01933081871559182, 0.11919477979462598, 0.9505321522496607], rgbLinear);\n const LMS = multiplyMatrices([0.819022437996703, 0.3619062600528904, -0.1288737815209879, 0.0329836539323885, 0.9292868615863434, 0.0361446663506424, 0.0481771893596242, 0.2642395317527308, 0.6335478284694309], xyz);\n const LMSg = LMS.map((val) => Math.cbrt(val));\n\n const [L, a, b] = multiplyMatrices([0.210454268309314, 0.7936177747023054, -0.0040720430116193, 1.9779985324311684, -2.4285922420485799, 0.450593709617411, 0.0259040424655478, 0.7827717124575296, -0.8086757549230774], LMSg);\n\n const C = Math.sqrt(a ** 2 + b ** 2);\n const H = Math.abs(a) < 0.0002 && Math.abs(b) < 0.0002 ? NaN : ((((Math.atan2(b, a) * 180) / Math.PI) % 360) + 360) % 360;\n\n const outL = Number(Math.min(1, Math.max(0, L)).toFixed(4));\n const outC = Number(C.toFixed(4));\n const outH = Number.isNaN(H) ? NaN : Number(H.toFixed(2));\n\n return new OKLCHColor(outL, outC, outH, Number(this._alpha.toFixed(2)));\n }\n\n clone(): RGBColor {\n return new RGBColor(this.red, this.green, this.blue, this._alpha);\n }\n\n toJSON(): Record<string, number> {\n return {\n red: this.red,\n green: this.green,\n blue: this.blue,\n alpha: this._alpha\n };\n }\n\n getFormat(): ColorSpace {\n return 'rgba';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['red', 'green', 'blue'];\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'red':\n case 'green':\n case 'blue':\n return { minValue: 0, maxValue: 255, step: 1, pageStep: 17 };\n case 'alpha':\n return { minValue: 0, maxValue: 1, step: 0.01, pageStep: 0.1 };\n case 'hue':\n case 'saturation':\n case 'brightness':\n return this.toHSB().getChannelRange(channel);\n case 'lightness':\n return this.toHSL().getChannelRange(channel);\n case 'L':\n case 'C':\n case 'H':\n case 'oklchLightness':\n case 'oklchChroma':\n case 'oklchHue':\n return this.toOKLCH().getChannelRange(channel);\n default:\n throw new Error(`Unknown color channel: ${channel}`);\n }\n }\n}\n\nexport class OKLCHColor extends Color {\n readonly colorSpace: ColorSpace = 'oklch';\n\n constructor(\n public L: number,\n public C: number,\n public H: number,\n private _alpha: number = 1\n ) {\n super();\n this.L = clamp(L, 0, 1);\n this.C = clamp(C, 0, 0.4);\n this.H = Number.isNaN(H) ? NaN : H >= 0 && H <= 360 ? H : mod(H, 360);\n this._alpha = clamp(_alpha, 0, 1);\n }\n\n getChannelValue(channel: ColorChannel): number {\n switch (channel) {\n case 'L':\n case 'oklchLightness':\n return this.L;\n case 'C':\n case 'oklchChroma':\n return this.C;\n case 'H':\n case 'oklchHue':\n return this.H;\n case 'alpha':\n return this._alpha;\n default:\n return this.toRGB().getChannelValue(channel);\n }\n }\n\n setChannelValue(channel: ColorChannel, value: number): ColorInstance {\n switch (channel) {\n case 'L':\n case 'oklchLightness':\n return new OKLCHColor(value, this.C, this.H, this._alpha);\n case 'C':\n case 'oklchChroma':\n return new OKLCHColor(this.L, value, this.H, this._alpha);\n case 'H':\n case 'oklchHue':\n return new OKLCHColor(this.L, this.C, value, this._alpha);\n case 'alpha':\n return new OKLCHColor(this.L, this.C, this.H, value);\n\n default: {\n const rgb = this.toRGB().setChannelValue(channel, value);\n\n return rgb.toOKLCH();\n }\n }\n }\n\n toHSB(): HSBColor {\n return this.toRGB().toHSB();\n }\n\n toHSL(): HSLColor {\n return this.toRGB().toHSL();\n }\n\n toRGB(): RGBColor {\n const hRad = (this.H * Math.PI) / 180;\n const a = Number.isNaN(this.H) ? 0 : this.C * Math.cos(hRad);\n const b = Number.isNaN(this.H) ? 0 : this.C * Math.sin(hRad);\n\n const l_ = this.L + 0.3963377774 * a + 0.2158037573 * b;\n const m_ = this.L - 0.1055613458 * a - 0.0638541728 * b;\n const s_ = this.L - 0.0894841775 * a - 1.291485548 * b;\n\n const l = l_ * l_ * l_;\n const m = m_ * m_ * m_;\n const s = s_ * s_ * s_;\n\n const lr = 4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s;\n const lg = -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s;\n const lb = -0.0041960863 * l - 0.7034186147 * m + 1.707614701 * s;\n\n const toSrgb = (c: number) => {\n if (c <= 0.0031308) return c * 12.92;\n\n return 1.055 * Math.pow(c, 1 / 2.4) - 0.055;\n };\n\n return new RGBColor(clamp(toSrgb(lr) * 255, 0, 255), clamp(toSrgb(lg) * 255, 0, 255), clamp(toSrgb(lb) * 255, 0, 255), this._alpha);\n }\n\n toOKLCH(): OKLCHColor {\n return this.clone();\n }\n\n override toString(format?: ColorOutputFormat): string {\n const f = format || this.colorSpace;\n\n switch (f) {\n case 'oklch': {\n const l = Number.isNaN(this.L) ? 0 : Number((this.L * 100).toFixed(2));\n const c = Number.isNaN(this.C) ? 0 : Number(this.C.toFixed(4));\n const h = Number.isNaN(this.H) ? 0 : Number(this.H.toFixed(2));\n\n return `oklch(${l}% ${c} ${h})`;\n }\n\n case 'oklcha':\n\n // falls through\n case 'css': {\n const l = Number.isNaN(this.L) ? 0 : Number((this.L * 100).toFixed(2));\n const c = Number.isNaN(this.C) ? 0 : Number(this.C.toFixed(4));\n const h = Number.isNaN(this.H) ? 0 : Number(this.H.toFixed(2));\n const a = Number.isNaN(this._alpha) ? 1 : Number(this._alpha.toFixed(2));\n\n return `oklch(${l}% ${c} ${h} / ${a})`;\n }\n\n default:\n return super.toString(f);\n }\n }\n\n clone(): OKLCHColor {\n return new OKLCHColor(this.L, this.C, this.H, this._alpha);\n }\n\n toJSON(): Record<string, number> {\n return {\n L: this.L,\n C: this.C,\n H: this.H,\n alpha: this._alpha\n };\n }\n\n getFormat(): ColorSpace {\n return 'oklch';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['L', 'C', 'H'];\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'L':\n case 'oklchLightness':\n return { minValue: 0, maxValue: 1, step: 0.01, pageStep: 0.1 };\n case 'C':\n case 'oklchChroma':\n return { minValue: 0, maxValue: 0.4, step: 0.01, pageStep: 0.05 };\n case 'H':\n case 'oklchHue':\n return { minValue: 0, maxValue: 360, step: 1, pageStep: 15 };\n case 'alpha':\n return { minValue: 0, maxValue: 1, step: 0.01, pageStep: 0.1 };\n case 'hue':\n case 'saturation':\n case 'brightness':\n return this.toHSB().getChannelRange(channel);\n case 'lightness':\n return this.toHSL().getChannelRange(channel);\n case 'red':\n case 'green':\n case 'blue':\n return this.toRGB().getChannelRange(channel);\n default:\n throw new Error(`Unknown color channel: ${channel}`);\n }\n }\n}\n\nexport function parseColor(value: string | ColorInstance | null | undefined): ColorInstance | null {\n if (!value) return null;\n\n if (value instanceof Color) {\n return value as ColorInstance;\n }\n\n if (typeof value !== 'string') return null;\n\n const str = value.trim();\n\n const hexMatch = str.match(/^#?([0-9a-f]{3,8})$/i);\n\n if (hexMatch) {\n let hex = hexMatch[1];\n\n if (hex.length === 3) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\n } else if (hex.length === 4) {\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2] + hex[3] + hex[3];\n }\n\n if (hex.length === 6) {\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n\n return new RGBColor(r, g, b, 1);\n }\n\n if (hex.length === 8) {\n const r = parseInt(hex.substring(0, 2), 16);\n const g = parseInt(hex.substring(2, 4), 16);\n const b = parseInt(hex.substring(4, 6), 16);\n const a = parseInt(hex.substring(6, 8), 16) / 255;\n\n return new RGBColor(r, g, b, a);\n }\n }\n\n const rgbMatch = str.match(/^rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([\\d.]+))?\\s*\\)$/i);\n\n if (rgbMatch) {\n return new RGBColor(parseInt(rgbMatch[1]), parseInt(rgbMatch[2]), parseInt(rgbMatch[3]), rgbMatch[4] !== undefined ? parseFloat(rgbMatch[4]) : 1);\n }\n\n const hslMatch = str.match(/^hsla?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%?\\s*,\\s*([\\d.]+)%?\\s*(?:,\\s*([\\d.]+))?\\s*\\)$/i);\n\n if (hslMatch) {\n return new HSLColor(parseFloat(hslMatch[1]), parseFloat(hslMatch[2]), parseFloat(hslMatch[3]), hslMatch[4] !== undefined ? parseFloat(hslMatch[4]) : 1);\n }\n\n const hsbMatch = str.match(/^hsba?\\(\\s*([\\d.]+)\\s*,\\s*([\\d.]+)%?\\s*,\\s*([\\d.]+)%?\\s*(?:,\\s*([\\d.]+))?\\s*\\)$/i);\n\n if (hsbMatch) {\n return new HSBColor(parseFloat(hsbMatch[1]), parseFloat(hsbMatch[2]), parseFloat(hsbMatch[3]), hsbMatch[4] !== undefined ? parseFloat(hsbMatch[4]) : 1);\n }\n\n const oklchMatch = str.match(/^oklch\\(\\s*([\\d.]+)(%?)\\s+([\\d.]+)\\s+([\\d.]+)\\s*(?:\\/\\s*([\\d.]+))?\\s*\\)$/i);\n\n if (oklchMatch) {\n const lVal = parseFloat(oklchMatch[1]);\n const l = oklchMatch[2] === '%' ? lVal / 100 : lVal;\n\n return new OKLCHColor(l, parseFloat(oklchMatch[3]), parseFloat(oklchMatch[4]), oklchMatch[5] !== undefined ? parseFloat(oklchMatch[5]) : 1);\n }\n\n return null;\n}\n\nexport function getChannelRange(channel: ColorSliderChannel): ColorChannelRange {\n switch (channel) {\n case 'hue':\n return { minValue: 0, maxValue: 360, step: 1, pageStep: 15 };\n case 'H':\n case 'oklchHue':\n return { minValue: 0, maxValue: 360, step: 1, pageStep: 15 };\n case 'saturation':\n case 'brightness':\n case 'lightness':\n return { minValue: 0, maxValue: 100, step: 1, pageStep: 10 };\n case 'red':\n case 'green':\n case 'blue':\n return { minValue: 0, maxValue: 255, step: 1, pageStep: 17 };\n case 'alpha':\n return { minValue: 0, maxValue: 1, step: 0.01, pageStep: 0.1 };\n case 'L':\n case 'oklchLightness':\n return { minValue: 0, maxValue: 1, step: 0.01, pageStep: 0.1 };\n case 'C':\n case 'oklchChroma':\n return { minValue: 0, maxValue: 0.4, step: 0.01, pageStep: 0.05 };\n default:\n return { minValue: 0, maxValue: 100, step: 1, pageStep: 10 };\n }\n}\n\nexport function getInputChannelRange(channel: ColorInputChannel): ColorChannelRange {\n if (channel === 'hex') {\n return { minValue: 0, maxValue: 0xffffff, step: 1, pageStep: 1 };\n }\n\n return getChannelRange(channel as ColorSliderChannel);\n}\n\nexport function getChannelGradient(color: ColorInstance, channel: ColorSliderChannel, orientation: 'horizontal' | 'vertical' = 'horizontal'): string {\n const range = getChannelRange(channel);\n const direction = orientation === 'horizontal' ? 'right' : 'top';\n\n switch (channel) {\n case 'hue':\n case 'H':\n case 'oklchHue':\n return `linear-gradient(to ${direction}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;\n\n case 'lightness':\n case 'L':\n\n // falls through\n case 'oklchLightness': {\n const start = color.setChannelValue(channel as ColorChannel, range.minValue).toRgbString();\n const middle = color.setChannelValue(channel as ColorChannel, (range.maxValue - range.minValue) / 2).toRgbString();\n const end = color.setChannelValue(channel as ColorChannel, range.maxValue).toRgbString();\n\n return `linear-gradient(to ${direction}, ${start}, ${middle}, ${end})`;\n }\n\n case 'alpha': {\n const start = color.setChannelValue('alpha', range.minValue).toRgbString();\n const end = color.setChannelValue('alpha', range.maxValue).toRgbString();\n\n return `linear-gradient(to ${direction}, ${start}, ${end})`;\n }\n\n default: {\n const start = color.setChannelValue(channel as ColorChannel, range.minValue).toRgbString();\n const end = color.setChannelValue(channel as ColorChannel, range.maxValue).toRgbString();\n\n return `linear-gradient(to ${direction}, ${start}, ${end})`;\n }\n }\n}\n\nconst channelGenerators: Record<string, (color: ColorInstance) => string> = {\n hue: (color) => [0, 60, 120, 180, 240, 300, 360].map((h) => color.setChannelValue('hue', h).toRgbString()).join(', '),\n saturation: (color) => `${color.setChannelValue('saturation', 0).toRgbString()}, transparent`,\n lightness: () => 'black, transparent, white',\n brightness: () => 'black, transparent'\n};\n\nexport function getAreaGradient(color: ColorInstance, xChannel: ColorSliderChannel, yChannel: ColorSliderChannel, format: ColorSpace): string {\n const axes3d = getDefault3DAxes(format);\n const zChannel = axes3d.zChannel;\n const zValue = color.getChannelValue(zChannel as ColorChannel);\n\n const isHSL = format === 'hsla';\n\n let base: ColorInstance;\n\n if (isHSL) {\n base = (parseColor('hsl(0, 100%, 50%)') as ColorInstance).setChannelValue(zChannel as ColorChannel, zValue);\n } else {\n base = (parseColor('hsb(0, 100%, 100%)') as ColorInstance).setChannelValue(zChannel as ColorChannel, zValue);\n }\n\n const channels = [xChannel, yChannel];\n const direction = (c: string) => (c === xChannel ? 'right' : 'top');\n\n const layers = channels\n .map((c) => {\n const gen = channelGenerators[c];\n\n if (!gen) return null;\n\n return `linear-gradient(to ${direction(c)}, ${gen(base)})`;\n })\n .filter(Boolean)\n .reverse() as string[];\n\n const isHueZ = zChannel === 'hue' || zChannel === 'H' || zChannel === 'oklchHue';\n\n if (isHueZ) {\n layers.push(base.toRgbString());\n }\n\n return layers.join(', ');\n}\n\nexport function getChannelColor(color: ColorInstance, channel: ColorChannel): ColorInstance {\n switch (channel) {\n case 'hue':\n return parseColor(`hsl(${color.getChannelValue('hue')}, 100%, 50%)`)!;\n case 'red':\n case 'green':\n case 'blue':\n case 'lightness':\n case 'brightness':\n case 'saturation':\n return color.setChannelValue('alpha', 1);\n case 'alpha':\n return color;\n default:\n return color.setChannelValue('alpha', 1);\n }\n}\n\nfunction toCssString(color: ColorInstance, format: ColorSpace): string {\n const a = round(color.alpha, 2);\n\n switch (format) {\n case 'rgba':\n\n // falls through\n case 'hexa': {\n const rgb = color.toRGB();\n\n return `rgba(${Math.round(rgb.red)}, ${Math.round(rgb.green)}, ${Math.round(rgb.blue)}, ${a})`;\n }\n\n case 'hsla': {\n const hsl = color.toHSL();\n\n return `hsla(${Math.round(hsl.hue) % 360}, ${hsl.saturation.toFixed(2)}%, ${hsl.lightness.toFixed(2)}%, ${a})`;\n }\n\n case 'hsba': {\n // CSS doesn't support hsb, convert to hsl\n const hsl = color.toHSL();\n\n return `hsla(${Math.round(hsl.hue) % 360}, ${hsl.saturation.toFixed(2)}%, ${hsl.lightness.toFixed(2)}%, ${a})`;\n }\n\n case 'oklch': {\n return color.toOKLCH().toString('css');\n }\n\n default:\n return color.toOKLCH().toString('css');\n }\n}\n\nexport function getInputChannelValue(color: ColorInstance, channel: ColorInputChannel, format: ColorSpace = 'hsba'): string {\n if (channel === 'hex') {\n const alphaRange = getChannelRange('alpha');\n\n if (color.alpha < alphaRange.maxValue) {\n return color.toHexa();\n }\n\n return color.toHex();\n }\n\n if (channel === 'css') {\n return toCssString(color, format);\n }\n\n const value = color.getChannelValue(channel);\n\n if (Number.isNaN(value)) return 'NaN';\n\n const range = getChannelRange(channel as ColorSliderChannel);\n\n if (channel === 'H' || channel === 'oklchHue') {\n const rounded = round(value, 2);\n\n return rounded.toString();\n }\n\n if (channel === 'hue') {\n const rounded = Math.round(value);\n\n return rounded.toString();\n }\n\n if (range.step >= 1) {\n return Math.round(value).toString();\n }\n\n return round(value, 4).toString();\n}\n\nexport function getDefault2DAxes(format: ColorSpace): Color2DAxes {\n switch (format) {\n case 'hsla':\n return { xChannel: 'saturation', yChannel: 'lightness' };\n case 'hsba':\n case 'rgba':\n case 'oklch':\n default:\n return { xChannel: 'saturation', yChannel: 'brightness' };\n }\n}\n\nexport function getDefault3DAxes(format: ColorSpace): Color3DAxes {\n switch (format) {\n case 'hsla':\n return { xChannel: 'saturation', yChannel: 'lightness', zChannel: 'hue' };\n case 'hsba':\n case 'rgba':\n case 'oklch':\n default:\n return { xChannel: 'saturation', yChannel: 'brightness', zChannel: 'hue' };\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport type { InputColor } from './inputcolor';\nimport type { InputColorSlider } from './inputcolor-slider';\n\nexport const INPUT_COLOR_INSTANCE = new InjectionToken<InputColor>('INPUT_COLOR_INSTANCE');\nexport const INPUT_COLOR_SLIDER_INSTANCE = new InjectionToken<InputColorSlider>('INPUT_COLOR_SLIDER_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ColorChannel, getAreaGradient, getChannelRange, snapValue } from './color-manager';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport type { InputColorAreaPassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorArea is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-area',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"area\")',\n '[style.--px-area-gradient]': '$areaGradient()',\n '[style.--px-handle-background]': '$handleBackground()',\n '[style.--px-handle-position-left]': '$handleLeft()',\n '[style.--px-handle-position-top]': '$handleTop()',\n '(pointerdown)': 'onPointerDown($event)'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorArea }],\n hostDirectives: [Bind]\n})\nexport class InputColorArea extends BaseComponent<InputColorAreaPassThrough> implements OnDestroy {\n componentName = 'InputColorArea';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n $xChannel = computed(() => this.$pc.$axes().xChannel);\n $yChannel = computed(() => this.$pc.$axes().yChannel);\n\n $areaGradient = computed(() => {\n const color = this.$pc.$color();\n const xCh = this.$xChannel();\n const yCh = this.$yChannel();\n const format = this.$pc.format();\n\n return getAreaGradient(color, xCh, yCh, format);\n });\n\n $handleBackground = computed(() => this.$pc.$color().setChannelValue('alpha', 1).toRgbString());\n\n $handleLeft = computed(() => {\n const xCh = this.$xChannel();\n const range = getChannelRange(xCh);\n const value = this.$pc.$color().getChannelValue(xCh as ColorChannel);\n const pct = ((value - range.minValue) / (range.maxValue - range.minValue)) * 100;\n\n return `${pct}%`;\n });\n\n $handleTop = computed(() => {\n const yCh = this.$yChannel();\n const range = getChannelRange(yCh);\n const value = this.$pc.$color().getChannelValue(yCh as ColorChannel);\n const pct = (1 - (value - range.minValue) / (range.maxValue - range.minValue)) * 100;\n\n return `${pct}%`;\n });\n\n private dragging = false;\n private dragOffset = { x: 0, y: 0 };\n private cleanupDrag: (() => void) | null = null;\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onPointerDown(event: PointerEvent) {\n if (this.$pc.$disabled()) return;\n\n event.preventDefault();\n this.dragging = true;\n\n const el = this.el.nativeElement as HTMLElement;\n\n el.setPointerCapture(event.pointerId);\n\n const handle = (event.target as HTMLElement)?.closest('[data-pc-section=\"areahandle\"], .p-inputcolor-area-handle') as HTMLElement | null;\n\n if (handle) {\n const handleRect = handle.getBoundingClientRect();\n\n this.dragOffset = {\n x: event.clientX - (handleRect.left + handleRect.width / 2),\n y: event.clientY - (handleRect.top + handleRect.height / 2)\n };\n } else {\n this.dragOffset = { x: 0, y: 0 };\n }\n\n this.updateFromPointer(event);\n\n const onMove = (e: PointerEvent) => {\n if (!this.dragging) return;\n\n e.preventDefault();\n this.updateFromPointer(e);\n };\n\n const cleanup = () => {\n this.dragging = false;\n this.cleanupDrag = null;\n el.removeEventListener('pointermove', onMove);\n el.removeEventListener('pointerup', onUp);\n el.removeEventListener('pointercancel', onCancel);\n el.removeEventListener('lostpointercapture', onLostCapture);\n };\n\n this.cleanupDrag = cleanup;\n\n const onUp = (e: PointerEvent) => {\n if (!this.dragging) return;\n\n this.updateFromPointer(e, true);\n this.dragOffset = { x: 0, y: 0 };\n cleanup();\n };\n\n const onCancel = () => {\n cleanup();\n };\n\n const onLostCapture = () => {\n cleanup();\n };\n\n el.addEventListener('pointermove', onMove);\n el.addEventListener('pointerup', onUp);\n el.addEventListener('pointercancel', onCancel);\n el.addEventListener('lostpointercapture', onLostCapture);\n }\n\n ngOnDestroy() {\n this.cleanupDrag?.();\n }\n\n private updateFromPointer(event: PointerEvent, isEnd: boolean = false) {\n const el = this.el.nativeElement as HTMLElement;\n const rect = el.getBoundingClientRect();\n\n const xPercent = Math.max(0, Math.min(1, (event.clientX - this.dragOffset.x - rect.left) / rect.width));\n const yPercent = Math.max(0, Math.min(1, (event.clientY - this.dragOffset.y - rect.top) / rect.height));\n\n const xCh = this.$xChannel();\n const yCh = this.$yChannel();\n const xRange = getChannelRange(xCh);\n const yRange = getChannelRange(yCh);\n\n const xValue = snapValue(xRange.minValue + xPercent * (xRange.maxValue - xRange.minValue), xRange.minValue, xRange.maxValue, xRange.step);\n const yValue = snapValue(yRange.maxValue - yPercent * (yRange.maxValue - yRange.minValue), yRange.minValue, yRange.maxValue, yRange.step);\n\n const nativeColor = this.$pc.toChannelNativeFormat(this.$pc.$color(), xCh as ColorChannel);\n let color = nativeColor.setChannelValue(xCh as ColorChannel, xValue);\n\n color = color.setChannelValue(yCh as ColorChannel, yValue);\n\n this.$pc.updateColor(color, event, isEnd);\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport type { InputColorAreaBackgroundPassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorAreaBackground is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-area-background',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"areaBackground\")'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorAreaBackground }],\n hostDirectives: [Bind]\n})\nexport class InputColorAreaBackground extends BaseComponent<InputColorAreaBackgroundPassThrough> {\n componentName = 'InputColorAreaBackground';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ColorChannel, getChannelRange } from './color-manager';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport type { InputColorAreaHandlePassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorAreaHandle is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-area-handle',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"areaHandle\")',\n '[attr.role]': \"'slider'\",\n '[attr.tabindex]': '$tabindex()',\n '[attr.aria-label]': \"'Color'\",\n '[attr.aria-roledescription]': \"'2d slider'\",\n '[attr.aria-disabled]': '$ariaDisabled()',\n '[attr.aria-valuemin]': '$xMin()',\n '[attr.aria-valuemax]': '$xMax()',\n '[attr.aria-valuenow]': '$xValue()',\n '[attr.aria-valuetext]': '$ariaValueText()',\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorAreaHandle }],\n hostDirectives: [Bind]\n})\nexport class InputColorAreaHandle extends BaseComponent<InputColorAreaHandlePassThrough> {\n componentName = 'InputColorAreaHandle';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n $xChannel = computed(() => this.$pc.$axes().xChannel);\n $yChannel = computed(() => this.$pc.$axes().yChannel);\n\n $xRange = computed(() => getChannelRange(this.$xChannel()));\n $yRange = computed(() => getChannelRange(this.$yChannel()));\n\n $xValue = computed(() => this.$pc.$color().getChannelValue(this.$xChannel() as ColorChannel));\n $yValue = computed(() => this.$pc.$color().getChannelValue(this.$yChannel() as ColorChannel));\n\n $xMin = computed(() => this.$xRange().minValue);\n $xMax = computed(() => this.$xRange().maxValue);\n\n $tabindex = computed(() => (this.$pc.$disabled() ? -1 : 0));\n $ariaDisabled = computed(() => this.$pc.$disabled() || undefined);\n\n $ariaValueText = computed(() => {\n const xCh = this.$xChannel();\n const yCh = this.$yChannel();\n\n return `${xCh} ${this.$xValue()}, ${yCh} ${this.$yValue()}`;\n });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.$pc.$disabled()) return;\n\n const xCh = this.$xChannel();\n const yCh = this.$yChannel();\n const xRange = this.$xRange();\n const yRange = this.$yRange();\n\n let xVal = this.$xValue();\n let yVal = this.$yValue();\n let handled = false;\n\n switch (event.key) {\n case 'ArrowRight':\n xVal = Math.min(xVal + xRange.step, xRange.maxValue);\n handled = true;\n break;\n case 'ArrowLeft':\n xVal = Math.max(xVal - xRange.step, xRange.minValue);\n handled = true;\n break;\n case 'ArrowUp':\n yVal = Math.min(yVal + yRange.step, yRange.maxValue);\n handled = true;\n break;\n case 'ArrowDown':\n yVal = Math.max(yVal - yRange.step, yRange.minValue);\n handled = true;\n break;\n case 'PageUp':\n yVal = Math.min(yVal + yRange.pageStep, yRange.maxValue);\n handled = true;\n break;\n case 'PageDown':\n yVal = Math.max(yVal - yRange.pageStep, yRange.minValue);\n handled = true;\n break;\n case 'Home':\n xVal = xRange.minValue;\n handled = true;\n break;\n case 'End':\n xVal = xRange.maxValue;\n handled = true;\n break;\n }\n\n if (handled) {\n event.preventDefault();\n const nativeColor = this.$pc.toChannelNativeFormat(this.$pc.$color(), xCh as ColorChannel);\n let color = nativeColor.setChannelValue(xCh as ColorChannel, xVal);\n\n color = color.setChannelValue(yCh as ColorChannel, yVal);\n this.$pc.updateColor(color, event, true);\n }\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ButtonDirective, ButtonIcon } from 'primeng/button';\nimport { parseColor } from './color-manager';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport type { InputColorEyeDropperPassThrough } from 'primeng/types/inputcolor';\nimport type { ButtonSeverity, ButtonSize } from 'primeng/types/button';\n\n/**\n * InputColorEyeDropper is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-eyedropper',\n standalone: true,\n imports: [ButtonDirective, ButtonIcon, NgTemplateOutlet],\n template: `\n <ng-template #contentTpl><ng-content /></ng-template>\n <button\n pButton\n type=\"button\"\n [pButtonPT]=\"ptm('pcButton')\"\n [text]=\"text()\"\n [rounded]=\"rounded()\"\n [outlined]=\"outlined()\"\n [severity]=\"severity()\"\n [size]=\"size()\"\n [disabled]=\"$pc.$disabled()\"\n (click)=\"onPickColor($event)\"\n [attr.aria-label]=\"'Pick a color'\"\n >\n @if (iconOnly()) {\n <span pButtonIcon>\n <ng-container *ngTemplateOutlet=\"contentTpl\" />\n </span>\n } @else {\n <ng-container *ngTemplateOutlet=\"contentTpl\" />\n }\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"eyeDropper\")'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorEyeDropper }],\n hostDirectives: [Bind]\n})\nexport class InputColorEyeDropper extends BaseComponent<InputColorEyeDropperPassThrough> {\n componentName = 'InputColorEyeDropper';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n /**\n * Whether to display button as text.\n * @group Props\n */\n text = input<boolean>(false);\n\n /**\n * Whether to display a rounded button.\n * @group Props\n */\n rounded = input<boolean>(false);\n\n /**\n * Whether to display button as outlined.\n * @group Props\n */\n outlined = input<boolean>(false);\n\n /**\n * Whether to display an icon-only button.\n * @group Props\n */\n iconOnly = input<boolean>(false);\n\n /**\n * Defines the color severity of the button.\n * @group Props\n */\n severity = input<ButtonSeverity>(undefined);\n\n /**\n * Defines the size of the button.\n * @group Props\n */\n size = input<ButtonSize | undefined>(undefined);\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n async onPickColor(event: MouseEvent) {\n if (this.$pc.$disabled()) return;\n\n if (!isPlatformBrowser(this.platformId)) return;\n\n try {\n const eyeDropper = new (window as any).EyeDropper();\n const result = await eyeDropper.open();\n\n if (result?.sRGBHex) {\n const parsed = parseColor(result.sRGBHex);\n\n if (parsed) {\n this.$pc.updateColor(parsed, event, true);\n }\n }\n } catch {\n // User cancelled or API not available\n }\n }\n}\n","import { booleanAttribute, computed, Directive, effect, inject, input } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { InputText } from 'primeng/inputtext';\nimport { ColorChannel, ColorInputChannel, ColorSliderChannel, getChannelRange, getInputChannelValue, parseColor } from './color-manager';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\n\n@Directive({\n selector: '[pInputColorInput]',\n standalone: true,\n host: {\n '[attr.disabled]': '$disabled() || null',\n '[attr.data-channel]': 'channel()',\n '(input)': 'onInput($event)',\n '(blur)': 'onBlur($event)',\n '(keydown.enter)': 'onEnter($event)'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorInput }],\n hostDirectives: [\n {\n directive: InputText,\n inputs: ['pSize', 'fluid', 'variant', 'invalid']\n }\n ]\n})\nexport class InputColorInput extends BaseComponent {\n componentName = 'InputColorInput';\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n /**\n * The color channel this input controls.\n * @group Props\n */\n channel = input.required<ColorInputChannel>();\n\n /**\n * The input type attribute.\n * @group Props\n */\n type = input<string>();\n\n /**\n * When present, it specifies that the input should be disabled.\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n $disabled = computed(() => this.disabled() || this.$pc.$disabled());\n\n $inputType = computed(() => {\n const t = this.type();\n\n if (t) return t;\n\n const ch = this.channel();\n\n return ch === 'hex' || ch === 'css' ? 'text' : 'number';\n });\n\n $displayValue = computed(() => {\n const ch = this.channel();\n const color = this.$pc.$color();\n const format = this.$pc.format();\n\n return getInputChannelValue(color, ch, format);\n });\n\n private pendingValue: string | null = null;\n\n constructor() {\n super();\n\n effect(() => {\n this.el.nativeElement.type = this.$inputType();\n });\n\n effect(() => {\n const el = this.el.nativeElement;\n const ch = this.channel();\n\n if (ch !== 'hex' && ch !== 'css') {\n const range = getChannelRange(ch as ColorSliderChannel);\n\n el.min = String(range.minValue);\n el.max = String(range.maxValue);\n el.step = String(range.step);\n }\n });\n\n effect(() => {\n this.el.nativeElement.value = String(this.$displayValue() ?? '');\n });\n }\n\n onInput(event: Event) {\n const target = event.target as HTMLInputElement;\n\n this.pendingValue = target.value;\n }\n\n onBlur(event: FocusEvent) {\n this.commitValue(event);\n }\n\n onEnter(event: Event) {\n this.commitValue(event);\n }\n\n private commitValue(event: Event) {\n if (this.pendingValue === null) return;\n\n const ch = this.channel();\n const value = this.pendingValue;\n\n this.pendingValue = null;\n\n if (ch === 'hex') {\n const hex = value.startsWith('#') ? value : `#${value}`;\n const parsed = parseColor(hex);\n\n if (parsed) {\n this.$pc.updateColor(parsed, event, true);\n }\n } else if (ch === 'css') {\n const parsed = parseColor(value);\n\n if (parsed) {\n this.$pc.updateColor(parsed, event, true);\n }\n } else {\n const numValue = parseFloat(value);\n\n if (!isNaN(numValue)) {\n const range = getChannelRange(ch as ColorSliderChannel);\n const clamped = Math.max(range.minValue, Math.min(range.maxValue, numValue));\n\n this.$pc.setChannelValue(ch as ColorChannel, clamped, event, true);\n }\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, input, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ColorChannel, ColorSliderChannel, getChannelRange, snapValue } from './color-manager';\nimport { INPUT_COLOR_INSTANCE, INPUT_COLOR_SLIDER_INSTANCE } from './inputcolor.token';\nimport type { InputColorSliderPassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorSlider is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-slider',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"slider\")',\n '[class.p-inputcolor-slider-horizontal]': 'orientation() === \"horizontal\"',\n '[class.p-inputcolor-slider-vertical]': 'orientation() === \"vertical\"',\n '[attr.data-orientation]': 'orientation()',\n '(pointerdown)': 'onPointerDown($event)'\n },\n providers: [\n { provide: INPUT_COLOR_SLIDER_INSTANCE, useExisting: InputColorSlider },\n { provide: PARENT_INSTANCE, useExisting: InputColorSlider }\n ],\n hostDirectives: [Bind]\n})\nexport class InputColorSlider extends BaseComponent<InputColorSliderPassThrough> implements OnDestroy {\n componentName = 'InputColorSlider';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n /**\n * The color channel this slider controls.\n * @group Props\n */\n channel = input<ColorSliderChannel>('hue');\n\n /**\n * Orientation of the slider.\n * @group Props\n */\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n private dragging = false;\n private cleanupDrag: (() => void) | null = null;\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onPointerDown(event: PointerEvent) {\n if (this.$pc.$disabled()) return;\n\n event.preventDefault();\n this.dragging = true;\n\n const el = this.el.nativeElement as HTMLElement;\n\n el.setPointerCapture(event.pointerId);\n\n this.updateFromPointer(event);\n\n const onMove = (e: PointerEvent) => {\n if (!this.dragging) return;\n\n e.preventDefault();\n this.updateFromPointer(e);\n };\n\n const cleanup = () => {\n this.dragging = false;\n this.cleanupDrag = null;\n el.removeEventListener('pointermove', onMove);\n el.removeEventListener('pointerup', onUp);\n el.removeEventListener('pointercancel', onCancel);\n el.removeEventListener('lostpointercapture', onLostCapture);\n };\n\n this.cleanupDrag = cleanup;\n\n const onUp = (e: PointerEvent) => {\n if (!this.dragging) return;\n\n this.updateFromPointer(e, true);\n cleanup();\n };\n\n const onCancel = () => {\n cleanup();\n };\n\n const onLostCapture = () => {\n cleanup();\n };\n\n el.addEventListener('pointermove', onMove);\n el.addEventListener('pointerup', onUp);\n el.addEventListener('pointercancel', onCancel);\n el.addEventListener('lostpointercapture', onLostCapture);\n }\n\n ngOnDestroy() {\n this.cleanupDrag?.();\n }\n\n private updateFromPointer(event: PointerEvent, isEnd: boolean = false) {\n const el = this.el.nativeElement as HTMLElement;\n const rect = el.getBoundingClientRect();\n const ch = this.channel();\n const range = getChannelRange(ch);\n\n let percent: number;\n\n if (this.orientation() === 'vertical') {\n percent = 1 - Math.max(0, Math.min(1, (event.clientY - rect.top) / rect.height));\n } else {\n percent = Math.max(0, Math.min(1, (event.clientX - rect.left) / rect.width));\n }\n\n const rawValue = range.minValue + percent * (range.maxValue - range.minValue);\n const value = snapValue(rawValue, range.minValue, range.maxValue, range.step);\n\n this.$pc.setChannelValue(ch as ColorChannel, value, event, isEnd);\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ColorChannel, getChannelColor, getChannelRange } from './color-manager';\nimport { INPUT_COLOR_INSTANCE, INPUT_COLOR_SLIDER_INSTANCE } from './inputcolor.token';\nimport type { InputColorSliderHandlePassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorSliderHandle is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-slider-handle',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"sliderHandle\")',\n '[style.--px-slider-handle-background]': '$handleColor()',\n '[style.left]': '$left()',\n '[style.top]': '$top()',\n '[style.translate]': '$translate()',\n '[attr.role]': \"'slider'\",\n '[attr.tabindex]': '$tabindex()',\n '[attr.aria-label]': '$channel()',\n '[attr.aria-disabled]': '$ariaDisabled()',\n '[attr.aria-valuemin]': '$range().minValue',\n '[attr.aria-valuemax]': '$range().maxValue',\n '[attr.aria-valuenow]': '$value()',\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorSliderHandle }],\n hostDirectives: [Bind]\n})\nexport class InputColorSliderHandle extends BaseComponent<InputColorSliderHandlePassThrough> {\n componentName = 'InputColorSliderHandle';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n private pcSlider = inject(INPUT_COLOR_SLIDER_INSTANCE);\n\n $channel = computed(() => this.pcSlider.channel());\n $isVertical = computed(() => this.pcSlider.orientation() === 'vertical');\n $range = computed(() => getChannelRange(this.$channel()));\n $value = computed(() => this.$pc.$color().getChannelValue(this.$channel() as ColorChannel));\n\n $tabindex = computed(() => (this.$pc.$disabled() ? -1 : 0));\n $ariaDisabled = computed(() => this.$pc.$disabled() || undefined);\n\n $handlePosition = computed(() => {\n const range = this.$range();\n const value = this.$value();\n const pct = ((value - range.minValue) / (range.maxValue - range.minValue)) * 100;\n\n return `${pct}%`;\n });\n\n $handlePositionVertical = computed(() => {\n const range = this.$range();\n const value = this.$value();\n const pct = 100 - ((value - range.minValue) / (range.maxValue - range.minValue)) * 100;\n\n return `${pct}%`;\n });\n\n $left = computed(() => (this.$isVertical() ? null : this.$handlePosition()));\n $top = computed(() => (this.$isVertical() ? this.$handlePositionVertical() : null));\n $translate = computed(() => (this.$isVertical() ? '0 -50%' : '-50% 0'));\n\n $handleColor = computed(() => getChannelColor(this.$pc.$color(), this.$channel() as ColorChannel).toRgbString());\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.$pc.$disabled()) return;\n\n const ch = this.$channel();\n const range = this.$range();\n let value = this.$value();\n let handled = false;\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n value = Math.min(value + range.step, range.maxValue);\n handled = true;\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n value = Math.max(value - range.step, range.minValue);\n handled = true;\n break;\n case 'PageUp':\n value = Math.min(value + range.pageStep, range.maxValue);\n handled = true;\n break;\n case 'PageDown':\n value = Math.max(value - range.pageStep, range.minValue);\n handled = true;\n break;\n case 'Home':\n value = range.minValue;\n handled = true;\n break;\n case 'End':\n value = range.maxValue;\n handled = true;\n break;\n }\n\n if (handled) {\n event.preventDefault();\n this.$pc.setChannelValue(ch as ColorChannel, value, event, true);\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { getChannelGradient } from './color-manager';\nimport { INPUT_COLOR_INSTANCE, INPUT_COLOR_SLIDER_INSTANCE } from './inputcolor.token';\nimport type { InputColorSliderTrackPassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorSliderTrack is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-slider-track',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"sliderTrack\")',\n '[style.--px-slider-background]': '$gradient()'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorSliderTrack }],\n hostDirectives: [Bind]\n})\nexport class InputColorSliderTrack extends BaseComponent<InputColorSliderTrackPassThrough> {\n componentName = 'InputColorSliderTrack';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n private pcSlider = inject(INPUT_COLOR_SLIDER_INSTANCE);\n\n $gradient = computed(() => {\n const ch = this.pcSlider.channel();\n const color = this.$pc.$color();\n const orientation = this.pcSlider.orientation();\n\n return getChannelGradient(color, ch, orientation);\n });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport type { InputColorSwatchPassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorSwatch is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-swatch',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"swatch\")'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorSwatch }],\n hostDirectives: [Bind]\n})\nexport class InputColorSwatch extends BaseComponent<InputColorSwatchPassThrough> {\n componentName = 'InputColorSwatch';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport type { InputColorSwatchBackgroundPassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorSwatchBackground is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-swatch-background',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"swatchBackground\")',\n '[style.--px-swatch-background]': '$swatchColor()'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorSwatchBackground }],\n hostDirectives: [Bind]\n})\nexport class InputColorSwatchBackground extends BaseComponent<InputColorSwatchBackgroundPassThrough> {\n componentName = 'InputColorSwatchBackground';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n $swatchColor = computed(() => this.$pc.$color().toRgbString());\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport type { InputColorTransparencyGridPassThrough } from 'primeng/types/inputcolor';\n\n/**\n * InputColorTransparencyGrid is a helper component for InputColor component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor-transparency-grid',\n standalone: true,\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '$pc.cx(\"transparencyGrid\")'\n },\n providers: [{ provide: PARENT_INSTANCE, useExisting: InputColorTransparencyGrid }],\n hostDirectives: [Bind]\n})\nexport class InputColorTransparencyGrid extends BaseComponent<InputColorTransparencyGridPassThrough> {\n componentName = 'InputColorTransparencyGrid';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n $pc = inject(INPUT_COLOR_INSTANCE);\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/inputcolor';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-inputcolor p-component',\n area: 'p-inputcolor-area',\n areaHandle: ({ instance }) => ['p-inputcolor-area-handle', { 'p-disabled': instance.$disabled() }],\n areaBackground: 'p-inputcolor-area-background',\n slider: 'p-inputcolor-slider',\n sliderHandle: ({ instance }) => ['p-inputcolor-slider-handle', { 'p-disabled': instance.$disabled() }],\n sliderTrack: 'p-inputcolor-slider-track',\n transparencyGrid: 'p-inputcolor-transparency-grid',\n swatch: 'p-inputcolor-swatch',\n swatchBackground: 'p-inputcolor-swatch-background',\n eyeDropper: 'p-inputcolor-eyedropper'\n};\n\n@Injectable()\nexport class InputColorStyle extends BaseStyle {\n name = 'inputcolor';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * InputColor is a composable color picker component.\n *\n * [Live Demo](https://www.primeng.org/inputcolor/)\n *\n * @module inputcolorstyle\n *\n */\nexport enum InputColorClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputcolor',\n /**\n * Class name of the area element\n */\n area = 'p-inputcolor-area',\n /**\n * Class name of the area background element\n */\n areaBackground = 'p-inputcolor-area-background',\n /**\n * Class name of the area handle element\n */\n areaHandle = 'p-inputcolor-area-handle',\n /**\n * Class name of the slider element\n */\n slider = 'p-inputcolor-slider',\n /**\n * Class name of the slider track element\n */\n sliderTrack = 'p-inputcolor-slider-track',\n /**\n * Class name of the slider handle element\n */\n sliderHandle = 'p-inputcolor-slider-handle',\n /**\n * Class name of the swatch element\n */\n swatch = 'p-inputcolor-swatch',\n /**\n * Class name of the swatch background element\n */\n swatchBackground = 'p-inputcolor-swatch-background',\n /**\n * Class name of the transparency grid element\n */\n transparencyGrid = 'p-inputcolor-transparency-grid',\n /**\n * Class name of the input element\n */\n input = 'p-inputcolor-input',\n /**\n * Class name of the eye dropper element\n */\n eyeDropper = 'p-inputcolor-eyedropper'\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, NgModule, output, Provider, signal, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { ColorChannel, ColorInstance, ColorSpace, getDefault2DAxes, HSBColor, HSLColor, OKLCHColor, parseColor, RGBColor } from './color-manager';\nimport { InputColorArea } from './inputcolor-area';\nimport { InputColorAreaBackground } from './inputcolor-area-background';\nimport { InputColorAreaHandle } from './inputcolor-area-handle';\nimport { InputColorEyeDropper } from './inputcolor-eyedropper';\nimport { InputColorInput } from './inputcolor-input';\nimport { InputColorSlider } from './inputcolor-slider';\nimport { InputColorSliderHandle } from './inputcolor-slider-handle';\nimport { InputColorSliderTrack } from './inputcolor-slider-track';\nimport { InputColorSwatch } from './inputcolor-swatch';\nimport { InputColorSwatchBackground } from './inputcolor-swatch-background';\nimport { InputColorTransparencyGrid } from './inputcolor-transparency-grid';\nimport { INPUT_COLOR_INSTANCE } from './inputcolor.token';\nimport { InputColorStyle } from './style/inputcolorstyle';\nimport type { InputColorPassThrough } from 'primeng/types/inputcolor';\n\nexport const INPUT_COLOR_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputColor),\n multi: true\n};\n\n/**\n * InputColor is a composable color picker component.\n * @group Components\n */\n@Component({\n selector: 'p-inputcolor, p-input-color',\n standalone: true,\n imports: [SharedModule],\n template: `<ng-content></ng-content>`,\n providers: [INPUT_COLOR_VALUE_ACCESSOR, InputColorStyle, { provide: INPUT_COLOR_INSTANCE, useExisting: InputColor }, { provide: PARENT_INSTANCE, useExisting: InputColor }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.data-pc-name]': \"'inputcolor'\",\n '[attr.data-pc-section]': \"'root'\",\n '[class]': \"cx('root')\"\n },\n hostDirectives: [Bind]\n})\nexport class InputColor extends BaseComponent<InputColorPassThrough> implements ControlValueAccessor {\n componentName = 'InputColor';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n _componentStyle = inject(InputColorStyle);\n\n /**\n * Color format/space used internally.\n * @group Props\n */\n format = input<ColorSpace>('hsba');\n\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n disabled = input(false, { transform: booleanAttribute });\n\n _disabled = signal<boolean>(false);\n\n $disabled = computed(() => this.disabled() || this._disabled());\n\n /**\n * Callback on value change (during interaction).\n * @group Emits\n */\n onValueChange = output<{ color: ColorInstance; originalEvent?: Event }>();\n\n /**\n * Callback when interaction ends (mouseup/touchend/keyup).\n * @group Emits\n */\n onValueChangeEnd = output<{ color: ColorInstance; originalEvent?: Event }>();\n\n // Internal color state\n _color = signal<ColorInstance | null>(null);\n\n // Computed color - resolved from internal state or fallback\n $color = computed<ColorInstance>(() => this._color() || (parseColor('#ff0000') as ColorInstance).toFormat(this.format()));\n\n // Computed 2D axes based on format\n $axes = computed(() => getDefault2DAxes(this.format()));\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n\n /**\n * Update color and emit changes\n */\n updateColor(color: ColorInstance, event?: Event, isEnd: boolean = false) {\n this._color.set(color);\n\n const outputValue = color.toString(this.format());\n\n this.onModelChange(outputValue);\n\n this.onValueChange.emit({ color, originalEvent: event });\n\n if (isEnd) {\n this.onValueChangeEnd.emit({ color, originalEvent: event });\n this.onModelTouched();\n }\n }\n\n /**\n * Set a specific channel value\n */\n setChannelValue(channel: ColorChannel, value: number, event?: Event, isEnd: boolean = false) {\n const color = this.toChannelNativeFormat(this.$color(), channel);\n const newColor = color.setChannelValue(channel, value);\n\n this.updateColor(newColor, event, isEnd);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n onModelChange: Function = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n onModelTouched: Function = () => {};\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n registerOnChange(fn: Function) {\n this.onModelChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n registerOnTouched(fn: Function) {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean) {\n this._disabled.set(val);\n }\n\n writeValue(value: any) {\n if (value) {\n const current = this._color();\n\n if (current && current.toString(this.format()) === value) {\n return;\n }\n\n const parsed = parseColor(value);\n\n if (parsed) {\n this._color.set(parsed.toFormat(this.format()));\n }\n } else {\n this._color.set(null);\n }\n }\n\n toChannelNativeFormat(color: ColorInstance, channel: ColorChannel): ColorInstance {\n // If the current color natively supports this channel, don't convert\n if (color instanceof HSBColor && (channel === 'hue' || channel === 'saturation' || channel === 'brightness')) return color;\n\n if (color instanceof HSLColor && (channel === 'hue' || channel === 'saturation' || channel === 'lightness')) return color;\n\n if (color instanceof RGBColor && (channel === 'red' || channel === 'green' || channel === 'blue')) return color;\n\n if (color instanceof OKLCHColor && (channel === 'oklchLightness' || channel === 'oklchChroma' || channel === 'oklchHue' || channel === 'L' || channel === 'C' || channel === 'H')) return color;\n\n // Otherwise convert to the appropriate format\n switch (channel) {\n case 'hue':\n case 'saturation':\n case 'brightness':\n return color.toHSB();\n case 'lightness':\n return color.toHSL();\n case 'red':\n case 'green':\n case 'blue':\n return color.toRGB();\n case 'oklchLightness':\n case 'oklchChroma':\n case 'oklchHue':\n case 'L':\n case 'C':\n case 'H':\n return color.toOKLCH();\n case 'alpha':\n default:\n return color;\n }\n }\n}\n\n@NgModule({\n imports: [\n InputColor,\n InputColorArea,\n InputColorAreaHandle,\n InputColorAreaBackground,\n InputColorSlider,\n InputColorSliderHandle,\n InputColorSliderTrack,\n InputColorSwatch,\n InputColorSwatchBackground,\n InputColorTransparencyGrid,\n InputColorInput,\n InputColorEyeDropper,\n SharedModule\n ],\n exports: [\n InputColor,\n InputColorArea,\n InputColorAreaHandle,\n InputColorAreaBackground,\n InputColorSlider,\n InputColorSliderHandle,\n InputColorSliderTrack,\n InputColorSwatch,\n InputColorSwatchBackground,\n InputColorTransparencyGrid,\n InputColorInput,\n InputColorEyeDropper,\n SharedModule\n ]\n})\nexport class InputColorModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-inputgroup.mjs","names":["style","inputgroup_style"],"sources":["../../src/inputgroup/style/inputgroupstyle.ts","../../src/inputgroup/inputgroup.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style as inputgroup_style } from '@primeuix/styles/inputgroup';\nimport { BaseStyle } from 'primeng/base';\n\nconst style = /*css*/ `\n ${inputgroup_style}\n\n /*For PrimeNG, cleanup after button and inputmask removal */\n .p-inputgroup:first-child > p-button > .p-button {\n border-radius: 0;\n margin: 0;\n }\n\n .p-inputgroup p-button:first-child,\n .p-inputgroup p-button:last-child {\n display: inline-flex;\n }\n\n .p-inputgroup:has(> p-button:first-child) .p-button {\n border-start-start-radius: dt('inputgroup.addon.border.radius');\n border-end-start-radius: dt('inputgroup.addon.border.radius');\n }\n\n .p-inputgroup:has(> p-button:last-child) .p-button {\n border-start-end-radius: dt('inputgroup.addon.border.radius');\n border-end-end-radius: dt('inputgroup.addon.border.radius');\n }\n\n .p-inputgroup > p-inputmask > .p-inputtext {\n width: 100%;\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-inputgroup',\n {\n 'p-inputgroup-fluid': instance.fluid\n }\n ]\n};\n\n@Injectable()\nexport class InputGroupStyle extends BaseStyle {\n name = 'inputgroup';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * InputGroup displays text, icon, buttons and other content can be grouped next to an input.\n *\n * [Live Demo](https://www.primeng.org/inputgroup/)\n *\n * @module inputgroupstyle\n *\n */\n\nexport enum InputGroupClasses {\n /**\n * Class name of the root element\n */\n root = 'p-inputgroup'\n}\n","import { Component, inject, InjectionToken, NgModule } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { InputGroupPassThrough } from 'primeng/types/inputgroup';\nimport { InputGroupStyle } from './style/inputgroupstyle';\n\nconst INPUTGROUP_INSTANCE = new InjectionToken<InputGroup>('INPUTGROUP_INSTANCE');\n\n/**\n * InputGroup displays text, icon, buttons and other content can be grouped next to an input.\n * @group Components\n */\n@Component({\n selector: 'p-inputgroup, p-input-group',\n standalone: true,\n imports: [BindModule],\n template: ` <ng-content></ng-content> `,\n providers: [InputGroupStyle, { provide: INPUTGROUP_INSTANCE, useExisting: InputGroup }, { provide: PARENT_INSTANCE, useExisting: InputGroup }],\n hostDirectives: [Bind],\n host: {\n '[class]': \"cx('root')\"\n }\n})\nexport class InputGroup extends BaseComponent<InputGroupPassThrough> {\n componentName = 'InputGroup';\n\n _componentStyle = inject(InputGroupStyle);\n\n $pcInputGroup: InputGroup | undefined = inject(INPUTGROUP_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n\n@NgModule({\n imports: [InputGroup, SharedModule],\n exports: [InputGroup, SharedModule]\n})\nexport class InputGroupModule {}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-inputgroupaddon.mjs","names":[],"sources":["../../src/inputgroupaddon/style/inputgroupaddonstyle.ts","../../src/inputgroupaddon/inputgroupaddon.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-inputgroupaddon'\n};\n\n@Injectable()\nexport class InputGroupAddonStyle extends BaseStyle {\n name = 'inputgroupaddon';\n\n classes = classes;\n}\n","import { Component, inject, InjectionToken, NgModule } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { InputGroupAddonPassThrough } from 'primeng/types/inputgroupaddon';\nimport { InputGroupAddonStyle } from './style/inputgroupaddonstyle';\n\nconst INPUTGROUPADDON_INSTANCE = new InjectionToken<InputGroupAddon>('INPUTGROUPADDON_INSTANCE');\n\n/**\n * InputGroupAddon displays text, icon, buttons and other content can be grouped next to an input.\n * @group Components\n */\n@Component({\n selector: 'p-inputgroup-addon',\n template: ` <ng-content></ng-content> `,\n standalone: true,\n imports: [BindModule],\n host: {\n '[class]': \"cx('root')\"\n },\n providers: [InputGroupAddonStyle, { provide: INPUTGROUPADDON_INSTANCE, useExisting: InputGroupAddon }, { provide: PARENT_INSTANCE, useExisting: InputGroupAddon }],\n hostDirectives: [Bind]\n})\nexport class InputGroupAddon extends BaseComponent<InputGroupAddonPassThrough> {\n componentName = 'InputGroupAddon';\n\n _componentStyle = inject(InputGroupAddonStyle);\n\n $pcInputGroupAddon: InputGroupAddon | undefined = inject(INPUTGROUPADDON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked(): void {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n\n@NgModule({\n imports: [InputGroupAddon, SharedModule],\n exports: [InputGroupAddon, SharedModule]\n})\nexport class InputGroupAddonModule {}\n"],"mappings":";;;;;;;AAGA,MAAM,UAAU,EACZ,MAAM,oBACT;AAGD,IAAa,uBAAb,MAAa,6BAA6B,UAAS;CAC/C,OAAO;CAEP,UAAU;CAHD,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAoB,MAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAApB,OAAA,QAAA,GAAA,sBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;CAAoB,CAAA;;AAApB,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAoB,YAAA,CAAA,EADhC,MAAA,WAAA,CAAA;;ACAD,MAAM,2BAA2B,IAAI,eAAgC,0BAA0B;AAiB/F,IAAa,kBAAb,MAAa,wBAAwB,cAAyC;CAC1E,gBAAgB;CAEhB,kBAAkB,OAAO,oBAAoB;CAE7C,qBAAkD,OAAO,0BAA0B;EAAE,UAAU;EAAM,UAAU;CAAI,CAAE,KAAK;CAE1H,wBAAwB,OAAO,MAAM,EAAE,MAAM,KAAI,CAAE;CAEnD,qBAAkB;EACd,KAAK,sBAAsB,SAAS,KAAK,KAAK,CAAC,QAAQ,MAAM,CAAC,CAAC;CACnE;CAXS,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAe,MAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAf,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAe,cAAA;EAAA,UAAA;EAAA,MAAA,EAAA,YAAA,EAAA,SAAA,aAAA,EAAA;EAAA,WAHb;GAAC;GAAsB;IAAE,SAAS;IAA0B,aAAa;GAAe;GAAI;IAAE,SAAS;IAAiB,aAAa;GAAe;EAAE;EAAC,iBAAA;EAAA,gBAAA,CAAA,EAAA,WAAA,GAAA,KAAA,CAAA;EAAA,UAAA;EAAA,UANxJ;EAA6B,UAAA;EAAA,cAAA,CAAA;GAAA,MAAA;GAAA,MAE7B;EAAU,CAAA;CAAA,CAAA;;AAOX,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAe,YAAA,CAAA;EAX3B,MAAA;EAAU,MAAA,CAAA;GACP,UAAU;GACV,UAAU;GACV,YAAY;GACZ,SAAS,CAAC,UAAU;GACpB,MAAM,EACF,WAAW,aACd;GACD,WAAW;IAAC;IAAsB;KAAE,SAAS;KAA0B,aAAW;IAAiB;IAAI;KAAE,SAAS;KAAiB,aAAW;IAAiB;GAAE;GACjK,gBAAgB,CAAC,IAAI;EACxB,CAAA;;;AAmBD,IAAa,wBAAb,MAAa,sBAAqB;CAArB,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAqB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAArB,OAAA,OAAA,GAAA,oBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAqB,SAAA,CAlBrB,iBAekB,YAAY;EAAA,SAAA,CAf9B,iBAgBkB,YAAY;CAAA,CAAA;CAE9B,OAAA,OAAA,GAAA,oBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAqB,SAAA;GAHpB;GAAiB;GACA;EAAY;CAAA,CAAA;;AAE9B,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAqB,YAAA,CAAA;EAJjC,MAAA;EAAS,MAAA,CAAA;GACN,SAAS,CAAC,iBAAiB,YAAY;GACvC,SAAS,CAAC,iBAAiB,YAAY;EAC1C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"primeng-inputicon.mjs","names":[],"sources":["../../src/inputicon/style/inputiconstyle.ts","../../src/inputicon/inputicon.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: 'p-inputicon'\n};\n\n@Injectable()\nexport class InputIconStyle extends BaseStyle {\n name = 'inputicon';\n\n classes = classes;\n}\n","import { ChangeDetectionStrategy, Component, inject, InjectionToken, input, NgModule, ViewEncapsulation } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind } from 'primeng/bind';\nimport { InputIconPassThrough } from 'primeng/types/inputicon';\nimport { InputIconStyle } from './style/inputiconstyle';\n\nconst INPUTICON_INSTANCE = new InjectionToken<InputIcon>('INPUTICON_INSTANCE');\n\n/**\n * InputIcon displays an icon.\n * @group Components\n */\n@Component({\n selector: 'p-inputicon',\n standalone: true,\n imports: [SharedModule],\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [InputIconStyle, { provide: INPUTICON_INSTANCE, useExisting: InputIcon }, { provide: PARENT_INSTANCE, useExisting: InputIcon }],\n hostDirectives: [Bind],\n host: {\n '[class]': \"cx('root')\"\n }\n})\nexport class InputIcon extends BaseComponent<InputIconPassThrough> {\n componentName = 'InputIcon';\n\n hostName = input('');\n\n _componentStyle = inject(InputIconStyle);\n\n $pcInputIcon: InputIcon | undefined = inject(INPUTICON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n }\n}\n\n@NgModule({\n imports: [InputIcon, SharedModule],\n exports: [InputIcon, SharedModule]\n})\nexport class InputIconModule {}\n"],"mappings":"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"}