primeng 11.1.0 → 11.2.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 (234) hide show
  1. package/README.md +1 -0
  2. package/api/confirmaeventtype.d.ts +5 -0
  3. package/api/filtermatchmode.d.ts +4 -0
  4. package/api/filterservice.d.ts +4 -0
  5. package/api/primeng-api.metadata.json +1 -1
  6. package/api/public_api.d.ts +1 -0
  7. package/api/translation.d.ts +4 -0
  8. package/autocomplete/autocomplete.d.ts +8 -1
  9. package/autocomplete/primeng-autocomplete.metadata.json +1 -1
  10. package/avatar/primeng-avatar.metadata.json +1 -1
  11. package/bundles/primeng-api.umd.js +56 -6
  12. package/bundles/primeng-api.umd.js.map +1 -1
  13. package/bundles/primeng-api.umd.min.js +1 -1
  14. package/bundles/primeng-api.umd.min.js.map +1 -1
  15. package/bundles/primeng-autocomplete.umd.js +86 -17
  16. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  17. package/bundles/primeng-autocomplete.umd.min.js +1 -1
  18. package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
  19. package/bundles/primeng-avatar.umd.js +1 -1
  20. package/bundles/primeng-avatar.umd.min.js +1 -1
  21. package/bundles/primeng-avatar.umd.min.js.map +1 -1
  22. package/bundles/primeng-calendar.umd.js +6 -0
  23. package/bundles/primeng-calendar.umd.js.map +1 -1
  24. package/bundles/primeng-calendar.umd.min.js +1 -1
  25. package/bundles/primeng-calendar.umd.min.js.map +1 -1
  26. package/bundles/primeng-cascadeselect.umd.js +8 -5
  27. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  28. package/bundles/primeng-cascadeselect.umd.min.js +2 -2
  29. package/bundles/primeng-cascadeselect.umd.min.js.map +1 -1
  30. package/bundles/primeng-colorpicker.umd.js.map +1 -1
  31. package/bundles/primeng-colorpicker.umd.min.js.map +1 -1
  32. package/bundles/primeng-confirmdialog.umd.js +11 -8
  33. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  34. package/bundles/primeng-confirmdialog.umd.min.js +1 -1
  35. package/bundles/primeng-confirmdialog.umd.min.js.map +1 -1
  36. package/bundles/primeng-contextmenu.umd.js +2 -2
  37. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  38. package/bundles/primeng-contextmenu.umd.min.js +1 -1
  39. package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
  40. package/bundles/primeng-dialog.umd.js +1 -1
  41. package/bundles/primeng-dialog.umd.min.js +1 -1
  42. package/bundles/primeng-dialog.umd.min.js.map +1 -1
  43. package/bundles/primeng-dom.umd.js +3 -0
  44. package/bundles/primeng-dom.umd.js.map +1 -1
  45. package/bundles/primeng-dom.umd.min.js +1 -1
  46. package/bundles/primeng-dom.umd.min.js.map +1 -1
  47. package/bundles/primeng-dropdown.umd.js +1 -1
  48. package/bundles/primeng-dropdown.umd.js.map +1 -1
  49. package/bundles/primeng-dropdown.umd.min.js +1 -1
  50. package/bundles/primeng-dropdown.umd.min.js.map +1 -1
  51. package/bundles/primeng-dynamicdialog.umd.js +1 -1
  52. package/bundles/primeng-dynamicdialog.umd.min.js +1 -1
  53. package/bundles/primeng-dynamicdialog.umd.min.js.map +1 -1
  54. package/bundles/primeng-inputmask.umd.js +5 -2
  55. package/bundles/primeng-inputmask.umd.js.map +1 -1
  56. package/bundles/primeng-inputmask.umd.min.js +1 -1
  57. package/bundles/primeng-inputmask.umd.min.js.map +1 -1
  58. package/bundles/primeng-inputnumber.umd.js +16 -2
  59. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  60. package/bundles/primeng-inputnumber.umd.min.js +1 -1
  61. package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
  62. package/bundles/primeng-knob.umd.js +1 -1
  63. package/bundles/primeng-knob.umd.js.map +1 -1
  64. package/bundles/primeng-knob.umd.min.js +1 -1
  65. package/bundles/primeng-knob.umd.min.js.map +1 -1
  66. package/bundles/primeng-lightbox.umd.js +1 -1
  67. package/bundles/primeng-lightbox.umd.min.js +1 -1
  68. package/bundles/primeng-lightbox.umd.min.js.map +1 -1
  69. package/bundles/primeng-listbox.umd.js +133 -34
  70. package/bundles/primeng-listbox.umd.js.map +1 -1
  71. package/bundles/primeng-listbox.umd.min.js +1 -1
  72. package/bundles/primeng-listbox.umd.min.js.map +1 -1
  73. package/bundles/primeng-multiselect.umd.js +146 -32
  74. package/bundles/primeng-multiselect.umd.js.map +1 -1
  75. package/bundles/primeng-multiselect.umd.min.js +2 -2
  76. package/bundles/primeng-multiselect.umd.min.js.map +1 -1
  77. package/bundles/primeng-sidebar.umd.js.map +1 -1
  78. package/bundles/primeng-sidebar.umd.min.js.map +1 -1
  79. package/bundles/primeng-slider.umd.js +1 -0
  80. package/bundles/primeng-slider.umd.js.map +1 -1
  81. package/bundles/primeng-slider.umd.min.js +1 -1
  82. package/bundles/primeng-slider.umd.min.js.map +1 -1
  83. package/bundles/primeng-table.umd.js +117 -16
  84. package/bundles/primeng-table.umd.js.map +1 -1
  85. package/bundles/primeng-table.umd.min.js +1 -1
  86. package/bundles/primeng-table.umd.min.js.map +1 -1
  87. package/bundles/primeng-tabview.umd.js +25 -3
  88. package/bundles/primeng-tabview.umd.js.map +1 -1
  89. package/bundles/primeng-tabview.umd.min.js +1 -1
  90. package/bundles/primeng-tabview.umd.min.js.map +1 -1
  91. package/bundles/primeng-treetable.umd.js +1 -1
  92. package/bundles/primeng-treetable.umd.js.map +1 -1
  93. package/bundles/primeng-treetable.umd.min.js +1 -1
  94. package/bundles/primeng-treetable.umd.min.js.map +1 -1
  95. package/bundles/primeng-virtualscroller.umd.js +3 -2
  96. package/bundles/primeng-virtualscroller.umd.js.map +1 -1
  97. package/bundles/primeng-virtualscroller.umd.min.js +1 -1
  98. package/bundles/primeng-virtualscroller.umd.min.js.map +1 -1
  99. package/calendar/primeng-calendar.metadata.json +1 -1
  100. package/cascadeselect/cascadeselect.d.ts +3 -3
  101. package/cascadeselect/primeng-cascadeselect.metadata.json +1 -1
  102. package/colorpicker/colorpicker.d.ts +1 -1
  103. package/confirmdialog/confirmdialog.d.ts +3 -2
  104. package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
  105. package/dialog/primeng-dialog.metadata.json +1 -1
  106. package/dom/primeng-dom.metadata.json +1 -1
  107. package/dropdown/primeng-dropdown.metadata.json +1 -1
  108. package/dynamicdialog/primeng-dynamicdialog.metadata.json +1 -1
  109. package/esm2015/api/confirmaeventtype.js +7 -0
  110. package/esm2015/api/filtermatchmode.js +5 -1
  111. package/esm2015/api/filterservice.js +39 -3
  112. package/esm2015/api/primengconfig.js +9 -5
  113. package/esm2015/api/public_api.js +2 -1
  114. package/esm2015/api/translation.js +1 -1
  115. package/esm2015/autocomplete/autocomplete.js +105 -22
  116. package/esm2015/avatar/avatar.js +1 -1
  117. package/esm2015/calendar/calendar.js +7 -1
  118. package/esm2015/cascadeselect/cascadeselect.js +9 -6
  119. package/esm2015/colorpicker/colorpicker.js +1 -1
  120. package/esm2015/confirmdialog/confirmdialog.js +14 -11
  121. package/esm2015/contextmenu/contextmenu.js +3 -3
  122. package/esm2015/dialog/dialog.js +1 -1
  123. package/esm2015/dom/domhandler.js +4 -1
  124. package/esm2015/dropdown/dropdown.js +2 -2
  125. package/esm2015/dynamicdialog/dynamicdialog.js +1 -1
  126. package/esm2015/inputmask/inputmask.js +6 -3
  127. package/esm2015/inputnumber/inputnumber.js +13 -3
  128. package/esm2015/knob/knob.js +2 -2
  129. package/esm2015/lightbox/lightbox.js +1 -1
  130. package/esm2015/listbox/listbox.js +134 -42
  131. package/esm2015/multiselect/multiselect.js +149 -42
  132. package/esm2015/sidebar/sidebar.js +1 -1
  133. package/esm2015/slider/slider.js +2 -1
  134. package/esm2015/table/table.js +127 -17
  135. package/esm2015/tabview/tabview.js +18 -4
  136. package/esm2015/treetable/treetable.js +2 -2
  137. package/esm2015/virtualscroller/virtualscroller.js +4 -3
  138. package/fesm2015/primeng-api.js +58 -7
  139. package/fesm2015/primeng-api.js.map +1 -1
  140. package/fesm2015/primeng-autocomplete.js +104 -21
  141. package/fesm2015/primeng-autocomplete.js.map +1 -1
  142. package/fesm2015/primeng-avatar.js +1 -1
  143. package/fesm2015/primeng-calendar.js +6 -0
  144. package/fesm2015/primeng-calendar.js.map +1 -1
  145. package/fesm2015/primeng-cascadeselect.js +8 -5
  146. package/fesm2015/primeng-cascadeselect.js.map +1 -1
  147. package/fesm2015/primeng-colorpicker.js.map +1 -1
  148. package/fesm2015/primeng-confirmdialog.js +13 -10
  149. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  150. package/fesm2015/primeng-contextmenu.js +2 -2
  151. package/fesm2015/primeng-contextmenu.js.map +1 -1
  152. package/fesm2015/primeng-dialog.js +1 -1
  153. package/fesm2015/primeng-dom.js +3 -0
  154. package/fesm2015/primeng-dom.js.map +1 -1
  155. package/fesm2015/primeng-dropdown.js +1 -1
  156. package/fesm2015/primeng-dropdown.js.map +1 -1
  157. package/fesm2015/primeng-dynamicdialog.js +1 -1
  158. package/fesm2015/primeng-inputmask.js +5 -2
  159. package/fesm2015/primeng-inputmask.js.map +1 -1
  160. package/fesm2015/primeng-inputnumber.js +12 -2
  161. package/fesm2015/primeng-inputnumber.js.map +1 -1
  162. package/fesm2015/primeng-knob.js +1 -1
  163. package/fesm2015/primeng-knob.js.map +1 -1
  164. package/fesm2015/primeng-lightbox.js +1 -1
  165. package/fesm2015/primeng-listbox.js +133 -41
  166. package/fesm2015/primeng-listbox.js.map +1 -1
  167. package/fesm2015/primeng-multiselect.js +148 -41
  168. package/fesm2015/primeng-multiselect.js.map +1 -1
  169. package/fesm2015/primeng-sidebar.js.map +1 -1
  170. package/fesm2015/primeng-slider.js +1 -0
  171. package/fesm2015/primeng-slider.js.map +1 -1
  172. package/fesm2015/primeng-table.js +126 -16
  173. package/fesm2015/primeng-table.js.map +1 -1
  174. package/fesm2015/primeng-tabview.js +17 -3
  175. package/fesm2015/primeng-tabview.js.map +1 -1
  176. package/fesm2015/primeng-treetable.js +1 -1
  177. package/fesm2015/primeng-treetable.js.map +1 -1
  178. package/fesm2015/primeng-virtualscroller.js +3 -2
  179. package/fesm2015/primeng-virtualscroller.js.map +1 -1
  180. package/inputmask/inputmask.d.ts +2 -1
  181. package/inputmask/primeng-inputmask.metadata.json +1 -1
  182. package/inputnumber/inputnumber.d.ts +3 -1
  183. package/inputnumber/primeng-inputnumber.metadata.json +1 -1
  184. package/knob/primeng-knob.metadata.json +1 -1
  185. package/lightbox/primeng-lightbox.metadata.json +1 -1
  186. package/listbox/listbox.d.ts +7 -1
  187. package/listbox/primeng-listbox.metadata.json +1 -1
  188. package/multiselect/multiselect.d.ts +8 -1
  189. package/multiselect/primeng-multiselect.metadata.json +1 -1
  190. package/package.json +1 -1
  191. package/resources/components/avatar/avatar.css +3 -2
  192. package/resources/components/dialog/dialog.css +2 -0
  193. package/resources/components/virtualscroller/virtualscroller.css +2 -16
  194. package/resources/themes/arya-blue/theme.css +26 -38
  195. package/resources/themes/arya-green/theme.css +26 -38
  196. package/resources/themes/arya-orange/theme.css +26 -38
  197. package/resources/themes/arya-purple/theme.css +26 -38
  198. package/resources/themes/bootstrap4-dark-blue/theme.css +26 -38
  199. package/resources/themes/bootstrap4-dark-purple/theme.css +26 -38
  200. package/resources/themes/bootstrap4-light-blue/theme.css +26 -38
  201. package/resources/themes/bootstrap4-light-purple/theme.css +26 -38
  202. package/resources/themes/fluent-light/theme.css +26 -38
  203. package/resources/themes/luna-amber/theme.css +26 -38
  204. package/resources/themes/luna-blue/theme.css +26 -38
  205. package/resources/themes/luna-green/theme.css +26 -38
  206. package/resources/themes/luna-pink/theme.css +26 -38
  207. package/resources/themes/md-dark-deeppurple/theme.css +89 -69
  208. package/resources/themes/md-dark-indigo/theme.css +89 -69
  209. package/resources/themes/md-light-deeppurple/theme.css +293 -273
  210. package/resources/themes/md-light-indigo/theme.css +293 -273
  211. package/resources/themes/mdc-dark-deeppurple/theme.css +89 -69
  212. package/resources/themes/mdc-dark-indigo/theme.css +89 -69
  213. package/resources/themes/mdc-light-deeppurple/theme.css +293 -273
  214. package/resources/themes/mdc-light-indigo/theme.css +293 -273
  215. package/resources/themes/nova/theme.css +26 -38
  216. package/resources/themes/nova-accent/theme.css +26 -38
  217. package/resources/themes/nova-alt/theme.css +26 -38
  218. package/resources/themes/rhea/theme.css +26 -38
  219. package/resources/themes/saga-blue/theme.css +26 -38
  220. package/resources/themes/saga-green/theme.css +26 -38
  221. package/resources/themes/saga-orange/theme.css +26 -38
  222. package/resources/themes/saga-purple/theme.css +26 -38
  223. package/resources/themes/vela-blue/theme.css +26 -38
  224. package/resources/themes/vela-green/theme.css +26 -38
  225. package/resources/themes/vela-orange/theme.css +26 -38
  226. package/resources/themes/vela-purple/theme.css +26 -38
  227. package/sidebar/sidebar.d.ts +1 -1
  228. package/slider/primeng-slider.metadata.json +1 -1
  229. package/table/primeng-table.metadata.json +1 -1
  230. package/table/table.d.ts +12 -0
  231. package/tabview/primeng-tabview.metadata.json +1 -1
  232. package/tabview/tabview.d.ts +6 -2
  233. package/treetable/primeng-treetable.metadata.json +1 -1
  234. package/virtualscroller/primeng-virtualscroller.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/cascadeselect/cascadeselect.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","CASCADESELECT_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","CascadeSelect","multi","CascadeSelectSub","el","this","level","onSelect","EventEmitter","onGroupSelect","activeOption","defineProperty","prototype","_parentActive","val","ngOnInit","selectionPath","options","dirty","_b","_c","option","includes","root","position","onOptionClick","event","isOptionGroup","emit","originalEvent","getOptionValue","onOptionSelect","onOptionGroupSelect","getOptionLabel","optionLabel","ObjectUtils","resolveFieldData","optionValue","getOptionGroupLabel","optionGroup","optionGroupLabel","getOptionGroupChildren","optionGroupChildren","hasOwnProperty","getOptionLabelToRender","getItemClass","p-cascadeselect-item","p-cascadeselect-item-group","p-cascadeselect-item-active p-highlight","isOptionActive","onKeyDown","index","listItem","currentTarget","parentElement","key","nextItem","nativeElement","children","focus","prevItem","parentList","preventDefault","parentItem","containerOffset","DomHandler","getOffset","viewport","getViewport","sublistWidth","offsetParent","offsetWidth","getHiddenElementOuterWidth","itemOuterWidth","getOuterWidth","parseInt","left","width","calculateScrollbarWidth","style","Component","args","selector","template","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ElementRef","Input","Output","cd","showTransitionOptions","hideTransitionOptions","onChange","onGroupChange","onShow","onHide","onBeforeShow","onBeforeHide","focused","overlayVisible","onModelChange","onModelTouched","updateSelectionPath","ngAfterContentInit","_this","templates","forEach","item","getType","valueTemplate","optionTemplate","hide","focusInputEl","path","findModelOptionInGroup","selectedOption","childOption","unshift","equals","dataKey","show","markForCheck","onClick","disabled","overlayEl","contains","target","onFocus","onBlur","onOverlayAnimationStart","toState","element","onOverlayEnter","onOverlayAnimationDone","onOverlayLeave","zIndex","String","generateZIndex","appendContainer","alignOverlay","bindOutsideClickListener","bindScrollListener","bindResizeListener","unbindOutsideClickListener","unbindScrollListener","unbindResizeListener","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","appendTo","absolutePosition","containerEl","minWidth","relativePosition","outsideClickListener","document","addEventListener","removeEventListener","scrollHandler","ConnectedOverlayScrollHandler","resizeListener","window","body","appendChild","getElementById","restoreAppend","removeChild","label","placeholder","findSingle","altKey","containerClass","p-cascadeselect p-component p-inputwrapper","p-disabled","p-focus","p-inputwrapper-filled","p-inputwrapper-focus","labelClass","p-cascadeselect-label","p-placeholder","p-cascadeselect-label-empty","ngOnDestroy","destroy","animations","trigger","transition","opacity","transform","animate","host","[class.p-inputwrapper-filled]","[class.p-inputwrapper-focus]","providers","ChangeDetectorRef","ViewChild","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","SharedModule","RippleModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, TemplateRef, ContentChildren, QueryList, ElementRef, Output, EventEmitter, ViewChild, forwardRef, ChangeDetectorRef, Renderer2, OnDestroy, OnInit, AfterContentInit} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { ObjectUtils } from 'primeng/utils';\nimport { DomHandler } from 'primeng/dom';\nimport { trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple';\n\nexport const CASCADESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CascadeSelect),\n multi: true\n};\n\n@Component({\n selector: 'p-cascadeSelectSub',\n template: `\n <ul class=\"p-cascadeselect-panel p-cascadeselect-items\" role=\"listbox\" aria-orientation=\"horizontal\">\n <ng-template ngFor let-option [ngForOf]=\"options\" let-i=\"index\">\n <li [ngClass]=\"getItemClass(option)\" role=\"none\">\n <div class=\"p-cascadeselect-item-content\" (click)=\"onOptionClick($event, option)\" tabindex=\"0\" (keydown)=\"onKeyDown($event, option, i)\" pRipple>\n <ng-container *ngIf=\"optionTemplate;else defaultOptionTemplate\">\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {$implicit: option}\"></ng-container>\n </ng-container>\n <ng-template #defaultOptionTemplate>\n <span class=\"p-cascadeselect-item-text\">{{getOptionLabelToRender(option)}}</span>\n </ng-template>\n <span class=\"p-cascadeselect-group-icon pi pi-angle-right\" *ngIf=\"isOptionGroup(option)\"></span>\n </div>\n <p-cascadeSelectSub *ngIf=\"isOptionGroup(option) && isOptionActive(option)\" class=\"p-cascadeselect-sublist\" [selectionPath]=\"selectionPath\" [options]=\"getOptionGroupChildren(option)\"\n [optionLabel]=\"optionLabel\" [optionValue]=\"optionValue\" [level]=\"level + 1\" (onSelect)=\"onOptionSelect($event)\" (onOptionGroupSelect)=\"onOptionGroupSelect()\"\n [optionGroupLabel]=\"optionGroupLabel\" [optionGroupChildren]=\"optionGroupChildren\" [parentActive]=\"isOptionActive(option)\" [dirty]=\"dirty\" [optionTemplate]=\"optionTemplate\">\n </p-cascadeSelectSub>\n </li>\n </ng-template>\n </ul>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CascadeSelectSub implements OnInit {\n\n @Input() selectionPath: any[];\n\n @Input() options: any[];\n\n @Input() optionGroupChildren: any[];\n\n @Input() optionTemplate: TemplateRef<any>;\n\n @Input() level: number = 0;\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() dirty: boolean;\n\n @Input() root: boolean;\n\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onGroupSelect: EventEmitter<any> = new EventEmitter();\n\n @Input() get parentActive(): boolean {\n return this._parentActive;\n };\n set parentActive(val) {\n if (!val) {\n this.activeOption = null;\n }\n\n this._parentActive = val;\n }\n\n activeOption: any = null;\n\n _parentActive: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (this.selectionPath && this.options && !this.dirty) {\n for (let option of this.options) {\n if (this.selectionPath.includes(option)) {\n this.activeOption = option;\n break;\n }\n }\n }\n\n if (!this.root) {\n this.position();\n }\n }\n\n onOptionClick(event, option) {\n if (this.isOptionGroup(option)) {\n this.activeOption = (this.activeOption === option) ? null : option;\n\n this.onGroupSelect.emit({\n originalEvent: event,\n value: option\n });\n }\n else {\n this.onSelect.emit({\n originalEvent: event,\n value: this.getOptionValue(option)\n });\n }\n }\n\n onOptionSelect(event) {\n this.onSelect.emit(event);\n }\n\n onOptionGroupSelect(event) {\n this.onGroupSelect.emit(event);\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : option;\n }\n\n getOptionGroupLabel(optionGroup) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : null;\n }\n\n getOptionGroupChildren(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren[this.level]);\n }\n\n isOptionGroup(option) {\n return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[this.level]);\n }\n\n getOptionLabelToRender(option) {\n return this.isOptionGroup(option) ? this.getOptionGroupLabel(option) : this.getOptionLabel(option);\n }\n\n getItemClass(option) {\n return {\n 'p-cascadeselect-item': true, \n 'p-cascadeselect-item-group': this.isOptionGroup(option),\n 'p-cascadeselect-item-active p-highlight': this.isOptionActive(option)\n }\n }\n\n isOptionActive(option) {\n return this.activeOption === option;\n }\n\n onKeyDown(event, option, index) {\n let listItem = event.currentTarget.parentElement;\n\n switch (event.key) {\n case 'Down':\n case 'ArrowDown':\n var nextItem = this.el.nativeElement.children[0].children[index + 1];\n if (nextItem) {\n nextItem.children[0].focus();\n }\n break;\n\n case 'Up':\n case 'ArrowUp':\n var prevItem = this.el.nativeElement.children[0].children[index - 1];\n if (prevItem) {\n prevItem.children[0].focus();\n }\n break;\n\n case 'Right':\n case 'ArrowRight':\n if (this.isOptionGroup(option)) {\n if (this.isOptionActive(option)) {\n listItem.children[1].children[0].children[0].children[0].focus();\n }\n else {\n this.activeOption = option;\n }\n }\n break;\n\n case 'Left':\n case 'ArrowLeft':\n this.activeOption = null;\n\n var parentList = listItem.parentElement.parentElement.parentElement;\n if (parentList) {\n parentList.children[0].focus();\n }\n break;\n\n case 'Enter':\n this.onOptionClick(event, option);\n break;\n }\n\n event.preventDefault();\n }\n\n position() {\n const parentItem = this.el.nativeElement.parentElement;\n const containerOffset = DomHandler.getOffset(parentItem);\n const viewport = DomHandler.getViewport();\n const sublistWidth = this.el.nativeElement.children[0].offsetParent ? this.el.nativeElement.children[0].offsetWidth : DomHandler.getHiddenElementOuterWidth(this.el.nativeElement.children[0]);\n const itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);\n\n if ((parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth) > (viewport.width - DomHandler.calculateScrollbarWidth())) {\n this.el.nativeElement.children[0].style.left = '-200%';\n }\n }\n}\n\n@Component({\n selector: 'p-cascadeSelect',\n template: `\n <div #container [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\" (click)=\"onClick($event)\">\n <div class=\"p-hidden-accessible\">\n <input #focusInput type=\"text\" [attr.id]=\"inputId\" readonly [disabled]=\"disabled\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" (keydown)=\"onKeyDown($event)\" [attr.tabindex]=\"tabindex\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n </div>\n <span [ngClass]=\"labelClass()\">\n <ng-container *ngIf=\"valueTemplate;else defaultValueTemplate\">\n <ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value, placeholder: placeholder}\"></ng-container>\n </ng-container>\n <ng-template #defaultValueTemplate>\n {{label()}}\n </ng-template>\n </span>\n <div class=\"p-cascadeselect-trigger\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-cascadeselect-trigger-icon pi pi-chevron-down\"></span>\n </div>\n <div class=\"p-cascadeselect-panel p-component\" *ngIf=\"overlayVisible\" \n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationDone($event)\">\n <div class=\"p-cascadeselect-items-wrapper\">\n <p-cascadeSelectSub [options]=\"options\" [selectionPath]=\"selectionPath\" class=\"p-cascadeselect-items\" \n [optionLabel]=\"optionLabel\" [optionValue]=\"optionValue\" [level]=\"0\" [optionTemplate]=\"optionTemplate\"\n [optionGroupLabel]=\"optionGroupLabel\" [optionGroupChildren]=\"optionGroupChildren\" \n (onSelect)=\"onOptionSelect($event)\" (onGroupSelect)=\"onOptionGroupSelect()\" [dirty]=\"dirty\" [root]=\"true\">\n </p-cascadeSelectSub>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focus'\n },\n providers: [CASCADESELECT_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./cascadeselect.css']\n})\nexport class CascadeSelect implements OnInit, AfterContentInit, OnDestroy {\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() options: any[];\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() optionGroupChildren: string;\n\n @Input() placeholder: string;\n \n @Input() value: string;\n\n @Input() dataKey: string;\n\n @Input() inputId: string;\n\n @Input() tabindex: string;\n \n @Input() ariaLabelledBy: string;\n\n @Input() appendTo: string;\n\n @Input() disabled: boolean;\n\n @Input() rounded: boolean;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @ViewChild('focusInput') focusInputEl: ElementRef;\n\n @ViewChild('container') containerEl: ElementRef;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onGroupChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Output() onBeforeShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onBeforeHide: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n selectionPath: any = null;\n\n focused: boolean = false;\n\n overlayVisible: boolean = false;\n\n dirty: boolean = false;\n\n valueTemplate: TemplateRef<any>;\n\n optionTemplate: TemplateRef<any>;\n\n outsideClickListener: any;\n \n scrollHandler: any;\n \n resizeListener: any;\n\n overlayEl: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(private el: ElementRef, private cd: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.updateSelectionPath();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'value':\n this.valueTemplate = item.template;\n break;\n case 'option':\n this.optionTemplate = item.template;\n break;\n }\n });\n }\n\n onOptionSelect(event) {\n this.value = event.value;\n this.updateSelectionPath();\n this.onModelChange(this.value);\n this.onChange.emit(event);\n this.hide();\n this.focusInputEl.nativeElement.focus();\n }\n\n onOptionGroupSelect(event) {\n this.dirty = true;\n this.onGroupChange.emit(event);\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : option;\n }\n\n getOptionGroupChildren(optionGroup, level) {\n return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren[level]);\n }\n\n isOptionGroup(option, level) {\n return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[level]);\n }\n\n updateSelectionPath() {\n let path;\n if (this.value != null && this.options) {\n for (let option of this.options) {\n path = this.findModelOptionInGroup(option, 0);\n if (path) {\n break;\n }\n }\n }\n\n this.selectionPath = path; \n }\n\n findModelOptionInGroup(option, level) {\n if (this.isOptionGroup(option, level)) {\n let selectedOption;\n for (let childOption of this.getOptionGroupChildren(option, level)) {\n selectedOption = this.findModelOptionInGroup(childOption, level + 1);\n if (selectedOption) {\n selectedOption.unshift(option);\n return selectedOption;\n }\n }\n }\n else if ((ObjectUtils.equals(this.value, this.getOptionValue(option), this.dataKey))) {\n return [option];\n }\n \n return null;\n }\n\n show() {\n this.onBeforeShow.emit();\n this.overlayVisible = true;\n }\n\n hide() {\n this.onBeforeHide.emit();\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (!this.overlayEl || !this.overlayEl || !this.overlayEl.contains(event.target)) {\n if (this.overlayVisible){\n this.hide();\n }\n else{\n this.show();\n }\n\n this.focusInputEl.nativeElement.focus();\n }\n }\n\n onFocus() {\n this.focused = true;\n }\n\n onBlur() {\n this.focused = false;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlayEl = event.element;\n this.onOverlayEnter();\n break;\n }\n }\n\n onOverlayAnimationDone(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onOverlayLeave();\n break;\n }\n }\n\n onOverlayEnter() {\n this.overlayEl.style.zIndex = String(DomHandler.generateZIndex());\n this.appendContainer();\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.onShow.emit();\n }\n\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.onHide.emit();\n this.overlayEl = null;\n this.dirty = false;\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.updateSelectionPath();\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n alignOverlay() {\n if (this.appendTo) {\n DomHandler.absolutePosition(this.overlayEl, this.containerEl.nativeElement);\n this.overlayEl.style.minWidth = DomHandler.getOuterWidth(this.containerEl.nativeElement) + 'px';\n } else {\n DomHandler.relativePosition(this.overlayEl, this.containerEl.nativeElement);\n }\n }\n\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && this.overlayEl && !this.containerEl.nativeElement.contains(event.target) && !this.overlayEl.contains(event.target)) {\n this.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n }\n\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerEl.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible) {\n this.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n }\n\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlayEl);\n else\n document.getElementById(this.appendTo).appendChild(this.overlayEl);\n }\n }\n\n restoreAppend() {\n if (this.overlayEl && this.appendTo) {\n if (this.appendTo === 'body')\n document.body.removeChild(this.overlayEl);\n else\n document.getElementById(this.appendTo).removeChild(this.overlayEl);\n }\n }\n\n label() {\n if (this.selectionPath)\n return this.getOptionLabel(this.selectionPath[this.selectionPath.length - 1]);\n else\n return this.placeholder||'p-emptylabel';\n }\n\n onKeyDown(event) {\n switch(event.key) {\n case 'Down':\n case 'ArrowDown':\n if (this.overlayVisible) {\n DomHandler.findSingle(this.overlayEl, '.p-cascadeselect-item').children[0].focus();\n }\n else if (event.altKey && this.options && this.options.length) {\n this.show();\n }\n event.preventDefault();\n break;\n\n case 'Escape':\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n break;\n\n case 'Tab':\n this.hide();\n break;\n }\n }\n\n containerClass() {\n return {\n 'p-cascadeselect p-component p-inputwrapper': true,\n 'p-disabled': this.disabled,\n 'p-focus': this.focused,\n 'p-inputwrapper-filled': this.value,\n 'p-inputwrapper-focus': this.focused\n };\n }\n\n labelClass() {\n return {\n 'p-cascadeselect-label': true,\n 'p-placeholder': this.label() === this.placeholder,\n 'p-cascadeselect-label-empty': !this.value && (this.label() === 'p-emptylabel' || this.label().length === 0)\n };\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n this.overlayEl = null;\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule],\n exports: [CascadeSelect, CascadeSelectSub, SharedModule],\n declarations: [CascadeSelect, CascadeSelectSub]\n})\nexport class CascadeSelectModule { }\n"]}
1
+ {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/cascadeselect/cascadeselect.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","CASCADESELECT_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","CascadeSelect","multi","CascadeSelectSub","el","this","level","onSelect","EventEmitter","onGroupSelect","activeOption","defineProperty","prototype","_parentActive","val","ngOnInit","selectionPath","options","dirty","_b","_c","option","includes","root","position","onOptionClick","event","isOptionGroup","emit","originalEvent","getOptionValue","onOptionSelect","onOptionGroupSelect","getOptionLabel","optionLabel","ObjectUtils","resolveFieldData","optionValue","getOptionGroupLabel","optionGroup","optionGroupLabel","getOptionGroupChildren","optionGroupChildren","hasOwnProperty","getOptionLabelToRender","getItemClass","p-cascadeselect-item","p-cascadeselect-item-group","p-cascadeselect-item-active p-highlight","isOptionActive","onKeyDown","index","listItem","currentTarget","parentElement","key","nextItem","nativeElement","children","focus","prevItem","parentList","preventDefault","parentItem","containerOffset","DomHandler","getOffset","viewport","getViewport","sublistWidth","offsetParent","offsetWidth","getHiddenElementOuterWidth","itemOuterWidth","getOuterWidth","parseInt","left","width","calculateScrollbarWidth","style","Component","args","selector","template","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","ElementRef","Input","Output","cd","showTransitionOptions","hideTransitionOptions","onChange","onGroupChange","onShow","onHide","onBeforeShow","onBeforeHide","focused","filled","overlayVisible","onModelChange","onModelTouched","updateSelectionPath","ngAfterContentInit","_this","templates","forEach","item","getType","valueTemplate","optionTemplate","hide","focusInputEl","path","findModelOptionInGroup","updateFilledState","selectedOption","childOption","unshift","equals","dataKey","show","markForCheck","onClick","disabled","overlayEl","contains","target","onFocus","onBlur","onOverlayAnimationStart","toState","element","onOverlayEnter","onOverlayAnimationDone","onOverlayLeave","zIndex","String","generateZIndex","appendContainer","alignOverlay","bindOutsideClickListener","bindScrollListener","bindResizeListener","unbindOutsideClickListener","unbindScrollListener","unbindResizeListener","writeValue","registerOnChange","fn","registerOnTouched","setDisabledState","appendTo","absolutePosition","containerEl","minWidth","relativePosition","outsideClickListener","document","addEventListener","removeEventListener","scrollHandler","ConnectedOverlayScrollHandler","resizeListener","window","body","appendChild","getElementById","restoreAppend","removeChild","label","placeholder","findSingle","altKey","containerClass","p-cascadeselect p-component p-inputwrapper","p-disabled","p-focus","labelClass","p-cascadeselect-label","p-placeholder","p-cascadeselect-label-empty","ngOnDestroy","destroy","animations","trigger","transition","opacity","transform","animate","host","[class.p-inputwrapper-filled]","[class.p-inputwrapper-focus]","providers","ChangeDetectorRef","ViewChild","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","SharedModule","RippleModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, TemplateRef, ContentChildren, QueryList, ElementRef, Output, EventEmitter, ViewChild, forwardRef, ChangeDetectorRef, Renderer2, OnDestroy, OnInit, AfterContentInit} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { ObjectUtils } from 'primeng/utils';\nimport { DomHandler } from 'primeng/dom';\nimport { trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple';\n\nexport const CASCADESELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CascadeSelect),\n multi: true\n};\n\n@Component({\n selector: 'p-cascadeSelectSub',\n template: `\n <ul class=\"p-cascadeselect-panel p-cascadeselect-items\" [ngClass]=\"{'p-cascadeselect-panel-root': root}\" role=\"listbox\" aria-orientation=\"horizontal\">\n <ng-template ngFor let-option [ngForOf]=\"options\" let-i=\"index\">\n <li [ngClass]=\"getItemClass(option)\" role=\"none\">\n <div class=\"p-cascadeselect-item-content\" (click)=\"onOptionClick($event, option)\" tabindex=\"0\" (keydown)=\"onKeyDown($event, option, i)\" pRipple>\n <ng-container *ngIf=\"optionTemplate;else defaultOptionTemplate\">\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {$implicit: option}\"></ng-container>\n </ng-container>\n <ng-template #defaultOptionTemplate>\n <span class=\"p-cascadeselect-item-text\">{{getOptionLabelToRender(option)}}</span>\n </ng-template>\n <span class=\"p-cascadeselect-group-icon pi pi-angle-right\" *ngIf=\"isOptionGroup(option)\"></span>\n </div>\n <p-cascadeSelectSub *ngIf=\"isOptionGroup(option) && isOptionActive(option)\" class=\"p-cascadeselect-sublist\" [selectionPath]=\"selectionPath\" [options]=\"getOptionGroupChildren(option)\"\n [optionLabel]=\"optionLabel\" [optionValue]=\"optionValue\" [level]=\"level + 1\" (onSelect)=\"onOptionSelect($event)\" (onOptionGroupSelect)=\"onOptionGroupSelect()\"\n [optionGroupLabel]=\"optionGroupLabel\" [optionGroupChildren]=\"optionGroupChildren\" [parentActive]=\"isOptionActive(option)\" [dirty]=\"dirty\" [optionTemplate]=\"optionTemplate\">\n </p-cascadeSelectSub>\n </li>\n </ng-template>\n </ul>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CascadeSelectSub implements OnInit {\n\n @Input() selectionPath: any[];\n\n @Input() options: any[];\n\n @Input() optionGroupChildren: any[];\n\n @Input() optionTemplate: TemplateRef<any>;\n\n @Input() level: number = 0;\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() dirty: boolean;\n\n @Input() root: boolean;\n\n @Output() onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onGroupSelect: EventEmitter<any> = new EventEmitter();\n\n @Input() get parentActive(): boolean {\n return this._parentActive;\n };\n set parentActive(val) {\n if (!val) {\n this.activeOption = null;\n }\n\n this._parentActive = val;\n }\n\n activeOption: any = null;\n\n _parentActive: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (this.selectionPath && this.options && !this.dirty) {\n for (let option of this.options) {\n if (this.selectionPath.includes(option)) {\n this.activeOption = option;\n break;\n }\n }\n }\n\n if (!this.root) {\n this.position();\n }\n }\n\n onOptionClick(event, option) {\n if (this.isOptionGroup(option)) {\n this.activeOption = (this.activeOption === option) ? null : option;\n\n this.onGroupSelect.emit({\n originalEvent: event,\n value: option\n });\n }\n else {\n this.onSelect.emit({\n originalEvent: event,\n value: this.getOptionValue(option)\n });\n }\n }\n\n onOptionSelect(event) {\n this.onSelect.emit(event);\n }\n\n onOptionGroupSelect(event) {\n this.onGroupSelect.emit(event);\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : option;\n }\n\n getOptionGroupLabel(optionGroup) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : null;\n }\n\n getOptionGroupChildren(optionGroup) {\n return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren[this.level]);\n }\n\n isOptionGroup(option) {\n return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[this.level]);\n }\n\n getOptionLabelToRender(option) {\n return this.isOptionGroup(option) ? this.getOptionGroupLabel(option) : this.getOptionLabel(option);\n }\n\n getItemClass(option) {\n return {\n 'p-cascadeselect-item': true, \n 'p-cascadeselect-item-group': this.isOptionGroup(option),\n 'p-cascadeselect-item-active p-highlight': this.isOptionActive(option)\n }\n }\n\n isOptionActive(option) {\n return this.activeOption === option;\n }\n\n onKeyDown(event, option, index) {\n let listItem = event.currentTarget.parentElement;\n\n switch (event.key) {\n case 'Down':\n case 'ArrowDown':\n var nextItem = this.el.nativeElement.children[0].children[index + 1];\n if (nextItem) {\n nextItem.children[0].focus();\n }\n break;\n\n case 'Up':\n case 'ArrowUp':\n var prevItem = this.el.nativeElement.children[0].children[index - 1];\n if (prevItem) {\n prevItem.children[0].focus();\n }\n break;\n\n case 'Right':\n case 'ArrowRight':\n if (this.isOptionGroup(option)) {\n if (this.isOptionActive(option)) {\n listItem.children[1].children[0].children[0].children[0].focus();\n }\n else {\n this.activeOption = option;\n }\n }\n break;\n\n case 'Left':\n case 'ArrowLeft':\n this.activeOption = null;\n\n var parentList = listItem.parentElement.parentElement.parentElement;\n if (parentList) {\n parentList.children[0].focus();\n }\n break;\n\n case 'Enter':\n this.onOptionClick(event, option);\n break;\n }\n\n event.preventDefault();\n }\n\n position() {\n const parentItem = this.el.nativeElement.parentElement;\n const containerOffset = DomHandler.getOffset(parentItem);\n const viewport = DomHandler.getViewport();\n const sublistWidth = this.el.nativeElement.children[0].offsetParent ? this.el.nativeElement.children[0].offsetWidth : DomHandler.getHiddenElementOuterWidth(this.el.nativeElement.children[0]);\n const itemOuterWidth = DomHandler.getOuterWidth(parentItem.children[0]);\n\n if ((parseInt(containerOffset.left, 10) + itemOuterWidth + sublistWidth) > (viewport.width - DomHandler.calculateScrollbarWidth())) {\n this.el.nativeElement.children[0].style.left = '-200%';\n }\n }\n}\n\n@Component({\n selector: 'p-cascadeSelect',\n template: `\n <div #container [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\" (click)=\"onClick($event)\">\n <div class=\"p-hidden-accessible\">\n <input #focusInput type=\"text\" [attr.id]=\"inputId\" readonly [disabled]=\"disabled\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" (keydown)=\"onKeyDown($event)\" [attr.tabindex]=\"tabindex\"\n aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n </div>\n <span [ngClass]=\"labelClass()\">\n <ng-container *ngIf=\"valueTemplate;else defaultValueTemplate\">\n <ng-container *ngTemplateOutlet=\"valueTemplate; context: {$implicit: value, placeholder: placeholder}\"></ng-container>\n </ng-container>\n <ng-template #defaultValueTemplate>\n {{label()}}\n </ng-template>\n </span>\n <div class=\"p-cascadeselect-trigger\" role=\"button\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\">\n <span class=\"p-cascadeselect-trigger-icon pi pi-chevron-down\"></span>\n </div>\n <div class=\"p-cascadeselect-panel p-component\" *ngIf=\"overlayVisible\" \n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationDone($event)\">\n <div class=\"p-cascadeselect-items-wrapper\">\n <p-cascadeSelectSub [options]=\"options\" [selectionPath]=\"selectionPath\" class=\"p-cascadeselect-items\" \n [optionLabel]=\"optionLabel\" [optionValue]=\"optionValue\" [level]=\"0\" [optionTemplate]=\"optionTemplate\"\n [optionGroupLabel]=\"optionGroupLabel\" [optionGroupChildren]=\"optionGroupChildren\" \n (onSelect)=\"onOptionSelect($event)\" (onGroupSelect)=\"onOptionGroupSelect()\" [dirty]=\"dirty\" [root]=\"true\">\n </p-cascadeSelectSub>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused || overlayVisible'\n },\n providers: [CASCADESELECT_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./cascadeselect.css']\n})\nexport class CascadeSelect implements OnInit, AfterContentInit, OnDestroy {\n\n @Input() styleClass: string;\n\n @Input() style: any;\n\n @Input() options: any[];\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() optionGroupChildren: string;\n\n @Input() placeholder: string;\n \n @Input() value: string;\n\n @Input() dataKey: string;\n\n @Input() inputId: string;\n\n @Input() tabindex: string;\n \n @Input() ariaLabelledBy: string;\n\n @Input() appendTo: any;\n\n @Input() disabled: boolean;\n\n @Input() rounded: boolean;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @ViewChild('focusInput') focusInputEl: ElementRef;\n\n @ViewChild('container') containerEl: ElementRef;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onGroupChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Output() onBeforeShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onBeforeHide: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n selectionPath: any = null;\n\n focused: boolean = false;\n\n filled: boolean = false;\n\n overlayVisible: boolean = false;\n\n dirty: boolean = false;\n\n valueTemplate: TemplateRef<any>;\n\n optionTemplate: TemplateRef<any>;\n\n outsideClickListener: any;\n \n scrollHandler: any;\n \n resizeListener: any;\n\n overlayEl: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(private el: ElementRef, private cd: ChangeDetectorRef) { }\n\n ngOnInit() {\n this.updateSelectionPath();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'value':\n this.valueTemplate = item.template;\n break;\n case 'option':\n this.optionTemplate = item.template;\n break;\n }\n });\n }\n\n onOptionSelect(event) {\n this.value = event.value;\n this.updateSelectionPath();\n this.onModelChange(this.value);\n this.onChange.emit(event);\n this.hide();\n this.focusInputEl.nativeElement.focus();\n }\n\n onOptionGroupSelect(event) {\n this.dirty = true;\n this.onGroupChange.emit(event);\n }\n\n getOptionLabel(option) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : option;\n }\n\n getOptionGroupChildren(optionGroup, level) {\n return ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren[level]);\n }\n\n isOptionGroup(option, level) {\n return Object.prototype.hasOwnProperty.call(option, this.optionGroupChildren[level]);\n }\n\n updateSelectionPath() {\n let path;\n if (this.value != null && this.options) {\n for (let option of this.options) {\n path = this.findModelOptionInGroup(option, 0);\n if (path) {\n break;\n }\n }\n }\n\n this.selectionPath = path; \n this.updateFilledState();\n }\n\n updateFilledState() {\n this.filled = !(this.selectionPath == null || this.selectionPath.length == 0);\n }\n\n findModelOptionInGroup(option, level) {\n if (this.isOptionGroup(option, level)) {\n let selectedOption;\n for (let childOption of this.getOptionGroupChildren(option, level)) {\n selectedOption = this.findModelOptionInGroup(childOption, level + 1);\n if (selectedOption) {\n selectedOption.unshift(option);\n return selectedOption;\n }\n }\n }\n else if ((ObjectUtils.equals(this.value, this.getOptionValue(option), this.dataKey))) {\n return [option];\n }\n \n return null;\n }\n\n show() {\n this.onBeforeShow.emit();\n this.overlayVisible = true;\n }\n\n hide() {\n this.onBeforeHide.emit();\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onClick(event) {\n if (this.disabled) {\n return;\n }\n\n if (!this.overlayEl || !this.overlayEl || !this.overlayEl.contains(event.target)) {\n if (this.overlayVisible){\n this.hide();\n }\n else{\n this.show();\n }\n\n this.focusInputEl.nativeElement.focus();\n }\n }\n\n onFocus() {\n this.focused = true;\n }\n\n onBlur() {\n this.focused = false;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlayEl = event.element;\n this.onOverlayEnter();\n break;\n }\n }\n\n onOverlayAnimationDone(event: AnimationEvent) {\n switch (event.toState) {\n case 'void':\n this.onOverlayLeave();\n break;\n }\n }\n\n onOverlayEnter() {\n this.overlayEl.style.zIndex = String(DomHandler.generateZIndex());\n this.appendContainer();\n this.alignOverlay();\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.onShow.emit();\n }\n\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.onHide.emit();\n this.overlayEl = null;\n this.dirty = false;\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.updateSelectionPath();\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n alignOverlay() {\n if (this.appendTo) {\n DomHandler.absolutePosition(this.overlayEl, this.containerEl.nativeElement);\n this.overlayEl.style.minWidth = DomHandler.getOuterWidth(this.containerEl.nativeElement) + 'px';\n } else {\n DomHandler.relativePosition(this.overlayEl, this.containerEl.nativeElement);\n }\n }\n\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n if (this.overlayVisible && this.overlayEl && !this.containerEl.nativeElement.contains(event.target) && !this.overlayEl.contains(event.target)) {\n this.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n }\n\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerEl.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible) {\n this.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n }\n\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlayEl);\n else\n document.getElementById(this.appendTo).appendChild(this.overlayEl);\n }\n }\n\n restoreAppend() {\n if (this.overlayEl && this.appendTo) {\n if (this.appendTo === 'body')\n document.body.removeChild(this.overlayEl);\n else\n document.getElementById(this.appendTo).removeChild(this.overlayEl);\n }\n }\n\n label() {\n if (this.selectionPath)\n return this.getOptionLabel(this.selectionPath[this.selectionPath.length - 1]);\n else\n return this.placeholder||'p-emptylabel';\n }\n\n onKeyDown(event) {\n switch(event.key) {\n case 'Down':\n case 'ArrowDown':\n if (this.overlayVisible) {\n DomHandler.findSingle(this.overlayEl, '.p-cascadeselect-item').children[0].focus();\n }\n else if (event.altKey && this.options && this.options.length) {\n this.show();\n }\n event.preventDefault();\n break;\n\n case 'Escape':\n if (this.overlayVisible) {\n this.hide();\n event.preventDefault();\n }\n break;\n\n case 'Tab':\n this.hide();\n break;\n }\n }\n\n containerClass() {\n return {\n 'p-cascadeselect p-component p-inputwrapper': true,\n 'p-disabled': this.disabled,\n 'p-focus': this.focused\n };\n }\n\n labelClass() {\n return {\n 'p-cascadeselect-label': true,\n 'p-placeholder': this.label() === this.placeholder,\n 'p-cascadeselect-label-empty': !this.value && (this.label() === 'p-emptylabel' || this.label().length === 0)\n };\n }\n\n ngOnDestroy() {\n this.restoreAppend();\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n this.overlayEl = null;\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule],\n exports: [CascadeSelect, CascadeSelectSub, SharedModule],\n declarations: [CascadeSelect, CascadeSelectSub]\n})\nexport class CascadeSelectModule { }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-colorpicker.umd.js","sources":["../../src/app/components/colorpicker/colorpicker.ts","../../src/app/components/colorpicker/primeng-colorpicker.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, Input, Output, OnDestroy, EventEmitter, forwardRef, Renderer2, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { trigger, state, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n};\n\n@Component({\n selector: 'p-colorPicker',\n template: `\n <div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-colorpicker p-component':true,'p-colorpicker-overlay':!inline,'p-colorpicker-dragging':colorDragging||hueDragging}\">\n <input #input type=\"text\" *ngIf=\"!inline\" class=\"p-colorpicker-preview p-inputtext\" readonly=\"readonly\" [ngClass]=\"{'p-disabled': disabled}\"\n (focus)=\"onInputFocus()\" (click)=\"onInputClick()\" (keydown)=\"onInputKeydown($event)\" [attr.id]=\"inputId\" [attr.tabindex]=\"tabindex\" [disabled]=\"disabled\"\n [style.backgroundColor]=\"inputBgColor\">\n <div *ngIf=\"inline || overlayVisible\" [ngClass]=\"{'p-colorpicker-panel': true, 'p-colorpicker-overlay-panel':!inline, 'p-disabled': disabled}\" (click)=\"onPanelClick()\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"inline === true\" \n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\">\n <div class=\"p-colorpicker-content\">\n <div #colorSelector class=\"p-colorpicker-color-selector\" (mousedown)=\"onColorMousedown($event)\">\n <div class=\"p-colorpicker-color\">\n <div #colorHandle class=\"p-colorpicker-color-handle\"></div>\n </div>\n </div>\n <div #hue class=\"p-colorpicker-hue\" (mousedown)=\"onHueMousedown($event)\">\n <div #hueHandle class=\"p-colorpicker-hue-handle\"></div>\n </div>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n providers: [COLORPICKER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./colorpicker.css']\n})\nexport class ColorPicker implements ControlValueAccessor, OnDestroy {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() inline: boolean;\n\n @Input() format: string = 'hex';\n\n @Input() appendTo: string;\n\n @Input() disabled: boolean;\n\n @Input() tabindex: string;\n\n @Input() inputId: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('input') inputViewChild: ElementRef;\n\n value: any = {h:0, s: 100, b: 100};\n\n inputBgColor: string;\n\n shown: boolean;\n\n overlayVisible: boolean;\n\n defaultColor: string = 'ff0000';\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n documentClickListener: Function;\n\n documentResizeListener: any;\n\n documentMousemoveListener: Function;\n\n documentMouseupListener: Function;\n\n documentHueMoveListener: Function;\n\n scrollHandler: any;\n\n selfClick: boolean;\n\n colorDragging: boolean;\n\n hueDragging: boolean;\n\n overlay: HTMLDivElement;\n\n colorSelectorViewChild: ElementRef;\n\n colorHandleViewChild: ElementRef;\n\n hueViewChild: ElementRef;\n\n hueHandleViewChild: ElementRef;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n @ViewChild('colorSelector') set colorSelector(element: ElementRef) {\n this.colorSelectorViewChild = element;\n }\n\n @ViewChild('colorHandle') set colorHandle(element: ElementRef) {\n this.colorHandleViewChild = element;\n }\n\n @ViewChild('hue') set hue(element: ElementRef) {\n this.hueViewChild = element;\n }\n\n @ViewChild('hueHandle') set hueHandle(element: ElementRef) {\n this.hueHandleViewChild = element;\n }\n\n onHueMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.hueDragging = true;\n this.pickHue(event);\n }\n\n pickHue(event: MouseEvent) {\n let top: number = this.hueViewChild.nativeElement.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n this.value = this.validateHSB({\n h: Math.floor(360 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150),\n s: this.value.s,\n b: this.value.b\n });\n\n this.updateColorSelector();\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n onColorMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.colorDragging = true;\n this.pickColor(event);\n }\n\n pickColor(event: MouseEvent) {\n let rect = this.colorSelectorViewChild.nativeElement.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 - left)))) / 150);\n let brightness = Math.floor(100 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150);\n this.value = this.validateHSB({\n h: this.value.h,\n s: saturation,\n b: brightness\n });\n\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n getValueToUpdate() {\n let val: any;\n switch(this.format) {\n case 'hex':\n val = '#' + this.HSBtoHEX(this.value);\n break;\n\n case 'rgb':\n val = this.HSBtoRGB(this.value);\n break;\n\n case 'hsb':\n val = this.value;\n break;\n }\n\n return val;\n }\n\n updateModel(): void {\n this.onModelChange(this.getValueToUpdate());\n }\n\n writeValue(value: any): void {\n if (value) {\n switch(this.format) {\n case 'hex':\n this.value = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n this.value = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n this.value = value;\n break;\n }\n }\n else {\n this.value = this.HEXtoHSB(this.defaultColor);\n }\n\n this.updateColorSelector();\n this.updateUI();\n this.cd.markForCheck();\n }\n\n updateColorSelector() {\n if (this.colorSelectorViewChild) {\n const hsb: any = {};\n hsb.s = 100;\n hsb.b = 100;\n hsb.h = this.value.h;\n\n this.colorSelectorViewChild.nativeElement.style.backgroundColor = '#' + this.HSBtoHEX(hsb);\n }\n }\n\n updateUI() {\n if (this.colorHandleViewChild && this.hueHandleViewChild.nativeElement) {\n this.colorHandleViewChild.nativeElement.style.left = Math.floor(150 * this.value.s / 100) + 'px';\n this.colorHandleViewChild.nativeElement.style.top = Math.floor(150 * (100 - this.value.b) / 100) + 'px';\n this.hueHandleViewChild.nativeElement.style.top = Math.floor(150 - (150 * this.value.h / 360)) + 'px';\n\n }\n\n this.inputBgColor = '#' + this.HSBtoHEX(this.value);\n }\n\n onInputFocus() {\n this.onModelTouched();\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.overlay = event.element;\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n this.updateColorSelector();\n this.updateUI();\n }\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.onShow.emit({})\n }\n break;\n\n case 'void':\n this.onHide.emit({})\n break;\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.inputViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.inputViewChild.nativeElement);\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onInputClick() {\n this.selfClick = true;\n this.togglePanel();\n }\n\n togglePanel() {\n if (!this.overlayVisible)\n this.show();\n else\n this.hide();\n }\n\n onInputKeydown(event: KeyboardEvent) {\n switch(event.which) {\n //space\n case 32:\n this.togglePanel();\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide();\n break;\n }\n }\n\n onPanelClick() {\n this.selfClick = true;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n if (!this.selfClick) {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentMousemoveListener() {\n if (!this.documentMousemoveListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMousemoveListener = this.renderer.listen(documentTarget, 'mousemove', (event: MouseEvent) => {\n if (this.colorDragging) {\n this.pickColor(event);\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n }\n });\n }\n }\n\n unbindDocumentMousemoveListener() {\n if (this.documentMousemoveListener) {\n this.documentMousemoveListener();\n this.documentMousemoveListener = null;\n }\n }\n\n bindDocumentMouseupListener() {\n if (!this.documentMouseupListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMouseupListener = this.renderer.listen(documentTarget, 'mouseup', () => {\n this.colorDragging = false;\n this.hueDragging = false;\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n });\n }\n }\n\n unbindDocumentMouseupListener() {\n if (this.documentMouseupListener) {\n this.documentMouseupListener();\n this.documentMouseupListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.hide();\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\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\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\n validateHEX(hex) {\n var len = 6 - hex.length;\n if (len > 0) {\n var o = [];\n for (var i=0; i<len; i++) {\n o.push('0');\n }\n o.push(hex);\n hex = o.join('');\n }\n return hex;\n }\n\n HEXtoRGB(hex) {\n let hexValue = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);\n return {r: hexValue >> 16, g: (hexValue & 0x00FF00) >> 8, b: (hexValue & 0x0000FF)};\n }\n\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n }\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 hsb.b = max;\n hsb.s = max != 0 ? 255 * delta / max : 0;\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 hsb.h *= 60;\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n hsb.s *= 100/255;\n hsb.b *= 100/255;\n return hsb;\n }\n\n HSBtoRGB(hsb) {\n var rgb = {\n r: null, g: null, b: null\n };\n let h: number = hsb.h;\n let s: number = hsb.s*255/100;\n let v: number = hsb.b*255/100;\n if (s == 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n }\n }\n else {\n let t1: number = v;\n let t2: number = (255-s)*v/255;\n let t3: number = (t1-t2)*(h%60)/60;\n if (h==360) h = 0;\n if (h<60) {rgb.r=t1;\trgb.b=t2; rgb.g=t2+t3}\n else if (h<120) {rgb.g=t1; rgb.b=t2;\trgb.r=t1-t3}\n else if (h<180) {rgb.g=t1; rgb.r=t2;\trgb.b=t2+t3}\n else if (h<240) {rgb.b=t1; rgb.r=t2;\trgb.g=t1-t3}\n else if (h<300) {rgb.b=t1; rgb.g=t2;\trgb.r=t2+t3}\n else if (h<360) {rgb.r=t1; rgb.g=t2;\trgb.b=t1-t3}\n else {rgb.r=0; rgb.g=0;\trgb.b=0}\n }\n return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};\n }\n\n RGBtoHEX(rgb) {\n var hex = [\n rgb.r.toString(16),\n rgb.g.toString(16),\n rgb.b.toString(16)\n ];\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\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n }\n\n onOverlayHide() {\n this.unbindScrollListener();\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n this.overlay = null;\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ColorPicker],\n declarations: [ColorPicker]\n})\nexport class ColorPickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","DomHandler","ConnectedOverlayScrollHandler","Component","trigger","transition","style","animate","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","Renderer2","ChangeDetectorRef","Input","Output","ViewChild","NgModule","CommonModule"],"mappings":"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"}
1
+ {"version":3,"file":"primeng-colorpicker.umd.js","sources":["../../src/app/components/colorpicker/colorpicker.ts","../../src/app/components/colorpicker/primeng-colorpicker.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, Input, Output, OnDestroy, EventEmitter, forwardRef, Renderer2, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { trigger, state, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n};\n\n@Component({\n selector: 'p-colorPicker',\n template: `\n <div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-colorpicker p-component':true,'p-colorpicker-overlay':!inline,'p-colorpicker-dragging':colorDragging||hueDragging}\">\n <input #input type=\"text\" *ngIf=\"!inline\" class=\"p-colorpicker-preview p-inputtext\" readonly=\"readonly\" [ngClass]=\"{'p-disabled': disabled}\"\n (focus)=\"onInputFocus()\" (click)=\"onInputClick()\" (keydown)=\"onInputKeydown($event)\" [attr.id]=\"inputId\" [attr.tabindex]=\"tabindex\" [disabled]=\"disabled\"\n [style.backgroundColor]=\"inputBgColor\">\n <div *ngIf=\"inline || overlayVisible\" [ngClass]=\"{'p-colorpicker-panel': true, 'p-colorpicker-overlay-panel':!inline, 'p-disabled': disabled}\" (click)=\"onPanelClick()\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"inline === true\" \n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\">\n <div class=\"p-colorpicker-content\">\n <div #colorSelector class=\"p-colorpicker-color-selector\" (mousedown)=\"onColorMousedown($event)\">\n <div class=\"p-colorpicker-color\">\n <div #colorHandle class=\"p-colorpicker-color-handle\"></div>\n </div>\n </div>\n <div #hue class=\"p-colorpicker-hue\" (mousedown)=\"onHueMousedown($event)\">\n <div #hueHandle class=\"p-colorpicker-hue-handle\"></div>\n </div>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n providers: [COLORPICKER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./colorpicker.css']\n})\nexport class ColorPicker implements ControlValueAccessor, OnDestroy {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() inline: boolean;\n\n @Input() format: string = 'hex';\n\n @Input() appendTo: any;\n\n @Input() disabled: boolean;\n\n @Input() tabindex: string;\n\n @Input() inputId: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('input') inputViewChild: ElementRef;\n\n value: any = {h:0, s: 100, b: 100};\n\n inputBgColor: string;\n\n shown: boolean;\n\n overlayVisible: boolean;\n\n defaultColor: string = 'ff0000';\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n documentClickListener: Function;\n\n documentResizeListener: any;\n\n documentMousemoveListener: Function;\n\n documentMouseupListener: Function;\n\n documentHueMoveListener: Function;\n\n scrollHandler: any;\n\n selfClick: boolean;\n\n colorDragging: boolean;\n\n hueDragging: boolean;\n\n overlay: HTMLDivElement;\n\n colorSelectorViewChild: ElementRef;\n\n colorHandleViewChild: ElementRef;\n\n hueViewChild: ElementRef;\n\n hueHandleViewChild: ElementRef;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n @ViewChild('colorSelector') set colorSelector(element: ElementRef) {\n this.colorSelectorViewChild = element;\n }\n\n @ViewChild('colorHandle') set colorHandle(element: ElementRef) {\n this.colorHandleViewChild = element;\n }\n\n @ViewChild('hue') set hue(element: ElementRef) {\n this.hueViewChild = element;\n }\n\n @ViewChild('hueHandle') set hueHandle(element: ElementRef) {\n this.hueHandleViewChild = element;\n }\n\n onHueMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.hueDragging = true;\n this.pickHue(event);\n }\n\n pickHue(event: MouseEvent) {\n let top: number = this.hueViewChild.nativeElement.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n this.value = this.validateHSB({\n h: Math.floor(360 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150),\n s: this.value.s,\n b: this.value.b\n });\n\n this.updateColorSelector();\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n onColorMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.colorDragging = true;\n this.pickColor(event);\n }\n\n pickColor(event: MouseEvent) {\n let rect = this.colorSelectorViewChild.nativeElement.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 - left)))) / 150);\n let brightness = Math.floor(100 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150);\n this.value = this.validateHSB({\n h: this.value.h,\n s: saturation,\n b: brightness\n });\n\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n getValueToUpdate() {\n let val: any;\n switch(this.format) {\n case 'hex':\n val = '#' + this.HSBtoHEX(this.value);\n break;\n\n case 'rgb':\n val = this.HSBtoRGB(this.value);\n break;\n\n case 'hsb':\n val = this.value;\n break;\n }\n\n return val;\n }\n\n updateModel(): void {\n this.onModelChange(this.getValueToUpdate());\n }\n\n writeValue(value: any): void {\n if (value) {\n switch(this.format) {\n case 'hex':\n this.value = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n this.value = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n this.value = value;\n break;\n }\n }\n else {\n this.value = this.HEXtoHSB(this.defaultColor);\n }\n\n this.updateColorSelector();\n this.updateUI();\n this.cd.markForCheck();\n }\n\n updateColorSelector() {\n if (this.colorSelectorViewChild) {\n const hsb: any = {};\n hsb.s = 100;\n hsb.b = 100;\n hsb.h = this.value.h;\n\n this.colorSelectorViewChild.nativeElement.style.backgroundColor = '#' + this.HSBtoHEX(hsb);\n }\n }\n\n updateUI() {\n if (this.colorHandleViewChild && this.hueHandleViewChild.nativeElement) {\n this.colorHandleViewChild.nativeElement.style.left = Math.floor(150 * this.value.s / 100) + 'px';\n this.colorHandleViewChild.nativeElement.style.top = Math.floor(150 * (100 - this.value.b) / 100) + 'px';\n this.hueHandleViewChild.nativeElement.style.top = Math.floor(150 - (150 * this.value.h / 360)) + 'px';\n\n }\n\n this.inputBgColor = '#' + this.HSBtoHEX(this.value);\n }\n\n onInputFocus() {\n this.onModelTouched();\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.overlay = event.element;\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n this.updateColorSelector();\n this.updateUI();\n }\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.onShow.emit({})\n }\n break;\n\n case 'void':\n this.onHide.emit({})\n break;\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.inputViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.inputViewChild.nativeElement);\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onInputClick() {\n this.selfClick = true;\n this.togglePanel();\n }\n\n togglePanel() {\n if (!this.overlayVisible)\n this.show();\n else\n this.hide();\n }\n\n onInputKeydown(event: KeyboardEvent) {\n switch(event.which) {\n //space\n case 32:\n this.togglePanel();\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide();\n break;\n }\n }\n\n onPanelClick() {\n this.selfClick = true;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n if (!this.selfClick) {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentMousemoveListener() {\n if (!this.documentMousemoveListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMousemoveListener = this.renderer.listen(documentTarget, 'mousemove', (event: MouseEvent) => {\n if (this.colorDragging) {\n this.pickColor(event);\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n }\n });\n }\n }\n\n unbindDocumentMousemoveListener() {\n if (this.documentMousemoveListener) {\n this.documentMousemoveListener();\n this.documentMousemoveListener = null;\n }\n }\n\n bindDocumentMouseupListener() {\n if (!this.documentMouseupListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMouseupListener = this.renderer.listen(documentTarget, 'mouseup', () => {\n this.colorDragging = false;\n this.hueDragging = false;\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n });\n }\n }\n\n unbindDocumentMouseupListener() {\n if (this.documentMouseupListener) {\n this.documentMouseupListener();\n this.documentMouseupListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.hide();\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\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\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\n validateHEX(hex) {\n var len = 6 - hex.length;\n if (len > 0) {\n var o = [];\n for (var i=0; i<len; i++) {\n o.push('0');\n }\n o.push(hex);\n hex = o.join('');\n }\n return hex;\n }\n\n HEXtoRGB(hex) {\n let hexValue = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);\n return {r: hexValue >> 16, g: (hexValue & 0x00FF00) >> 8, b: (hexValue & 0x0000FF)};\n }\n\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n }\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 hsb.b = max;\n hsb.s = max != 0 ? 255 * delta / max : 0;\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 hsb.h *= 60;\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n hsb.s *= 100/255;\n hsb.b *= 100/255;\n return hsb;\n }\n\n HSBtoRGB(hsb) {\n var rgb = {\n r: null, g: null, b: null\n };\n let h: number = hsb.h;\n let s: number = hsb.s*255/100;\n let v: number = hsb.b*255/100;\n if (s == 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n }\n }\n else {\n let t1: number = v;\n let t2: number = (255-s)*v/255;\n let t3: number = (t1-t2)*(h%60)/60;\n if (h==360) h = 0;\n if (h<60) {rgb.r=t1;\trgb.b=t2; rgb.g=t2+t3}\n else if (h<120) {rgb.g=t1; rgb.b=t2;\trgb.r=t1-t3}\n else if (h<180) {rgb.g=t1; rgb.r=t2;\trgb.b=t2+t3}\n else if (h<240) {rgb.b=t1; rgb.r=t2;\trgb.g=t1-t3}\n else if (h<300) {rgb.b=t1; rgb.g=t2;\trgb.r=t2+t3}\n else if (h<360) {rgb.r=t1; rgb.g=t2;\trgb.b=t1-t3}\n else {rgb.r=0; rgb.g=0;\trgb.b=0}\n }\n return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};\n }\n\n RGBtoHEX(rgb) {\n var hex = [\n rgb.r.toString(16),\n rgb.g.toString(16),\n rgb.b.toString(16)\n ];\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\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n }\n\n onOverlayHide() {\n this.unbindScrollListener();\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n this.overlay = null;\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ColorPicker],\n declarations: [ColorPicker]\n})\nexport class ColorPickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NG_VALUE_ACCESSOR","forwardRef","EventEmitter","DomHandler","ConnectedOverlayScrollHandler","Component","trigger","transition","style","animate","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","Renderer2","ChangeDetectorRef","Input","Output","ViewChild","NgModule","CommonModule"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/app/components/colorpicker/colorpicker.ts"],"names":["COLORPICKER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","ColorPicker","multi","el","renderer","cd","this","format","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","onChange","EventEmitter","onShow","onHide","value","h","s","b","defaultColor","onModelChange","onModelTouched","Object","defineProperty","prototype","element","colorSelectorViewChild","colorHandleViewChild","hueViewChild","hueHandleViewChild","onHueMousedown","event","disabled","bindDocumentMousemoveListener","bindDocumentMouseupListener","hueDragging","pickHue","top","nativeElement","getBoundingClientRect","window","pageYOffset","document","documentElement","scrollTop","body","validateHSB","Math","floor","max","min","pageY","updateColorSelector","updateUI","updateModel","emit","originalEvent","getValueToUpdate","onColorMousedown","colorDragging","pickColor","rect","left","scrollLeft","saturation","pageX","brightness","val","HSBtoHEX","HSBtoRGB","writeValue","HEXtoHSB","RGBtoHSB","markForCheck","hsb","style","backgroundColor","inputBgColor","onInputFocus","show","overlayVisible","onOverlayAnimationStart","toState","inline","overlay","appendOverlay","zIndex","String","DomHandler","zindex","alignOverlay","bindDocumentClickListener","bindDocumentResizeListener","bindScrollListener","onOverlayHide","onOverlayAnimationEnd","appendTo","appendChild","restoreOverlayAppend","absolutePosition","inputViewChild","relativePosition","hide","onInputClick","selfClick","togglePanel","onInputKeydown","which","preventDefault","onPanelClick","registerOnChange","fn","registerOnTouched","setDisabledState","_this","documentClickListener","documentTarget","ownerDocument","listen","unbindDocumentClickListener","documentMousemoveListener","unbindDocumentMousemoveListener","documentMouseupListener","unbindDocumentMouseupListener","documentResizeListener","onWindowResize","bind","addEventListener","unbindDocumentResizeListener","removeEventListener","scrollHandler","ConnectedOverlayScrollHandler","containerViewChild","unbindScrollListener","validateRGB","rgb","r","g","validateHEX","hex","len","length","o","i","push","join","HEXtoRGB","hexValue","parseInt","indexOf","substring","delta","v","t1","t2","t3","round","RGBtoHEX","toString","key","ngOnDestroy","destroy","Component","args","selector","template","animations","trigger","transition","opacity","transform","animate","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","Renderer2","ChangeDetectorRef","Input","Output","ViewChild","NgModule","imports","CommonModule","exports","declarations"],"mappings":"mlBAMaA,EAAkC,CAC3CC,QAASC,EAAAA,kBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAC,KAC9BC,OAAO,gBAyHP,SAAAD,EAAmBE,EAAuBC,EAA4BC,GAAnDC,KAAAH,GAAAA,EAAuBG,KAAAF,SAAAA,EAA4BE,KAAAD,GAAAA,EAvE7DC,KAAAC,OAAiB,MAUjBD,KAAAE,YAAsB,EAEtBF,KAAAG,WAAqB,EAErBH,KAAAI,sBAAgC,kCAEhCJ,KAAAK,sBAAgC,aAE/BL,KAAAM,SAA8B,IAAIC,EAAAA,aAElCP,KAAAQ,OAA4B,IAAID,EAAAA,aAEhCP,KAAAS,OAA4B,IAAIF,EAAAA,aAO1CP,KAAAU,MAAa,CAACC,EAAE,EAAGC,EAAG,IAAKC,EAAG,KAQ9Bb,KAAAc,aAAuB,SAEvBd,KAAAe,cAA0B,aAE1Bf,KAAAgB,eAA2B,oBAgC3BC,OAAAC,eAAgCvB,EAAAwB,UAAA,gBAAa,KAA7C,SAA8CC,GAC1CpB,KAAKqB,uBAAyBD,mCAGlCH,OAAAC,eAA8BvB,EAAAwB,UAAA,cAAW,KAAzC,SAA0CC,GACtCpB,KAAKsB,qBAAuBF,mCAGhCH,OAAAC,eAAsBvB,EAAAwB,UAAA,MAAG,KAAzB,SAA0BC,GACtBpB,KAAKuB,aAAeH,mCAGxBH,OAAAC,eAA4BvB,EAAAwB,UAAA,YAAS,KAArC,SAAsCC,GAClCpB,KAAKwB,mBAAqBJ,mCAG9BzB,EAAAwB,UAAAM,eAAA,SAAeC,GACP1B,KAAK2B,WAIT3B,KAAK4B,gCACL5B,KAAK6B,8BAEL7B,KAAK8B,aAAc,EACnB9B,KAAK+B,QAAQL,KAGjB/B,EAAAwB,UAAAY,QAAA,SAAQL,GACJ,IAAIM,EAAchC,KAAKuB,aAAaU,cAAcC,wBAAwBF,KAAOG,OAAOC,aAAeC,SAASC,gBAAgBC,WAAaF,SAASG,KAAKD,WAAa,GACxKvC,KAAKU,MAAQV,KAAKyC,YAAY,CAC1B9B,EAAG+B,KAAKC,MAAM,KAAO,IAAMD,KAAKE,IAAI,EAAGF,KAAKG,IAAI,IAAMnB,EAAMoB,MAAQd,KAAU,KAC9EpB,EAAGZ,KAAKU,MAAME,EACdC,EAAGb,KAAKU,MAAMG,IAGlBb,KAAK+C,sBACL/C,KAAKgD,WACLhD,KAAKiD,cACLjD,KAAKM,SAAS4C,KAAK,CAACC,cAAezB,EAAOhB,MAAOV,KAAKoD,sBAG1DzD,EAAAwB,UAAAkC,iBAAA,SAAiB3B,GACT1B,KAAK2B,WAIT3B,KAAK4B,gCACL5B,KAAK6B,8BAEL7B,KAAKsD,eAAgB,EACrBtD,KAAKuD,UAAU7B,KAGnB/B,EAAAwB,UAAAoC,UAAA,SAAU7B,GACN,IAAI8B,EAAOxD,KAAKqB,uBAAuBY,cAAcC,wBACjDF,EAAMwB,EAAKxB,KAAOG,OAAOC,aAAeC,SAASC,gBAAgBC,WAAaF,SAASG,KAAKD,WAAa,GACzGkB,EAAOD,EAAKC,KAAOpB,SAASG,KAAKkB,WACjCC,EAAajB,KAAKC,MAAM,IAAOD,KAAKE,IAAI,EAAGF,KAAKG,IAAI,IAAMnB,EAAMkC,MAAQH,IAAW,KACnFI,EAAanB,KAAKC,MAAM,KAAO,IAAMD,KAAKE,IAAI,EAAGF,KAAKG,IAAI,IAAMnB,EAAMoB,MAAQd,KAAU,KAC5FhC,KAAKU,MAAQV,KAAKyC,YAAY,CAC1B9B,EAAGX,KAAKU,MAAMC,EACdC,EAAG+C,EACH9C,EAAGgD,IAGP7D,KAAKgD,WACLhD,KAAKiD,cACLjD,KAAKM,SAAS4C,KAAK,CAACC,cAAezB,EAAOhB,MAAOV,KAAKoD,sBAG1DzD,EAAAwB,UAAAiC,iBAAA,WACI,IAAIU,EACJ,OAAO9D,KAAKC,QACR,IAAK,MACD6D,EAAM,IAAM9D,KAAK+D,SAAS/D,KAAKU,OACnC,MAEA,IAAK,MACDoD,EAAM9D,KAAKgE,SAAShE,KAAKU,OAC7B,MAEA,IAAK,MACDoD,EAAM9D,KAAKU,MAInB,OAAOoD,GAGXnE,EAAAwB,UAAA8B,YAAA,WACIjD,KAAKe,cAAcf,KAAKoD,qBAG5BzD,EAAAwB,UAAA8C,WAAA,SAAWvD,GACP,GAAIA,EACA,OAAOV,KAAKC,QACR,IAAK,MACDD,KAAKU,MAAQV,KAAKkE,SAASxD,GAC/B,MAEA,IAAK,MACDV,KAAKU,MAAQV,KAAKmE,SAASzD,GAC/B,MAEA,IAAK,MACDV,KAAKU,MAAQA,OAKrBV,KAAKU,MAAQV,KAAKkE,SAASlE,KAAKc,cAGpCd,KAAK+C,sBACL/C,KAAKgD,WACLhD,KAAKD,GAAGqE,gBAGZzE,EAAAwB,UAAA4B,oBAAA,WACI,GAAI/C,KAAKqB,uBAAwB,CAC7B,IAAMgD,EAAW,CACjBzD,EAAQ,IACRC,EAAQ,KACRwD,EAAI1D,EAAIX,KAAKU,MAAMC,EAEnBX,KAAKqB,uBAAuBY,cAAcqC,MAAMC,gBAAkB,IAAMvE,KAAK+D,SAASM,KAI9F1E,EAAAwB,UAAA6B,SAAA,WACQhD,KAAKsB,sBAAwBtB,KAAKwB,mBAAmBS,gBACrDjC,KAAKsB,qBAAqBW,cAAcqC,MAAMb,KAAQf,KAAKC,MAAM,IAAM3C,KAAKU,MAAME,EAAI,KAAO,KAC7FZ,KAAKsB,qBAAqBW,cAAcqC,MAAMtC,IAAOU,KAAKC,MAAM,KAAO,IAAM3C,KAAKU,MAAMG,GAAK,KAAO,KACpGb,KAAKwB,mBAAmBS,cAAcqC,MAAMtC,IAAMU,KAAKC,MAAM,IAAO,IAAM3C,KAAKU,MAAMC,EAAI,KAAQ,MAIrGX,KAAKwE,aAAe,IAAMxE,KAAK+D,SAAS/D,KAAKU,QAGjDf,EAAAwB,UAAAsD,aAAA,WACIzE,KAAKgB,kBAGTrB,EAAAwB,UAAAuD,KAAA,WACI1E,KAAK2E,gBAAiB,GAG1BhF,EAAAwB,UAAAyD,wBAAA,SAAwBlD,GACpB,OAAOA,EAAMmD,SACT,IAAK,UACI7E,KAAK8E,SACN9E,KAAK+E,QAAUrD,EAAMN,QACrBpB,KAAKgF,gBACDhF,KAAKE,aACLF,KAAK+E,QAAQT,MAAMW,OAASC,OAAOlF,KAAKG,cAAgBgF,EAAAA,WAAWC,SAEvEpF,KAAKqF,eACLrF,KAAKsF,4BACLtF,KAAKuF,6BACLvF,KAAKwF,qBAELxF,KAAK+C,sBACL/C,KAAKgD,YAEb,MAEA,IAAK,OACDhD,KAAKyF,kBAKjB9F,EAAAwB,UAAAuE,sBAAA,SAAsBhE,GAClB,OAAOA,EAAMmD,SACT,IAAK,UACI7E,KAAK8E,QACN9E,KAAKQ,OAAO0C,KAAK,IAEzB,MAEA,IAAK,OACDlD,KAAKS,OAAOyC,KAAK,MAK7BvD,EAAAwB,UAAA6D,cAAA,WACQhF,KAAK2F,WACiB,SAAlB3F,KAAK2F,SACLtD,SAASG,KAAKoD,YAAY5F,KAAK+E,SAE/BI,EAAAA,WAAWS,YAAY5F,KAAK+E,QAAS/E,KAAK2F,YAItDhG,EAAAwB,UAAA0E,qBAAA,WACQ7F,KAAK+E,SAAW/E,KAAK2F,UACrB3F,KAAKH,GAAGoC,cAAc2D,YAAY5F,KAAK+E,UAI/CpF,EAAAwB,UAAAkE,aAAA,WACQrF,KAAK2F,SACLR,EAAAA,WAAWW,iBAAiB9F,KAAK+E,QAAS/E,KAAK+F,eAAe9D,eAE9DkD,EAAAA,WAAWa,iBAAiBhG,KAAK+E,QAAS/E,KAAK+F,eAAe9D,gBAGtEtC,EAAAwB,UAAA8E,KAAA,WACIjG,KAAK2E,gBAAiB,EACtB3E,KAAKD,GAAGqE,gBAGZzE,EAAAwB,UAAA+E,aAAA,WACIlG,KAAKmG,WAAY,EACjBnG,KAAKoG,eAGTzG,EAAAwB,UAAAiF,YAAA,WACSpG,KAAK2E,eAGN3E,KAAKiG,OAFLjG,KAAK0E,QAKb/E,EAAAwB,UAAAkF,eAAA,SAAe3E,GACX,OAAOA,EAAM4E,OAET,KAAK,GACDtG,KAAKoG,cACL1E,EAAM6E,iBACV,MAGA,KAAK,GACL,KAAK,EACDvG,KAAKiG,SAKjBtG,EAAAwB,UAAAqF,aAAA,WACIxG,KAAKmG,WAAY,GAGrBxG,EAAAwB,UAAAsF,iBAAA,SAAiBC,GACb1G,KAAKe,cAAgB2F,GAGzB/G,EAAAwB,UAAAwF,kBAAA,SAAkBD,GACd1G,KAAKgB,eAAiB0F,GAG1B/G,EAAAwB,UAAAyF,iBAAA,SAAiB9C,GACb9D,KAAK2B,SAAWmC,EAChB9D,KAAKD,GAAGqE,gBAGZzE,EAAAwB,UAAAmE,0BAAA,WAAA,IAAAuB,EAAA7G,KACI,IAAKA,KAAK8G,sBAAuB,CAC7B,IAAMC,EAAsB/G,KAAKH,GAAKG,KAAKH,GAAGoC,cAAc+E,cAAgB,WAE5EhH,KAAK8G,sBAAwB9G,KAAKF,SAASmH,OAAOF,EAAgB,SAAS,WAClEF,EAAKV,YACNU,EAAKlC,gBAAiB,EACtBkC,EAAKK,+BAGTL,EAAKV,WAAY,EACjBU,EAAK9G,GAAGqE,oBAKpBzE,EAAAwB,UAAA+F,4BAAA,WACQlH,KAAK8G,wBACL9G,KAAK8G,wBACL9G,KAAK8G,sBAAwB,OAIrCnH,EAAAwB,UAAAS,8BAAA,WAAA,IAAAiF,EAAA7G,KACI,IAAKA,KAAKmH,0BAA2B,CACjC,IAAMJ,EAAsB/G,KAAKH,GAAKG,KAAKH,GAAGoC,cAAc+E,cAAgB,WAE5EhH,KAAKmH,0BAA4BnH,KAAKF,SAASmH,OAAOF,EAAgB,aAAa,SAACrF,GAC5EmF,EAAKvD,eACLuD,EAAKtD,UAAU7B,GAGfmF,EAAK/E,aACL+E,EAAK9E,QAAQL,QAM7B/B,EAAAwB,UAAAiG,gCAAA,WACQpH,KAAKmH,4BACLnH,KAAKmH,4BACLnH,KAAKmH,0BAA4B,OAIzCxH,EAAAwB,UAAAU,4BAAA,WAAA,IAAAgF,EAAA7G,KACI,IAAKA,KAAKqH,wBAAyB,CAC/B,IAAMN,EAAsB/G,KAAKH,GAAKG,KAAKH,GAAGoC,cAAc+E,cAAgB,WAE5EhH,KAAKqH,wBAA0BrH,KAAKF,SAASmH,OAAOF,EAAgB,WAAW,WAC3EF,EAAKvD,eAAgB,EACrBuD,EAAK/E,aAAc,EACnB+E,EAAKO,kCACLP,EAAKS,qCAKjB3H,EAAAwB,UAAAmG,8BAAA,WACQtH,KAAKqH,0BACLrH,KAAKqH,0BACLrH,KAAKqH,wBAA0B,OAIvC1H,EAAAwB,UAAAoE,2BAAA,WACIvF,KAAKuH,uBAAyBvH,KAAKwH,eAAeC,KAAKzH,MACvDmC,OAAOuF,iBAAiB,SAAU1H,KAAKuH,yBAG3C5H,EAAAwB,UAAAwG,6BAAA,WACQ3H,KAAKuH,yBACLpF,OAAOyF,oBAAoB,SAAU5H,KAAKuH,wBAC1CvH,KAAKuH,uBAAyB,OAItC5H,EAAAwB,UAAAqG,eAAA,WACIxH,KAAKiG,QAGTtG,EAAAwB,UAAAqE,mBAAA,WAAA,IAAAqB,EAAA7G,KACSA,KAAK6H,gBACN7H,KAAK6H,cAAgB,IAAIC,EAAAA,8BAA8B9H,KAAK+H,mBAAmB9F,eAAe,WACtF4E,EAAKlC,gBACLkC,EAAKZ,WAKjBjG,KAAK6H,cAAcrC,sBAGvB7F,EAAAwB,UAAA6G,qBAAA,WACQhI,KAAK6H,eACL7H,KAAK6H,cAAcG,wBAI3BrI,EAAAwB,UAAAsB,YAAA,SAAY4B,GACR,MAAO,CACH1D,EAAG+B,KAAKG,IAAI,IAAKH,KAAKE,IAAI,EAAGyB,EAAI1D,IACjCC,EAAG8B,KAAKG,IAAI,IAAKH,KAAKE,IAAI,EAAGyB,EAAIzD,IACjCC,EAAG6B,KAAKG,IAAI,IAAKH,KAAKE,IAAI,EAAGyB,EAAIxD,MAIzClB,EAAAwB,UAAA8G,YAAA,SAAYC,GACR,MAAO,CACHC,EAAGzF,KAAKG,IAAI,IAAKH,KAAKE,IAAI,EAAGsF,EAAIC,IACjCC,EAAG1F,KAAKG,IAAI,IAAKH,KAAKE,IAAI,EAAGsF,EAAIE,IACjCvH,EAAG6B,KAAKG,IAAI,IAAKH,KAAKE,IAAI,EAAGsF,EAAIrH,MAIzClB,EAAAwB,UAAAkH,YAAA,SAAYC,GACR,IAAIC,EAAM,EAAID,EAAIE,OAClB,GAAID,EAAM,EAAG,CAET,IADA,IAAIE,EAAI,GACCC,EAAE,EAAGA,EAAEH,EAAKG,IACjBD,EAAEE,KAAK,KAEXF,EAAEE,KAAKL,GACPA,EAAMG,EAAEG,KAAK,IAEjB,OAAON,GAGX3I,EAAAwB,UAAA0H,SAAA,SAASP,GACL,IAAIQ,EAAWC,SAAWT,EAAIU,QAAQ,MAAQ,EAAKV,EAAIW,UAAU,GAAKX,EAAM,IAC5E,MAAO,CAACH,EAAGW,GAAY,GAAIV,GAAe,MAAXU,IAAwB,EAAGjI,EAAe,IAAXiI,IAGlEnJ,EAAAwB,UAAA+C,SAAA,SAASoE,GACL,OAAOtI,KAAKmE,SAASnE,KAAK6I,SAASP,KAGvC3I,EAAAwB,UAAAgD,SAAA,SAAS+D,GACL,IAAI7D,EAAM,CACN1D,EAAG,EACHC,EAAG,EACHC,EAAG,GAEHgC,EAAMH,KAAKG,IAAIqF,EAAIC,EAAGD,EAAIE,EAAGF,EAAIrH,GACjC+B,EAAMF,KAAKE,IAAIsF,EAAIC,EAAGD,EAAIE,EAAGF,EAAIrH,GACjCqI,EAAQtG,EAAMC,EAoBlB,OAnBAwB,EAAIxD,EAAI+B,EACRyB,EAAIzD,EAAW,GAAPgC,EAAW,IAAMsG,EAAQtG,EAAM,EAC1B,GAATyB,EAAIzD,EACAsH,EAAIC,GAAKvF,EACTyB,EAAI1D,GAAKuH,EAAIE,EAAIF,EAAIrH,GAAKqI,EACnBhB,EAAIE,GAAKxF,EAChByB,EAAI1D,EAAI,GAAKuH,EAAIrH,EAAIqH,EAAIC,GAAKe,EAE9B7E,EAAI1D,EAAI,GAAKuH,EAAIC,EAAID,EAAIE,GAAKc,EAGlC7E,EAAI1D,GAAK,EAEb0D,EAAI1D,GAAK,GACL0D,EAAI1D,EAAI,IACR0D,EAAI1D,GAAK,KAEb0D,EAAIzD,GAAK,IAAI,IACbyD,EAAIxD,GAAK,IAAI,IACNwD,GAGX1E,EAAAwB,UAAA6C,SAAA,SAASK,GACL,IAAI6D,EAAM,CACNC,EAAG,KAAMC,EAAG,KAAMvH,EAAG,MAErBF,EAAY0D,EAAI1D,EAChBC,EAAkB,IAANyD,EAAIzD,EAAM,IACtBuI,EAAkB,IAAN9E,EAAIxD,EAAM,IAC1B,GAAS,GAALD,EACAsH,EAAM,CACFC,EAAGgB,EACHf,EAAGe,EACHtI,EAAGsI,OAGN,CACD,IAAIC,EAAaD,EACbE,GAAc,IAAIzI,GAAGuI,EAAE,IACvBG,EAAsB3I,EAAE,IAAVyI,EAAGC,GAAW,GACzB,KAAH1I,IAAQA,EAAI,GACZA,EAAE,IAAKuH,EAAIC,EAAEiB,EAAIlB,EAAIrH,EAAEwI,EAAInB,EAAIE,EAAEiB,EAAGC,GAC/B3I,EAAE,KAAMuH,EAAIE,EAAEgB,EAAIlB,EAAIrH,EAAEwI,EAAInB,EAAIC,EAAEiB,EAAGE,GACrC3I,EAAE,KAAMuH,EAAIE,EAAEgB,EAAIlB,EAAIC,EAAEkB,EAAInB,EAAIrH,EAAEwI,EAAGC,GACrC3I,EAAE,KAAMuH,EAAIrH,EAAEuI,EAAIlB,EAAIC,EAAEkB,EAAInB,EAAIE,EAAEgB,EAAGE,GACrC3I,EAAE,KAAMuH,EAAIrH,EAAEuI,EAAIlB,EAAIE,EAAEiB,EAAInB,EAAIC,EAAEkB,EAAGC,GACrC3I,EAAE,KAAMuH,EAAIC,EAAEiB,EAAIlB,EAAIE,EAAEiB,EAAInB,EAAIrH,EAAEuI,EAAGE,IACxCpB,EAAIC,EAAE,EAAGD,EAAIE,EAAE,EAAGF,EAAIrH,EAAE,GAElC,MAAO,CAACsH,EAAEzF,KAAK6G,MAAMrB,EAAIC,GAAIC,EAAE1F,KAAK6G,MAAMrB,EAAIE,GAAIvH,EAAE6B,KAAK6G,MAAMrB,EAAIrH,KAGvElB,EAAAwB,UAAAqI,SAAA,SAAStB,GACL,IAAII,EAAM,CACNJ,EAAIC,EAAEsB,SAAS,IACfvB,EAAIE,EAAEqB,SAAS,IACfvB,EAAIrH,EAAE4I,SAAS,KAGnB,IAAI,IAAIC,KAAOpB,EACY,GAAnBA,EAAIoB,GAAKlB,SACTF,EAAIoB,GAAO,IAAMpB,EAAIoB,IAI7B,OAAOpB,EAAIM,KAAK,KAGpBjJ,EAAAwB,UAAA4C,SAAA,SAASM,GACL,OAAOrE,KAAKwJ,SAASxJ,KAAKgE,SAASK,KAGvC1E,EAAAwB,UAAAsE,cAAA,WACIzF,KAAKgI,uBACLhI,KAAK2H,+BACL3H,KAAKkH,8BACLlH,KAAK+E,QAAU,MAGnBpF,EAAAwB,UAAAwI,YAAA,WACQ3J,KAAK6H,gBACL7H,KAAK6H,cAAc+B,UACnB5J,KAAK6H,cAAgB,MAGzB7H,KAAK6F,uBACL7F,KAAKyF,0CArmBZoE,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,gBACVC,SAAU,4tDAqBVC,WAAY,CACRC,EAAAA,QAAQ,mBAAoB,CACxBC,EAAAA,WAAW,SAAU,CACjB7F,EAAAA,MAAM,CAAC8F,QAAS,EAAGC,UAAW,gBAC9BC,EAAAA,QAAQ,8BAEVH,EAAAA,WAAW,SAAU,CACnBG,EAAAA,QAAQ,2BAA4BhG,EAAAA,MAAM,CAAE8F,QAAS,UAIjEG,UAAW,CAACjL,GACZkL,gBAAiBC,EAAAA,wBAAwBC,OACzCC,cAAeC,EAAAA,kBAAkBC,mkCAhDPC,EAAAA,kBAAgEC,EAAAA,iBAAsBC,EAAAA,oDAqD/GC,EAAAA,0BAEAA,EAAAA,sBAEAA,EAAAA,sBAEAA,EAAAA,wBAEAA,EAAAA,wBAEAA,EAAAA,wBAEAA,EAAAA,uBAEAA,EAAAA,0BAEAA,EAAAA,0BAEAA,EAAAA,qCAEAA,EAAAA,qCAEAA,EAAAA,wBAEAC,EAAAA,uBAEAA,EAAAA,uBAEAA,EAAAA,mCAGAC,EAAAA,UAASrB,KAAA,CAAC,qCAEVqB,EAAAA,UAASrB,KAAA,CAAC,gCA8CVqB,EAAAA,UAASrB,KAAA,CAAC,sCAIVqB,EAAAA,UAASrB,KAAA,CAAC,4BAIVqB,EAAAA,UAASrB,KAAA,CAAC,0BAIVqB,EAAAA,UAASrB,KAAA,CAAC,sBA0ef,iCALCsB,EAAAA,SAAQtB,KAAA,CAAC,CACNuB,QAAS,CAACC,EAAAA,cACVC,QAAS,CAAC5L,GACV6L,aAAc,CAAC7L","sourcesContent":["import { NgModule, Component, ElementRef, Input, Output, OnDestroy, EventEmitter, forwardRef, Renderer2, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { trigger, state, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n};\n\n@Component({\n selector: 'p-colorPicker',\n template: `\n <div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-colorpicker p-component':true,'p-colorpicker-overlay':!inline,'p-colorpicker-dragging':colorDragging||hueDragging}\">\n <input #input type=\"text\" *ngIf=\"!inline\" class=\"p-colorpicker-preview p-inputtext\" readonly=\"readonly\" [ngClass]=\"{'p-disabled': disabled}\"\n (focus)=\"onInputFocus()\" (click)=\"onInputClick()\" (keydown)=\"onInputKeydown($event)\" [attr.id]=\"inputId\" [attr.tabindex]=\"tabindex\" [disabled]=\"disabled\"\n [style.backgroundColor]=\"inputBgColor\">\n <div *ngIf=\"inline || overlayVisible\" [ngClass]=\"{'p-colorpicker-panel': true, 'p-colorpicker-overlay-panel':!inline, 'p-disabled': disabled}\" (click)=\"onPanelClick()\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"inline === true\" \n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\">\n <div class=\"p-colorpicker-content\">\n <div #colorSelector class=\"p-colorpicker-color-selector\" (mousedown)=\"onColorMousedown($event)\">\n <div class=\"p-colorpicker-color\">\n <div #colorHandle class=\"p-colorpicker-color-handle\"></div>\n </div>\n </div>\n <div #hue class=\"p-colorpicker-hue\" (mousedown)=\"onHueMousedown($event)\">\n <div #hueHandle class=\"p-colorpicker-hue-handle\"></div>\n </div>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n providers: [COLORPICKER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./colorpicker.css']\n})\nexport class ColorPicker implements ControlValueAccessor, OnDestroy {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() inline: boolean;\n\n @Input() format: string = 'hex';\n\n @Input() appendTo: string;\n\n @Input() disabled: boolean;\n\n @Input() tabindex: string;\n\n @Input() inputId: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('input') inputViewChild: ElementRef;\n\n value: any = {h:0, s: 100, b: 100};\n\n inputBgColor: string;\n\n shown: boolean;\n\n overlayVisible: boolean;\n\n defaultColor: string = 'ff0000';\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n documentClickListener: Function;\n\n documentResizeListener: any;\n\n documentMousemoveListener: Function;\n\n documentMouseupListener: Function;\n\n documentHueMoveListener: Function;\n\n scrollHandler: any;\n\n selfClick: boolean;\n\n colorDragging: boolean;\n\n hueDragging: boolean;\n\n overlay: HTMLDivElement;\n\n colorSelectorViewChild: ElementRef;\n\n colorHandleViewChild: ElementRef;\n\n hueViewChild: ElementRef;\n\n hueHandleViewChild: ElementRef;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n @ViewChild('colorSelector') set colorSelector(element: ElementRef) {\n this.colorSelectorViewChild = element;\n }\n\n @ViewChild('colorHandle') set colorHandle(element: ElementRef) {\n this.colorHandleViewChild = element;\n }\n\n @ViewChild('hue') set hue(element: ElementRef) {\n this.hueViewChild = element;\n }\n\n @ViewChild('hueHandle') set hueHandle(element: ElementRef) {\n this.hueHandleViewChild = element;\n }\n\n onHueMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.hueDragging = true;\n this.pickHue(event);\n }\n\n pickHue(event: MouseEvent) {\n let top: number = this.hueViewChild.nativeElement.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n this.value = this.validateHSB({\n h: Math.floor(360 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150),\n s: this.value.s,\n b: this.value.b\n });\n\n this.updateColorSelector();\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n onColorMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.colorDragging = true;\n this.pickColor(event);\n }\n\n pickColor(event: MouseEvent) {\n let rect = this.colorSelectorViewChild.nativeElement.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 - left)))) / 150);\n let brightness = Math.floor(100 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150);\n this.value = this.validateHSB({\n h: this.value.h,\n s: saturation,\n b: brightness\n });\n\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n getValueToUpdate() {\n let val: any;\n switch(this.format) {\n case 'hex':\n val = '#' + this.HSBtoHEX(this.value);\n break;\n\n case 'rgb':\n val = this.HSBtoRGB(this.value);\n break;\n\n case 'hsb':\n val = this.value;\n break;\n }\n\n return val;\n }\n\n updateModel(): void {\n this.onModelChange(this.getValueToUpdate());\n }\n\n writeValue(value: any): void {\n if (value) {\n switch(this.format) {\n case 'hex':\n this.value = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n this.value = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n this.value = value;\n break;\n }\n }\n else {\n this.value = this.HEXtoHSB(this.defaultColor);\n }\n\n this.updateColorSelector();\n this.updateUI();\n this.cd.markForCheck();\n }\n\n updateColorSelector() {\n if (this.colorSelectorViewChild) {\n const hsb: any = {};\n hsb.s = 100;\n hsb.b = 100;\n hsb.h = this.value.h;\n\n this.colorSelectorViewChild.nativeElement.style.backgroundColor = '#' + this.HSBtoHEX(hsb);\n }\n }\n\n updateUI() {\n if (this.colorHandleViewChild && this.hueHandleViewChild.nativeElement) {\n this.colorHandleViewChild.nativeElement.style.left = Math.floor(150 * this.value.s / 100) + 'px';\n this.colorHandleViewChild.nativeElement.style.top = Math.floor(150 * (100 - this.value.b) / 100) + 'px';\n this.hueHandleViewChild.nativeElement.style.top = Math.floor(150 - (150 * this.value.h / 360)) + 'px';\n\n }\n\n this.inputBgColor = '#' + this.HSBtoHEX(this.value);\n }\n\n onInputFocus() {\n this.onModelTouched();\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.overlay = event.element;\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n this.updateColorSelector();\n this.updateUI();\n }\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.onShow.emit({})\n }\n break;\n\n case 'void':\n this.onHide.emit({})\n break;\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.inputViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.inputViewChild.nativeElement);\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onInputClick() {\n this.selfClick = true;\n this.togglePanel();\n }\n\n togglePanel() {\n if (!this.overlayVisible)\n this.show();\n else\n this.hide();\n }\n\n onInputKeydown(event: KeyboardEvent) {\n switch(event.which) {\n //space\n case 32:\n this.togglePanel();\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide();\n break;\n }\n }\n\n onPanelClick() {\n this.selfClick = true;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n if (!this.selfClick) {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentMousemoveListener() {\n if (!this.documentMousemoveListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMousemoveListener = this.renderer.listen(documentTarget, 'mousemove', (event: MouseEvent) => {\n if (this.colorDragging) {\n this.pickColor(event);\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n }\n });\n }\n }\n\n unbindDocumentMousemoveListener() {\n if (this.documentMousemoveListener) {\n this.documentMousemoveListener();\n this.documentMousemoveListener = null;\n }\n }\n\n bindDocumentMouseupListener() {\n if (!this.documentMouseupListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMouseupListener = this.renderer.listen(documentTarget, 'mouseup', () => {\n this.colorDragging = false;\n this.hueDragging = false;\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n });\n }\n }\n\n unbindDocumentMouseupListener() {\n if (this.documentMouseupListener) {\n this.documentMouseupListener();\n this.documentMouseupListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.hide();\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\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\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\n validateHEX(hex) {\n var len = 6 - hex.length;\n if (len > 0) {\n var o = [];\n for (var i=0; i<len; i++) {\n o.push('0');\n }\n o.push(hex);\n hex = o.join('');\n }\n return hex;\n }\n\n HEXtoRGB(hex) {\n let hexValue = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);\n return {r: hexValue >> 16, g: (hexValue & 0x00FF00) >> 8, b: (hexValue & 0x0000FF)};\n }\n\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n }\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 hsb.b = max;\n hsb.s = max != 0 ? 255 * delta / max : 0;\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 hsb.h *= 60;\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n hsb.s *= 100/255;\n hsb.b *= 100/255;\n return hsb;\n }\n\n HSBtoRGB(hsb) {\n var rgb = {\n r: null, g: null, b: null\n };\n let h: number = hsb.h;\n let s: number = hsb.s*255/100;\n let v: number = hsb.b*255/100;\n if (s == 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n }\n }\n else {\n let t1: number = v;\n let t2: number = (255-s)*v/255;\n let t3: number = (t1-t2)*(h%60)/60;\n if (h==360) h = 0;\n if (h<60) {rgb.r=t1;\trgb.b=t2; rgb.g=t2+t3}\n else if (h<120) {rgb.g=t1; rgb.b=t2;\trgb.r=t1-t3}\n else if (h<180) {rgb.g=t1; rgb.r=t2;\trgb.b=t2+t3}\n else if (h<240) {rgb.b=t1; rgb.r=t2;\trgb.g=t1-t3}\n else if (h<300) {rgb.b=t1; rgb.g=t2;\trgb.r=t2+t3}\n else if (h<360) {rgb.r=t1; rgb.g=t2;\trgb.b=t1-t3}\n else {rgb.r=0; rgb.g=0;\trgb.b=0}\n }\n return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};\n }\n\n RGBtoHEX(rgb) {\n var hex = [\n rgb.r.toString(16),\n rgb.g.toString(16),\n rgb.b.toString(16)\n ];\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\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n }\n\n onOverlayHide() {\n this.unbindScrollListener();\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n this.overlay = null;\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ColorPicker],\n declarations: [ColorPicker]\n})\nexport class ColorPickerModule { }\n"]}
1
+ {"version":3,"sources":["../../src/app/components/colorpicker/colorpicker.ts"],"names":["COLORPICKER_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","ColorPicker","multi","el","renderer","cd","this","format","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","onChange","EventEmitter","onShow","onHide","value","h","s","b","defaultColor","onModelChange","onModelTouched","Object","defineProperty","prototype","element","colorSelectorViewChild","colorHandleViewChild","hueViewChild","hueHandleViewChild","onHueMousedown","event","disabled","bindDocumentMousemoveListener","bindDocumentMouseupListener","hueDragging","pickHue","top","nativeElement","getBoundingClientRect","window","pageYOffset","document","documentElement","scrollTop","body","validateHSB","Math","floor","max","min","pageY","updateColorSelector","updateUI","updateModel","emit","originalEvent","getValueToUpdate","onColorMousedown","colorDragging","pickColor","rect","left","scrollLeft","saturation","pageX","brightness","val","HSBtoHEX","HSBtoRGB","writeValue","HEXtoHSB","RGBtoHSB","markForCheck","hsb","style","backgroundColor","inputBgColor","onInputFocus","show","overlayVisible","onOverlayAnimationStart","toState","inline","overlay","appendOverlay","zIndex","String","DomHandler","zindex","alignOverlay","bindDocumentClickListener","bindDocumentResizeListener","bindScrollListener","onOverlayHide","onOverlayAnimationEnd","appendTo","appendChild","restoreOverlayAppend","absolutePosition","inputViewChild","relativePosition","hide","onInputClick","selfClick","togglePanel","onInputKeydown","which","preventDefault","onPanelClick","registerOnChange","fn","registerOnTouched","setDisabledState","_this","documentClickListener","documentTarget","ownerDocument","listen","unbindDocumentClickListener","documentMousemoveListener","unbindDocumentMousemoveListener","documentMouseupListener","unbindDocumentMouseupListener","documentResizeListener","onWindowResize","bind","addEventListener","unbindDocumentResizeListener","removeEventListener","scrollHandler","ConnectedOverlayScrollHandler","containerViewChild","unbindScrollListener","validateRGB","rgb","r","g","validateHEX","hex","len","length","o","i","push","join","HEXtoRGB","hexValue","parseInt","indexOf","substring","delta","v","t1","t2","t3","round","RGBtoHEX","toString","key","ngOnDestroy","destroy","Component","args","selector","template","animations","trigger","transition","opacity","transform","animate","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","Renderer2","ChangeDetectorRef","Input","Output","ViewChild","NgModule","imports","CommonModule","exports","declarations"],"mappings":"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","sourcesContent":["import { NgModule, Component, ElementRef, Input, Output, OnDestroy, EventEmitter, forwardRef, Renderer2, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { trigger, state, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n};\n\n@Component({\n selector: 'p-colorPicker',\n template: `\n <div #container [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-colorpicker p-component':true,'p-colorpicker-overlay':!inline,'p-colorpicker-dragging':colorDragging||hueDragging}\">\n <input #input type=\"text\" *ngIf=\"!inline\" class=\"p-colorpicker-preview p-inputtext\" readonly=\"readonly\" [ngClass]=\"{'p-disabled': disabled}\"\n (focus)=\"onInputFocus()\" (click)=\"onInputClick()\" (keydown)=\"onInputKeydown($event)\" [attr.id]=\"inputId\" [attr.tabindex]=\"tabindex\" [disabled]=\"disabled\"\n [style.backgroundColor]=\"inputBgColor\">\n <div *ngIf=\"inline || overlayVisible\" [ngClass]=\"{'p-colorpicker-panel': true, 'p-colorpicker-overlay-panel':!inline, 'p-disabled': disabled}\" (click)=\"onPanelClick()\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"inline === true\" \n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\">\n <div class=\"p-colorpicker-content\">\n <div #colorSelector class=\"p-colorpicker-color-selector\" (mousedown)=\"onColorMousedown($event)\">\n <div class=\"p-colorpicker-color\">\n <div #colorHandle class=\"p-colorpicker-color-handle\"></div>\n </div>\n </div>\n <div #hue class=\"p-colorpicker-hue\" (mousedown)=\"onHueMousedown($event)\">\n <div #hueHandle class=\"p-colorpicker-hue-handle\"></div>\n </div>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n providers: [COLORPICKER_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./colorpicker.css']\n})\nexport class ColorPicker implements ControlValueAccessor, OnDestroy {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() inline: boolean;\n\n @Input() format: string = 'hex';\n\n @Input() appendTo: any;\n\n @Input() disabled: boolean;\n\n @Input() tabindex: string;\n\n @Input() inputId: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('input') inputViewChild: ElementRef;\n\n value: any = {h:0, s: 100, b: 100};\n\n inputBgColor: string;\n\n shown: boolean;\n\n overlayVisible: boolean;\n\n defaultColor: string = 'ff0000';\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n documentClickListener: Function;\n\n documentResizeListener: any;\n\n documentMousemoveListener: Function;\n\n documentMouseupListener: Function;\n\n documentHueMoveListener: Function;\n\n scrollHandler: any;\n\n selfClick: boolean;\n\n colorDragging: boolean;\n\n hueDragging: boolean;\n\n overlay: HTMLDivElement;\n\n colorSelectorViewChild: ElementRef;\n\n colorHandleViewChild: ElementRef;\n\n hueViewChild: ElementRef;\n\n hueHandleViewChild: ElementRef;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n @ViewChild('colorSelector') set colorSelector(element: ElementRef) {\n this.colorSelectorViewChild = element;\n }\n\n @ViewChild('colorHandle') set colorHandle(element: ElementRef) {\n this.colorHandleViewChild = element;\n }\n\n @ViewChild('hue') set hue(element: ElementRef) {\n this.hueViewChild = element;\n }\n\n @ViewChild('hueHandle') set hueHandle(element: ElementRef) {\n this.hueHandleViewChild = element;\n }\n\n onHueMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.hueDragging = true;\n this.pickHue(event);\n }\n\n pickHue(event: MouseEvent) {\n let top: number = this.hueViewChild.nativeElement.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0);\n this.value = this.validateHSB({\n h: Math.floor(360 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150),\n s: this.value.s,\n b: this.value.b\n });\n\n this.updateColorSelector();\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n onColorMousedown(event: MouseEvent) {\n if (this.disabled) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.colorDragging = true;\n this.pickColor(event);\n }\n\n pickColor(event: MouseEvent) {\n let rect = this.colorSelectorViewChild.nativeElement.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 - left)))) / 150);\n let brightness = Math.floor(100 * (150 - Math.max(0, Math.min(150, (event.pageY - top)))) / 150);\n this.value = this.validateHSB({\n h: this.value.h,\n s: saturation,\n b: brightness\n });\n\n this.updateUI();\n this.updateModel();\n this.onChange.emit({originalEvent: event, value: this.getValueToUpdate()});\n }\n\n getValueToUpdate() {\n let val: any;\n switch(this.format) {\n case 'hex':\n val = '#' + this.HSBtoHEX(this.value);\n break;\n\n case 'rgb':\n val = this.HSBtoRGB(this.value);\n break;\n\n case 'hsb':\n val = this.value;\n break;\n }\n\n return val;\n }\n\n updateModel(): void {\n this.onModelChange(this.getValueToUpdate());\n }\n\n writeValue(value: any): void {\n if (value) {\n switch(this.format) {\n case 'hex':\n this.value = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n this.value = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n this.value = value;\n break;\n }\n }\n else {\n this.value = this.HEXtoHSB(this.defaultColor);\n }\n\n this.updateColorSelector();\n this.updateUI();\n this.cd.markForCheck();\n }\n\n updateColorSelector() {\n if (this.colorSelectorViewChild) {\n const hsb: any = {};\n hsb.s = 100;\n hsb.b = 100;\n hsb.h = this.value.h;\n\n this.colorSelectorViewChild.nativeElement.style.backgroundColor = '#' + this.HSBtoHEX(hsb);\n }\n }\n\n updateUI() {\n if (this.colorHandleViewChild && this.hueHandleViewChild.nativeElement) {\n this.colorHandleViewChild.nativeElement.style.left = Math.floor(150 * this.value.s / 100) + 'px';\n this.colorHandleViewChild.nativeElement.style.top = Math.floor(150 * (100 - this.value.b) / 100) + 'px';\n this.hueHandleViewChild.nativeElement.style.top = Math.floor(150 - (150 * this.value.h / 360)) + 'px';\n\n }\n\n this.inputBgColor = '#' + this.HSBtoHEX(this.value);\n }\n\n onInputFocus() {\n this.onModelTouched();\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.overlay = event.element;\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n this.updateColorSelector();\n this.updateUI();\n }\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (!this.inline) {\n this.onShow.emit({})\n }\n break;\n\n case 'void':\n this.onHide.emit({})\n break;\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.inputViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.inputViewChild.nativeElement);\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onInputClick() {\n this.selfClick = true;\n this.togglePanel();\n }\n\n togglePanel() {\n if (!this.overlayVisible)\n this.show();\n else\n this.hide();\n }\n\n onInputKeydown(event: KeyboardEvent) {\n switch(event.which) {\n //space\n case 32:\n this.togglePanel();\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide();\n break;\n }\n }\n\n onPanelClick() {\n this.selfClick = true;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n if (!this.selfClick) {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentMousemoveListener() {\n if (!this.documentMousemoveListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMousemoveListener = this.renderer.listen(documentTarget, 'mousemove', (event: MouseEvent) => {\n if (this.colorDragging) {\n this.pickColor(event);\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n }\n });\n }\n }\n\n unbindDocumentMousemoveListener() {\n if (this.documentMousemoveListener) {\n this.documentMousemoveListener();\n this.documentMousemoveListener = null;\n }\n }\n\n bindDocumentMouseupListener() {\n if (!this.documentMouseupListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMouseupListener = this.renderer.listen(documentTarget, 'mouseup', () => {\n this.colorDragging = false;\n this.hueDragging = false;\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n });\n }\n }\n\n unbindDocumentMouseupListener() {\n if (this.documentMouseupListener) {\n this.documentMouseupListener();\n this.documentMouseupListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n this.hide();\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\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\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\n validateHEX(hex) {\n var len = 6 - hex.length;\n if (len > 0) {\n var o = [];\n for (var i=0; i<len; i++) {\n o.push('0');\n }\n o.push(hex);\n hex = o.join('');\n }\n return hex;\n }\n\n HEXtoRGB(hex) {\n let hexValue = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);\n return {r: hexValue >> 16, g: (hexValue & 0x00FF00) >> 8, b: (hexValue & 0x0000FF)};\n }\n\n HEXtoHSB(hex) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n }\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 hsb.b = max;\n hsb.s = max != 0 ? 255 * delta / max : 0;\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 hsb.h *= 60;\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n hsb.s *= 100/255;\n hsb.b *= 100/255;\n return hsb;\n }\n\n HSBtoRGB(hsb) {\n var rgb = {\n r: null, g: null, b: null\n };\n let h: number = hsb.h;\n let s: number = hsb.s*255/100;\n let v: number = hsb.b*255/100;\n if (s == 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n }\n }\n else {\n let t1: number = v;\n let t2: number = (255-s)*v/255;\n let t3: number = (t1-t2)*(h%60)/60;\n if (h==360) h = 0;\n if (h<60) {rgb.r=t1;\trgb.b=t2; rgb.g=t2+t3}\n else if (h<120) {rgb.g=t1; rgb.b=t2;\trgb.r=t1-t3}\n else if (h<180) {rgb.g=t1; rgb.r=t2;\trgb.b=t2+t3}\n else if (h<240) {rgb.b=t1; rgb.r=t2;\trgb.g=t1-t3}\n else if (h<300) {rgb.b=t1; rgb.g=t2;\trgb.r=t2+t3}\n else if (h<360) {rgb.r=t1; rgb.g=t2;\trgb.b=t1-t3}\n else {rgb.r=0; rgb.g=0;\trgb.b=0}\n }\n return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};\n }\n\n RGBtoHEX(rgb) {\n var hex = [\n rgb.r.toString(16),\n rgb.g.toString(16),\n rgb.b.toString(16)\n ];\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\n HSBtoHEX(hsb) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n }\n\n onOverlayHide() {\n this.unbindScrollListener();\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n this.overlay = null;\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [ColorPicker],\n declarations: [ColorPicker]\n})\nexport class ColorPickerModule { }\n"]}