novo-elements 11.4.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) hide show
  1. package/addons/ace-editor/index.d.ts +49 -2
  2. package/addons/ckeditor/index.d.ts +58 -2
  3. package/addons/code-editor/index.d.ts +43 -2
  4. package/elements/agenda/index.d.ts +601 -6
  5. package/elements/aside/index.d.ts +61 -5
  6. package/elements/autocomplete/index.d.ts +105 -2
  7. package/elements/avatar/index.d.ts +42 -3
  8. package/elements/breadcrumbs/index.d.ts +87 -6
  9. package/elements/button/index.d.ts +65 -2
  10. package/elements/calendar/index.d.ts +200 -6
  11. package/elements/card/index.d.ts +69 -2
  12. package/elements/category-dropdown/index.d.ts +44 -2
  13. package/elements/checkbox/index.d.ts +117 -3
  14. package/elements/chips/index.d.ts +665 -9
  15. package/elements/color-picker/index.d.ts +142 -4
  16. package/elements/common/index.d.ts +745 -19
  17. package/elements/data-table/index.d.ts +939 -15
  18. package/elements/date-picker/index.d.ts +410 -5
  19. package/elements/date-time-picker/index.d.ts +113 -3
  20. package/elements/divider/index.d.ts +25 -2
  21. package/elements/drag-drop/index.d.ts +74 -2
  22. package/elements/dropdown/index.d.ts +117 -2
  23. package/elements/expansion/index.d.ts +161 -6
  24. package/elements/field/index.d.ts +513 -14
  25. package/elements/flex/index.d.ts +53 -4
  26. package/elements/form/index.d.ts +1312 -17
  27. package/elements/header/index.d.ts +51 -2
  28. package/elements/icon/index.d.ts +37 -2
  29. package/elements/layout/index.d.ts +306 -6
  30. package/elements/list/index.d.ts +59 -2
  31. package/elements/loading/index.d.ts +64 -2
  32. package/elements/menu/index.d.ts +202 -8
  33. package/elements/modal/index.d.ts +96 -6
  34. package/elements/multi-picker/index.d.ts +122 -2
  35. package/elements/non-ideal-state/index.d.ts +22 -2
  36. package/elements/picker/index.d.ts +387 -3
  37. package/elements/places/index.d.ts +121 -3
  38. package/elements/popover/index.d.ts +93 -3
  39. package/elements/progress/index.d.ts +85 -4
  40. package/elements/query-builder/index.d.ts +625 -17
  41. package/elements/quick-note/index.d.ts +187 -3
  42. package/elements/radio/index.d.ts +147 -4
  43. package/elements/search/index.d.ts +85 -2
  44. package/elements/select/index.d.ts +248 -3
  45. package/elements/select-search/index.d.ts +268 -3
  46. package/elements/simple-table/index.d.ts +544 -12
  47. package/elements/simple-table/table.scss +10 -10
  48. package/elements/slider/index.d.ts +32 -2
  49. package/elements/stepper/index.d.ts +134 -7
  50. package/elements/switch/index.d.ts +35 -2
  51. package/elements/tabbed-group-picker/index.d.ts +147 -2
  52. package/elements/tabs/index.d.ts +105 -2
  53. package/elements/tiles/index.d.ts +45 -2
  54. package/elements/time-picker/index.d.ts +141 -3
  55. package/elements/tip-well/index.d.ts +37 -2
  56. package/elements/toast/index.d.ts +94 -3
  57. package/elements/toolbar/index.d.ts +32 -2
  58. package/elements/tooltip/index.d.ts +70 -3
  59. package/elements/unless/index.d.ts +26 -2
  60. package/elements/value/index.d.ts +142 -4
  61. package/fesm2022/novo-elements-addons-ace-editor.mjs +7 -7
  62. package/fesm2022/novo-elements-addons-ace-editor.mjs.map +1 -1
  63. package/fesm2022/novo-elements-addons-ckeditor.mjs +7 -7
  64. package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
  65. package/fesm2022/novo-elements-addons-code-editor.mjs +7 -7
  66. package/fesm2022/novo-elements-addons-code-editor.mjs.map +1 -1
  67. package/fesm2022/novo-elements-elements-agenda.mjs +61 -61
  68. package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
  69. package/fesm2022/novo-elements-elements-aside.mjs +17 -16
  70. package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
  71. package/fesm2022/novo-elements-elements-autocomplete.mjs +7 -7
  72. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  73. package/fesm2022/novo-elements-elements-avatar.mjs +10 -10
  74. package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
  75. package/fesm2022/novo-elements-elements-breadcrumbs.mjs +13 -13
  76. package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  77. package/fesm2022/novo-elements-elements-button.mjs +12 -12
  78. package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
  79. package/fesm2022/novo-elements-elements-calendar.mjs +25 -25
  80. package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
  81. package/fesm2022/novo-elements-elements-card.mjs +19 -19
  82. package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
  83. package/fesm2022/novo-elements-elements-category-dropdown.mjs +7 -7
  84. package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
  85. package/fesm2022/novo-elements-elements-checkbox.mjs +10 -10
  86. package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
  87. package/fesm2022/novo-elements-elements-chips.mjs +47 -39
  88. package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
  89. package/fesm2022/novo-elements-elements-color-picker.mjs +13 -13
  90. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  91. package/fesm2022/novo-elements-elements-common.mjs +116 -107
  92. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  93. package/fesm2022/novo-elements-elements-data-table.mjs +77 -77
  94. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  95. package/fesm2022/novo-elements-elements-date-picker.mjs +17 -17
  96. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  97. package/fesm2022/novo-elements-elements-date-time-picker.mjs +11 -11
  98. package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
  99. package/fesm2022/novo-elements-elements-divider.mjs +7 -7
  100. package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
  101. package/fesm2022/novo-elements-elements-drag-drop.mjs +11 -11
  102. package/fesm2022/novo-elements-elements-drag-drop.mjs.map +1 -1
  103. package/fesm2022/novo-elements-elements-dropdown.mjs +19 -19
  104. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  105. package/fesm2022/novo-elements-elements-expansion.mjs +26 -26
  106. package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
  107. package/fesm2022/novo-elements-elements-field.mjs +46 -46
  108. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  109. package/fesm2022/novo-elements-elements-flex.mjs +16 -16
  110. package/fesm2022/novo-elements-elements-flex.mjs.map +1 -1
  111. package/fesm2022/novo-elements-elements-form.mjs +53 -53
  112. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  113. package/fesm2022/novo-elements-elements-header.mjs +16 -16
  114. package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
  115. package/fesm2022/novo-elements-elements-icon.mjs +7 -7
  116. package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
  117. package/fesm2022/novo-elements-elements-layout.mjs +19 -19
  118. package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
  119. package/fesm2022/novo-elements-elements-list.mjs +28 -28
  120. package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
  121. package/fesm2022/novo-elements-elements-loading.mjs +19 -19
  122. package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
  123. package/fesm2022/novo-elements-elements-menu.mjs +19 -19
  124. package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
  125. package/fesm2022/novo-elements-elements-modal.mjs +26 -23
  126. package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
  127. package/fesm2022/novo-elements-elements-multi-picker.mjs +7 -7
  128. package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
  129. package/fesm2022/novo-elements-elements-non-ideal-state.mjs +7 -7
  130. package/fesm2022/novo-elements-elements-non-ideal-state.mjs.map +1 -1
  131. package/fesm2022/novo-elements-elements-picker.mjs +42 -39
  132. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  133. package/fesm2022/novo-elements-elements-places.mjs +10 -10
  134. package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
  135. package/fesm2022/novo-elements-elements-popover.mjs +10 -10
  136. package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
  137. package/fesm2022/novo-elements-elements-progress.mjs +10 -10
  138. package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
  139. package/fesm2022/novo-elements-elements-query-builder.mjs +88 -88
  140. package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
  141. package/fesm2022/novo-elements-elements-quick-note.mjs +10 -10
  142. package/fesm2022/novo-elements-elements-quick-note.mjs.map +1 -1
  143. package/fesm2022/novo-elements-elements-radio.mjs +10 -10
  144. package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
  145. package/fesm2022/novo-elements-elements-search.mjs +7 -7
  146. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  147. package/fesm2022/novo-elements-elements-select-search.mjs +10 -10
  148. package/fesm2022/novo-elements-elements-select-search.mjs.map +1 -1
  149. package/fesm2022/novo-elements-elements-select.mjs +23 -19
  150. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  151. package/fesm2022/novo-elements-elements-simple-table.mjs +119 -93
  152. package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
  153. package/fesm2022/novo-elements-elements-slider.mjs +7 -7
  154. package/fesm2022/novo-elements-elements-slider.mjs.map +1 -1
  155. package/fesm2022/novo-elements-elements-stepper.mjs +34 -34
  156. package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
  157. package/fesm2022/novo-elements-elements-switch.mjs +7 -7
  158. package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
  159. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs +7 -7
  160. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
  161. package/fesm2022/novo-elements-elements-tabs.mjs +26 -26
  162. package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
  163. package/fesm2022/novo-elements-elements-tiles.mjs +7 -7
  164. package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
  165. package/fesm2022/novo-elements-elements-time-picker.mjs +10 -10
  166. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  167. package/fesm2022/novo-elements-elements-tip-well.mjs +7 -7
  168. package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
  169. package/fesm2022/novo-elements-elements-toast.mjs +10 -10
  170. package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
  171. package/fesm2022/novo-elements-elements-toolbar.mjs +10 -10
  172. package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
  173. package/fesm2022/novo-elements-elements-tooltip.mjs +12 -12
  174. package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
  175. package/fesm2022/novo-elements-elements-unless.mjs +7 -7
  176. package/fesm2022/novo-elements-elements-unless.mjs.map +1 -1
  177. package/fesm2022/novo-elements-elements-value.mjs +14 -14
  178. package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
  179. package/fesm2022/novo-elements-pipes.mjs +35 -35
  180. package/fesm2022/novo-elements-pipes.mjs.map +1 -1
  181. package/fesm2022/novo-elements-services.mjs +24 -24
  182. package/fesm2022/novo-elements-services.mjs.map +1 -1
  183. package/fesm2022/novo-elements-utils.mjs +4 -4
  184. package/fesm2022/novo-elements-utils.mjs.map +1 -1
  185. package/fesm2022/novo-elements.mjs +9 -8
  186. package/fesm2022/novo-elements.mjs.map +1 -1
  187. package/index.d.ts +27 -3
  188. package/package.json +17 -17
  189. package/pipes/index.d.ts +75 -7
  190. package/services/index.d.ts +602 -9
  191. package/utils/index.d.ts +1631 -12
  192. package/addons/ace-editor/AceEditor.d.ts +0 -42
  193. package/addons/ace-editor/AceEditor.module.d.ts +0 -8
  194. package/addons/ckeditor/CKEditor.d.ts +0 -52
  195. package/addons/ckeditor/CKEditor.module.d.ts +0 -9
  196. package/addons/code-editor/CodeEditor.d.ts +0 -32
  197. package/addons/code-editor/CodeEditor.module.d.ts +0 -9
  198. package/elements/agenda/Agenda.module.d.ts +0 -29
  199. package/elements/agenda/common/AgendaDateChange.d.ts +0 -28
  200. package/elements/agenda/common/EventTypeLegend.d.ts +0 -10
  201. package/elements/agenda/common/index.d.ts +0 -2
  202. package/elements/agenda/day/AgendaAllDayEvent.d.ts +0 -10
  203. package/elements/agenda/day/AgendaDayEvent.d.ts +0 -11
  204. package/elements/agenda/day/AgendaDayView.d.ts +0 -151
  205. package/elements/agenda/day/AgendaHourSegment.d.ts +0 -10
  206. package/elements/agenda/day/index.d.ts +0 -4
  207. package/elements/agenda/month/AgendaMonthDay.d.ts +0 -17
  208. package/elements/agenda/month/AgendaMonthHeader.d.ts +0 -17
  209. package/elements/agenda/month/AgendaMonthView.d.ts +0 -113
  210. package/elements/agenda/month/index.d.ts +0 -3
  211. package/elements/agenda/pipe/DayOfMonth.pipe.d.ts +0 -9
  212. package/elements/agenda/pipe/EndOfWeekDisplayPipe.pipe.d.ts +0 -9
  213. package/elements/agenda/pipe/Hours.pipe.d.ts +0 -9
  214. package/elements/agenda/pipe/Month.pipe.d.ts +0 -9
  215. package/elements/agenda/pipe/MonthDay.pipe.d.ts +0 -9
  216. package/elements/agenda/pipe/Weekday.pipe.d.ts +0 -9
  217. package/elements/agenda/pipe/Year.pipe.d.ts +0 -9
  218. package/elements/agenda/pipe/index.d.ts +0 -7
  219. package/elements/agenda/week/AgendaWeekEvent.d.ts +0 -11
  220. package/elements/agenda/week/AgendaWeekHeader.d.ts +0 -17
  221. package/elements/agenda/week/AgendaWeekView.d.ts +0 -159
  222. package/elements/agenda/week/index.d.ts +0 -3
  223. package/elements/aside/aside-ref.d.ts +0 -17
  224. package/elements/aside/aside.animation.d.ts +0 -1
  225. package/elements/aside/aside.component.d.ts +0 -18
  226. package/elements/aside/aside.module.d.ts +0 -9
  227. package/elements/aside/aside.service.d.ts +0 -16
  228. package/elements/autocomplete/autocomplete.component.d.ts +0 -92
  229. package/elements/autocomplete/autocomplete.module.d.ts +0 -12
  230. package/elements/avatar/Avatar.d.ts +0 -22
  231. package/elements/avatar/Avatar.module.d.ts +0 -9
  232. package/elements/avatar/AvatarStack.d.ts +0 -12
  233. package/elements/breadcrumbs/Breadcrumb.d.ts +0 -13
  234. package/elements/breadcrumbs/Breadcrumb.module.d.ts +0 -15
  235. package/elements/breadcrumbs/Breadcrumb.service.d.ts +0 -9
  236. package/elements/breadcrumbs/Breadcrumb.tokens.d.ts +0 -13
  237. package/elements/breadcrumbs/Breadcrumb.types.d.ts +0 -18
  238. package/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.d.ts +0 -23
  239. package/elements/breadcrumbs/breadcrumb-item/index.d.ts +0 -1
  240. package/elements/button/Button.d.ts +0 -55
  241. package/elements/button/Button.module.d.ts +0 -8
  242. package/elements/calendar/Calendar.module.d.ts +0 -15
  243. package/elements/calendar/calendar.component.d.ts +0 -57
  244. package/elements/calendar/month-select/month-select.component.d.ts +0 -18
  245. package/elements/calendar/month-view/month-view.component.d.ts +0 -60
  246. package/elements/calendar/strategies/default-selection.strategy.d.ts +0 -17
  247. package/elements/calendar/strategies/index.d.ts +0 -4
  248. package/elements/calendar/strategies/multi-date-selection.strategy.d.ts +0 -9
  249. package/elements/calendar/strategies/range-selection.strategy.d.ts +0 -9
  250. package/elements/calendar/strategies/week-selection.strategy.d.ts +0 -9
  251. package/elements/calendar/year-select/year-select.component.d.ts +0 -20
  252. package/elements/card/Card.d.ts +0 -55
  253. package/elements/card/Card.module.d.ts +0 -12
  254. package/elements/category-dropdown/CategoryDropdown.d.ts +0 -32
  255. package/elements/category-dropdown/CategoryDropdown.module.d.ts +0 -10
  256. package/elements/checkbox/CheckList.d.ts +0 -23
  257. package/elements/checkbox/Checkbox.d.ts +0 -84
  258. package/elements/checkbox/Checkbox.module.d.ts +0 -11
  259. package/elements/chips/Chip.d.ts +0 -164
  260. package/elements/chips/ChipDefaults.d.ts +0 -8
  261. package/elements/chips/ChipInput.d.ts +0 -77
  262. package/elements/chips/ChipList.d.ts +0 -293
  263. package/elements/chips/ChipTextControl.d.ts +0 -14
  264. package/elements/chips/Chips.d.ts +0 -91
  265. package/elements/chips/Chips.module.d.ts +0 -19
  266. package/elements/chips/RowChips.d.ts +0 -17
  267. package/elements/chips/pipe/AvatarType.pipe.d.ts +0 -7
  268. package/elements/chips/pipe/index.d.ts +0 -1
  269. package/elements/color-picker/color-input.component.d.ts +0 -57
  270. package/elements/color-picker/color-picker.component.d.ts +0 -41
  271. package/elements/color-picker/color-picker.module.d.ts +0 -15
  272. package/elements/color-picker/color-swatch.component.d.ts +0 -31
  273. package/elements/common/common.module.d.ts +0 -24
  274. package/elements/common/directives/accent.directive.d.ts +0 -14
  275. package/elements/common/directives/bg.directive.d.ts +0 -11
  276. package/elements/common/directives/border.directive.d.ts +0 -29
  277. package/elements/common/directives/color.directive.d.ts +0 -11
  278. package/elements/common/directives/fill.directive.d.ts +0 -10
  279. package/elements/common/directives/flex.directive.d.ts +0 -12
  280. package/elements/common/directives/space.directive.d.ts +0 -54
  281. package/elements/common/directives/switch-cases.directive.d.ts +0 -16
  282. package/elements/common/directives/theme.directive.d.ts +0 -10
  283. package/elements/common/directives/visible.directive.d.ts +0 -10
  284. package/elements/common/error/error-options.d.ts +0 -14
  285. package/elements/common/mixins/color.mixin.d.ts +0 -15
  286. package/elements/common/mixins/constructor.d.ts +0 -9
  287. package/elements/common/mixins/disabled.mixin.d.ts +0 -10
  288. package/elements/common/mixins/error-state.mixin.d.ts +0 -25
  289. package/elements/common/mixins/index.d.ts +0 -9
  290. package/elements/common/mixins/overlay.mixin.d.ts +0 -17
  291. package/elements/common/mixins/required.mixin.d.ts +0 -10
  292. package/elements/common/mixins/size.mixin.d.ts +0 -15
  293. package/elements/common/mixins/tab-index.mixin.d.ts +0 -13
  294. package/elements/common/mixins/types.d.ts +0 -5
  295. package/elements/common/novo-template/index.d.ts +0 -1
  296. package/elements/common/novo-template/novo-template.directive.d.ts +0 -11
  297. package/elements/common/option/index.d.ts +0 -13
  298. package/elements/common/option/optgroup.component.d.ts +0 -32
  299. package/elements/common/option/option-parent.d.ts +0 -14
  300. package/elements/common/option/option.component.d.ts +0 -140
  301. package/elements/common/overlay/Overlay.d.ts +0 -71
  302. package/elements/common/overlay/Overlay.module.d.ts +0 -11
  303. package/elements/common/overlay/index.d.ts +0 -2
  304. package/elements/common/selection/index.d.ts +0 -8
  305. package/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.d.ts +0 -32
  306. package/elements/common/theme/theme-options.d.ts +0 -25
  307. package/elements/common/typography/base/base-text.component.d.ts +0 -33
  308. package/elements/common/typography/caption/caption.component.d.ts +0 -16
  309. package/elements/common/typography/index.d.ts +0 -7
  310. package/elements/common/typography/label/label.component.d.ts +0 -10
  311. package/elements/common/typography/link/link.component.d.ts +0 -17
  312. package/elements/common/typography/text/text.component.d.ts +0 -17
  313. package/elements/common/typography/text.types.d.ts +0 -3
  314. package/elements/common/typography/title/title.component.d.ts +0 -18
  315. package/elements/data-table/ListInteractionTypes.d.ts +0 -10
  316. package/elements/data-table/cell-headers/data-table-checkbox-header-cell.component.d.ts +0 -24
  317. package/elements/data-table/cell-headers/data-table-expand-header-cell.component.d.ts +0 -16
  318. package/elements/data-table/cell-headers/data-table-header-cell-filter-header.component.d.ts +0 -16
  319. package/elements/data-table/cell-headers/data-table-header-cell.component.d.ts +0 -91
  320. package/elements/data-table/cell-headers/data-table-header-cell.directive.d.ts +0 -14
  321. package/elements/data-table/cell-headers/index.d.ts +0 -5
  322. package/elements/data-table/cells/data-table-cell.component.d.ts +0 -20
  323. package/elements/data-table/cells/data-table-checkbox-cell.component.d.ts +0 -23
  324. package/elements/data-table/cells/data-table-expand-cell.component.d.ts +0 -19
  325. package/elements/data-table/cells/index.d.ts +0 -3
  326. package/elements/data-table/data-table-clear-button.component.d.ts +0 -23
  327. package/elements/data-table/data-table-expand.directive.d.ts +0 -21
  328. package/elements/data-table/data-table.component.d.ts +0 -126
  329. package/elements/data-table/data-table.module.d.ts +0 -42
  330. package/elements/data-table/data-table.pipes.d.ts +0 -52
  331. package/elements/data-table/data-table.source.d.ts +0 -22
  332. package/elements/data-table/data-table.token.d.ts +0 -27
  333. package/elements/data-table/interfaces.d.ts +0 -268
  334. package/elements/data-table/pagination/data-table-pagination.component.d.ts +0 -62
  335. package/elements/data-table/pagination/index.d.ts +0 -1
  336. package/elements/data-table/rows/data-table-header-row.component.d.ts +0 -9
  337. package/elements/data-table/rows/data-table-row.component.d.ts +0 -10
  338. package/elements/data-table/rows/index.d.ts +0 -2
  339. package/elements/data-table/services/data-table-filter-utils.d.ts +0 -3
  340. package/elements/data-table/services/index.d.ts +0 -3
  341. package/elements/data-table/services/remote-data-table.service.d.ts +0 -11
  342. package/elements/data-table/services/static-data-table.service.d.ts +0 -15
  343. package/elements/data-table/sort-filter/index.d.ts +0 -3
  344. package/elements/data-table/sort-filter/sort-button.animations.d.ts +0 -5
  345. package/elements/data-table/sort-filter/sort-button.component.d.ts +0 -21
  346. package/elements/data-table/sort-filter/sort-direction.d.ts +0 -5
  347. package/elements/data-table/sort-filter/sort-filter.directive.d.ts +0 -11
  348. package/elements/data-table/state/data-table-state.service.d.ts +0 -52
  349. package/elements/data-table/state/index.d.ts +0 -1
  350. package/elements/date-picker/DatePicker.d.ts +0 -113
  351. package/elements/date-picker/DatePicker.module.d.ts +0 -19
  352. package/elements/date-picker/DatePickerInput.d.ts +0 -146
  353. package/elements/date-picker/DateRangeInput.d.ts +0 -77
  354. package/elements/date-picker/MultiDateInput.d.ts +0 -67
  355. package/elements/date-time-picker/DateTimePicker.d.ts +0 -51
  356. package/elements/date-time-picker/DateTimePicker.module.d.ts +0 -14
  357. package/elements/date-time-picker/DateTimePickerInput.d.ts +0 -50
  358. package/elements/divider/divider.component.d.ts +0 -16
  359. package/elements/divider/divider.module.d.ts +0 -7
  360. package/elements/drag-drop/drag-drop-box.d.ts +0 -65
  361. package/elements/drag-drop/drag-drop.module.d.ts +0 -7
  362. package/elements/dropdown/Dropdown.d.ts +0 -108
  363. package/elements/dropdown/Dropdown.module.d.ts +0 -8
  364. package/elements/expansion/accordion.d.ts +0 -24
  365. package/elements/expansion/expansion-animations.d.ts +0 -9
  366. package/elements/expansion/expansion-panel-content.d.ts +0 -12
  367. package/elements/expansion/expansion-panel-header.d.ts +0 -52
  368. package/elements/expansion/expansion-panel.d.ts +0 -57
  369. package/elements/expansion/expansion.module.d.ts +0 -13
  370. package/elements/field/error/error.d.ts +0 -10
  371. package/elements/field/error/index.d.ts +0 -1
  372. package/elements/field/field-control.d.ts +0 -54
  373. package/elements/field/field.d.ts +0 -59
  374. package/elements/field/field.module.d.ts +0 -20
  375. package/elements/field/fieldset.d.ts +0 -18
  376. package/elements/field/formats/base-format.d.ts +0 -13
  377. package/elements/field/formats/date-format.d.ts +0 -26
  378. package/elements/field/formats/date-range-format.d.ts +0 -36
  379. package/elements/field/formats/date-time-format.d.ts +0 -35
  380. package/elements/field/formats/time-format.d.ts +0 -38
  381. package/elements/field/hint/hint.d.ts +0 -11
  382. package/elements/field/hint/index.d.ts +0 -1
  383. package/elements/field/input.d.ts +0 -165
  384. package/elements/field/picker.directive.d.ts +0 -22
  385. package/elements/field/toggle/picker-toggle.component.d.ts +0 -48
  386. package/elements/flex/Box.d.ts +0 -11
  387. package/elements/flex/Flex.d.ts +0 -17
  388. package/elements/flex/Flex.module.d.ts +0 -10
  389. package/elements/flex/Grid.d.ts +0 -14
  390. package/elements/form/Control.d.ts +0 -116
  391. package/elements/form/ControlGroup.d.ts +0 -111
  392. package/elements/form/ControlTemplates.d.ts +0 -12
  393. package/elements/form/DynamicForm.d.ts +0 -54
  394. package/elements/form/FieldInteractionApi.d.ts +0 -177
  395. package/elements/form/FieldInteractionApiTypes.d.ts +0 -29
  396. package/elements/form/FieldInteractionModals.d.ts +0 -21
  397. package/elements/form/Form.d.ts +0 -24
  398. package/elements/form/Form.module.d.ts +0 -39
  399. package/elements/form/FormControls.d.ts +0 -24
  400. package/elements/form/FormInterfaces.d.ts +0 -29
  401. package/elements/form/FormValidators.d.ts +0 -22
  402. package/elements/form/NovoFormControl.d.ts +0 -112
  403. package/elements/form/NovoFormGroup.d.ts +0 -19
  404. package/elements/form/controls/BaseControl.d.ts +0 -119
  405. package/elements/form/controls/ControlFactory.d.ts +0 -4
  406. package/elements/form/controls/ace-editor/AceEditorControl.d.ts +0 -5
  407. package/elements/form/controls/ace-editor/index.d.ts +0 -1
  408. package/elements/form/controls/address/AddressControl.d.ts +0 -5
  409. package/elements/form/controls/address/index.d.ts +0 -1
  410. package/elements/form/controls/check-list/CheckListControl.d.ts +0 -5
  411. package/elements/form/controls/check-list/index.d.ts +0 -1
  412. package/elements/form/controls/checkbox/CheckboxControl.d.ts +0 -5
  413. package/elements/form/controls/checkbox/index.d.ts +0 -1
  414. package/elements/form/controls/code-editor/CodeEditorControl.d.ts +0 -5
  415. package/elements/form/controls/code-editor/index.d.ts +0 -1
  416. package/elements/form/controls/custom/CustomControl.d.ts +0 -5
  417. package/elements/form/controls/custom/index.d.ts +0 -1
  418. package/elements/form/controls/date/DateControl.d.ts +0 -5
  419. package/elements/form/controls/date/index.d.ts +0 -1
  420. package/elements/form/controls/date-time/DateTimeControl.d.ts +0 -5
  421. package/elements/form/controls/date-time/index.d.ts +0 -1
  422. package/elements/form/controls/editor/EditorControl.d.ts +0 -6
  423. package/elements/form/controls/editor/index.d.ts +0 -1
  424. package/elements/form/controls/file/FileControl.d.ts +0 -5
  425. package/elements/form/controls/file/index.d.ts +0 -1
  426. package/elements/form/controls/grouped/GroupedControl.d.ts +0 -6
  427. package/elements/form/controls/grouped/index.d.ts +0 -1
  428. package/elements/form/controls/index.d.ts +0 -24
  429. package/elements/form/controls/native-select/NativeSelectControl.d.ts +0 -6
  430. package/elements/form/controls/native-select/index.d.ts +0 -1
  431. package/elements/form/controls/picker/PickerControl.d.ts +0 -9
  432. package/elements/form/controls/picker/index.d.ts +0 -1
  433. package/elements/form/controls/quick-note/QuickNoteControl.d.ts +0 -6
  434. package/elements/form/controls/quick-note/index.d.ts +0 -1
  435. package/elements/form/controls/radio/RadioControl.d.ts +0 -6
  436. package/elements/form/controls/radio/index.d.ts +0 -1
  437. package/elements/form/controls/read-only/ReadOnlyControl.d.ts +0 -5
  438. package/elements/form/controls/read-only/index.d.ts +0 -1
  439. package/elements/form/controls/select/SelectControl.d.ts +0 -6
  440. package/elements/form/controls/select/index.d.ts +0 -1
  441. package/elements/form/controls/switch/SwitchControl.d.ts +0 -5
  442. package/elements/form/controls/switch/index.d.ts +0 -1
  443. package/elements/form/controls/text-area/TextAreaControl.d.ts +0 -5
  444. package/elements/form/controls/text-area/index.d.ts +0 -1
  445. package/elements/form/controls/textbox/TextBoxControl.d.ts +0 -9
  446. package/elements/form/controls/textbox/index.d.ts +0 -1
  447. package/elements/form/controls/tiles/TilesControl.d.ts +0 -6
  448. package/elements/form/controls/tiles/index.d.ts +0 -1
  449. package/elements/form/controls/time/TimeControl.d.ts +0 -5
  450. package/elements/form/controls/time/index.d.ts +0 -1
  451. package/elements/form/controls/timezone/TimezoneControl.d.ts +0 -7
  452. package/elements/form/controls/timezone/index.d.ts +0 -1
  453. package/elements/form/extras/FormExtras.module.d.ts +0 -21
  454. package/elements/form/extras/address/Address.d.ts +0 -70
  455. package/elements/form/extras/address/index.d.ts +0 -1
  456. package/elements/form/extras/file/FileInput.d.ts +0 -134
  457. package/elements/form/extras/file/extras/file/File.d.ts +0 -22
  458. package/elements/form/extras/file/extras/file/index.d.ts +0 -1
  459. package/elements/form/extras/file/extras/index.d.ts +0 -1
  460. package/elements/form/extras/file/index.d.ts +0 -2
  461. package/elements/form/extras/index.d.ts +0 -4
  462. package/elements/form/extras/number-range/index.d.ts +0 -1
  463. package/elements/form/extras/number-range/number-range.component.d.ts +0 -27
  464. package/elements/form/utils/FormUtils.d.ts +0 -79
  465. package/elements/form/utils/index.d.ts +0 -1
  466. package/elements/header/Header.d.ts +0 -38
  467. package/elements/header/Header.module.d.ts +0 -11
  468. package/elements/icon/Icon.d.ts +0 -27
  469. package/elements/icon/Icon.module.d.ts +0 -8
  470. package/elements/layout/container/layout-container.component.d.ts +0 -118
  471. package/elements/layout/content/layout-content.component.d.ts +0 -13
  472. package/elements/layout/layout.constants.d.ts +0 -19
  473. package/elements/layout/layout.module.d.ts +0 -11
  474. package/elements/layout/rail/rail.component.d.ts +0 -9
  475. package/elements/layout/sidenav/sidenav.animations.d.ts +0 -8
  476. package/elements/layout/sidenav/sidenav.component.d.ts +0 -147
  477. package/elements/list/List.d.ts +0 -47
  478. package/elements/list/List.module.d.ts +0 -10
  479. package/elements/loading/Loading.d.ts +0 -54
  480. package/elements/loading/Loading.module.d.ts +0 -8
  481. package/elements/menu/menu-content.component.d.ts +0 -45
  482. package/elements/menu/menu-item.directive.d.ts +0 -21
  483. package/elements/menu/menu.component.d.ts +0 -39
  484. package/elements/menu/menu.directive.d.ts +0 -29
  485. package/elements/menu/menu.module.d.ts +0 -17
  486. package/elements/menu/menu.service.d.ts +0 -60
  487. package/elements/menu/menu.tokens.d.ts +0 -3
  488. package/elements/menu/menu.types.d.ts +0 -8
  489. package/elements/modal/modal-container.component.d.ts +0 -20
  490. package/elements/modal/modal-ref.d.ts +0 -25
  491. package/elements/modal/modal.animation.d.ts +0 -1
  492. package/elements/modal/modal.component.d.ts +0 -21
  493. package/elements/modal/modal.module.d.ts +0 -12
  494. package/elements/modal/modal.service.d.ts +0 -19
  495. package/elements/multi-picker/MultiPicker.d.ts +0 -110
  496. package/elements/multi-picker/MultiPicker.module.d.ts +0 -11
  497. package/elements/non-ideal-state/NonIdealState.d.ts +0 -10
  498. package/elements/non-ideal-state/NonIdealState.module.d.ts +0 -10
  499. package/elements/picker/Picker.d.ts +0 -78
  500. package/elements/picker/Picker.module.d.ts +0 -22
  501. package/elements/picker/extras/base-picker-results/BasePickerResults.d.ts +0 -96
  502. package/elements/picker/extras/base-picker-results/index.d.ts +0 -1
  503. package/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.d.ts +0 -24
  504. package/elements/picker/extras/checklist-picker-results/index.d.ts +0 -1
  505. package/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.d.ts +0 -16
  506. package/elements/picker/extras/distributionlist-picker-results/index.d.ts +0 -1
  507. package/elements/picker/extras/entity-picker-results/EntityPickerResults.d.ts +0 -37
  508. package/elements/picker/extras/entity-picker-results/index.d.ts +0 -1
  509. package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.d.ts +0 -45
  510. package/elements/picker/extras/grouped-multi-picker-results/index.d.ts +0 -1
  511. package/elements/picker/extras/index.d.ts +0 -9
  512. package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.d.ts +0 -50
  513. package/elements/picker/extras/mixed-multi-picker-results/index.d.ts +0 -1
  514. package/elements/picker/extras/picker-results/PickerResults.d.ts +0 -14
  515. package/elements/picker/extras/picker-results/index.d.ts +0 -1
  516. package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.d.ts +0 -24
  517. package/elements/picker/extras/skills-picker-results/index.d.ts +0 -1
  518. package/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.d.ts +0 -13
  519. package/elements/picker/extras/workers-comp-codes-picker-results/index.d.ts +0 -1
  520. package/elements/places/places.component.d.ts +0 -85
  521. package/elements/places/places.module.d.ts +0 -10
  522. package/elements/places/places.service.d.ts +0 -25
  523. package/elements/popover/PopOver.d.ts +0 -37
  524. package/elements/popover/PopOver.module.d.ts +0 -9
  525. package/elements/popover/PopOverContent.d.ts +0 -49
  526. package/elements/progress/Progress.d.ts +0 -24
  527. package/elements/progress/Progress.module.d.ts +0 -9
  528. package/elements/progress/ProgressBar.d.ts +0 -45
  529. package/elements/progress/ProgressConstants.d.ts +0 -10
  530. package/elements/query-builder/condition-builder/condition-builder.component.d.ts +0 -94
  531. package/elements/query-builder/condition-definitions/abstract-condition.definition.d.ts +0 -35
  532. package/elements/query-builder/condition-definitions/address-condition.definition.d.ts +0 -45
  533. package/elements/query-builder/condition-definitions/boolean-condition.definition.d.ts +0 -14
  534. package/elements/query-builder/condition-definitions/date-condition.definition.d.ts +0 -19
  535. package/elements/query-builder/condition-definitions/date-time-condition.definition.d.ts +0 -19
  536. package/elements/query-builder/condition-definitions/id-condition.definition.d.ts +0 -11
  537. package/elements/query-builder/condition-definitions/number-condition.definition.d.ts +0 -14
  538. package/elements/query-builder/condition-definitions/picker-condition.definition.d.ts +0 -23
  539. package/elements/query-builder/condition-definitions/string-condition.definition.d.ts +0 -21
  540. package/elements/query-builder/condition-group/condition-group.component.d.ts +0 -37
  541. package/elements/query-builder/condition-templates/condition-templates.component.d.ts +0 -8
  542. package/elements/query-builder/criteria-builder/criteria-builder.component.d.ts +0 -54
  543. package/elements/query-builder/query-builder.directives.d.ts +0 -66
  544. package/elements/query-builder/query-builder.module.d.ts +0 -46
  545. package/elements/query-builder/query-builder.service.d.ts +0 -54
  546. package/elements/query-builder/query-builder.tokens.d.ts +0 -4
  547. package/elements/query-builder/query-builder.types.d.ts +0 -128
  548. package/elements/quick-note/QuickNote.d.ts +0 -142
  549. package/elements/quick-note/QuickNote.module.d.ts +0 -13
  550. package/elements/quick-note/extras/index.d.ts +0 -1
  551. package/elements/quick-note/extras/quick-note-results/QuickNoteResults.d.ts +0 -33
  552. package/elements/quick-note/extras/quick-note-results/index.d.ts +0 -1
  553. package/elements/radio/Radio.d.ts +0 -40
  554. package/elements/radio/Radio.module.d.ts +0 -10
  555. package/elements/radio/RadioGroup.d.ts +0 -91
  556. package/elements/radio/tokens.d.ts +0 -9
  557. package/elements/search/SearchBox.d.ts +0 -71
  558. package/elements/search/SearchBox.module.d.ts +0 -12
  559. package/elements/select/Select.d.ts +0 -216
  560. package/elements/select/Select.extupdatefix.directive.d.ts +0 -17
  561. package/elements/select/Select.module.d.ts +0 -17
  562. package/elements/select-search/select-search-clear.directive.d.ts +0 -12
  563. package/elements/select-search/select-search.component.d.ts +0 -239
  564. package/elements/select-search/select-search.module.d.ts +0 -17
  565. package/elements/simple-table/PaginationOld.d.ts +0 -42
  566. package/elements/simple-table/activity-table-renderers.d.ts +0 -4
  567. package/elements/simple-table/cell-header.d.ts +0 -67
  568. package/elements/simple-table/cell.d.ts +0 -100
  569. package/elements/simple-table/interfaces.d.ts +0 -81
  570. package/elements/simple-table/pagination.d.ts +0 -40
  571. package/elements/simple-table/row.d.ts +0 -29
  572. package/elements/simple-table/simple-table.module.d.ts +0 -26
  573. package/elements/simple-table/sort.d.ts +0 -25
  574. package/elements/simple-table/state.d.ts +0 -25
  575. package/elements/simple-table/table-source.d.ts +0 -62
  576. package/elements/simple-table/table.d.ts +0 -72
  577. package/elements/slider/Slider.d.ts +0 -21
  578. package/elements/slider/Slider.module.d.ts +0 -9
  579. package/elements/stepper/step-header.component.d.ts +0 -48
  580. package/elements/stepper/step-label.component.d.ts +0 -8
  581. package/elements/stepper/step-status.component.d.ts +0 -7
  582. package/elements/stepper/stepper-buttons.component.d.ts +0 -12
  583. package/elements/stepper/stepper.animations.d.ts +0 -6
  584. package/elements/stepper/stepper.component.d.ts +0 -44
  585. package/elements/stepper/stepper.module.d.ts +0 -17
  586. package/elements/switch/Switch.d.ts +0 -23
  587. package/elements/switch/Switch.module.d.ts +0 -10
  588. package/elements/tabbed-group-picker/TabbedGroupPicker.d.ts +0 -128
  589. package/elements/tabbed-group-picker/TabbedGroupPicker.module.d.ts +0 -17
  590. package/elements/tabs/Tabs.d.ts +0 -95
  591. package/elements/tabs/Tabs.module.d.ts +0 -8
  592. package/elements/tiles/Tiles.d.ts +0 -33
  593. package/elements/tiles/Tiles.module.d.ts +0 -10
  594. package/elements/time-picker/TimePicker.d.ts +0 -58
  595. package/elements/time-picker/TimePicker.module.d.ts +0 -14
  596. package/elements/time-picker/TimePickerInput.d.ts +0 -71
  597. package/elements/tip-well/TipWell.d.ts +0 -26
  598. package/elements/tip-well/TipWell.module.d.ts +0 -9
  599. package/elements/toast/Toast.d.ts +0 -37
  600. package/elements/toast/Toast.module.d.ts +0 -9
  601. package/elements/toast/ToastService.d.ts +0 -45
  602. package/elements/toolbar/toolbar.component.d.ts +0 -22
  603. package/elements/toolbar/toolbar.module.d.ts +0 -8
  604. package/elements/tooltip/Tooltip.component.d.ts +0 -16
  605. package/elements/tooltip/Tooltip.directive.d.ts +0 -44
  606. package/elements/tooltip/Tooltip.module.d.ts +0 -9
  607. package/elements/unless/Unless.d.ts +0 -16
  608. package/elements/unless/Unless.module.d.ts +0 -8
  609. package/elements/value/EntityList.d.ts +0 -16
  610. package/elements/value/Render.d.ts +0 -70
  611. package/elements/value/Value.d.ts +0 -46
  612. package/elements/value/Value.module.d.ts +0 -12
  613. package/novo-elements.module.d.ts +0 -11
  614. package/novo-elements.providers.d.ts +0 -12
  615. package/pipes/Pipes.module.d.ts +0 -15
  616. package/pipes/decode-uri/DecodeURI.d.ts +0 -8
  617. package/pipes/decode-uri/index.d.ts +0 -1
  618. package/pipes/default/Default.d.ts +0 -8
  619. package/pipes/default/index.d.ts +0 -1
  620. package/pipes/group-by/GroupBy.d.ts +0 -7
  621. package/pipes/group-by/index.d.ts +0 -1
  622. package/pipes/highlight/Highlight.d.ts +0 -9
  623. package/pipes/highlight/index.d.ts +0 -1
  624. package/pipes/iso8601/index.d.ts +0 -4
  625. package/pipes/iso8601/iso-date-range.pipe.d.ts +0 -10
  626. package/pipes/iso8601/iso-date.pipe.d.ts +0 -8
  627. package/pipes/iso8601/iso-time-range.pipe.d.ts +0 -10
  628. package/pipes/iso8601/iso-time.pipe.d.ts +0 -8
  629. package/pipes/plural/Plural.d.ts +0 -8
  630. package/pipes/plural/index.d.ts +0 -1
  631. package/services/component-utils/ComponentUtils.d.ts +0 -7
  632. package/services/component-utils/index.d.ts +0 -1
  633. package/services/data-provider/ArrayCollection.d.ts +0 -168
  634. package/services/data-provider/Collection.d.ts +0 -78
  635. package/services/data-provider/CollectionEvent.d.ts +0 -17
  636. package/services/data-provider/PagedArrayCollection.d.ts +0 -18
  637. package/services/data-provider/PagedCollection.d.ts +0 -15
  638. package/services/data-provider/index.d.ts +0 -5
  639. package/services/date-format/DateFormat.d.ts +0 -28
  640. package/services/date-format/index.d.ts +0 -1
  641. package/services/global/global.service.d.ts +0 -17
  642. package/services/global/index.d.ts +0 -1
  643. package/services/novo-label-service.d.ts +0 -202
  644. package/services/options/OptionsService.d.ts +0 -12
  645. package/services/options/index.d.ts +0 -1
  646. package/services/security/Security.d.ts +0 -23
  647. package/services/security/index.d.ts +0 -1
  648. package/services/storage/index.d.ts +0 -1
  649. package/services/storage/storage.service.d.ts +0 -8
  650. package/services/template/NovoTemplateService.d.ts +0 -10
  651. package/services/template/index.d.ts +0 -1
  652. package/utils/Helpers.d.ts +0 -188
  653. package/utils/app-bridge/AppBridge.d.ts +0 -178
  654. package/utils/app-bridge/index.d.ts +0 -2
  655. package/utils/app-bridge/interfaces.d.ts +0 -58
  656. package/utils/base-renderer/BaseRenderer.d.ts +0 -9
  657. package/utils/base-renderer/index.d.ts +0 -1
  658. package/utils/calendar-utils/CalendarUtils.d.ts +0 -151
  659. package/utils/calendar-utils/index.d.ts +0 -1
  660. package/utils/color-utils/ColorUtils.d.ts +0 -40
  661. package/utils/color-utils/index.d.ts +0 -1
  662. package/utils/countries/Countries.d.ts +0 -47
  663. package/utils/countries/index.d.ts +0 -1
  664. package/utils/date/Date.d.ts +0 -50
  665. package/utils/date/Date.types.d.ts +0 -71
  666. package/utils/date/convert-tokens.d.ts +0 -5
  667. package/utils/date/index.d.ts +0 -5
  668. package/utils/date/legacy-parse.d.ts +0 -15
  669. package/utils/date/timezone-support.d.ts +0 -5
  670. package/utils/decorators/BooleanInput.d.ts +0 -1
  671. package/utils/decorators/index.d.ts +0 -1
  672. package/utils/deferred/Deferred.d.ts +0 -8
  673. package/utils/deferred/index.d.ts +0 -1
  674. package/utils/key-codes/Key.d.ts +0 -669
  675. package/utils/key-codes/KeyCodes.d.ts +0 -93
  676. package/utils/key-codes/index.d.ts +0 -2
  677. package/utils/notifier/index.d.ts +0 -1
  678. package/utils/notifier/notifier.util.d.ts +0 -1
  679. package/utils/outside-click/OutsideClick.d.ts +0 -27
  680. package/utils/outside-click/index.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-picker.mjs","sources":["../../../projects/novo-elements/src/elements/picker/extras/base-picker-results/BasePickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/entity-picker-results/EntityPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/picker-results/PickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.ts","../../../projects/novo-elements/src/elements/picker/Picker.ts","../../../projects/novo-elements/src/elements/picker/Picker.module.ts","../../../projects/novo-elements/src/elements/picker/novo-elements-elements-picker.ts"],"sourcesContent":["// NG2\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, Directive, ElementRef, Input } from '@angular/core';\n// Vendor\nimport { from, Observable } from 'rxjs';\n// APP\nimport { Helpers } from 'novo-elements/utils';\n\n/**\n * @description This is the actual list of matches that gets injected into the DOM. It's also the piece that can be\n * overwritten if custom list options are needed.\n */\n@Directive()\nexport class BasePickerResults {\n _term: string = '';\n selected: Array<any> = [];\n hasError: boolean = false;\n isLoading: boolean = false;\n isStatic: boolean = true;\n _config: any;\n activeMatch: any;\n parent: any;\n element: ElementRef;\n ref: ChangeDetectorRef;\n page: number = 0;\n lastPage: boolean = false;\n autoSelectFirstOption: boolean = true;\n overlay: OverlayRef;\n optionsFunctionHasChanged: boolean = false;\n private selectingMatches: boolean = false;\n private scrollHandler: any;\n _matches: Array<any> = [];\n customTextValue: any = null;\n\n @Input()\n set matches(m: Array<any>) {\n this._matches = m;\n }\n\n get matches() {\n return this.customTextValue ? [...this._matches, this.customTextValue] : this._matches;\n }\n\n constructor(element: ElementRef, ref: ChangeDetectorRef) {\n this.element = element;\n this.ref = ref;\n this.scrollHandler = this.onScrollDown.bind(this);\n }\n\n cleanUp(): void {\n const element: Element = this.getListElement();\n if (element && element.hasAttribute('scrollListener')) {\n element.removeAttribute('scrollListener');\n element.removeEventListener('scroll', this.scrollHandler);\n }\n }\n\n onScrollDown(event: WheelEvent) {\n const element: any = event.target;\n if (element) {\n const offset = element.offsetHeight + element.scrollTop;\n const bottom = element.scrollHeight - 300;\n if (offset >= bottom) {\n event.stopPropagation();\n if (!this.lastPage && !this.isLoading) {\n this.processSearch();\n }\n }\n }\n }\n\n @Input()\n set term(value) {\n if (this.shouldSearch(value)) {\n this._term = value;\n this.page = 0;\n this.optionsFunctionHasChanged = false;\n this.matches = [];\n this.processSearch(true);\n } else {\n this.addScrollListener();\n }\n }\n\n get term() {\n return this._term;\n }\n\n set config(value: any) {\n if (this.config && this.config.options !== value.options) {\n this.optionsFunctionHasChanged = true; // reset page so that new options call is used to search\n }\n this._config = value;\n }\n\n get config(): any {\n return this._config;\n }\n\n shouldSearch(value: unknown): boolean {\n const termHasChanged = value !== this._term;\n const optionsNotYetCalled = this.page === 0;\n\n return termHasChanged || optionsNotYetCalled || this.optionsFunctionHasChanged;\n }\n\n addScrollListener(): void {\n if (this.config.enableInfiniteScroll) {\n const element: Element = this.getListElement();\n if (element && !element.hasAttribute('scrollListener')) {\n element.setAttribute('scrollListener', 'true');\n element.addEventListener('scroll', this.scrollHandler);\n }\n }\n }\n\n processSearch(shouldReset?: boolean) {\n this.hasError = false;\n this.isLoading = true;\n this.ref.markForCheck();\n this.search(this.term).subscribe(\n (results: any) => {\n if (shouldReset) {\n this.matches = [];\n }\n if (this.isStatic) {\n this.matches = this.filterData(results);\n } else {\n this.matches = this.matches.concat(results);\n this.lastPage = results && !results.length;\n }\n if (this.matches.length > 0 && this.autoSelectFirstOption && !this.selectingMatches) {\n this.nextActiveMatch();\n }\n this.isLoading = false;\n this.ref.markForCheck();\n setTimeout(() => {\n this.overlay.updatePosition();\n this.addScrollListener();\n });\n },\n (err) => {\n this.hasError = this.term && this.term.length !== 0;\n this.isLoading = false;\n this.lastPage = true;\n if (this.term && this.term.length !== 0) {\n console.error(err);\n }\n this.ref.markForCheck();\n },\n );\n }\n\n search(term, mode?): Observable<any> {\n const options = this.config.options;\n return from(\n new Promise((resolve, reject) => {\n // Check if there is match data\n if (options) {\n // Resolve the data\n if (Array.isArray(options)) {\n this.isStatic = true;\n // Arrays are returned immediately\n resolve(this.structureArray(options));\n } else if (this.shouldCallOptionsFunction(term)) {\n if (\n (options.hasOwnProperty('reject') && options.hasOwnProperty('resolve')) ||\n Object.getPrototypeOf(options).hasOwnProperty('then')\n ) {\n this.isStatic = false;\n // Promises (ES6 or Deferred) are resolved whenever they resolve\n options.then(this.structureArray.bind(this)).then(resolve, reject);\n } else if (typeof options === 'function') {\n this.isStatic = false;\n // Promises (ES6 or Deferred) are resolved whenever they resolve\n options(term, ++this.page)\n .then(this.structureArray.bind(this))\n .then(resolve, reject);\n } else {\n // All other kinds of data are rejected\n reject('The data provided is not an array or a promise');\n throw new Error('The data provided is not an array or a promise');\n }\n } else {\n if (this.config.defaultOptions) {\n this.isStatic = false;\n if (typeof this.config.defaultOptions === 'function') {\n const defaultOptions = this.config.defaultOptions(term, ++this.page);\n if (Object.getPrototypeOf(defaultOptions).hasOwnProperty('then')) {\n defaultOptions.then(this.structureArray.bind(this)).then(resolve, reject);\n } else {\n resolve(this.structureArray(defaultOptions));\n }\n } else {\n resolve(this.structureArray(this.config.defaultOptions));\n }\n } else {\n // No search term gets rejected\n reject('No search term');\n }\n }\n } else {\n // No data gets rejected\n reject('error');\n }\n }),\n );\n }\n\n shouldCallOptionsFunction(term: string): boolean {\n if (this.config && 'minSearchLength' in this.config && Number.isInteger(this.config.minSearchLength)) {\n return typeof term === 'string' && term.length >= this.config.minSearchLength;\n } else {\n return !!(term && term.length);\n }\n }\n\n /**\n * @param collection - the data once getData resolves it\n *\n * @description This function structures an array of nodes into an array of objects with a\n * 'name' field by default.\n */\n structureArray(collection: any): any {\n const dataArray = collection.data ? collection.data : collection;\n if (dataArray && (typeof dataArray[0] === 'string' || typeof dataArray[0] === 'number')) {\n return collection.map((item) => {\n return {\n value: item,\n label: item,\n };\n });\n }\n return dataArray.map((data) => {\n let value = this.config.field ? data[this.config.field] : data.value || data;\n if (this.config.valueFormat) {\n value = Helpers.interpolate(this.config.valueFormat, data);\n }\n const label = this.config.format ? Helpers.interpolate(this.config.format, data) : data.label || String(value);\n return { value, label, data };\n });\n }\n\n /**\n * @param matches - Collection of objects=\n *\n * @description This function loops through the picker options and creates a filtered list of objects that contain\n * the newSearch.\n */\n filterData(matches): Array<any> {\n if (this.term && matches) {\n return matches.filter((match) => {\n return ~String(match.label).toLowerCase().indexOf(this.term.toLowerCase());\n });\n }\n // Show no recent results template\n return matches;\n }\n\n /**\n * @description This function is called when the user presses the enter key to call the selectMatch method.\n */\n selectActiveMatch() {\n this.selectMatch();\n }\n\n /**\n * @description This function sets activeMatch to the match before the current node.\n */\n prevActiveMatch() {\n const index = this.matches.indexOf(this.activeMatch);\n this.activeMatch = this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1];\n this.scrollToActive();\n this.ref.markForCheck();\n }\n\n /**\n * @description This function sets activeMatch to the match after the current node.\n */\n nextActiveMatch() {\n const index = this.matches.indexOf(this.activeMatch);\n this.activeMatch = this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1];\n this.scrollToActive();\n this.ref.markForCheck();\n }\n\n getListElement() {\n return this.element.nativeElement;\n }\n\n getChildrenOfListElement() {\n let children = [];\n if (this.getListElement()) {\n children = this.getListElement().children;\n }\n return children;\n }\n\n scrollToActive() {\n const list = this.getListElement();\n const items = this.getChildrenOfListElement();\n const index = this.matches.indexOf(this.activeMatch);\n const item = items[index];\n if (item) {\n list.scrollTop = item.offsetTop;\n }\n }\n\n /**\n * @description\n */\n selectActive(match) {\n this.activeMatch = match;\n }\n\n /**\n * @description\n */\n isActive(match) {\n return this.activeMatch === match;\n }\n\n /**\n * @description\n */\n selectMatch(event?: any, item?: any) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n const selected = this.activeMatch;\n if (selected && this.parent) {\n this.parent.value = selected;\n this.selectingMatches = true;\n if (this.parent.closeOnSelect) {\n this.parent.hideResults();\n }\n this.selectingMatches = false;\n }\n this.ref.markForCheck();\n return false;\n }\n\n /**\n * @description This function captures the whole query string and replace it with the string that will be used to\n * match.\n */\n escapeRegexp(queryToEscape) {\n // Ex: if the capture is \"a\" the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n }\n\n /**\n * @deprecated use highlight pipe\n */\n highlight(match, query) {\n // Replaces the capture string with a the same string inside of a \"strong\" tag\n return query ? match.replace(new RegExp(this.escapeRegexp(query.trim()), 'gi'), '<strong>$&</strong>') : match;\n }\n\n preselected(match) {\n let selected = this.selected;\n if (this.config && this.config.selected) {\n selected = [...this.selected, ...this.config.selected];\n }\n if (this.config && this.config.preselected) {\n const preselectedFunc: Function = this.config.preselected;\n return (\n selected.findIndex((item) => {\n return preselectedFunc(match, item);\n }) !== -1\n );\n }\n return (\n selected.findIndex((item) => {\n let isPreselected = false;\n if (item && item.value && match && match.value) {\n if (item.value.id && match.value.id) {\n isPreselected = item.value.id === match.value.id;\n } else if (item.value instanceof Object && item.value.hasOwnProperty('value')) {\n isPreselected = item.value.value === match.value;\n } else {\n isPreselected = item.value === match.value;\n }\n }\n return isPreselected;\n }) !== -1\n );\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\n// Vendor\nimport { from, Observable } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\n// APP\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n/**\n * @description This is the actual list of matches that gets injected into the DOM.\n */\n@Component({\n selector: 'checklist-picker-results',\n host: {\n class: 'active picker-results',\n },\n template: `\n <novo-loading theme=\"line\" *ngIf=\"isLoading && !matches.length\"></novo-loading>\n <ul *ngIf=\"matches.length > 0\">\n <span *ngFor=\"let section of matches; let i = index\">\n <li class=\"header caption\" *ngIf=\"section.data.length > 0\">{{ section.label || section.type }}</li>\n <li\n *ngFor=\"let match of section.data; let i = index\"\n [ngClass]=\"{ checked: match.checked }\"\n (click)=\"selectMatch($event, match)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n >\n <label>\n <i\n [ngClass]=\"{\n 'bhi-checkbox-empty': !match.checked,\n 'bhi-checkbox-filled': match.checked,\n 'bhi-checkbox-indeterminate': match.indeterminate\n }\"\n ></i>\n {{ match.label }}\n </label>\n </li>\n </span>\n </ul>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null-results\" *ngIf=\"!isLoading && !matches.length && !hasError && term !== ''\">{{ labels.pickerEmpty }}</p>\n `,\n standalone: false,\n})\nexport class ChecklistPickerResults extends BasePickerResults {\n filteredMatches: any;\n\n constructor(element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n search(): Observable<any> {\n const options = this.config.options;\n // only set this the first time\n return from(\n new Promise((resolve, reject) => {\n // Check if there is match data\n if (options) {\n // Resolve the data\n if (Array.isArray(options)) {\n this.isStatic = true;\n // Arrays are returned immediately\n resolve(options);\n } else {\n // All other kinds of data are rejected\n reject('The data provided is not an array or a promise');\n throw new Error('The data provided is not an array or a promise');\n }\n } else {\n // No data gets rejected\n reject('error');\n }\n }),\n );\n }\n\n /**\n * @param matches - Collection of objects=\n *\n * @description This function loops through the picker options and creates a filtered list of objects that contain\n * the newSearch.\n */\n filterData(matches): any {\n if (this.term && matches) {\n this.filteredMatches = matches.map((section) => {\n const items = section.originalData.filter((match) => {\n return ~String(match.label).toLowerCase().indexOf(this.term.toLowerCase());\n });\n section.data = items;\n return section;\n }, this);\n return this.filteredMatches;\n } else if (this.term === '') {\n matches.forEach((section) => {\n section.data = section.originalData;\n });\n return matches;\n }\n // Show no recent results template\n return matches;\n }\n\n selectMatch(event, item) {\n Helpers.swallowEvent(event);\n if (item.indeterminate) {\n item.indeterminate = false;\n item.checked = true;\n } else {\n item.checked = !item.checked;\n }\n\n const selected = this.activeMatch;\n if (selected) {\n this.parent.value = selected;\n }\n this.ref.markForCheck();\n return false;\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, HostBinding } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NovoLabelService } from 'novo-elements/services';\n// Vendor\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'distribution-list-picker-results',\n template: `\n <section class=\"picker-loading\" *ngIf=\"isLoading && !matches?.length\">\n <novo-loading theme=\"line\"></novo-loading>\n </section>\n <novo-list direction=\"vertical\" *ngIf=\"matches?.length > 0 && !hasError\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n <item-header>\n <item-title>\n <span [innerHtml]=\"sanitizeHTML(match.label)\"></span>\n </item-title>\n </item-header>\n <item-content direction=\"horizontal\">\n <p>\n <span class=\"label\">{{ labels.distributionListOwner }}: </span><span>{{ match?.data?.owner?.name }}</span>\n </p>\n <p>\n <span class=\"label\">{{ labels.dateAdded }}: </span\n ><span>{{ labels.formatDateWithFormat(match?.data?.dateAdded, { year: 'numeric', month: 'numeric', day: 'numeric' }) }}</span>\n </p>\n </item-content>\n </novo-list-item>\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches?.length > 0\"></novo-loading>\n </novo-list>\n `,\n standalone: false,\n})\nexport class DistributionListPickerResults extends BasePickerResults {\n @HostBinding('class.active')\n active: boolean = true;\n @HostBinding('hidden')\n get isHidden(): boolean {\n return this.matches.length === 0;\n }\n\n constructor(element: ElementRef, private sanitizer: DomSanitizer, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n this.sanitizer = sanitizer;\n }\n\n getListElement(): any {\n return this.element.nativeElement.querySelector('novo-list');\n }\n\n sanitizeHTML(html: any): any {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'entity-picker-result',\n template: `\n <novo-list-item *ngIf=\"match.data\" (click)=\"select.next(match.data)\">\n <novo-item-header>\n <novo-item-avatar [icon]=\"getIconForResult(match.data)\"></novo-item-avatar>\n <novo-item-title> <span [innerHtml]=\"getNameForResult(match.data) | highlight:term\"></span> </novo-item-title>\n </novo-item-header>\n <novo-item-content direction=\"horizontal\">\n <!-- COMPANY 1 -->\n <novo-text smaller class=\"company\" *ngIf=\"match.data.companyName || match.data?.clientCorporation?.name\">\n <i class=\"bhi-company company\"></i>\n <span [innerHtml]=\"match.data.companyName || match.data?.clientCorporation?.name | highlight:term\"></span>\n </novo-text>\n <!-- CLIENT CONTACT -->\n <novo-text smaller class=\"contact\" *ngIf=\"match.data?.clientContact?.firstName\">\n <i class=\"bhi-person contact person\"></i>\n <span [innerHtml]=\"match.data.clientContact.firstName + ' ' + match.data.clientContact.lastName | highlight:term\"></span>\n </novo-text>\n <!-- CANDIDATE -->\n <novo-text smaller class=\"candidate\" *ngIf=\"match.data.candidate && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-candidate candidate\"></i>\n <span [innerHtml]=\"match.data.candidate.firstName + ' ' + match.data.candidate.lastName | highlight:term\"></span>\n </novo-text>\n <!-- START & END DATE -->\n <novo-text smaller class=\"start-date\" *ngIf=\"match.data.dateBegin && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-calendar\"></i>\n <span [innerHtml]=\"renderTimestamp(match.data.dateBegin) + ' - ' + renderTimestamp(match.data.dateEnd)\"></span>\n </novo-text>\n <!-- START Date -->\n <novo-text smaller class=\"start-date\" *ngIf=\"match.data.startTime && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-calendar\"></i>\n <span [innerHtml]=\"renderTimestamp(match.data.startTime)\"></span>\n </novo-text>\n <!-- START & END TIME -->\n <novo-text smaller class=\"start-time\" *ngIf=\"match.data.startTime && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-clock\"></i>\n <span [innerHtml]=\"renderTimeNoOffset(match.data.startTime) + ' - ' + renderTimeNoOffset(match.data.endTime)\"></span>\n </novo-text>\n <!-- JOBORDER -->\n <novo-text smaller class=\"job\" *ngIf=\"match.data.jobOrder && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-job job\"></i>\n <span [innerHtml]=\"match.data.jobOrder.title | highlight:term\"></span>\n </novo-text>\n <!-- OPENINGS -->\n <novo-text smaller class=\"openings\" *ngIf=\"match.data.openings && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-candidate\"></i>\n <span>{{ match.data.numAssigned }} / {{ match.data.openings }}</span>\n </novo-text>\n <!-- EMAIL -->\n <novo-text smaller class=\"email\" *ngIf=\"match.data.email\">\n <i class=\"bhi-email\"></i> <span [innerHtml]=\"match.data.email | highlight:term\"></span>\n </novo-text>\n <!-- PHONE -->\n <novo-text smaller class=\"phone\" *ngIf=\"match.data.phone\">\n <i class=\"bhi-phone\"></i> <span [innerHtml]=\"match.data.phone | highlight:term\"></span>\n </novo-text>\n <!-- ADDRESS -->\n <novo-text smaller class=\"location\" *ngIf=\"match.data.address && (match.data.address.city || match.data.address.state)\">\n <i class=\"bhi-location\"></i> <span *ngIf=\"match.data.address.city\" [innerHtml]=\"highlight(match.data.address.city, term)\"></span>\n <span *ngIf=\"match.data.address.city && match.data.address.state\">, </span>\n <span *ngIf=\"match.data.address.state\" [innerHtml]=\"match.data.address.state | highlight:term\"></span>\n </novo-text>\n <!-- STATUS -->\n <novo-text smaller class=\"status\" *ngIf=\"match.data.status\">\n <i class=\"bhi-info\"></i> <span [innerHtml]=\"match.data.status | highlight:term\"></span>\n </novo-text>\n <!-- OWNER -->\n <novo-text smaller class=\"owner\" *ngIf=\"match.data.owner && match.data.owner.name && match.data.searchEntity === 'Candidate'\">\n <i class=\"bhi-person\"></i> <span [innerHtml]=\"match.data.owner.name | highlight:term\"></span>\n </novo-text>\n <!-- PRIMARY DEPARTMENT -->\n <novo-text\n smaller\n class=\"primary-department\"\n *ngIf=\"match.data.primaryDepartment && match.data.primaryDepartment.name && match.data.searchEntity === 'CorporateUser'\"\n >\n <i class=\"bhi-department\"></i> <span [innerHtml]=\"match.data.primaryDepartment.name | highlight:term\"></span>\n </novo-text>\n <!-- OCCUPATION -->\n <novo-text smaller class=\"occupation\" *ngIf=\"match.data.occupation && match.data.searchEntity === 'CorporateUser'\">\n <i class=\"bhi-occupation\"></i> <span [innerHtml]=\"match.data.occupation | highlight:term\"></span>\n </novo-text>\n </novo-item-content>\n </novo-list-item>\n `,\n styleUrls: ['../picker-results/PickerResult.scss'],\n standalone: false,\n})\nexport class EntityPickerResult {\n @Input() match: any;\n @Input() term: any;\n @Output() select: EventEmitter<any> = new EventEmitter();\n\n constructor(public labels: NovoLabelService) {}\n\n /**\n * @description This function captures the whole query string and replace it with the string that will be used to\n * match.\n */\n escapeRegexp(queryToEscape) {\n // Ex: if the capture is \"a\" the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n }\n\n /**\n * @deprecated use highlight pipe\n */\n highlight(match, query) {\n // Replaces the capture string with a the same string inside of a \"strong\" tag\n return query && match ? match.replace(new RegExp(this.escapeRegexp(query.trim()), 'gi'), '<strong>$&</strong>') : match;\n }\n\n getIconForResult(result?: any): string {\n if (result) {\n switch (result.searchEntity) {\n case 'ClientContact':\n return 'person contact';\n case 'ClientCorporation':\n return 'company';\n case 'Opportunity':\n return 'opportunity';\n case 'Candidate':\n return 'candidate';\n case 'Lead':\n return 'lead';\n case 'JobOrder':\n return 'job';\n case 'Placement':\n return 'star placement';\n case 'CorporateUser':\n return 'user';\n case 'CorporationDepartment':\n return 'department';\n case 'JobShift':\n return 'timetable contract';\n default:\n return '';\n }\n }\n return '';\n }\n\n renderTimestamp(date?: any) {\n let timestamp = '';\n if (date) {\n timestamp = this.labels.formatDateWithFormat(date, { year: 'numeric', month: 'numeric', day: 'numeric' });\n }\n return timestamp;\n }\n\n renderTime(dateStr?: string) {\n let timestamp = '';\n if (dateStr) {\n timestamp = this.labels.formatTime(new Date(dateStr));\n }\n return timestamp;\n }\n\n renderTimeNoOffset(dateStr?: string) {\n let timestamp = '';\n if (dateStr) {\n dateStr = dateStr.slice(0, 19);\n timestamp = this.labels.formatTime(dateStr);\n }\n return timestamp;\n }\n\n getNameForResult(result?: any) {\n if (result) {\n switch (result.searchEntity) {\n case 'Lead':\n case 'CorporateUser':\n case 'ClientContact':\n case 'Candidate':\n case 'Person':\n if ('firstName' in result) {\n return `${result.firstName} ${result.lastName}`.trim();\n }\n return `${result.name || ''}`.trim();\n case 'ClientCorporation':\n return `${result.name || ''}`.trim();\n case 'Opportunity':\n case 'JobOrder':\n case 'BillingProfile':\n case 'InvoiceTerm':\n return `${result.id} | ${result.title || ''}`.trim();\n case 'Placement':\n let label = `${result.id}`;\n if (result.candidate || result.jobOrder) {\n if (result.candidate && result.jobOrder) {\n label = `${label} | ${result.candidate.firstName} ${result.candidate.lastName} - ${result.jobOrder.title}`.trim();\n } else if (result.jobOrder) {\n label = `${label} | ${result.jobOrder.title}`.trim();\n } else {\n label = `${label} | ${result.candidate.firstName} ${result.candidate.lastName}`.trim();\n }\n }\n return label;\n case 'JobShift':\n return `${result.jobOrder?.title} @ ${result.jobOrder?.clientCorporation?.name || ''}`.trim();\n default:\n return `${result.name || result.label || ''}`.trim();\n }\n }\n return '';\n }\n}\n\n@Component({\n selector: 'entity-picker-results',\n template: `\n <novo-list *ngIf=\"matches.length > 0\" direction=\"vertical\">\n <entity-picker-result\n *ngFor=\"let match of matches\"\n [match]=\"match\"\n [term]=\"term\"\n [ngClass]=\"{ active: match === activeMatch }\"\n (click)=\"selectMatch($event, match)\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n </entity-picker-result>\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches.length > 0\"></novo-loading>\n </novo-list>\n <div class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</div>\n <div class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage && term !== ''\">{{ labels.pickerEmpty }}</div>\n <div class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage && term === ''\">{{ labels.pickerTextFieldEmpty }}</div>\n `,\n styleUrls: ['../picker-results/PickerResults.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'novo-entity-picker-results',\n },\n standalone: false,\n})\nexport class EntityPickerResults extends BasePickerResults {\n @Output() select: EventEmitter<any> = new EventEmitter();\n\n constructor(element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n get hasNonErrorMessage() {\n return !this.isLoading && !this.matches.length && !this.hasError;\n }\n\n getListElement() {\n return this.element.nativeElement.querySelector('novo-list');\n }\n\n selectMatch(event?: any, item?: any) {\n this.select.next(item);\n return super.selectMatch(event, item);\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, OnDestroy, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoListElement } from 'novo-elements/elements/list';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'grouped-multi-picker-results',\n template: `\n <div class=\"grouped-multi-picker-groups\">\n <novo-list direction=\"vertical\">\n <novo-list-item\n *ngIf=\"config.displayAll\"\n (click)=\"selectCategory({ value: 'all', label: 'all' })\"\n [class.active]=\"selectedCategory?.value === 'all'\"\n data-automation-id=\"display-all\"\n [class.disabled]=\"isLoading\"\n >\n <item-content>\n <span data-automation-id=\"label\">{{ labels.all }}</span>\n </item-content>\n <item-end>\n <i class=\"bhi-next\"></i>\n </item-end>\n </novo-list-item>\n <novo-list-item\n *ngFor=\"let category of categories\"\n (click)=\"selectCategory(category)\"\n [class.active]=\"selectedCategory?.value === category.value\"\n [attr.data-automation-id]=\"category.label\"\n [class.disabled]=\"isLoading\"\n >\n <item-content>\n <i *ngIf=\"category.iconClass\" [class]=\"category.iconClass\"></i>\n <span data-automation-id=\"label\">{{ category.label }}</span>\n </item-content>\n <item-end>\n <i class=\"bhi-next\"></i>\n </item-end>\n </novo-list-item>\n </novo-list>\n <footer\n class=\"grouped-multi-picker-groups-footer\"\n *ngIf=\"customFilterEnabled\"\n data-automation-id=\"footer\"\n [class.disabled]=\"isLoading\"\n >\n <novo-switch [(ngModel)]=\"customFilterValue\" (onChange)=\"fireCustomFilter($event)\" data-automation-id=\"switch\"></novo-switch>\n <label data-automation-id=\"label\">{{ customFilterLabel }}</label>\n </footer>\n </div>\n <div class=\"grouped-multi-picker-matches\">\n <div class=\"grouped-multi-picker-input-container\" [hidden]=\"!selectedCategory\" data-automation-id=\"input-container\">\n <input autofocus #input [(ngModel)]=\"searchTerm\" [disabled]=\"isLoading\" data-automation-id=\"input\" [placeholder]=\"placeholder\" />\n <i class=\"bhi-search\" *ngIf=\"!searchTerm\" [class.disabled]=\"isLoading\" data-automation-id=\"seach-icon\"></i>\n <i\n class=\"bhi-times\"\n *ngIf=\"searchTerm\"\n (click)=\"clearSearchTerm($event)\"\n [class.disabled]=\"isLoading\"\n data-automation-id=\"remove-icon\"\n ></i>\n </div>\n <div class=\"grouped-multi-picker-list-container\">\n <novo-list direction=\"vertical\" #list>\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match) || isLoading\"\n [attr.data-automation-id]=\"match.label\"\n >\n <item-content>\n <span>{{ match.label }}</span>\n </item-content>\n </novo-list-item>\n </novo-list>\n <div\n class=\"grouped-multi-picker-no-results\"\n *ngIf=\"matches.length === 0 && !isLoading && selectedCategory\"\n data-automation-id=\"empty-message\"\n >\n {{ labels.groupedMultiPickerEmpty }}\n </div>\n <div\n class=\"grouped-multi-picker-no-category\"\n *ngIf=\"matches.length === 0 && !isLoading && !selectedCategory\"\n data-automation-id=\"select-category-message\"\n >\n {{ labels.groupedMultiPickerSelectCategory }}\n </div>\n <div class=\"grouped-multi-picker-loading\" *ngIf=\"isLoading\" data-automation-id=\"loading-message\">\n <novo-loading theme=\"line\"></novo-loading>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./GroupedMultiPickerResults.scss'],\n standalone: false,\n})\nexport class GroupedMultiPickerResults extends BasePickerResults implements OnInit, OnDestroy {\n @ViewChild('input', { static: true })\n private inputElement: ElementRef;\n @ViewChild('list')\n private listElement: NovoListElement;\n\n public selectedCategory: { value: string; label: string };\n public searchTerm: string;\n public customFilterEnabled: boolean = false;\n public customFilterLabel: string;\n public placeholder: string = '';\n\n private keyboardSubscription: Subscription;\n private internalMap: Map<string, { value: string; label: string; items: { value: string; label: string }[] }> = new Map<\n string,\n { value: string; label: string; items: { value: string; label: string }[] }\n >();\n public customFilterValue: any;\n\n set term(value) {\n // Display all only will work for static categories\n if (this.config.displayAll && this.config.getItemsForCategoryAsync) {\n throw new Error(\n '[GroupedMultiPickerResults] - you can only have `displayAll` with a static `categoryMap`. Not available with `getItemsForCategoryAsync`',\n );\n }\n // Custom filter\n if (this.config.customFilter) {\n this.customFilterEnabled = true;\n this.customFilterLabel = this.config.customFilter.label;\n this.customFilterValue = !!this.config.customFilter.defaultFilterValue;\n this.ref.markForCheck();\n if (!this.customFilterLabel || !this.config.customFilter.matchFunction) {\n throw new Error('[GroupedMultiPickerResults] - custom filter/matchFunction set no label was provided!');\n }\n } else {\n this.customFilterEnabled = false;\n }\n // Configure ALL\n if (this.config.displayAll && !this.selectedCategory) {\n this.setAllCategory();\n }\n // Placeholder\n if (this.config.placeholder) {\n this.placeholder = this.config.placeholder;\n }\n // Focus\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n }\n\n get categories() {\n if (this.config.categories || this.config.categoryMap) {\n return (\n this.config.categories ||\n Array.from(this.config.categoryMap.values()).filter((category: { value: string }) => {\n return category.value !== 'all';\n })\n );\n }\n return [];\n }\n\n constructor(element: ElementRef, private renderer: Renderer2, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n public ngOnInit() {\n // Subscribe to keyboard events and debounce\n this.keyboardSubscription = fromEvent(this.inputElement.nativeElement, 'keyup')\n .pipe(debounceTime(350), distinctUntilChanged())\n .subscribe((event: KeyboardEvent) => {\n this.searchTerm = (event.target as HTMLInputElement).value;\n this.matches = this.filterData();\n this.ref.markForCheck();\n });\n }\n\n public ngOnDestroy() {\n // Cleanup\n this.keyboardSubscription.unsubscribe();\n }\n\n public setAllCategory() {\n // If we have display all, set the all categories up\n if (this.config.displayAll) {\n this.selectedCategory = { value: 'all', label: 'all' };\n const allItems = [];\n Array.from(this.config.categoryMap.values())\n .filter((category: { value: string }) => {\n return category.value !== 'all';\n })\n .forEach((v: { value: string; label: string; items: any[] }) => allItems.push(...v.items));\n this.matches = this.filter(allItems);\n this.config.categoryMap.set('all', { value: 'all', label: 'All', items: allItems });\n this.ref.markForCheck();\n }\n }\n\n public selectCategory(category: { value: string; label: string }): void {\n // Scroll to top\n this.renderer.setProperty(this.listElement.element.nativeElement, 'scrollTop', 0);\n // Set focus\n this.inputElement.nativeElement.focus();\n // Find new items\n const key: string = category.value;\n this.selectedCategory = category;\n // Clear\n this.matches = [];\n this.ref.markForCheck();\n // New matches\n this.getNewMatches(category, key);\n }\n\n public clearSearchTerm(event: MouseEvent) {\n Helpers.swallowEvent(event);\n this.searchTerm = '';\n this.selectCategory({ value: this.selectedCategory.value, label: this.selectedCategory.label });\n this.ref.markForCheck();\n }\n\n public selectMatch(event?: MouseEvent, item?: { value: string; label: string }): boolean {\n // Set focus\n this.inputElement.nativeElement.focus();\n return super.selectMatch(event);\n }\n\n public fireCustomFilter(value: boolean) {\n this.customFilterValue = value;\n // Clear cache map\n this.internalMap.clear();\n // Only fire if we have a selected category\n if (this.selectCategory) {\n // Find new items\n const key: string = this.selectedCategory.value;\n // Get new matches\n this.getNewMatches(this.selectedCategory, key);\n this.ref.markForCheck();\n }\n // Focus\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n }\n\n filterData(): { value: string; label: string }[] {\n if (this.selectedCategory) {\n if (this.config.categoryMap) {\n return this.filter(this.config.categoryMap.get(this.selectedCategory.value).items);\n } else {\n return this.filter(this.internalMap.get(this.selectedCategory.value).items);\n }\n }\n return [];\n }\n\n private getNewMatches(category: { value: string; label: string }, key: string): void {\n // Get new matches\n if (this.config.categoryMap) {\n this.matches = this.filter(this.config.categoryMap.get(key).items);\n this.ref.markForCheck();\n } else {\n if (!this.config.getItemsForCategoryAsync) {\n throw new Error(\n 'The \"config\" for the Chips must include a function \"getItemsForCategoryAsync(categoryKey: string)\" to retrieve the items by category. Or if you have static data provide a \"categoryMap\"',\n );\n }\n if (!this.internalMap.get(key)) {\n this.isLoading = true;\n this.config.getItemsForCategoryAsync(key, this.customFilterValue).then((items: { value: string; label: string }[]) => {\n this.internalMap.set(key, { value: category.value, label: category.label, items });\n this.matches = this.filter(items, true);\n this.isLoading = false;\n this.ref.markForCheck();\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n });\n } else {\n this.matches = this.filter(this.internalMap.get(key).items);\n this.ref.markForCheck();\n }\n }\n }\n\n private filter(\n array: { value: string; label: string; filterValue?: any }[],\n ignoreCustomFilter: boolean = false,\n ): { value: string; label: string }[] {\n let matches: { value: string; label: string; filterValue?: any }[] = array;\n if (this.searchTerm && this.searchTerm.length !== 0 && this.selectedCategory) {\n matches = matches.filter((match) => {\n const searchTerm = this.searchTerm.toLowerCase();\n return match.label.toLowerCase().indexOf(searchTerm) > -1 || match.value.toLowerCase().indexOf(searchTerm) > -1;\n });\n }\n if (this.customFilterEnabled && this.config.customFilter.matchFunction && !ignoreCustomFilter) {\n matches = matches.filter((match) => this.config.customFilter.matchFunction(match, this.customFilterValue));\n }\n return matches;\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, OnDestroy, Renderer2, ViewChild } from '@angular/core';\nimport { fromEvent, Subject, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoListElement } from 'novo-elements/elements/list';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\nexport interface IMixedMultiPickerOption {\n value: string;\n label: string;\n secondaryOptions?: {\n value: string;\n label: string;\n filterValue?: any;\n }[];\n getSecondaryOptionsAsync?(): Promise<{ value: string; label: string }[]>;\n // TODO: Refactor to prevent the need for a behaviorSubject to allow primaryOption's secondaryOptions to be cleared\n // Currently secondaryOptions cannot be cleared via FieldInteraction API and must use a behavior subject - this includes modifyPickerConfig\n clearSecondaryOptions?: Subject<any>;\n showSearchOnSecondaryOptions?: boolean;\n}\n\n@Component({\n selector: 'mixed-multi-picker-results',\n template: ` <div class=\"mixed-multi-picker-groups\">\n <novo-list direction=\"vertical\">\n <novo-list-item\n *ngFor=\"let option of options\"\n (click)=\"selectPrimaryOption(option, $event)\"\n [class.active]=\"selectedPrimaryOption?.value === option.value\"\n [attr.data-automation-id]=\"option.label\"\n [class.disabled]=\"isLoading\"\n >\n <item-content>\n <i *ngIf=\"option.iconClass\" [class]=\"option.iconClass\"></i>\n <span data-automation-id=\"label\">{{ option.label }}</span>\n </item-content>\n <item-end *ngIf=\"optionHasSecondaryOptions(option)\">\n <i class=\"bhi-next\"></i>\n </item-end>\n </novo-list-item>\n </novo-list>\n </div>\n <div class=\"mixed-multi-picker-matches\" [hidden]=\"!optionHasSecondaryOptions(selectedPrimaryOption)\">\n <div\n class=\"mixed-multi-picker-input-container\"\n [hidden]=\"!shouldShowSearchBox(selectedPrimaryOption)\"\n data-automation-id=\"input-container\"\n >\n <input autofocus #input [(ngModel)]=\"searchTerm\" [disabled]=\"isLoading\" data-automation-id=\"input\" [placeholder]=\"placeholder\" />\n <i class=\"bhi-search\" *ngIf=\"!searchTerm\" [class.disabled]=\"isLoading\" data-automation-id=\"seach-icon\"></i>\n <i\n class=\"bhi-times\"\n *ngIf=\"searchTerm\"\n (click)=\"clearSearchTerm($event)\"\n [class.disabled]=\"isLoading\"\n data-automation-id=\"remove-icon\"\n ></i>\n </div>\n <div class=\"mixed-multi-picker-list-container\">\n <novo-list direction=\"vertical\" #list>\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match) || isLoading\"\n [attr.data-automation-id]=\"match.label\"\n >\n <item-content>\n <span>{{ match.label }}</span>\n </item-content>\n </novo-list-item>\n </novo-list>\n <div\n class=\"mixed-multi-picker-no-results\"\n *ngIf=\"matches.length === 0 && !isLoading && selectedPrimaryOption\"\n data-automation-id=\"empty-message\"\n >\n {{ config.emptyOptionsLabel ? config.emptyOptionsLabel : labels.groupedMultiPickerEmpty }}\n </div>\n <div class=\"mixed-multi-picker-loading\" *ngIf=\"isLoading\" data-automation-id=\"loading-message\">\n <novo-loading theme=\"line\"></novo-loading>\n </div>\n </div>\n </div>`,\n styleUrls: ['./MixedMultiPickerResults.scss'],\n standalone: false,\n})\nexport class MixedMultiPickerResults extends BasePickerResults implements OnDestroy {\n @ViewChild('input', { static: true })\n private inputElement: ElementRef;\n @ViewChild('list')\n private listElement: NovoListElement;\n\n public selectedPrimaryOption: IMixedMultiPickerOption;\n public searchTerm: string;\n public placeholder: string = '';\n public emptyOptionsLabel: string = '';\n\n private keyboardSubscription: Subscription;\n\n private internalMap: Map<string, { value: string; label: string; items: { value: string; label: string }[] }> = new Map<\n string,\n { value: string; label: string; items: { value: string; label: string }[] }\n >();\n\n set term(value) {\n if (this.config.placeholder) {\n this.placeholder = this.config.placeholder;\n }\n // Focus\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n }\n\n get options() {\n return this.config.options || [];\n }\n\n constructor(element: ElementRef, private renderer: Renderer2, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n public ngOnDestroy() {\n // Cleanup\n if (this.keyboardSubscription) {\n this.keyboardSubscription.unsubscribe();\n }\n if (this.config.options) {\n this.config.options.forEach((option) => {\n if (option.clearSecondaryOptions) {\n option.clearSecondaryOptions.unsubscribe();\n }\n });\n }\n }\n\n public selectPrimaryOption(primaryOption: IMixedMultiPickerOption, event?: MouseEvent): void {\n if (this.keyboardSubscription) {\n this.keyboardSubscription.unsubscribe();\n }\n // Scroll to top\n this.renderer.setProperty(this.listElement.element.nativeElement, 'scrollTop', 0);\n // Set focus\n this.inputElement.nativeElement.focus();\n // Find new items\n const key: string = primaryOption.value;\n this.selectedPrimaryOption = primaryOption;\n // Clear\n this.matches = [];\n this.ref.markForCheck();\n // New matches\n if (this.optionHasSecondaryOptions(primaryOption)) {\n // Subscribe to keyboard events and debounce\n this.keyboardSubscription = fromEvent(this.inputElement.nativeElement, 'keyup')\n .pipe(debounceTime(350), distinctUntilChanged())\n .subscribe((keyEvent: KeyboardEvent) => {\n this.searchTerm = (keyEvent.target as HTMLInputElement).value;\n this.matches = this.filterData();\n this.ref.markForCheck();\n });\n this.getNewMatches(primaryOption);\n } else {\n this.selectActive(primaryOption);\n this.selectMatch(event);\n }\n }\n\n public selectMatch(event?: MouseEvent): boolean {\n // Set focus\n this.inputElement.nativeElement.focus();\n return super.selectMatch(event);\n }\n\n public clearSearchTerm(event: MouseEvent) {\n Helpers.swallowEvent(event);\n this.searchTerm = '';\n this.selectPrimaryOption({ value: this.selectedPrimaryOption.value, label: this.selectedPrimaryOption.label });\n this.ref.markForCheck();\n }\n\n public optionHasSecondaryOptions(primaryOption: IMixedMultiPickerOption) {\n return !!(primaryOption && (primaryOption.secondaryOptions || primaryOption.getSecondaryOptionsAsync));\n }\n\n public shouldShowSearchBox(primaryOption: IMixedMultiPickerOption) {\n return !!(primaryOption && primaryOption.showSearchOnSecondaryOptions);\n }\n\n public clearPrimaryOption(primaryOption: IMixedMultiPickerOption) {\n if (this.internalMap.get(primaryOption.value)) {\n if (primaryOption.value === this.selectedPrimaryOption?.value) {\n this.activeMatch = null;\n this.matches = [];\n this.selectedPrimaryOption = null;\n }\n this.internalMap.delete(primaryOption.value);\n this.ref.markForCheck();\n }\n }\n\n filterData(): { value: string; label: string }[] {\n if (this.selectedPrimaryOption) {\n if (this.selectedPrimaryOption.secondaryOptions) {\n return this.filter(this.selectedPrimaryOption.secondaryOptions);\n } else {\n return this.filter(this.internalMap.get(this.selectedPrimaryOption.value).items);\n }\n }\n return [];\n }\n\n private filter(array: { value: string; label: string; filterValue?: any }[]): { value: string; label: string }[] {\n let matches: { value: string; label: string; filterValue?: any }[] = array;\n if (this.searchTerm && this.searchTerm.length !== 0 && this.selectedPrimaryOption) {\n matches = matches.filter((match) => {\n const searchTerm = this.searchTerm.toLowerCase();\n return match.label.toLowerCase().indexOf(searchTerm) > -1 || match.value.toLowerCase().indexOf(searchTerm) > -1;\n });\n }\n return matches;\n }\n\n private getNewMatches(primaryOption: IMixedMultiPickerOption): void {\n // Get new matches\n if (primaryOption.secondaryOptions) {\n this.matches = this.filter(primaryOption.secondaryOptions);\n this.ref.markForCheck();\n } else {\n if (!primaryOption.getSecondaryOptionsAsync) {\n throw new Error('An option needs to have either an array of secondaryOptions or a function getSecondaryOptionsAsync');\n }\n if (!this.internalMap.get(primaryOption.value)) {\n this.isLoading = true;\n primaryOption.getSecondaryOptionsAsync().then((items: { value: string; label: string }[]) => {\n this.internalMap.set(primaryOption.value, { value: primaryOption.value, label: primaryOption.label, items });\n this.matches = this.filter(items);\n this.isLoading = false;\n this.ref.markForCheck();\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n });\n if (primaryOption.clearSecondaryOptions) {\n primaryOption.clearSecondaryOptions.subscribe(() => {\n this.clearPrimaryOption(primaryOption);\n });\n }\n } else {\n this.matches = this.filter(this.internalMap.get(primaryOption.value).items);\n this.ref.markForCheck();\n }\n }\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, ViewEncapsulation } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'picker-results',\n host: {\n class: 'active',\n },\n template: `\n <novo-list *ngIf=\"matches.length > 0\" direction=\"vertical\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n data-automation-id=\"picker-result-list-item\"\n >\n <item-content> <span [innerHtml]=\"match.label | highlight:term\"></span> </item-content>\n </novo-list-item>\n <novo-loading *ngIf=\"isLoading && matches.length > 0\" theme=\"line\"></novo-loading>\n </novo-list>\n <div class=\"picker-loader\" *ngIf=\"isLoading && matches.length === 0\"><novo-loading theme=\"line\"></novo-loading></div>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage\">{{ getEmptyMessage() }}</p>\n `,\n styleUrls: ['./PickerResults.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class PickerResults extends BasePickerResults {\n constructor(element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n get hasNonErrorMessage() {\n return !this.isLoading && !this.matches.length && !this.hasError;\n }\n\n getEmptyMessage() {\n if (this.shouldShowMessageForZeroLengthSearch()) {\n // this property comes from Field Interactions\n return this.config.emptyPickerMessage;\n } else {\n return this.term === '' ? this.labels.pickerTextFieldEmpty : this.labels.pickerEmpty;\n }\n }\n\n shouldShowMessageForZeroLengthSearch() {\n return this.config && this.config.minSearchLength === 0 && this.term === '' && this.config.emptyPickerMessage;\n }\n\n getListElement() {\n return this.element.nativeElement.querySelector('novo-list');\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, HostBinding } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\n// App\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'skill-specialty-picker-results',\n template: `\n <section class=\"picker-loading\" *ngIf=\"isLoading && !matches?.length\"><novo-loading theme=\"line\"></novo-loading></section>\n <novo-list *ngIf=\"matches.length > 0\" direction=\"vertical\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n <item-content>\n <h6><span [innerHtml]=\"match.label | highlight:term\"></span></h6>\n <div class=\"category\">\n <i class=\"bhi-category-tags\"></i\n ><span [innerHtml]=\"match.data.categories || match.data.parentCategory.name | highlight:term\"></span>\n </div>\n </item-content>\n </novo-list-item>\n <novo-list-item *ngIf=\"limitedTo\"\n ><div>{{ labels.showingXofXResults(limit, total) }}</div></novo-list-item\n >\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches.length > 0\"></novo-loading>\n </novo-list>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null\" *ngIf=\"!isLoading && !matches.length && !hasError\">{{ labels.pickerEmpty }}</p>\n `,\n styleUrls: ['./SkillsSpecialtyPickerResults.scss'],\n standalone: false,\n})\nexport class SkillsSpecialtyPickerResults extends BasePickerResults {\n @HostBinding('class.active')\n active: boolean = true;\n limitedTo: boolean = false;\n limit: number = 200;\n total: number;\n\n constructor(public element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n getListElement(): any {\n return this.element.nativeElement.querySelector('novo-list');\n }\n\n /**\n * @name structureArray\n * @param collection - the data once getData resolves it\n *\n * @description This function structures an array of nodes into an array of objects with a\n * 'name' field by default.\n */\n structureArray(collection: any): any {\n let data = collection;\n if (collection.hasOwnProperty('data')) {\n this.limitedTo = collection.limitedTo200;\n this.total = collection.total;\n data = collection.data;\n } else if (data.length > this.limit) {\n this.limitedTo = true;\n this.total = data.length;\n data = data.slice(0, this.limit);\n }\n return super.structureArray(data);\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NovoLabelService } from 'novo-elements/services';\n// Vendor\nimport {PickerResults} from '../picker-results';\n\n@Component({\n selector: 'workers-comp-codes-picker-results',\n host: {\n class: 'active',\n },\n template: `\n <section class=\"picker-loading\" *ngIf=\"isLoading && !matches?.length\">\n <novo-loading theme=\"line\"></novo-loading>\n </section>\n <novo-list direction=\"vertical\" *ngIf=\"matches?.length > 0 && !hasError\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n <item-header>\n <item-title>\n <span [innerHtml]=\"sanitizeHTML(match?.data?.compensation?.code, match?.data?.compensation?.name)\"></span>\n </item-title>\n </item-header>\n <item-content direction=\"horizontal\">\n <p>\n <span class=\"label\">{{ labels.state }}: </span><span>{{ match?.data?.compensation?.state }}</span>\n </p>\n <p>\n <span class=\"label\">{{ labels.rate }}: </span><span>{{ labels.formatCurrency(match?.data?.rate) }}</span>\n </p>\n </item-content>\n <item-content direction=\"horizontal\">\n <p>\n <span class=\"label\">{{ labels.startDate }}: </span\n ><span>{{ labels.formatDateWithFormat(match?.data?.startDate, { year: 'numeric', month: 'numeric', day: 'numeric' }) }}</span>\n </p>\n <p>\n <span class=\"label\">{{ labels.endDate }}: </span\n ><span>{{ labels.formatDateWithFormat(match?.data?.endDate, { year: 'numeric', month: 'numeric', day: 'numeric' }) }}</span>\n </p>\n </item-content>\n </novo-list-item>\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches?.length > 0\"></novo-loading>\n </novo-list>\n <div class=\"picker-loader\" *ngIf=\"isLoading && matches.length === 0\"><novo-loading theme=\"line\"></novo-loading></div>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage\">{{ getEmptyMessage() }}</p>\n `,\n standalone: false,\n})\nexport class WorkersCompCodesPickerResults extends PickerResults {\n\n constructor(element: ElementRef, private sanitizer: DomSanitizer, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, labels, ref);\n }\n\n sanitizeHTML(compCode: string, name: string) {\n return this.sanitizer.bypassSecurityTrustHtml(`${compCode} | ${name}`);\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectorRef,\n Component,\n ComponentRef,\n DestroyRef,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { ComponentUtils } from 'novo-elements/services';\nimport { Helpers, Key, notify } from 'novo-elements/utils';\nimport { NovoOverlayTemplateComponent } from 'novo-elements/elements/common';\nimport { PickerResults } from './extras/picker-results/PickerResults';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n// Value accessor for the component (supports ngModel)\nconst PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoPickerElement),\n multi: true,\n};\n\nconst DEFAULT_DEBOUNCE_TIME = 250;\n\n/**\n * @description This class is the directive definition of the Picker. If you add an attribute of `picker` to an input,\n * it will create an instance of the picker which wraps the input in all of the picker HTML elements and functionality.\n * Picker should be added as a two-way bound ngModel instance `[(picker)]=\"\"` in order to have the picker options\n * dynamically populate.\n */\n@Component({\n selector: 'novo-picker',\n providers: [PICKER_VALUE_ACCESSOR],\n template: `\n <i class=\"bhi-more\" *ngIf=\"config?.entityIcon && !_value\"></i>\n <i class=\"bhi-{{ config?.entityIcon }} entity-icon {{ config?.entityIcon }}\" *ngIf=\"config?.entityIcon && _value\"></i>\n <input\n type=\"text\"\n class=\"picker-input\"\n [(ngModel)]=\"term\"\n [class.entity-picker]=\"config?.entityIcon\"\n [class.entity-selected]=\"config?.entityIcon && _value\"\n (ngModelChange)=\"checkTerm($event)\"\n [placeholder]=\"placeholder\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocus($event)\"\n (click)=\"onFocus($event)\"\n (blur)=\"onTouched($event)\"\n [maxlength]=\"maxlength\"\n autocomplete=\"off\"\n #input\n [disabled]=\"disablePickerInput\"\n />\n <i class=\"bhi-search\" *ngIf=\"(!_value || clearValueOnSelect) && !disablePickerInput\"></i>\n <i\n class=\"bhi-times\"\n [class.entity-selected]=\"config?.entityIcon && _value\"\n *ngIf=\"_value && !clearValueOnSelect && !disablePickerInput\"\n (click)=\"clearValue(true)\"\n ></i>\n <novo-overlay-template class=\"picker-results-container\" [parent]=\"element\" [width]=\"width\" [minWidth]=\"minWidth\" position=\"above-below\" (closing)=\"onOverlayClosed()\">\n <span #results></span>\n <ng-content></ng-content>\n </novo-overlay-template>\n `,\n styleUrls: ['./Picker.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class NovoPickerElement implements OnInit {\n // Container for the results\n @ViewChild('results', { read: ViewContainerRef, static: true })\n results: ViewContainerRef;\n\n @Input()\n config: any;\n @Input()\n placeholder: string;\n @Input()\n clearValueOnSelect: boolean;\n @Input()\n closeOnSelect: boolean = true;\n @Input()\n selected: Array<any> = [];\n // Deprecated\n @Input()\n appendToBody: boolean = false;\n // Deprecated\n @Input()\n parentScrollSelector: string;\n // Deprecated\n @Input()\n parentScrollAction: string = 'close';\n // Custom class for the dropdown container\n @Input()\n containerClass: string;\n // Side the dropdown will open\n @Input()\n side: string = 'left';\n // Autoselects the first option in the results\n @Input()\n autoSelectFirstOption: boolean = true;\n @Input()\n overrideElement: ElementRef;\n @Input()\n maxlength: number;\n @Input()\n allowCustomValues = false;\n @Input()\n width: string;\n @Input()\n minWidth: string;\n @Input()\n allowTabNavigation: boolean = false;\n\n // Disable from typing into the picker (result template does everything)\n @Input()\n set disablePickerInput(v: boolean) {\n this._disablePickerInput = coerceBooleanProperty(v);\n }\n\n get disablePickerInput() {\n return this._disablePickerInput;\n }\n\n private _disablePickerInput: boolean = false;\n\n // Emitter for selects\n @Output()\n changed: EventEmitter<any> = new EventEmitter();\n @Output()\n select: EventEmitter<any> = new EventEmitter();\n @Output()\n focus: EventEmitter<any> = new EventEmitter();\n @Output()\n blur: EventEmitter<any> = new EventEmitter();\n @Output()\n typing: EventEmitter<any> = new EventEmitter();\n @Output()\n tab: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(NovoOverlayTemplateComponent, { static: true })\n public container: NovoOverlayTemplateComponent;\n @ViewChild('input', { static: true })\n public input: ElementRef;\n\n term: string = '';\n resultsComponent: any;\n popup: ComponentRef<any>;\n _value: any;\n onModelChange: Function = () => {};\n onModelTouched: Function = () => {};\n\n\n constructor(\n public element: ElementRef,\n private componentUtils: ComponentUtils,\n private ref: ChangeDetectorRef,\n private destroyRef: DestroyRef) {}\n\n ngOnInit() {\n if (this.overrideElement) {\n this.element = this.overrideElement;\n }\n if (this.appendToBody) {\n notify('\\'appendToBody\\' has been deprecated. Please remove this attribute.');\n }\n const debounceTimeInMilliSeconds = Number.isNaN(Number(this.config?.debounceTimeInMilliSeconds)) ? DEFAULT_DEBOUNCE_TIME : Number(this.config?.debounceTimeInMilliSeconds);\n // Custom results template\n this.resultsComponent = this.config.resultsTemplate || PickerResults;\n\n const pasteObserver = fromEvent(this.input.nativeElement, 'paste').pipe(takeUntilDestroyed(this.destroyRef), debounceTime(debounceTimeInMilliSeconds), distinctUntilChanged());\n pasteObserver.subscribe({\n next: (event: ClipboardEvent) => this.onDebouncedKeyup(event),\n error: (err) => this.hideResults(err),\n });\n const keyboardObserver = fromEvent(this.input.nativeElement, 'keyup').pipe(takeUntilDestroyed(this.destroyRef), debounceTime(debounceTimeInMilliSeconds), distinctUntilChanged());\n keyboardObserver.subscribe({\n next: (event: KeyboardEvent) => this.onDebouncedKeyup(event),\n error: (err) => this.hideResults(err),\n });\n }\n\n private onDebouncedKeyup(event: KeyboardEvent | ClipboardEvent) {\n if ([Key.Escape, Key.ArrowDown, Key.ArrowUp, Key.Enter, Key.Tab].some((key) => key === (event as KeyboardEvent).key)) {\n return;\n }\n this.show((event.target as any).value);\n }\n\n public openPanel(): void {\n this.container.openPanel();\n }\n\n public closePanel(): void {\n this.container.closePanel();\n }\n\n public get panelOpen(): boolean {\n return this.container && this.container.panelOpen;\n }\n\n private show(term?: string): void {\n this.openPanel();\n // Show the results inside\n this.showResults(term);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.disablePickerInput) {\n Helpers.swallowEvent(event);\n return;\n }\n if (this.panelOpen && !this.disablePickerInput) {\n if (event.key === Key.Escape || (event.key === Key.Tab && !this.allowTabNavigation)) {\n this.hideResults();\n return;\n }\n\n if (event.key === Key.ArrowUp) {\n this.popup.instance.prevActiveMatch();\n this.ref.markForCheck();\n return;\n }\n\n if (event.key === Key.ArrowDown) {\n this.popup.instance.nextActiveMatch();\n this.ref.markForCheck();\n return;\n }\n\n if (event.key === Key.Enter) {\n const activeMatch = this.popup.instance.activeMatch;\n if (!this.selected.find((selected) => activeMatch && activeMatch.value && selected.value === activeMatch.value)) {\n this.popup.instance.selectActiveMatch();\n this.ref.markForCheck();\n }\n return;\n }\n\n if ((event.key === Key.Backspace || event.key === Key.Delete) && !Helpers.isEmpty(this._value) && (this._value === this.term)) {\n this.clearValue(false);\n this.closePanel();\n }\n if (event.key === Key.Delete && Helpers.isBlank(this._value)) {\n this.clearValue(true);\n }\n }\n\n if (this.allowTabNavigation && event.key === Key.Tab) {\n this.closePanel();\n this.tab.emit();\n }\n }\n\n clearValue(wipeTerm) {\n this._value = null;\n this.select.emit(this._value);\n this.changed.emit({ value: this._value, rawValue: { label: '', value: this._value } });\n this.onModelChange(this._value);\n\n if (wipeTerm) {\n this.term = '';\n if (this.popup?.instance) {\n this.popup.instance.customTextValue = null;\n }\n this.hideResults();\n }\n this.ref.markForCheck();\n }\n\n /**\n * @description When the input's focus event is called this method calls the debounced function that displays the\n * results.\n */\n onFocus(event) {\n if (!this.panelOpen) {\n this.show();\n }\n this.focus.emit(event);\n }\n\n // Creates an instance of the results (called popup) and adds all the bindings to that instance.\n showResults(term?: any) {\n // Update Matches\n if (this.popup) {\n // Update existing list or create the DOM element\n this.popup.instance.config = this.config;\n this.popup.instance.term = this.term;\n this.popup.instance.selected = this.selected;\n this.popup.instance.autoSelectFirstOption = this.autoSelectFirstOption;\n this.ref.markForCheck();\n } else {\n this.popup = this.componentUtils.append(this.resultsComponent, this.results);\n this.popup.instance.parent = this;\n this.popup.instance.config = this.config;\n this.popup.instance.term = this.term;\n this.popup.instance.selected = this.selected;\n this.popup.instance.autoSelectFirstOption = this.autoSelectFirstOption;\n this.popup.instance.overlay = this.container.overlayRef;\n this.ref.markForCheck();\n }\n }\n\n // Tells the overlay component to hide the picker results from the DOM without deleting the dynamically allocated popup instance created in\n // showResults. The popup instance will remain in memory from the first time the results are shown until this component is destroyed.\n hideResults(err?: any) {\n this.closePanel();\n this.ref.markForCheck();\n }\n\n // Cleans up listeners for the popup - will get executed no matter how the popup is closed.\n onOverlayClosed(): void {\n if (this.popup && this.popup.instance && this.popup.instance.cleanUp) {\n this.popup.instance.cleanUp();\n }\n }\n\n // get accessor\n get value() {\n return this._value;\n }\n\n // set accessor including call the onchange callback\n set value(selected) {\n if (!selected) {\n this.term = '';\n this._value = null;\n this.onModelChange(this._value);\n } else if (selected.value !== this._value) {\n this.term = this.clearValueOnSelect ? '' : selected.label;\n this._value = selected.value;\n this.changed.emit({ value: selected.value, rawValue: { label: this.term, value: selected.value } });\n this.select.emit(selected);\n this.onModelChange(selected.value);\n if (this.popup) {\n this.popup.instance.selected = this.selected;\n }\n } else {\n this.term = this.clearValueOnSelect ? '' : selected.label;\n this.changed.emit({ value: selected.value, rawValue: { label: this.term, value: this._value } });\n this.select.emit(selected);\n }\n this.ref.markForCheck();\n }\n\n // Makes sure to clear the model if the user clears the text box\n checkTerm(event) {\n this.typing.emit(event);\n if (this.allowCustomValues) {\n if (this.term) {\n this.popup.instance.customTextValue = { label: this.term, value: this.term }\n } else {\n this.popup.instance.customTextValue = null;\n }\n }\n if ((!event || !event.length) && !Helpers.isEmpty(this._value)) {\n this._value = null;\n this.onModelChange(this._value);\n }\n this.ref.markForCheck();\n }\n\n // Set touched on blur\n onTouched(event?: Event) {\n this.onModelTouched();\n this.blur.emit(event);\n }\n\n // From ControlValueAccessor interface\n writeValue(value: any) {\n if (this.clearValueOnSelect) {\n this.term = '';\n } else {\n if (typeof value === 'string' && !this.config.useGetLabels) {\n this.term = value;\n } else if (value && value.label) {\n this.term = value.label;\n } else if (value && value.firstName) {\n this.term = `${value.firstName} ${value.lastName}`;\n } else if (value && value.name) {\n this.term = value.name;\n } else if (typeof this.config.getLabels === 'function') {\n this.config.getLabels(value).then((result) => {\n if (result) {\n this.term = result.length ? result[0].label || '' : result.label || '';\n } else {\n this.term = value;\n }\n this.ref.markForCheck();\n });\n } else if (value && value.title) {\n this.term = value.title;\n } else {\n this.term = value || '';\n }\n }\n this._value = value;\n this.ref.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(disabled: boolean): void {\n this._disablePickerInput = disabled;\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoCommonModule, NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoLoadingModule } from 'novo-elements/elements/loading';\nimport { NovoSwitchModule } from 'novo-elements/elements/switch';\nimport { ChecklistPickerResults } from './extras/checklist-picker-results/ChecklistPickerResults';\nimport { DistributionListPickerResults } from './extras/distributionlist-picker-results/DistributionListPickerResults';\nimport { EntityPickerResult, EntityPickerResults } from './extras/entity-picker-results/EntityPickerResults';\nimport { GroupedMultiPickerResults } from './extras/grouped-multi-picker-results/GroupedMultiPickerResults';\nimport { MixedMultiPickerResults } from './extras/mixed-multi-picker-results/MixedMultiPickerResults';\nimport { PickerResults } from './extras/picker-results/PickerResults';\nimport { SkillsSpecialtyPickerResults } from './extras/skills-picker-results/SkillsSpecialtyPickerResults';\nimport { WorkersCompCodesPickerResults } from './extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults';\nimport { NovoPickerElement } from './Picker';\n\n@NgModule({\n imports: [CommonModule, NovoPipesModule, FormsModule, NovoCommonModule, NovoLoadingModule, NovoListModule, NovoOverlayModule, NovoSwitchModule],\n declarations: [\n NovoPickerElement,\n PickerResults,\n EntityPickerResult,\n EntityPickerResults,\n ChecklistPickerResults,\n GroupedMultiPickerResults,\n MixedMultiPickerResults,\n DistributionListPickerResults,\n WorkersCompCodesPickerResults,\n SkillsSpecialtyPickerResults,\n ],\n exports: [\n NovoPickerElement,\n PickerResults,\n EntityPickerResult,\n EntityPickerResults,\n ChecklistPickerResults,\n GroupedMultiPickerResults,\n MixedMultiPickerResults,\n DistributionListPickerResults,\n WorkersCompCodesPickerResults,\n SkillsSpecialtyPickerResults,\n ],\n})\nexport class NovoPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1","i2","i3","i5","i6"],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-picker.mjs","sources":["../../../projects/novo-elements/src/elements/picker/extras/base-picker-results/BasePickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/checklist-picker-results/ChecklistPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/distributionlist-picker-results/DistributionListPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/entity-picker-results/EntityPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/picker-results/PickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.ts","../../../projects/novo-elements/src/elements/picker/extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults.ts","../../../projects/novo-elements/src/elements/picker/Picker.ts","../../../projects/novo-elements/src/elements/picker/Picker.module.ts","../../../projects/novo-elements/src/elements/picker/novo-elements-elements-picker.ts"],"sourcesContent":["// NG2\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, Directive, ElementRef, Input } from '@angular/core';\n// Vendor\nimport { from, Observable } from 'rxjs';\n// APP\nimport { Helpers } from 'novo-elements/utils';\n\n/**\n * @description This is the actual list of matches that gets injected into the DOM. It's also the piece that can be\n * overwritten if custom list options are needed.\n */\n@Directive()\nexport class BasePickerResults {\n _term: string = '';\n selected: Array<any> = [];\n hasError: boolean = false;\n isLoading: boolean = false;\n isStatic: boolean = true;\n _config: any;\n activeMatch: any;\n parent: any;\n element: ElementRef;\n ref: ChangeDetectorRef;\n page: number = 0;\n lastPage: boolean = false;\n autoSelectFirstOption: boolean = true;\n overlay: OverlayRef;\n optionsFunctionHasChanged: boolean = false;\n private selectingMatches: boolean = false;\n private scrollHandler: any;\n _matches: Array<any> = [];\n customTextValue: any = null;\n\n @Input()\n set matches(m: Array<any>) {\n this._matches = m;\n }\n\n get matches() {\n return this.customTextValue ? [...this._matches, this.customTextValue] : this._matches;\n }\n\n constructor(element: ElementRef, ref: ChangeDetectorRef) {\n this.element = element;\n this.ref = ref;\n this.scrollHandler = this.onScrollDown.bind(this);\n }\n\n cleanUp(): void {\n const element: Element = this.getListElement();\n if (element && element.hasAttribute('scrollListener')) {\n element.removeAttribute('scrollListener');\n element.removeEventListener('scroll', this.scrollHandler);\n }\n }\n\n onScrollDown(event: WheelEvent) {\n const element: any = event.target;\n if (element) {\n const offset = element.offsetHeight + element.scrollTop;\n const bottom = element.scrollHeight - 300;\n if (offset >= bottom) {\n event.stopPropagation();\n if (!this.lastPage && !this.isLoading) {\n this.processSearch();\n }\n }\n }\n }\n\n @Input()\n set term(value) {\n if (this.shouldSearch(value)) {\n this._term = value;\n this.page = 0;\n this.optionsFunctionHasChanged = false;\n this.matches = [];\n this.processSearch(true);\n } else {\n this.addScrollListener();\n }\n }\n\n get term() {\n return this._term;\n }\n\n set config(value: any) {\n if (this.config && this.config.options !== value.options) {\n this.optionsFunctionHasChanged = true; // reset page so that new options call is used to search\n }\n this._config = value;\n }\n\n get config(): any {\n return this._config;\n }\n\n shouldSearch(value: unknown): boolean {\n const termHasChanged = value !== this._term;\n const optionsNotYetCalled = this.page === 0;\n\n return termHasChanged || optionsNotYetCalled || this.optionsFunctionHasChanged;\n }\n\n addScrollListener(): void {\n if (this.config.enableInfiniteScroll) {\n const element: Element = this.getListElement();\n if (element && !element.hasAttribute('scrollListener')) {\n element.setAttribute('scrollListener', 'true');\n element.addEventListener('scroll', this.scrollHandler);\n }\n }\n }\n\n processSearch(shouldReset?: boolean) {\n this.hasError = false;\n this.isLoading = true;\n this.ref.markForCheck();\n this.search(this.term).subscribe(\n (results: any) => {\n if (shouldReset) {\n this.matches = [];\n }\n if (this.isStatic) {\n this.matches = this.filterData(results);\n } else {\n this.matches = this.matches.concat(results);\n this.lastPage = results && !results.length;\n }\n if (this.matches.length > 0 && this.autoSelectFirstOption && !this.selectingMatches) {\n this.nextActiveMatch();\n }\n this.isLoading = false;\n this.ref.markForCheck();\n setTimeout(() => {\n this.overlay.updatePosition();\n this.addScrollListener();\n });\n },\n (err) => {\n this.hasError = this.term && this.term.length !== 0;\n this.isLoading = false;\n this.lastPage = true;\n if (this.term && this.term.length !== 0) {\n console.error(err);\n }\n this.ref.markForCheck();\n },\n );\n }\n\n search(term, mode?): Observable<any> {\n const options = this.config.options;\n return from(\n new Promise((resolve, reject) => {\n // Check if there is match data\n if (options) {\n // Resolve the data\n if (Array.isArray(options)) {\n this.isStatic = true;\n // Arrays are returned immediately\n resolve(this.structureArray(options));\n } else if (this.shouldCallOptionsFunction(term)) {\n if (\n (options.hasOwnProperty('reject') && options.hasOwnProperty('resolve')) ||\n Object.getPrototypeOf(options).hasOwnProperty('then')\n ) {\n this.isStatic = false;\n // Promises (ES6 or Deferred) are resolved whenever they resolve\n options.then(this.structureArray.bind(this)).then(resolve, reject);\n } else if (typeof options === 'function') {\n this.isStatic = false;\n // Promises (ES6 or Deferred) are resolved whenever they resolve\n options(term, ++this.page)\n .then(this.structureArray.bind(this))\n .then(resolve, reject);\n } else {\n // All other kinds of data are rejected\n reject('The data provided is not an array or a promise');\n throw new Error('The data provided is not an array or a promise');\n }\n } else {\n if (this.config.defaultOptions) {\n this.isStatic = false;\n if (typeof this.config.defaultOptions === 'function') {\n const defaultOptions = this.config.defaultOptions(term, ++this.page);\n if (Object.getPrototypeOf(defaultOptions).hasOwnProperty('then')) {\n defaultOptions.then(this.structureArray.bind(this)).then(resolve, reject);\n } else {\n resolve(this.structureArray(defaultOptions));\n }\n } else {\n resolve(this.structureArray(this.config.defaultOptions));\n }\n } else {\n // No search term gets rejected\n reject('No search term');\n }\n }\n } else {\n // No data gets rejected\n reject('error');\n }\n }),\n );\n }\n\n shouldCallOptionsFunction(term: string): boolean {\n if (this.config && 'minSearchLength' in this.config && Number.isInteger(this.config.minSearchLength)) {\n return typeof term === 'string' && term.length >= this.config.minSearchLength;\n } else {\n return !!(term && term.length);\n }\n }\n\n /**\n * @param collection - the data once getData resolves it\n *\n * @description This function structures an array of nodes into an array of objects with a\n * 'name' field by default.\n */\n structureArray(collection: any): any {\n const dataArray = collection.data ? collection.data : collection;\n if (dataArray && (typeof dataArray[0] === 'string' || typeof dataArray[0] === 'number')) {\n return collection.map((item) => {\n return {\n value: item,\n label: item,\n };\n });\n }\n return dataArray.map((data) => {\n let value = this.config.field ? data[this.config.field] : data.value || data;\n if (this.config.valueFormat) {\n value = Helpers.interpolate(this.config.valueFormat, data);\n }\n const label = this.config.format ? Helpers.interpolate(this.config.format, data) : data.label || String(value);\n return { value, label, data };\n });\n }\n\n /**\n * @param matches - Collection of objects=\n *\n * @description This function loops through the picker options and creates a filtered list of objects that contain\n * the newSearch.\n */\n filterData(matches): Array<any> {\n if (this.term && matches) {\n return matches.filter((match) => {\n return ~String(match.label).toLowerCase().indexOf(this.term.toLowerCase());\n });\n }\n // Show no recent results template\n return matches;\n }\n\n /**\n * @description This function is called when the user presses the enter key to call the selectMatch method.\n */\n selectActiveMatch() {\n this.selectMatch();\n }\n\n /**\n * @description This function sets activeMatch to the match before the current node.\n */\n prevActiveMatch() {\n const index = this.matches.indexOf(this.activeMatch);\n this.activeMatch = this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1];\n this.scrollToActive();\n this.ref.markForCheck();\n }\n\n /**\n * @description This function sets activeMatch to the match after the current node.\n */\n nextActiveMatch() {\n const index = this.matches.indexOf(this.activeMatch);\n this.activeMatch = this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1];\n this.scrollToActive();\n this.ref.markForCheck();\n }\n\n getListElement() {\n return this.element.nativeElement;\n }\n\n getChildrenOfListElement() {\n let children = [];\n if (this.getListElement()) {\n children = this.getListElement().children;\n }\n return children;\n }\n\n scrollToActive() {\n const list = this.getListElement();\n const items = this.getChildrenOfListElement();\n const index = this.matches.indexOf(this.activeMatch);\n const item = items[index];\n if (item) {\n list.scrollTop = item.offsetTop;\n }\n }\n\n /**\n * @description\n */\n selectActive(match) {\n this.activeMatch = match;\n }\n\n /**\n * @description\n */\n isActive(match) {\n return this.activeMatch === match;\n }\n\n /**\n * @description\n */\n selectMatch(event?: any, item?: any) {\n if (event) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n const selected = this.activeMatch;\n if (selected && this.parent) {\n this.parent.value = selected;\n this.selectingMatches = true;\n if (this.parent.closeOnSelect) {\n this.parent.hideResults();\n }\n this.selectingMatches = false;\n }\n this.ref.markForCheck();\n return false;\n }\n\n /**\n * @description This function captures the whole query string and replace it with the string that will be used to\n * match.\n */\n escapeRegexp(queryToEscape) {\n // Ex: if the capture is \"a\" the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n }\n\n /**\n * @deprecated use highlight pipe\n */\n highlight(match, query) {\n // Replaces the capture string with a the same string inside of a \"strong\" tag\n return query ? match.replace(new RegExp(this.escapeRegexp(query.trim()), 'gi'), '<strong>$&</strong>') : match;\n }\n\n preselected(match) {\n let selected = this.selected;\n if (this.config && this.config.selected) {\n selected = [...this.selected, ...this.config.selected];\n }\n if (this.config && this.config.preselected) {\n const preselectedFunc: Function = this.config.preselected;\n return (\n selected.findIndex((item) => {\n return preselectedFunc(match, item);\n }) !== -1\n );\n }\n return (\n selected.findIndex((item) => {\n let isPreselected = false;\n if (item && item.value && match && match.value) {\n if (item.value.id && match.value.id) {\n isPreselected = item.value.id === match.value.id;\n } else if (item.value instanceof Object && item.value.hasOwnProperty('value')) {\n isPreselected = item.value.value === match.value;\n } else {\n isPreselected = item.value === match.value;\n }\n }\n return isPreselected;\n }) !== -1\n );\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\n// Vendor\nimport { from, Observable } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\n// APP\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n/**\n * @description This is the actual list of matches that gets injected into the DOM.\n */\n@Component({\n selector: 'checklist-picker-results',\n host: {\n class: 'active picker-results',\n },\n template: `\n <novo-loading theme=\"line\" *ngIf=\"isLoading && !matches.length\"></novo-loading>\n <ul *ngIf=\"matches.length > 0\">\n <span *ngFor=\"let section of matches; let i = index\">\n <li class=\"header caption\" *ngIf=\"section.data.length > 0\">{{ section.label || section.type }}</li>\n <li\n *ngFor=\"let match of section.data; let i = index\"\n [ngClass]=\"{ checked: match.checked }\"\n (click)=\"selectMatch($event, match)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n >\n <label>\n <i\n [ngClass]=\"{\n 'bhi-checkbox-empty': !match.checked,\n 'bhi-checkbox-filled': match.checked,\n 'bhi-checkbox-indeterminate': match.indeterminate\n }\"\n ></i>\n {{ match.label }}\n </label>\n </li>\n </span>\n </ul>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null-results\" *ngIf=\"!isLoading && !matches.length && !hasError && term !== ''\">{{ labels.pickerEmpty }}</p>\n `,\n standalone: false,\n})\nexport class ChecklistPickerResults extends BasePickerResults {\n filteredMatches: any;\n\n constructor(element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n search(): Observable<any> {\n const options = this.config.options;\n // only set this the first time\n return from(\n new Promise((resolve, reject) => {\n // Check if there is match data\n if (options) {\n // Resolve the data\n if (Array.isArray(options)) {\n this.isStatic = true;\n // Arrays are returned immediately\n resolve(options);\n } else {\n // All other kinds of data are rejected\n reject('The data provided is not an array or a promise');\n throw new Error('The data provided is not an array or a promise');\n }\n } else {\n // No data gets rejected\n reject('error');\n }\n }),\n );\n }\n\n /**\n * @param matches - Collection of objects=\n *\n * @description This function loops through the picker options and creates a filtered list of objects that contain\n * the newSearch.\n */\n filterData(matches): any {\n if (this.term && matches) {\n this.filteredMatches = matches.map((section) => {\n const items = section.originalData.filter((match) => {\n return ~String(match.label).toLowerCase().indexOf(this.term.toLowerCase());\n });\n section.data = items;\n return section;\n }, this);\n return this.filteredMatches;\n } else if (this.term === '') {\n matches.forEach((section) => {\n section.data = section.originalData;\n });\n return matches;\n }\n // Show no recent results template\n return matches;\n }\n\n selectMatch(event, item) {\n Helpers.swallowEvent(event);\n if (item.indeterminate) {\n item.indeterminate = false;\n item.checked = true;\n } else {\n item.checked = !item.checked;\n }\n\n const selected = this.activeMatch;\n if (selected) {\n this.parent.value = selected;\n }\n this.ref.markForCheck();\n return false;\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, HostBinding } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NovoLabelService } from 'novo-elements/services';\n// Vendor\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'distribution-list-picker-results',\n template: `\n <section class=\"picker-loading\" *ngIf=\"isLoading && !matches?.length\">\n <novo-loading theme=\"line\"></novo-loading>\n </section>\n <novo-list direction=\"vertical\" *ngIf=\"matches?.length > 0 && !hasError\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n <item-header>\n <item-title>\n <span [innerHtml]=\"sanitizeHTML(match.label)\"></span>\n </item-title>\n </item-header>\n <item-content direction=\"horizontal\">\n <p>\n <span class=\"label\">{{ labels.distributionListOwner }}: </span><span>{{ match?.data?.owner?.name }}</span>\n </p>\n <p>\n <span class=\"label\">{{ labels.dateAdded }}: </span\n ><span>{{ labels.formatDateWithFormat(match?.data?.dateAdded, { year: 'numeric', month: 'numeric', day: 'numeric' }) }}</span>\n </p>\n </item-content>\n </novo-list-item>\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches?.length > 0\"></novo-loading>\n </novo-list>\n `,\n standalone: false,\n})\nexport class DistributionListPickerResults extends BasePickerResults {\n @HostBinding('class.active')\n active: boolean = true;\n @HostBinding('hidden')\n get isHidden(): boolean {\n return this.matches.length === 0;\n }\n\n constructor(element: ElementRef, private sanitizer: DomSanitizer, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n this.sanitizer = sanitizer;\n }\n\n getListElement(): any {\n return this.element.nativeElement.querySelector('novo-list');\n }\n\n sanitizeHTML(html: any): any {\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'entity-picker-result',\n template: `\n <novo-list-item *ngIf=\"match.data\" (click)=\"select.next(match.data)\">\n <novo-item-header>\n <novo-item-avatar [icon]=\"getIconForResult(match.data)\"></novo-item-avatar>\n <novo-item-title> <span [innerHtml]=\"getNameForResult(match.data) | highlight:term\"></span> </novo-item-title>\n </novo-item-header>\n <novo-item-content direction=\"horizontal\">\n <!-- COMPANY 1 -->\n <novo-text smaller class=\"company\" *ngIf=\"match.data.companyName || match.data?.clientCorporation?.name\">\n <i class=\"bhi-company company\"></i>\n <span [innerHtml]=\"match.data.companyName || match.data?.clientCorporation?.name | highlight:term\"></span>\n </novo-text>\n <!-- CLIENT CONTACT -->\n <novo-text smaller class=\"contact\" *ngIf=\"match.data?.clientContact?.firstName\">\n <i class=\"bhi-person contact person\"></i>\n <span [innerHtml]=\"match.data.clientContact.firstName + ' ' + match.data.clientContact.lastName | highlight:term\"></span>\n </novo-text>\n <!-- CANDIDATE -->\n <novo-text smaller class=\"candidate\" *ngIf=\"match.data.candidate && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-candidate candidate\"></i>\n <span [innerHtml]=\"match.data.candidate.firstName + ' ' + match.data.candidate.lastName | highlight:term\"></span>\n </novo-text>\n <!-- START & END DATE -->\n <novo-text smaller class=\"start-date\" *ngIf=\"match.data.dateBegin && match.data.searchEntity === 'Placement'\">\n <i class=\"bhi-calendar\"></i>\n <span [innerHtml]=\"renderTimestamp(match.data.dateBegin) + ' - ' + renderTimestamp(match.data.dateEnd)\"></span>\n </novo-text>\n <!-- START Date -->\n <novo-text smaller class=\"start-date\" *ngIf=\"match.data.startTime && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-calendar\"></i>\n <span [innerHtml]=\"renderTimestamp(match.data.startTime)\"></span>\n </novo-text>\n <!-- START & END TIME -->\n <novo-text smaller class=\"start-time\" *ngIf=\"match.data.startTime && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-clock\"></i>\n <span [innerHtml]=\"renderTimeNoOffset(match.data.startTime) + ' - ' + renderTimeNoOffset(match.data.endTime)\"></span>\n </novo-text>\n <!-- JOBORDER -->\n <novo-text smaller class=\"job\" *ngIf=\"match.data.jobOrder && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-job job\"></i>\n <span [innerHtml]=\"match.data.jobOrder.title | highlight:term\"></span>\n </novo-text>\n <!-- OPENINGS -->\n <novo-text smaller class=\"openings\" *ngIf=\"match.data.openings && match.data.searchEntity === 'JobShift'\">\n <i class=\"bhi-candidate\"></i>\n <span>{{ match.data.numAssigned }} / {{ match.data.openings }}</span>\n </novo-text>\n <!-- EMAIL -->\n <novo-text smaller class=\"email\" *ngIf=\"match.data.email\">\n <i class=\"bhi-email\"></i> <span [innerHtml]=\"match.data.email | highlight:term\"></span>\n </novo-text>\n <!-- PHONE -->\n <novo-text smaller class=\"phone\" *ngIf=\"match.data.phone\">\n <i class=\"bhi-phone\"></i> <span [innerHtml]=\"match.data.phone | highlight:term\"></span>\n </novo-text>\n <!-- ADDRESS -->\n <novo-text smaller class=\"location\" *ngIf=\"match.data.address && (match.data.address.city || match.data.address.state)\">\n <i class=\"bhi-location\"></i> <span *ngIf=\"match.data.address.city\" [innerHtml]=\"highlight(match.data.address.city, term)\"></span>\n <span *ngIf=\"match.data.address.city && match.data.address.state\">, </span>\n <span *ngIf=\"match.data.address.state\" [innerHtml]=\"match.data.address.state | highlight:term\"></span>\n </novo-text>\n <!-- STATUS -->\n <novo-text smaller class=\"status\" *ngIf=\"match.data.status\">\n <i class=\"bhi-info\"></i> <span [innerHtml]=\"match.data.status | highlight:term\"></span>\n </novo-text>\n <!-- OWNER -->\n <novo-text smaller class=\"owner\" *ngIf=\"match.data.owner && match.data.owner.name && match.data.searchEntity === 'Candidate'\">\n <i class=\"bhi-person\"></i> <span [innerHtml]=\"match.data.owner.name | highlight:term\"></span>\n </novo-text>\n <!-- PRIMARY DEPARTMENT -->\n <novo-text\n smaller\n class=\"primary-department\"\n *ngIf=\"match.data.primaryDepartment && match.data.primaryDepartment.name && match.data.searchEntity === 'CorporateUser'\"\n >\n <i class=\"bhi-department\"></i> <span [innerHtml]=\"match.data.primaryDepartment.name | highlight:term\"></span>\n </novo-text>\n <!-- OCCUPATION -->\n <novo-text smaller class=\"occupation\" *ngIf=\"match.data.occupation && match.data.searchEntity === 'CorporateUser'\">\n <i class=\"bhi-occupation\"></i> <span [innerHtml]=\"match.data.occupation | highlight:term\"></span>\n </novo-text>\n </novo-item-content>\n </novo-list-item>\n `,\n styleUrls: ['../picker-results/PickerResult.scss'],\n standalone: false,\n})\nexport class EntityPickerResult {\n @Input() match: any;\n @Input() term: any;\n @Output() select: EventEmitter<any> = new EventEmitter();\n\n constructor(public labels: NovoLabelService) {}\n\n /**\n * @description This function captures the whole query string and replace it with the string that will be used to\n * match.\n */\n escapeRegexp(queryToEscape) {\n // Ex: if the capture is \"a\" the result will be \\a\n return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n }\n\n /**\n * @deprecated use highlight pipe\n */\n highlight(match, query) {\n // Replaces the capture string with a the same string inside of a \"strong\" tag\n return query && match ? match.replace(new RegExp(this.escapeRegexp(query.trim()), 'gi'), '<strong>$&</strong>') : match;\n }\n\n getIconForResult(result?: any): string {\n if (result) {\n switch (result.searchEntity) {\n case 'ClientContact':\n return 'person contact';\n case 'ClientCorporation':\n return 'company';\n case 'Opportunity':\n return 'opportunity';\n case 'Candidate':\n return 'candidate';\n case 'Lead':\n return 'lead';\n case 'JobOrder':\n return 'job';\n case 'Placement':\n return 'star placement';\n case 'CorporateUser':\n return 'user';\n case 'CorporationDepartment':\n return 'department';\n case 'JobShift':\n return 'timetable contract';\n default:\n return '';\n }\n }\n return '';\n }\n\n renderTimestamp(date?: any) {\n let timestamp = '';\n if (date) {\n timestamp = this.labels.formatDateWithFormat(date, { year: 'numeric', month: 'numeric', day: 'numeric' });\n }\n return timestamp;\n }\n\n renderTime(dateStr?: string) {\n let timestamp = '';\n if (dateStr) {\n timestamp = this.labels.formatTime(new Date(dateStr));\n }\n return timestamp;\n }\n\n renderTimeNoOffset(dateStr?: string) {\n let timestamp = '';\n if (dateStr) {\n dateStr = dateStr.slice(0, 19);\n timestamp = this.labels.formatTime(dateStr);\n }\n return timestamp;\n }\n\n getNameForResult(result?: any) {\n if (result) {\n switch (result.searchEntity) {\n case 'Lead':\n case 'CorporateUser':\n case 'ClientContact':\n case 'Candidate':\n case 'Person':\n if ('firstName' in result) {\n return `${result.firstName} ${result.lastName}`.trim();\n }\n return `${result.name || ''}`.trim();\n case 'ClientCorporation':\n return `${result.name || ''}`.trim();\n case 'Opportunity':\n case 'JobOrder':\n case 'BillingProfile':\n case 'InvoiceTerm':\n return `${result.id} | ${result.title || ''}`.trim();\n case 'Placement':\n let label = `${result.id}`;\n if (result.candidate || result.jobOrder) {\n if (result.candidate && result.jobOrder) {\n label = `${label} | ${result.candidate.firstName} ${result.candidate.lastName} - ${result.jobOrder.title}`.trim();\n } else if (result.jobOrder) {\n label = `${label} | ${result.jobOrder.title}`.trim();\n } else {\n label = `${label} | ${result.candidate.firstName} ${result.candidate.lastName}`.trim();\n }\n }\n return label;\n case 'JobShift':\n return `${result.jobOrder?.title} @ ${result.jobOrder?.clientCorporation?.name || ''}`.trim();\n default:\n return `${result.name || result.label || ''}`.trim();\n }\n }\n return '';\n }\n}\n\n@Component({\n selector: 'entity-picker-results',\n template: `\n <novo-list *ngIf=\"matches.length > 0\" direction=\"vertical\">\n <entity-picker-result\n *ngFor=\"let match of matches\"\n [match]=\"match\"\n [term]=\"term\"\n [ngClass]=\"{ active: match === activeMatch }\"\n (click)=\"selectMatch($event, match)\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n </entity-picker-result>\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches.length > 0\"></novo-loading>\n </novo-list>\n <div class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</div>\n <div class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage && term !== ''\">{{ labels.pickerEmpty }}</div>\n <div class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage && term === ''\">{{ labels.pickerTextFieldEmpty }}</div>\n `,\n styleUrls: ['../picker-results/PickerResults.scss'],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'novo-entity-picker-results',\n },\n standalone: false,\n})\nexport class EntityPickerResults extends BasePickerResults {\n @Output() select: EventEmitter<any> = new EventEmitter();\n\n constructor(element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n get hasNonErrorMessage() {\n return !this.isLoading && !this.matches.length && !this.hasError;\n }\n\n getListElement() {\n return this.element.nativeElement.querySelector('novo-list');\n }\n\n selectMatch(event?: any, item?: any) {\n this.select.next(item);\n return super.selectMatch(event, item);\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, OnDestroy, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoListElement } from 'novo-elements/elements/list';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'grouped-multi-picker-results',\n template: `\n <div class=\"grouped-multi-picker-groups\">\n <novo-list direction=\"vertical\">\n <novo-list-item\n *ngIf=\"config.displayAll\"\n (click)=\"selectCategory({ value: 'all', label: 'all' })\"\n [class.active]=\"selectedCategory?.value === 'all'\"\n data-automation-id=\"display-all\"\n [class.disabled]=\"isLoading\"\n >\n <item-content>\n <span data-automation-id=\"label\">{{ labels.all }}</span>\n </item-content>\n <item-end>\n <i class=\"bhi-next\"></i>\n </item-end>\n </novo-list-item>\n <novo-list-item\n *ngFor=\"let category of categories\"\n (click)=\"selectCategory(category)\"\n [class.active]=\"selectedCategory?.value === category.value\"\n [attr.data-automation-id]=\"category.label\"\n [class.disabled]=\"isLoading\"\n >\n <item-content>\n <i *ngIf=\"category.iconClass\" [class]=\"category.iconClass\"></i>\n <span data-automation-id=\"label\">{{ category.label }}</span>\n </item-content>\n <item-end>\n <i class=\"bhi-next\"></i>\n </item-end>\n </novo-list-item>\n </novo-list>\n <footer\n class=\"grouped-multi-picker-groups-footer\"\n *ngIf=\"customFilterEnabled\"\n data-automation-id=\"footer\"\n [class.disabled]=\"isLoading\"\n >\n <novo-switch [(ngModel)]=\"customFilterValue\" (onChange)=\"fireCustomFilter($event)\" data-automation-id=\"switch\"></novo-switch>\n <label data-automation-id=\"label\">{{ customFilterLabel }}</label>\n </footer>\n </div>\n <div class=\"grouped-multi-picker-matches\">\n <div class=\"grouped-multi-picker-input-container\" [hidden]=\"!selectedCategory\" data-automation-id=\"input-container\">\n <input autofocus #input [(ngModel)]=\"searchTerm\" [disabled]=\"isLoading\" data-automation-id=\"input\" [placeholder]=\"placeholder\" />\n <i class=\"bhi-search\" *ngIf=\"!searchTerm\" [class.disabled]=\"isLoading\" data-automation-id=\"seach-icon\"></i>\n <i\n class=\"bhi-times\"\n *ngIf=\"searchTerm\"\n (click)=\"clearSearchTerm($event)\"\n [class.disabled]=\"isLoading\"\n data-automation-id=\"remove-icon\"\n ></i>\n </div>\n <div class=\"grouped-multi-picker-list-container\">\n <novo-list direction=\"vertical\" #list>\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match) || isLoading\"\n [attr.data-automation-id]=\"match.label\"\n >\n <item-content>\n <span>{{ match.label }}</span>\n </item-content>\n </novo-list-item>\n </novo-list>\n <div\n class=\"grouped-multi-picker-no-results\"\n *ngIf=\"matches.length === 0 && !isLoading && selectedCategory\"\n data-automation-id=\"empty-message\"\n >\n {{ labels.groupedMultiPickerEmpty }}\n </div>\n <div\n class=\"grouped-multi-picker-no-category\"\n *ngIf=\"matches.length === 0 && !isLoading && !selectedCategory\"\n data-automation-id=\"select-category-message\"\n >\n {{ labels.groupedMultiPickerSelectCategory }}\n </div>\n <div class=\"grouped-multi-picker-loading\" *ngIf=\"isLoading\" data-automation-id=\"loading-message\">\n <novo-loading theme=\"line\"></novo-loading>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./GroupedMultiPickerResults.scss'],\n standalone: false,\n})\nexport class GroupedMultiPickerResults extends BasePickerResults implements OnInit, OnDestroy {\n @ViewChild('input', { static: true })\n private inputElement: ElementRef;\n @ViewChild('list')\n private listElement: NovoListElement;\n\n public selectedCategory: { value: string; label: string };\n public searchTerm: string;\n public customFilterEnabled: boolean = false;\n public customFilterLabel: string;\n public placeholder: string = '';\n\n private keyboardSubscription: Subscription;\n private internalMap: Map<string, { value: string; label: string; items: { value: string; label: string }[] }> = new Map<\n string,\n { value: string; label: string; items: { value: string; label: string }[] }\n >();\n public customFilterValue: any;\n\n set term(value) {\n // Display all only will work for static categories\n if (this.config.displayAll && this.config.getItemsForCategoryAsync) {\n throw new Error(\n '[GroupedMultiPickerResults] - you can only have `displayAll` with a static `categoryMap`. Not available with `getItemsForCategoryAsync`',\n );\n }\n // Custom filter\n if (this.config.customFilter) {\n this.customFilterEnabled = true;\n this.customFilterLabel = this.config.customFilter.label;\n this.customFilterValue = !!this.config.customFilter.defaultFilterValue;\n this.ref.markForCheck();\n if (!this.customFilterLabel || !this.config.customFilter.matchFunction) {\n throw new Error('[GroupedMultiPickerResults] - custom filter/matchFunction set no label was provided!');\n }\n } else {\n this.customFilterEnabled = false;\n }\n // Configure ALL\n if (this.config.displayAll && !this.selectedCategory) {\n this.setAllCategory();\n }\n // Placeholder\n if (this.config.placeholder) {\n this.placeholder = this.config.placeholder;\n }\n // Focus\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n }\n\n get categories() {\n if (this.config.categories || this.config.categoryMap) {\n return (\n this.config.categories ||\n Array.from(this.config.categoryMap.values()).filter((category: { value: string }) => {\n return category.value !== 'all';\n })\n );\n }\n return [];\n }\n\n constructor(element: ElementRef, private renderer: Renderer2, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n public ngOnInit() {\n // Subscribe to keyboard events and debounce\n this.keyboardSubscription = fromEvent(this.inputElement.nativeElement, 'keyup')\n .pipe(debounceTime(350), distinctUntilChanged())\n .subscribe((event: KeyboardEvent) => {\n this.searchTerm = (event.target as HTMLInputElement).value;\n this.matches = this.filterData();\n this.ref.markForCheck();\n });\n }\n\n public ngOnDestroy() {\n // Cleanup\n this.keyboardSubscription.unsubscribe();\n }\n\n public setAllCategory() {\n // If we have display all, set the all categories up\n if (this.config.displayAll) {\n this.selectedCategory = { value: 'all', label: 'all' };\n const allItems = [];\n Array.from(this.config.categoryMap.values())\n .filter((category: { value: string }) => {\n return category.value !== 'all';\n })\n .forEach((v: { value: string; label: string; items: any[] }) => allItems.push(...v.items));\n this.matches = this.filter(allItems);\n this.config.categoryMap.set('all', { value: 'all', label: 'All', items: allItems });\n this.ref.markForCheck();\n }\n }\n\n public selectCategory(category: { value: string; label: string }): void {\n // Scroll to top\n this.renderer.setProperty(this.listElement.element.nativeElement, 'scrollTop', 0);\n // Set focus\n this.inputElement.nativeElement.focus();\n // Find new items\n const key: string = category.value;\n this.selectedCategory = category;\n // Clear\n this.matches = [];\n this.ref.markForCheck();\n // New matches\n this.getNewMatches(category, key);\n }\n\n public clearSearchTerm(event: MouseEvent) {\n Helpers.swallowEvent(event);\n this.searchTerm = '';\n this.selectCategory({ value: this.selectedCategory.value, label: this.selectedCategory.label });\n this.ref.markForCheck();\n }\n\n public selectMatch(event?: MouseEvent, item?: { value: string; label: string }): boolean {\n // Set focus\n this.inputElement.nativeElement.focus();\n return super.selectMatch(event);\n }\n\n public fireCustomFilter(value: boolean) {\n this.customFilterValue = value;\n // Clear cache map\n this.internalMap.clear();\n // Only fire if we have a selected category\n if (this.selectCategory) {\n // Find new items\n const key: string = this.selectedCategory.value;\n // Get new matches\n this.getNewMatches(this.selectedCategory, key);\n this.ref.markForCheck();\n }\n // Focus\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n }\n\n filterData(): { value: string; label: string }[] {\n if (this.selectedCategory) {\n if (this.config.categoryMap) {\n return this.filter(this.config.categoryMap.get(this.selectedCategory.value).items);\n } else {\n return this.filter(this.internalMap.get(this.selectedCategory.value).items);\n }\n }\n return [];\n }\n\n private getNewMatches(category: { value: string; label: string }, key: string): void {\n // Get new matches\n if (this.config.categoryMap) {\n this.matches = this.filter(this.config.categoryMap.get(key).items);\n this.ref.markForCheck();\n } else {\n if (!this.config.getItemsForCategoryAsync) {\n throw new Error(\n 'The \"config\" for the Chips must include a function \"getItemsForCategoryAsync(categoryKey: string)\" to retrieve the items by category. Or if you have static data provide a \"categoryMap\"',\n );\n }\n if (!this.internalMap.get(key)) {\n this.isLoading = true;\n this.config.getItemsForCategoryAsync(key, this.customFilterValue).then((items: { value: string; label: string }[]) => {\n this.internalMap.set(key, { value: category.value, label: category.label, items });\n this.matches = this.filter(items, true);\n this.isLoading = false;\n this.ref.markForCheck();\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n });\n } else {\n this.matches = this.filter(this.internalMap.get(key).items);\n this.ref.markForCheck();\n }\n }\n }\n\n private filter(\n array: { value: string; label: string; filterValue?: any }[],\n ignoreCustomFilter: boolean = false,\n ): { value: string; label: string }[] {\n let matches: { value: string; label: string; filterValue?: any }[] = array;\n if (this.searchTerm && this.searchTerm.length !== 0 && this.selectedCategory) {\n matches = matches.filter((match) => {\n const searchTerm = this.searchTerm.toLowerCase();\n return match.label.toLowerCase().indexOf(searchTerm) > -1 || match.value.toLowerCase().indexOf(searchTerm) > -1;\n });\n }\n if (this.customFilterEnabled && this.config.customFilter.matchFunction && !ignoreCustomFilter) {\n matches = matches.filter((match) => this.config.customFilter.matchFunction(match, this.customFilterValue));\n }\n return matches;\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, OnDestroy, Renderer2, ViewChild } from '@angular/core';\nimport { fromEvent, Subject, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoListElement } from 'novo-elements/elements/list';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\nexport interface IMixedMultiPickerOption {\n value: string;\n label: string;\n secondaryOptions?: {\n value: string;\n label: string;\n filterValue?: any;\n }[];\n getSecondaryOptionsAsync?(): Promise<{ value: string; label: string }[]>;\n // TODO: Refactor to prevent the need for a behaviorSubject to allow primaryOption's secondaryOptions to be cleared\n // Currently secondaryOptions cannot be cleared via FieldInteraction API and must use a behavior subject - this includes modifyPickerConfig\n clearSecondaryOptions?: Subject<any>;\n showSearchOnSecondaryOptions?: boolean;\n}\n\n@Component({\n selector: 'mixed-multi-picker-results',\n template: ` <div class=\"mixed-multi-picker-groups\">\n <novo-list direction=\"vertical\">\n <novo-list-item\n *ngFor=\"let option of options\"\n (click)=\"selectPrimaryOption(option, $event)\"\n [class.active]=\"selectedPrimaryOption?.value === option.value\"\n [attr.data-automation-id]=\"option.label\"\n [class.disabled]=\"isLoading\"\n >\n <item-content>\n <i *ngIf=\"option.iconClass\" [class]=\"option.iconClass\"></i>\n <span data-automation-id=\"label\">{{ option.label }}</span>\n </item-content>\n <item-end *ngIf=\"optionHasSecondaryOptions(option)\">\n <i class=\"bhi-next\"></i>\n </item-end>\n </novo-list-item>\n </novo-list>\n </div>\n <div class=\"mixed-multi-picker-matches\" [hidden]=\"!optionHasSecondaryOptions(selectedPrimaryOption)\">\n <div\n class=\"mixed-multi-picker-input-container\"\n [hidden]=\"!shouldShowSearchBox(selectedPrimaryOption)\"\n data-automation-id=\"input-container\"\n >\n <input autofocus #input [(ngModel)]=\"searchTerm\" [disabled]=\"isLoading\" data-automation-id=\"input\" [placeholder]=\"placeholder\" />\n <i class=\"bhi-search\" *ngIf=\"!searchTerm\" [class.disabled]=\"isLoading\" data-automation-id=\"seach-icon\"></i>\n <i\n class=\"bhi-times\"\n *ngIf=\"searchTerm\"\n (click)=\"clearSearchTerm($event)\"\n [class.disabled]=\"isLoading\"\n data-automation-id=\"remove-icon\"\n ></i>\n </div>\n <div class=\"mixed-multi-picker-list-container\">\n <novo-list direction=\"vertical\" #list>\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match) || isLoading\"\n [attr.data-automation-id]=\"match.label\"\n >\n <item-content>\n <span>{{ match.label }}</span>\n </item-content>\n </novo-list-item>\n </novo-list>\n <div\n class=\"mixed-multi-picker-no-results\"\n *ngIf=\"matches.length === 0 && !isLoading && selectedPrimaryOption\"\n data-automation-id=\"empty-message\"\n >\n {{ config.emptyOptionsLabel ? config.emptyOptionsLabel : labels.groupedMultiPickerEmpty }}\n </div>\n <div class=\"mixed-multi-picker-loading\" *ngIf=\"isLoading\" data-automation-id=\"loading-message\">\n <novo-loading theme=\"line\"></novo-loading>\n </div>\n </div>\n </div>`,\n styleUrls: ['./MixedMultiPickerResults.scss'],\n standalone: false,\n})\nexport class MixedMultiPickerResults extends BasePickerResults implements OnDestroy {\n @ViewChild('input', { static: true })\n private inputElement: ElementRef;\n @ViewChild('list')\n private listElement: NovoListElement;\n\n public selectedPrimaryOption: IMixedMultiPickerOption;\n public searchTerm: string;\n public placeholder: string = '';\n public emptyOptionsLabel: string = '';\n\n private keyboardSubscription: Subscription;\n\n private internalMap: Map<string, { value: string; label: string; items: { value: string; label: string }[] }> = new Map<\n string,\n { value: string; label: string; items: { value: string; label: string }[] }\n >();\n\n set term(value) {\n if (this.config.placeholder) {\n this.placeholder = this.config.placeholder;\n }\n // Focus\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n }\n\n get options() {\n return this.config.options || [];\n }\n\n constructor(element: ElementRef, private renderer: Renderer2, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n public ngOnDestroy() {\n // Cleanup\n if (this.keyboardSubscription) {\n this.keyboardSubscription.unsubscribe();\n }\n if (this.config.options) {\n this.config.options.forEach((option) => {\n if (option.clearSecondaryOptions) {\n option.clearSecondaryOptions.unsubscribe();\n }\n });\n }\n }\n\n public selectPrimaryOption(primaryOption: IMixedMultiPickerOption, event?: MouseEvent): void {\n if (this.keyboardSubscription) {\n this.keyboardSubscription.unsubscribe();\n }\n // Scroll to top\n this.renderer.setProperty(this.listElement.element.nativeElement, 'scrollTop', 0);\n // Set focus\n this.inputElement.nativeElement.focus();\n // Find new items\n const key: string = primaryOption.value;\n this.selectedPrimaryOption = primaryOption;\n // Clear\n this.matches = [];\n this.ref.markForCheck();\n // New matches\n if (this.optionHasSecondaryOptions(primaryOption)) {\n // Subscribe to keyboard events and debounce\n this.keyboardSubscription = fromEvent(this.inputElement.nativeElement, 'keyup')\n .pipe(debounceTime(350), distinctUntilChanged())\n .subscribe((keyEvent: KeyboardEvent) => {\n this.searchTerm = (keyEvent.target as HTMLInputElement).value;\n this.matches = this.filterData();\n this.ref.markForCheck();\n });\n this.getNewMatches(primaryOption);\n } else {\n this.selectActive(primaryOption);\n this.selectMatch(event);\n }\n }\n\n public selectMatch(event?: MouseEvent): boolean {\n // Set focus\n this.inputElement.nativeElement.focus();\n return super.selectMatch(event);\n }\n\n public clearSearchTerm(event: MouseEvent) {\n Helpers.swallowEvent(event);\n this.searchTerm = '';\n this.selectPrimaryOption({ value: this.selectedPrimaryOption.value, label: this.selectedPrimaryOption.label });\n this.ref.markForCheck();\n }\n\n public optionHasSecondaryOptions(primaryOption: IMixedMultiPickerOption) {\n return !!(primaryOption && (primaryOption.secondaryOptions || primaryOption.getSecondaryOptionsAsync));\n }\n\n public shouldShowSearchBox(primaryOption: IMixedMultiPickerOption) {\n return !!(primaryOption && primaryOption.showSearchOnSecondaryOptions);\n }\n\n public clearPrimaryOption(primaryOption: IMixedMultiPickerOption) {\n if (this.internalMap.get(primaryOption.value)) {\n if (primaryOption.value === this.selectedPrimaryOption?.value) {\n this.activeMatch = null;\n this.matches = [];\n this.selectedPrimaryOption = null;\n }\n this.internalMap.delete(primaryOption.value);\n this.ref.markForCheck();\n }\n }\n\n filterData(): { value: string; label: string }[] {\n if (this.selectedPrimaryOption) {\n if (this.selectedPrimaryOption.secondaryOptions) {\n return this.filter(this.selectedPrimaryOption.secondaryOptions);\n } else {\n return this.filter(this.internalMap.get(this.selectedPrimaryOption.value).items);\n }\n }\n return [];\n }\n\n private filter(array: { value: string; label: string; filterValue?: any }[]): { value: string; label: string }[] {\n let matches: { value: string; label: string; filterValue?: any }[] = array;\n if (this.searchTerm && this.searchTerm.length !== 0 && this.selectedPrimaryOption) {\n matches = matches.filter((match) => {\n const searchTerm = this.searchTerm.toLowerCase();\n return match.label.toLowerCase().indexOf(searchTerm) > -1 || match.value.toLowerCase().indexOf(searchTerm) > -1;\n });\n }\n return matches;\n }\n\n private getNewMatches(primaryOption: IMixedMultiPickerOption): void {\n // Get new matches\n if (primaryOption.secondaryOptions) {\n this.matches = this.filter(primaryOption.secondaryOptions);\n this.ref.markForCheck();\n } else {\n if (!primaryOption.getSecondaryOptionsAsync) {\n throw new Error('An option needs to have either an array of secondaryOptions or a function getSecondaryOptionsAsync');\n }\n if (!this.internalMap.get(primaryOption.value)) {\n this.isLoading = true;\n primaryOption.getSecondaryOptionsAsync().then((items: { value: string; label: string }[]) => {\n this.internalMap.set(primaryOption.value, { value: primaryOption.value, label: primaryOption.label, items });\n this.matches = this.filter(items);\n this.isLoading = false;\n this.ref.markForCheck();\n setTimeout(() => {\n this.inputElement.nativeElement.focus();\n });\n });\n if (primaryOption.clearSecondaryOptions) {\n primaryOption.clearSecondaryOptions.subscribe(() => {\n this.clearPrimaryOption(primaryOption);\n });\n }\n } else {\n this.matches = this.filter(this.internalMap.get(primaryOption.value).items);\n this.ref.markForCheck();\n }\n }\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, ViewEncapsulation } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'picker-results',\n host: {\n class: 'active',\n },\n template: `\n <novo-list *ngIf=\"matches.length > 0\" direction=\"vertical\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n data-automation-id=\"picker-result-list-item\"\n >\n <item-content> <span [innerHtml]=\"match.label | highlight:term\"></span> </item-content>\n </novo-list-item>\n <novo-loading *ngIf=\"isLoading && matches.length > 0\" theme=\"line\"></novo-loading>\n </novo-list>\n <div class=\"picker-loader\" *ngIf=\"isLoading && matches.length === 0\"><novo-loading theme=\"line\"></novo-loading></div>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage\">{{ getEmptyMessage() }}</p>\n `,\n styleUrls: ['./PickerResults.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class PickerResults extends BasePickerResults {\n constructor(element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n get hasNonErrorMessage() {\n return !this.isLoading && !this.matches.length && !this.hasError;\n }\n\n getEmptyMessage() {\n if (this.shouldShowMessageForZeroLengthSearch()) {\n // this property comes from Field Interactions\n return this.config.emptyPickerMessage;\n } else {\n return this.term === '' ? this.labels.pickerTextFieldEmpty : this.labels.pickerEmpty;\n }\n }\n\n shouldShowMessageForZeroLengthSearch() {\n return this.config && this.config.minSearchLength === 0 && this.term === '' && this.config.emptyPickerMessage;\n }\n\n getListElement() {\n return this.element.nativeElement.querySelector('novo-list');\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, HostBinding } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\n// App\nimport { BasePickerResults } from '../base-picker-results/BasePickerResults';\n\n@Component({\n selector: 'skill-specialty-picker-results',\n template: `\n <section class=\"picker-loading\" *ngIf=\"isLoading && !matches?.length\"><novo-loading theme=\"line\"></novo-loading></section>\n <novo-list *ngIf=\"matches.length > 0\" direction=\"vertical\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n <item-content>\n <h6><span [innerHtml]=\"match.label | highlight:term\"></span></h6>\n <div class=\"category\">\n <i class=\"bhi-category-tags\"></i\n ><span [innerHtml]=\"match.data.categories || match.data.parentCategory.name | highlight:term\"></span>\n </div>\n </item-content>\n </novo-list-item>\n <novo-list-item *ngIf=\"limitedTo\"\n ><div>{{ labels.showingXofXResults(limit, total) }}</div></novo-list-item\n >\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches.length > 0\"></novo-loading>\n </novo-list>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null\" *ngIf=\"!isLoading && !matches.length && !hasError\">{{ labels.pickerEmpty }}</p>\n `,\n styleUrls: ['./SkillsSpecialtyPickerResults.scss'],\n standalone: false,\n})\nexport class SkillsSpecialtyPickerResults extends BasePickerResults {\n @HostBinding('class.active')\n active: boolean = true;\n limitedTo: boolean = false;\n limit: number = 200;\n total: number;\n\n constructor(public element: ElementRef, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, ref);\n }\n\n getListElement(): any {\n return this.element.nativeElement.querySelector('novo-list');\n }\n\n /**\n * @name structureArray\n * @param collection - the data once getData resolves it\n *\n * @description This function structures an array of nodes into an array of objects with a\n * 'name' field by default.\n */\n structureArray(collection: any): any {\n let data = collection;\n if (collection.hasOwnProperty('data')) {\n this.limitedTo = collection.limitedTo200;\n this.total = collection.total;\n data = collection.data;\n } else if (data.length > this.limit) {\n this.limitedTo = true;\n this.total = data.length;\n data = data.slice(0, this.limit);\n }\n return super.structureArray(data);\n }\n}\n","// NG2\nimport { ChangeDetectorRef, Component, ElementRef } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { NovoLabelService } from 'novo-elements/services';\n// Vendor\nimport {PickerResults} from '../picker-results';\n\n@Component({\n selector: 'workers-comp-codes-picker-results',\n host: {\n class: 'active',\n },\n template: `\n <section class=\"picker-loading\" *ngIf=\"isLoading && !matches?.length\">\n <novo-loading theme=\"line\"></novo-loading>\n </section>\n <novo-list direction=\"vertical\" *ngIf=\"matches?.length > 0 && !hasError\">\n <novo-list-item\n *ngFor=\"let match of matches\"\n (click)=\"selectMatch($event)\"\n [class.active]=\"match === activeMatch\"\n (mouseenter)=\"selectActive(match)\"\n [class.disabled]=\"preselected(match)\"\n >\n <item-header>\n <item-title>\n <span [innerHtml]=\"sanitizeHTML(match?.data?.compensation?.code, match?.data?.compensation?.name)\"></span>\n </item-title>\n </item-header>\n <item-content direction=\"horizontal\">\n <p>\n <span class=\"label\">{{ labels.state }}: </span><span>{{ match?.data?.compensation?.state }}</span>\n </p>\n <p>\n <span class=\"label\">{{ labels.rate }}: </span><span>{{ labels.formatCurrency(match?.data?.rate) }}</span>\n </p>\n </item-content>\n <item-content direction=\"horizontal\">\n <p>\n <span class=\"label\">{{ labels.startDate }}: </span\n ><span>{{ labels.formatDateWithFormat(match?.data?.startDate, { year: 'numeric', month: 'numeric', day: 'numeric' }) }}</span>\n </p>\n <p>\n <span class=\"label\">{{ labels.endDate }}: </span\n ><span>{{ labels.formatDateWithFormat(match?.data?.endDate, { year: 'numeric', month: 'numeric', day: 'numeric' }) }}</span>\n </p>\n </item-content>\n </novo-list-item>\n <novo-loading theme=\"line\" *ngIf=\"isLoading && matches?.length > 0\"></novo-loading>\n </novo-list>\n <div class=\"picker-loader\" *ngIf=\"isLoading && matches.length === 0\"><novo-loading theme=\"line\"></novo-loading></div>\n <p class=\"picker-error\" *ngIf=\"hasError\">{{ labels.pickerError }}</p>\n <p class=\"picker-null-results\" *ngIf=\"hasNonErrorMessage\">{{ getEmptyMessage() }}</p>\n `,\n standalone: false,\n})\nexport class WorkersCompCodesPickerResults extends PickerResults {\n\n constructor(element: ElementRef, private sanitizer: DomSanitizer, public labels: NovoLabelService, ref: ChangeDetectorRef) {\n super(element, labels, ref);\n }\n\n sanitizeHTML(compCode: string, name: string) {\n return this.sanitizer.bypassSecurityTrustHtml(`${compCode} | ${name}`);\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectorRef,\n Component,\n ComponentRef,\n DestroyRef,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { ComponentUtils } from 'novo-elements/services';\nimport { Helpers, Key, notify } from 'novo-elements/utils';\nimport { NovoOverlayTemplateComponent } from 'novo-elements/elements/common';\nimport { PickerResults } from './extras/picker-results/PickerResults';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n// Value accessor for the component (supports ngModel)\nconst PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoPickerElement),\n multi: true,\n};\n\nconst DEFAULT_DEBOUNCE_TIME = 250;\n\n/**\n * @description This class is the directive definition of the Picker. If you add an attribute of `picker` to an input,\n * it will create an instance of the picker which wraps the input in all of the picker HTML elements and functionality.\n * Picker should be added as a two-way bound ngModel instance `[(picker)]=\"\"` in order to have the picker options\n * dynamically populate.\n */\n@Component({\n selector: 'novo-picker',\n providers: [PICKER_VALUE_ACCESSOR],\n template: `\n <i class=\"bhi-more\" *ngIf=\"config?.entityIcon && !_value\"></i>\n <i class=\"bhi-{{ config?.entityIcon }} entity-icon {{ config?.entityIcon }}\" *ngIf=\"config?.entityIcon && _value\"></i>\n <input\n type=\"text\"\n class=\"picker-input\"\n [(ngModel)]=\"term\"\n [class.entity-picker]=\"config?.entityIcon\"\n [class.entity-selected]=\"config?.entityIcon && _value\"\n (ngModelChange)=\"checkTerm($event)\"\n [placeholder]=\"placeholder\"\n (keydown)=\"onKeyDown($event)\"\n (focus)=\"onFocus($event)\"\n (click)=\"onFocus($event)\"\n (blur)=\"onTouched($event)\"\n [maxlength]=\"maxlength\"\n autocomplete=\"off\"\n #input\n [disabled]=\"disablePickerInput\"\n />\n <i class=\"bhi-search\" *ngIf=\"(!_value || clearValueOnSelect) && !disablePickerInput\"></i>\n <i\n class=\"bhi-times\"\n [class.entity-selected]=\"config?.entityIcon && _value\"\n *ngIf=\"_value && !clearValueOnSelect && !disablePickerInput\"\n (click)=\"clearValue(true)\"\n ></i>\n <novo-overlay-template class=\"picker-results-container\" [parent]=\"element\" [width]=\"width\" [minWidth]=\"minWidth\" position=\"above-below\" (closing)=\"onOverlayClosed()\">\n <span #results></span>\n <ng-content></ng-content>\n </novo-overlay-template>\n `,\n styleUrls: ['./Picker.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class NovoPickerElement implements OnInit {\n // Container for the results\n @ViewChild('results', { read: ViewContainerRef, static: true })\n results: ViewContainerRef;\n\n @Input()\n config: any = {};\n @Input()\n placeholder: string;\n @Input()\n clearValueOnSelect: boolean;\n @Input()\n closeOnSelect: boolean = true;\n @Input()\n selected: Array<any> = [];\n // Deprecated\n @Input()\n appendToBody: boolean = false;\n // Deprecated\n @Input()\n parentScrollSelector: string;\n // Deprecated\n @Input()\n parentScrollAction: string = 'close';\n // Custom class for the dropdown container\n @Input()\n containerClass: string;\n // Side the dropdown will open\n @Input()\n side: string = 'left';\n // Autoselects the first option in the results\n @Input()\n autoSelectFirstOption: boolean = true;\n @Input()\n overrideElement: ElementRef;\n @Input()\n maxlength: number;\n @Input()\n allowCustomValues = false;\n @Input()\n width: string;\n @Input()\n minWidth: string;\n @Input()\n allowTabNavigation: boolean = false;\n\n // Disable from typing into the picker (result template does everything)\n @Input()\n set disablePickerInput(v: boolean) {\n this._disablePickerInput = coerceBooleanProperty(v);\n }\n\n get disablePickerInput() {\n return this._disablePickerInput;\n }\n\n private _disablePickerInput: boolean = false;\n\n // Emitter for selects\n @Output()\n changed: EventEmitter<any> = new EventEmitter();\n @Output()\n select: EventEmitter<any> = new EventEmitter();\n @Output()\n focus: EventEmitter<any> = new EventEmitter();\n @Output()\n blur: EventEmitter<any> = new EventEmitter();\n @Output()\n typing: EventEmitter<any> = new EventEmitter();\n @Output()\n tab: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(NovoOverlayTemplateComponent, { static: true })\n public container: NovoOverlayTemplateComponent;\n @ViewChild('input', { static: true })\n public input: ElementRef;\n\n term: string = '';\n resultsComponent: any;\n popup: ComponentRef<any>;\n _value: any;\n onModelChange: Function = () => {};\n onModelTouched: Function = () => {};\n\n\n constructor(\n public element: ElementRef,\n private componentUtils: ComponentUtils,\n private ref: ChangeDetectorRef,\n private destroyRef: DestroyRef) {}\n\n ngOnInit() {\n if (this.overrideElement) {\n this.element = this.overrideElement;\n }\n if (this.appendToBody) {\n notify('\\'appendToBody\\' has been deprecated. Please remove this attribute.');\n }\n const debounceTimeInMilliSeconds = Number.isNaN(Number(this.config?.debounceTimeInMilliSeconds)) ? DEFAULT_DEBOUNCE_TIME : Number(this.config?.debounceTimeInMilliSeconds);\n // Custom results template\n this.resultsComponent = this.config.resultsTemplate || PickerResults;\n\n const pasteObserver = fromEvent(this.input.nativeElement, 'paste').pipe(takeUntilDestroyed(this.destroyRef), debounceTime(debounceTimeInMilliSeconds), distinctUntilChanged());\n pasteObserver.subscribe({\n next: (event: ClipboardEvent) => this.onDebouncedKeyup(event),\n error: (err) => this.hideResults(err),\n });\n const keyboardObserver = fromEvent(this.input.nativeElement, 'keyup').pipe(takeUntilDestroyed(this.destroyRef), debounceTime(debounceTimeInMilliSeconds), distinctUntilChanged());\n keyboardObserver.subscribe({\n next: (event: KeyboardEvent) => this.onDebouncedKeyup(event),\n error: (err) => this.hideResults(err),\n });\n }\n\n private onDebouncedKeyup(event: KeyboardEvent | ClipboardEvent) {\n if ([Key.Escape, Key.ArrowDown, Key.ArrowUp, Key.Enter, Key.Tab].some((key) => key === (event as KeyboardEvent).key)) {\n return;\n }\n this.show((event.target as any).value);\n }\n\n public openPanel(): void {\n this.container.openPanel();\n }\n\n public closePanel(): void {\n this.container.closePanel();\n }\n\n public get panelOpen(): boolean {\n return this.container && this.container.panelOpen;\n }\n\n private show(term?: string): void {\n this.openPanel();\n // Show the results inside - only if openPanel actually opened (will be skipped if no parent)\n if (this.panelOpen) {\n this.showResults(term);\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.disablePickerInput) {\n Helpers.swallowEvent(event);\n return;\n }\n if (this.panelOpen && !this.disablePickerInput) {\n if (event.key === Key.Escape || (event.key === Key.Tab && !this.allowTabNavigation)) {\n this.hideResults();\n return;\n }\n\n if (event.key === Key.ArrowUp) {\n this.popup.instance.prevActiveMatch();\n this.ref.markForCheck();\n return;\n }\n\n if (event.key === Key.ArrowDown) {\n this.popup.instance.nextActiveMatch();\n this.ref.markForCheck();\n return;\n }\n\n if (event.key === Key.Enter) {\n const activeMatch = this.popup.instance.activeMatch;\n if (!this.selected.find((selected) => activeMatch && activeMatch.value && selected.value === activeMatch.value)) {\n this.popup.instance.selectActiveMatch();\n this.ref.markForCheck();\n }\n return;\n }\n\n if ((event.key === Key.Backspace || event.key === Key.Delete) && !Helpers.isEmpty(this._value) && (this._value === this.term)) {\n this.clearValue(false);\n this.closePanel();\n }\n if (event.key === Key.Delete && Helpers.isBlank(this._value)) {\n this.clearValue(true);\n }\n }\n\n if (this.allowTabNavigation && event.key === Key.Tab) {\n this.closePanel();\n this.tab.emit();\n }\n }\n\n clearValue(wipeTerm) {\n this._value = null;\n this.select.emit(this._value);\n this.changed.emit({ value: this._value, rawValue: { label: '', value: this._value } });\n this.onModelChange(this._value);\n\n if (wipeTerm) {\n this.term = '';\n if (this.popup?.instance) {\n this.popup.instance.customTextValue = null;\n }\n this.hideResults();\n }\n this.ref.markForCheck();\n }\n\n /**\n * @description When the input's focus event is called this method calls the debounced function that displays the\n * results.\n */\n onFocus(event) {\n if (!this.panelOpen) {\n this.show();\n }\n this.focus.emit(event);\n }\n\n // Creates an instance of the results (called popup) and adds all the bindings to that instance.\n showResults(term?: any) {\n // Update Matches\n if (this.popup) {\n // Update existing list or create the DOM element\n this.popup.instance.config = this.config;\n this.popup.instance.term = this.term;\n this.popup.instance.selected = this.selected;\n this.popup.instance.autoSelectFirstOption = this.autoSelectFirstOption;\n this.ref.markForCheck();\n } else {\n this.popup = this.componentUtils.append(this.resultsComponent, this.results);\n this.popup.instance.parent = this;\n this.popup.instance.config = this.config;\n this.popup.instance.term = this.term;\n this.popup.instance.selected = this.selected;\n this.popup.instance.autoSelectFirstOption = this.autoSelectFirstOption;\n this.popup.instance.overlay = this.container.overlayRef;\n this.ref.markForCheck();\n }\n }\n\n // Tells the overlay component to hide the picker results from the DOM without deleting the dynamically allocated popup instance created in\n // showResults. The popup instance will remain in memory from the first time the results are shown until this component is destroyed.\n hideResults(err?: any) {\n this.closePanel();\n this.ref.markForCheck();\n }\n\n // Cleans up listeners for the popup - will get executed no matter how the popup is closed.\n onOverlayClosed(): void {\n if (this.popup && this.popup.instance && this.popup.instance.cleanUp) {\n this.popup.instance.cleanUp();\n }\n }\n\n // get accessor\n get value() {\n return this._value;\n }\n\n // set accessor including call the onchange callback\n set value(selected) {\n if (!selected) {\n this.term = '';\n this._value = null;\n this.onModelChange(this._value);\n } else if (selected.value !== this._value) {\n this.term = this.clearValueOnSelect ? '' : selected.label;\n this._value = selected.value;\n this.changed.emit({ value: selected.value, rawValue: { label: this.term, value: selected.value } });\n this.select.emit(selected);\n this.onModelChange(selected.value);\n if (this.popup) {\n this.popup.instance.selected = this.selected;\n }\n } else {\n this.term = this.clearValueOnSelect ? '' : selected.label;\n this.changed.emit({ value: selected.value, rawValue: { label: this.term, value: this._value } });\n this.select.emit(selected);\n }\n this.ref.markForCheck();\n }\n\n // Makes sure to clear the model if the user clears the text box\n checkTerm(event) {\n this.typing.emit(event);\n if (this.allowCustomValues) {\n if (this.term) {\n this.popup.instance.customTextValue = { label: this.term, value: this.term }\n } else {\n this.popup.instance.customTextValue = null;\n }\n }\n if ((!event || !event.length) && !Helpers.isEmpty(this._value)) {\n this._value = null;\n this.onModelChange(this._value);\n }\n this.ref.markForCheck();\n }\n\n // Set touched on blur\n onTouched(event?: Event) {\n this.onModelTouched();\n this.blur.emit(event);\n }\n\n // From ControlValueAccessor interface\n writeValue(value: any) {\n if (this.clearValueOnSelect) {\n this.term = '';\n } else {\n if (typeof value === 'string' && !this.config.useGetLabels) {\n this.term = value;\n } else if (value && value.label) {\n this.term = value.label;\n } else if (value && value.firstName) {\n this.term = `${value.firstName} ${value.lastName}`;\n } else if (value && value.name) {\n this.term = value.name;\n } else if (typeof this.config.getLabels === 'function') {\n this.config.getLabels(value).then((result) => {\n if (result) {\n this.term = result.length ? result[0].label || '' : result.label || '';\n } else {\n this.term = value;\n }\n this.ref.markForCheck();\n });\n } else if (value && value.title) {\n this.term = value.title;\n } else {\n this.term = value || '';\n }\n }\n this._value = value;\n this.ref.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(disabled: boolean): void {\n this._disablePickerInput = disabled;\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoCommonModule, NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoLoadingModule } from 'novo-elements/elements/loading';\nimport { NovoSwitchModule } from 'novo-elements/elements/switch';\nimport { ChecklistPickerResults } from './extras/checklist-picker-results/ChecklistPickerResults';\nimport { DistributionListPickerResults } from './extras/distributionlist-picker-results/DistributionListPickerResults';\nimport { EntityPickerResult, EntityPickerResults } from './extras/entity-picker-results/EntityPickerResults';\nimport { GroupedMultiPickerResults } from './extras/grouped-multi-picker-results/GroupedMultiPickerResults';\nimport { MixedMultiPickerResults } from './extras/mixed-multi-picker-results/MixedMultiPickerResults';\nimport { PickerResults } from './extras/picker-results/PickerResults';\nimport { SkillsSpecialtyPickerResults } from './extras/skills-picker-results/SkillsSpecialtyPickerResults';\nimport { WorkersCompCodesPickerResults } from './extras/workers-comp-codes-picker-results/WorkersCompCodesPickerResults';\nimport { NovoPickerElement } from './Picker';\n\n@NgModule({\n imports: [CommonModule, NovoPipesModule, FormsModule, NovoCommonModule, NovoLoadingModule, NovoListModule, NovoOverlayModule, NovoSwitchModule],\n declarations: [\n NovoPickerElement,\n PickerResults,\n EntityPickerResult,\n EntityPickerResults,\n ChecklistPickerResults,\n GroupedMultiPickerResults,\n MixedMultiPickerResults,\n DistributionListPickerResults,\n WorkersCompCodesPickerResults,\n SkillsSpecialtyPickerResults,\n ],\n exports: [\n NovoPickerElement,\n PickerResults,\n EntityPickerResult,\n EntityPickerResults,\n ChecklistPickerResults,\n GroupedMultiPickerResults,\n MixedMultiPickerResults,\n DistributionListPickerResults,\n WorkersCompCodesPickerResults,\n SkillsSpecialtyPickerResults,\n ],\n})\nexport class NovoPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i1","i2","i3","i5","i6"],"mappings":"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"}