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/listbox/listbox.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","LISTBOX_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Listbox","multi","el","cd","filterService","this","checkbox","filter","filterMatchMode","metaKeySelection","showToggleAll","onChange","EventEmitter","onClick","onDblClick","onModelChange","onModelTouched","defineProperty","prototype","_options","val","_filterValue","filterOptions","ngAfterContentInit","_this","templates","forEach","item","getType","itemTemplate","template","headerTemplate","footerTemplate","getOptionLabel","option","optionLabel","ObjectUtils","resolveFieldData","undefined","label","getOptionValue","optionValue","isOptionDisabled","optionDisabled","disabled","writeValue","markForCheck","registerOnChange","fn","registerOnTouched","setDisabledState","onOptionClick","event","readonly","multiple","onOptionClickCheckbox","onOptionClickMultiple","onOptionClickSingle","emit","originalEvent","optionTouched","onOptionTouchEnd","onOptionDoubleClick","selected","isSelected","valueChanged","metaKey","ctrlKey","removeOption","equals","dataKey","_b","_c","optionsToRender","selectedDisabledItemsLength","unselectedDisabledItemsLength","selectedEnabledItemsLength","optionsToRender_1","optionsToRender_1_1","_filteredOptions","options","hasFilter","trim","onFilter","target","filters","filterLocale","optionsToRender_2","optionsToRender_2_1","toggleAll","toggleAllDisabled","allChecked","uncheckAll","checkAll","preventDefault","opt","onOptionKeyDown","currentTarget","which","nextItem","findNextItem","focus","prevItem","findPrevItem","nextElementSibling","DomHandler","hasClass","isHidden","previousElementSibling","onHeaderCheckboxFocus","headerCheckboxFocus","onHeaderCheckboxBlur","Component","args","selector","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","ChangeDetectorRef","FilterService","Input","Output","ViewChild","ContentChild","Header","Footer","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, ElementRef, Input, Output, EventEmitter, AfterContentInit, ContentChildren, ContentChild, QueryList, TemplateRef,forwardRef, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate, Footer, Header, FilterService } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { ObjectUtils } from 'primeng/utils';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple'; \n\nexport const LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n\n@Component({\n selector: 'p-listbox',\n template: `\n <div [ngClass]=\"{'p-listbox p-component': true, 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-listbox-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"p-listbox-header\" *ngIf=\"(checkbox && multiple && showToggleAll) || filter\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple && showToggleAll\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [attr.disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div #headerchkbox class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <div class=\"p-listbox-filter-container\" *ngIf=\"filter\">\n <input type=\"text\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-listbox-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-listbox-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <div [ngClass]=\"'p-listbox-list-wrapper'\" [ngStyle]=\"listStyle\" [class]=\"listStyleClass\">\n <ul class=\"p-listbox-list\" role=\"listbox\" aria-multiselectable=\"multiple\">\n <li *ngFor=\"let option of optionsToRender; let i = index;\" [attr.tabindex]=\"disabled || isOptionDisabled(option) ? null : '0'\" pRipple\n [ngClass]=\"{'p-listbox-item':true,'p-highlight':isSelected(option), 'p-disabled': this.isOptionDisabled(option)}\" role=\"option\" [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\" (click)=\"onOptionClick($event,option)\" (dblclick)=\"onOptionDoubleClick($event,option)\" (touchend)=\"onOptionTouchEnd(option)\" (keydown)=\"onOptionKeyDown($event,option)\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple\" [ngClass]=\"{'p-checkbox-disabled': disabled || isOptionDisabled(option)}\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight':isSelected(option)}\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':isSelected(option)}\"></span>\n </div>\n </div>\n <span *ngIf=\"!itemTemplate\">{{getOptionLabel(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </li>\n </ul>\n </div>\n <div class=\"p-listbox-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n providers: [LISTBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./listbox.css']\n})\nexport class Listbox implements AfterContentInit, ControlValueAccessor {\n\n @Input() multiple: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() listStyle: any;\n\n @Input() listStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() disabled: boolean;\n\n @Input() checkbox: boolean = false;\n\n @Input() filter: boolean = false;\n\n @Input() filterMatchMode: string = 'contains';\n\n @Input() filterLocale: string;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dataKey: string;\n\n @Input() showToggleAll: boolean = true;\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterPlaceHolder: string;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onDblClick: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('headerchkbox') headerCheckboxViewChild: ElementRef;\n\n @ContentChild(Header) headerFacet;\n\n @ContentChild(Footer) footerFacet;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public _options: any[];\n\n public itemTemplate: TemplateRef<any>;\n\n public headerTemplate: TemplateRef<any>;\n\n public footerTemplate: TemplateRef<any>;\n\n public _filterValue: string;\n\n public _filteredOptions: any[];\n\n public filtered: boolean;\n\n public value: any;\n\n public onModelChange: Function = () => { };\n\n public onModelTouched: Function = () => { };\n\n public optionTouched: boolean;\n\n public focus: boolean;\n\n public headerCheckboxFocus: boolean;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public filterService: FilterService) { }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.filterOptions();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n writeValue(value: any): void {\n this.value = value;\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 onOptionClick(event: Event, option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n if (this.multiple) {\n if (this.checkbox)\n this.onOptionClickCheckbox(event, option);\n else\n this.onOptionClickMultiple(event, option);\n }\n else {\n this.onOptionClickSingle(event, option);\n }\n this.onClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n this.optionTouched = false;\n }\n\n onOptionTouchEnd(option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.optionTouched = true;\n }\n\n onOptionDoubleClick(event: Event, option: any): any {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n })\n }\n\n onOptionClickSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.value = null;\n valueChanged = true;\n }\n }\n else {\n this.value = this.getOptionValue(option);\n valueChanged = true;\n }\n }\n else {\n this.value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickMultiple(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.removeOption(option);\n }\n else {\n this.value = [this.getOptionValue(option)];\n }\n valueChanged = true;\n }\n else {\n this.value = (metaKey) ? this.value || [] : [];\n this.value = [...this.value, this.getOptionValue(option)];\n valueChanged = true;\n }\n }\n else {\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = [...this.value || [], this.getOptionValue(option)];\n }\n\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickCheckbox(event, option) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = this.value ? this.value : [];\n this.value = [...this.value, this.getOptionValue(option)];\n }\n\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n }\n else {\n selected = ObjectUtils.equals(this.value, optionValue, this.dataKey);\n }\n\n return selected;\n }\n\n get allChecked(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return false;\n }\n else {\n let selectedDisabledItemsLength = 0;\n let unselectedDisabledItemsLength = 0;\n let selectedEnabledItemsLength = 0;\n\n for (let option of optionsToRender) {\n let disabled = this.isOptionDisabled(option);\n let selected = this.isSelected(option);\n\n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else \n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else\n return false;\n }\n }\n\n return (optionsToRender.length === selectedDisabledItemsLength \n || optionsToRender.length === selectedEnabledItemsLength \n || selectedEnabledItemsLength && optionsToRender.length === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));\n }\n }\n\n get optionsToRender(): any[] {\n return this._filteredOptions || this.options;\n }\n\n hasFilter() {\n return this._filterValue && this._filterValue.trim().length > 0; \n }\n\n onFilter(event: KeyboardEvent) {\n this._filterValue = (<HTMLInputElement> event.target).value;\n this.filterOptions();\n }\n\n filterOptions() {\n if (this.hasFilter() && this._options)\n this._filteredOptions = this._options.filter(option => this.filterService.filters[this.filterMatchMode](this.getOptionLabel(option), this._filterValue, this.filterLocale));\n else\n this._filteredOptions = null;\n }\n\n get toggleAllDisabled(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return true;\n }\n else {\n for (let option of optionsToRender) {\n if (!this.isOptionDisabled(option))\n return false;\n }\n\n return true;\n }\n }\n\n toggleAll(event) {\n if (this.disabled || this.toggleAllDisabled || this.readonly) {\n return;\n }\n \n let allChecked = this.allChecked; \n\n if (allChecked)\n this.uncheckAll();\n else\n this.checkAll();\n\n this.onModelChange(this.value);\n this.onChange.emit({ originalEvent: event, value: this.value });\n event.preventDefault();\n }\n\n checkAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n let optionDisabled = this.isOptionDisabled(opt); \n if (!optionDisabled || (optionDisabled && this.isSelected(opt))) {\n val.push(this.getOptionValue(opt));\n }\n });\n\n this.value = val;\n }\n\n uncheckAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n let optionDisabled = this.isOptionDisabled(opt); \n if (optionDisabled && this.isSelected(opt)) {\n val.push(this.getOptionValue(opt));\n }\n });\n\n this.value = val;\n }\n\n onOptionKeyDown(event:KeyboardEvent, option) {\n if (this.readonly) {\n return;\n }\n\n let item = <HTMLLIElement> event.currentTarget;\n\n switch(event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(item);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(item);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onOptionClick(event, option);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem, 'p-disabled') || DomHandler.isHidden(nextItem) ? this.findNextItem(nextItem) : nextItem;\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return DomHandler.hasClass(prevItem, 'p-disabled') || DomHandler.isHidden(prevItem) ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule],\n exports: [Listbox, SharedModule],\n declarations: [Listbox]\n})\nexport class ListboxModule { }\n\n"]}
1
+ {"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/listbox/listbox.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","LISTBOX_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Listbox","multi","el","cd","filterService","this","checkbox","filter","filterMatchMode","metaKeySelection","showToggleAll","onChange","EventEmitter","onClick","onDblClick","onModelChange","onModelTouched","defineProperty","prototype","_options","val","_filterValue","activateFilter","ngAfterContentInit","_this","templates","forEach","item","getType","itemTemplate","template","groupTemplate","headerTemplate","footerTemplate","getOptionLabel","option","optionLabel","ObjectUtils","resolveFieldData","undefined","label","getOptionGroupChildren","optionGroup","optionGroupChildren","items","getOptionGroupLabel","optionGroupLabel","getOptionValue","optionValue","isOptionDisabled","optionDisabled","disabled","writeValue","markForCheck","registerOnChange","fn","registerOnTouched","setDisabledState","onOptionClick","event","readonly","multiple","onOptionClickCheckbox","onOptionClickMultiple","onOptionClickSingle","emit","originalEvent","optionTouched","onOptionTouchEnd","onOptionDoubleClick","selected","isSelected","valueChanged","metaKey","ctrlKey","removeOption","equals","dataKey","_b","_c","optionsToRender","selectedDisabledItemsLength","unselectedDisabledItemsLength","selectedEnabledItemsLength","visibleOptionsLength","group","optionsToRender_1","optionsToRender_1_1","e_3","_d","opt","_filteredOptions","options","hasFilter","trim","onFilter","target","searchFields","split","filteredGroups","optgroup","filteredSubOptions","filterValue","filterLocale","filters","optionsToRender_2","optionsToRender_2_1","toggleAll","toggleAllDisabled","allChecked","uncheckAll","checkAll","preventDefault","onOptionKeyDown","currentTarget","which","nextItem","findNextItem","focus","prevItem","findPrevItem","nextElementSibling","DomHandler","hasClass","isHidden","previousElementSibling","onHeaderCheckboxFocus","headerCheckboxFocus","onHeaderCheckboxBlur","Component","args","selector","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","ChangeDetectorRef","FilterService","Input","Output","ViewChild","ContentChild","Header","Footer","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","SharedModule","RippleModule","exports","declarations"],"mappings":";;;;;;;;;;;;;;oFA2G6BA,OAAOC,gBAYpBC,EAASC,GACrB,IAAIC,EAAsB,mBAAXC,QAAyBA,OAAOC,SAAUC,EAAIH,GAAKD,EAAEC,GAAII,EAAI,EAC5E,GAAID,EAAG,OAAOA,EAAEE,KAAKN,GACrB,GAAIA,GAAyB,iBAAbA,EAAEO,OAAqB,MAAO,CAC1CC,KAAM,WAEF,OADIR,GAAKK,GAAKL,EAAEO,SAAQP,OAAI,GACrB,CAAES,MAAOT,GAAKA,EAAEK,KAAMK,MAAOV,KAG5C,MAAM,IAAIW,UAAUV,EAAI,0BAA4B,4CAGxCW,EAAOZ,EAAGa,GACtB,IAAIT,EAAsB,mBAAXF,QAAyBF,EAAEE,OAAOC,UACjD,IAAKC,EAAG,OAAOJ,EACf,IAAmBc,EAAYC,EAA3BV,EAAID,EAAEE,KAAKN,GAAOgB,EAAK,GAC3B,IACI,WAAc,IAANH,GAAgBA,KAAM,MAAQC,EAAIT,EAAEG,QAAQE,MAAMM,EAAGC,KAAKH,EAAEL,OAExE,MAAOS,GAASH,EAAI,CAAEG,MAAOA,WAEzB,IACQJ,IAAMA,EAAEJ,OAASN,EAAIC,EAAU,SAAID,EAAEE,KAAKD,WAExC,GAAIU,EAAG,MAAMA,EAAEG,OAE7B,OAAOF,WAIKG,IACZ,IAAK,IAAIH,EAAK,GAAIX,EAAI,EAAGA,EAAIe,UAAUb,OAAQF,IAC3CW,EAAKA,EAAGK,OAAOT,EAAOQ,UAAUf,KACpC,OAAOW,EAqDcnB,OAAOC,WCrMnBwB,EAA8B,CACvCC,QAASC,EAAAA,kBACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAC,KAC9BC,OAAO,gBAyJP,SAAAD,EAAmBE,EAAuBC,EAA8BC,GAArDC,KAAAH,GAAAA,EAAuBG,KAAAF,GAAAA,EAA8BE,KAAAD,cAAAA,EAxE/DC,KAAAC,UAAoB,EAEpBD,KAAAE,QAAkB,EAElBF,KAAAG,gBAA0B,WAI1BH,KAAAI,kBAA4B,EAI5BJ,KAAAK,eAAyB,EAkBxBL,KAAAM,SAA8B,IAAIC,EAAAA,aAElCP,KAAAQ,QAA6B,IAAID,EAAAA,aAEjCP,KAAAS,WAAgC,IAAIF,EAAAA,aA4BvCP,KAAAU,cAA0B,aAE1BV,KAAAW,eAA2B,oBAUlC9C,OAAA+C,eAAajB,EAAAkB,UAAA,UAAO,KAApB,WACI,OAAOb,KAAKc,cAGhB,SAAYC,GACRf,KAAKc,SAAWC,mCAGpBlD,OAAA+C,eAAajB,EAAAkB,UAAA,cAAW,KAAxB,WACI,OAAOb,KAAKgB,kBAGhB,SAAgBD,GACZf,KAAKgB,aAAeD,EACpBf,KAAKiB,kDAGTtB,EAAAkB,UAAAK,mBAAA,WAAA,IAAAC,EAAAnB,KACIA,KAAKoB,UAAUC,SAAQ,SAACC,GACpB,OAAQA,EAAKC,WACT,IAAK,OACDJ,EAAKK,aAAeF,EAAKG,SAC7B,MAEA,IAAK,QACDN,EAAKO,cAAgBJ,EAAKG,SAC9B,MAEA,IAAK,SACDN,EAAKQ,eAAiBL,EAAKG,SAC/B,MAEA,IAAK,SACDN,EAAKS,eAAiBN,EAAKG,SAC/B,MAEA,QACIN,EAAKK,aAAeF,EAAKG,cAMzC9B,EAAAkB,UAAAgB,eAAA,SAAeC,GACX,OAAO9B,KAAK+B,YAAcC,EAAAA,YAAYC,iBAAiBH,EAAQ9B,KAAK+B,aAAgCG,MAAhBJ,EAAOK,MAAqBL,EAAOK,MAAQL,GAGnInC,EAAAkB,UAAAuB,uBAAA,SAAuBC,GACnB,OAAOrC,KAAKsC,oBAAsBN,EAAAA,YAAYC,iBAAiBI,EAAarC,KAAKsC,qBAAuBD,EAAYE,OAGxH5C,EAAAkB,UAAA2B,oBAAA,SAAoBH,GAChB,OAAOrC,KAAKyC,iBAAmBT,EAAAA,YAAYC,iBAAiBI,EAAarC,KAAKyC,kBAA0CP,MAArBG,EAAYF,MAAqBE,EAAYF,MAAQE,GAG5J1C,EAAAkB,UAAA6B,eAAA,SAAeZ,GACX,OAAO9B,KAAK2C,YAAcX,EAAAA,YAAYC,iBAAiBH,EAAQ9B,KAAK2C,aAAgB3C,KAAK+B,YAAcD,EAASA,EAAOrD,OAG3HkB,EAAAkB,UAAA+B,iBAAA,SAAiBd,GACb,OAAO9B,KAAK6C,eAAiBb,EAAAA,YAAYC,iBAAiBH,EAAQ9B,KAAK6C,qBAAuCX,IAApBJ,EAAOgB,UAAyBhB,EAAOgB,UAGrInD,EAAAkB,UAAAkC,WAAA,SAAWtE,GACPuB,KAAKvB,MAAQA,EACbuB,KAAKF,GAAGkD,gBAGZrD,EAAAkB,UAAAoC,iBAAA,SAAiBC,GACblD,KAAKU,cAAgBwC,GAGzBvD,EAAAkB,UAAAsC,kBAAA,SAAkBD,GACdlD,KAAKW,eAAiBuC,GAG1BvD,EAAAkB,UAAAuC,iBAAA,SAAiBrC,GACbf,KAAK8C,SAAW/B,EAChBf,KAAKF,GAAGkD,gBAGZrD,EAAAkB,UAAAwC,cAAA,SAAcC,EAAcxB,GACpB9B,KAAK8C,UAAY9C,KAAK4C,iBAAiBd,IAAW9B,KAAKuD,WAIvDvD,KAAKwD,SACDxD,KAAKC,SACLD,KAAKyD,sBAAsBH,EAAOxB,GAElC9B,KAAK0D,sBAAsBJ,EAAOxB,GAGtC9B,KAAK2D,oBAAoBL,EAAOxB,GAEpC9B,KAAKQ,QAAQoD,KAAK,CACdC,cAAeP,EACfxB,OAAQA,EACRrD,MAAOuB,KAAKvB,QAEhBuB,KAAK8D,eAAgB,IAGzBnE,EAAAkB,UAAAkD,iBAAA,SAAiBjC,GACT9B,KAAK8C,UAAY9C,KAAK4C,iBAAiBd,IAAW9B,KAAKuD,WAI3DvD,KAAK8D,eAAgB,IAGzBnE,EAAAkB,UAAAmD,oBAAA,SAAoBV,EAAcxB,GAC1B9B,KAAK8C,UAAY9C,KAAK4C,iBAAiBd,IAAW9B,KAAKuD,UAI3DvD,KAAKS,WAAWmD,KAAK,CACjBC,cAAeP,EACfxB,OAAQA,EACRrD,MAAOuB,KAAKvB,SAIpBkB,EAAAkB,UAAA8C,oBAAA,SAAoBL,EAAOxB,GACvB,IAAImC,EAAWjE,KAAKkE,WAAWpC,GAC3BqC,GAAe,EAGnB,IAFoBnE,KAAK8D,eAAwB9D,KAAKI,iBAEnC,CACf,IAAIgE,EAAWd,EAAMc,SAAWd,EAAMe,QAElCJ,EACIG,IACApE,KAAKvB,MAAQ,KACb0F,GAAe,IAInBnE,KAAKvB,MAAQuB,KAAK0C,eAAeZ,GACjCqC,GAAe,QAInBnE,KAAKvB,MAAQwF,EAAW,KAAOjE,KAAK0C,eAAeZ,GACnDqC,GAAe,EAGfA,IACAnE,KAAKU,cAAcV,KAAKvB,OACxBuB,KAAKM,SAASsD,KAAK,CACfC,cAAeP,EACf7E,MAAOuB,KAAKvB,UAKxBkB,EAAAkB,UAAA6C,sBAAA,SAAsBJ,EAAOxB,GACzB,IAAImC,EAAWjE,KAAKkE,WAAWpC,GAC3BqC,GAAe,EAGnB,IAFoBnE,KAAK8D,eAAwB9D,KAAKI,iBAEnC,CACf,IAAIgE,EAAWd,EAAMc,SAAWd,EAAMe,QAElCJ,GACIG,EACApE,KAAKsE,aAAaxC,GAGlB9B,KAAKvB,MAAQ,CAACuB,KAAK0C,eAAeZ,IAEtCqC,GAAe,IAGfnE,KAAKvB,MAAQ,GAAYuB,KAAKvB,OAAc,GAC5CuB,KAAKvB,MAAKU,EAAOa,KAAKvB,MAAK,CAAEuB,KAAK0C,eAAeZ,KACjDqC,GAAe,QAIfF,EACAjE,KAAKsE,aAAaxC,GAGlB9B,KAAKvB,MAAKU,EAAOa,KAAKvB,OAAS,GAAE,CAAEuB,KAAK0C,eAAeZ,KAG3DqC,GAAe,EAGfA,IACAnE,KAAKU,cAAcV,KAAKvB,OACxBuB,KAAKM,SAASsD,KAAK,CACfC,cAAeP,EACf7E,MAAOuB,KAAKvB,UAKxBkB,EAAAkB,UAAA4C,sBAAA,SAAsBH,EAAOxB,GACrB9B,KAAK8C,UAAY9C,KAAKuD,WAIXvD,KAAKkE,WAAWpC,GAG3B9B,KAAKsE,aAAaxC,IAGlB9B,KAAKvB,MAAQuB,KAAKvB,MAAQuB,KAAKvB,MAAQ,GACvCuB,KAAKvB,MAAKU,EAAOa,KAAKvB,MAAK,CAAEuB,KAAK0C,eAAeZ,MAGrD9B,KAAKU,cAAcV,KAAKvB,OACxBuB,KAAKM,SAASsD,KAAK,CACfC,cAAeP,EACf7E,MAAOuB,KAAKvB,UAIpBkB,EAAAkB,UAAAyD,aAAA,SAAaxC,GAAb,IAAAX,EAAAnB,KACIA,KAAKvB,MAAQuB,KAAKvB,MAAMyB,QAAO,SAAAa,GAAO,OAACiB,EAAAA,YAAYuC,OAAOxD,EAAKI,EAAKuB,eAAeZ,GAASX,EAAKqD,aAGrG7E,EAAAkB,UAAAqD,WAAA,SAAWpC,WACHmC,GAAW,EACXtB,EAAc3C,KAAK0C,eAAeZ,GAEtC,GAAI9B,KAAKwD,UACL,GAAIxD,KAAKvB,UACL,IAAgB,IAAAgG,EAAA1G,EAAAiC,KAAKvB,OAAKiG,EAAAD,EAAAjG,QAAAkG,EAAAhG,KAAAgG,EAAAD,EAAAjG,OAAE,CAAvB,IAAIuC,EAAG2D,EAAAjG,MACR,GAAIuD,EAAAA,YAAYuC,OAAOxD,EAAK4B,EAAa3C,KAAKwE,SAAU,CACpDP,GAAW,EACX,+GAMZA,EAAWjC,EAAAA,YAAYuC,OAAOvE,KAAKvB,MAAOkE,EAAa3C,KAAKwE,SAGhE,OAAOP,GAGXpG,OAAA+C,eAAIjB,EAAAkB,UAAA,aAAU,KAAd,uBACQ8D,EAAkB3E,KAAK2E,gBAC3B,GAAKA,GAA8C,IAA3BA,EAAgBpG,OAGnC,CACD,IAAIqG,EAA8B,EAC9BC,EAAgC,EAChCC,EAA6B,EAC7BC,EAAuB/E,KAAKgF,MAAQ,EAAIhF,KAAK2E,gBAAgBpG,WAEjE,IAAmB,IAAA0G,EAAAlH,EAAA4G,GAAeO,EAAAD,EAAAzG,QAAA0G,EAAAxG,KAAAwG,EAAAD,EAAAzG,OAAE,CAA/B,IAAIsD,EAAMoD,EAAAzG,MACX,GAAKuB,KAAKgF,OAiBL,GAAIlD,EAAOS,UACZ,IAAgB,IAAAmC,GAAAS,OAAA,EAAApH,EAAA+D,EAAOS,QAAK6C,EAAAV,EAAAlG,QAAA4G,EAAA1G,KAAA0G,EAAAV,EAAAlG,OAAE,CAAzB,IAAI6G,EAAGD,EAAA3G,MACJqE,EAAW9C,KAAK4C,iBAAiByC,GACjCpB,EAAWjE,KAAKkE,WAAWmB,GAE/B,GAAIvC,EACImB,EACAW,IAEAC,QAEH,CACD,IAAIZ,EAGA,OAAO,EAFPa,IAMRC,2GApCS,CACb,IAAIjC,EAAW9C,KAAK4C,iBAAiBd,GACjCmC,EAAWjE,KAAKkE,WAAWpC,GAE/B,GAAIgB,EACImB,EACAW,IAEAC,QAEH,CACD,IAAIZ,EAGA,OAAO,EAFPa,wGA6BhB,OAAQC,IAAyBH,GACtBG,IAAyBD,GACzBA,GAA8BC,IAA0BD,EAA6BD,EAAgCD,EApDhI,OAAO,mCAwDf/G,OAAA+C,eAAIjB,EAAAkB,UAAA,kBAAe,KAAnB,WACI,OAAOb,KAAKsF,kBAAoBtF,KAAKuF,yCAGzC5F,EAAAkB,UAAA2E,UAAA,WACI,OAAOxF,KAAKgB,cAAgBhB,KAAKgB,aAAayE,OAAOlH,OAAS,GAGlEoB,EAAAkB,UAAA6E,SAAA,SAASpC,GACLtD,KAAKgB,aAAmCsC,EAAMqC,OAAQlH,MACtDuB,KAAKiB,kBAGTtB,EAAAkB,UAAAI,eAAA,mBAAAE,EAAAnB,KACI,GAAIA,KAAKwF,aAAexF,KAAKc,SACzB,GAAId,KAAKgF,MAAO,CACZ,IAAIY,GAA0B5F,KAAK+B,aAAe,SAAS8D,MAAM,KAE7DC,EAAiB,OACrB,IAAqB,IAAArB,EAAA1G,EAAAiC,KAAKuF,SAAOb,EAAAD,EAAAjG,QAAAkG,EAAAhG,KAAAgG,EAAAD,EAAAjG,OAAE,CAA9B,IAAIuH,EAAQrB,EAAAjG,MACTuH,EAAqBhG,KAAKD,cAAcG,OAAOF,KAAKoC,uBAAuB2D,GAAWH,EAAc5F,KAAKiG,YAAajG,KAAKG,gBAAiBH,KAAKkG,cACjJF,GAAsBA,EAAmBzH,QACzCuH,EAAe7G,KAAK,CAChBkD,MAAO4D,EAAS5D,MAChB1D,MAAOsH,EAAStH,MAChB8D,MAAOyD,sGAKnBhG,KAAKsF,iBAAmBQ,OAGxB9F,KAAKsF,iBAAmBtF,KAAKc,SAASZ,QAAO,SAAA4B,GAAU,OAAAX,EAAKpB,cAAcoG,QAAQhF,EAAKhB,iBAAiBgB,EAAKU,eAAeC,GAASX,EAAKH,aAAcG,EAAK+E,sBAIjKlG,KAAKsF,iBAAmB,MAIhCzH,OAAA+C,eAAIjB,EAAAkB,UAAA,oBAAiB,KAArB,mBACQ8D,EAAkB3E,KAAK2E,gBAC3B,GAAKA,GAA8C,IAA3BA,EAAgBpG,OAGnC,KACD,IAAmB,IAAA6H,EAAArI,EAAA4G,GAAe0B,EAAAD,EAAA5H,QAAA6H,EAAA3H,KAAA2H,EAAAD,EAAA5H,OAAE,CAA/B,IAAIsD,EAAMuE,EAAA5H,MACX,IAAKuB,KAAK4C,iBAAiBd,GACvB,OAAO,oGAGf,OAAO,EARP,OAAO,mCAYfnC,EAAAkB,UAAAyF,UAAA,SAAUhD,GACFtD,KAAK8C,UAAY9C,KAAKuG,mBAAqBvG,KAAKuD,WAInCvD,KAAKwG,WAGlBxG,KAAKyG,aAELzG,KAAK0G,WAET1G,KAAKU,cAAcV,KAAKvB,OACxBuB,KAAKM,SAASsD,KAAK,CAAEC,cAAeP,EAAO7E,MAAOuB,KAAKvB,QACvD6E,EAAMqD,mBAGVhH,EAAAkB,UAAA6F,SAAA,WAAA,IAAAvF,EAAAnB,KACQ2E,EAAkB3E,KAAK2E,gBACvB5D,EAAa,GAEjB4D,EAAgBtD,SAAQ,SAAAgE,GACpB,GAAKlE,EAAK6D,MAOFK,EAAI9C,OACJ8C,EAAI9C,MAAMlB,SAAQ,SAAAS,GACd,IAAIe,EAAiB1B,EAAKyB,iBAAiBd,KACtCe,GAAmBA,GAAkB1B,EAAK+C,WAAWpC,KACtDf,EAAI9B,KAAKkC,EAAKuB,eAAeZ,WAX5B,CACb,IAAIe,EAAiB1B,EAAKyB,iBAAiByC,KACtCxC,GAAmBA,GAAkB1B,EAAK+C,WAAWmB,KACtDtE,EAAI9B,KAAKkC,EAAKuB,eAAe2C,QAezCrF,KAAKvB,MAAQsC,GAGjBpB,EAAAkB,UAAA4F,WAAA,WAAA,IAAAtF,EAAAnB,KACQ2E,EAAkB3E,KAAK2E,gBACvB5D,EAAa,GAEjB4D,EAAgBtD,SAAQ,SAAAgE,GACflE,EAAK6D,MAOFK,EAAI9C,OACJ8C,EAAI9C,MAAMlB,SAAQ,SAAAS,GACOX,EAAKyB,iBAAiBd,IACrBX,EAAK+C,WAAWpC,IAClCf,EAAI9B,KAAKkC,EAAKuB,eAAeZ,OAVpBX,EAAKyB,iBAAiByC,IACrBlE,EAAK+C,WAAWmB,IAClCtE,EAAI9B,KAAKkC,EAAKuB,eAAe2C,OAezCrF,KAAKvB,MAAQsC,GAGjBpB,EAAAkB,UAAA+F,gBAAA,SAAgBtD,EAAqBxB,GACjC,IAAI9B,KAAKuD,SAAT,CAIA,IAAIjC,EAAuBgC,EAAMuD,cAEjC,OAAOvD,EAAMwD,OAET,KAAK,GACD,IAAIC,EAAW/G,KAAKgH,aAAa1F,GAC7ByF,GACAA,EAASE,QAGb3D,EAAMqD,iBACV,MAGA,KAAK,GACD,IAAIO,EAAWlH,KAAKmH,aAAa7F,GAC7B4F,GACAA,EAASD,QAGb3D,EAAMqD,iBACV,MAGA,KAAK,GACD3G,KAAKqD,cAAcC,EAAOxB,GAC1BwB,EAAMqD,oBAKlBhH,EAAAkB,UAAAmG,aAAA,SAAa1F,GACT,IAAIyF,EAAWzF,EAAK8F,mBAEpB,OAAIL,EACOM,EAAAA,WAAWC,SAASP,EAAU,eAAiBM,EAAAA,WAAWE,SAASR,IAAaM,EAAAA,WAAWC,SAASP,EAAU,wBAA0B/G,KAAKgH,aAAaD,GAAYA,EAEtK,MAGfpH,EAAAkB,UAAAsG,aAAA,SAAa7F,GACT,IAAI4F,EAAW5F,EAAKkG,uBAEpB,OAAIN,EACOG,EAAAA,WAAWC,SAASJ,EAAU,eAAiBG,EAAAA,WAAWE,SAASL,IAAaG,EAAAA,WAAWC,SAASJ,EAAU,wBAA0BlH,KAAKmH,aAAaD,GAAYA,EAEtK,MAGfvH,EAAAkB,UAAA4G,sBAAA,WACIzH,KAAK0H,qBAAsB,GAG/B/H,EAAAkB,UAAA8G,qBAAA,WACI3H,KAAK0H,qBAAsB,4BAjoBlCE,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,YACVrG,SAAU,koIAuDVsG,UAAW,CAACzI,GACZ0I,gBAAiBC,EAAAA,wBAAwBC,OACzCC,cAAeC,EAAAA,kBAAkBC,0fAzEPC,EAAAA,kBAA6HC,EAAAA,yBAErGC,EAAAA,mDA4EjDC,EAAAA,qBAEAA,EAAAA,0BAEAA,EAAAA,yBAEAA,EAAAA,8BAEAA,EAAAA,wBAEAA,EAAAA,wBAEAA,EAAAA,wBAEAA,EAAAA,sBAEAA,EAAAA,+BAEAA,EAAAA,4BAEAA,EAAAA,gCAEAA,EAAAA,uBAEAA,EAAAA,6BAEAA,EAAAA,2BAEAA,EAAAA,2BAEAA,EAAAA,mCAEAA,EAAAA,gCAEAA,EAAAA,8BAEAA,EAAAA,+BAEAA,EAAAA,iCAEAA,EAAAA,qBAEAA,EAAAA,wBAEAC,EAAAA,wBAEAA,EAAAA,2BAEAA,EAAAA,wCAEAC,EAAAA,UAASd,KAAA,CAAC,qCAEVe,EAAAA,aAAYf,KAAA,CAACgB,EAAAA,6BAEbD,EAAAA,aAAYf,KAAA,CAACiB,EAAAA,2BAEbC,EAAAA,gBAAelB,KAAA,CAACmB,EAAAA,gCAgChBP,EAAAA,2BAQAA,EAAAA,eA0eL,iCALCQ,EAAAA,SAAQpB,KAAA,CAAC,CACNqB,QAAS,CAACC,EAAAA,aAAcC,EAAAA,aAAcC,EAAAA,cACtCC,QAAS,CAAC3J,EAASyJ,EAAAA,cACnBG,aAAc,CAAC5J","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, ElementRef, Input, Output, EventEmitter, AfterContentInit, ContentChildren, ContentChild, QueryList, TemplateRef,forwardRef, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SharedModule, PrimeTemplate, Footer, Header, FilterService } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { ObjectUtils } from 'primeng/utils';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { RippleModule } from 'primeng/ripple'; \n\nexport const LISTBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Listbox),\n multi: true\n};\n\n@Component({\n selector: 'p-listbox',\n template: `\n <div [ngClass]=\"{'p-listbox p-component': true, 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-listbox-header\" *ngIf=\"headerFacet || headerTemplate\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </div>\n <div class=\"p-listbox-header\" *ngIf=\"(checkbox && multiple && showToggleAll) || filter\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple && showToggleAll\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [attr.disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div #headerchkbox class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <div class=\"p-listbox-filter-container\" *ngIf=\"filter\">\n <input type=\"text\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-listbox-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-listbox-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <div [ngClass]=\"'p-listbox-list-wrapper'\" [ngStyle]=\"listStyle\" [class]=\"listStyleClass\">\n <ul class=\"p-listbox-list\" role=\"listbox\" aria-multiselectable=\"multiple\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToRender\">\n <li class=\"p-listbox-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToRender}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-optionsToDisplay>\n <li *ngFor=\"let option of optionsToDisplay; let i = index;\" [attr.tabindex]=\"disabled || isOptionDisabled(option) ? null : '0'\" pRipple\n [ngClass]=\"{'p-listbox-item':true,'p-highlight':isSelected(option), 'p-disabled': this.isOptionDisabled(option)}\" role=\"option\" [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\" (click)=\"onOptionClick($event,option)\" (dblclick)=\"onOptionDoubleClick($event,option)\" (touchend)=\"onOptionTouchEnd(option)\" (keydown)=\"onOptionKeyDown($event,option)\">\n <div class=\"p-checkbox p-component\" *ngIf=\"checkbox && multiple\" [ngClass]=\"{'p-checkbox-disabled': disabled || isOptionDisabled(option)}\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight':isSelected(option)}\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':isSelected(option)}\"></span>\n </div>\n </div>\n <span *ngIf=\"!itemTemplate\">{{getOptionLabel(option)}}</span>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: option, index: i}\"></ng-container>\n </li>\n </ng-template>\n </ul>\n </div>\n <div class=\"p-listbox-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n `,\n providers: [LISTBOX_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./listbox.css']\n})\nexport class Listbox implements AfterContentInit, ControlValueAccessor {\n\n @Input() multiple: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() listStyle: any;\n\n @Input() listStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() disabled: boolean;\n\n @Input() checkbox: boolean = false;\n\n @Input() filter: boolean = false;\n\n @Input() filterMatchMode: string = 'contains';\n\n @Input() filterLocale: string;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dataKey: string;\n\n @Input() showToggleAll: boolean = true;\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionGroupChildren: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() optionDisabled: string;\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterPlaceHolder: string;\n\n @Input() group: boolean;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onDblClick: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('headerchkbox') headerCheckboxViewChild: ElementRef;\n\n @ContentChild(Header) headerFacet;\n\n @ContentChild(Footer) footerFacet;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public _options: any[];\n\n public itemTemplate: TemplateRef<any>;\n\n public groupTemplate: TemplateRef<any>;\n\n public headerTemplate: TemplateRef<any>;\n\n public footerTemplate: TemplateRef<any>;\n\n public _filterValue: string;\n\n public _filteredOptions: any[];\n\n public filtered: boolean;\n\n public value: any;\n\n public onModelChange: Function = () => { };\n\n public onModelTouched: Function = () => { };\n\n public optionTouched: boolean;\n\n public focus: boolean;\n\n public headerCheckboxFocus: boolean;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public filterService: FilterService) { }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.activateFilter();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n writeValue(value: any): void {\n this.value = value;\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 onOptionClick(event: Event, option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n if (this.multiple) {\n if (this.checkbox)\n this.onOptionClickCheckbox(event, option);\n else\n this.onOptionClickMultiple(event, option);\n }\n else {\n this.onOptionClickSingle(event, option);\n }\n this.onClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n });\n this.optionTouched = false;\n }\n\n onOptionTouchEnd(option: any) {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.optionTouched = true;\n }\n\n onOptionDoubleClick(event: Event, option: any): any {\n if (this.disabled || this.isOptionDisabled(option) || this.readonly) {\n return;\n }\n\n this.onDblClick.emit({\n originalEvent: event,\n option: option,\n value: this.value\n })\n }\n\n onOptionClickSingle(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.value = null;\n valueChanged = true;\n }\n }\n else {\n this.value = this.getOptionValue(option);\n valueChanged = true;\n }\n }\n else {\n this.value = selected ? null : this.getOptionValue(option);\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickMultiple(event, option) {\n let selected = this.isSelected(option);\n let valueChanged = false;\n let metaSelection = this.optionTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey || event.ctrlKey);\n\n if (selected) {\n if (metaKey) {\n this.removeOption(option);\n }\n else {\n this.value = [this.getOptionValue(option)];\n }\n valueChanged = true;\n }\n else {\n this.value = (metaKey) ? this.value || [] : [];\n this.value = [...this.value, this.getOptionValue(option)];\n valueChanged = true;\n }\n }\n else {\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = [...this.value || [], this.getOptionValue(option)];\n }\n\n valueChanged = true;\n }\n\n if (valueChanged) {\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n }\n\n onOptionClickCheckbox(event, option) {\n if (this.disabled || this.readonly) {\n return;\n }\n\n let selected = this.isSelected(option);\n\n if (selected) {\n this.removeOption(option);\n }\n else {\n this.value = this.value ? this.value : [];\n this.value = [...this.value, this.getOptionValue(option)];\n }\n\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n removeOption(option: any): void {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, this.getOptionValue(option), this.dataKey));\n }\n\n isSelected(option: any) {\n let selected = false;\n let optionValue = this.getOptionValue(option);\n\n if (this.multiple) {\n if (this.value) {\n for (let val of this.value) {\n if (ObjectUtils.equals(val, optionValue, this.dataKey)) {\n selected = true;\n break;\n }\n }\n }\n }\n else {\n selected = ObjectUtils.equals(this.value, optionValue, this.dataKey);\n }\n\n return selected;\n }\n\n get allChecked(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return false;\n }\n else {\n let selectedDisabledItemsLength = 0;\n let unselectedDisabledItemsLength = 0;\n let selectedEnabledItemsLength = 0;\n let visibleOptionsLength = this.group ? 0 : this.optionsToRender.length;\n \n for (let option of optionsToRender) {\n if (!this.group) {\n let disabled = this.isOptionDisabled(option);\n let selected = this.isSelected(option);\n \n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else \n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else\n return false;\n }\n }\n else if (option.items) {\n for (let opt of option.items) {\n let disabled = this.isOptionDisabled(opt);\n let selected = this.isSelected(opt);\n \n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else \n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else {\n return false;\n }\n }\n\n visibleOptionsLength++;\n }\n }\n }\n\n return (visibleOptionsLength === selectedDisabledItemsLength \n || visibleOptionsLength === selectedEnabledItemsLength \n || selectedEnabledItemsLength && visibleOptionsLength === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));\n }\n }\n\n get optionsToRender(): any[] {\n return this._filteredOptions || this.options;\n }\n\n hasFilter() {\n return this._filterValue && this._filterValue.trim().length > 0; \n }\n\n onFilter(event: KeyboardEvent) {\n this._filterValue = (<HTMLInputElement> event.target).value;\n this.activateFilter();\n }\n\n activateFilter() {\n if (this.hasFilter() && this._options) {\n if (this.group) {\n let searchFields: string[] = (this.optionLabel || 'label').split(',');\n\n let filteredGroups = [];\n for (let optgroup of this.options) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({\n label: optgroup.label,\n value: optgroup.value,\n items: filteredSubOptions\n });\n }\n }\n\n this._filteredOptions = filteredGroups;\n }\n else {\n this._filteredOptions = this._options.filter(option => this.filterService.filters[this.filterMatchMode](this.getOptionLabel(option), this._filterValue, this.filterLocale));\n }\n }\n else {\n this._filteredOptions = null;\n }\n }\n\n get toggleAllDisabled(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return true;\n }\n else {\n for (let option of optionsToRender) {\n if (!this.isOptionDisabled(option))\n return false;\n }\n\n return true;\n }\n }\n\n toggleAll(event) {\n if (this.disabled || this.toggleAllDisabled || this.readonly) {\n return;\n }\n \n let allChecked = this.allChecked; \n\n if (allChecked)\n this.uncheckAll();\n else\n this.checkAll();\n\n this.onModelChange(this.value);\n this.onChange.emit({ originalEvent: event, value: this.value });\n event.preventDefault();\n }\n\n checkAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n if (!this.group) {\n let optionDisabled = this.isOptionDisabled(opt); \n if (!optionDisabled || (optionDisabled && this.isSelected(opt))) {\n val.push(this.getOptionValue(opt));\n }\n }\n else {\n if (opt.items) {\n opt.items.forEach(option => {\n let optionDisabled = this.isOptionDisabled(option); \n if (!optionDisabled || (optionDisabled && this.isSelected(option))) {\n val.push(this.getOptionValue(option));\n }\n });\n }\n }\n });\n\n this.value = val;\n }\n\n uncheckAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n if (!this.group) {\n let optionDisabled = this.isOptionDisabled(opt); \n if (optionDisabled && this.isSelected(opt)) {\n val.push(this.getOptionValue(opt));\n }\n }\n else {\n if (opt.items) {\n opt.items.forEach(option => {\n let optionDisabled = this.isOptionDisabled(option); \n if (optionDisabled && this.isSelected(option)) {\n val.push(this.getOptionValue(option));\n }\n });\n }\n }\n });\n\n this.value = val;\n }\n\n onOptionKeyDown(event:KeyboardEvent, option) {\n if (this.readonly) {\n return;\n }\n\n let item = <HTMLLIElement> event.currentTarget;\n\n switch(event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(item);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(item);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onOptionClick(event, option);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem, 'p-disabled') || DomHandler.isHidden(nextItem) || DomHandler.hasClass(nextItem, 'p-listbox-item-group') ? this.findNextItem(nextItem) : nextItem;\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return DomHandler.hasClass(prevItem, 'p-disabled') || DomHandler.isHidden(prevItem) || DomHandler.hasClass(prevItem, 'p-listbox-item-group') ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n}\n\n@NgModule({\n imports: [CommonModule, SharedModule, RippleModule],\n exports: [Listbox, SharedModule],\n declarations: [Listbox]\n})\nexport class ListboxModule { }\n\n"]}
@@ -427,7 +427,7 @@
427
427
  },
