@fundamental-ngx/platform 0.44.1-rc.3 → 0.45.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 (277) hide show
  1. package/action-bar/action-bar.component.d.ts +1 -6
  2. package/action-bar/action-bar.module.d.ts +3 -4
  3. package/button/button.module.d.ts +2 -3
  4. package/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.d.ts +1 -3
  5. package/esm2022/action-bar/action-bar.component.mjs +3 -5
  6. package/esm2022/action-bar/action-bar.module.mjs +5 -26
  7. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +5 -5
  8. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +5 -5
  9. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +1 -1
  10. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +5 -5
  11. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
  12. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +1 -1
  13. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
  14. package/esm2022/approval-flow/approval-flow.component.mjs +1 -1
  15. package/esm2022/button/button.module.mjs +5 -6
  16. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +2 -8
  17. package/esm2022/dynamic-page/dynamic-page.component.mjs +1 -1
  18. package/esm2022/feed-input/feed-input.component.mjs +3 -17
  19. package/esm2022/form/checkbox/checkbox.component.mjs +3 -50
  20. package/esm2022/form/checkbox/checkbox.module.mjs +5 -26
  21. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +10 -38
  22. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +5 -23
  23. package/esm2022/form/combobox/combobox/combobox.component.mjs +1 -1
  24. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +1 -1
  25. package/esm2022/form/combobox/combobox.module.mjs +4 -8
  26. package/esm2022/form/date-picker/date-picker.component.mjs +4 -66
  27. package/esm2022/form/date-picker/date-picker.module.mjs +5 -26
  28. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +3 -56
  29. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +5 -26
  30. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +2 -2
  31. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +2 -2
  32. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +2 -2
  33. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +2 -2
  34. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +35 -60
  35. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +1 -1
  36. package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
  37. package/esm2022/form/form-group/fdp-form.module.mjs +1 -5
  38. package/esm2022/form/form-group/form-field/form-field.component.mjs +5 -41
  39. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +1 -1
  40. package/esm2022/form/form-group/form-group.component.mjs +5 -29
  41. package/esm2022/form/index.mjs +1 -2
  42. package/esm2022/form/input/fdp-input.module.mjs +5 -23
  43. package/esm2022/form/input-group/input-group.module.mjs +4 -22
  44. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
  45. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +1 -1
  46. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -8
  47. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  48. package/esm2022/form/multi-input/multi-input.component.mjs +3 -3
  49. package/esm2022/form/multi-input/multi-input.module.mjs +4 -8
  50. package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +9 -27
  51. package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +5 -23
  52. package/esm2022/form/radio-group/radio/radio.component.mjs +3 -22
  53. package/esm2022/form/radio-group/radio-group.component.mjs +1 -1
  54. package/esm2022/form/radio-group/radio-group.module.mjs +4 -17
  55. package/esm2022/form/select/select/select.component.mjs +5 -23
  56. package/esm2022/form/select/select.module.mjs +4 -20
  57. package/esm2022/form/step-input/number/number-step-input.component.mjs +1 -1
  58. package/esm2022/form/step-input/step-input.module.mjs +4 -8
  59. package/esm2022/form/switch/switch/switch.component.mjs +1 -1
  60. package/esm2022/form/switch/switch.module.mjs +5 -23
  61. package/esm2022/form/text-area/text-area.component.mjs +4 -21
  62. package/esm2022/form/text-area/text-area.module.mjs +4 -8
  63. package/esm2022/form/time-picker/time-picker.module.mjs +5 -26
  64. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +1 -1
  65. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +1 -1
  66. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +1 -1
  67. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +1 -1
  68. package/esm2022/link/link.component.mjs +3 -3
  69. package/esm2022/list/action-list-item/action-list-item.component.mjs +1 -1
  70. package/esm2022/list/base-list-item.mjs +6 -49
  71. package/esm2022/list/display-list-item/display-list-item.component.mjs +1 -1
  72. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +3 -3
  73. package/esm2022/list/list-group-header.component.mjs +2 -8
  74. package/esm2022/list/list.component.mjs +1 -1
  75. package/esm2022/list/list.module.mjs +2 -9
  76. package/esm2022/list/object-list-item/object-list-item.component.mjs +1 -1
  77. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -17
  78. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +3 -3
  79. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -8
  80. package/esm2022/menu/menu.module.mjs +5 -37
  81. package/esm2022/menu-button/menu-button.module.mjs +5 -23
  82. package/esm2022/message-popover/components/message-view/message-view.component.mjs +2 -2
  83. package/esm2022/message-popover/message-popover.component.mjs +4 -5
  84. package/esm2022/panel/panel.module.mjs +5 -17
  85. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +1 -1
  86. package/esm2022/search-field/search-field.component.mjs +8 -45
  87. package/esm2022/search-field/search-field.module.mjs +4 -19
  88. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +2 -2
  89. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +1 -1
  90. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
  91. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +1 -1
  92. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +1 -1
  93. package/esm2022/shared/form/form-field.mjs +1 -1
  94. package/esm2022/shared/form/form-options.mjs +1 -1
  95. package/esm2022/shared/form/hint-options.mjs +1 -1
  96. package/esm2022/shared/index.mjs +1 -2
  97. package/esm2022/slider/slider.component.mjs +1 -1
  98. package/esm2022/slider/slider.module.mjs +5 -6
  99. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +6 -10
  100. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +10 -12
  101. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +8 -11
  102. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +40 -45
  103. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-condition.mjs +1 -1
  104. package/esm2022/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.mjs +1 -1
  105. package/esm2022/smart-filter-bar/interfaces/strategy-labels.type.mjs +1 -1
  106. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +1 -1
  107. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +5 -72
  108. package/esm2022/split-menu-button/split-menu-button.module.mjs +5 -23
  109. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +1 -1
  110. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +1 -1
  111. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
  112. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +1 -1
  113. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +3 -3
  114. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +3 -3
  115. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +3 -3
  116. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +1 -1
  117. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +1 -1
  118. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
  119. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
  120. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +3 -3
  121. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
  122. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +1 -1
  123. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
  124. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
  125. package/esm2022/table/table.component.mjs +1 -1
  126. package/esm2022/table/table.module.mjs +1 -5
  127. package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +5 -5
  128. package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +3 -3
  129. package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +1 -1
  130. package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +1 -1
  131. package/esm2022/upload-collection/models/upload-collection.models.mjs +1 -1
  132. package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +4 -29
  133. package/esm2022/upload-collection/upload-collection.module.mjs +4 -8
  134. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +2 -27
  135. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +3 -17
  136. package/esm2022/value-help-dialog/index.mjs +1 -2
  137. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +4 -43
  138. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -22
  139. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +3 -3
  140. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +1 -1
  141. package/esm2022/variant-management/variant-management.component.mjs +1 -1
  142. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +1 -1
  143. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +1 -1
  144. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +1 -1
  145. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +1 -1
  146. package/feed-input/feed-input.component.d.ts +1 -9
  147. package/fesm2022/fundamental-ngx-platform-action-bar.mjs +7 -29
  148. package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +25 -25
  150. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-platform-button.mjs +5 -5
  152. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +3 -8
  154. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +2 -16
  156. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-platform-form.mjs +138 -716
  158. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  159. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +4 -4
  160. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
  162. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-platform-list.mjs +23 -93
  164. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +5 -22
  166. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-platform-menu.mjs +4 -36
  168. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  169. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +2 -2
  170. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  171. package/fesm2022/fundamental-ngx-platform-panel.mjs +5 -16
  172. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  173. package/fesm2022/fundamental-ngx-platform-search-field.mjs +12 -63
  174. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  175. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +5 -5
  176. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  177. package/fesm2022/fundamental-ngx-platform-shared.mjs +2 -116
  178. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  179. package/fesm2022/fundamental-ngx-platform-slider.mjs +6 -6
  180. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +71 -146
  182. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  183. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +5 -22
  184. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  185. package/fesm2022/fundamental-ngx-platform-table.mjs +23 -26
  186. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  187. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +6 -6
  188. package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +1 -1
  189. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +9 -37
  190. package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
  191. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +11 -147
  192. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  193. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +4 -4
  194. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  195. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +4 -4
  196. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  197. package/form/checkbox/checkbox.component.d.ts +3 -19
  198. package/form/checkbox/checkbox.module.d.ts +3 -4
  199. package/form/checkbox-group/checkbox-group.component.d.ts +5 -16
  200. package/form/checkbox-group/checkbox-group.module.d.ts +2 -3
  201. package/form/combobox/combobox.module.d.ts +2 -3
  202. package/form/date-picker/date-picker.component.d.ts +1 -35
  203. package/form/date-picker/date-picker.module.d.ts +2 -3
  204. package/form/datetime-picker/datetime-picker.component.d.ts +1 -33
  205. package/form/datetime-picker/datetime-picker.module.d.ts +2 -3
  206. package/form/form-generator/form-generator/form-generator.component.d.ts +8 -18
  207. package/form/form-generator/interfaces/dynamic-form-item.d.ts +1 -13
  208. package/form/form-group/fdp-form.module.d.ts +12 -13
  209. package/form/form-group/form-field/form-field.component.d.ts +2 -17
  210. package/form/form-group/form-group.component.d.ts +2 -14
  211. package/form/index.d.ts +0 -1
  212. package/form/input/fdp-input.module.d.ts +2 -3
  213. package/form/input-group/input-group.module.d.ts +2 -3
  214. package/form/multi-combobox/multi-combobox.module.d.ts +2 -3
  215. package/form/multi-input/multi-input.module.d.ts +2 -3
  216. package/form/platform-file-uploader/platform-file-uploader.component.d.ts +5 -11
  217. package/form/platform-file-uploader/platform-file-uploader.module.d.ts +2 -3
  218. package/form/radio-group/radio/radio.component.d.ts +1 -8
  219. package/form/radio-group/radio-group.module.d.ts +2 -3
  220. package/form/select/select/select.component.d.ts +1 -8
  221. package/form/select/select.module.d.ts +2 -3
  222. package/form/step-input/step-input.module.d.ts +2 -3
  223. package/form/switch/switch.module.d.ts +2 -3
  224. package/form/text-area/text-area.component.d.ts +1 -6
  225. package/form/text-area/text-area.module.d.ts +3 -4
  226. package/form/time-picker/time-picker.module.d.ts +2 -3
  227. package/fundamental-ngx-platform-v0.45.0.tgz +0 -0
  228. package/list/base-list-item.d.ts +2 -27
  229. package/list/list-group-header.component.d.ts +1 -3
  230. package/list/list.module.d.ts +7 -8
  231. package/list/object-list-item/object-list-item.module.d.ts +2 -3
  232. package/list/standard-list-item/standard-list-item.module.d.ts +2 -3
  233. package/menu/menu.module.d.ts +2 -3
  234. package/menu-button/menu-button.module.d.ts +2 -3
  235. package/package.json +4 -4
  236. package/panel/panel.module.d.ts +2 -3
  237. package/schematics/ng-add/index.js +1 -1
  238. package/search-field/search-field.component.d.ts +1 -18
  239. package/search-field/search-field.module.d.ts +4 -5
  240. package/shared/form/form-field.d.ts +1 -17
  241. package/shared/form/form-options.d.ts +0 -3
  242. package/shared/form/hint-options.d.ts +0 -7
  243. package/shared/index.d.ts +0 -1
  244. package/slider/slider.module.d.ts +2 -3
  245. package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +1 -3
  246. package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +1 -2
  247. package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +8 -8
  248. package/smart-filter-bar/interfaces/smart-filter-bar-condition.d.ts +0 -6
  249. package/smart-filter-bar/interfaces/smart-filter-bar-settings-dialog-config.d.ts +0 -6
  250. package/smart-filter-bar/interfaces/strategy-labels.type.d.ts +1 -1
  251. package/smart-filter-bar/smart-filter-bar.class.d.ts +0 -3
  252. package/smart-filter-bar/smart-filter-bar.component.d.ts +1 -43
  253. package/split-menu-button/split-menu-button.module.d.ts +2 -3
  254. package/table/table.module.d.ts +5 -6
  255. package/upload-collection/models/upload-collection.models.d.ts +0 -2
  256. package/upload-collection/upload-collection/upload-collection.component.d.ts +1 -16
  257. package/upload-collection/upload-collection.module.d.ts +1 -1
  258. package/value-help-dialog/components/define-tab/define-tab.component.d.ts +1 -11
  259. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -7
  260. package/value-help-dialog/index.d.ts +0 -1
  261. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -21
  262. package/value-help-dialog/value-help-dialog.module.d.ts +32 -34
  263. package/esm2022/form/form-group/deprecated-form-group-compact.directive.mjs +0 -30
  264. package/esm2022/shared/platform-content-density-deprecations/directives/platform-compact-deprecation.directive.mjs +0 -24
  265. package/esm2022/shared/platform-content-density-deprecations/directives/platform-content-density-deprecation.directive.mjs +0 -68
  266. package/esm2022/shared/platform-content-density-deprecations/index.mjs +0 -5
  267. package/esm2022/shared/platform-content-density-deprecations/platform-content-density-deprecations.module.mjs +0 -19
  268. package/esm2022/shared/platform-content-density-deprecations/providers/module-deprecation.provider.mjs +0 -13
  269. package/esm2022/value-help-dialog/components/value-help-dialog-search/value-help-dialog-search.component.mjs +0 -46
  270. package/form/form-group/deprecated-form-group-compact.directive.d.ts +0 -8
  271. package/fundamental-ngx-platform-v0.44.1-rc.3.tgz +0 -0
  272. package/shared/platform-content-density-deprecations/directives/platform-compact-deprecation.directive.d.ts +0 -8
  273. package/shared/platform-content-density-deprecations/directives/platform-content-density-deprecation.directive.d.ts +0 -10
  274. package/shared/platform-content-density-deprecations/index.d.ts +0 -4
  275. package/shared/platform-content-density-deprecations/platform-content-density-deprecations.module.d.ts +0 -9
  276. package/shared/platform-content-density-deprecations/providers/module-deprecation.provider.d.ts +0 -3
  277. package/value-help-dialog/components/value-help-dialog-search/value-help-dialog-search.component.d.ts +0 -20
