@fundamental-ngx/platform 0.48.0-rc.9 → 0.48.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 (510) hide show
  1. package/approval-flow/approval-flow-node/approval-flow-node.component.d.ts +0 -2
  2. package/button/button.component.d.ts +7 -8
  3. package/dynamic-page/dynamic-page.component.d.ts +24 -15
  4. package/dynamic-page/dynamic-page.tokens.d.ts +3 -0
  5. package/dynamic-page/index.d.ts +2 -1
  6. package/dynamic-page/platform-dynamic-page.interface.d.ts +22 -0
  7. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +4 -4
  8. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +4 -4
  9. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +3 -3
  10. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +3 -3
  11. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +5 -7
  12. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +3 -3
  13. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
  14. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +3 -3
  15. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +3 -3
  16. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
  17. package/esm2022/approval-flow/approval-flow.component.mjs +5 -5
  18. package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
  19. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  20. package/esm2022/button/button.component.mjs +14 -15
  21. package/esm2022/button/button.module.mjs +4 -4
  22. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  23. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  24. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +3 -3
  25. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
  26. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  27. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  28. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  29. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
  30. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  31. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  32. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  33. package/esm2022/dynamic-page/dynamic-page.component.mjs +48 -35
  34. package/esm2022/dynamic-page/dynamic-page.config.mjs +3 -3
  35. package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
  36. package/esm2022/dynamic-page/dynamic-page.tokens.mjs +3 -0
  37. package/esm2022/dynamic-page/index.mjs +3 -2
  38. package/esm2022/dynamic-page/platform-dynamic-page.interface.mjs +2 -0
  39. package/esm2022/feed-input/feed-input.component.mjs +6 -6
  40. package/esm2022/feed-input/feed-input.module.mjs +4 -4
  41. package/esm2022/form/auto-complete/auto-complete.directive.mjs +3 -3
  42. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
  43. package/esm2022/form/checkbox/checkbox.component.mjs +11 -43
  44. package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
  45. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +21 -63
  46. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
  47. package/esm2022/form/combobox/combobox/combobox.component.mjs +33 -63
  48. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +15 -22
  49. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  50. package/esm2022/form/combobox/combobox.config.mjs +3 -3
  51. package/esm2022/form/combobox/combobox.module.mjs +4 -4
  52. package/esm2022/form/combobox/commons/base-combobox.mjs +24 -58
  53. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
  54. package/esm2022/form/date-picker/date-picker.component.mjs +21 -57
  55. package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
  56. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +22 -60
  57. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
  58. package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
  59. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +5 -9
  60. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +5 -9
  61. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +5 -9
  62. package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +5 -9
  63. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +5 -9
  64. package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +4 -4
  65. package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +5 -9
  66. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +5 -9
  67. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +5 -9
  68. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +3 -3
  69. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
  70. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
  71. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +27 -13
  72. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  73. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +3 -3
  74. package/esm2022/form/form-generator/form-generator.service.mjs +11 -16
  75. package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
  76. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +3 -3
  77. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  78. package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
  79. package/esm2022/form/form-group/form-field/form-field.component.mjs +40 -47
  80. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +3 -3
  81. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +3 -3
  82. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +3 -3
  83. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  84. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +4 -4
  85. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +3 -3
  86. package/esm2022/form/form-group/form-group.component.mjs +40 -50
  87. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  88. package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
  89. package/esm2022/form/input/fdp-input.module.mjs +4 -4
  90. package/esm2022/form/input/input.component.mjs +16 -48
  91. package/esm2022/form/input-group/addon-body.component.mjs +4 -5
  92. package/esm2022/form/input-group/addon.component.mjs +3 -3
  93. package/esm2022/form/input-group/input-group.component.mjs +13 -46
  94. package/esm2022/form/input-group/input-group.config.mjs +3 -3
  95. package/esm2022/form/input-group/input-group.module.mjs +4 -4
  96. package/esm2022/form/input-group/input.component.mjs +3 -3
  97. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +3 -3
  98. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +64 -102
  99. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +25 -71
  100. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +18 -26
  101. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
  102. package/esm2022/form/multi-combobox/multi-combobox.config.mjs +3 -3
  103. package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
  104. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
  105. package/esm2022/form/multi-input/base-multi-input.mjs +43 -83
  106. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +13 -21
  107. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  108. package/esm2022/form/multi-input/multi-input.component.mjs +32 -91
  109. package/esm2022/form/multi-input/multi-input.config.mjs +3 -3
  110. package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
  111. package/esm2022/form/radio-group/radio/radio.component.mjs +12 -44
  112. package/esm2022/form/radio-group/radio-group.component.mjs +32 -74
  113. package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
  114. package/esm2022/form/select/commons/base-select.mjs +59 -101
  115. package/esm2022/form/select/select/select.component.mjs +17 -60
  116. package/esm2022/form/select/select.config.mjs +3 -3
  117. package/esm2022/form/select/select.module.mjs +4 -4
  118. package/esm2022/form/step-input/base.step-input.mjs +72 -85
  119. package/esm2022/form/step-input/number/number-step-input.component.mjs +14 -53
  120. package/esm2022/form/step-input/step-input-action-button.mjs +9 -13
  121. package/esm2022/form/step-input/step-input-control.directive.mjs +3 -3
  122. package/esm2022/form/step-input/step-input-decrement.directive.mjs +9 -13
  123. package/esm2022/form/step-input/step-input-increment.directive.mjs +9 -13
  124. package/esm2022/form/step-input/step-input.config.mjs +3 -3
  125. package/esm2022/form/step-input/step-input.module.mjs +4 -4
  126. package/esm2022/form/switch/switch/switch.component.mjs +12 -49
  127. package/esm2022/form/switch/switch/switch.config.mjs +3 -3
  128. package/esm2022/form/switch/switch.module.mjs +4 -4
  129. package/esm2022/form/text-area/text-area.component.mjs +14 -45
  130. package/esm2022/form/text-area/text-area.config.mjs +3 -3
  131. package/esm2022/form/text-area/text-area.module.mjs +4 -4
  132. package/esm2022/form/time-picker/time-picker.component.mjs +11 -42
  133. package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
  134. package/esm2022/fundamental-ngx.module.mjs +4 -4
  135. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +6 -6
  136. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +85 -90
  137. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +21 -9
  138. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +26 -9
  139. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +40 -26
  140. package/esm2022/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.mjs +76 -0
  141. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +28 -16
  142. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +14 -5
  143. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +3 -3
  144. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +5 -5
  145. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +12 -21
  146. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +10 -12
  147. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +10 -11
  148. package/esm2022/icon-tab-bar/directives/icon-tab-bar-free-content.directive.mjs +14 -0
  149. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +208 -27
  150. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +19 -9
  151. package/esm2022/icon-tab-bar/index.mjs +3 -1
  152. package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
  153. package/esm2022/info-label/info-label.component.mjs +6 -4
  154. package/esm2022/info-label/info-label.module.mjs +4 -4
  155. package/esm2022/link/link.component.mjs +15 -23
  156. package/esm2022/link/link.module.mjs +4 -4
  157. package/esm2022/list/action-list-item/action-list-item.component.mjs +5 -5
  158. package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
  159. package/esm2022/list/base-list-item.mjs +20 -22
  160. package/esm2022/list/display-list-item/display-list-item.component.mjs +5 -5
  161. package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
  162. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +5 -5
  163. package/esm2022/list/list-group-footer.component.mjs +5 -5
  164. package/esm2022/list/list-group-header.component.mjs +7 -7
  165. package/esm2022/list/list.component.mjs +25 -66
  166. package/esm2022/list/list.config.mjs +3 -3
  167. package/esm2022/list/list.module.mjs +4 -4
  168. package/esm2022/list/load-more-content.directive.mjs +3 -3
  169. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +6 -6
  170. package/esm2022/list/object-list-item/object-list-item.component.mjs +5 -5
  171. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
  172. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +5 -5
  173. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
  174. package/esm2022/menu/menu-item.component.mjs +5 -5
  175. package/esm2022/menu/menu-trigger.directive.mjs +3 -3
  176. package/esm2022/menu/menu.component.mjs +5 -6
  177. package/esm2022/menu/menu.module.mjs +4 -4
  178. package/esm2022/menu-button/menu-button.component.mjs +14 -9
  179. package/esm2022/menu-button/menu-button.module.mjs +4 -4
  180. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +11 -14
  181. package/esm2022/message-popover/components/message-view/message-view.component.mjs +4 -4
  182. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
  183. package/esm2022/message-popover/message-popover.component.mjs +53 -54
  184. package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
  185. package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
  186. package/esm2022/object-marker/object-marker.component.mjs +10 -5
  187. package/esm2022/object-marker/object-marker.module.mjs +4 -4
  188. package/esm2022/object-status/object-status.component.mjs +13 -8
  189. package/esm2022/object-status/object-status.module.mjs +4 -4
  190. package/esm2022/page-footer/page-footer.component.mjs +8 -10
  191. package/esm2022/page-footer/page-footer.module.mjs +4 -4
  192. package/esm2022/panel/panel-actions.component.mjs +3 -3
  193. package/esm2022/panel/panel-content/panel-content.component.mjs +3 -3
  194. package/esm2022/panel/panel.component.mjs +8 -9
  195. package/esm2022/panel/panel.config.mjs +3 -3
  196. package/esm2022/panel/panel.module.mjs +4 -4
  197. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +12 -22
  198. package/esm2022/search-field/search-field.component.mjs +36 -42
  199. package/esm2022/search-field/search-field.module.mjs +4 -4
  200. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +6 -6
  201. package/esm2022/settings-generator/default-config.mjs +2 -2
  202. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  203. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +3 -3
  204. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +3 -3
  205. package/esm2022/settings-generator/models/settings.model.mjs +1 -1
  206. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +34 -28
  207. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +4 -5
  208. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  209. package/esm2022/settings-generator/settings-generator.component.mjs +6 -6
  210. package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
  211. package/esm2022/settings-generator/settings-generator.service.mjs +12 -13
  212. package/esm2022/shared/base.mjs +30 -18
  213. package/esm2022/shared/form/base.input.mjs +70 -69
  214. package/esm2022/shared/form/collection-base.input.mjs +7 -49
  215. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +25 -66
  216. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  217. package/esm2022/shared/pipes/pipe.module.mjs +4 -4
  218. package/esm2022/shared/platform.config.mjs +3 -3
  219. package/esm2022/slider/slider.component.mjs +11 -43
  220. package/esm2022/slider/slider.module.mjs +4 -4
  221. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +11 -14
  222. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +8 -16
  223. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -6
  224. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +13 -18
  225. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +22 -47
  226. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +12 -10
  227. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +3 -3
  228. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  229. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +73 -57
  230. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  231. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +3 -3
  232. package/esm2022/split-menu-button/split-menu-button.component.mjs +17 -24
  233. package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
  234. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  235. package/esm2022/table/components/reset-button/reset-button.component.mjs +8 -9
  236. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +10 -9
  237. package/esm2022/table/components/table-column/table-column.component.mjs +3 -3
  238. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +11 -14
  239. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +4 -4
  240. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +6 -10
  241. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +31 -15
  242. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +19 -24
  243. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +9 -11
  244. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +4 -4
  245. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +8 -11
  246. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +8 -11
  247. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +11 -14
  248. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  249. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +3 -3
  250. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
  251. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  252. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  253. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -8
  254. package/esm2022/table/components/table-row/table-row.component.mjs +12 -17
  255. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  256. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  257. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +38 -23
  258. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +3 -3
  259. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +3 -3
  260. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +3 -3
  261. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +4 -4
  262. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +4 -4
  263. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +8 -11
  264. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +9 -12
  265. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +9 -12
  266. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +3 -3
  267. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  268. package/esm2022/table/table.component.mjs +138 -62
  269. package/esm2022/table/table.module.mjs +4 -4
  270. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
  271. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
  272. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +20 -23
  273. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
  274. package/esm2022/table-helpers/directives/table-cell.directive.mjs +12 -12
  275. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +10 -9
  276. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
  277. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  278. package/esm2022/table-helpers/directives/table-header.directive.mjs +6 -6
  279. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +5 -5
  280. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +3 -3
  281. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +3 -3
  282. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
  283. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  284. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  285. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
  286. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  287. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  288. package/esm2022/table-helpers/services/table-column-resize.service.mjs +22 -20
  289. package/esm2022/table-helpers/services/table-responsive.service.mjs +9 -14
  290. package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
  291. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
  292. package/esm2022/table-helpers/services/table.service.mjs +23 -21
  293. package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
  294. package/esm2022/table-helpers/table.mjs +1 -1
  295. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +3 -3
  296. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +4 -4
  297. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +28 -8
  298. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +9 -5
  299. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +3 -3
  300. package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +24 -0
  301. package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +22 -0
  302. package/esm2022/value-help-dialog/index.mjs +3 -1
  303. package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
  304. package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
  305. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +59 -32
  306. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
  307. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +4 -4
  308. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -6
  309. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  310. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +3 -3
  311. package/esm2022/variant-management/variant-management.component.mjs +47 -13
  312. package/esm2022/variant-management/variant-management.module.mjs +4 -4
  313. package/esm2022/wizard-generator/base-wizard-generator.mjs +21 -28
  314. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +19 -19
  315. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +12 -18
  316. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +7 -12
  317. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +11 -10
  318. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +4 -4
  319. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +3 -3
  320. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  321. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  322. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  323. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  324. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +3 -3
  325. package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
  326. package/esm2022/wizard-generator/wizard-generator.service.mjs +3 -3
  327. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +42 -44
  328. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  329. package/fesm2022/fundamental-ngx-platform-button.mjs +16 -17
  330. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  331. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +88 -130
  332. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  333. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -9
  334. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  335. package/fesm2022/fundamental-ngx-platform-form.mjs +853 -1636
  336. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  337. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +532 -220
  338. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  339. package/fesm2022/fundamental-ngx-platform-info-label.mjs +9 -7
  340. package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
  341. package/fesm2022/fundamental-ngx-platform-link.mjs +18 -26
  342. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  343. package/fesm2022/fundamental-ngx-platform-list.mjs +104 -143
  344. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  345. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +16 -11
  346. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  347. package/fesm2022/fundamental-ngx-platform-menu.mjs +16 -16
  348. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  349. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +71 -74
  350. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  351. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +13 -8
  352. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  353. package/fesm2022/fundamental-ngx-platform-object-status.mjs +16 -11
  354. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  355. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +10 -12
  356. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  357. package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -20
  358. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  359. package/fesm2022/fundamental-ngx-platform-search-field.mjs +49 -77
  360. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  361. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +75 -72
  362. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  363. package/fesm2022/fundamental-ngx-platform-shared.mjs +162 -218
  364. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  365. package/fesm2022/fundamental-ngx-platform-slider.mjs +12 -44
  366. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  367. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +144 -162
  368. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  369. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +20 -27
  370. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  371. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +143 -148
  372. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  373. package/fesm2022/fundamental-ngx-platform-table.mjs +366 -291
  374. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  375. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +144 -53
  376. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  377. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +63 -30
  378. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  379. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +82 -98
  380. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  381. package/fesm2022/fundamental-ngx-platform.mjs +4 -4
  382. package/form/checkbox/checkbox.component.d.ts +4 -6
  383. package/form/checkbox-group/checkbox-group.component.d.ts +3 -8
  384. package/form/combobox/combobox/combobox.component.d.ts +4 -12
  385. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +5 -8
  386. package/form/combobox/commons/base-combobox.d.ts +4 -9
  387. package/form/date-picker/date-picker.component.d.ts +8 -11
  388. package/form/datetime-picker/datetime-picker.component.d.ts +9 -11
  389. package/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.d.ts +0 -2
  390. package/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.d.ts +0 -2
  391. package/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.d.ts +0 -2
  392. package/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.d.ts +0 -2
  393. package/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.d.ts +0 -2
  394. package/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.d.ts +0 -2
  395. package/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.d.ts +0 -2
  396. package/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.d.ts +0 -2
  397. package/form/form-generator/form-generator/form-generator.component.d.ts +3 -1
  398. package/form/form-generator/form-generator.service.d.ts +3 -7
  399. package/form/form-generator/interfaces/dynamic-form-item.d.ts +5 -5
  400. package/form/form-group/form-field/form-field.component.d.ts +16 -20
  401. package/form/form-group/form-group.component.d.ts +36 -35
  402. package/form/input/input.component.d.ts +3 -6
  403. package/form/input-group/addon-body.component.d.ts +0 -1
  404. package/form/input-group/input-group.component.d.ts +4 -5
  405. package/form/multi-combobox/commons/base-multi-combobox.d.ts +13 -16
  406. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +4 -12
  407. package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +6 -9
  408. package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
  409. package/form/multi-input/base-multi-input.d.ts +10 -15
  410. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +5 -8
  411. package/form/multi-input/multi-input.component.d.ts +7 -37
  412. package/form/radio-group/radio/radio.component.d.ts +4 -5
  413. package/form/radio-group/radio-group.component.d.ts +7 -11
  414. package/form/select/commons/base-select.d.ts +11 -18
  415. package/form/select/select/select.component.d.ts +2 -15
  416. package/form/step-input/base.step-input.d.ts +13 -14
  417. package/form/step-input/number/number-step-input.component.d.ts +2 -7
  418. package/form/step-input/step-input-action-button.d.ts +4 -7
  419. package/form/step-input/step-input-decrement.directive.d.ts +2 -5
  420. package/form/step-input/step-input-increment.directive.d.ts +2 -5
  421. package/form/switch/switch/switch.component.d.ts +5 -8
  422. package/form/text-area/text-area.component.d.ts +4 -5
  423. package/form/time-picker/time-picker.component.d.ts +4 -5
  424. package/fundamental-ngx-platform-v0.48.0.tgz +0 -0
  425. package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +19 -20
  426. package/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.d.ts +2 -0
  427. package/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.d.ts +45 -0
  428. package/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.d.ts +1 -3
  429. package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
  430. package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
  431. package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
  432. package/icon-tab-bar/directives/icon-tab-bar-free-content.directive.d.ts +5 -0
  433. package/icon-tab-bar/icon-tab-bar.component.d.ts +82 -8
  434. package/icon-tab-bar/icon-tab-bar.module.d.ts +7 -1
  435. package/icon-tab-bar/index.d.ts +2 -0
  436. package/icon-tab-bar/interfaces/tab-config.interface.d.ts +13 -5
  437. package/info-label/info-label.component.d.ts +2 -2
  438. package/link/link.component.d.ts +4 -7
  439. package/list/base-list-item.d.ts +4 -6
  440. package/list/list.component.d.ts +6 -15
  441. package/menu-button/menu-button.component.d.ts +7 -4
  442. package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
  443. package/message-popover/message-popover.component.d.ts +13 -20
  444. package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
  445. package/object-marker/object-marker.component.d.ts +4 -1
  446. package/object-status/object-status.component.d.ts +4 -1
  447. package/package.json +4 -4
  448. package/page-footer/page-footer.component.d.ts +2 -4
  449. package/panel/panel.component.d.ts +2 -3
  450. package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +7 -10
  451. package/search-field/search-field.component.d.ts +10 -19
  452. package/settings-generator/models/settings.model.d.ts +7 -6
  453. package/settings-generator/settings-generator-content/settings-generator-content.component.d.ts +31 -12
  454. package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +0 -2
  455. package/settings-generator/settings-generator.component.d.ts +3 -3
  456. package/settings-generator/settings-generator.service.d.ts +1 -1
  457. package/shared/base.d.ts +11 -4
  458. package/shared/form/base.input.d.ts +24 -16
  459. package/shared/form/collection-base.input.d.ts +1 -9
  460. package/shared/form/inline-layout-collection-base.input.d.ts +5 -12
  461. package/slider/slider.component.d.ts +3 -6
  462. package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +3 -5
  463. package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +0 -5
  464. package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
  465. package/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.d.ts +8 -17
  466. package/smart-filter-bar/directives/smart-filter-bar-subject.directive.d.ts +2 -0
  467. package/smart-filter-bar/smart-filter-bar.component.d.ts +28 -22
  468. package/split-menu-button/split-menu-button.component.d.ts +11 -14
  469. package/table/components/reset-button/reset-button.component.d.ts +2 -3
  470. package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +4 -3
  471. package/table/components/table-column-resizer/table-column-resizer.component.d.ts +4 -5
  472. package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
  473. package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
  474. package/table/components/table-header-row/table-header-row.component.d.ts +1 -3
  475. package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
  476. package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
  477. package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
  478. package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
  479. package/table/components/table-row/table-row.component.d.ts +2 -2
  480. package/table/components/table-toolbar/table-toolbar.component.d.ts +24 -8
  481. package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
  482. package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
  483. package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
  484. package/table/table.component.d.ts +29 -19
  485. package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
  486. package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -3
  487. package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
  488. package/table-helpers/services/table-column-resize.service.d.ts +4 -2
  489. package/table-helpers/services/table-responsive.service.d.ts +3 -5
  490. package/table-helpers/services/table.service.d.ts +12 -10
  491. package/table-helpers/table.d.ts +1 -0
  492. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +9 -2
  493. package/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.d.ts +5 -1
  494. package/value-help-dialog/directives/value-help-column-def.directive.d.ts +17 -0
  495. package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +15 -0
  496. package/value-help-dialog/index.d.ts +2 -0
  497. package/value-help-dialog/models/vhd-component.model.d.ts +5 -0
  498. package/value-help-dialog/models/vhd-filter.model.d.ts +3 -0
  499. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +14 -7
  500. package/variant-management/variant-management.component.d.ts +19 -6
  501. package/wizard-generator/base-wizard-generator.d.ts +9 -12
  502. package/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.d.ts +2 -3
  503. package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
  504. package/wizard-generator/components/wizard-generator/wizard-generator.component.d.ts +1 -4
  505. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
  506. package/dynamic-page/dynamic-page.service.d.ts +0 -35
  507. package/esm2022/dynamic-page/dynamic-page.service.mjs +0 -58
  508. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
  509. package/fundamental-ngx-platform-v0.48.0-rc.9.tgz +0 -0
  510. package/search-field/search-field-mobile/search-field-mobile.module.d.ts +0 -7