428
428
  set: function (val) {
429
429
  this._filterValue = val;
430
- this.filterOptions();
430
+ this.activateFilter();
431
431
  },
432
432
  enumerable: false,
433
433
  configurable: true
@@ -442,6 +442,9 @@
442
442
  case 'item':
443
443
  _this.itemTemplate = item.template;
444
444
  break;
445
+ case 'group':
446
+ _this.groupTemplate = item.template;
447
+ break;
445
448
  case 'selectedItems':
446
449
  _this.selectedItemsTemplate = item.template;
447
450
  break;
@@ -474,6 +477,12 @@
474
477
  MultiSelect.prototype.getOptionValue = function (option) {
475
478
  return this.optionValue ? utils.ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel ? option : option.value);
476
479
  };
480
+ MultiSelect.prototype.getOptionGroupLabel = function (optionGroup) {
481
+ return this.optionGroupLabel ? utils.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);
482
+ };
483
+ MultiSelect.prototype.getOptionGroupChildren = function (optionGroup) {
484
+ return this.optionGroupChildren ? utils.ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;
485
+ };
477
486
  MultiSelect.prototype.isOptionDisabled = function (option) {
478
487
  var disabled = this.optionDisabled ? utils.ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);
479
488
  return (disabled || (this.maxSelectionLimitReached && !this.isSelected(option)));
