primevue 4.0.7 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/autocomplete/AutoComplete.vue +50 -50
  2. package/autocomplete/index.d.ts +5 -1
  3. package/autocomplete/index.mjs +11 -8
  4. package/autocomplete/index.mjs.map +1 -1
  5. package/autocomplete/style/index.d.ts +4 -0
  6. package/autocomplete/style/index.mjs +3 -2
  7. package/autocomplete/style/index.mjs.map +1 -1
  8. package/button/BaseButton.vue +2 -2
  9. package/button/Button.vue +1 -1
  10. package/button/index.d.ts +2 -2
  11. package/button/index.mjs +7 -6
  12. package/button/index.mjs.map +1 -1
  13. package/carousel/Carousel.vue +2 -7
  14. package/carousel/index.mjs +2 -7
  15. package/carousel/index.mjs.map +1 -1
  16. package/carousel/style/index.mjs +1 -1
  17. package/carousel/style/index.mjs.map +1 -1
  18. package/cascadeselect/BaseCascadeSelect.vue +4 -0
  19. package/cascadeselect/CascadeSelect.vue +53 -10
  20. package/cascadeselect/CascadeSelectSub.vue +24 -27
  21. package/cascadeselect/index.d.ts +41 -1
  22. package/cascadeselect/index.mjs +114 -73
  23. package/cascadeselect/index.mjs.map +1 -1
  24. package/cascadeselect/style/index.mjs +13 -6
  25. package/cascadeselect/style/index.mjs.map +1 -1
  26. package/colorpicker/BaseColorPicker.vue +2 -1
  27. package/colorpicker/ColorPicker.vue +3 -3
  28. package/colorpicker/index.d.ts +6 -1
  29. package/colorpicker/index.mjs +11 -4
  30. package/colorpicker/index.mjs.map +1 -1
  31. package/config/index.d.ts +9 -3
  32. package/confirmationoptions/index.d.ts +12 -0
  33. package/confirmdialog/ConfirmDialog.vue +11 -1
  34. package/confirmdialog/index.d.ts +3 -7
  35. package/confirmdialog/index.mjs +12 -2
  36. package/confirmdialog/index.mjs.map +1 -1
  37. package/contextmenu/BaseContextMenu.vue +4 -0
  38. package/contextmenu/ContextMenu.vue +37 -10
  39. package/contextmenu/index.d.ts +10 -5
  40. package/contextmenu/index.mjs +57 -28
  41. package/contextmenu/index.mjs.map +1 -1
  42. package/contextmenu/style/index.mjs +10 -5
  43. package/contextmenu/style/index.mjs.map +1 -1
  44. package/datatable/BaseDataTable.vue +4 -0
  45. package/datatable/DataTable.vue +5 -10
  46. package/datatable/HeaderCheckbox.vue +1 -1
  47. package/datatable/TableBody.vue +1 -1
  48. package/datatable/TableHeader.vue +51 -51
  49. package/datatable/index.d.ts +5 -0
  50. package/datatable/index.mjs +90 -87
  51. package/datatable/index.mjs.map +1 -1
  52. package/datatable/style/index.mjs +1 -1
  53. package/datatable/style/index.mjs.map +1 -1
  54. package/datepicker/DatePicker.vue +13 -11
  55. package/datepicker/index.d.ts +2 -10
  56. package/datepicker/index.mjs +12 -10
  57. package/datepicker/index.mjs.map +1 -1
  58. package/datepicker/style/index.mjs +3 -3
  59. package/datepicker/style/index.mjs.map +1 -1
  60. package/dialog/Dialog.vue +4 -10
  61. package/dialog/index.mjs +3 -10
  62. package/dialog/index.mjs.map +1 -1
  63. package/drawer/index.d.ts +5 -1
  64. package/fieldset/index.d.ts +2 -6
  65. package/fileupload/index.d.ts +1 -1
  66. package/floatlabel/BaseFloatLabel.vue +6 -1
  67. package/floatlabel/index.d.ts +7 -2
  68. package/floatlabel/index.mjs +6 -1
  69. package/floatlabel/index.mjs.map +1 -1
  70. package/floatlabel/style/index.d.ts +2 -2
  71. package/floatlabel/style/index.mjs +10 -2
  72. package/floatlabel/style/index.mjs.map +1 -1
  73. package/focustrap/index.d.ts +1 -1
  74. package/galleria/index.d.ts +8 -8
  75. package/galleria/style/index.mjs +2 -2
  76. package/galleria/style/index.mjs.map +1 -1
  77. package/iftalabel/BaseIftaLabel.vue +16 -0
  78. package/iftalabel/IftaLabel.vue +15 -0
  79. package/iftalabel/index.d.ts +130 -0
  80. package/iftalabel/index.mjs +32 -0
  81. package/iftalabel/index.mjs.map +1 -0
  82. package/iftalabel/package.json +11 -0
  83. package/iftalabel/style/index.d.ts +19 -0
  84. package/iftalabel/style/index.mjs +17 -0
  85. package/iftalabel/style/index.mjs.map +1 -0
  86. package/iftalabel/style/package.json +6 -0
  87. package/imagecompare/BaseImageCompare.vue +30 -0
  88. package/imagecompare/ImageCompare.vue +24 -0
  89. package/imagecompare/index.d.ts +149 -0
  90. package/imagecompare/index.mjs +61 -0
  91. package/imagecompare/index.mjs.map +1 -0
  92. package/imagecompare/package.json +11 -0
  93. package/imagecompare/style/index.d.ts +23 -0
  94. package/imagecompare/style/index.mjs +18 -0
  95. package/imagecompare/style/index.mjs.map +1 -0
  96. package/imagecompare/style/package.json +6 -0
  97. package/inputgroup/BaseInputGroup.vue +0 -6
  98. package/inputgroup/InputGroup.vue +1 -10
  99. package/inputgroup/index.d.ts +0 -5
  100. package/inputgroup/index.mjs +1 -18
  101. package/inputgroup/index.mjs.map +1 -1
  102. package/inputgroup/style/index.mjs +2 -7
  103. package/inputgroup/style/index.mjs.map +1 -1
  104. package/inputmask/InputMask.vue +23 -17
  105. package/inputmask/index.mjs +21 -16
  106. package/inputmask/index.mjs.map +1 -1
  107. package/inputnumber/InputNumber.vue +2 -2
  108. package/inputnumber/index.d.ts +1 -1
  109. package/inputnumber/index.mjs +2 -2
  110. package/inputnumber/index.mjs.map +1 -1
  111. package/inputnumber/style/index.mjs +2 -2
  112. package/inputnumber/style/index.mjs.map +1 -1
  113. package/inputotp/BaseInputOtp.vue +1 -1
  114. package/inputotp/InputOtp.vue +6 -12
  115. package/inputotp/index.d.ts +2 -2
  116. package/inputotp/index.mjs +11 -12
  117. package/inputotp/index.mjs.map +1 -1
  118. package/inputotp/style/index.mjs +1 -1
  119. package/inputotp/style/index.mjs.map +1 -1
  120. package/inputtext/style/index.mjs +1 -1
  121. package/inputtext/style/index.mjs.map +1 -1
  122. package/keyfilter/index.d.ts +153 -0
  123. package/keyfilter/index.mjs +127 -0
  124. package/keyfilter/index.mjs.map +1 -0
  125. package/keyfilter/package.json +5 -0
  126. package/keyfilter/style/index.d.ts +14 -0
  127. package/keyfilter/style/index.mjs +8 -0
  128. package/keyfilter/style/index.mjs.map +1 -0
  129. package/keyfilter/style/package.json +6 -0
  130. package/megamenu/MegaMenu.vue +4 -4
  131. package/megamenu/index.d.ts +4 -0
  132. package/megamenu/index.mjs +2 -2
  133. package/megamenu/index.mjs.map +1 -1
  134. package/message/Message.vue +3 -19
  135. package/message/index.mjs +4 -20
  136. package/message/index.mjs.map +1 -1
  137. package/multiselect/BaseMultiSelect.vue +1 -5
  138. package/multiselect/MultiSelect.vue +16 -14
  139. package/multiselect/index.d.ts +2 -20
  140. package/multiselect/index.mjs +15 -17
  141. package/multiselect/index.mjs.map +1 -1
  142. package/multiselect/style/index.mjs +1 -1
  143. package/multiselect/style/index.mjs.map +1 -1
  144. package/orderlist/OrderList.vue +4 -8
  145. package/orderlist/index.d.ts +1 -5
  146. package/orderlist/index.mjs +3 -7
  147. package/orderlist/index.mjs.map +1 -1
  148. package/package.json +5 -5
  149. package/paginator/JumpToPageInput.vue +1 -1
  150. package/paginator/Paginator.vue +4 -16
  151. package/paginator/index.d.ts +1 -1
  152. package/paginator/index.mjs +4 -21
  153. package/paginator/index.mjs.map +1 -1
  154. package/paginator/style/index.d.ts +1 -1
  155. package/paginator/style/index.mjs +1 -1
  156. package/paginator/style/index.mjs.map +1 -1
  157. package/panelmenu/index.d.ts +1 -1
  158. package/password/BasePassword.vue +4 -0
  159. package/password/Password.vue +4 -3
  160. package/password/index.d.ts +6 -1
  161. package/password/index.mjs +10 -5
  162. package/password/index.mjs.map +1 -1
  163. package/password/style/index.mjs +1 -1
  164. package/password/style/index.mjs.map +1 -1
  165. package/picklist/PickList.vue +4 -8
  166. package/picklist/index.d.ts +1 -13
  167. package/picklist/index.mjs +3 -7
  168. package/picklist/index.mjs.map +1 -1
  169. package/popover/Popover.vue +4 -10
  170. package/popover/index.d.ts +1 -1
  171. package/popover/index.mjs +3 -9
  172. package/popover/index.mjs.map +1 -1
  173. package/progressspinner/index.d.ts +1 -1
  174. package/rating/style/index.mjs +1 -1
  175. package/rating/style/index.mjs.map +1 -1
  176. package/scrolltop/ScrollTop.vue +2 -9
  177. package/scrolltop/index.d.ts +1 -6
  178. package/scrolltop/index.mjs +3 -9
  179. package/scrolltop/index.mjs.map +1 -1
  180. package/select/Select.vue +13 -6
  181. package/select/index.mjs +54 -45
  182. package/select/index.mjs.map +1 -1
  183. package/select/style/index.mjs +1 -1
  184. package/select/style/index.mjs.map +1 -1
  185. package/speeddial/SpeedDial.vue +3 -1
  186. package/speeddial/index.d.ts +16 -1
  187. package/speeddial/index.mjs +10 -5
  188. package/speeddial/index.mjs.map +1 -1
  189. package/splitter/Splitter.vue +31 -25
  190. package/splitter/index.d.ts +8 -1
  191. package/splitter/index.mjs +28 -22
  192. package/splitter/index.mjs.map +1 -1
  193. package/tieredmenu/BaseTieredMenu.vue +4 -0
  194. package/tieredmenu/TieredMenu.vue +31 -4
  195. package/tieredmenu/TieredMenuSub.vue +3 -1
  196. package/tieredmenu/index.d.ts +5 -0
  197. package/tieredmenu/index.mjs +63 -34
  198. package/tieredmenu/index.mjs.map +1 -1
  199. package/tieredmenu/style/index.mjs +5 -4
  200. package/tieredmenu/style/index.mjs.map +1 -1
  201. package/toast/Toast.vue +2 -9
  202. package/toast/index.mjs +1 -8
  203. package/toast/index.mjs.map +1 -1
  204. package/toggleswitch/ToggleSwitch.vue +5 -1
  205. package/toggleswitch/index.d.ts +17 -1
  206. package/toggleswitch/index.mjs +7 -3
  207. package/toggleswitch/index.mjs.map +1 -1
  208. package/toggleswitch/style/index.d.ts +9 -1
  209. package/toggleswitch/style/index.mjs +3 -2
  210. package/toggleswitch/style/index.mjs.map +1 -1
  211. package/tooltip/index.mjs +6 -1
  212. package/tooltip/index.mjs.map +1 -1
  213. package/tree/BaseTree.vue +1 -1
  214. package/tree/Tree.vue +4 -2
  215. package/tree/TreeNode.vue +16 -4
  216. package/tree/index.d.ts +52 -3
  217. package/tree/index.mjs +23 -10
  218. package/tree/index.mjs.map +1 -1
  219. package/treeselect/BaseTreeSelect.vue +36 -0
  220. package/treeselect/TreeSelect.vue +31 -16
  221. package/treeselect/index.d.ts +73 -4
  222. package/treeselect/index.mjs +82 -25
  223. package/treeselect/index.mjs.map +1 -1
  224. package/treeselect/style/index.mjs +1 -1
  225. package/treeselect/style/index.mjs.map +1 -1
  226. package/treetable/BaseTreeTable.vue +8 -0
  227. package/treetable/TreeTable.vue +19 -11
  228. package/treetable/TreeTableRow.vue +28 -2
  229. package/treetable/index.d.ts +34 -0
  230. package/treetable/index.mjs +63 -19
  231. package/treetable/index.mjs.map +1 -1
  232. package/treetable/style/index.mjs +5 -3
  233. package/treetable/style/index.mjs.map +1 -1
  234. package/umd/primevue.min.js +1 -1
  235. package/vetur-attributes.json +3 -3
  236. package/virtualscroller/style/index.mjs +3 -1
  237. package/virtualscroller/style/index.mjs.map +1 -1
  238. package/web-types.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/colorpicker/BaseColorPicker.vue","../../src/colorpicker/ColorPicker.vue","../../src/colorpicker/ColorPicker.vue?vue&type=template&id=76dfb7c0&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ColorPickerStyle from 'primevue/colorpicker/style';\n\nexport default {\n name: 'BaseColorPicker',\n extends: BaseComponent,\n props: {\n modelValue: {\n type: null,\n default: null\n },\n defaultColor: {\n type: null,\n default: 'ff0000'\n },\n inline: {\n type: Boolean,\n default: false\n },\n format: {\n type: String,\n default: 'hex'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: String,\n default: null\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n inputId: {\n type: String,\n default: null\n },\n panelClass: null\n },\n style: ColorPickerStyle,\n provide() {\n return {\n $pcColorPicker: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input v-if=\"!inline\" ref=\"input\" :id=\"inputId\" type=\"text\" :class=\"cx('preview')\" readonly=\"readonly\" :tabindex=\"tabindex\" :disabled=\"disabled\" @click=\"onInputClick\" @keydown=\"onInputKeydown\" v-bind=\"ptm('preview')\" />\n <Portal :appendTo=\"appendTo\" :disabled=\"inline\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"inline ? true : overlayVisible\" :ref=\"pickerRef\" :class=\"[cx('panel'), panelClass]\" @click=\"onOverlayClick\" v-bind=\"ptm('panel')\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <div :ref=\"colorSelectorRef\" :class=\"cx('colorSelector')\" @mousedown=\"onColorMousedown($event)\" @touchstart=\"onColorDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('colorSelector')\">\n <div :class=\"cx('colorBackground')\" v-bind=\"ptm('colorBackground')\">\n <div :ref=\"colorHandleRef\" :class=\"cx('colorHandle')\" v-bind=\"ptm('colorHandle')\"></div>\n </div>\n </div>\n <div :ref=\"hueViewRef\" :class=\"cx('hue')\" @mousedown=\"onHueMousedown($event)\" @touchstart=\"onHueDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('hue')\">\n <div :ref=\"hueHandleRef\" :class=\"cx('hueHandle')\" v-bind=\"ptm('hueHandle')\"></div>\n </div>\n </div>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport { relativePosition, absolutePosition, addClass, removeClass, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseColorPicker from './BaseColorPicker.vue';\n\nexport default {\n name: 'ColorPicker',\n extends: BaseColorPicker,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'show', 'hide'],\n data() {\n return {\n overlayVisible: false\n };\n },\n hsbValue: null,\n outsideClickListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n scrollHandler: null,\n resizeListener: null,\n hueDragging: null,\n colorDragging: null,\n selfUpdate: null,\n picker: null,\n colorSelector: null,\n colorHandle: null,\n hueView: null,\n hueHandle: null,\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.hsbValue = this.toHSB(newValue);\n\n if (this.selfUpdate) this.selfUpdate = false;\n else this.updateUI();\n }\n }\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindDragListeners();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.picker && this.autoZIndex) {\n ZIndex.clear(this.picker);\n }\n\n this.clearRefs();\n },\n mounted() {\n this.updateUI();\n },\n methods: {\n pickColor(event) {\n let rect = this.colorSelector.getBoundingClientRect();\n let top = rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n let left = rect.left + document.body.scrollLeft;\n let saturation = Math.floor((100 * Math.max(0, Math.min(150, (event.pageX || event.changedTouches[0].pageX) - left))) / 150);\n let brightness = Math.floor((100 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150);\n\n this.hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: saturation,\n b: brightness\n });\n\n this.selfUpdate = true;\n this.updateColorHandle();\n this.updateInput();\n this.updateModel(event);\n },\n pickHue(event) {\n let top = this.hueView.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n\n this.hsbValue = this.validateHSB({\n h: Math.floor((360 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150),\n s: 100,\n b: 100\n });\n\n this.selfUpdate = true;\n this.updateColorSelector();\n this.updateHue();\n this.updateModel(event);\n this.updateInput();\n },\n updateModel(event) {\n let value = this.modelValue;\n\n switch (this.format) {\n case 'hex':\n value = this.HSBtoHEX(this.hsbValue);\n break;\n\n case 'rgb':\n value = this.HSBtoRGB(this.hsbValue);\n break;\n\n case 'hsb':\n value = this.hsbValue;\n break;\n\n default:\n //NoOp\n break;\n }\n\n this.$emit('update:modelValue', value);\n this.$emit('change', { event, value });\n },\n updateColorSelector() {\n if (this.colorSelector) {\n let hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: 100,\n b: 100\n });\n\n this.colorSelector.style.backgroundColor = '#' + this.HSBtoHEX(hsbValue);\n }\n },\n updateColorHandle() {\n if (this.colorHandle) {\n this.colorHandle.style.left = Math.floor((150 * this.hsbValue.s) / 100) + 'px';\n this.colorHandle.style.top = Math.floor((150 * (100 - this.hsbValue.b)) / 100) + 'px';\n }\n },\n updateHue() {\n if (this.hueHandle) {\n this.hueHandle.style.top = Math.floor(150 - (150 * this.hsbValue.h) / 360) + 'px';\n }\n },\n updateInput() {\n if (this.$refs.input) {\n this.$refs.input.style.backgroundColor = '#' + this.HSBtoHEX(this.hsbValue);\n }\n },\n updateUI() {\n this.updateHue();\n this.updateColorHandle();\n this.updateInput();\n this.updateColorSelector();\n },\n validateHSB(hsb) {\n return {\n h: Math.min(360, Math.max(0, hsb.h)),\n s: Math.min(100, Math.max(0, hsb.s)),\n b: Math.min(100, Math.max(0, hsb.b))\n };\n },\n validateRGB(rgb) {\n return {\n r: Math.min(255, Math.max(0, rgb.r)),\n g: Math.min(255, Math.max(0, rgb.g)),\n b: Math.min(255, Math.max(0, rgb.b))\n };\n },\n validateHEX(hex) {\n var len = 6 - hex.length;\n\n if (len > 0) {\n var o = [];\n\n for (var i = 0; i < len; i++) {\n o.push('0');\n }\n\n o.push(hex);\n hex = o.join('');\n }\n\n return hex;\n },\n HEXtoRGB(hex) {\n let hexValue = parseInt(hex.indexOf('#') > -1 ? hex.substring(1) : hex, 16);\n\n return { r: hexValue >> 16, g: (hexValue & 0x00ff00) >> 8, b: hexValue & 0x0000ff };\n },\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n },\n RGBtoHSB(rgb) {\n var hsb = {\n h: 0,\n s: 0,\n b: 0\n };\n var min = Math.min(rgb.r, rgb.g, rgb.b);\n var max = Math.max(rgb.r, rgb.g, rgb.b);\n var delta = max - min;\n\n hsb.b = max;\n hsb.s = max !== 0 ? (255 * delta) / max : 0;\n\n if (hsb.s !== 0) {\n if (rgb.r === max) {\n hsb.h = (rgb.g - rgb.b) / delta;\n } else if (rgb.g === max) {\n hsb.h = 2 + (rgb.b - rgb.r) / delta;\n } else {\n hsb.h = 4 + (rgb.r - rgb.g) / delta;\n }\n } else {\n hsb.h = -1;\n }\n\n hsb.h *= 60;\n\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n\n hsb.s *= 100 / 255;\n hsb.b *= 100 / 255;\n\n return hsb;\n },\n HSBtoRGB(hsb) {\n var rgb = {\n r: null,\n g: null,\n b: null\n };\n var h = Math.round(hsb.h);\n var s = Math.round((hsb.s * 255) / 100);\n var v = Math.round((hsb.b * 255) / 100);\n\n if (s === 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n };\n } else {\n var t1 = v;\n var t2 = ((255 - s) * v) / 255;\n var t3 = ((t1 - t2) * (h % 60)) / 60;\n\n if (h === 360) h = 0;\n\n if (h < 60) {\n rgb.r = t1;\n rgb.b = t2;\n rgb.g = t2 + t3;\n } else if (h < 120) {\n rgb.g = t1;\n rgb.b = t2;\n rgb.r = t1 - t3;\n } else if (h < 180) {\n rgb.g = t1;\n rgb.r = t2;\n rgb.b = t2 + t3;\n } else if (h < 240) {\n rgb.b = t1;\n rgb.r = t2;\n rgb.g = t1 - t3;\n } else if (h < 300) {\n rgb.b = t1;\n rgb.g = t2;\n rgb.r = t2 + t3;\n } else if (h < 360) {\n rgb.r = t1;\n rgb.g = t2;\n rgb.b = t1 - t3;\n } else {\n rgb.r = 0;\n rgb.g = 0;\n rgb.b = 0;\n }\n }\n\n return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };\n },\n RGBtoHEX(rgb) {\n var hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];\n\n for (var key in hex) {\n if (hex[key].length === 1) {\n hex[key] = '0' + hex[key];\n }\n }\n\n return hex.join('');\n },\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n },\n toHSB(value) {\n let hsb;\n\n if (value) {\n switch (this.format) {\n case 'hex':\n hsb = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n hsb = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n hsb = value;\n break;\n\n default:\n break;\n }\n } else {\n hsb = this.HEXtoHSB(this.defaultColor);\n }\n\n return hsb;\n },\n onOverlayEnter(el) {\n this.updateUI();\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex, this.$primevue.config.zIndex.overlay);\n }\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.clearRefs();\n this.$emit('hide');\n },\n onOverlayAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') relativePosition(this.picker, this.$refs.input);\n else absolutePosition(this.picker, this.$refs.input);\n },\n onInputClick() {\n if (this.disabled) {\n return;\n }\n\n this.overlayVisible = !this.overlayVisible;\n },\n onInputKeydown(event) {\n switch (event.code) {\n case 'Space':\n this.overlayVisible = !this.overlayVisible;\n event.preventDefault();\n break;\n\n case 'Escape':\n case 'Tab':\n this.overlayVisible = false;\n break;\n\n default:\n //NoOp\n break;\n }\n },\n onColorMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onColorDragStart(event);\n },\n onColorDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.colorDragging = true;\n this.pickColor(event);\n this.$el.setAttribute('p-colorpicker-dragging', 'true');\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n event.preventDefault();\n },\n onDrag(event) {\n if (this.colorDragging) {\n this.pickColor(event);\n event.preventDefault();\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n event.preventDefault();\n }\n },\n onDragEnd() {\n this.colorDragging = false;\n this.hueDragging = false;\n this.$el.setAttribute('p-colorpicker-dragging', 'false');\n !this.isUnstyled && removeClass(this.$el, 'p-colorpicker-dragging');\n this.unbindDragListeners();\n },\n onHueMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onHueDragStart(event);\n },\n onHueDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.hueDragging = true;\n this.pickHue(event);\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n },\n isInputClicked(event) {\n return this.$refs.input && this.$refs.input.isSameNode(event.target);\n },\n bindDragListeners() {\n this.bindDocumentMouseMoveListener();\n this.bindDocumentMouseUpListener();\n },\n unbindDragListeners() {\n this.unbindDocumentMouseMoveListener();\n this.unbindDocumentMouseUpListener();\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && this.picker && !this.picker.contains(event.target) && !this.isInputClicked(event)) {\n this.overlayVisible = false;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.overlayVisible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.overlayVisible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindDocumentMouseMoveListener() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n },\n unbindDocumentMouseMoveListener() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n },\n bindDocumentMouseUpListener() {\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseUpListener() {\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n },\n pickerRef(el) {\n this.picker = el;\n },\n colorSelectorRef(el) {\n this.colorSelector = el;\n },\n colorHandleRef(el) {\n this.colorHandle = el;\n },\n hueViewRef(el) {\n this.hueView = el;\n },\n hueHandleRef(el) {\n this.hueHandle = el;\n },\n clearRefs() {\n this.picker = null;\n this.colorSelector = null;\n this.colorHandle = null;\n this.hueView = null;\n this.hueHandle = null;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n }\n },\n components: {\n Portal: Portal\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input v-if=\"!inline\" ref=\"input\" :id=\"inputId\" type=\"text\" :class=\"cx('preview')\" readonly=\"readonly\" :tabindex=\"tabindex\" :disabled=\"disabled\" @click=\"onInputClick\" @keydown=\"onInputKeydown\" v-bind=\"ptm('preview')\" />\n <Portal :appendTo=\"appendTo\" :disabled=\"inline\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"inline ? true : overlayVisible\" :ref=\"pickerRef\" :class=\"[cx('panel'), panelClass]\" @click=\"onOverlayClick\" v-bind=\"ptm('panel')\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <div :ref=\"colorSelectorRef\" :class=\"cx('colorSelector')\" @mousedown=\"onColorMousedown($event)\" @touchstart=\"onColorDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('colorSelector')\">\n <div :class=\"cx('colorBackground')\" v-bind=\"ptm('colorBackground')\">\n <div :ref=\"colorHandleRef\" :class=\"cx('colorHandle')\" v-bind=\"ptm('colorHandle')\"></div>\n </div>\n </div>\n <div :ref=\"hueViewRef\" :class=\"cx('hue')\" @mousedown=\"onHueMousedown($event)\" @touchstart=\"onHueDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('hue')\">\n <div :ref=\"hueHandleRef\" :class=\"cx('hueHandle')\" v-bind=\"ptm('hueHandle')\"></div>\n </div>\n </div>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport { relativePosition, absolutePosition, addClass, removeClass, isTouchDevice } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseColorPicker from './BaseColorPicker.vue';\n\nexport default {\n name: 'ColorPicker',\n extends: BaseColorPicker,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'show', 'hide'],\n data() {\n return {\n overlayVisible: false\n };\n },\n hsbValue: null,\n outsideClickListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n scrollHandler: null,\n resizeListener: null,\n hueDragging: null,\n colorDragging: null,\n selfUpdate: null,\n picker: null,\n colorSelector: null,\n colorHandle: null,\n hueView: null,\n hueHandle: null,\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.hsbValue = this.toHSB(newValue);\n\n if (this.selfUpdate) this.selfUpdate = false;\n else this.updateUI();\n }\n }\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindDragListeners();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.picker && this.autoZIndex) {\n ZIndex.clear(this.picker);\n }\n\n this.clearRefs();\n },\n mounted() {\n this.updateUI();\n },\n methods: {\n pickColor(event) {\n let rect = this.colorSelector.getBoundingClientRect();\n let top = rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n let left = rect.left + document.body.scrollLeft;\n let saturation = Math.floor((100 * Math.max(0, Math.min(150, (event.pageX || event.changedTouches[0].pageX) - left))) / 150);\n let brightness = Math.floor((100 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150);\n\n this.hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: saturation,\n b: brightness\n });\n\n this.selfUpdate = true;\n this.updateColorHandle();\n this.updateInput();\n this.updateModel(event);\n },\n pickHue(event) {\n let top = this.hueView.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n\n this.hsbValue = this.validateHSB({\n h: Math.floor((360 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150),\n s: 100,\n b: 100\n });\n\n this.selfUpdate = true;\n this.updateColorSelector();\n this.updateHue();\n this.updateModel(event);\n this.updateInput();\n },\n updateModel(event) {\n let value = this.modelValue;\n\n switch (this.format) {\n case 'hex':\n value = this.HSBtoHEX(this.hsbValue);\n break;\n\n case 'rgb':\n value = this.HSBtoRGB(this.hsbValue);\n break;\n\n case 'hsb':\n value = this.hsbValue;\n break;\n\n default:\n //NoOp\n break;\n }\n\n this.$emit('update:modelValue', value);\n this.$emit('change', { event, value });\n },\n updateColorSelector() {\n if (this.colorSelector) {\n let hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: 100,\n b: 100\n });\n\n this.colorSelector.style.backgroundColor = '#' + this.HSBtoHEX(hsbValue);\n }\n },\n updateColorHandle() {\n if (this.colorHandle) {\n this.colorHandle.style.left = Math.floor((150 * this.hsbValue.s) / 100) + 'px';\n this.colorHandle.style.top = Math.floor((150 * (100 - this.hsbValue.b)) / 100) + 'px';\n }\n },\n updateHue() {\n if (this.hueHandle) {\n this.hueHandle.style.top = Math.floor(150 - (150 * this.hsbValue.h) / 360) + 'px';\n }\n },\n updateInput() {\n if (this.$refs.input) {\n this.$refs.input.style.backgroundColor = '#' + this.HSBtoHEX(this.hsbValue);\n }\n },\n updateUI() {\n this.updateHue();\n this.updateColorHandle();\n this.updateInput();\n this.updateColorSelector();\n },\n validateHSB(hsb) {\n return {\n h: Math.min(360, Math.max(0, hsb.h)),\n s: Math.min(100, Math.max(0, hsb.s)),\n b: Math.min(100, Math.max(0, hsb.b))\n };\n },\n validateRGB(rgb) {\n return {\n r: Math.min(255, Math.max(0, rgb.r)),\n g: Math.min(255, Math.max(0, rgb.g)),\n b: Math.min(255, Math.max(0, rgb.b))\n };\n },\n validateHEX(hex) {\n var len = 6 - hex.length;\n\n if (len > 0) {\n var o = [];\n\n for (var i = 0; i < len; i++) {\n o.push('0');\n }\n\n o.push(hex);\n hex = o.join('');\n }\n\n return hex;\n },\n HEXtoRGB(hex) {\n let hexValue = parseInt(hex.indexOf('#') > -1 ? hex.substring(1) : hex, 16);\n\n return { r: hexValue >> 16, g: (hexValue & 0x00ff00) >> 8, b: hexValue & 0x0000ff };\n },\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n },\n RGBtoHSB(rgb) {\n var hsb = {\n h: 0,\n s: 0,\n b: 0\n };\n var min = Math.min(rgb.r, rgb.g, rgb.b);\n var max = Math.max(rgb.r, rgb.g, rgb.b);\n var delta = max - min;\n\n hsb.b = max;\n hsb.s = max !== 0 ? (255 * delta) / max : 0;\n\n if (hsb.s !== 0) {\n if (rgb.r === max) {\n hsb.h = (rgb.g - rgb.b) / delta;\n } else if (rgb.g === max) {\n hsb.h = 2 + (rgb.b - rgb.r) / delta;\n } else {\n hsb.h = 4 + (rgb.r - rgb.g) / delta;\n }\n } else {\n hsb.h = -1;\n }\n\n hsb.h *= 60;\n\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n\n hsb.s *= 100 / 255;\n hsb.b *= 100 / 255;\n\n return hsb;\n },\n HSBtoRGB(hsb) {\n var rgb = {\n r: null,\n g: null,\n b: null\n };\n var h = Math.round(hsb.h);\n var s = Math.round((hsb.s * 255) / 100);\n var v = Math.round((hsb.b * 255) / 100);\n\n if (s === 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n };\n } else {\n var t1 = v;\n var t2 = ((255 - s) * v) / 255;\n var t3 = ((t1 - t2) * (h % 60)) / 60;\n\n if (h === 360) h = 0;\n\n if (h < 60) {\n rgb.r = t1;\n rgb.b = t2;\n rgb.g = t2 + t3;\n } else if (h < 120) {\n rgb.g = t1;\n rgb.b = t2;\n rgb.r = t1 - t3;\n } else if (h < 180) {\n rgb.g = t1;\n rgb.r = t2;\n rgb.b = t2 + t3;\n } else if (h < 240) {\n rgb.b = t1;\n rgb.r = t2;\n rgb.g = t1 - t3;\n } else if (h < 300) {\n rgb.b = t1;\n rgb.g = t2;\n rgb.r = t2 + t3;\n } else if (h < 360) {\n rgb.r = t1;\n rgb.g = t2;\n rgb.b = t1 - t3;\n } else {\n rgb.r = 0;\n rgb.g = 0;\n rgb.b = 0;\n }\n }\n\n return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };\n },\n RGBtoHEX(rgb) {\n var hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];\n\n for (var key in hex) {\n if (hex[key].length === 1) {\n hex[key] = '0' + hex[key];\n }\n }\n\n return hex.join('');\n },\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n },\n toHSB(value) {\n let hsb;\n\n if (value) {\n switch (this.format) {\n case 'hex':\n hsb = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n hsb = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n hsb = value;\n break;\n\n default:\n break;\n }\n } else {\n hsb = this.HEXtoHSB(this.defaultColor);\n }\n\n return hsb;\n },\n onOverlayEnter(el) {\n this.updateUI();\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex, this.$primevue.config.zIndex.overlay);\n }\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.clearRefs();\n this.$emit('hide');\n },\n onOverlayAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') relativePosition(this.picker, this.$refs.input);\n else absolutePosition(this.picker, this.$refs.input);\n },\n onInputClick() {\n if (this.disabled) {\n return;\n }\n\n this.overlayVisible = !this.overlayVisible;\n },\n onInputKeydown(event) {\n switch (event.code) {\n case 'Space':\n this.overlayVisible = !this.overlayVisible;\n event.preventDefault();\n break;\n\n case 'Escape':\n case 'Tab':\n this.overlayVisible = false;\n break;\n\n default:\n //NoOp\n break;\n }\n },\n onColorMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onColorDragStart(event);\n },\n onColorDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.colorDragging = true;\n this.pickColor(event);\n this.$el.setAttribute('p-colorpicker-dragging', 'true');\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n event.preventDefault();\n },\n onDrag(event) {\n if (this.colorDragging) {\n this.pickColor(event);\n event.preventDefault();\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n event.preventDefault();\n }\n },\n onDragEnd() {\n this.colorDragging = false;\n this.hueDragging = false;\n this.$el.setAttribute('p-colorpicker-dragging', 'false');\n !this.isUnstyled && removeClass(this.$el, 'p-colorpicker-dragging');\n this.unbindDragListeners();\n },\n onHueMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onHueDragStart(event);\n },\n onHueDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.hueDragging = true;\n this.pickHue(event);\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n },\n isInputClicked(event) {\n return this.$refs.input && this.$refs.input.isSameNode(event.target);\n },\n bindDragListeners() {\n this.bindDocumentMouseMoveListener();\n this.bindDocumentMouseUpListener();\n },\n unbindDragListeners() {\n this.unbindDocumentMouseMoveListener();\n this.unbindDocumentMouseUpListener();\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && this.picker && !this.picker.contains(event.target) && !this.isInputClicked(event)) {\n this.overlayVisible = false;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.overlayVisible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.overlayVisible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindDocumentMouseMoveListener() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n },\n unbindDocumentMouseMoveListener() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n },\n bindDocumentMouseUpListener() {\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseUpListener() {\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n },\n pickerRef(el) {\n this.picker = el;\n },\n colorSelectorRef(el) {\n this.colorSelector = el;\n },\n colorHandleRef(el) {\n this.colorHandle = el;\n },\n hueViewRef(el) {\n this.hueView = el;\n },\n hueHandleRef(el) {\n this.hueHandle = el;\n },\n clearRefs() {\n this.picker = null;\n this.colorSelector = null;\n this.colorHandle = null;\n this.hueView = null;\n this.hueHandle = null;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n }\n },\n components: {\n Portal: Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","modelValue","type","defaultColor","inline","Boolean","format","String","disabled","tabindex","autoZIndex","baseZIndex","Number","appendTo","Object","inputId","panelClass","style","ColorPickerStyle","provide","$pcColorPicker","$parentInstance","BaseColorPicker","inheritAttrs","emits","data","overlayVisible","hsbValue","outsideClickListener","documentMouseMoveListener","documentMouseUpListener","scrollHandler","resizeListener","hueDragging","colorDragging","selfUpdate","picker","colorSelector","colorHandle","hueView","hueHandle","watch","immediate","handler","newValue","toHSB","updateUI","beforeUnmount","unbindOutsideClickListener","unbindDragListeners","unbindResizeListener","destroy","ZIndex","clear","clearRefs","mounted","methods","pickColor","event","rect","getBoundingClientRect","top","window","pageYOffset","document","documentElement","scrollTop","body","left","scrollLeft","saturation","Math","floor","max","min","pageX","changedTouches","brightness","pageY","validateHSB","h","s","b","updateColorHandle","updateInput","updateModel","pickHue","updateColorSelector","updateHue","value","HSBtoHEX","HSBtoRGB","$emit","backgroundColor","$refs","input","hsb","validateRGB","rgb","r","g","validateHEX","hex","len","length","o","i","push","join","HEXtoRGB","hexValue","parseInt","indexOf","substring","HEXtoHSB","RGBtoHSB","delta","round","v","t1","t2","t3","RGBtoHEX","toString","key","onOverlayEnter","el","alignOverlay","bindOutsideClickListener","bindScrollListener","bindResizeListener","set","$primevue","config","zIndex","overlay","onOverlayLeave","unbindScrollListener","onOverlayAfterLeave","relativePosition","absolutePosition","onInputClick","onInputKeydown","code","preventDefault","onColorMousedown","bindDragListeners","onColorDragStart","$el","setAttribute","isUnstyled","addClass","onDrag","onDragEnd","removeClass","onHueMousedown","onHueDragStart","isInputClicked","isSameNode","target","bindDocumentMouseMoveListener","bindDocumentMouseUpListener","unbindDocumentMouseMoveListener","unbindDocumentMouseUpListener","_this","contains","addEventListener","removeEventListener","_this2","ConnectedOverlayScrollHandler","container","_this3","isTouchDevice","bind","pickerRef","colorSelectorRef","colorHandleRef","hueViewRef","hueHandleRef","onOverlayClick","OverlayEventBus","emit","originalEvent","components","Portal","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","ptmi","id","readonly","onClick","$options","apply","arguments","onKeydown","ptm","_hoisted_1","_createVNode","_component_Portal","_Transition","onEnter","onLeave","onAfterLeave","$data","_createElementVNode","onMousedown","_cache","$event","onTouchstart","onTouchmove","onTouchend"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/colorpicker/BaseColorPicker.vue","../../src/colorpicker/ColorPicker.vue","../../src/colorpicker/ColorPicker.vue?vue&type=template&id=34147784&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ColorPickerStyle from 'primevue/colorpicker/style';\n\nexport default {\n name: 'BaseColorPicker',\n extends: BaseComponent,\n props: {\n modelValue: {\n type: null,\n default: null\n },\n defaultColor: {\n type: null,\n default: 'ff0000'\n },\n inline: {\n type: Boolean,\n default: false\n },\n format: {\n type: String,\n default: 'hex'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: String,\n default: null\n },\n autoZIndex: {\n type: Boolean,\n default: true\n },\n baseZIndex: {\n type: Number,\n default: 0\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n inputId: {\n type: String,\n default: null\n },\n panelClass: null,\n overlayClass: null\n },\n style: ColorPickerStyle,\n provide() {\n return {\n $pcColorPicker: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input v-if=\"!inline\" ref=\"input\" :id=\"inputId\" type=\"text\" :class=\"cx('preview')\" readonly=\"readonly\" :tabindex=\"tabindex\" :disabled=\"disabled\" @click=\"onInputClick\" @keydown=\"onInputKeydown\" v-bind=\"ptm('preview')\" />\n <Portal :appendTo=\"appendTo\" :disabled=\"inline\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"inline ? true : overlayVisible\" :ref=\"pickerRef\" :class=\"[cx('panel'), panelClass, overlayClass]\" @click=\"onOverlayClick\" v-bind=\"{ ...ptm('panel'), ...ptm('overlay') }\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <div :ref=\"colorSelectorRef\" :class=\"cx('colorSelector')\" @mousedown=\"onColorMousedown($event)\" @touchstart=\"onColorDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('colorSelector')\">\n <div :class=\"cx('colorBackground')\" v-bind=\"ptm('colorBackground')\">\n <div :ref=\"colorHandleRef\" :class=\"cx('colorHandle')\" v-bind=\"ptm('colorHandle')\"></div>\n </div>\n </div>\n <div :ref=\"hueViewRef\" :class=\"cx('hue')\" @mousedown=\"onHueMousedown($event)\" @touchstart=\"onHueDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('hue')\">\n <div :ref=\"hueHandleRef\" :class=\"cx('hueHandle')\" v-bind=\"ptm('hueHandle')\"></div>\n </div>\n </div>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addClass, isTouchDevice, relativePosition, removeClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseColorPicker from './BaseColorPicker.vue';\n\nexport default {\n name: 'ColorPicker',\n extends: BaseColorPicker,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'show', 'hide'],\n data() {\n return {\n overlayVisible: false\n };\n },\n hsbValue: null,\n outsideClickListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n scrollHandler: null,\n resizeListener: null,\n hueDragging: null,\n colorDragging: null,\n selfUpdate: null,\n picker: null,\n colorSelector: null,\n colorHandle: null,\n hueView: null,\n hueHandle: null,\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.hsbValue = this.toHSB(newValue);\n\n if (this.selfUpdate) this.selfUpdate = false;\n else this.updateUI();\n }\n }\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindDragListeners();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.picker && this.autoZIndex) {\n ZIndex.clear(this.picker);\n }\n\n this.clearRefs();\n },\n mounted() {\n this.updateUI();\n },\n methods: {\n pickColor(event) {\n let rect = this.colorSelector.getBoundingClientRect();\n let top = rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n let left = rect.left + document.body.scrollLeft;\n let saturation = Math.floor((100 * Math.max(0, Math.min(150, (event.pageX || event.changedTouches[0].pageX) - left))) / 150);\n let brightness = Math.floor((100 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150);\n\n this.hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: saturation,\n b: brightness\n });\n\n this.selfUpdate = true;\n this.updateColorHandle();\n this.updateInput();\n this.updateModel(event);\n },\n pickHue(event) {\n let top = this.hueView.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n\n this.hsbValue = this.validateHSB({\n h: Math.floor((360 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150),\n s: 100,\n b: 100\n });\n\n this.selfUpdate = true;\n this.updateColorSelector();\n this.updateHue();\n this.updateModel(event);\n this.updateInput();\n },\n updateModel(event) {\n let value = this.modelValue;\n\n switch (this.format) {\n case 'hex':\n value = this.HSBtoHEX(this.hsbValue);\n break;\n\n case 'rgb':\n value = this.HSBtoRGB(this.hsbValue);\n break;\n\n case 'hsb':\n value = this.hsbValue;\n break;\n\n default:\n //NoOp\n break;\n }\n\n this.$emit('update:modelValue', value);\n this.$emit('change', { event, value });\n },\n updateColorSelector() {\n if (this.colorSelector) {\n let hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: 100,\n b: 100\n });\n\n this.colorSelector.style.backgroundColor = '#' + this.HSBtoHEX(hsbValue);\n }\n },\n updateColorHandle() {\n if (this.colorHandle) {\n this.colorHandle.style.left = Math.floor((150 * this.hsbValue.s) / 100) + 'px';\n this.colorHandle.style.top = Math.floor((150 * (100 - this.hsbValue.b)) / 100) + 'px';\n }\n },\n updateHue() {\n if (this.hueHandle) {\n this.hueHandle.style.top = Math.floor(150 - (150 * this.hsbValue.h) / 360) + 'px';\n }\n },\n updateInput() {\n if (this.$refs.input) {\n this.$refs.input.style.backgroundColor = '#' + this.HSBtoHEX(this.hsbValue);\n }\n },\n updateUI() {\n this.updateHue();\n this.updateColorHandle();\n this.updateInput();\n this.updateColorSelector();\n },\n validateHSB(hsb) {\n return {\n h: Math.min(360, Math.max(0, hsb.h)),\n s: Math.min(100, Math.max(0, hsb.s)),\n b: Math.min(100, Math.max(0, hsb.b))\n };\n },\n validateRGB(rgb) {\n return {\n r: Math.min(255, Math.max(0, rgb.r)),\n g: Math.min(255, Math.max(0, rgb.g)),\n b: Math.min(255, Math.max(0, rgb.b))\n };\n },\n validateHEX(hex) {\n var len = 6 - hex.length;\n\n if (len > 0) {\n var o = [];\n\n for (var i = 0; i < len; i++) {\n o.push('0');\n }\n\n o.push(hex);\n hex = o.join('');\n }\n\n return hex;\n },\n HEXtoRGB(hex) {\n let hexValue = parseInt(hex.indexOf('#') > -1 ? hex.substring(1) : hex, 16);\n\n return { r: hexValue >> 16, g: (hexValue & 0x00ff00) >> 8, b: hexValue & 0x0000ff };\n },\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n },\n RGBtoHSB(rgb) {\n var hsb = {\n h: 0,\n s: 0,\n b: 0\n };\n var min = Math.min(rgb.r, rgb.g, rgb.b);\n var max = Math.max(rgb.r, rgb.g, rgb.b);\n var delta = max - min;\n\n hsb.b = max;\n hsb.s = max !== 0 ? (255 * delta) / max : 0;\n\n if (hsb.s !== 0) {\n if (rgb.r === max) {\n hsb.h = (rgb.g - rgb.b) / delta;\n } else if (rgb.g === max) {\n hsb.h = 2 + (rgb.b - rgb.r) / delta;\n } else {\n hsb.h = 4 + (rgb.r - rgb.g) / delta;\n }\n } else {\n hsb.h = -1;\n }\n\n hsb.h *= 60;\n\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n\n hsb.s *= 100 / 255;\n hsb.b *= 100 / 255;\n\n return hsb;\n },\n HSBtoRGB(hsb) {\n var rgb = {\n r: null,\n g: null,\n b: null\n };\n var h = Math.round(hsb.h);\n var s = Math.round((hsb.s * 255) / 100);\n var v = Math.round((hsb.b * 255) / 100);\n\n if (s === 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n };\n } else {\n var t1 = v;\n var t2 = ((255 - s) * v) / 255;\n var t3 = ((t1 - t2) * (h % 60)) / 60;\n\n if (h === 360) h = 0;\n\n if (h < 60) {\n rgb.r = t1;\n rgb.b = t2;\n rgb.g = t2 + t3;\n } else if (h < 120) {\n rgb.g = t1;\n rgb.b = t2;\n rgb.r = t1 - t3;\n } else if (h < 180) {\n rgb.g = t1;\n rgb.r = t2;\n rgb.b = t2 + t3;\n } else if (h < 240) {\n rgb.b = t1;\n rgb.r = t2;\n rgb.g = t1 - t3;\n } else if (h < 300) {\n rgb.b = t1;\n rgb.g = t2;\n rgb.r = t2 + t3;\n } else if (h < 360) {\n rgb.r = t1;\n rgb.g = t2;\n rgb.b = t1 - t3;\n } else {\n rgb.r = 0;\n rgb.g = 0;\n rgb.b = 0;\n }\n }\n\n return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };\n },\n RGBtoHEX(rgb) {\n var hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];\n\n for (var key in hex) {\n if (hex[key].length === 1) {\n hex[key] = '0' + hex[key];\n }\n }\n\n return hex.join('');\n },\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n },\n toHSB(value) {\n let hsb;\n\n if (value) {\n switch (this.format) {\n case 'hex':\n hsb = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n hsb = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n hsb = value;\n break;\n\n default:\n break;\n }\n } else {\n hsb = this.HEXtoHSB(this.defaultColor);\n }\n\n return hsb;\n },\n onOverlayEnter(el) {\n this.updateUI();\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex, this.$primevue.config.zIndex.overlay);\n }\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.clearRefs();\n this.$emit('hide');\n },\n onOverlayAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') relativePosition(this.picker, this.$refs.input);\n else absolutePosition(this.picker, this.$refs.input);\n },\n onInputClick() {\n if (this.disabled) {\n return;\n }\n\n this.overlayVisible = !this.overlayVisible;\n },\n onInputKeydown(event) {\n switch (event.code) {\n case 'Space':\n this.overlayVisible = !this.overlayVisible;\n event.preventDefault();\n break;\n\n case 'Escape':\n case 'Tab':\n this.overlayVisible = false;\n break;\n\n default:\n //NoOp\n break;\n }\n },\n onColorMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onColorDragStart(event);\n },\n onColorDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.colorDragging = true;\n this.pickColor(event);\n this.$el.setAttribute('p-colorpicker-dragging', 'true');\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n event.preventDefault();\n },\n onDrag(event) {\n if (this.colorDragging) {\n this.pickColor(event);\n event.preventDefault();\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n event.preventDefault();\n }\n },\n onDragEnd() {\n this.colorDragging = false;\n this.hueDragging = false;\n this.$el.setAttribute('p-colorpicker-dragging', 'false');\n !this.isUnstyled && removeClass(this.$el, 'p-colorpicker-dragging');\n this.unbindDragListeners();\n },\n onHueMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onHueDragStart(event);\n },\n onHueDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.hueDragging = true;\n this.pickHue(event);\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n },\n isInputClicked(event) {\n return this.$refs.input && this.$refs.input.isSameNode(event.target);\n },\n bindDragListeners() {\n this.bindDocumentMouseMoveListener();\n this.bindDocumentMouseUpListener();\n },\n unbindDragListeners() {\n this.unbindDocumentMouseMoveListener();\n this.unbindDocumentMouseUpListener();\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && this.picker && !this.picker.contains(event.target) && !this.isInputClicked(event)) {\n this.overlayVisible = false;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.overlayVisible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.overlayVisible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindDocumentMouseMoveListener() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n },\n unbindDocumentMouseMoveListener() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n },\n bindDocumentMouseUpListener() {\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseUpListener() {\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n },\n pickerRef(el) {\n this.picker = el;\n },\n colorSelectorRef(el) {\n this.colorSelector = el;\n },\n colorHandleRef(el) {\n this.colorHandle = el;\n },\n hueViewRef(el) {\n this.hueView = el;\n },\n hueHandleRef(el) {\n this.hueHandle = el;\n },\n clearRefs() {\n this.picker = null;\n this.colorSelector = null;\n this.colorHandle = null;\n this.hueView = null;\n this.hueHandle = null;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n }\n },\n components: {\n Portal: Portal\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :class=\"cx('root')\" v-bind=\"ptmi('root')\">\n <input v-if=\"!inline\" ref=\"input\" :id=\"inputId\" type=\"text\" :class=\"cx('preview')\" readonly=\"readonly\" :tabindex=\"tabindex\" :disabled=\"disabled\" @click=\"onInputClick\" @keydown=\"onInputKeydown\" v-bind=\"ptm('preview')\" />\n <Portal :appendTo=\"appendTo\" :disabled=\"inline\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"inline ? true : overlayVisible\" :ref=\"pickerRef\" :class=\"[cx('panel'), panelClass, overlayClass]\" @click=\"onOverlayClick\" v-bind=\"{ ...ptm('panel'), ...ptm('overlay') }\">\n <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n <div :ref=\"colorSelectorRef\" :class=\"cx('colorSelector')\" @mousedown=\"onColorMousedown($event)\" @touchstart=\"onColorDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('colorSelector')\">\n <div :class=\"cx('colorBackground')\" v-bind=\"ptm('colorBackground')\">\n <div :ref=\"colorHandleRef\" :class=\"cx('colorHandle')\" v-bind=\"ptm('colorHandle')\"></div>\n </div>\n </div>\n <div :ref=\"hueViewRef\" :class=\"cx('hue')\" @mousedown=\"onHueMousedown($event)\" @touchstart=\"onHueDragStart($event)\" @touchmove=\"onDrag($event)\" @touchend=\"onDragEnd()\" v-bind=\"ptm('hue')\">\n <div :ref=\"hueHandleRef\" :class=\"cx('hueHandle')\" v-bind=\"ptm('hueHandle')\"></div>\n </div>\n </div>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { absolutePosition, addClass, isTouchDevice, relativePosition, removeClass } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BaseColorPicker from './BaseColorPicker.vue';\n\nexport default {\n name: 'ColorPicker',\n extends: BaseColorPicker,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'show', 'hide'],\n data() {\n return {\n overlayVisible: false\n };\n },\n hsbValue: null,\n outsideClickListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n scrollHandler: null,\n resizeListener: null,\n hueDragging: null,\n colorDragging: null,\n selfUpdate: null,\n picker: null,\n colorSelector: null,\n colorHandle: null,\n hueView: null,\n hueHandle: null,\n watch: {\n modelValue: {\n immediate: true,\n handler(newValue) {\n this.hsbValue = this.toHSB(newValue);\n\n if (this.selfUpdate) this.selfUpdate = false;\n else this.updateUI();\n }\n }\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindDragListeners();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.picker && this.autoZIndex) {\n ZIndex.clear(this.picker);\n }\n\n this.clearRefs();\n },\n mounted() {\n this.updateUI();\n },\n methods: {\n pickColor(event) {\n let rect = this.colorSelector.getBoundingClientRect();\n let top = rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n let left = rect.left + document.body.scrollLeft;\n let saturation = Math.floor((100 * Math.max(0, Math.min(150, (event.pageX || event.changedTouches[0].pageX) - left))) / 150);\n let brightness = Math.floor((100 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150);\n\n this.hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: saturation,\n b: brightness\n });\n\n this.selfUpdate = true;\n this.updateColorHandle();\n this.updateInput();\n this.updateModel(event);\n },\n pickHue(event) {\n let top = this.hueView.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n\n this.hsbValue = this.validateHSB({\n h: Math.floor((360 * (150 - Math.max(0, Math.min(150, (event.pageY || event.changedTouches[0].pageY) - top)))) / 150),\n s: 100,\n b: 100\n });\n\n this.selfUpdate = true;\n this.updateColorSelector();\n this.updateHue();\n this.updateModel(event);\n this.updateInput();\n },\n updateModel(event) {\n let value = this.modelValue;\n\n switch (this.format) {\n case 'hex':\n value = this.HSBtoHEX(this.hsbValue);\n break;\n\n case 'rgb':\n value = this.HSBtoRGB(this.hsbValue);\n break;\n\n case 'hsb':\n value = this.hsbValue;\n break;\n\n default:\n //NoOp\n break;\n }\n\n this.$emit('update:modelValue', value);\n this.$emit('change', { event, value });\n },\n updateColorSelector() {\n if (this.colorSelector) {\n let hsbValue = this.validateHSB({\n h: this.hsbValue.h,\n s: 100,\n b: 100\n });\n\n this.colorSelector.style.backgroundColor = '#' + this.HSBtoHEX(hsbValue);\n }\n },\n updateColorHandle() {\n if (this.colorHandle) {\n this.colorHandle.style.left = Math.floor((150 * this.hsbValue.s) / 100) + 'px';\n this.colorHandle.style.top = Math.floor((150 * (100 - this.hsbValue.b)) / 100) + 'px';\n }\n },\n updateHue() {\n if (this.hueHandle) {\n this.hueHandle.style.top = Math.floor(150 - (150 * this.hsbValue.h) / 360) + 'px';\n }\n },\n updateInput() {\n if (this.$refs.input) {\n this.$refs.input.style.backgroundColor = '#' + this.HSBtoHEX(this.hsbValue);\n }\n },\n updateUI() {\n this.updateHue();\n this.updateColorHandle();\n this.updateInput();\n this.updateColorSelector();\n },\n validateHSB(hsb) {\n return {\n h: Math.min(360, Math.max(0, hsb.h)),\n s: Math.min(100, Math.max(0, hsb.s)),\n b: Math.min(100, Math.max(0, hsb.b))\n };\n },\n validateRGB(rgb) {\n return {\n r: Math.min(255, Math.max(0, rgb.r)),\n g: Math.min(255, Math.max(0, rgb.g)),\n b: Math.min(255, Math.max(0, rgb.b))\n };\n },\n validateHEX(hex) {\n var len = 6 - hex.length;\n\n if (len > 0) {\n var o = [];\n\n for (var i = 0; i < len; i++) {\n o.push('0');\n }\n\n o.push(hex);\n hex = o.join('');\n }\n\n return hex;\n },\n HEXtoRGB(hex) {\n let hexValue = parseInt(hex.indexOf('#') > -1 ? hex.substring(1) : hex, 16);\n\n return { r: hexValue >> 16, g: (hexValue & 0x00ff00) >> 8, b: hexValue & 0x0000ff };\n },\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n },\n RGBtoHSB(rgb) {\n var hsb = {\n h: 0,\n s: 0,\n b: 0\n };\n var min = Math.min(rgb.r, rgb.g, rgb.b);\n var max = Math.max(rgb.r, rgb.g, rgb.b);\n var delta = max - min;\n\n hsb.b = max;\n hsb.s = max !== 0 ? (255 * delta) / max : 0;\n\n if (hsb.s !== 0) {\n if (rgb.r === max) {\n hsb.h = (rgb.g - rgb.b) / delta;\n } else if (rgb.g === max) {\n hsb.h = 2 + (rgb.b - rgb.r) / delta;\n } else {\n hsb.h = 4 + (rgb.r - rgb.g) / delta;\n }\n } else {\n hsb.h = -1;\n }\n\n hsb.h *= 60;\n\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n\n hsb.s *= 100 / 255;\n hsb.b *= 100 / 255;\n\n return hsb;\n },\n HSBtoRGB(hsb) {\n var rgb = {\n r: null,\n g: null,\n b: null\n };\n var h = Math.round(hsb.h);\n var s = Math.round((hsb.s * 255) / 100);\n var v = Math.round((hsb.b * 255) / 100);\n\n if (s === 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n };\n } else {\n var t1 = v;\n var t2 = ((255 - s) * v) / 255;\n var t3 = ((t1 - t2) * (h % 60)) / 60;\n\n if (h === 360) h = 0;\n\n if (h < 60) {\n rgb.r = t1;\n rgb.b = t2;\n rgb.g = t2 + t3;\n } else if (h < 120) {\n rgb.g = t1;\n rgb.b = t2;\n rgb.r = t1 - t3;\n } else if (h < 180) {\n rgb.g = t1;\n rgb.r = t2;\n rgb.b = t2 + t3;\n } else if (h < 240) {\n rgb.b = t1;\n rgb.r = t2;\n rgb.g = t1 - t3;\n } else if (h < 300) {\n rgb.b = t1;\n rgb.g = t2;\n rgb.r = t2 + t3;\n } else if (h < 360) {\n rgb.r = t1;\n rgb.g = t2;\n rgb.b = t1 - t3;\n } else {\n rgb.r = 0;\n rgb.g = 0;\n rgb.b = 0;\n }\n }\n\n return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };\n },\n RGBtoHEX(rgb) {\n var hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];\n\n for (var key in hex) {\n if (hex[key].length === 1) {\n hex[key] = '0' + hex[key];\n }\n }\n\n return hex.join('');\n },\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n },\n toHSB(value) {\n let hsb;\n\n if (value) {\n switch (this.format) {\n case 'hex':\n hsb = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n hsb = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n hsb = value;\n break;\n\n default:\n break;\n }\n } else {\n hsb = this.HEXtoHSB(this.defaultColor);\n }\n\n return hsb;\n },\n onOverlayEnter(el) {\n this.updateUI();\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n if (this.autoZIndex) {\n ZIndex.set('overlay', el, this.baseZIndex, this.$primevue.config.zIndex.overlay);\n }\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.clearRefs();\n this.$emit('hide');\n },\n onOverlayAfterLeave(el) {\n if (this.autoZIndex) {\n ZIndex.clear(el);\n }\n },\n alignOverlay() {\n if (this.appendTo === 'self') relativePosition(this.picker, this.$refs.input);\n else absolutePosition(this.picker, this.$refs.input);\n },\n onInputClick() {\n if (this.disabled) {\n return;\n }\n\n this.overlayVisible = !this.overlayVisible;\n },\n onInputKeydown(event) {\n switch (event.code) {\n case 'Space':\n this.overlayVisible = !this.overlayVisible;\n event.preventDefault();\n break;\n\n case 'Escape':\n case 'Tab':\n this.overlayVisible = false;\n break;\n\n default:\n //NoOp\n break;\n }\n },\n onColorMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onColorDragStart(event);\n },\n onColorDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.colorDragging = true;\n this.pickColor(event);\n this.$el.setAttribute('p-colorpicker-dragging', 'true');\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n event.preventDefault();\n },\n onDrag(event) {\n if (this.colorDragging) {\n this.pickColor(event);\n event.preventDefault();\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n event.preventDefault();\n }\n },\n onDragEnd() {\n this.colorDragging = false;\n this.hueDragging = false;\n this.$el.setAttribute('p-colorpicker-dragging', 'false');\n !this.isUnstyled && removeClass(this.$el, 'p-colorpicker-dragging');\n this.unbindDragListeners();\n },\n onHueMousedown(event) {\n if (this.disabled) {\n return;\n }\n\n this.bindDragListeners();\n this.onHueDragStart(event);\n },\n onHueDragStart(event) {\n if (this.disabled) {\n return;\n }\n\n this.hueDragging = true;\n this.pickHue(event);\n !this.isUnstyled && addClass(this.$el, 'p-colorpicker-dragging');\n },\n isInputClicked(event) {\n return this.$refs.input && this.$refs.input.isSameNode(event.target);\n },\n bindDragListeners() {\n this.bindDocumentMouseMoveListener();\n this.bindDocumentMouseUpListener();\n },\n unbindDragListeners() {\n this.unbindDocumentMouseMoveListener();\n this.unbindDocumentMouseUpListener();\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && this.picker && !this.picker.contains(event.target) && !this.isInputClicked(event)) {\n this.overlayVisible = false;\n }\n };\n\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.overlayVisible = false;\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.overlayVisible = false;\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindDocumentMouseMoveListener() {\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n },\n unbindDocumentMouseMoveListener() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n },\n bindDocumentMouseUpListener() {\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseUpListener() {\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n },\n pickerRef(el) {\n this.picker = el;\n },\n colorSelectorRef(el) {\n this.colorSelector = el;\n },\n colorHandleRef(el) {\n this.colorHandle = el;\n },\n hueViewRef(el) {\n this.hueView = el;\n },\n hueHandleRef(el) {\n this.hueHandle = el;\n },\n clearRefs() {\n this.picker = null;\n this.colorSelector = null;\n this.colorHandle = null;\n this.hueView = null;\n this.hueHandle = null;\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n }\n },\n components: {\n Portal: Portal\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","modelValue","type","defaultColor","inline","Boolean","format","String","disabled","tabindex","autoZIndex","baseZIndex","Number","appendTo","Object","inputId","panelClass","overlayClass","style","ColorPickerStyle","provide","$pcColorPicker","$parentInstance","BaseColorPicker","inheritAttrs","emits","data","overlayVisible","hsbValue","outsideClickListener","documentMouseMoveListener","documentMouseUpListener","scrollHandler","resizeListener","hueDragging","colorDragging","selfUpdate","picker","colorSelector","colorHandle","hueView","hueHandle","watch","immediate","handler","newValue","toHSB","updateUI","beforeUnmount","unbindOutsideClickListener","unbindDragListeners","unbindResizeListener","destroy","ZIndex","clear","clearRefs","mounted","methods","pickColor","event","rect","getBoundingClientRect","top","window","pageYOffset","document","documentElement","scrollTop","body","left","scrollLeft","saturation","Math","floor","max","min","pageX","changedTouches","brightness","pageY","validateHSB","h","s","b","updateColorHandle","updateInput","updateModel","pickHue","updateColorSelector","updateHue","value","HSBtoHEX","HSBtoRGB","$emit","backgroundColor","$refs","input","hsb","validateRGB","rgb","r","g","validateHEX","hex","len","length","o","i","push","join","HEXtoRGB","hexValue","parseInt","indexOf","substring","HEXtoHSB","RGBtoHSB","delta","round","v","t1","t2","t3","RGBtoHEX","toString","key","onOverlayEnter","el","alignOverlay","bindOutsideClickListener","bindScrollListener","bindResizeListener","set","$primevue","config","zIndex","overlay","onOverlayLeave","unbindScrollListener","onOverlayAfterLeave","relativePosition","absolutePosition","onInputClick","onInputKeydown","code","preventDefault","onColorMousedown","bindDragListeners","onColorDragStart","$el","setAttribute","isUnstyled","addClass","onDrag","onDragEnd","removeClass","onHueMousedown","onHueDragStart","isInputClicked","isSameNode","target","bindDocumentMouseMoveListener","bindDocumentMouseUpListener","unbindDocumentMouseMoveListener","unbindDocumentMouseUpListener","_this","contains","addEventListener","removeEventListener","_this2","ConnectedOverlayScrollHandler","container","_this3","isTouchDevice","bind","pickerRef","colorSelectorRef","colorHandleRef","hueViewRef","hueHandleRef","onOverlayClick","OverlayEventBus","emit","originalEvent","components","Portal","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","ptmi","id","readonly","onClick","$options","apply","arguments","onKeydown","ptm","_hoisted_1","_createVNode","_component_Portal","_Transition","onEnter","onLeave","onAfterLeave","$data","_objectSpread","_createElementVNode","onMousedown","_cache","$event","onTouchstart","onTouchmove","onTouchend"],"mappings":"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"}
package/config/index.d.ts CHANGED
@@ -46,7 +46,9 @@ import type { FluidPassThroughOptions } from 'primevue/fluid';
46
46
  import type { FocusTrapDirectivePassThroughOptions } from 'primevue/focustrap';
47
47
  import type { GalleriaPassThroughOptions } from 'primevue/galleria';
48
48
  import type { IconFieldPassThroughOptions } from 'primevue/iconfield';
49
+ import type { IftaLabelPassThroughOptions } from 'primevue/iftalabel';
49
50
  import type { ImagePassThroughOptions } from 'primevue/image';
51
+ import type { ImageComparePassThroughOptions } from 'primevue/imagecompare';
50
52
  import type { InlineMessagePassThroughOptions } from 'primevue/inlinemessage';
51
53
  import type { InplacePassThroughOptions } from 'primevue/inplace';
52
54
  import type { InputChipsPassThroughOptions } from 'primevue/inputchips';
@@ -58,6 +60,7 @@ import type { InputNumberPassThroughOptions } from 'primevue/inputnumber';
58
60
  import type { InputOtpPassThroughOptions } from 'primevue/inputotp';
59
61
  import type { InputSwitchPassThroughOptions } from 'primevue/inputswitch';
60
62
  import type { InputTextPassThroughOptions } from 'primevue/inputtext';
63
+ import type { KeyFilterDirectivePassThroughOptions } from 'primevue/keyfilter';
61
64
  import type { KnobPassThroughOptions } from 'primevue/knob';
62
65
  import type { ListboxPassThroughOptions } from 'primevue/listbox';
63
66
  import type { MegaMenuPassThroughOptions } from 'primevue/megamenu';
@@ -201,7 +204,9 @@ export interface PrimeVuePTOptions {
201
204
  fluid?: DefaultPassThrough<FluidPassThroughOptions>;
202
205
  galleria?: DefaultPassThrough<GalleriaPassThroughOptions>;
203
206
  iconfield?: DefaultPassThrough<IconFieldPassThroughOptions>;
207
+ iftalabel?: DefaultPassThrough<IftaLabelPassThroughOptions>;
204
208
  image?: DefaultPassThrough<ImagePassThroughOptions>;
209
+ imagecompare?: DefaultPassThrough<ImageComparePassThroughOptions>;
205
210
  inlinemessage?: DefaultPassThrough<InlineMessagePassThroughOptions>;
206
211
  inplace?: DefaultPassThrough<InplacePassThroughOptions>;
207
212
  inputchips?: DefaultPassThrough<InputChipsPassThroughOptions>;
@@ -287,12 +292,13 @@ export interface PrimeVuePTOptions {
287
292
  treetable?: DefaultPassThrough<TreeTablePassThroughOptions>;
288
293
  virtualscroller?: DefaultPassThrough<VirtualScrollerPassThroughOptions>;
289
294
  directives?: {
295
+ animate?: AnimateOnScrollDirectivePassThroughOptions;
290
296
  badge?: BadgeDirectivePassThroughOptions;
291
- tooltip?: TooltipDirectivePassThroughOptions;
292
- styleclass?: StyleClassDirectivePassThroughOptions;
293
297
  focustrap?: FocusTrapDirectivePassThroughOptions;
298
+ keyfilter?: KeyFilterDirectivePassThroughOptions;
294
299
  ripple?: RippleDirectivePassThroughOptions;
295
- animate?: AnimateOnScrollDirectivePassThroughOptions;
300
+ styleclass?: StyleClassDirectivePassThroughOptions;
301
+ tooltip?: TooltipDirectivePassThroughOptions;
296
302
  };
297
303
  global?: {
298
304
  css?: ((options: any) => string | undefined) | string | undefined;
@@ -5,6 +5,7 @@
5
5
  * @module confirmationoptions
6
6
  *
7
7
  */
8
+ import type { HintedString } from '@primevue/core';
8
9
  import type { ButtonProps } from 'primevue/button';
9
10
 
10
11
  /**
@@ -41,6 +42,17 @@ export interface ConfirmationOptions {
41
42
  * @defaultValue false
42
43
  */
43
44
  blockScroll?: boolean | undefined;
45
+ /**
46
+ * A valid query selector or an HTMLElement to specify where the confirm dialog gets attached.
47
+ * Special keywords are 'body' for document body and 'self' for the element itself.
48
+ * @defaultValue body
49
+ */
50
+ appendTo?: HintedString<'body' | 'self'> | undefined | HTMLElement;
51
+ /**
52
+ * Defines if background should be blocked when confirm dialog is displayed.
53
+ * @defaultValue false
54
+ */
55
+ modal?: boolean | undefined;
44
56
  /**
45
57
  * Callback to execute when action is confirmed.
46
58
  * @todo Next release should be able to change
@@ -3,9 +3,10 @@
3
3
  v-model:visible="visible"
4
4
  role="alertdialog"
5
5
  :class="cx('root')"
6
- :modal="true"
6
+ :modal="modal"
7
7
  :header="header"
8
8
  :blockScroll="blockScroll"
9
+ :appendTo="appendTo"
9
10
  :position="position"
10
11
  :breakpoints="breakpoints"
11
12
  :closeOnEscape="closeOnEscape"
@@ -125,6 +126,15 @@ export default {
125
126
  }
126
127
  },
127
128
  computed: {
129
+ appendTo() {
130
+ return this.confirmation ? this.confirmation.appendTo : 'body';
131
+ },
132
+ target() {
133
+ return this.confirmation ? this.confirmation.target : null;
134
+ },
135
+ modal() {
136
+ return this.confirmation ? (this.confirmation.modal == null ? true : this.confirmation.modal) : true;
137
+ },
128
138
  header() {
129
139
  return this.confirmation ? this.confirmation.header : null;
130
140
  },
@@ -78,17 +78,13 @@ export interface ConfirmDialogPassThroughOptions {
78
78
  */
79
79
  title?: ConfirmDialogPassThroughOptionType;
80
80
  /**
81
- * Used to pass attributes to the header icons' DOM element.
81
+ * Used to pass attributes to the header actions' DOM element.
82
82
  */
83
- icons?: ConfirmDialogPassThroughOptionType;
83
+ headerActions?: ConfirmDialogPassThroughOptionType;
84
84
  /**
85
85
  * Used to pass attributes to the close button's component.
86
86
  */
87
- closeButton?: ConfirmDialogPassThroughOptionType;
88
- /**
89
- * Used to pass attributes to the close button icon's component.
90
- */
91
- closeButtonIcon?: ConfirmDialogPassThroughOptionType;
87
+ pcCloseButton?: ConfirmDialogPassThroughOptionType;
92
88
  /**
93
89
  * Used to pass attributes to the content's DOM element.
94
90
  */
@@ -85,6 +85,15 @@ var script = {
85
85
  }
86
86
  },
87
87
  computed: {
88
+ appendTo: function appendTo() {
89
+ return this.confirmation ? this.confirmation.appendTo : 'body';
90
+ },
91
+ target: function target() {
92
+ return this.confirmation ? this.confirmation.target : null;
93
+ },
94
+ modal: function modal() {
95
+ return this.confirmation ? this.confirmation.modal == null ? true : this.confirmation.modal : true;
96
+ },
88
97
  header: function header() {
89
98
  return this.confirmation ? this.confirmation.header : null;
90
99
  },
@@ -147,9 +156,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
147
156
  }), $options.onHide],
148
157
  role: "alertdialog",
149
158
  "class": normalizeClass(_ctx.cx('root')),
150
- modal: true,
159
+ modal: $options.modal,
151
160
  header: $options.header,
152
161
  blockScroll: $options.blockScroll,
162
+ appendTo: $options.appendTo,
153
163
  position: $options.position,
154
164
  breakpoints: _ctx.breakpoints,
155
165
  closeOnEscape: $options.closeOnEscape,
@@ -245,7 +255,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
245
255
  } : undefined]), 1040, ["label", "class", "autofocus", "unstyled", "pt"])];
246
256
  }),
247
257
  key: "1"
248
- } : undefined]), 1032, ["visible", "class", "header", "blockScroll", "position", "breakpoints", "closeOnEscape", "draggable", "onUpdate:visible", "pt", "unstyled"]);
258
+ } : undefined]), 1032, ["visible", "class", "modal", "header", "blockScroll", "appendTo", "position", "breakpoints", "closeOnEscape", "draggable", "onUpdate:visible", "pt", "unstyled"]);
249
259
  }
250
260
 
251
261
  script.render = render;