@@ -1,7 +1,7 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Host, Inject, Input, isDevMode, Optional, Output, QueryList, Self, SkipSelf, ViewChildren, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, Host, Inject, Input, Optional, Output, QueryList, Self, SkipSelf, ViewChildren, ViewEncapsulation } from '@angular/core';
2
2
  import { ControlContainer, NgControl, NgForm } from '@angular/forms';
3
3
  import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
4
- import { RangeSelector, warnOnce } from '@fundamental-ngx/cdk/utils';
4
+ import { RangeSelector } from '@fundamental-ngx/cdk/utils';
5
5
  import { SelectionModel } from '@angular/cdk/collections';
6
6
  import { InLineLayoutCollectionBaseInput, RESPONSIVE_BREAKPOINTS_CONFIG, ResponsiveBreakPointConfig, ResponsiveBreakpointsService, coerceArraySafe, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
7
7
  import { CheckboxComponent } from '../checkbox/checkbox.component';
@@ -11,13 +11,6 @@ import * as i2 from "@angular/forms";
11
11
  import * as i3 from "@angular/common";
12
12
  import * as i4 from "../checkbox/checkbox.component";
13
13
  import * as i5 from "@fundamental-ngx/core/form";
14
- let warnedAboutChecked = false;
15
- const warnAboutChecked = () => {
16
- if (isDevMode() && !warnedAboutChecked) {
17
- warnOnce('The fdp-checkbox-group[checked] property is deprecated. Use fdp-checkbox-group[value] instead');
18
- warnedAboutChecked = true;
19
- }
20
- };
21
14
  /**
22
15
  * Checkbox group implementation based on the
23
16
  * https://github.com/SAP/fundamental-ngx/wiki/Platform:-CheckboxGroup-Technical-Design
@@ -43,18 +36,6 @@ export class CheckboxGroupComponent extends InLineLayoutCollectionBaseInput {
43
36
  get isInline() {
44
37
  return this._inlineCurrentValue$.value;
45
38
  }
46
- /**
47
- * @deprecated
48
- * Establishes two way binding, when checkbox group used outside form.
49
- */
50
- set checked(checkedValues) {
51
- warnAboutChecked();
52
- this.value = checkedValues;
53
- }
54
- get checked() {
55
- warnAboutChecked();
56
- return this.value;
57
- }
58
39
  /** @hidden */
59
40
  constructor(cd, elementRef, _responsiveBreakpointsService, ngControl, controlContainer, ngForm, formField, formControl, _defaultResponsiveBreakPointConfig) {
60
41
  super(cd, elementRef, _responsiveBreakpointsService, ngControl, controlContainer, ngForm, formField, formControl, _defaultResponsiveBreakPointConfig);
@@ -62,15 +43,10 @@ export class CheckboxGroupComponent extends InLineLayoutCollectionBaseInput {
62
43
  this._defaultResponsiveBreakPointConfig = _defaultResponsiveBreakPointConfig;
63
44
  /** Emits checked change event */
64
45
  this.valueChange = new EventEmitter();
65
- /**
66
- * @deprecated - use "valueChange" instead
67
- * Emits checked change event
68
- */
69
- this.checkedChange = this.valueChange;
70
- /** @hidden */
71
- this._rangeSelector = new RangeSelector();
72
46
  /** @hidden */
73
47
  this._selectionModel = new SelectionModel(true);
48
+ /** @hidden */
49
+ this._rangeSelector = new RangeSelector();
74
50
  }
75
51
  /**
76
52
  * @hidden
@@ -121,10 +97,6 @@ export class CheckboxGroupComponent extends InLineLayoutCollectionBaseInput {
121
97
  super.writeValue(coerceArraySafe(selectedValue));
122
98
  this._updateSelectionModelByValue();
123
99
  }
124
- /** @inheritdoc */
125
- setValue(value, emitOnChange = true) {
126
- super.setValue(coerceArraySafe(value), emitOnChange);
127
- }
128
100
  /**
129
101
  * access display value for objects, acts as checkbox label.
130
102
  */
@@ -141,6 +113,10 @@ export class CheckboxGroupComponent extends InLineLayoutCollectionBaseInput {
141
113
  getListItemDisabledValue(item) {
142
114
  return this.disabled || !!item?.disabled;
143
115
  }
116
+ /** @inheritdoc */
117
+ setValue(value, emitOnChange = true) {
118
+ super.setValue(coerceArraySafe(value), emitOnChange);
119
+ }
144
120
  /** @hidden */
145
121
  _setValueBySelectionModel() {
146
122
  super.setValue(this._selectionModel.selected);
@@ -153,7 +129,7 @@ export class CheckboxGroupComponent extends InLineLayoutCollectionBaseInput {
153
129
  this._cd.markForCheck();
154
130
  }
155
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CheckboxGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.ResponsiveBreakpointsService }, { token: i2.NgControl, optional: true, self: true }, { token: i2.ControlContainer, optional: true, skipSelf: true }, { token: i2.NgForm, optional: true, skipSelf: true }, { token: FD_FORM_FIELD, host: true, optional: true, skipSelf: true }, { token: FD_FORM_FIELD_CONTROL, host: true, optional: true, skipSelf: true }, { token: RESPONSIVE_BREAKPOINTS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
156
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: CheckboxGroupComponent, selector: "fdp-checkbox-group", inputs: { value: "value", isInline: "isInline", checked: "checked" }, outputs: { valueChange: "valueChange", checkedChange: "checkedChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxGroupComponent), multi: true }], queries: [{ propertyName: "contentCheckboxes", predicate: CheckboxComponent }], viewQueries: [{ propertyName: "viewCheckboxes", predicate: CheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n>\n <ng-container *ngIf=\"!list\">\n <ng-container *ngFor=\"let checkbox of contentCheckboxes; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'contentChildren',\n name: name,\n checkboxValue: checkbox.coreCheckbox?.values?.trueValue,\n labeltext: checkbox.label,\n disabled: disabled || checkbox.disabled,\n ariaLabel: checkbox.ariaLabel,\n ariaLabelledBy: checkbox.ariaLabelledBy,\n ariaDescribedBy: checkbox.ariaDescribedBy,\n title: checkbox.title\n }\n \"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <ng-container *ngTemplateOutlet=\"listvalues\"></ng-container>\n </ng-container>\n</fd-form-group>\n\n<ng-template #listvalues>\n <ng-container *ngFor=\"let item of list; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'list',\n name: name,\n checkboxValue: getLookupValue(item),\n labeltext: getDisplayValue(item),\n disabled: getListItemDisabledValue(item)\n }\n \"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #checkboxtmpt\n let-id=\"id\"\n let-idx=\"idx\"\n let-source=\"source\"\n let-name=\"name\"\n let-checkboxValue=\"checkboxValue\"\n let-labeltext=\"labeltext\"\n let-checkboxDisabled=\"disabled\"\n let-ariaLabel=\"ariaLabel\"\n let-ariaLabelledBy=\"ariaLabelledBy\"\n let-ariaDescribedBy=\"ariaDescribedBy\"\n let-title=\"title\"\n>\n <fdp-checkbox\n [id]=\"id\"\n [name]=\"name\"\n [values]=\"{ trueValue: checkboxValue }\"\n [label]=\"labeltext\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [title]=\"title\"\n [disabled]=\"checkboxDisabled\"\n [state]=\"state\"\n [ngModel]=\"_selectionModel.isSelected(checkboxValue) ? checkboxValue : false\"\n (ngModelChange)=\"onModelChanged($event, checkboxValue)\"\n (click)=\"onCheckboxClick(idx, source, $event)\"\n >\n </fdp-checkbox>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.CheckboxComponent, selector: "fdp-checkbox", inputs: ["title", "label", "tristate", "isBinary", "checked", "tristateSelectable", "value", "values", "standalone"], outputs: ["checkedChange", "change", "indeterminateChange"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: CheckboxGroupComponent, selector: "fdp-checkbox-group", inputs: { value: "value", isInline: "isInline" }, outputs: { valueChange: "valueChange" }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => CheckboxGroupComponent), multi: true }], queries: [{ propertyName: "contentCheckboxes", predicate: CheckboxComponent }], viewQueries: [{ propertyName: "viewCheckboxes", predicate: CheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"group\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n>\n <ng-container *ngIf=\"!list\">\n <ng-container *ngFor=\"let checkbox of contentCheckboxes; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'contentChildren',\n name: name,\n checkboxValue: checkbox.coreCheckbox?.values?.trueValue,\n labeltext: checkbox.label,\n disabled: disabled || checkbox.disabled,\n ariaLabel: checkbox.ariaLabel,\n ariaLabelledBy: checkbox.ariaLabelledBy,\n ariaDescribedBy: checkbox.ariaDescribedBy,\n title: checkbox.title\n }\n \"\n >\n </ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <ng-container *ngTemplateOutlet=\"listvalues\"></ng-container>\n </ng-container>\n</fd-form-group>\n\n<ng-template #listvalues>\n <ng-container *ngFor=\"let item of list; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n checkboxtmpt;\n context: {\n id: id + i,\n idx: i,\n source: 'list',\n name: name,\n checkboxValue: getLookupValue(item),\n labeltext: getDisplayValue(item),\n disabled: getListItemDisabledValue(item)\n }\n \"\n >\n </ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template\n #checkboxtmpt\n let-id=\"id\"\n let-idx=\"idx\"\n let-source=\"source\"\n let-name=\"name\"\n let-checkboxValue=\"checkboxValue\"\n let-labeltext=\"labeltext\"\n let-checkboxDisabled=\"disabled\"\n let-ariaLabel=\"ariaLabel\"\n let-ariaLabelledBy=\"ariaLabelledBy\"\n let-ariaDescribedBy=\"ariaDescribedBy\"\n let-title=\"title\"\n>\n <fdp-checkbox\n [id]=\"id\"\n [name]=\"name\"\n [values]=\"{ trueValue: checkboxValue }\"\n [label]=\"labeltext\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [title]=\"title\"\n [disabled]=\"checkboxDisabled\"\n [state]=\"state\"\n [ngModel]=\"_selectionModel.isSelected(checkboxValue) ? checkboxValue : false\"\n (ngModelChange)=\"onModelChanged($event, checkboxValue)\"\n (click)=\"onCheckboxClick(idx, source, $event)\"\n >\n </fdp-checkbox>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.CheckboxComponent, selector: "fdp-checkbox", inputs: ["title", "label", "tristate", "checked", "tristateSelectable", "values", "standalone"], outputs: ["checkedChange"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
157
133
  }
158
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
159
135
  type: Component,
@@ -200,8 +176,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
200
176
  type: Input
201
177
  }], isInline: [{
202
178
  type: Input
203
- }], checked: [{
204
- type: Input
205
179
  }], contentCheckboxes: [{
206
180
  type: ContentChildren,
207
181
  args: [CheckboxComponent]
@@ -210,7 +184,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
210
184
  args: [CheckboxComponent]
211
185
  }], valueChange: [{
212
186
  type: Output
213
- }], checkedChange: [{
214
- type: Output
215
187
  }] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsSUFBSSxFQUNKLFFBQVEsRUFDUixZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFDSCwrQkFBK0IsRUFDL0IsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsZUFBZSxFQUVmLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDM0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztBQUVuRSxJQUFJ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LEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyw0REF5Q2xHLGlCQUFpQixnRUFJcEIsaUJBQWlCLHVFQ3BHbkMsNjRGQXNGQTs7MkZEN0JhLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzswQkFzRTlHLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BELFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMscUJBQXFCOzswQkFDNUIsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUU1QixRQUFROzswQkFDUixNQUFNOzJCQUFDLDZCQUE2Qjs0Q0ExRXJDLEtBQUs7c0JBRFIsS0FBSztnQkFhRixRQUFRO3NCQURYLEtBQUs7Z0JBYUYsT0FBTztzQkFEVixLQUFLO2dCQVlOLGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBS2xDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBS3RCLFdBQVc7c0JBRG5CLE1BQU07Z0JBUUUsYUFBYTtzQkFEckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3QsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIGlzRGV2TW9kZSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGRF9GT1JNX0ZJRUxELCBGRF9GT1JNX0ZJRUxEX0NPTlRST0wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5pbXBvcnQgeyBSYW5nZVNlbGVjdG9yLCB3YXJuT25jZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcblxuaW1wb3J0IHtcbiAgICBJbkxpbmVMYXlvdXRDb2xsZWN0aW9uQmFzZUlucHV0LFxuICAgIFJFU1BPTlNJVkVfQlJFQUtQT0lOVFNfQ09ORklHLFxuICAgIFJlc3BvbnNpdmVCcmVha1BvaW50Q29uZmlnLFxuICAgIFJlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2UsXG4gICAgY29lcmNlQXJyYXlTYWZlLFxuICAgIFNlbGVjdEl0ZW0sXG4gICAgUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcblxubGV0IHdhcm5lZEFib3V0Q2hlY2tlZCA9IGZhbHNlO1xuY29uc3Qgd2FybkFib3V0Q2hlY2tlZCA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAoaXNEZXZNb2RlKCkgJiYgIXdhcm5lZEFib3V0Q2hlY2tlZCkge1xuICAgICAgICB3YXJuT25jZSgnVGhlIGZkcC1jaGVja2JveC1ncm91cFtjaGVja2VkXSBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLiBVc2UgZmRwLWNoZWNrYm94LWdyb3VwW3ZhbHVlXSBpbnN0ZWFkJyk7XG4gICAgICAgIHdhcm5lZEFib3V0Q2hlY2tlZCA9IHRydWU7XG4gICAgfVxufTtcblxuLyoqXG4gKiBDaGVja2JveCBncm91cCBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiB0aGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9TQVAvZnVuZGFtZW50YWwtbmd4L3dpa2kvUGxhdGZvcm06LUNoZWNrYm94R3JvdXAtVGVjaG5pY2FsLURlc2lnblxuICogZG9jdW1lbnRzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1jaGVja2JveC1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRkRfRk9STV9GSUVMRF9DT05UUk9MLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDaGVja2JveEdyb3VwQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hHcm91cENvbXBvbmVudCBleHRlbmRzIEluTGluZUxheW91dENvbGxlY3Rpb25CYXNlSW5wdXQge1xuICAgIC8qKlxuICAgICAqIHZhbHVlIGZvciBzZWxlY3RlZCBjaGVja2JveGVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHNlbGVjdGVkVmFsdWU6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUoc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGlvbk1vZGVsQnlWYWx1ZSgpO1xuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogYW55W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRvIERpc3BsYXkgbXVsdGlwbGUgY2hlY2tib3hlcyBpbiBhIGxpbmVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc0lubGluZShpbmxpbmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faW5saW5lQ3VycmVudFZhbHVlJC5uZXh0KGlubGluZSk7XG4gICAgfVxuICAgIGdldCBpc0lubGluZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lubGluZUN1cnJlbnRWYWx1ZSQudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBFc3RhYmxpc2hlcyB0d28gd2F5IGJpbmRpbmcsIHdoZW4gY2hlY2tib3ggZ3JvdXAgdXNlZCBvdXRzaWRlIGZvcm0uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgY2hlY2tlZChjaGVja2VkVmFsdWVzOiBzdHJpbmdbXSkge1xuICAgICAgICB3YXJuQWJvdXRDaGVja2VkKCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBjaGVja2VkVmFsdWVzO1xuICAgIH1cbiAgICBnZXQgY2hlY2tlZCgpOiBzdHJpbmdbXSB7XG4gICAgICAgIHdhcm5BYm91dENoZWNrZWQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIENoaWxkcmVuIGNoZWNrYm94ZXMgcGFzc2VkIGFzIGNvbnRlbnQgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKENoZWNrYm94Q29tcG9uZW50KVxuICAgIGNvbnRlbnRDaGVja2JveGVzOiBRdWVyeUxpc3Q8Q2hlY2tib3hDb21wb25lbnQ+O1xuXG4gICAgLyoqIENoaWxkcmVuIGNoZWNrYm94ZXMgY3JlYXRlZCBmcm9tIHBhc3NlZCBsaXN0IHZhbHVlcy4gKi9cbiAgICBAVmlld0NoaWxkcmVuKENoZWNrYm94Q29tcG9uZW50KVxuICAgIHZpZXdDaGVja2JveGVzOiBRdWVyeUxpc3Q8Q2hlY2tib3hDb21wb25lbnQ+O1xuXG4gICAgLyoqIEVtaXRzIGNoZWNrZWQgY2hhbmdlIGV2ZW50ICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgLSB1c2UgXCJ2YWx1ZUNoYW5nZVwiIGluc3RlYWRcbiAgICAgKiBFbWl0cyBjaGVja2VkIGNoYW5nZSBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2UgPSB0aGlzLnZhbHVlQ2hhbmdlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yYW5nZVNlbGVjdG9yID0gbmV3IFJhbmdlU2VsZWN0b3IoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgX3NlbGVjdGlvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsKHRydWUpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICByZWFkb25seSBfcmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZTogUmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgbmdGb3JtOiBOZ0Zvcm0sXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBIb3N0KCkgQEluamVjdChGRF9GT1JNX0ZJRUxEKSBmb3JtRmllbGQ6IFBsYXRmb3JtRm9ybUZpZWxkLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2tpcFNlbGYoKVxuICAgICAgICBASG9zdCgpXG4gICAgICAgIEBJbmplY3QoRkRfRk9STV9GSUVMRF9DT05UUk9MKVxuICAgICAgICBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTClcbiAgICAgICAgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChSRVNQT05TSVZFX0JSRUFLUE9JTlRTX0NPTkZJRylcbiAgICAgICAgcmVhZG9ubHkgX2RlZmF1bHRSZXNwb25zaXZlQnJlYWtQb2ludENvbmZpZzogUmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBjZCxcbiAgICAgICAgICAgIGVsZW1lbnRSZWYsXG4gICAgICAgICAgICBfcmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZSxcbiAgICAgICAgICAgIG5nQ29udHJvbCxcbiAgICAgICAgICAgIGNvbnRyb2xDb250YWluZXIsXG4gICAgICAgICAgICBuZ0Zvcm0sXG4gICAgICAgICAgICBmb3JtRmllbGQsXG4gICAgICAgICAgICBmb3JtQ29udHJvbCxcbiAgICAgICAgICAgIF9kZWZhdWx0UmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWdcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHNlbGVjdGlvblN0YXRlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgY2hlY2tib3hcbiAgICAgKiBAcGFyYW0gY2hlY2tib3hUcnVlVmFsdWUgdGh1dGh5IHZhbHVlIHRvIGNvbXBhcmUgdGhlIFwic2VsZWN0aW9uU3RhdGVcIiB3aXRoXG4gICAgICovXG4gICAgb25Nb2RlbENoYW5nZWQoc2VsZWN0aW9uU3RhdGU6IGFueSwgY2hlY2tib3hUcnVlVmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gc2VsZWN0aW9uU3RhdGUgPT09IGNoZWNrYm94VHJ1ZVZhbHVlO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KGNoZWNrYm94VHJ1ZVZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmRlc2VsZWN0KGNoZWNrYm94VHJ1ZVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRWYWx1ZUJ5U2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGVja2JveENsaWNrKGluZGV4OiBudW1iZXIsIHNvdXJjZTogJ2NvbnRlbnRDaGlsZHJlbicgfCAnbGlzdCcsIGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyB0aGlzIGhhbmRsZXIgd2lsbCBiZSBpbnZva2VkIGFmdGVyIFwidmFsdWVDaGFuZ2VcIlxuICAgICAgICBjb25zdCBxdWVyeUxpc3QgPSBzb3VyY2UgPT09ICdsaXN0JyA/IHRoaXMudmlld0NoZWNrYm94ZXMgOiB0aGlzLmNvbnRlbnRDaGVja2JveGVzO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBxdWVyeUxpc3QuZ2V0KGluZGV4KTtcblxuICAgICAgICBjb25zdCBpc0NoZWNrZWQgPSB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHRhcmdldD8udmFsdWVzLnRydWVWYWx1ZSk7XG4gICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3Iub25SYW5nZUVsZW1lbnRUb2dnbGVkKGluZGV4LCBldmVudCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9yYW5nZVNlbGVjdG9yLmxhc3RSYW5nZVNlbGVjdGlvblN0YXRlPy5pc1JhbmdlU2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAvLyBubyBuZWVkIHRvIHByb2NlZWQsIGlmIGl0J3Mgbm90IGEgcmFuZ2Ugc2VsZWN0aW9uIC0gY3VycmVudCBjaGVja2JveCBpcyBhbHJlYWR5IHVwZGF0ZWRcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JhbmdlU2VsZWN0b3IuYXBwbHlWYWx1ZVRvRWFjaEluUmFuZ2UoKGlkeCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2hlY2tib3ggPSBxdWVyeUxpc3QuZ2V0KGlkeCk7XG4gICAgICAgICAgICBpZiAoY2hlY2tib3g/LmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgY2hlY2tib3hWYWx1ZSA9IGNoZWNrYm94Py52YWx1ZXMudHJ1ZVZhbHVlO1xuICAgICAgICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdChjaGVja2JveFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QoY2hlY2tib3hWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9zZXRWYWx1ZUJ5U2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZShzZWxlY3RlZFZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZShjb2VyY2VBcnJheVNhZmUoc2VsZWN0ZWRWYWx1ZSkpO1xuICAgICAgICB0aGlzLl91cGRhdGVTZWxlY3Rpb25Nb2RlbEJ5VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKiogQGluaGVyaXRkb2MgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUodmFsdWU6IGFueSwgZW1pdE9uQ2hhbmdlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXRWYWx1ZShjb2VyY2VBcnJheVNhZmUodmFsdWUpLCBlbWl0T25DaGFuZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFjY2VzcyBkaXNwbGF5IHZhbHVlIGZvciBvYmplY3RzLCBhY3RzIGFzIGNoZWNrYm94IGxhYmVsLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwbGF5VmFsdWUoaXRlbTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzcGxheVZhbHVlKGl0ZW0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFjY2VzcyBsb29rdXAgdmFsdWUgZm9yIG9iamVjdHMsIGFjdHMgYXMgY2hlY2tib3ggdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIGdldExvb2t1cFZhbHVlKGl0ZW06IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvb2t1cFZhbHVlKGl0ZW0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHVibGljIGdldExpc3RJdGVtRGlzYWJsZWRWYWx1ZShpdGVtOiBDaGVja2JveEdyb3VwQ29tcG9uZW50WydsaXN0J11bbnVtYmVyXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhISg8U2VsZWN0SXRlbT5pdGVtKT8uZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRWYWx1ZUJ5U2VsZWN0aW9uTW9kZWwoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldFZhbHVlKHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91cGRhdGVTZWxlY3Rpb25Nb2RlbEJ5VmFsdWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCk7XG4gICAgICAgIHRoaXMudmFsdWUuZm9yRWFjaCgodikgPT4gdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KHYpKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPGZkLWZvcm0tZ3JvdXBcbiAgICBbaXNJbmxpbmVdPVwiaXNJbmxpbmVcIlxuICAgIHJvbGU9XCJncm91cFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsaXN0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoZWNrYm94IG9mIGNvbnRlbnRDaGVja2JveGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tib3h0bXB0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaWQgKyBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWR4OiBpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiAnY29udGVudENoaWxkcmVuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGVja2JveFZhbHVlOiBjaGVja2JveC5jb3JlQ2hlY2tib3g/LnZhbHVlcz8udHJ1ZVZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWx0ZXh0OiBjaGVja2JveC5sYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCB8fCBjaGVja2JveC5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbDogY2hlY2tib3guYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6IGNoZWNrYm94LmFyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5OiBjaGVja2JveC5hcmlhRGVzY3JpYmVkQnksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogY2hlY2tib3gudGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpc3RcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpc3R2YWx1ZXNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZmQtZm9ybS1ncm91cD5cblxuPG5nLXRlbXBsYXRlICNsaXN0dmFsdWVzPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdDsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgIGNoZWNrYm94dG1wdDtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBpZCArIGksXG4gICAgICAgICAgICAgICAgICAgIGlkeDogaSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiAnbGlzdCcsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrYm94VmFsdWU6IGdldExvb2t1cFZhbHVlKGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbHRleHQ6IGdldERpc3BsYXlWYWx1ZShpdGVtKSxcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGdldExpc3RJdGVtRGlzYWJsZWRWYWx1ZShpdGVtKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjY2hlY2tib3h0bXB0XG4gICAgbGV0LWlkPVwiaWRcIlxuICAgIGxldC1pZHg9XCJpZHhcIlxuICAgIGxldC1zb3VyY2U9XCJzb3VyY2VcIlxuICAgIGxldC1uYW1lPVwibmFtZVwiXG4gICAgbGV0LWNoZWNrYm94VmFsdWU9XCJjaGVja2JveFZhbHVlXCJcbiAgICBsZXQtbGFiZWx0ZXh0PVwibGFiZWx0ZXh0XCJcbiAgICBsZXQtY2hlY2tib3hEaXNhYmxlZD1cImRpc2FibGVkXCJcbiAgICBsZXQtYXJpYUxhYmVsPVwiYXJpYUxhYmVsXCJcbiAgICBsZXQtYXJpYUxhYmVsbGVkQnk9XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgbGV0LWFyaWFEZXNjcmliZWRCeT1cImFyaWFEZXNjcmliZWRCeVwiXG4gICAgbGV0LXRpdGxlPVwidGl0bGVcIlxuPlxuICAgIDxmZHAtY2hlY2tib3hcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgIFt2YWx1ZXNdPVwieyB0cnVlVmFsdWU6IGNoZWNrYm94VmFsdWUgfVwiXG4gICAgICAgIFtsYWJlbF09XCJsYWJlbHRleHRcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgIFthcmlhRGVzY3JpYmVkQnldPVwiYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImNoZWNrYm94RGlzYWJsZWRcIlxuICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICBbbmdNb2RlbF09XCJfc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChjaGVja2JveFZhbHVlKSA/IGNoZWNrYm94VmFsdWUgOiBmYWxzZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2VkKCRldmVudCwgY2hlY2tib3hWYWx1ZSlcIlxuICAgICAgICAoY2xpY2spPVwib25DaGVja2JveENsaWNrKGlkeCwgc291cmNlLCAkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9mZHAtY2hlY2tib3g+XG48L25nLXRlbXBsYXRlPlxuIl19
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxJQUFJLEVBQ0osUUFBUSxFQUNSLFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLGVBQWUsRUFFZixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQzNCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFFbkU7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxz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QUFNOzJCQUFDLGFBQWE7OzBCQUNwRCxRQUFROzswQkFDUixRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLE1BQU07MkJBQUMscUJBQXFCOzswQkFFNUIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyw2QkFBNkI7NENBckRyQyxLQUFLO3NCQURSLEtBQUs7Z0JBYUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBS2xDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBS3RCLFdBQVc7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGRF9GT1JNX0ZJRUxELCBGRF9GT1JNX0ZJRUxEX0NPTlRST0wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay9mb3Jtcyc7XG5pbXBvcnQgeyBSYW5nZVNlbGVjdG9yIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuXG5pbXBvcnQge1xuICAgIEluTGluZUxheW91dENvbGxlY3Rpb25CYXNlSW5wdXQsXG4gICAgUkVTUE9OU0lWRV9CUkVBS1BPSU5UU19DT05GSUcsXG4gICAgUmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWcsXG4gICAgUmVzcG9uc2l2ZUJyZWFrcG9pbnRzU2VydmljZSxcbiAgICBjb2VyY2VBcnJheVNhZmUsXG4gICAgU2VsZWN0SXRlbSxcbiAgICBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2xcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuXG4vKipcbiAqIENoZWNrYm94IGdyb3VwIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIHRoZVxuICogaHR0cHM6Ly9naXRodWIuY29tL1NBUC9mdW5kYW1lbnRhbC1uZ3gvd2lraS9QbGF0Zm9ybTotQ2hlY2tib3hHcm91cC1UZWNobmljYWwtRGVzaWduXG4gKiBkb2N1bWVudHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWNoZWNrYm94LWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGRF9GT1JNX0ZJRUxEX0NPTlRST0wsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94R3JvdXBDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveEdyb3VwQ29tcG9uZW50IGV4dGVuZHMgSW5MaW5lTGF5b3V0Q29sbGVjdGlvbkJhc2VJbnB1dCB7XG4gICAgLyoqXG4gICAgICogdmFsdWUgZm9yIHNlbGVjdGVkIGNoZWNrYm94ZXMuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUoc2VsZWN0ZWRWYWx1ZTogYW55W10pIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShzZWxlY3RlZFZhbHVlKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2VsZWN0aW9uTW9kZWxCeVZhbHVlKCk7XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVG8gRGlzcGxheSBtdWx0aXBsZSBjaGVja2JveGVzIGluIGEgbGluZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGlzSW5saW5lKGlubGluZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9pbmxpbmVDdXJyZW50VmFsdWUkLm5leHQoaW5saW5lKTtcbiAgICB9XG4gICAgZ2V0IGlzSW5saW5lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5saW5lQ3VycmVudFZhbHVlJC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQ2hpbGRyZW4gY2hlY2tib3hlcyBwYXNzZWQgYXMgY29udGVudCAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oQ2hlY2tib3hDb21wb25lbnQpXG4gICAgY29udGVudENoZWNrYm94ZXM6IFF1ZXJ5TGlzdDxDaGVja2JveENvbXBvbmVudD47XG5cbiAgICAvKiogQ2hpbGRyZW4gY2hlY2tib3hlcyBjcmVhdGVkIGZyb20gcGFzc2VkIGxpc3QgdmFsdWVzLiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oQ2hlY2tib3hDb21wb25lbnQpXG4gICAgdmlld0NoZWNrYm94ZXM6IFF1ZXJ5TGlzdDxDaGVja2JveENvbXBvbmVudD47XG5cbiAgICAvKiogRW1pdHMgY2hlY2tlZCBjaGFuZ2UgZXZlbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlYWRvbmx5IF9zZWxlY3Rpb25Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Nb2RlbCh0cnVlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmFuZ2VTZWxlY3RvciA9IG5ldyBSYW5nZVNlbGVjdG9yKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHJlYWRvbmx5IF9yZXNwb25zaXZlQnJlYWtwb2ludHNTZXJ2aWNlOiBSZXNwb25zaXZlQnJlYWtwb2ludHNTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBuZ0Zvcm06IE5nRm9ybSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTEQpIGZvcm1GaWVsZDogUGxhdGZvcm1Gb3JtRmllbGQsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTa2lwU2VsZigpXG4gICAgICAgIEBIb3N0KClcbiAgICAgICAgQEluamVjdChGRF9GT1JNX0ZJRUxEX0NPTlRST0wpXG4gICAgICAgIEBJbmplY3QoRkRfRk9STV9GSUVMRF9DT05UUk9MKVxuICAgICAgICBmb3JtQ29udHJvbDogUGxhdGZvcm1Gb3JtRmllbGRDb250cm9sLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFJFU1BPTlNJVkVfQlJFQUtQT0lOVFNfQ09ORklHKVxuICAgICAgICByZWFkb25seSBfZGVmYXVsdFJlc3BvbnNpdmVCcmVha1BvaW50Q29uZmlnOiBSZXNwb25zaXZlQnJlYWtQb2ludENvbmZpZ1xuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIGNkLFxuICAgICAgICAgICAgZWxlbWVudFJlZixcbiAgICAgICAgICAgIF9yZXNwb25zaXZlQnJlYWtwb2ludHNTZXJ2aWNlLFxuICAgICAgICAgICAgbmdDb250cm9sLFxuICAgICAgICAgICAgY29udHJvbENvbnRhaW5lcixcbiAgICAgICAgICAgIG5nRm9ybSxcbiAgICAgICAgICAgIGZvcm1GaWVsZCxcbiAgICAgICAgICAgIGZvcm1Db250cm9sLFxuICAgICAgICAgICAgX2RlZmF1bHRSZXNwb25zaXZlQnJlYWtQb2ludENvbmZpZ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gc2VsZWN0aW9uU3RhdGUgYWN0dWFsIHZhbHVlIG9mIHRoZSBjaGVja2JveFxuICAgICAqIEBwYXJhbSBjaGVja2JveFRydWVWYWx1ZSB0aHV0aHkgdmFsdWUgdG8gY29tcGFyZSB0aGUgXCJzZWxlY3Rpb25TdGF0ZVwiIHdpdGhcbiAgICAgKi9cbiAgICBvbk1vZGVsQ2hhbmdlZChzZWxlY3Rpb25TdGF0ZTogYW55LCBjaGVja2JveFRydWVWYWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBzZWxlY3Rpb25TdGF0ZSA9PT0gY2hlY2tib3hUcnVlVmFsdWU7XG4gICAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3QoY2hlY2tib3hUcnVlVmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QoY2hlY2tib3hUcnVlVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldFZhbHVlQnlTZWxlY3Rpb25Nb2RlbCgpO1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvbkNoZWNrYm94Q2xpY2soaW5kZXg6IG51bWJlciwgc291cmNlOiAnY29udGVudENoaWxkcmVuJyB8ICdsaXN0JywgZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMgaGFuZGxlciB3aWxsIGJlIGludm9rZWQgYWZ0ZXIgXCJ2YWx1ZUNoYW5nZVwiXG4gICAgICAgIGNvbnN0IHF1ZXJ5TGlzdCA9IHNvdXJjZSA9PT0gJ2xpc3QnID8gdGhpcy52aWV3Q2hlY2tib3hlcyA6IHRoaXMuY29udGVudENoZWNrYm94ZXM7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHF1ZXJ5TGlzdC5nZXQoaW5kZXgpO1xuXG4gICAgICAgIGNvbnN0IGlzQ2hlY2tlZCA9IHRoaXMuX3NlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQodGFyZ2V0Py52YWx1ZXMudHJ1ZVZhbHVlKTtcbiAgICAgICAgdGhpcy5fcmFuZ2VTZWxlY3Rvci5vblJhbmdlRWxlbWVudFRvZ2dsZWQoaW5kZXgsIGV2ZW50KTtcblxuICAgICAgICBpZiAoIXRoaXMuX3JhbmdlU2VsZWN0b3IubGFzdFJhbmdlU2VsZWN0aW9uU3RhdGU/LmlzUmFuZ2VTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIC8vIG5vIG5lZWQgdG8gcHJvY2VlZCwgaWYgaXQncyBub3QgYSByYW5nZSBzZWxlY3Rpb24gLSBjdXJyZW50IGNoZWNrYm94IGlzIGFscmVhZHkgdXBkYXRlZFxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcmFuZ2VTZWxlY3Rvci5hcHBseVZhbHVlVG9FYWNoSW5SYW5nZSgoaWR4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaGVja2JveCA9IHF1ZXJ5TGlzdC5nZXQoaWR4KTtcbiAgICAgICAgICAgIGlmIChjaGVja2JveD8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjaGVja2JveFZhbHVlID0gY2hlY2tib3g/LnZhbHVlcy50cnVlVmFsdWU7XG4gICAgICAgICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KGNoZWNrYm94VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5kZXNlbGVjdChjaGVja2JveFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3NldFZhbHVlQnlTZWxlY3Rpb25Nb2RlbCgpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICB3cml0ZVZhbHVlKHNlbGVjdGVkVmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKGNvZXJjZUFycmF5U2FmZShzZWxlY3RlZFZhbHVlKSk7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNlbGVjdGlvbk1vZGVsQnlWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGFjY2VzcyBkaXNwbGF5IHZhbHVlIGZvciBvYmplY3RzLCBhY3RzIGFzIGNoZWNrYm94IGxhYmVsLlxuICAgICAqL1xuICAgIGdldERpc3BsYXlWYWx1ZShpdGVtOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5VmFsdWUoaXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYWNjZXNzIGxvb2t1cCB2YWx1ZSBmb3Igb2JqZWN0cywgYWN0cyBhcyBjaGVja2JveCB2YWx1ZS5cbiAgICAgKi9cbiAgICBnZXRMb29rdXBWYWx1ZShpdGVtOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5sb29rdXBWYWx1ZShpdGVtKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldExpc3RJdGVtRGlzYWJsZWRWYWx1ZShpdGVtOiBDaGVja2JveEdyb3VwQ29tcG9uZW50WydsaXN0J11bbnVtYmVyXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhISg8U2VsZWN0SXRlbT5pdGVtKT8uZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBpbmhlcml0ZG9jICovXG4gICAgcHJvdGVjdGVkIHNldFZhbHVlKHZhbHVlOiBhbnksIGVtaXRPbkNoYW5nZSA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0VmFsdWUoY29lcmNlQXJyYXlTYWZlKHZhbHVlKSwgZW1pdE9uQ2hhbmdlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFZhbHVlQnlTZWxlY3Rpb25Nb2RlbCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0VmFsdWUodGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVNlbGVjdGlvbk1vZGVsQnlWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcbiAgICAgICAgdGhpcy52YWx1ZS5mb3JFYWNoKCh2KSA9PiB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3QodikpO1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8ZmQtZm9ybS1ncm91cFxuICAgIFtpc0lubGluZV09XCJpc0lubGluZVwiXG4gICAgcm9sZT1cImdyb3VwXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxpc3RcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hlY2tib3ggb2YgY29udGVudENoZWNrYm94ZXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBjaGVja2JveHRtcHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCArIGksXG4gICAgICAgICAgICAgICAgICAgICAgICBpZHg6IGksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6ICdjb250ZW50Q2hpbGRyZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYm94VmFsdWU6IGNoZWNrYm94LmNvcmVDaGVja2JveD8udmFsdWVzPy50cnVlVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHRleHQ6IGNoZWNrYm94LmxhYmVsLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkIHx8IGNoZWNrYm94LmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsOiBjaGVja2JveC5hcmlhTGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWxsZWRCeTogY2hlY2tib3guYXJpYUxhYmVsbGVkQnksXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnk6IGNoZWNrYm94LmFyaWFEZXNjcmliZWRCeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBjaGVja2JveC50aXRsZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGlzdFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlzdHZhbHVlc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9mZC1mb3JtLWdyb3VwPlxuXG48bmctdGVtcGxhdGUgI2xpc3R2YWx1ZXM+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgY2hlY2tib3h0bXB0O1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGlkICsgaSxcbiAgICAgICAgICAgICAgICAgICAgaWR4OiBpLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2U6ICdsaXN0JyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tib3hWYWx1ZTogZ2V0TG9va3VwVmFsdWUoaXRlbSksXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsdGV4dDogZ2V0RGlzcGxheVZhbHVlKGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZ2V0TGlzdEl0ZW1EaXNhYmxlZFZhbHVlKGl0ZW0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNjaGVja2JveHRtcHRcbiAgICBsZXQtaWQ9XCJpZFwiXG4gICAgbGV0LWlkeD1cImlkeFwiXG4gICAgbGV0LXNvdXJjZT1cInNvdXJjZVwiXG4gICAgbGV0LW5hbWU9XCJuYW1lXCJcbiAgICBsZXQtY2hlY2tib3hWYWx1ZT1cImNoZWNrYm94VmFsdWVcIlxuICAgIGxldC1sYWJlbHRleHQ9XCJsYWJlbHRleHRcIlxuICAgIGxldC1jaGVja2JveERpc2FibGVkPVwiZGlzYWJsZWRcIlxuICAgIGxldC1hcmlhTGFiZWw9XCJhcmlhTGFiZWxcIlxuICAgIGxldC1hcmlhTGFiZWxsZWRCeT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICBsZXQtYXJpYURlc2NyaWJlZEJ5PVwiYXJpYURlc2NyaWJlZEJ5XCJcbiAgICBsZXQtdGl0bGU9XCJ0aXRsZVwiXG4+XG4gICAgPGZkcC1jaGVja2JveFxuICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgW3ZhbHVlc109XCJ7IHRydWVWYWx1ZTogY2hlY2tib3hWYWx1ZSB9XCJcbiAgICAgICAgW2xhYmVsXT1cImxhYmVsdGV4dFwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2FyaWFMYWJlbGxlZEJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY2hlY2tib3hEaXNhYmxlZFwiXG4gICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cIl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKGNoZWNrYm94VmFsdWUpID8gY2hlY2tib3hWYWx1ZSA6IGZhbHNlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZWQoJGV2ZW50LCBjaGVja2JveFZhbHVlKVwiXG4gICAgICAgIChjbGljayk9XCJvbkNoZWNrYm94Q2xpY2soaWR4LCBzb3VyY2UsICRldmVudClcIlxuICAgID5cbiAgICA8L2ZkcC1jaGVja2JveD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -5,36 +5,18 @@ import { FormGroupModule } from '@fundamental-ngx/core/form';
5
5
  import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
6
6
  import { CheckboxGroupComponent } from './checkbox-group.component';
7
7
  import { PlatformCheckboxModule } from '../checkbox/checkbox.module';
8
- import { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';
9
8
  import * as i0 from "@angular/core";
10
9
  export class PlatformCheckboxGroupModule {
11
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformCheckboxGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: PlatformCheckboxGroupModule, declarations: [CheckboxGroupComponent], imports: [CommonModule,
13
- PlatformCheckboxModule,
14
- FormsModule,
15
- FormGroupModule,
16
- PlatformContentDensityDeprecationsModule,
17
- ContentDensityModule], exports: [CheckboxGroupComponent, PlatformContentDensityDeprecationsModule, ContentDensityModule] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformCheckboxGroupModule, imports: [CommonModule,
19
- PlatformCheckboxModule,
20
- FormsModule,
21
- FormGroupModule,
22
- PlatformContentDensityDeprecationsModule,
23
- ContentDensityModule, PlatformContentDensityDeprecationsModule, ContentDensityModule] }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: PlatformCheckboxGroupModule, declarations: [CheckboxGroupComponent], imports: [CommonModule, PlatformCheckboxModule, FormsModule, FormGroupModule, ContentDensityModule], exports: [CheckboxGroupComponent, ContentDensityModule] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformCheckboxGroupModule, imports: [CommonModule, PlatformCheckboxModule, FormsModule, FormGroupModule, ContentDensityModule, ContentDensityModule] }); }
24
13
  }