@@ -593,9 +602,21 @@
593
602
  var optionsToRender = this.optionsToRender;
594
603
  var val = [];
595
604
  optionsToRender.forEach(function (opt) {
596
- var optionDisabled = _this.isOptionDisabled(opt);
597
- if (!optionDisabled || (optionDisabled && _this.isSelected(opt))) {
598
- val.push(_this.getOptionValue(opt));
605
+ if (!_this.group) {
606
+ var optionDisabled = _this.isOptionDisabled(opt);
607
+ if (!optionDisabled || (optionDisabled && _this.isSelected(opt))) {
608
+ val.push(_this.getOptionValue(opt));
609
+ }
610
+ }
611
+ else {
612
+ if (opt.items) {
613
+ opt.items.forEach(function (option) {
614
+ var optionDisabled = _this.isOptionDisabled(option);
615
+ if (!optionDisabled || (optionDisabled && _this.isSelected(option))) {
616
+ val.push(_this.getOptionValue(option));
617
+ }
618
+ });
619
+ }
599
620
  }
600
621
  });
601
622
  this.value = val;
@@ -605,9 +626,21 @@
605
626
  var optionsToRender = this.optionsToRender;
606
627
  var val = [];
607
628
  optionsToRender.forEach(function (opt) {
608
- var optionDisabled = _this.isOptionDisabled(opt);
609
- if (optionDisabled && _this.isSelected(opt)) {
610
- val.push(_this.getOptionValue(opt));
629
+ if (!_this.group) {
630
+ var optionDisabled = _this.isOptionDisabled(opt);
631
+ if (optionDisabled && _this.isSelected(opt)) {
632
+ val.push(_this.getOptionValue(opt));
633
+ }
634
+ }
635
+ else {
636
+ if (opt.items) {
637
+ opt.items.forEach(function (option) {
638
+ var optionDisabled = _this.isOptionDisabled(option);
639
+ if (optionDisabled && _this.isSelected(option)) {
640
+ val.push(_this.getOptionValue(option));
641
+ }
642
+ });
643
+ }
611
644
  }
612
645
  });
613
646
  this.value = val;
@@ -755,14 +788,14 @@
755
788
  MultiSelect.prototype.findNextItem = function (item) {
756
789
  var nextItem = item.nextElementSibling;
757
790
  if (nextItem)
758
- return dom.DomHandler.hasClass(nextItem.children[0], 'p-disabled') || dom.DomHandler.isHidden(nextItem.children[0]) ? this.findNextItem(nextItem) : nextItem.children[0];
791
+ return dom.DomHandler.hasClass(nextItem.children[0], 'p-disabled') || dom.DomHandler.isHidden(nextItem.children[0]) || dom.DomHandler.hasClass(nextItem, 'p-multiselect-item-group') ? this.findNextItem(nextItem) : nextItem.children[0];
759
792
  else
760
793
  return null;
761
794
  };
762
795
  MultiSelect.prototype.findPrevItem = function (item) {
763
796
  var prevItem = item.previousElementSibling;
764
797
  if (prevItem)
765
- return dom.DomHandler.hasClass(prevItem.children[0], 'p-disabled') || dom.DomHandler.isHidden(prevItem.children[0]) ? this.findPrevItem(prevItem) : prevItem.children[0];
798
+ return dom.DomHandler.hasClass(prevItem.children[0], 'p-disabled') || dom.DomHandler.isHidden(prevItem.children[0]) || dom.DomHandler.hasClass(prevItem, 'p-multiselect-item-group') ? this.findPrevItem(prevItem) : prevItem.children[0];
766
799
  else
767
800
  return null;
768
801
  };
@@ -818,9 +851,26 @@
818
851
  }
819
852
  };