@@ -1,12 +1,10 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Host, Inject, Input, Optional, Output, Self, SkipSelf, TemplateRef, ViewChild } from '@angular/core';
2
- import { ControlContainer, FormsModule, NgControl, NgForm } from '@angular/forms';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
3
  import { NgTemplateOutlet } from '@angular/common';
4
- import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
5
4
  import { RadioButtonComponent as CoreRadioButtonComponent } from '@fundamental-ngx/core/radio';
6
- import { BaseInput, PlatformFormField, PlatformFormFieldControl } from '@fundamental-ngx/platform/shared';
5
+ import { BaseInput } from '@fundamental-ngx/platform/shared';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "@angular/forms";
9
- import * as i2 from "@fundamental-ngx/platform/shared";
10
8
  let uniqueId = 0;
11
9
  export class RadioButtonComponent extends BaseInput {
12
10
  /** value for Radio button */
@@ -17,8 +15,8 @@ export class RadioButtonComponent extends BaseInput {
17
15
  return super.getValue();
18
16
  }
19
17
  /** @hidden */
20
- constructor(cd, elementRef, ngControl, controlContainer, ngForm, formField, formControl) {
21
- super(cd, elementRef, ngControl, controlContainer, ngForm, formField, formControl);
18
+ constructor() {
19
+ super();
22
20
  /**
23
21
  * Includes the Radio in the page tab sequence.
24
22
  */
@@ -56,7 +54,7 @@ export class RadioButtonComponent extends BaseInput {
56
54
  this.checked.emit(this);
57
55
  }
58
56
  this.tabIndex = this._isChecked ? 0 : -1;
59
- this._cd.detectChanges();
57
+ this.detectChanges();
60
58
  if (emitEvent) {
61
59
  this.onChange(value);
62
60
  this.onTouched();
@@ -77,45 +75,15 @@ export class RadioButtonComponent extends BaseInput {
77
75
  /** Setting tabIndex for radio accessibility */
78
76
  setTabIndex(index) {
79
77
  this.tabIndex = index;
80
- this._cd.markForCheck();
78
+ this.markForCheck();
81
79
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }, { token: i1.ControlContainer, optional: true, skipSelf: true }, { token: i1.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 }], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: RadioButtonComponent, isStandalone: true, selector: "fdp-radio-button", inputs: { title: "title", tabIndex: "tabIndex", value: "value", forceRender: "forceRender" }, outputs: { checked: "checked" }, viewQueries: [{ propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }, { propertyName: "coreRadioButton", first: true, predicate: CoreRadioButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #renderer>\n <fd-radio-button\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [tabIndex]=\"_isChecked ? 0 : tabIndex\"\n [title]=\"title\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ngModel]=\"_currentValue\"\n (ngModelChange)=\"_valueChange($event, true)\"\n >\n <ng-content></ng-content>\n </fd-radio-button>\n</ng-template>\n@if (forceRender) {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n}\n", dependencies: [{ kind: "component", type: CoreRadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "ngmodule", type: FormsModule }, { 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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: RadioButtonComponent, isStandalone: true, selector: "fdp-radio-button", inputs: { title: "title", tabIndex: "tabIndex", value: "value", forceRender: "forceRender" }, outputs: { checked: "checked" }, viewQueries: [{ propertyName: "renderer", first: true, predicate: ["renderer"], descendants: true }, { propertyName: "coreRadioButton", first: true, predicate: CoreRadioButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #renderer>\n <fd-radio-button\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [tabIndex]=\"_isChecked ? 0 : tabIndex\"\n [title]=\"title\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ngModel]=\"_currentValue\"\n (ngModelChange)=\"_valueChange($event, true)\"\n >\n <ng-content></ng-content>\n </fd-radio-button>\n</ng-template>\n@if (forceRender) {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n}\n", dependencies: [{ kind: "component", type: CoreRadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "ngmodule", type: FormsModule }, { 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: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
82
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RadioButtonComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RadioButtonComponent, decorators: [{
86
84
  type: Component,
87
85
  args: [{ selector: 'fdp-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CoreRadioButtonComponent, FormsModule, NgTemplateOutlet], template: "<ng-template #renderer>\n <fd-radio-button\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [tabIndex]=\"_isChecked ? 0 : tabIndex\"\n [title]=\"title\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaDescribedBy]=\"ariaDescribedBy\"\n [ngModel]=\"_currentValue\"\n (ngModelChange)=\"_valueChange($event, true)\"\n >\n <ng-content></ng-content>\n </fd-radio-button>\n</ng-template>\n@if (forceRender) {\n <ng-template [ngTemplateOutlet]=\"renderer\"></ng-template>\n}\n" }]
88
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
89
- type: Optional
90
- }, {
91
- type: Self
92
- }] }, { type: i1.ControlContainer, decorators: [{
93
- type: Optional
94
- }, {
95
- type: SkipSelf
96
- }] }, { type: i1.NgForm, decorators: [{
97
- type: Optional
98
- }, {
99
- type: SkipSelf
100
- }] }, { type: i2.PlatformFormField, decorators: [{
101
- type: Optional
102
- }, {
103
- type: SkipSelf
104
- }, {
105
- type: Host
106
- }, {
107
- type: Inject,
108
- args: [FD_FORM_FIELD]
109
- }] }, { type: i2.PlatformFormFieldControl, decorators: [{
110
- type: Optional
111
- }, {
112
- type: SkipSelf
113
- }, {
114
- type: Host
115
- }, {
116
- type: Inject,
117
- args: [FD_FORM_FIELD_CONTROL]
118
- }] }], propDecorators: { title: [{
86
+ }], ctorParameters: () => [], propDecorators: { title: [{
119
87
  type: Input
120
88
  }], tabIndex: [{
121
89
  type: Input
@@ -132,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
132
100
  type: ViewChild,
133
101
  args: [CoreRadioButtonComponent, { static: false }]
134
102
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL3JhZGlvLWdyb3VwL3JhZGlvL3JhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZm9ybS9yYWRpby1ncm91cC9yYWRpby9yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixRQUFRLEVBQ1IsV0FBVyxFQUNYLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixJQUFJLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBRTFHLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQVNqQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsU0FBUztJQVcvQyw2QkFBNkI7SUFDN0IsSUFDSSxLQUFLLENBQUMsUUFBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0ws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d0IsbU9BQUUsV0FBVywrVkFBRSxnQkFBZ0I7OzJGQUV4RCxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDOzswQkFnRDdELFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BELFFBQVE7OzBCQUFJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3lDQS9DakUsS0FBSztzQkFESixLQUFLO2dCQU9OLFFBQVE7c0JBRFAsS0FBSztnQkFLRixLQUFLO3NCQURSLEtBQUs7Z0JBVU4sV0FBVztzQkFEVixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxVQUFVO2dCQVdaLE9BQU87c0JBRGYsTUFBTTtnQkFLQyxlQUFlO3NCQUR0QixTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdCxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybXNNb2R1bGUsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTEQsIEZEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IGFzIENvcmVSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9yYWRpbyc7XG5pbXBvcnQgeyBCYXNlSW5wdXQsIFBsYXRmb3JtRm9ybUZpZWxkLCBQbGF0Zm9ybUZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXJhZGlvLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb3JlUmFkaW9CdXR0b25Db21wb25lbnQsIEZvcm1zTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEZvY3VzYWJsZU9wdGlvbiB7XG4gICAgLyoqIHNldHMgcmFkaW8gYnV0dG9uIHRvb2x0aXAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJbmNsdWRlcyB0aGUgUmFkaW8gaW4gdGhlIHBhZ2UgdGFiIHNlcXVlbmNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGFiSW5kZXggPSAtMTtcblxuICAgIC8qKiB2YWx1ZSBmb3IgUmFkaW8gYnV0dG9uICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqIHVzZWQgZm9yIHJhZGlvIGJ1dHRvbiBjcmVhdGlvbiBpZiBsaXN0IHZhbHVlIHByZXNlbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGZvcmNlUmVuZGVyID0gZmFsc2U7XG5cbiAgICAvKiogcmVmZXJlbmNlIG9mIHRlbXBsYXRlICovXG4gICAgQFZpZXdDaGlsZCgncmVuZGVyZXInKVxuICAgIHJlbmRlcmVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY3VycmVudFZhbHVlOiBhbnk7XG5cbiAgICAvKiogQGhpZGRlbiBSYWRpbyBjaGVja2VkIHN0YXR1cyAqL1xuICAgIF9pc0NoZWNrZWQgPSBmYWxzZTtcblxuICAgIC8qKiBjbGljayBldmVudCB0byBlbWl0ICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2hlY2tlZDogRXZlbnRFbWl0dGVyPFJhZGlvQnV0dG9uQ29tcG9uZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKiBBY2Nlc3MgcmFkaW8gYnV0dG9uIGNoaWxkIGVsZW1lbnQgcGFzc2VkIGFzIGNvbnRlbnQgb2YgcmFkaW8gYnV0dG9uIGdyb3VwICovXG4gICAgQFZpZXdDaGlsZChDb3JlUmFkaW9CdXR0b25Db21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHByaXZhdGUgY29yZVJhZGlvQnV0dG9uOiBDb3JlUmFkaW9CdXR0b25Db21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRCkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTCkgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbFxuICAgICkge1xuICAgICAgICBzdXBlcihjZCwgZWxlbWVudFJlZiwgbmdDb250cm9sLCBjb250cm9sQ29udGFpbmVyLCBuZ0Zvcm0sIGZvcm1GaWVsZCwgZm9ybUNvbnRyb2wpO1xuXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQGhpZGRlbiBoYXZlIHRvIHNldCBkZWZhdWx0IGluaXRpYWwgdmFsdWVzIGFzIGJhc2UgY2xhc3MgaGFzIGNoZWNrIGFuZCB0aHJvd3MgZXJyb3JcbiAgICAgICAgdGhpcy5pZCA9IGBmZHAtcmFkaW8taWQtJHt1bmlxdWVJZH1gO1xuICAgICAgICB0aGlzLm5hbWUgPSBgZmRwLXJhZGlvLW5hbWUtJHt1bmlxdWVJZH1gO1xuICAgICAgICB1bmlxdWVJZCsrO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIENvbnRyb2x2YWx1ZSBhY2Nlc3NvciAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3ZhbHVlQ2hhbmdlKHZhbHVlOiBhbnksIGVtaXRFdmVudCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBlbWl0RXZlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9pc0NoZWNrZWQgPSB0aGlzLl9jdXJyZW50VmFsdWUgPT09IHN1cGVyLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICh0aGlzLl9pc0NoZWNrZWQgJiYgZW1pdEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQuZW1pdCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5faXNDaGVja2VkID8gMCA6IC0xO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGlmIChlbWl0RXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBtZXRob2QgZm9yIGNkayBGb2N1c0tleW1hbmFnZXIgKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3JlUmFkaW9CdXR0b24/LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCB0byBzZWxlY3QgcmFkaW8gYnV0dG9uICovXG4gICAgc2VsZWN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZShzdXBlci5nZXRWYWx1ZSgpKTtcbiAgICB9XG5cbiAgICAvKiogbWV0aG9kIHRvIHVuY2hlY2sgcmFkaW8gYnV0dG9uICovXG4gICAgdW5zZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgLyoqIFNldHRpbmcgdGFiSW5kZXggZm9yIHJhZGlvIGFjY2Vzc2liaWxpdHkgKi9cbiAgICBzZXRUYWJJbmRleChpbmRleDogMCB8IC0xKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFiSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNyZW5kZXJlcj5cbiAgICA8ZmQtcmFkaW8tYnV0dG9uXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiX2lzQ2hlY2tlZCA/IDAgOiB0YWJJbmRleFwiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2FyaWFMYWJlbGxlZEJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICBbbmdNb2RlbF09XCJfY3VycmVudFZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX3ZhbHVlQ2hhbmdlKCRldmVudCwgdHJ1ZSlcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbkBpZiAoZm9yY2VSZW5kZXIpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVuZGVyZXJcIj48L25nLXRlbXBsYXRlPlxufVxuIl19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL3JhZGlvLWdyb3VwL3JhZGlvL3JhZGlvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZm9ybS9yYWRpby1ncm91cC9yYWRpby9yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLElBQUksd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUU3RCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFTakIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFXL0MsNkJBQTZCO0lBQzdCLElBQ0ksS0FBSyxDQUFDLFFBQWE7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksS0FBSztRQUNMLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUF3QkQsY0FBYztJQUNkO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUF2Q1o7O1dBRUc7UUFFSCxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFXZCwyREFBMkQ7UUFFM0QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFTcEIsbUNBQW1DO1FBQ25DLGVBQVUsR0FB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c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgYXMgQ29yZVJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IEJhc2VJbnB1dCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtcmFkaW8tYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvcmVSYWRpb0J1dHRvbkNvbXBvbmVudCwgRm9ybXNNb2R1bGUsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKiogc2V0cyByYWRpbyBidXR0b24gdG9vbHRpcCAqL1xuICAgIEBJbnB1dCgpXG4gICAgdGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEluY2x1ZGVzIHRoZSBSYWRpbyBpbiB0aGUgcGFnZSB0YWIgc2VxdWVuY2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0YWJJbmRleCA9IC0xO1xuXG4gICAgLyoqIHZhbHVlIGZvciBSYWRpbyBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWU7XG4gICAgfVxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKiogdXNlZCBmb3IgcmFkaW8gYnV0dG9uIGNyZWF0aW9uIGlmIGxpc3QgdmFsdWUgcHJlc2VudCAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9yY2VSZW5kZXIgPSBmYWxzZTtcblxuICAgIC8qKiByZWZlcmVuY2Ugb2YgdGVtcGxhdGUgKi9cbiAgICBAVmlld0NoaWxkKCdyZW5kZXJlcicpXG4gICAgcmVuZGVyZXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jdXJyZW50VmFsdWU6IGFueTtcblxuICAgIC8qKiBAaGlkZGVuIFJhZGlvIGNoZWNrZWQgc3RhdHVzICovXG4gICAgX2lzQ2hlY2tlZCA9IGZhbHNlO1xuXG4gICAgLyoqIGNsaWNrIGV2ZW50IHRvIGVtaXQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBjaGVja2VkOiBFdmVudEVtaXR0ZXI8UmFkaW9CdXR0b25Db21wb25lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgLyoqIEFjY2VzcyByYWRpbyBidXR0b24gY2hpbGQgZWxlbWVudCBwYXNzZWQgYXMgY29udGVudCBvZiByYWRpbyBidXR0b24gZ3JvdXAgKi9cbiAgICBAVmlld0NoaWxkKENvcmVSYWRpb0J1dHRvbkNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHJpdmF0ZSBjb3JlUmFkaW9CdXR0b246IENvcmVSYWRpb0J1dHRvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgfVxuICAgICAgICAvLyBAaGlkZGVuIGhhdmUgdG8gc2V0IGRlZmF1bHQgaW5pdGlhbCB2YWx1ZXMgYXMgYmFzZSBjbGFzcyBoYXMgY2hlY2sgYW5kIHRocm93cyBlcnJvclxuICAgICAgICB0aGlzLmlkID0gYGZkcC1yYWRpby1pZC0ke3VuaXF1ZUlkfWA7XG4gICAgICAgIHRoaXMubmFtZSA9IGBmZHAtcmFkaW8tbmFtZS0ke3VuaXF1ZUlkfWA7XG4gICAgICAgIHVuaXF1ZUlkKys7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQ29udHJvbHZhbHVlIGFjY2Vzc29yICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdmFsdWVDaGFuZ2UodmFsdWU6IGFueSwgZW1pdEV2ZW50ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGVtaXRFdmVudCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY3VycmVudFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2lzQ2hlY2tlZCA9IHRoaXMuX2N1cnJlbnRWYWx1ZSA9PT0gc3VwZXIuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHRoaXMuX2lzQ2hlY2tlZCAmJiBlbWl0RXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZC5lbWl0KHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLl9pc0NoZWNrZWQgPyAwIDogLTE7XG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBpZiAoZW1pdEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogbWV0aG9kIGZvciBjZGsgRm9jdXNLZXltYW5hZ2VyICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29yZVJhZGlvQnV0dG9uPy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBtZXRob2QgdG8gc2VsZWN0IHJhZGlvIGJ1dHRvbiAqL1xuICAgIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2Uoc3VwZXIuZ2V0VmFsdWUoKSk7XG4gICAgfVxuXG4gICAgLyoqIG1ldGhvZCB0byB1bmNoZWNrIHJhZGlvIGJ1dHRvbiAqL1xuICAgIHVuc2VsZWN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIC8qKiBTZXR0aW5nIHRhYkluZGV4IGZvciByYWRpbyBhY2Nlc3NpYmlsaXR5ICovXG4gICAgc2V0VGFiSW5kZXgoaW5kZXg6IDAgfCAtMSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYkluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNyZW5kZXJlcj5cbiAgICA8ZmQtcmFkaW8tYnV0dG9uXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiX2lzQ2hlY2tlZCA/IDAgOiB0YWJJbmRleFwiXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgICAgW2FyaWFMYWJlbGxlZEJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJhcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICBbbmdNb2RlbF09XCJfY3VycmVudFZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX3ZhbHVlQ2hhbmdlKCRldmVudCwgdHJ1ZSlcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcmFkaW8tYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbkBpZiAoZm9yY2VSZW5kZXIpIHtcbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicmVuZGVyZXJcIj48L25nLXRlbXBsYXRlPlxufVxuIl19
@@ -1,18 +1,16 @@
1
1
  import { FocusKeyManager } from '@angular/cdk/a11y';
2
2
  import { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Host, HostListener, Inject, Input, Optional, Output, QueryList, Self, SkipSelf, ViewChildren, ViewEncapsulation, forwardRef } from '@angular/core';
4
- import { ControlContainer, NgControl, NgForm } from '@angular/forms';
5
- import { FD_FORM_FIELD, FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
6
- import { Subject, merge } from 'rxjs';
7
- import { startWith, switchMap, takeUntil } from 'rxjs/operators';
3
+ import { ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, EventEmitter, HostListener, Input, Output, QueryList, ViewChildren, ViewEncapsulation, forwardRef, inject } from '@angular/core';
4
+ import { FD_FORM_FIELD_CONTROL } from '@fundamental-ngx/cdk/forms';
5
+ import { merge } from 'rxjs';
6
+ import { startWith, switchMap } from 'rxjs/operators';
8
7
  import { KeyUtil } from '@fundamental-ngx/cdk/utils';
9
- import { InLineLayoutCollectionBaseInput, PlatformFormField, PlatformFormFieldControl, RESPONSIVE_BREAKPOINTS_CONFIG, ResponsiveBreakPointConfig, ResponsiveBreakpointsService } from '@fundamental-ngx/platform/shared';
8
+ import { InLineLayoutCollectionBaseInput } from '@fundamental-ngx/platform/shared';
10
9
  import { NgTemplateOutlet } from '@angular/common';
10
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
11
11
  import { FormGroupComponent, FormItemComponent } from '@fundamental-ngx/core/form';
12
12
  import { RadioButtonComponent } from './radio/radio.component';
13
13
  import * as i0 from "@angular/core";
14
- import * as i1 from "@fundamental-ngx/platform/shared";
15
- import * as i2 from "@angular/forms";
16
14
  /**
17
15
  * Radio group implementation based on the
18
16
  * https://github.com/SAP/fundamental-ngx/wiki/Platform:-RadioGroup-Technical-Design
@@ -37,11 +35,8 @@ export class RadioGroupComponent extends InLineLayoutCollectionBaseInput {
37
35
  return this._inlineCurrentValue$.value;
38
36
  }
39
37
  /** @hidden */
40
- constructor(_cd, elementRef, _responsiveBreakpointsService, ngControl, controlContainer, ngForm, formField, formControl, _defaultResponsiveBreakPointConfig) {
41
- super(_cd, elementRef, _responsiveBreakpointsService, ngControl, controlContainer, ngForm, formField, formControl, _defaultResponsiveBreakPointConfig);
42
- this._cd = _cd;
43
- this._responsiveBreakpointsService = _responsiveBreakpointsService;
44
- this._defaultResponsiveBreakPointConfig = _defaultResponsiveBreakPointConfig;
38
+ constructor() {
39
+ super();
45
40
  /** None value radio button created */
46
41
  this.hasNoValue = false;
47
42
  /** Label for None value radio button */
@@ -53,9 +48,25 @@ export class RadioGroupComponent extends InLineLayoutCollectionBaseInput {
53
48
  /** @hidden The currently selected radio button. Should match value. */
54
49
  this._selected = null;
55
50
  /** @hidden */
56
- this._destroy$ = new Subject();
51
+ this._destroyRef = inject(DestroyRef);
57
52
  this.id = `radio-group-${nextUniqueId++}`;
58
53
  }
54
+ /** @hidden */
55
+ _handleKeydown(event) {
56
+ event.stopImmediatePropagation();
57
+ if (this._keyboardEventsManager) {
58
+ // sets Active item. so arrow key starts after the active item.
59
+ // Need to do only once, when one radio is already selected
60
+ if (this._selected && !this._activeItemSet) {
61
+ this._keyboardEventsManager.setActiveItem(this._selected);
62
+ this._activeItemSet = true;
63
+ }
64
+ if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {
65
+ // passing the event to key manager so we get a change fired
66
+ this._keyboardEventsManager.onKeydown(event);
67
+ }
68
+ }
69
+ }
59
70
  /** Control Value Accessor */
60
71
  writeValue(value) {
61
72
  super.writeValue(value);
@@ -79,7 +90,7 @@ export class RadioGroupComponent extends InLineLayoutCollectionBaseInput {
79
90
  throw new Error('fdp-radio-button-group must contain a fdp-radio-button');
80
91
  }
81
92
  this.contentRadioButtons.forEach((button) => (button.state = this.state));
82
- this._cd.markForCheck();
93
+ this.markForCheck();
83
94
  }
84
95
  /**
85
96
  * @hidden
@@ -95,8 +106,6 @@ export class RadioGroupComponent extends InLineLayoutCollectionBaseInput {
95
106
  }
96
107
  /** @hidden Destroys event subscription. */
97
108
  ngOnDestroy() {
98
- this._destroy$.next(true);
99
- this._destroy$.complete();
100
109
  this._keyboardEventsManager?.destroy();
101
110
  }
102
111
  /** @hidden */
@@ -104,22 +113,6 @@ export class RadioGroupComponent extends InLineLayoutCollectionBaseInput {
104
113
  return this.disabled || (typeof item === 'object' && !!item.disabled);
105
114
  }
106
115
  /** @hidden */
107
- _handleKeydown(event) {
108
- event.stopImmediatePropagation();
109
- if (this._keyboardEventsManager) {
110
- // sets Active item. so arrow key starts after the active item.
111
- // Need to do only once, when one radio is already selected
112
- if (this._selected && !this._activeItemSet) {
113
- this._keyboardEventsManager.setActiveItem(this._selected);
114
- this._activeItemSet = true;
115
- }
116
- if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {
117
- // passing the event to key manager so we get a change fired
118
- this._keyboardEventsManager.onKeydown(event);
119
- }
120
- }
121
- }
122
- /** @hidden */
123
116
  _initialSetup(radioButtons) {
124
117
  if (!radioButtons || radioButtons?.length === 0) {
125
118
  return;
@@ -148,7 +141,7 @@ export class RadioGroupComponent extends InLineLayoutCollectionBaseInput {
148
141
  radioButtons.toArray()[firstEnabledButtonIndex].setTabIndex(0);
149
142
  }
150
143
  return merge(...checkedEvents);
151
- }), takeUntil(this._destroy$))
144
+ }), takeUntilDestroyed(this._destroyRef))
152
145
  .subscribe((ev) => this._selectedValueChanged(ev));
153
146
  }
154
147
  /**
@@ -210,48 +203,13 @@ export class RadioGroupComponent extends InLineLayoutCollectionBaseInput {
210
203
  return (this.contentRadioButtons.filter((item) => !(item instanceof RadioButtonComponent || item['renderer']))
211
204
  .length === 0);
212
205
  }
213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RadioGroupComponent, 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 }); }
214
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: RadioGroupComponent, isStandalone: true, selector: "fdp-radio-group", inputs: { value: ["selected", "value"], isInline: "isInline", hasNoValue: "hasNoValue", noValueLabel: "noValueLabel" }, outputs: { change: "change" }, host: { listeners: { "keydown": "_handleKeydown($event)" } }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => RadioGroupComponent), multi: true }], queries: [{ propertyName: "contentRadioButtons", predicate: RadioButtonComponent }], viewQueries: [{ propertyName: "viewRadioButtons", predicate: RadioButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-orientation]=\"isInline ? 'horizontal' : 'vertical'\"\n [attr.aria-required]=\"required\"\n>\n @if (!list) {\n @for (radio of contentRadioButtons; track radio) {\n <div fd-form-item>\n <ng-template\n [ngTemplateOutlet]=\"radio?.renderer || null\"\n [ngTemplateOutletContext]=\"{\n name: name,\n value: radio.value,\n state: state,\n disabled: disabled || radio.disabled,\n ariaLabel: radio.ariaLabel,\n ariaLabelledBy: radio.ariaLabelledBy,\n ariaDescribedBy: radio.ariaDescribedBy,\n title: radio.title\n }\"\n ></ng-template>\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"listvalues\"></ng-template>\n }\n</fd-form-group>\n<ng-template #listvalues>\n @if (hasNoValue) {\n <div fd-form-item>\n <fdp-radio-button [name]=\"name\" value=\"None\" [state]=\"state\" [disabled]=\"disabled\" [forceRender]=\"true\">\n {{ noValueLabel }}\n </fdp-radio-button>\n </div>\n }\n @for (item of list; track item) {\n <div fd-form-item>\n <fdp-radio-button\n [name]=\"name\"\n [value]=\"lookupValue(item)\"\n [state]=\"state\"\n [disabled]=\"_getListItemDisabledValue(item)\"\n [forceRender]=\"true\"\n >\n {{ getDisplayValue(item) }}\n </fdp-radio-button>\n </div>\n }\n</ng-template>\n", dependencies: [{ kind: "component", type: FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: RadioButtonComponent, selector: "fdp-radio-button", inputs: ["title", "tabIndex", "value", "forceRender"], outputs: ["checked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
206
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: RadioGroupComponent, isStandalone: true, selector: "fdp-radio-group", inputs: { value: ["selected", "value"], isInline: "isInline", hasNoValue: "hasNoValue", noValueLabel: "noValueLabel" }, outputs: { change: "change" }, host: { listeners: { "keydown": "_handleKeydown($event)" } }, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => RadioGroupComponent), multi: true }], queries: [{ propertyName: "contentRadioButtons", predicate: RadioButtonComponent }], viewQueries: [{ propertyName: "viewRadioButtons", predicate: RadioButtonComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-orientation]=\"isInline ? 'horizontal' : 'vertical'\"\n [attr.aria-required]=\"required\"\n>\n @if (!list) {\n @for (radio of contentRadioButtons; track radio) {\n <div fd-form-item>\n <ng-template\n [ngTemplateOutlet]=\"radio?.renderer || null\"\n [ngTemplateOutletContext]=\"{\n name: name,\n value: radio.value,\n state: state,\n disabled: disabled || radio.disabled,\n ariaLabel: radio.ariaLabel,\n ariaLabelledBy: radio.ariaLabelledBy,\n ariaDescribedBy: radio.ariaDescribedBy,\n title: radio.title\n }\"\n ></ng-template>\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"listvalues\"></ng-template>\n }\n</fd-form-group>\n<ng-template #listvalues>\n @if (hasNoValue) {\n <div fd-form-item>\n <fdp-radio-button [name]=\"name\" value=\"None\" [state]=\"state\" [disabled]=\"disabled\" [forceRender]=\"true\">\n {{ noValueLabel }}\n </fdp-radio-button>\n </div>\n }\n @for (item of list; track item) {\n <div fd-form-item>\n <fdp-radio-button\n [name]=\"name\"\n [value]=\"lookupValue(item)\"\n [state]=\"state\"\n [disabled]=\"_getListItemDisabledValue(item)\"\n [forceRender]=\"true\"\n >\n {{ getDisplayValue(item) }}\n </fdp-radio-button>\n </div>\n }\n</ng-template>\n", dependencies: [{ kind: "component", type: FormGroupComponent, selector: "fd-form-group", inputs: ["isInline"] }, { kind: "component", type: FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: RadioButtonComponent, selector: "fdp-radio-button", inputs: ["title", "tabIndex", "value", "forceRender"], outputs: ["checked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
215
208
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: RadioGroupComponent, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: RadioGroupComponent, decorators: [{
217
210
  type: Component,
218
211
  args: [{ selector: 'fdp-radio-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FD_FORM_FIELD_CONTROL, useExisting: forwardRef(() => RadioGroupComponent), multi: true }], standalone: true, imports: [FormGroupComponent, FormItemComponent, NgTemplateOutlet, RadioButtonComponent], template: "<fd-form-group\n [isInline]=\"isInline\"\n role=\"radiogroup\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-orientation]=\"isInline ? 'horizontal' : 'vertical'\"\n [attr.aria-required]=\"required\"\n>\n @if (!list) {\n @for (radio of contentRadioButtons; track radio) {\n <div fd-form-item>\n <ng-template\n [ngTemplateOutlet]=\"radio?.renderer || null\"\n [ngTemplateOutletContext]=\"{\n name: name,\n value: radio.value,\n state: state,\n disabled: disabled || radio.disabled,\n ariaLabel: radio.ariaLabel,\n ariaLabelledBy: radio.ariaLabelledBy,\n ariaDescribedBy: radio.ariaDescribedBy,\n title: radio.title\n }\"\n ></ng-template>\n </div>\n }\n } @else {\n <ng-template [ngTemplateOutlet]=\"listvalues\"></ng-template>\n }\n</fd-form-group>\n<ng-template #listvalues>\n @if (hasNoValue) {\n <div fd-form-item>\n <fdp-radio-button [name]=\"name\" value=\"None\" [state]=\"state\" [disabled]=\"disabled\" [forceRender]=\"true\">\n {{ noValueLabel }}\n </fdp-radio-button>\n </div>\n }\n @for (item of list; track item) {\n <div fd-form-item>\n <fdp-radio-button\n [name]=\"name\"\n [value]=\"lookupValue(item)\"\n [state]=\"state\"\n [disabled]=\"_getListItemDisabledValue(item)\"\n [forceRender]=\"true\"\n >\n {{ getDisplayValue(item) }}\n </fdp-radio-button>\n </div>\n }\n</ng-template>\n" }]
219
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.ResponsiveBreakpointsService }, { type: i2.NgControl, decorators: [{
220
- type: Optional
221
- }, {
222
- type: Self
223
- }] }, { type: i2.ControlContainer, decorators: [{
224
- type: Optional
225
- }, {
226
- type: SkipSelf
227
- }] }, { type: i2.NgForm, decorators: [{
228
- type: Optional
229
- }, {
230
- type: SkipSelf
231
- }] }, { type: i1.PlatformFormField, decorators: [{
232
- type: Optional
233
- }, {
234
- type: SkipSelf
235
- }, {
236
- type: Host
237
- }, {
238
- type: Inject,
239
- args: [FD_FORM_FIELD]
240
- }] }, { type: i1.PlatformFormFieldControl, decorators: [{
241
- type: Optional
242
- }, {
243
- type: SkipSelf
244
- }, {
245
- type: Host
246
- }, {
247
- type: Inject,
248
- args: [FD_FORM_FIELD_CONTROL]
249
- }] }, { type: i1.ResponsiveBreakPointConfig, decorators: [{
250
- type: Optional
251
- }, {
252
- type: Inject,
253
- args: [RESPONSIVE_BREAKPOINTS_CONFIG]
254
- }] }], propDecorators: { value: [{
212
+ }], ctorParameters: () => [], propDecorators: { value: [{
255
213
  type: Input,
256
214
  args: ['selected']
257
215
  }], isInline: [{
@@ -274,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
274
232
  type: HostListener,
275
233
  args: ['keydown', ['$event']]
276
234
  }] } });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZm9ybS9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixJQUFJLEVBQ0osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsSUFBSSxFQUNKLFFBQVEsRUFDUixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUNILCtCQUErQixFQUMvQixpQkFBaUIs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QUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsQ0FBQzs7MEJBK0RuRixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwRCxRQUFROzswQkFBSSxRQUFROzswQkFBSSxJQUFJOzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVELFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsNkJBQTZCO3lDQTVEckMsS0FBSztzQkFEUixLQUFLO3VCQUFDLFVBQVU7Z0JBVWIsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLFVBQVU7c0JBRFQsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sbUJBQW1CO3NCQURsQixlQUFlO3VCQUFDLG9CQUFvQjtnQkFLckMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsb0JBQW9COztRQUtsQyw0REFBNEQ7UUFDNUQsTUFBTTtzQkFGTCxNQUFNO2dCQW9HUCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFVQX0FSUk9XIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgU2tpcFNlbGYsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZEX0ZPUk1fRklFTEQsIEZEX0ZPUk1fRklFTERfQ09OVFJPTCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBJbkxpbmVMYXlvdXRDb2xsZWN0aW9uQmFzZUlucHV0LFxuICAgIFBsYXRmb3JtRm9ybUZpZWxkLFxuICAgIFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCxcbiAgICBSRVNQT05TSVZFX0JSRUFLUE9JTlRTX0NPTkZJRyxcbiAgICBSZXNwb25zaXZlQnJlYWtQb2ludENvbmZpZyxcbiAgICBSZXNwb25zaXZlQnJlYWtwb2ludHNTZXJ2aWNlLFxuICAgIFNlbGVjdEl0ZW1cbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zaGFyZWQnO1xuXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cENvbXBvbmVudCwgRm9ybUl0ZW1Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcblxuLyoqXG4gKiBSYWRpbyBncm91cCBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiB0aGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9TQVAvZnVuZGFtZW50YWwtbmd4L3dpa2kvUGxhdGZvcm06LVJhZGlvR3JvdXAtVGVjaG5pY2FsLURlc2lnblxuICogZG9jdW1lbnRzLlxuICovXG5cbi8vIEluY3JlYXNpbmcgaW50ZWdlciBmb3IgZ2VuZXJhdGluZyB1bmlxdWUgaWRzIGZvciByYWRpbyBjb21wb25lbnRzLlxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLXJhZGlvLWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGRF9GT1JNX0ZJRUxEX0NPTlRST0wsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvR3JvdXBDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGb3JtR3JvdXBDb21wb25lbnQsIEZvcm1JdGVtQ29tcG9uZW50LCBOZ1RlbXBsYXRlT3V0bGV0LCBSYWRpb0J1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9Hcm91cENvbXBvbmVudFxuICAgIGV4dGVuZHMgSW5MaW5lTGF5b3V0Q29sbGVjdGlvbkJhc2VJbnB1dFxuICAgIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25EZXN0cm95XG57XG4gICAgLyoqIFZhbHVlIG9mIHNlbGVjdGVkIHJhZGlvIGJ1dHRvbiAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdzZWxlY3RlZCcpXG4gICAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICAgICAgc3VwZXIuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLyoqIFRvIERpc3BsYXkgUmFkaW8gYnV0dG9ucyBpbiBhIGxpbmUgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBpc0lubGluZShpbmxpbmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faW5saW5lQ3VycmVudFZhbHVlJC5uZXh0KGlubGluZSk7XG4gICAgfVxuICAgIGdldCBpc0lubGluZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lubGluZUN1cnJlbnRWYWx1ZSQudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIE5vbmUgdmFsdWUgcmFkaW8gYnV0dG9uIGNyZWF0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIGhhc05vVmFsdWUgPSBmYWxzZTtcblxuICAgIC8qKiBMYWJlbCBmb3IgTm9uZSB2YWx1ZSByYWRpbyBidXR0b24gKi9cbiAgICBASW5wdXQoKVxuICAgIG5vVmFsdWVMYWJlbCA9ICdOb25lJztcblxuICAgIC8qKiBDaGlsZHJlbiByYWRpbyBidXR0b25zIHBhcnQgb2YgR3JvdXAgcmFkaW8gYnV0dG9uLCBwYXNzZWQgYXMgY29udGVudCAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oUmFkaW9CdXR0b25Db21wb25lbnQpXG4gICAgY29udGVudFJhZGlvQnV0dG9uczogUXVlcnlMaXN0PFJhZGlvQnV0dG9uQ29tcG9uZW50PjtcblxuICAgIC8qKiBDaGlsZHJlbiByYWRpbyBidXR0b25zIHBhcnQgb2YgR3JvdXAgcmFkaW8gYnV0dG9uLCBjcmVhdGVkIGZyb20gbGlzdCBvZiB2YWx1ZXMgKi9cbiAgICBAVmlld0NoaWxkcmVuKFJhZGlvQnV0dG9uQ29tcG9uZW50KVxuICAgIHZpZXdSYWRpb0J1dHRvbnM6IFF1ZXJ5TGlzdDxSYWRpb0J1dHRvbkNvbXBvbmVudD47XG5cbiAgICAvKiogU2VsZWN0ZWQgcmFkaW8gYnV0dG9uIGNoYW5nZSBldmVudCByYWlzZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgICBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxSYWRpb0J1dHRvbkNvbXBvbmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvQnV0dG9uQ29tcG9uZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9hY3RpdmVJdGVtU2V0ID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHJhZGlvIGJ1dHRvbi4gU2hvdWxkIG1hdGNoIHZhbHVlLiAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBSYWRpb0J1dHRvbkNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiBGb2N1c0tleU1hbmFnZXIgaW5zdGFuY2UgKi9cbiAgICBwcml2YXRlIF9rZXlib2FyZEV2ZW50c01hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxSYWRpb0J1dHRvbkNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcmVhZG9ubHkgX3Jlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2U6IFJlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIG5nRm9ybTogTmdGb3JtLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBASG9zdCgpIEBJbmplY3QoRkRfRk9STV9GSUVMRCkgZm9ybUZpZWxkOiBQbGF0Zm9ybUZvcm1GaWVsZCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgQEhvc3QoKSBASW5qZWN0KEZEX0ZPUk1fRklFTERfQ09OVFJPTCkgZm9ybUNvbnRyb2w6IFBsYXRmb3JtRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChSRVNQT05TSVZFX0JSRUFLUE9JTlRTX0NPTkZJRylcbiAgICAgICAgcmVhZG9ubHkgX2RlZmF1bHRSZXNwb25zaXZlQnJlYWtQb2ludENvbmZpZzogUmVzcG9uc2l2ZUJyZWFrUG9pbnRDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBfY2QsXG4gICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgX3Jlc3BvbnNpdmVCcmVha3BvaW50c1NlcnZpY2UsXG4gICAgICAgICAgICBuZ0NvbnRyb2wsXG4gICAgICAgICAgICBjb250cm9sQ29udGFpbmVyLFxuICAgICAgICAgICAgbmdGb3JtLFxuICAgICAgICAgICAgZm9ybUZpZWxkLFxuICAgICAgICAgICAgZm9ybUNvbnRyb2wsXG4gICAgICAgICAgICBfZGVmYXVsdFJlc3BvbnNpdmVCcmVha1BvaW50Q29uZmlnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaWQgPSBgcmFkaW8tZ3JvdXAtJHtuZXh0VW5pcXVlSWQrK31gO1xuICAgIH1cblxuICAgIC8qKiBDb250cm9sIFZhbHVlIEFjY2Vzc29yICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRSYWRpb0J1dHRvbnM/LmZvckVhY2goKGIpID0+IHRoaXMuX3NlbGVjdFVuc2VsZWN0KGIpKTtcbiAgICAgICAgdGhpcy52aWV3UmFkaW9CdXR0b25zPy5mb3JFYWNoKChiKSA9PiB0aGlzLl9zZWxlY3RVbnNlbGVjdChiKSk7XG4gICAgfVxuXG4gICAgLyoqIEFjY2VzcyBkaXNwbGF5IHZhbHVlIGZvciBvYmplY3RzLCBhY3RzIGFzIGNoZWNrYm94IGxhYmVsLiAqL1xuICAgIGdldERpc3BsYXlWYWx1ZShpdGVtOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5VmFsdWUoaXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIG9uIGJ1dHRvbiBjbGljayBmb3IgdmlldyByYWRpbyBidXR0b24sIGNyZWF0ZWQgZnJvbSBsaXN0IG9mIHZhbHVlc1xuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIHNlbGVjdGVkKGV2ZW50OiBSYWRpb0J1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlQ2hhbmdlZChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2VsZWN0aW5nIGRlZmF1bHQgYnV0dG9uIGFzIHByb3ZpZGVkIGFzIGlucHV0ICovXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlUmFkaW9CdXR0b25zKCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZmRwLXJhZGlvLWJ1dHRvbi1ncm91cCBtdXN0IGNvbnRhaW4gYSBmZHAtcmFkaW8tYnV0dG9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZW50UmFkaW9CdXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4gKGJ1dHRvbi5zdGF0ZSA9IHRoaXMuc3RhdGUpKTtcbiAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEluaXRpYWxpemUgcHJvcGVydGllcyBvbmNlIGZkLXJhZGlvLWJ1dHRvbnMgYXJlIGF2YWlsYWJsZS5cbiAgICAgKiBUaGlzIGFsbG93cyB1cyB0byBwcm9wYWdhdGUgcmVsZXZhbnQgYXR0cmlidXRlcyB0byBhc3NvY2lhdGVkIGJ1dHRvbnMuXG4gICAgICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxTZXR1cCh0aGlzLmNvbnRlbnRSYWRpb0J1dHRvbnMpO1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbFNldHVwKHRoaXMudmlld1JhZGlvQnV0dG9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBEZXN0cm95cyBldmVudCBzdWJzY3JpcHRpb24uICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8uZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2dldExpc3RJdGVtRGlzYWJsZWRWYWx1ZShpdGVtOiBSYWRpb0dyb3VwQ29tcG9uZW50WydsaXN0J11bbnVtYmVyXSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmICEhKDxTZWxlY3RJdGVtPml0ZW0pLmRpc2FibGVkKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyKSB7XG4gICAgICAgICAgICAvLyBzZXRzIEFjdGl2ZSBpdGVtLiBzbyBhcnJvdyBrZXkgc3RhcnRzIGFmdGVyIHRoZSBhY3RpdmUgaXRlbS5cbiAgICAgICAgICAgIC8vIE5lZWQgdG8gZG8gb25seSBvbmNlLCB3aGVuIG9uZSByYWRpbyBpcyBhbHJlYWR5IHNlbGVjdGVkXG4gICAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgJiYgIXRoaXMuX2FjdGl2ZUl0ZW1TZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzLl9zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlSXRlbVNldCA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0RPV05fQVJST1csIFVQX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPV10pKSB7XG4gICAgICAgICAgICAgICAgLy8gcGFzc2luZyB0aGUgZXZlbnQgdG8ga2V5IG1hbmFnZXIgc28gd2UgZ2V0IGEgY2hhbmdlIGZpcmVkXG4gICAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2luaXRpYWxTZXR1cChyYWRpb0J1dHRvbnM6IFF1ZXJ5TGlzdDxSYWRpb0J1dHRvbkNvbXBvbmVudD4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFyYWRpb0J1dHRvbnMgfHwgcmFkaW9CdXR0b25zPy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlcj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyKHJhZGlvQnV0dG9ucykud2l0aFdyYXAoKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKCdsdHInKTtcblxuICAgICAgICByYWRpb0J1dHRvbnMuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHJhZGlvQnV0dG9ucyksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0RW5hYmxlZEJ1dHRvbkluZGV4ID0gLTE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoZWNrZWRFdmVudHMgPSByYWRpb0J1dHRvbnMubWFwKChidXR0b24sIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b24uc3RhdGUgPSB0aGlzLnN0YXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRQcm9wZXJ0aWVzKGJ1dHRvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdFVuc2VsZWN0KGJ1dHRvbik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZpbmRpbmcgZmlyc3QgZW5hYmxlZCBidXR0b24gdG8gc2V0IHRhYkluZGV4PTBcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYnV0dG9uLmRpc2FibGVkICYmICF0aGlzLl9kaXNhYmxlZCAmJiBmaXJzdEVuYWJsZWRCdXR0b25JbmRleCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdEVuYWJsZWRCdXR0b25JbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBidXR0b24uY2hlY2tlZC5hc09ic2VydmFibGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gYWNjZXNzaWJpbGl0eSByZXF1aXJlbWVudFxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX3NlbGVjdGVkICYmIHJhZGlvQnV0dG9ucyAmJiBmaXJzdEVuYWJsZWRCdXR0b25JbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByYWRpb0J1dHRvbnMudG9BcnJheSgpW2ZpcnN0RW5hYmxlZEJ1dHRvbkluZGV4XS5zZXRUYWJJbmRleCgwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoLi4uY2hlY2tlZEV2ZW50cyk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXYpID0+IHRoaXMuX3NlbGVjdGVkVmFsdWVDaGFuZ2VkKGV2KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFNlbGVjdHMgZ2l2ZW4gYnV0dG9uLCBpZiB2YWx1ZSBtYXRjaGVzXG4gICAgICogQHBhcmFtIGJ1dHRvblxuICAgICAqL1xuICAgIHByaXZhdGUgX3NlbGVjdFVuc2VsZWN0KGJ1dHRvbjogUmFkaW9CdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGJ1dHRvbi52YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgYnV0dG9uLnVuc2VsZWN0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNlbGVjdGVkIGJ1dHRvblxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgIT09IGJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBidXR0b247XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWJ1dHRvbi5faXNDaGVja2VkKSB7XG4gICAgICAgICAgICBidXR0b24uc2VsZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBDYWxsZWQgZXZlcnkgdGltZSBhIHJhZGlvIGJ1dHRvbiBpcyBjbGlja2VkLCBJbiBjb250ZW50IGNoaWxkIGFzIHdlbGwgYXMgdmlld2NoaWxkICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRWYWx1ZUNoYW5nZWQoYnV0dG9uOiBSYWRpb0J1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQgIT09IGJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5fcmVzZXRUYWJJbmRleChidXR0b24pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZC51bnNlbGVjdCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGJ1dHRvbjtcbiAgICAgICAgICAgIGJ1dHRvbi5zZWxlY3QoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSBidXR0b24udmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoYnV0dG9uKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiByZXNldHMgdGFiSW5kZXggZm9yIGZpcnN0IHJhZGlvIGluIHJhZGlvIGdyb3VwLiBmb3IgYWNjZXNzaWJpbGl0eSB0YWJJbmRleCB3YXMgc2V0ICovXG4gICAgcHJpdmF0ZSBfcmVzZXRUYWJJbmRleChzZWxlY3RlZFJhZGlvOiBSYWRpb0J1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52aWV3UmFkaW9CdXR0b25zIHx8IHRoaXMuY29udGVudFJhZGlvQnV0dG9ucykge1xuICAgICAgICAgICAgY29uc3QgcmFkaW9zID0gdGhpcy52aWV3UmFkaW9CdXR0b25zLmxlbmd0aCA+IDAgPyB0aGlzLnZpZXdSYWRpb0J1dHRvbnMgOiB0aGlzLmNvbnRlbnRSYWRpb0J1dHRvbnM7XG4gICAgICAgICAgICByYWRpb3MuZm9yRWFjaCgocmFkaW8pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmFkaW8gIT09IHNlbGVjdGVkUmFkaW8gJiYgcmFkaW8udGFiSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmFkaW8udGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gYnV0dG9uIFNldCBpbml0aWFsIHZhbHVlcywgdXNlZCB3aGlsZSBjb250ZW50IGNoaWxkcmVuIGNyZWF0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2V0UHJvcGVydGllcyhidXR0b246IFJhZGlvQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChidXR0b24pIHtcbiAgICAgICAgICAgIGJ1dHRvbi5uYW1lID0gdGhpcy5uYW1lO1xuICAgICAgICAgICAgYnV0dG9uLnN0YXRlID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgICAgIGJ1dHRvbi5kaXNhYmxlZCA9IGJ1dHRvbi5kaXNhYmxlZCA/IGJ1dHRvbi5kaXNhYmxlZCA6IHRoaXMuX2Rpc2FibGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gTWFrZSBzdXJlIHdlIGhhdmUgZXhwZWN0ZWQgY2hpbGQuICovXG4gICAgcHJpdmF0ZSBfdmFsaWRhdGVSYWRpb0J1dHRvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRSYWRpb0J1dHRvbnMuZmlsdGVyKChpdGVtKSA9PiAhKGl0ZW0gaW5zdGFuY2VvZiBSYWRpb0J1dHRvbkNvbXBvbmVudCB8fCBpdGVtWydyZW5kZXJlciddKSlcbiAgICAgICAgICAgICAgICAubGVuZ3RoID09PSAwXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGZkLWZvcm0tZ3JvdXBcbiAgICBbaXNJbmxpbmVdPVwiaXNJbmxpbmVcIlxuICAgIHJvbGU9XCJyYWRpb2dyb3VwXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5XCJcbiAgICBbYXR0ci5hcmlhLW9yaWVudGF0aW9uXT1cImlzSW5saW5lID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJ1wiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4+XG4gICAgQGlmICghbGlzdCkge1xuICAgICAgICBAZm9yIChyYWRpbyBvZiBjb250ZW50UmFkaW9CdXR0b25zOyB0cmFjayByYWRpbykge1xuICAgICAgICAgICAgPGRpdiBmZC1mb3JtLWl0ZW0+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJhZGlvPy5yZW5kZXJlciB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmFkaW8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQgfHwgcmFkaW8uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWw6IHJhZGlvLmFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFMYWJlbGxlZEJ5OiByYWRpby5hcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeTogcmFkaW8uYXJpYURlc2NyaWJlZEJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHJhZGlvLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3R2YWx1ZXNcIj48L25nLXRlbXBsYXRlPlxuICAgIH1cbjwvZmQtZm9ybS1ncm91cD5cbjxuZy10ZW1wbGF0ZSAjbGlzdHZhbHVlcz5cbiAgICBAaWYgKGhhc05vVmFsdWUpIHtcbiAgICAgICAgPGRpdiBmZC1mb3JtLWl0ZW0+XG4gICAgICAgICAgICA8ZmRwLXJhZGlvLWJ1dHRvbiBbbmFtZV09XCJuYW1lXCIgdmFsdWU9XCJOb25lXCIgW3N0YXRlXT1cInN0YXRlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW2ZvcmNlUmVuZGVyXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICB7eyBub1ZhbHVlTGFiZWwgfX1cbiAgICAgICAgICAgIDwvZmRwLXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBmb3IgKGl0ZW0gb2YgbGlzdDsgdHJhY2sgaXRlbSkge1xuICAgICAgICA8ZGl2IGZkLWZvcm0taXRlbT5cbiAgICAgICAgICAgIDxmZHAtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImxvb2t1cFZhbHVlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJfZ2V0TGlzdEl0ZW1EaXNhYmxlZFZhbHVlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBbZm9yY2VSZW5kZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0RGlzcGxheVZhbHVlKGl0ZW0pIH19XG4gICAgICAgICAgICA8L2ZkcC1yYWRpby1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9mb3JtL3JhZGlvLWdyb3VwL3JhZGlvLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vZm9ybS9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RGLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsK0JBQStCLEVBQWMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUvRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFB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b0JBQW9CLGtFQUl2QixvQkFBb0IsdUVDdEZ0Qyw2MURBb0RBLDRDREpjLGtCQUFrQixnRkFBRSxpQkFBaUIsK0ZBQUUsZ0JBQWdCLG9KQUFFLG9CQUFvQjs7MkZBRTlFLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDSSxpQkFBaUIsbUJBRVYsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG9CQUFvQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLGNBQ3BHLElBQUksV0FDUCxDQUFDLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDO3dEQVNwRixLQUFLO3NCQURSLEtBQUs7dUJBQUMsVUFBVTtnQkFVYixRQUFRO3NCQURYLEtBQUs7Z0JBVU4sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixtQkFBbUI7c0JBRGxCLGVBQWU7dUJBQUMsb0JBQW9CO2dCQUtyQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxvQkFBb0I7O1FBS2xDLDREQUE0RDtRQUM1RCxNQUFNO3NCQUZMLE1BQU07Z0JBd0JQLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBET1dOX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkRfRk9STV9GSUVMRF9DT05UUk9MIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgSW5MaW5lTGF5b3V0Q29sbGVjdGlvbkJhc2VJbnB1dCwgU2VsZWN0SXRlbSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtR3JvdXBDb21wb25lbnQsIEZvcm1JdGVtQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuaW1wb3J0IHsgUmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUmFkaW8gZ3JvdXAgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gdGhlXG4gKiBodHRwczovL2dpdGh1Yi5jb20vU0FQL2Z1bmRhbWVudGFsLW5neC93aWtpL1BsYXRmb3JtOi1SYWRpb0dyb3VwLVRlY2huaWNhbC1EZXNpZ25cbiAqIGRvY3VtZW50cy5cbiAqL1xuXG4vLyBJbmNyZWFzaW5nIGludGVnZXIgZm9yIGdlbmVyYXRpbmcgdW5pcXVlIGlkcyBmb3IgcmFkaW8gY29tcG9uZW50cy5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1yYWRpby1ncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRkRfRk9STV9GSUVMRF9DT05UUk9MLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb0dyb3VwQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybUdyb3VwQ29tcG9uZW50LCBGb3JtSXRlbUNvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldCwgUmFkaW9CdXR0b25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnRcbiAgICBleHRlbmRzIEluTGluZUxheW91dENvbGxlY3Rpb25CYXNlSW5wdXRcbiAgICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveVxue1xuICAgIC8qKiBWYWx1ZSBvZiBzZWxlY3RlZCByYWRpbyBidXR0b24gKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnc2VsZWN0ZWQnKVxuICAgIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XG4gICAgICAgIHN1cGVyLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiBzdXBlci5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBUbyBEaXNwbGF5IFJhZGlvIGJ1dHRvbnMgaW4gYSBsaW5lICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaXNJbmxpbmUoaW5saW5lOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lubGluZUN1cnJlbnRWYWx1ZSQubmV4dChpbmxpbmUpO1xuICAgIH1cbiAgICBnZXQgaXNJbmxpbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbmxpbmVDdXJyZW50VmFsdWUkLnZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBOb25lIHZhbHVlIHJhZGlvIGJ1dHRvbiBjcmVhdGVkICovXG4gICAgQElucHV0KClcbiAgICBoYXNOb1ZhbHVlID0gZmFsc2U7XG5cbiAgICAvKiogTGFiZWwgZm9yIE5vbmUgdmFsdWUgcmFkaW8gYnV0dG9uICovXG4gICAgQElucHV0KClcbiAgICBub1ZhbHVlTGFiZWwgPSAnTm9uZSc7XG5cbiAgICAvKiogQ2hpbGRyZW4gcmFkaW8gYnV0dG9ucyBwYXJ0IG9mIEdyb3VwIHJhZGlvIGJ1dHRvbiwgcGFzc2VkIGFzIGNvbnRlbnQgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFJhZGlvQnV0dG9uQ29tcG9uZW50KVxuICAgIGNvbnRlbnRSYWRpb0J1dHRvbnM6IFF1ZXJ5TGlzdDxSYWRpb0J1dHRvbkNvbXBvbmVudD47XG5cbiAgICAvKiogQ2hpbGRyZW4gcmFkaW8gYnV0dG9ucyBwYXJ0IG9mIEdyb3VwIHJhZGlvIGJ1dHRvbiwgY3JlYXRlZCBmcm9tIGxpc3Qgb2YgdmFsdWVzICovXG4gICAgQFZpZXdDaGlsZHJlbihSYWRpb0J1dHRvbkNvbXBvbmVudClcbiAgICB2aWV3UmFkaW9CdXR0b25zOiBRdWVyeUxpc3Q8UmFkaW9CdXR0b25Db21wb25lbnQ+O1xuXG4gICAgLyoqIFNlbGVjdGVkIHJhZGlvIGJ1dHRvbiBjaGFuZ2UgZXZlbnQgcmFpc2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgY2hhbmdlOiBFdmVudEVtaXR0ZXI8UmFkaW9CdXR0b25Db21wb25lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb0J1dHRvbkNvbXBvbmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWN0aXZlSXRlbVNldCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gVGhlIGN1cnJlbnRseSBzZWxlY3RlZCByYWRpbyBidXR0b24uIFNob3VsZCBtYXRjaCB2YWx1ZS4gKi9cbiAgICBwcml2YXRlIF9zZWxlY3RlZDogUmFkaW9CdXR0b25Db21wb25lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuIEZvY3VzS2V5TWFuYWdlciBpbnN0YW5jZSAqL1xuICAgIHByaXZhdGUgX2tleWJvYXJkRXZlbnRzTWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPFJhZGlvQnV0dG9uQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuaWQgPSBgcmFkaW8tZ3JvdXAtJHtuZXh0VW5pcXVlSWQrK31gO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXIpIHtcbiAgICAgICAgICAgIC8vIHNldHMgQWN0aXZlIGl0ZW0uIHNvIGFycm93IGtleSBzdGFydHMgYWZ0ZXIgdGhlIGFjdGl2ZSBpdGVtLlxuICAgICAgICAgICAgLy8gTmVlZCB0byBkbyBvbmx5IG9uY2UsIHdoZW4gb25lIHJhZGlvIGlzIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCAmJiAhdGhpcy5fYWN0aXZlSXRlbVNldCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlci5zZXRBY3RpdmVJdGVtKHRoaXMuX3NlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3RpdmVJdGVtU2V0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbRE9XTl9BUlJPVywgVVBfQVJST1csIExFRlRfQVJST1csIFJJR0hUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgICAgICAvLyBwYXNzaW5nIHRoZSBldmVudCB0byBrZXkgbWFuYWdlciBzbyB3ZSBnZXQgYSBjaGFuZ2UgZmlyZWRcbiAgICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZEV2ZW50c01hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDb250cm9sIFZhbHVlIEFjY2Vzc29yICovXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRSYWRpb0J1dHRvbnM/LmZvckVhY2goKGIpID0+IHRoaXMuX3NlbGVjdFVuc2VsZWN0KGIpKTtcbiAgICAgICAgdGhpcy52aWV3UmFkaW9CdXR0b25zPy5mb3JFYWNoKChiKSA9PiB0aGlzLl9zZWxlY3RVbnNlbGVjdChiKSk7XG4gICAgfVxuXG4gICAgLyoqIEFjY2VzcyBkaXNwbGF5IHZhbHVlIGZvciBvYmplY3RzLCBhY3RzIGFzIGNoZWNrYm94IGxhYmVsLiAqL1xuICAgIGdldERpc3BsYXlWYWx1ZShpdGVtOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5VmFsdWUoaXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIG9uIGJ1dHRvbiBjbGljayBmb3IgdmlldyByYWRpbyBidXR0b24sIGNyZWF0ZWQgZnJvbSBsaXN0IG9mIHZhbHVlc1xuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIHNlbGVjdGVkKGV2ZW50OiBSYWRpb0J1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFZhbHVlQ2hhbmdlZChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2VsZWN0aW5nIGRlZmF1bHQgYnV0dG9uIGFzIHByb3ZpZGVkIGFzIGlucHV0ICovXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlUmFkaW9CdXR0b25zKCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignZmRwLXJhZGlvLWJ1dHRvbi1ncm91cCBtdXN0IGNvbnRhaW4gYSBmZHAtcmFkaW8tYnV0dG9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb250ZW50UmFkaW9CdXR0b25zLmZvckVhY2goKGJ1dHRvbikgPT4gKGJ1dHRvbi5zdGF0ZSA9IHRoaXMuc3RhdGUpKTtcbiAgICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogSW5pdGlhbGl6ZSBwcm9wZXJ0aWVzIG9uY2UgZmQtcmFkaW8tYnV0dG9ucyBhcmUgYXZhaWxhYmxlLlxuICAgICAqIFRoaXMgYWxsb3dzIHVzIHRvIHByb3BhZ2F0ZSByZWxldmFudCBhdHRyaWJ1dGVzIHRvIGFzc29jaWF0ZWQgYnV0dG9ucy5cbiAgICAgKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbFNldHVwKHRoaXMuY29udGVudFJhZGlvQnV0dG9ucyk7XG4gICAgICAgICAgICB0aGlzLl9pbml0aWFsU2V0dXAodGhpcy52aWV3UmFkaW9CdXR0b25zKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIERlc3Ryb3lzIGV2ZW50IHN1YnNjcmlwdGlvbi4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZ2V0TGlzdEl0ZW1EaXNhYmxlZFZhbHVlKGl0ZW06IFJhZGlvR3JvdXBDb21wb25lbnRbJ2xpc3QnXVtudW1iZXJdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICh0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgISEoPFNlbGVjdEl0ZW0+aXRlbSkuZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5pdGlhbFNldHVwKHJhZGlvQnV0dG9uczogUXVlcnlMaXN0PFJhZGlvQnV0dG9uQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgICBpZiAoIXJhZGlvQnV0dG9ucyB8fCByYWRpb0J1dHRvbnM/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRFdmVudHNNYW5hZ2VyPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkRXZlbnRzTWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIocmFkaW9CdXR0b25zKS53aXRoV3JhcCgpLndpdGhIb3Jpem9udGFsT3JpZW50YXRpb24oJ2x0cicpO1xuXG4gICAgICAgIHJhZGlvQnV0dG9ucy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgocmFkaW9CdXR0b25zKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZmlyc3RFbmFibGVkQnV0dG9uSW5kZXggPSAtMTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hlY2tlZEV2ZW50cyA9IHJhZGlvQnV0dG9ucy5tYXAoKGJ1dHRvbiwgaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbi5zdGF0ZSA9IHRoaXMuc3RhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NldFByb3BlcnRpZXMoYnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0VW5zZWxlY3QoYnV0dG9uKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmluZGluZyBmaXJzdCBlbmFibGVkIGJ1dHRvbiB0byBzZXQgdGFiSW5kZXg9MFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFidXR0b24uZGlzYWJsZWQgJiYgIXRoaXMuX2Rpc2FibGVkICYmIGZpcnN0RW5hYmxlZEJ1dHRvbkluZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0RW5hYmxlZEJ1dHRvbkluZGV4ID0gaTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJ1dHRvbi5jaGVja2VkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBhY2Nlc3NpYmlsaXR5IHJlcXVpcmVtZW50XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc2VsZWN0ZWQgJiYgcmFkaW9CdXR0b25zICYmIGZpcnN0RW5hYmxlZEJ1dHRvbkluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJhZGlvQnV0dG9ucy50b0FycmF5KClbZmlyc3RFbmFibGVkQnV0dG9uSW5kZXhdLnNldFRhYkluZGV4KDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZXJnZSguLi5jaGVja2VkRXZlbnRzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2KSA9PiB0aGlzLl9zZWxlY3RlZFZhbHVlQ2hhbmdlZChldikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBTZWxlY3RzIGdpdmVuIGJ1dHRvbiwgaWYgdmFsdWUgbWF0Y2hlc1xuICAgICAqIEBwYXJhbSBidXR0b25cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zZWxlY3RVbnNlbGVjdChidXR0b246IFJhZGlvQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChidXR0b24udmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIGJ1dHRvbi51bnNlbGVjdCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzZWxlY3RlZCBidXR0b25cbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkICE9PSBidXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gYnV0dG9uO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFidXR0b24uX2lzQ2hlY2tlZCkge1xuICAgICAgICAgICAgYnV0dG9uLnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gQ2FsbGVkIGV2ZXJ5IHRpbWUgYSByYWRpbyBidXR0b24gaXMgY2xpY2tlZCwgSW4gY29udGVudCBjaGlsZCBhcyB3ZWxsIGFzIHZpZXdjaGlsZCAqL1xuICAgIHByaXZhdGUgX3NlbGVjdGVkVmFsdWVDaGFuZ2VkKGJ1dHRvbjogUmFkaW9CdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkICE9PSBidXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0VGFiSW5kZXgoYnV0dG9uKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQudW5zZWxlY3QoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBidXR0b247XG4gICAgICAgICAgICBidXR0b24uc2VsZWN0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbHVlID0gYnV0dG9uLnZhbHVlO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGJ1dHRvbik7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gcmVzZXRzIHRhYkluZGV4IGZvciBmaXJzdCByYWRpbyBpbiByYWRpbyBncm91cC4gZm9yIGFjY2Vzc2liaWxpdHkgdGFiSW5kZXggd2FzIHNldCAqL1xuICAgIHByaXZhdGUgX3Jlc2V0VGFiSW5kZXgoc2VsZWN0ZWRSYWRpbzogUmFkaW9CdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmlld1JhZGlvQnV0dG9ucyB8fCB0aGlzLmNvbnRlbnRSYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhZGlvcyA9IHRoaXMudmlld1JhZGlvQnV0dG9ucy5sZW5ndGggPiAwID8gdGhpcy52aWV3UmFkaW9CdXR0b25zIDogdGhpcy5jb250ZW50UmFkaW9CdXR0b25zO1xuICAgICAgICAgICAgcmFkaW9zLmZvckVhY2goKHJhZGlvKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJhZGlvICE9PSBzZWxlY3RlZFJhZGlvICYmIHJhZGlvLnRhYkluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJhZGlvLnRhYkluZGV4ID0gLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGJ1dHRvbiBTZXQgaW5pdGlhbCB2YWx1ZXMsIHVzZWQgd2hpbGUgY29udGVudCBjaGlsZHJlbiBjcmVhdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgX3NldFByb3BlcnRpZXMoYnV0dG9uOiBSYWRpb0J1dHRvbkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICBidXR0b24ubmFtZSA9IHRoaXMubmFtZTtcbiAgICAgICAgICAgIGJ1dHRvbi5zdGF0ZSA9IHRoaXMuc3RhdGU7XG4gICAgICAgICAgICBidXR0b24uZGlzYWJsZWQgPSBidXR0b24uZGlzYWJsZWQgPyBidXR0b24uZGlzYWJsZWQgOiB0aGlzLl9kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIE1ha2Ugc3VyZSB3ZSBoYXZlIGV4cGVjdGVkIGNoaWxkLiAqL1xuICAgIHByaXZhdGUgX3ZhbGlkYXRlUmFkaW9CdXR0b25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb250ZW50UmFkaW9CdXR0b25zLmZpbHRlcigoaXRlbSkgPT4gIShpdGVtIGluc3RhbmNlb2YgUmFkaW9CdXR0b25Db21wb25lbnQgfHwgaXRlbVsncmVuZGVyZXInXSkpXG4gICAgICAgICAgICAgICAgLmxlbmd0aCA9PT0gMFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxmZC1mb3JtLWdyb3VwXG4gICAgW2lzSW5saW5lXT1cImlzSW5saW5lXCJcbiAgICByb2xlPVwicmFkaW9ncm91cFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgW2F0dHIuYXJpYS1vcmllbnRhdGlvbl09XCJpc0lubGluZSA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCdcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuPlxuICAgIEBpZiAoIWxpc3QpIHtcbiAgICAgICAgQGZvciAocmFkaW8gb2YgY29udGVudFJhZGlvQnV0dG9uczsgdHJhY2sgcmFkaW8pIHtcbiAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyYWRpbz8ucmVuZGVyZXIgfHwgbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJhZGlvLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkIHx8IHJhZGlvLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsOiByYWRpby5hcmlhTGFiZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWxsZWRCeTogcmFkaW8uYXJpYUxhYmVsbGVkQnksXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnk6IHJhZGlvLmFyaWFEZXNjcmliZWRCeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiByYWRpby50aXRsZVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0dmFsdWVzXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICB9XG48L2ZkLWZvcm0tZ3JvdXA+XG48bmctdGVtcGxhdGUgI2xpc3R2YWx1ZXM+XG4gICAgQGlmIChoYXNOb1ZhbHVlKSB7XG4gICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxuICAgICAgICAgICAgPGZkcC1yYWRpby1idXR0b24gW25hbWVdPVwibmFtZVwiIHZhbHVlPVwiTm9uZVwiIFtzdGF0ZV09XCJzdGF0ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtmb3JjZVJlbmRlcl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAge3sgbm9WYWx1ZUxhYmVsIH19XG4gICAgICAgICAgICA8L2ZkcC1yYWRpby1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAZm9yIChpdGVtIG9mIGxpc3Q7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgPGRpdiBmZC1mb3JtLWl0ZW0+XG4gICAgICAgICAgICA8ZmRwLXJhZGlvLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJsb29rdXBWYWx1ZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiX2dldExpc3RJdGVtRGlzYWJsZWRWYWx1ZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgW2ZvcmNlUmVuZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGdldERpc3BsYXlWYWx1ZShpdGVtKSB9fVxuICAgICAgICAgICAgPC9mZHAtcmFkaW8tYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -3,11 +3,11 @@ import { RadioGroupComponent } from './radio-group.component';
3
3
  import { RadioButtonComponent } from './radio/radio.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class PlatformRadioGroupModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformRadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: PlatformRadioGroupModule, imports: [RadioGroupComponent, RadioButtonComponent], exports: [RadioGroupComponent, RadioButtonComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformRadioGroupModule, imports: [RadioGroupComponent, RadioButtonComponent] }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformRadioGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: PlatformRadioGroupModule, imports: [RadioGroupComponent, RadioButtonComponent], exports: [RadioGroupComponent, RadioButtonComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformRadioGroupModule, imports: [RadioGroupComponent, RadioButtonComponent] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformRadioGroupModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformRadioGroupModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [RadioGroupComponent, RadioButtonComponent],