25
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformCheckboxGroupModule, decorators: [{
26
15
  type: NgModule,
27
16
  args: [{
28
- imports: [
29
- CommonModule,
30
- PlatformCheckboxModule,
31
- FormsModule,
32
- FormGroupModule,
33
- PlatformContentDensityDeprecationsModule,
34
- ContentDensityModule
35
- ],
36
- exports: [CheckboxGroupComponent, PlatformContentDensityDeprecationsModule, ContentDensityModule],
17
+ imports: [CommonModule, PlatformCheckboxModule, FormsModule, FormGroupModule, ContentDensityModule],
18
+ exports: [CheckboxGroupComponent, ContentDensityModule],
37
19
  declarations: [CheckboxGroupComponent]
38
20
  }]
39
21
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBYzVGLE1BQU0sT0FBTywyQkFBMkI7OEdBQTNCLDJCQUEyQjsrR0FBM0IsMkJBQTJCLGlCQUZyQixzQkFBc0IsYUFSakMsWUFBWTtZQUNaLHNCQUFzQjtZQUN0QixXQUFXO1lBQ1gsZUFBZTtZQUNmLHdDQUF3QztZQUN4QyxvQkFBb0IsYUFFZCxzQkFBc0IsRUFBRSx3Q0FBd0MsRUFBRSxvQkFBb0I7K0dBR3ZGLDJCQUEyQixZQVZoQyxZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLFdBQVc7WUFDWCxlQUFlO1lBQ2Ysd0NBQXdDO1lBQ3hDLG9CQUFvQixFQUVVLHdDQUF3QyxFQUFFLG9CQUFvQjs7MkZBR3ZGLDJCQUEyQjtrQkFadkMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZix3Q0FBd0M7d0JBQ3hDLG9CQUFvQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsd0NBQXdDLEVBQUUsb0JBQW9CLENBQUM7b0JBQ2pHLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZvcm1Hcm91cE1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBDaGVja2JveEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhdGZvcm1DaGVja2JveE1vZHVsZSB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybUNvbnRlbnREZW5zaXR5RGVwcmVjYXRpb25zTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQbGF0Zm9ybUNoZWNrYm94TW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgRm9ybUdyb3VwTW9kdWxlLFxuICAgICAgICBQbGF0Zm9ybUNvbnRlbnREZW5zaXR5RGVwcmVjYXRpb25zTW9kdWxlLFxuICAgICAgICBDb250ZW50RGVuc2l0eU1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW0NoZWNrYm94R3JvdXBDb21wb25lbnQsIFBsYXRmb3JtQ29udGVudERlbnNpdHlEZXByZWNhdGlvbnNNb2R1bGUsIENvbnRlbnREZW5zaXR5TW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtDaGVja2JveEdyb3VwQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybUNoZWNrYm94R3JvdXBNb2R1bGUge31cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZ3JvdXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY2hlY2tib3gtZ3JvdXAvY2hlY2tib3gtZ3JvdXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBT3JFLE1BQU0sT0FBTywyQkFBMkI7OEdBQTNCLDJCQUEyQjsrR0FBM0IsMkJBQTJCLGlCQUZyQixzQkFBc0IsYUFGM0IsWUFBWSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLGFBQ3hGLHNCQUFzQixFQUFFLG9CQUFvQjsrR0FHN0MsMkJBQTJCLFlBSjFCLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUNoRSxvQkFBb0I7OzJGQUc3QywyQkFBMkI7a0JBTHZDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLENBQUM7b0JBQ25HLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLG9CQUFvQixDQUFDO29CQUN2RCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGb3JtR3JvdXBNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgQ2hlY2tib3hHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBsYXRmb3JtQ2hlY2tib3hNb2R1bGUgfSBmcm9tICcuLi9jaGVja2JveC9jaGVja2JveC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBsYXRmb3JtQ2hlY2tib3hNb2R1bGUsIEZvcm1zTW9kdWxlLCBGb3JtR3JvdXBNb2R1bGUsIENvbnRlbnREZW5zaXR5TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQ2hlY2tib3hHcm91cENvbXBvbmVudCwgQ29udGVudERlbnNpdHlNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0NoZWNrYm94R3JvdXBDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFBsYXRmb3JtQ2hlY2tib3hHcm91cE1vZHVsZSB7fVxuIl19
@@ -180,7 +180,7 @@ export class ComboboxComponent extends BaseCombobox {
180
180
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ComboboxComponent, selector: "fdp-combobox", outputs: { selectionChange: "selectionChange" }, providers: [
181
181
  { provide: FD_FORM_FIELD_CONTROL, useExisting: ComboboxComponent, multi: true },
182
182
  contentDensityObserverProviders()
183
- ], viewQueries: [{ propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"mobile ? mobileTemplate : desktopTemplate\"></ng-container>\n\n<ng-template #desktopTemplate>\n <fd-popover\n [isOpen]=\"isOpen && _suggestions.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readonly\"\n [maxWidth]=\"autoResize ? null : minWidth\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n additionalBodyClass=\"fdp-combobox__popover\"\n >\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"_suggestions.length === 0\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #mobileTemplate>\n <ng-container [ngTemplateOutlet]=\"controlTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #controlTemplate>\n <fd-form-input-message-group>\n <fd-input-group\n [id]=\"id + '-input-group-container'\"\n [button]=\"!readonly\"\n [glyph]=\"!readonly ? 'navigation-down-arrow' : ' '\"\n [state]=\"mobile && isOpen ? null : state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [isControl]=\"true\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n [isExpanded]=\"!mobile && isOpen && _suggestions.length > 0\"\n [attr.aria-disabled]=\"disabled\"\n [glyphAriaLabel]=\"ariaLabel\"\n (click)=\"openInMobileMode()\"\n >\n <input\n #searchInputElement\n fdp-auto-complete\n [options]=\"_suggestions\"\n [inputText]=\"inputText\"\n [mobile]=\"mobile\"\n (onComplete)=\"_onCompleteTerm($event)\"\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? id + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-required]=\"required\"\n fd-input-group-input\n tabindex=\"0\"\n [id]=\"id\"\n [name]=\"name\"\n (keydown)=\"onInputKeydownHandler($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"inputText\"\n (ngModelChange)=\"searchTermChanged($event)\"\n [placeholder]=\"placeholder\"\n (focus)=\"onTouched()\"\n (blur)=\"_onBlur($event)\"\n [attr.aria-expanded]=\"isOpen && _suggestions.length > 0\"\n [readonly]=\"readonly\"\n [attr.aria-readonly]=\"readonly\"\n />\n </fd-input-group>\n <div class=\"fdp-combobox__count-list-results\" role=\"status\" *ngIf=\"isOpen\">\n <ng-container *ngIf=\"_flatSuggestions?.length || '0' as count\">\n {{\n (count === 1\n ? 'platformCombobox.countListResultsSingular'\n : 'platformCombobox.countListResultsPlural'\n ) | fdTranslate : { count: count }\n }}\n </ng-container>\n </div>\n <fd-form-message\n *ngIf=\"mobile || isOpen ? null : !!stateMessage\"\n [type]=\"state\"\n [innerHtml]=\"stateMessage\"\n ></fd-form-message>\n </fd-form-input-message-group>\n</ng-template>\n\n<ng-template #listTemplate>\n <ul\n fd-list\n [hasMessage]=\"!!stateMessage\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [dropdownMode]=\"true\"\n class=\"fdp-combobox__list {{ !!stateMessage && 'fdp-combobox__list--message' }}\"\n [id]=\"id + '-result'\"\n role=\"listbox\"\n [byline]=\"byline\"\n [attr.aria-labelledby]=\"id + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [style.maxWidth]=\"autoResize && maxWidth + 'px'\"\n >\n <li\n *ngIf=\"stateMessage\"\n [attr.aria-label]=\"stateMessage\"\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [innerHtml]=\"stateMessage\"\n ></li>\n\n <ng-content></ng-content>\n <ng-container *ngIf=\"isGroup\">\n <ng-container *ngFor=\"let group of _suggestions\">\n <ng-container *ngIf=\"!groupItemTemplate\">\n <li fd-list-group-header role=\"option\">\n <span fd-list-title [attr.title]=\"group.label\">{{ group.label }}</span>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"groupItemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"groupItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: group.label } }\"\n ></ng-container>\n </ng-container>\n\n <li\n *ngFor=\"let optionItem of group.children; let i = index\"\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!isGroup\">\n <li\n *ngFor=\"let optionItem of _suggestions; let i = index\"\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-container>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #listItem>\n <ng-container\n *ngIf=\"isSelectedOptionItem(optionItem) && !!selectedItemTemplate\"\n [ngTemplateOutlet]=\"selectedItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-container>\n\n <ng-container *ngIf=\"!(isSelectedOptionItem(optionItem) && selectedItemTemplate)\">\n <ng-container\n [ngTemplateOutlet]=\"optionItemSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: index }\"\n ></ng-container>\n\n <ng-container\n [ngTemplateOutlet]=\"secondaryTextSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #optionItemSource>\n <ng-container *ngIf=\"!optionItemTemplate\">\n <span [attr.title]=\"optionItem.label\" [innerHTML]=\"optionItem.label | highlight : inputText\"></span>\n </ng-container>\n\n <ng-container *ngIf=\"optionItemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"optionItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template let-optionItem=\"optionItem\" #secondaryTextSource>\n <ng-container *ngIf=\"showSecondaryText\">\n <ng-container *ngIf=\"!secondaryItemTemplate\">\n <span\n [style.text-align]=\"secondaryTextAlignment\"\n fd-list-secondary\n [attr.title]=\"optionItem.secondaryText\"\n [innerHTML]=\"optionItem.secondaryText | highlight : inputText\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"secondaryItemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"secondaryItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".fdp-combobox__count-list-results{position:absolute;opacity:0;z-index:-1}.fdp-combobox__list .fd-list__item{justify-content:space-between}.fdp-combobox__list .fd-list__item span{overflow:hidden;text-overflow:ellipsis;width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i6.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary] ,[fdListSecondary]" }, { kind: "directive", type: i7.ListMessageDirective, selector: "[fd-list-message], [fdListMessage]", inputs: ["type", "class"] }, { kind: "component", type: i8.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i8.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i8.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i9.AutoCompleteDirective, selector: "[fdp-auto-complete]", inputs: ["options", "inputText", "mobile"], outputs: ["onComplete"] }, { kind: "component", type: i10.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i10.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "pipe", type: i3.SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
183
+ ], viewQueries: [{ propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"mobile ? mobileTemplate : desktopTemplate\"></ng-container>\n\n<ng-template #desktopTemplate>\n <fd-popover\n [isOpen]=\"isOpen && _suggestions.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readonly\"\n [maxWidth]=\"autoResize ? null : minWidth\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n additionalBodyClass=\"fdp-combobox__popover\"\n >\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"_suggestions.length === 0\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template #mobileTemplate>\n <ng-container [ngTemplateOutlet]=\"controlTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #controlTemplate>\n <fd-form-input-message-group>\n <fd-input-group\n [id]=\"id + '-input-group-container'\"\n [button]=\"!readonly\"\n [glyph]=\"!readonly ? 'navigation-down-arrow' : ' '\"\n [state]=\"mobile && isOpen ? null : state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [isControl]=\"true\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n [isExpanded]=\"!mobile && isOpen && _suggestions.length > 0\"\n [attr.aria-disabled]=\"disabled\"\n [glyphAriaLabel]=\"ariaLabel\"\n (click)=\"openInMobileMode()\"\n >\n <input\n #searchInputElement\n fdp-auto-complete\n [options]=\"_suggestions\"\n [inputText]=\"inputText\"\n [mobile]=\"mobile\"\n (onComplete)=\"_onCompleteTerm($event)\"\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? id + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-required]=\"required\"\n fd-input-group-input\n tabindex=\"0\"\n [id]=\"id\"\n [name]=\"name\"\n (keydown)=\"onInputKeydownHandler($event)\"\n [disabled]=\"disabled\"\n [ngModel]=\"inputText\"\n (ngModelChange)=\"searchTermChanged($event)\"\n [placeholder]=\"placeholder\"\n (focus)=\"onTouched()\"\n (blur)=\"_onBlur($event)\"\n [attr.aria-expanded]=\"isOpen && _suggestions.length > 0\"\n [readonly]=\"readonly\"\n [attr.aria-readonly]=\"readonly\"\n />\n </fd-input-group>\n <div class=\"fdp-combobox__count-list-results\" role=\"status\" *ngIf=\"isOpen\">\n <ng-container *ngIf=\"_flatSuggestions?.length || '0' as count\">\n {{\n (count === 1\n ? 'platformCombobox.countListResultsSingular'\n : 'platformCombobox.countListResultsPlural'\n ) | fdTranslate : { count: count }\n }}\n </ng-container>\n </div>\n <fd-form-message\n *ngIf=\"mobile || isOpen ? null : !!stateMessage\"\n [type]=\"state\"\n [innerHtml]=\"stateMessage\"\n ></fd-form-message>\n </fd-form-input-message-group>\n</ng-template>\n\n<ng-template #listTemplate>\n <ul\n fd-list\n [hasMessage]=\"!!stateMessage\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n [dropdownMode]=\"true\"\n class=\"fdp-combobox__list {{ !!stateMessage && 'fdp-combobox__list--message' }}\"\n [id]=\"id + '-result'\"\n role=\"listbox\"\n [byline]=\"byline\"\n [attr.aria-labelledby]=\"id + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [style.maxWidth]=\"autoResize && maxWidth + 'px'\"\n >\n <li\n *ngIf=\"stateMessage\"\n [attr.aria-label]=\"stateMessage\"\n fd-list-message\n tabindex=\"-1\"\n role=\"presentation\"\n [type]=\"state || 'default'\"\n [innerHtml]=\"stateMessage\"\n ></li>\n\n <ng-content></ng-content>\n <ng-container *ngIf=\"isGroup\">\n <ng-container *ngFor=\"let group of _suggestions\">\n <ng-container *ngIf=\"!groupItemTemplate\">\n <li fd-list-group-header role=\"option\">\n <span fd-list-title [attr.title]=\"group.label\">{{ group.label }}</span>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"groupItemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"groupItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { label: group.label } }\"\n ></ng-container>\n </ng-container>\n\n <li\n *ngFor=\"let optionItem of group.children; let i = index\"\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!isGroup\">\n <li\n *ngFor=\"let optionItem of _suggestions; let i = index\"\n (click)=\"handleOptionItem(optionItem)\"\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n (keyDown)=\"handlePressEnter($event, optionItem)\"\n [selected]=\"isSelectedOptionItem(optionItem)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"listItem\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: i }\"\n ></ng-container>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #listItem>\n <ng-container\n *ngIf=\"isSelectedOptionItem(optionItem) && !!selectedItemTemplate\"\n [ngTemplateOutlet]=\"selectedItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-container>\n\n <ng-container *ngIf=\"!(isSelectedOptionItem(optionItem) && selectedItemTemplate)\">\n <ng-container\n [ngTemplateOutlet]=\"optionItemSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem, index: index }\"\n ></ng-container>\n\n <ng-container\n [ngTemplateOutlet]=\"secondaryTextSource\"\n [ngTemplateOutletContext]=\"{ optionItem: optionItem }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template let-optionItem=\"optionItem\" let-index=\"index\" #optionItemSource>\n <ng-container *ngIf=\"!optionItemTemplate\">\n <span [attr.title]=\"optionItem.label\" [innerHTML]=\"optionItem.label | highlight : inputText\"></span>\n </ng-container>\n\n <ng-container *ngIf=\"optionItemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"optionItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value, index: index }\"\n ></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template let-optionItem=\"optionItem\" #secondaryTextSource>\n <ng-container *ngIf=\"showSecondaryText\">\n <ng-container *ngIf=\"!secondaryItemTemplate\">\n <span\n [style.text-align]=\"secondaryTextAlignment\"\n fd-list-secondary\n [attr.title]=\"optionItem.secondaryText\"\n [innerHTML]=\"optionItem.secondaryText | highlight : inputText\"\n ></span>\n </ng-container>\n\n <ng-container *ngIf=\"secondaryItemTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"secondaryItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionItem.value }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [".fdp-combobox__count-list-results{position:absolute;opacity:0;z-index:-1}.fdp-combobox__list .fd-list__item{justify-content:space-between}.fdp-combobox__list .fd-list__item span{overflow:hidden;text-overflow:ellipsis;width:100%}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i6.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary] ,[fdListSecondary]" }, { kind: "directive", type: i7.ListMessageDirective, selector: "[fd-list-message], [fdListMessage]", inputs: ["type", "class"] }, { kind: "component", type: i8.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i8.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i8.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i9.AutoCompleteDirective, selector: "[fdp-auto-complete]", inputs: ["options", "inputText", "mobile"], outputs: ["onComplete"] }, { kind: "component", type: i10.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: i10.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "pipe", type: i3.SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
184
184
  }
185
185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ComboboxComponent, decorators: [{
186
186
  type: Component,
@@ -75,7 +75,7 @@ export class ComboboxMobileComponent extends MobileModeBase {
75
75
  });
76
76
  }
77
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ComboboxMobileComponent, deps: [{ token: i0.ElementRef }, { token: i1.DialogService }, { token: COMBOBOX_COMPONENT }, { token: MOBILE_MODE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ComboboxMobileComponent, selector: "fdp-combobox-mobile", viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title *ngIf=\"mobileConfig?.title\">{{ mobileConfig.title }}</h1>\n <button\n fd-dialog-close-button\n *ngIf=\"mobileConfig?.hasCloseButton\"\n [mobile]=\"true\"\n (click)=\"handleDismiss()\"\n ></button>\n <ng-template fdkTemplate=\"subheader\">\n <div fd-bar-middle>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-container *ngTemplateOutlet=\"childContent?.controlTemplate || null\"></ng-container>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ng-container *ngTemplateOutlet=\"childContent?.listTemplate || null\"></ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n *ngIf=\"mobileConfig.approveButtonText\"\n fdType=\"emphasized\"\n [label]=\"mobileConfig.approveButtonText!\"\n (click)=\"handleApprove()\"\n >\n </fd-button-bar>\n <fd-button-bar\n *ngIf=\"mobileConfig?.cancelButtonText\"\n [label]=\"mobileConfig.cancelButtonText!\"\n (click)=\"handleDismiss()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.BarMiddleDirective, selector: "[fd-bar-middle]" }, { kind: "directive", type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["isTitle", "fullWidth"] }, { kind: "component", type: i2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i3.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i4.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ComboboxMobileComponent, selector: "fdp-combobox-mobile", viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialogTemplate>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title *ngIf=\"mobileConfig?.title\">{{ mobileConfig.title }}</h1>\n <button\n fd-dialog-close-button\n *ngIf=\"mobileConfig?.hasCloseButton\"\n [mobile]=\"true\"\n (click)=\"handleDismiss()\"\n ></button>\n <ng-template fdkTemplate=\"subheader\">\n <div fd-bar-middle>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-container *ngTemplateOutlet=\"childContent?.controlTemplate || null\"></ng-container>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ng-container *ngTemplateOutlet=\"childContent?.listTemplate || null\"></ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n *ngIf=\"mobileConfig.approveButtonText\"\n fdType=\"emphasized\"\n [label]=\"mobileConfig.approveButtonText!\"\n (click)=\"handleApprove()\"\n >\n </fd-button-bar>\n <fd-button-bar\n *ngIf=\"mobileConfig?.cancelButtonText\"\n [label]=\"mobileConfig.cancelButtonText!\"\n (click)=\"handleDismiss()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.BarMiddleDirective, selector: "[fd-bar-middle]" }, { kind: "directive", type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }, { kind: "component", type: i3.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i4.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ComboboxMobileComponent, decorators: [{
81
81
  type: Component,
@@ -12,7 +12,6 @@ import { PipeModule } from '@fundamental-ngx/cdk/utils';
12
12
  import { I18nModule } from '@fundamental-ngx/i18n';
13
13
  import { ComboboxComponent } from './combobox/combobox.component';
14
14
  import { PlatformAutoCompleteModule } from '../auto-complete/auto-complete.module';
15
- import { PlatformContentDensityDeprecationsModule } from '@fundamental-ngx/platform/shared';
16
15
  import * as i0 from "@angular/core";
17
16
  export class PlatformComboboxModule {
18
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformComboboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -26,8 +25,7 @@ export class PlatformComboboxModule {
26
25
  PlatformAutoCompleteModule,
27
26
  FormModule,
28
27
  I18nModule,
29
- PlatformContentDensityDeprecationsModule,
30
- ContentDensityModule], exports: [ComboboxComponent, TemplateModule, PlatformContentDensityDeprecationsModule, ContentDensityModule] }); }
28
+ ContentDensityModule], exports: [ComboboxComponent, TemplateModule, ContentDensityModule] }); }
31
29
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformComboboxModule, providers: [DynamicComponentService], imports: [CommonModule,
32
30
  FormsModule,
33
31
  InputGroupModule,
@@ -38,8 +36,7 @@ export class PlatformComboboxModule {
38
36
  PlatformAutoCompleteModule,
39
37
  FormModule,
40
38
  I18nModule,
41
- PlatformContentDensityDeprecationsModule,
42
- ContentDensityModule, TemplateModule, PlatformContentDensityDeprecationsModule, ContentDensityModule] }); }
39
+ ContentDensityModule, TemplateModule, ContentDensityModule] }); }
43
40
  }