820
853
  MultiSelect.prototype.findLabelByValue = function (val) {
854
+ if (this.group) {
855
+ var label = null;
856
+ for (var i = 0; i < this.options.length; i++) {
857
+ if (this.options[i].items) {
858
+ label = this.searchLabelByValue(val, this.options[i].items);
859
+ if (label) {
860
+ break;
861
+ }
862
+ }
863
+ }
864
+ return label;
865
+ }
866
+ else {
867
+ return this.searchLabelByValue(val, this.options);
868
+ }
869
+ };
870
+ MultiSelect.prototype.searchLabelByValue = function (val, options) {
821
871
  var label = null;
822
- for (var i = 0; i < this.options.length; i++) {
823
- var option = this.options[i];
872
+ for (var i = 0; i < options.length; i++) {
873
+ var option = options[i];
824
874
  var optionValue = this.getOptionValue(option);
825
875
  if (val == null && optionValue == null || utils.ObjectUtils.equals(val, optionValue, this.dataKey)) {
826
876
  label = this.getOptionLabel(option);
@@ -831,7 +881,7 @@
831
881
  };
832
882
  Object.defineProperty(MultiSelect.prototype, "allChecked", {
833
883
  get: function () {
834
- var e_2, _a;
884
+ var e_2, _a, e_3, _b;
835
885
  var optionsToRender = this.optionsToRender;
836
886
  if (!optionsToRender || optionsToRender.length === 0) {
837
887
  return false;
@@ -840,22 +890,55 @@
840
890
  var selectedDisabledItemsLength = 0;
841
891
  var unselectedDisabledItemsLength = 0;
842
892
  var selectedEnabledItemsLength = 0;
893
+ var visibleOptionsLength = this.group ? 0 : this.optionsToRender.length;
843
894
  try {
844
895
  for (var optionsToRender_2 = __values(optionsToRender), optionsToRender_2_1 = optionsToRender_2.next(); !optionsToRender_2_1.done; optionsToRender_2_1 = optionsToRender_2.next()) {
845
896
  var option = optionsToRender_2_1.value;
846
- var disabled = this.isOptionDisabled(option);
847
- var selected = this.isSelected(option);
848
- if (disabled) {
849
- if (selected)
850
- selectedDisabledItemsLength++;
851
- else
852
- unselectedDisabledItemsLength++;
897
+ if (!this.group) {
898
+ var disabled = this.isOptionDisabled(option);
899
+ var selected = this.isSelected(option);
900
+ if (disabled) {
901
+ if (selected)
902
+ selectedDisabledItemsLength++;
903
+ else
904
+ unselectedDisabledItemsLength++;
905
+ }
906
+ else {
907
+ if (selected)
908
+ selectedEnabledItemsLength++;
909
+ else
910
+ return false;
911
+ }
853
912
  }
854
- else {
855
- if (selected)
856
- selectedEnabledItemsLength++;
857
- else
858
- return false;
913
+ else if (option.items) {
914
+ try {
915
+ for (var _c = (e_3 = void 0, __values(option.items)), _d = _c.next(); !_d.done; _d = _c.next()) {
916
+ var opt = _d.value;
917
+ var disabled = this.isOptionDisabled(opt);
918
+ var selected = this.isSelected(opt);
919
+ if (disabled) {
920
+ if (selected)
921
+ selectedDisabledItemsLength++;
922
+ else
923
+ unselectedDisabledItemsLength++;
924
+ }
925
+ else {
926
+ if (selected)
927
+ selectedEnabledItemsLength++;
928
+ else {
929
+ return false;
930
+ }
931
+ }
932
+ visibleOptionsLength++;
933
+ }
934
+ }
935
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
936
+ finally {
937
+ try {
938
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
939
+ }
940
+ finally { if (e_3) throw e_3.error; }
941
+ }
859
942
  }
860
943
  }
861
944
  }
@@ -866,9 +949,9 @@
866
949
  }
867
950
  finally { if (e_2) throw e_2.error; }
868
951
  }
869
- return (optionsToRender.length === selectedDisabledItemsLength
870
- || optionsToRender.length === selectedEnabledItemsLength
871
- || selectedEnabledItemsLength && optionsToRender.length === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));
952
+ return (visibleOptionsLength === selectedDisabledItemsLength
953
+ || visibleOptionsLength === selectedEnabledItemsLength
954
+ || selectedEnabledItemsLength && visibleOptionsLength === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));
872
955
  }
873
956
  },
874
957
  enumerable: false,
@@ -894,12 +977,40 @@
894
977
  };
895
978
  MultiSelect.prototype.onFilter = function (event) {
896
979
  this._filterValue = event.target.value;
897
- this.filterOptions();
980
+ this.activateFilter();
898
981
  };
899
- MultiSelect.prototype.filterOptions = function () {
982
+ MultiSelect.prototype.activateFilter = function () {
983
+ var e_4, _a;
900
984
  if (this.hasFilter() && this._options) {
901
985
  var searchFields = (this.filterBy || this.optionLabel || 'label').split(',');
902
- this._filteredOptions = this.filterService.filter(this.options, searchFields, this._filterValue, this.filterMatchMode, this.filterLocale);
986
+ if (this.group) {
987
+ var searchFields_1 = (this.optionLabel || 'label').split(',');
988
+ var filteredGroups = [];
989
+ try {
990
+ for (var _b = __values(this.options), _c = _b.next(); !_c.done; _c = _b.next()) {
991
+ var optgroup = _c.value;
992
+ var filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields_1, this.filterValue, this.filterMatchMode, this.filterLocale);
993
+ if (filteredSubOptions && filteredSubOptions.length) {
994
+ filteredGroups.push({
995
+ label: optgroup.label,
996
+ value: optgroup.value,
997
+ items: filteredSubOptions
998
+ });
999
+ }
1000
+ }
1001
+ }
1002
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
1003
+ finally {
1004
+ try {
1005
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1006
+ }
1007
+ finally { if (e_4) throw e_4.error; }
1008
+ }
1009
+ this._filteredOptions = filteredGroups;
1010
+ }
1011
+ else {
1012
+ this._filteredOptions = this.filterService.filter(this.options, searchFields, this._filterValue, this.filterMatchMode, this.filterLocale);
1013
+ }
903
1014
  }
904
1015
  else {
905
1016
  this._filteredOptions = null;
@@ -979,7 +1090,7 @@
979
1090
  MultiSelect.decorators = [
980
1091
  { type: core.Component, args: [{
981
1092
  selector: 'p-multiSelect',
982
- template: "\n <div #container [ngClass]=\"{'p-multiselect p-component':true,\n 'p-multiselect-open':overlayVisible,\n 'p-multiselect-chip': display === 'chip',\n 'p-focus':focus,\n 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\"\n (click)=\"onMouseclick($event,in)\">\n <div class=\"p-hidden-accessible\">\n <input #in type=\"text\" readonly=\"readonly\" [attr.id]=\"inputId\" [attr.name]=\"name\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeydown($event)\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\"\n [attr.aria-labelledby]=\"ariaLabelledBy\" role=\"listbox\">\n </div>\n <div class=\"p-multiselect-label-container\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <div class=\"p-multiselect-label\" [ngClass]=\"{'p-placeholder': valuesAsString === (defaultLabel || placeholder), 'p-multiselect-label-empty': ((valuesAsString == null || valuesAsString.length === 0) && (placeholder == null || placeholder.length === 0))}\">\n <ng-container *ngIf=\"!selectedItemsTemplate\">\n <ng-container *ngIf=\"display === 'comma'\">{{valuesAsString || 'empty'}}</ng-container>\n <ng-container *ngIf=\"display === 'chip'\">\n <div #token *ngFor=\"let item of value; let i = index;\" class=\"p-multiselect-token\">\n <span class=\"p-multiselect-token-label\">{{findLabelByValue(item)}}</span>\n <span *ngIf=\"!disabled\" class=\"p-multiselect-token-icon pi pi-times-circle\" (click)=\"removeChip(item, $event)\"></span>\n </div>\n <ng-container *ngIf=\"!value || value.length === 0\">{{placeholder || defaultLabel || 'empty'}}</ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemsTemplate; context: {$implicit: value}\"></ng-container>\n </div>\n </div>\n <div [ngClass]=\"{'p-multiselect-trigger':true}\">\n <span class=\"p-multiselect-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"['p-multiselect-panel p-component']\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\" (keydown)=\"onKeydown($event)\">\n <div class=\"p-multiselect-header\" *ngIf=\"showHeader\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-checkbox p-component\" *ngIf=\"showToggleAll && !selectionLimit\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [attr.disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div class=\"p-checkbox-box\" role=\"checkbox\" [attr.aria-checked]=\"allChecked\" [ngClass]=\"{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <div class=\"p-multiselect-filter-container\" *ngIf=\"filter\">\n <input #filterInput type=\"text\" role=\"textbox\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-multiselect-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-multiselect-filter-icon pi pi-search\"></span>\n </div>\n <button class=\"p-multiselect-close p-link\" type=\"button\" (click)=\"close($event)\" pRipple>\n <span class=\"p-multiselect-close-icon pi pi-times\"></span>\n </button>\n </div>\n <div class=\"p-multiselect-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul class=\"p-multiselect-items p-component\" role=\"listbox\" aria-multiselectable=\"true\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"optionsToRender\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\"></p-multiSelectItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && !emptyOptions\">\n <ng-container *cdkVirtualFor=\"let option of optionsToRender; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\" [itemSize]=\"itemSize\"></p-multiSelectItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <li *ngIf=\"emptyOptions\" class=\"p-multiselect-empty-message\">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n <div class=\"p-multiselect-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n ",
1093
+ template: "\n <div #container [ngClass]=\"{'p-multiselect p-component':true,\n 'p-multiselect-open':overlayVisible,\n 'p-multiselect-chip': display === 'chip',\n 'p-focus':focus,\n 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\"\n (click)=\"onMouseclick($event,in)\">\n <div class=\"p-hidden-accessible\">\n <input #in type=\"text\" readonly=\"readonly\" [attr.id]=\"inputId\" [attr.name]=\"name\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeydown($event)\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\"\n [attr.aria-labelledby]=\"ariaLabelledBy\" role=\"listbox\">\n </div>\n <div class=\"p-multiselect-label-container\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <div class=\"p-multiselect-label\" [ngClass]=\"{'p-placeholder': valuesAsString === (defaultLabel || placeholder), 'p-multiselect-label-empty': ((valuesAsString == null || valuesAsString.length === 0) && (placeholder == null || placeholder.length === 0))}\">\n <ng-container *ngIf=\"!selectedItemsTemplate\">\n <ng-container *ngIf=\"display === 'comma'\">{{valuesAsString || 'empty'}}</ng-container>\n <ng-container *ngIf=\"display === 'chip'\">\n <div #token *ngFor=\"let item of value; let i = index;\" class=\"p-multiselect-token\">\n <span class=\"p-multiselect-token-label\">{{findLabelByValue(item)}}</span>\n <span *ngIf=\"!disabled\" class=\"p-multiselect-token-icon pi pi-times-circle\" (click)=\"removeChip(item, $event)\"></span>\n </div>\n <ng-container *ngIf=\"!value || value.length === 0\">{{placeholder || defaultLabel || 'empty'}}</ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemsTemplate; context: {$implicit: value}\"></ng-container>\n </div>\n </div>\n <div [ngClass]=\"{'p-multiselect-trigger':true}\">\n <span class=\"p-multiselect-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"['p-multiselect-panel p-component']\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\" (keydown)=\"onKeydown($event)\">\n <div class=\"p-multiselect-header\" *ngIf=\"showHeader\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-checkbox p-component\" *ngIf=\"showToggleAll && !selectionLimit\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [attr.disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div class=\"p-checkbox-box\" role=\"checkbox\" [attr.aria-checked]=\"allChecked\" [ngClass]=\"{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <div class=\"p-multiselect-filter-container\" *ngIf=\"filter\">\n <input #filterInput type=\"text\" role=\"textbox\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-multiselect-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-multiselect-filter-icon pi pi-search\"></span>\n </div>\n <button class=\"p-multiselect-close p-link\" type=\"button\" (click)=\"close($event)\" pRipple>\n <span class=\"p-multiselect-close-icon pi pi-times\"></span>\n </button>\n </div>\n <div class=\"p-multiselect-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul class=\"p-multiselect-items p-component\" role=\"listbox\" aria-multiselectable=\"true\">\n <ng-container *ngIf=\"group\">\n <ng-template ngFor let-optgroup [ngForOf]=\"optionsToRender\">\n <li class=\"p-multiselect-item-group\">\n <span *ngIf=\"!groupTemplate\">{{getOptionGroupLabel(optgroup)||'empty'}}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: {$implicit: optgroup}\"></ng-container>\n </li>\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: getOptionGroupChildren(optgroup)}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!group\">\n <ng-container *ngTemplateOutlet=\"itemslist; context: {$implicit: optionsToRender}\"></ng-container>\n </ng-container>\n <ng-template #itemslist let-optionsToDisplay let-selectedOption=\"selectedOption\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"optionsToDisplay\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\"></p-multiSelectItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && !emptyOptions\">\n <ng-container *cdkVirtualFor=\"let option of optionsToDisplay; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\" [itemSize]=\"itemSize\"></p-multiSelectItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <li *ngIf=\"emptyOptions\" class=\"p-multiselect-empty-message\">{{emptyFilterMessage}}</li>\n </ng-template>\n </ul>\n </div>\n <div class=\"p-multiselect-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n ",
983
1094
  animations: [
984
1095
  animations.trigger('overlayAnimation', [
985
1096
  animations.transition(':enter', [
@@ -993,7 +1104,7 @@
993
1104
  ],
994
1105
  host: {
995
1106
  '[class.p-inputwrapper-filled]': 'filled',
996
- '[class.p-inputwrapper-focus]': 'focus'
1107
+ '[class.p-inputwrapper-focus]': 'focus || overlayVisible'
997
1108
  },
998
1109
  providers: [MULTISELECT_VALUE_ACCESSOR],
999
1110
  changeDetection: core.ChangeDetectionStrategy.OnPush,
@@ -1015,6 +1126,7 @@
1015
1126
  inputId: [{ type: core.Input }],
1016
1127
  disabled: [{ type: core.Input }],
1017
1128
  readonly: [{ type: core.Input }],
1129
+ group: [{ type: core.Input }],
1018
1130
  filter: [{ type: core.Input }],
1019
1131
  filterPlaceHolder: [{ type: core.Input }],
1020
1132
  filterLocale: [{ type: core.Input }],
@@ -1035,6 +1147,8 @@
1035
1147
  optionLabel: [{ type: core.Input }],
1036
1148
  optionValue: [{ type: core.Input }],
1037
1149
  optionDisabled: [{ type: core.Input }],
1150
+ optionGroupLabel: [{ type: core.Input }],
1151
+ optionGroupChildren: [{ type: core.Input }],
1038
1152
  showHeader: [{ type: core.Input }],
1039
1153
  autoZIndex: [{ type: core.Input }],
1040
1154
  baseZIndex: [{ type: core.Input }],