44
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: PlatformComboboxModule, decorators: [{
45
42
  type: NgModule,
@@ -56,11 +53,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
56
53
  PlatformAutoCompleteModule,
57
54
  FormModule,
58
55
  I18nModule,
59
- PlatformContentDensityDeprecationsModule,
60
56
  ContentDensityModule
61
57
  ],
62
58
  providers: [DynamicComponentService],
63
- exports: [ComboboxComponent, TemplateModule, PlatformContentDensityDeprecationsModule, ContentDensityModule]
59
+ exports: [ComboboxComponent, TemplateModule, ContentDensityModule]
64
60
  }]
65
61
  }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY29tYm9ib3gvY29tYm9ib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBcUI1RixNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixpQkFsQmhCLGlCQUFpQixhQUU1QixZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixVQUFVO1lBQ1YsVUFBVTtZQUNWLFlBQVk7WUFDWixhQUFhO1lBQ2IsMEJBQTBCO1lBQzFCLFVBQVU7WUFDVixVQUFVO1lBQ1Ysd0NBQXdDO1lBQ3hDLG9CQUFvQixhQUdkLGlCQUFpQixFQUFFLGNBQWMsRUFBRSx3Q0FBd0MsRUFBRSxvQkFBb0I7K0dBRWxHLHNCQUFzQixhQUhwQixDQUFDLHVCQUF1QixDQUFDLFlBYmhDLFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLFVBQVU7WUFDVixVQUFVO1lBQ1YsWUFBWTtZQUNaLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsVUFBVTtZQUNWLFVBQVU7WUFDVix3Q0FBd0M7WUFDeEMsb0JBQW9CLEVBR0ssY0FBYyxFQUFFLHdDQUF3QyxFQUFFLG9CQUFvQjs7MkZBRWxHLHNCQUFzQjtrQkFuQmxDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLDBCQUEwQjt3QkFDMUIsVUFBVTt3QkFDVixVQUFVO3dCQUNWLHdDQUF3Qzt3QkFDeEMsb0JBQW9CO3FCQUN2QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLHdDQUF3QyxFQUFFLG9CQUFvQixDQUFDO2lCQUMvRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsIFRlbXBsYXRlTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgSW5wdXRHcm91cE1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pbnB1dC1ncm91cCc7XG5pbXBvcnQgeyBMaXN0TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2xpc3QnO1xuaW1wb3J0IHsgRm9ybU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9mb3JtJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgUGlwZU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEkxOG5Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuXG5pbXBvcnQgeyBDb21ib2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50JztcbmltcG9ydCB7IFBsYXRmb3JtQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnLi4vYXV0by1jb21wbGV0ZS9hdXRvLWNvbXBsZXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybUNvbnRlbnREZW5zaXR5RGVwcmVjYXRpb25zTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0NvbWJvYm94Q29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIElucHV0R3JvdXBNb2R1bGUsXG4gICAgICAgIFBpcGVNb2R1bGUsXG4gICAgICAgIExpc3RNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgUGxhdGZvcm1BdXRvQ29tcGxldGVNb2R1bGUsXG4gICAgICAgIEZvcm1Nb2R1bGUsXG4gICAgICAgIEkxOG5Nb2R1bGUsXG4gICAgICAgIFBsYXRmb3JtQ29udGVudERlbnNpdHlEZXByZWNhdGlvbnNNb2R1bGUsXG4gICAgICAgIENvbnRlbnREZW5zaXR5TW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtEeW5hbWljQ29tcG9uZW50U2VydmljZV0sXG4gICAgZXhwb3J0czogW0NvbWJvYm94Q29tcG9uZW50LCBUZW1wbGF0ZU1vZHVsZSwgUGxhdGZvcm1Db250ZW50RGVuc2l0eURlcHJlY2F0aW9uc01vZHVsZSwgQ29udGVudERlbnNpdHlNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFBsYXRmb3JtQ29tYm9ib3hNb2R1bGUge31cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2Zvcm0vY29tYm9ib3gvY29tYm9ib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBb0JuRixNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7K0dBQXRCLHNCQUFzQixpQkFqQmhCLGlCQUFpQixhQUU1QixZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixVQUFVO1lBQ1YsVUFBVTtZQUNWLFlBQVk7WUFDWixhQUFhO1lBQ2IsMEJBQTBCO1lBQzFCLFVBQVU7WUFDVixVQUFVO1lBQ1Ysb0JBQW9CLGFBR2QsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLG9CQUFvQjsrR0FFeEQsc0JBQXNCLGFBSHBCLENBQUMsdUJBQXVCLENBQUMsWUFaaEMsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsVUFBVTtZQUNWLFVBQVU7WUFDVixZQUFZO1lBQ1osYUFBYTtZQUNiLDBCQUEwQjtZQUMxQixVQUFVO1lBQ1YsVUFBVTtZQUNWLG9CQUFvQixFQUdLLGNBQWMsRUFBRSxvQkFBb0I7OzJGQUV4RCxzQkFBc0I7a0JBbEJsQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixvQkFBb0I7cUJBQ3ZCO29CQUNELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLENBQUM7aUJBQ3JFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgVGVtcGxhdGVNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBJbnB1dEdyb3VwTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2lucHV0LWdyb3VwJztcbmltcG9ydCB7IExpc3RNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbGlzdCc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBQaXBlTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgSTE4bk1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5cbmltcG9ydCB7IENvbWJvYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhdGZvcm1BdXRvQ29tcGxldGVNb2R1bGUgfSBmcm9tICcuLi9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtDb21ib2JveENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBJbnB1dEdyb3VwTW9kdWxlLFxuICAgICAgICBQaXBlTW9kdWxlLFxuICAgICAgICBMaXN0TW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgICAgIFBsYXRmb3JtQXV0b0NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBGb3JtTW9kdWxlLFxuICAgICAgICBJMThuTW9kdWxlLFxuICAgICAgICBDb250ZW50RGVuc2l0eU1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbRHluYW1pY0NvbXBvbmVudFNlcnZpY2VdLFxuICAgIGV4cG9ydHM6IFtDb21ib2JveENvbXBvbmVudCwgVGVtcGxhdGVNb2R1bGUsIENvbnRlbnREZW5zaXR5TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybUNvbWJvYm94TW9kdWxlIHt9XG4iXX0=