@fundamental-ngx/cdk 0.43.1 → 0.44.0-rc.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 (301) hide show
  1. package/data-source/data-source.directive.d.ts +1 -1
  2. package/esm2022/data-source/base/base-data-source.class.mjs +112 -0
  3. package/{esm2020 → esm2022}/data-source/data-source.directive.mjs +4 -4
  4. package/{esm2020 → esm2022}/data-source/data-source.module.mjs +5 -5
  5. package/{esm2020 → esm2022}/forms/cva/cva-control.class.mjs +4 -4
  6. package/{esm2020 → esm2022}/forms/cva/cva.directive.mjs +4 -4
  7. package/{esm2020 → esm2022}/forms/forms.module.mjs +5 -5
  8. package/{esm2020 → esm2022}/fundamental-ngx.module.mjs +5 -5
  9. package/{esm2020 → esm2022}/utils/abstract-fd-ngx-class.mjs +4 -4
  10. package/{esm2020 → esm2022}/utils/components/dynamic-portal/dynamic-portal.component.mjs +4 -4
  11. package/esm2022/utils/directives/auto-complete/auto-complete.directive.mjs +136 -0
  12. package/{esm2020 → esm2022}/utils/directives/auto-complete/auto-complete.module.mjs +5 -5
  13. package/{esm2020 → esm2022}/utils/directives/breakpoints/breakpoint.directive.mjs +8 -8
  14. package/{esm2020 → esm2022}/utils/directives/clicked/clicked-behavior.module.mjs +5 -5
  15. package/{esm2020 → esm2022}/utils/directives/clicked/clicked-event.plugin.mjs +4 -4
  16. package/esm2022/utils/directives/clicked/clicked.directive.mjs +51 -0
  17. package/{esm2020 → esm2022}/utils/directives/clicked/fdk-clicked-provider.service.mjs +4 -4
  18. package/esm2022/utils/directives/disabled/disabled-behavior.directive.mjs +114 -0
  19. package/{esm2020 → esm2022}/utils/directives/disabled/disabled-behavior.module.mjs +5 -5
  20. package/{esm2020 → esm2022}/utils/directives/disabled/disabled.observer.mjs +4 -4
  21. package/{esm2020 → esm2022}/utils/directives/disabled/fdk-disabled-provider.service.mjs +4 -4
  22. package/{esm2020 → esm2022}/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +11 -11
  23. package/esm2022/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +98 -0
  24. package/esm2022/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +114 -0
  25. package/{esm2020 → esm2022}/utils/directives/focusable-grid/focusable-grid.directive.mjs +10 -10
  26. package/{esm2020 → esm2022}/utils/directives/focusable-grid/focusable-grid.module.mjs +5 -5
  27. package/esm2022/utils/directives/focusable-item/focusable-item.directive.mjs +217 -0
  28. package/{esm2020 → esm2022}/utils/directives/focusable-item/focusable-item.module.mjs +5 -5
  29. package/{esm2020 → esm2022}/utils/directives/focusable-item/focusable.observer.mjs +4 -4
  30. package/esm2022/utils/directives/focusable-list/focusable-list.directive.mjs +330 -0
  31. package/{esm2020 → esm2022}/utils/directives/focusable-list/focusable-list.module.mjs +5 -5
  32. package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +79 -0
  33. package/{esm2020 → esm2022}/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +5 -5
  34. package/esm2022/utils/directives/initial-focus/initial-focus.directive.mjs +152 -0
  35. package/{esm2020 → esm2022}/utils/directives/initial-focus/initial-focus.module.mjs +5 -5
  36. package/{esm2020 → esm2022}/utils/directives/intersection-spy/intersection-spy.directive.mjs +4 -4
  37. package/esm2022/utils/directives/line-clamp/line-clamp.directive.mjs +262 -0
  38. package/{esm2020 → esm2022}/utils/directives/line-clamp/line-clamp.module.mjs +11 -11
  39. package/esm2022/utils/directives/only-digits/only-digits.directive.mjs +218 -0
  40. package/{esm2020 → esm2022}/utils/directives/only-digits/only-digits.module.mjs +5 -5
  41. package/esm2022/utils/directives/overflow-list/overflow-list-item.directive.mjs +42 -0
  42. package/esm2022/utils/directives/overflow-list/overflow-list.directive.mjs +142 -0
  43. package/{esm2020 → esm2022}/utils/directives/overflow-list/overflow-list.module.mjs +11 -11
  44. package/{esm2020 → esm2022}/utils/directives/readonly/fdk-readonly-provider.service.mjs +4 -4
  45. package/esm2022/utils/directives/readonly/readonly-behavior.directive.mjs +97 -0
  46. package/{esm2020 → esm2022}/utils/directives/readonly/readonly-behavior.module.mjs +5 -5
  47. package/{esm2020 → esm2022}/utils/directives/readonly/readonly.observer.mjs +4 -4
  48. package/esm2022/utils/directives/repeat/repeat.directive.mjs +65 -0
  49. package/{esm2020 → esm2022}/utils/directives/repeat/repeat.module.mjs +5 -5
  50. package/esm2022/utils/directives/resize/resize-handle.directive.mjs +42 -0
  51. package/esm2022/utils/directives/resize/resize.directive.mjs +231 -0
  52. package/{esm2020 → esm2022}/utils/directives/resize/resize.module.mjs +5 -5
  53. package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-item.directive.mjs +12 -12
  54. package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-list.directive.mjs +10 -10
  55. package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-list.module.mjs +5 -5
  56. package/{esm2020 → esm2022}/utils/directives/selectable-list/selection.service.mjs +4 -4
  57. package/esm2022/utils/directives/template/template.directive.mjs +49 -0
  58. package/{esm2020 → esm2022}/utils/directives/template/template.module.mjs +5 -5
  59. package/esm2022/utils/directives/truncate/truncate.directive.mjs +96 -0
  60. package/{esm2020 → esm2022}/utils/directives/truncate/truncate.module.mjs +5 -5
  61. package/esm2022/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +274 -0
  62. package/{esm2020 → esm2022}/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +4 -4
  63. package/{esm2020 → esm2022}/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +4 -4
  64. package/{esm2020 → esm2022}/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +4 -4
  65. package/{esm2020 → esm2022}/utils/drag-and-drop/drag-and-drop.module.mjs +5 -5
  66. package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component.service.mjs +4 -4
  67. package/{esm2020 → esm2022}/utils/pipes/async-or-sync.pipe.mjs +4 -4
  68. package/{esm2020 → esm2022}/utils/pipes/displayFn.pipe.mjs +4 -4
  69. package/{esm2020 → esm2022}/utils/pipes/filter-strings.pipe.mjs +4 -4
  70. package/{esm2020 → esm2022}/utils/pipes/is-compact.pipe.mjs +4 -4
  71. package/{esm2020 → esm2022}/utils/pipes/make-async.pipe.mjs +4 -4
  72. package/{esm2020 → esm2022}/utils/pipes/pipe.module.mjs +23 -23
  73. package/{esm2020 → esm2022}/utils/pipes/safe.pipe.mjs +4 -4
  74. package/{esm2020 → esm2022}/utils/pipes/search-highlight.pipe.mjs +4 -4
  75. package/{esm2020 → esm2022}/utils/pipes/truncate.pipe.mjs +4 -4
  76. package/{esm2020 → esm2022}/utils/pipes/two-digits.pipe.mjs +4 -4
  77. package/{esm2020 → esm2022}/utils/pipes/value-by-path.pipe.mjs +4 -4
  78. package/{esm2020 → esm2022}/utils/services/content-density.service.mjs +4 -4
  79. package/{esm2020 → esm2022}/utils/services/destroyed.service.mjs +4 -4
  80. package/{esm2020 → esm2022}/utils/services/focus-trap.service.mjs +4 -4
  81. package/{esm2020 → esm2022}/utils/services/keyboard-support/keyboard-support.service.mjs +4 -4
  82. package/{esm2020 → esm2022}/utils/services/local-storage.service.mjs +4 -4
  83. package/{esm2020 → esm2022}/utils/services/observers/attribute.observer.mjs +4 -4
  84. package/{esm2020 → esm2022}/utils/services/resize-observer.service.mjs +7 -7
  85. package/{esm2020 → esm2022}/utils/services/rtl.service.mjs +4 -4
  86. package/{esm2020 → esm2022}/utils/services/tabbable-element.service.mjs +4 -4
  87. package/{esm2020 → esm2022}/utils/services/themes.service.mjs +4 -4
  88. package/esm2022/utils/toast/base-toast-positions.mjs +108 -0
  89. package/{esm2020 → esm2022}/utils/toast/base-toast.service.mjs +4 -4
  90. package/{esm2020 → esm2022}/utils/toast/classes/base-toast-animated-container.component.mjs +4 -4
  91. package/{esm2020 → esm2022}/utils/toast/classes/base-toast-container.component.mjs +4 -4
  92. package/{esm2020 → esm2022}/utils/toast/classes/base-toast-overlay-container.mjs +4 -4
  93. package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.mjs +4 -4
  94. package/{esm2020 → esm2022}/utils/utils.module.mjs +77 -77
  95. package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-data-source.mjs +11 -11
  96. package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-data-source.mjs.map +1 -1
  97. package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-forms.mjs +10 -10
  98. package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-forms.mjs.map +1 -1
  99. package/{fesm2020 → fesm2022}/fundamental-ngx-cdk-utils.mjs +656 -654
  100. package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -0
  101. package/{fesm2015 → fesm2022}/fundamental-ngx-cdk.mjs +4 -4
  102. package/fesm2022/fundamental-ngx-cdk.mjs.map +1 -0
  103. package/forms/cva/cva.directive.d.ts +1 -1
  104. package/fundamental-ngx-cdk-v0.44.0-rc.0.tgz +0 -0
  105. package/package.json +23 -35
  106. package/utils/abstract-fd-ngx-class.d.ts +1 -1
  107. package/utils/components/dynamic-portal/dynamic-portal.component.d.ts +1 -1
  108. package/utils/directives/auto-complete/auto-complete.directive.d.ts +2 -2
  109. package/utils/directives/breakpoints/breakpoint.directive.d.ts +1 -1
  110. package/utils/directives/clicked/clicked.directive.d.ts +2 -2
  111. package/utils/directives/disabled/disabled-behavior.directive.d.ts +2 -2
  112. package/utils/directives/focus-key-manager/focus-key-manager-item.directive.d.ts +2 -2
  113. package/utils/directives/focus-key-manager/focus-key-manager-list.directive.d.ts +2 -2
  114. package/utils/directives/focusable-grid/focusable-grid.directive.d.ts +1 -1
  115. package/utils/directives/focusable-item/focusable-item.directive.d.ts +2 -2
  116. package/utils/directives/focusable-list/focusable-list.directive.d.ts +2 -2
  117. package/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.d.ts +2 -2
  118. package/utils/directives/initial-focus/initial-focus.directive.d.ts +2 -2
  119. package/utils/directives/intersection-spy/intersection-spy.directive.d.ts +1 -1
  120. package/utils/directives/line-clamp/line-clamp.directive.d.ts +4 -4
  121. package/utils/directives/only-digits/only-digits.directive.d.ts +2 -2
  122. package/utils/directives/overflow-list/overflow-list-item.directive.d.ts +2 -2
  123. package/utils/directives/overflow-list/overflow-list.directive.d.ts +2 -2
  124. package/utils/directives/readonly/readonly-behavior.directive.d.ts +2 -2
  125. package/utils/directives/repeat/repeat.directive.d.ts +2 -2
  126. package/utils/directives/resize/resize-handle.directive.d.ts +2 -2
  127. package/utils/directives/resize/resize.directive.d.ts +2 -2
  128. package/utils/directives/selectable-list/selectable-item.directive.d.ts +1 -1
  129. package/utils/directives/selectable-list/selectable-list.directive.d.ts +1 -1
  130. package/utils/directives/template/template.directive.d.ts +2 -2
  131. package/utils/directives/truncate/truncate.directive.d.ts +2 -2
  132. package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +1 -1
  133. package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +1 -1
  134. package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +1 -1
  135. package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -1
  136. package/utils/toast/classes/base-toast-animated-container.component.d.ts +1 -1
  137. package/utils/toast/classes/base-toast-container.component.d.ts +1 -1
  138. package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.d.ts +1 -1
  139. package/esm2020/data-source/base/base-data-source.class.mjs +0 -112
  140. package/esm2020/utils/directives/auto-complete/auto-complete.directive.mjs +0 -136
  141. package/esm2020/utils/directives/clicked/clicked.directive.mjs +0 -51
  142. package/esm2020/utils/directives/disabled/disabled-behavior.directive.mjs +0 -114
  143. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +0 -98
  144. package/esm2020/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +0 -114
  145. package/esm2020/utils/directives/focusable-item/focusable-item.directive.mjs +0 -217
  146. package/esm2020/utils/directives/focusable-list/focusable-list.directive.mjs +0 -330
  147. package/esm2020/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +0 -79
  148. package/esm2020/utils/directives/initial-focus/initial-focus.directive.mjs +0 -152
  149. package/esm2020/utils/directives/line-clamp/line-clamp.directive.mjs +0 -262
  150. package/esm2020/utils/directives/only-digits/only-digits.directive.mjs +0 -218
  151. package/esm2020/utils/directives/overflow-list/overflow-list-item.directive.mjs +0 -42
  152. package/esm2020/utils/directives/overflow-list/overflow-list.directive.mjs +0 -142
  153. package/esm2020/utils/directives/readonly/readonly-behavior.directive.mjs +0 -97
  154. package/esm2020/utils/directives/repeat/repeat.directive.mjs +0 -65
  155. package/esm2020/utils/directives/resize/resize-handle.directive.mjs +0 -42
  156. package/esm2020/utils/directives/resize/resize.directive.mjs +0 -231
  157. package/esm2020/utils/directives/template/template.directive.mjs +0 -49
  158. package/esm2020/utils/directives/truncate/truncate.directive.mjs +0 -96
  159. package/esm2020/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +0 -272
  160. package/esm2020/utils/toast/base-toast-positions.mjs +0 -108
  161. package/fesm2015/fundamental-ngx-cdk-data-source.mjs +0 -405
  162. package/fesm2015/fundamental-ngx-cdk-data-source.mjs.map +0 -1
  163. package/fesm2015/fundamental-ngx-cdk-forms.mjs +0 -398
  164. package/fesm2015/fundamental-ngx-cdk-forms.mjs.map +0 -1
  165. package/fesm2015/fundamental-ngx-cdk-utils.mjs +0 -7611
  166. package/fesm2015/fundamental-ngx-cdk-utils.mjs.map +0 -1
  167. package/fesm2015/fundamental-ngx-cdk.mjs.map +0 -1
  168. package/fesm2020/fundamental-ngx-cdk-utils.mjs.map +0 -1
  169. package/fesm2020/fundamental-ngx-cdk.mjs +0 -29
  170. package/fesm2020/fundamental-ngx-cdk.mjs.map +0 -1
  171. package/fundamental-ngx-cdk-v0.43.1.tgz +0 -0
  172. /package/{esm2020 → esm2022}/data-source/base/abstract-data-provider.class.mjs +0 -0
  173. /package/{esm2020 → esm2022}/data-source/fundamental-ngx-cdk-data-source.mjs +0 -0
  174. /package/{esm2020 → esm2022}/data-source/helpers/apply-datasource-directive.mjs +0 -0
  175. /package/{esm2020 → esm2022}/data-source/helpers/common.mjs +0 -0
  176. /package/{esm2020 → esm2022}/data-source/helpers/is-datasource.mjs +0 -0
  177. /package/{esm2020 → esm2022}/data-source/index.mjs +0 -0
  178. /package/{esm2020 → esm2022}/data-source/models/data-source-provider.mjs +0 -0
  179. /package/{esm2020 → esm2022}/data-source/models/data-source.mjs +0 -0
  180. /package/{esm2020 → esm2022}/data-source/models/index.mjs +0 -0
  181. /package/{esm2020 → esm2022}/data-source/models/matching-strategy.mjs +0 -0
  182. /package/{esm2020 → esm2022}/data-source/tokens.mjs +0 -0
  183. /package/{esm2020 → esm2022}/forms/fundamental-ngx-cdk-forms.mjs +0 -0
  184. /package/{esm2020 → esm2022}/forms/helpers/state.mjs +0 -0
  185. /package/{esm2020 → esm2022}/forms/index.mjs +0 -0
  186. /package/{esm2020 → esm2022}/forms/models/cva.mjs +0 -0
  187. /package/{esm2020 → esm2022}/forms/models/form-error.mjs +0 -0
  188. /package/{esm2020 → esm2022}/forms/models/form-field.mjs +0 -0
  189. /package/{esm2020 → esm2022}/forms/models/form-state.mjs +0 -0
  190. /package/{esm2020 → esm2022}/forms/models/select-item.mjs +0 -0
  191. /package/{esm2020 → esm2022}/forms/tokens/form-field-control.token.mjs +0 -0
  192. /package/{esm2020 → esm2022}/forms/tokens/form-field.token.mjs +0 -0
  193. /package/{esm2020 → esm2022}/fundamental-ngx-cdk.mjs +0 -0
  194. /package/{esm2020 → esm2022}/index.mjs +0 -0
  195. /package/{esm2020 → esm2022}/utils/async-strategy/function-strategy.class.mjs +0 -0
  196. /package/{esm2020 → esm2022}/utils/async-strategy/index.mjs +0 -0
  197. /package/{esm2020 → esm2022}/utils/async-strategy/observable-strategy.class.mjs +0 -0
  198. /package/{esm2020 → esm2022}/utils/async-strategy/promise-strategy.class.mjs +0 -0
  199. /package/{esm2020 → esm2022}/utils/async-strategy/select-strategy.class.mjs +0 -0
  200. /package/{esm2020 → esm2022}/utils/async-strategy/subscription-strategy.interface.mjs +0 -0
  201. /package/{esm2020 → esm2022}/utils/async-strategy/value-strategy.class.mjs +0 -0
  202. /package/{esm2020 → esm2022}/utils/coercion/array.mjs +0 -0
  203. /package/{esm2020 → esm2022}/utils/components/index.mjs +0 -0
  204. /package/{esm2020 → esm2022}/utils/consts/error-messages.mjs +0 -0
  205. /package/{esm2020 → esm2022}/utils/consts/index.mjs +0 -0
  206. /package/{esm2020 → esm2022}/utils/consts/overflow-priority-score.mjs +0 -0
  207. /package/{esm2020 → esm2022}/utils/consts/unicode-letters.regex.mjs +0 -0
  208. /package/{esm2020 → esm2022}/utils/consts/unicode-numbers.regex.mjs +0 -0
  209. /package/{esm2020 → esm2022}/utils/datatypes/color-accent.datatype.mjs +0 -0
  210. /package/{esm2020 → esm2022}/utils/datatypes/hash.datatype.mjs +0 -0
  211. /package/{esm2020 → esm2022}/utils/datatypes/index.mjs +0 -0
  212. /package/{esm2020 → esm2022}/utils/datatypes/size.datatype.mjs +0 -0
  213. /package/{esm2020 → esm2022}/utils/decorators/apply-css-class.decorator.mjs +0 -0
  214. /package/{esm2020 → esm2022}/utils/decorators/apply-css-style.decorator.mjs +0 -0
  215. /package/{esm2020 → esm2022}/utils/decorators/coerce-boolean.mjs +0 -0
  216. /package/{esm2020 → esm2022}/utils/decorators/coerce-css-pixel.mjs +0 -0
  217. /package/{esm2020 → esm2022}/utils/decorators/index.mjs +0 -0
  218. /package/{esm2020 → esm2022}/utils/decorators/setter-alternator.mjs +0 -0
  219. /package/{esm2020 → esm2022}/utils/deprecated-selector.class.mjs +0 -0
  220. /package/{esm2020 → esm2022}/utils/directives/breakpoints/responsive-breakpoints.mjs +0 -0
  221. /package/{esm2020 → esm2022}/utils/directives/clicked/index.mjs +0 -0
  222. /package/{esm2020 → esm2022}/utils/directives/disabled/default-disabled-view-modifier.mjs +0 -0
  223. /package/{esm2020 → esm2022}/utils/directives/disabled/disabled-behavior.interface.mjs +0 -0
  224. /package/{esm2020 → esm2022}/utils/directives/disabled/disabled-view-modifier.interface.mjs +0 -0
  225. /package/{esm2020 → esm2022}/utils/directives/disabled/fdk-disabled.token.mjs +0 -0
  226. /package/{esm2020 → esm2022}/utils/directives/disabled/index.mjs +0 -0
  227. /package/{esm2020 → esm2022}/utils/directives/disabled/set-disabled-state.mjs +0 -0
  228. /package/{esm2020 → esm2022}/utils/directives/focus-key-manager/focus-key-manager.tokens.mjs +0 -0
  229. /package/{esm2020 → esm2022}/utils/directives/focus-key-manager/index.mjs +0 -0
  230. /package/{esm2020 → esm2022}/utils/directives/focusable-grid/focusable-grid.tokens.mjs +0 -0
  231. /package/{esm2020 → esm2022}/utils/directives/focusable-grid/index.mjs +0 -0
  232. /package/{esm2020 → esm2022}/utils/directives/focusable-item/focusable-item.tokens.mjs +0 -0
  233. /package/{esm2020 → esm2022}/utils/directives/focusable-item/index.mjs +0 -0
  234. /package/{esm2020 → esm2022}/utils/directives/focusable-item/is-element-focusable-by-default.mjs +0 -0
  235. /package/{esm2020 → esm2022}/utils/directives/focusable-list/focusable-list.tokens.mjs +0 -0
  236. /package/{esm2020 → esm2022}/utils/directives/focusable-list/index.mjs +0 -0
  237. /package/{esm2020 → esm2022}/utils/directives/focusable-list/scroll.mjs +0 -0
  238. /package/{esm2020 → esm2022}/utils/directives/ignore-click-on-selection/tokens.mjs +0 -0
  239. /package/{esm2020 → esm2022}/utils/directives/index.mjs +0 -0
  240. /package/{esm2020 → esm2022}/utils/directives/readonly/default-readonly-view-modifier.mjs +0 -0
  241. /package/{esm2020 → esm2022}/utils/directives/readonly/fdk-readonly.token.mjs +0 -0
  242. /package/{esm2020 → esm2022}/utils/directives/readonly/index.mjs +0 -0
  243. /package/{esm2020 → esm2022}/utils/directives/readonly/readonly-behavior.interface.mjs +0 -0
  244. /package/{esm2020 → esm2022}/utils/directives/readonly/readonly-view-modifier.interface.mjs +0 -0
  245. /package/{esm2020 → esm2022}/utils/directives/readonly/set-readonly-state.mjs +0 -0
  246. /package/{esm2020 → esm2022}/utils/directives/selectable-list/index.mjs +0 -0
  247. /package/{esm2020 → esm2022}/utils/directives/selectable-list/select-component-root.token.mjs +0 -0
  248. /package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-item.token.mjs +0 -0
  249. /package/{esm2020 → esm2022}/utils/directives/selectable-list/selectable-list.tokens.mjs +0 -0
  250. /package/{esm2020 → esm2022}/utils/drag-and-drop/dnd.interfaces.mjs +0 -0
  251. /package/{esm2020 → esm2022}/utils/drag-and-drop/index.mjs +0 -0
  252. /package/{esm2020 → esm2022}/utils/drag-and-drop/tokens.mjs +0 -0
  253. /package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component-config.mjs +0 -0
  254. /package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component-container.mjs +0 -0
  255. /package/{esm2020 → esm2022}/utils/dynamic-component/dynamic-component-injector.mjs +0 -0
  256. /package/{esm2020 → esm2022}/utils/dynamic-component/index.mjs +0 -0
  257. /package/{esm2020 → esm2022}/utils/functions/consumer-provider-factory.mjs +0 -0
  258. /package/{esm2020 → esm2022}/utils/functions/element-size.mjs +0 -0
  259. /package/{esm2020 → esm2022}/utils/functions/get-document-font-size.mjs +0 -0
  260. /package/{esm2020 → esm2022}/utils/functions/index.mjs +0 -0
  261. /package/{esm2020 → esm2022}/utils/functions/intersection-observable.mjs +0 -0
  262. /package/{esm2020 → esm2022}/utils/functions/is-compact-density.mjs +0 -0
  263. /package/{esm2020 → esm2022}/utils/functions/is-odd.mjs +0 -0
  264. /package/{esm2020 → esm2022}/utils/functions/key-util.mjs +0 -0
  265. /package/{esm2020 → esm2022}/utils/functions/module-deprecations-provider.mjs +0 -0
  266. /package/{esm2020 → esm2022}/utils/functions/parser-file-size.mjs +0 -0
  267. /package/{esm2020 → esm2022}/utils/functions/random-color-accent.mjs +0 -0
  268. /package/{esm2020 → esm2022}/utils/functions/resize-observable.mjs +0 -0
  269. /package/{esm2020 → esm2022}/utils/functions/scroll.mjs +0 -0
  270. /package/{esm2020 → esm2022}/utils/functions/uuidv4-generator.mjs +0 -0
  271. /package/{esm2020 → esm2022}/utils/fundamental-ngx-cdk-utils.mjs +0 -0
  272. /package/{esm2020 → esm2022}/utils/helpers/get-native-element.mjs +0 -0
  273. /package/{esm2020 → esm2022}/utils/helpers/index.mjs +0 -0
  274. /package/{esm2020 → esm2022}/utils/helpers/range-selector.mjs +0 -0
  275. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  276. /package/{esm2020 → esm2022}/utils/interfaces/content-density.mjs +0 -0
  277. /package/{esm2020 → esm2022}/utils/interfaces/css-class-builder.interface.mjs +0 -0
  278. /package/{esm2020 → esm2022}/utils/interfaces/css-style-builder.interface.mjs +0 -0
  279. /package/{esm2020 → esm2022}/utils/interfaces/has-element-ref.interface.mjs +0 -0
  280. /package/{esm2020 → esm2022}/utils/interfaces/index.mjs +0 -0
  281. /package/{esm2020 → esm2022}/utils/interfaces/keyboard-support-item.interface.mjs +0 -0
  282. /package/{esm2020 → esm2022}/utils/interfaces/module-deprecation.interface.mjs +0 -0
  283. /package/{esm2020 → esm2022}/utils/interfaces/require.interface.mjs +0 -0
  284. /package/{esm2020 → esm2022}/utils/list-item/list-item-utils.mjs +0 -0
  285. /package/{esm2020 → esm2022}/utils/models/nullable.mjs +0 -0
  286. /package/{esm2020 → esm2022}/utils/pipes/index.mjs +0 -0
  287. /package/{esm2020 → esm2022}/utils/services/index.mjs +0 -0
  288. /package/{esm2020 → esm2022}/utils/toast/base-toast-animations.mjs +0 -0
  289. /package/{esm2020 → esm2022}/utils/toast/classes/action-dismissible/base-toast-action-dismissible-ref.mjs +0 -0
  290. /package/{esm2020 → esm2022}/utils/toast/classes/base-toast-config.mjs +0 -0
  291. /package/{esm2020 → esm2022}/utils/toast/classes/base-toast-ref.mjs +0 -0
  292. /package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-config.mjs +0 -0
  293. /package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-ref.mjs +0 -0
  294. /package/{esm2020 → esm2022}/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible.service.mjs +0 -0
  295. /package/{esm2020 → esm2022}/utils/toast/index.mjs +0 -0
  296. /package/{esm2020 → esm2022}/utils/toast/interfaces/toast-container-component.interface.mjs +0 -0
  297. /package/{esm2020 → esm2022}/utils/toast/interfaces/toast-duration-dismissible-container-component.interface.mjs +0 -0
  298. /package/{esm2020 → esm2022}/utils/toast/interfaces/toast-text-component.interface.mjs +0 -0
  299. /package/{esm2020 → esm2022}/utils/tokens/module-deprecations.token.mjs +0 -0
  300. /package/{esm2020 → esm2022}/utils/tokens/viewport-size.observable.mjs +0 -0
  301. /package/{esm2020 → esm2022}/utils/typecheck.mjs +0 -0
@@ -0,0 +1,217 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Directive, ElementRef, EventEmitter, HostBinding, inject, Input, NgZone, Output } from '@angular/core';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { ENTER, ESCAPE, F2, MAC_ENTER } from '@angular/cdk/keycodes';
5
+ import { FDK_FOCUSABLE_ITEM_DIRECTIVE } from './focusable-item.tokens';
6
+ import { DestroyedService, TabbableElementService } from '../../services';
7
+ import { DeprecatedSelector, FD_DEPRECATED_DIRECTIVE_SELECTOR, getDeprecatedModel } from '../../deprecated-selector.class';
8
+ import { LiveAnnouncer } from '@angular/cdk/a11y';
9
+ import { FocusableObserver } from './focusable.observer';
10
+ import { fromEvent, Subject, takeUntil } from 'rxjs';
11
+ import { KeyUtil } from '../../functions';
12
+ import * as i0 from "@angular/core";
13
+ export class DeprecatedFocusableItemDirective extends DeprecatedSelector {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DeprecatedFocusableItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
15
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DeprecatedFocusableItemDirective, isStandalone: true, selector: "[fnFocusableItem]", providers: [
16
+ {
17
+ provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
18
+ useValue: getDeprecatedModel('[fdkFocusableItem]', '[fnFocusableItem]')
19
+ }
20
+ ], usesInheritance: true, ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DeprecatedFocusableItemDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ // eslint-disable-next-line @angular-eslint/directive-selector
26
+ selector: '[fnFocusableItem]',
27
+ standalone: true,
28
+ providers: [
29
+ {
30
+ provide: FD_DEPRECATED_DIRECTIVE_SELECTOR,
31
+ useValue: getDeprecatedModel('[fdkFocusableItem]', '[fnFocusableItem]')
32
+ }
33
+ ]
34
+ }]
35
+ }] });
36
+ export class FocusableItemDirective {
37
+ /** Whether the item is focusable. Default is true. */
38
+ set fdkFocusableItem(val) {
39
+ this._focusable = coerceBooleanProperty(val);
40
+ this.setTabbable(this._focusable);
41
+ }
42
+ get fdkFocusableItem() {
43
+ return this._focusable;
44
+ }
45
+ /** @hidden */
46
+ get _tabindex() {
47
+ return this._tabbable ? 0 : -1;
48
+ }
49
+ /** @hidden */
50
+ constructor() {
51
+ /** Function, which returns a string to be announced by screen-reader whenever an item which is in grid receives focus. */
52
+ this.cellFocusedEventAnnouncer = this._defaultItemFocusedEventAnnouncer;
53
+ /** Event emitted when the cell receives focus, not being emitted when focus moves between item's children. */
54
+ this.cellFocused = new EventEmitter();
55
+ /** @hidden */
56
+ this._keydown$ = new Subject();
57
+ /** @hidden */
58
+ this._focusable = true;
59
+ /** @hidden */
60
+ this._tabbableElements = new Map();
61
+ /** @hidden */
62
+ this._tabbable = true;
63
+ /** Element reference. */
64
+ this.elementRef = inject(ElementRef);
65
+ /** @hidden */
66
+ this._focusableObserver = inject(FocusableObserver);
67
+ /** @hidden */
68
+ this._destroy$ = inject(DestroyedService);
69
+ /** @hidden */
70
+ this._tabbableElementService = inject(TabbableElementService);
71
+ /** @hidden */
72
+ this._liveAnnouncer = inject(LiveAnnouncer);
73
+ /** @hidden */
74
+ this._zone = inject(NgZone);
75
+ /** @hidden */
76
+ this._document = inject(DOCUMENT);
77
+ this._focusableObserver
78
+ .observe(this.elementRef, false)
79
+ .pipe(takeUntil(this._destroy$))
80
+ .subscribe((isFocusable) => {
81
+ if (!isFocusable && isFocusable !== this.fdkFocusableItem) {
82
+ this.fdkFocusableItem = isFocusable;
83
+ }
84
+ });
85
+ this._zone.runOutsideAngular(() => {
86
+ fromEvent(this.elementRef.nativeElement, 'focusin')
87
+ .pipe(takeUntil(this._destroy$))
88
+ .subscribe(async () => {
89
+ await this._onFocusin();
90
+ });
91
+ fromEvent(this.elementRef.nativeElement, 'focusout')
92
+ .pipe(takeUntil(this._destroy$))
93
+ .subscribe(() => {
94
+ this._onFocusout();
95
+ });
96
+ fromEvent(this.elementRef.nativeElement, 'keydown')
97
+ .pipe(takeUntil(this._destroy$))
98
+ .subscribe((event) => {
99
+ this._onKeydown(event);
100
+ });
101
+ });
102
+ }
103
+ /** Set tabbable state */
104
+ setTabbable(state) {
105
+ this._tabbable = state;
106
+ if (state) {
107
+ this._enableTabbableElements();
108
+ }
109
+ else {
110
+ this._disableTabbableElements();
111
+ }
112
+ }
113
+ /** @hidden */
114
+ async _onFocusin() {
115
+ if (!this.fdkFocusableItem) {
116
+ return;
117
+ }
118
+ if (this._timerId != null) {
119
+ clearTimeout(this._timerId);
120
+ this._timerId = null;
121
+ return;
122
+ }
123
+ if (this._position) {
124
+ this.cellFocused.next(this._position);
125
+ if (this.cellFocusedEventAnnouncer) {
126
+ this._liveAnnouncer.clear();
127
+ await this._liveAnnouncer.announce(this.cellFocusedEventAnnouncer(this._position));
128
+ }
129
+ }
130
+ }
131
+ /** @hidden */
132
+ _onFocusout() {
133
+ if (!this.fdkFocusableItem) {
134
+ return;
135
+ }
136
+ // Timeout is needed to prevent focusout event from being emitted when focus moves between item's children.
137
+ this._timerId = setTimeout(() => (this._timerId = null));
138
+ }
139
+ /** @hidden */
140
+ _onKeydown(event) {
141
+ if (!this.fdkFocusableItem) {
142
+ return;
143
+ }
144
+ const isFocused = this._document.activeElement === this.elementRef.nativeElement;
145
+ const shouldFocusChild = KeyUtil.isKeyCode(event, [ENTER, MAC_ENTER, F2]) && !event.shiftKey && isFocused;
146
+ const shouldFocusCell = ((KeyUtil.isKeyCode(event, F2) && event.shiftKey) || KeyUtil.isKeyCode(event, ESCAPE)) && !isFocused;
147
+ if (shouldFocusChild) {
148
+ event.stopPropagation();
149
+ const tabbableElement = this._tabbableElementService.getTabbableElement(this.elementRef.nativeElement, false, true);
150
+ tabbableElement?.focus();
151
+ return;
152
+ }
153
+ else if (shouldFocusCell) {
154
+ event.stopPropagation();
155
+ this.elementRef.nativeElement.focus();
156
+ return;
157
+ }
158
+ if (isFocused) {
159
+ this._keydown$.next(event);
160
+ }
161
+ }
162
+ /** @hidden */
163
+ _enableTabbableElements() {
164
+ if (this._tabbableElements.size === 0) {
165
+ return;
166
+ }
167
+ this._tabbableElements.forEach((tabIndex, element) => (element.tabIndex = tabIndex));
168
+ this._tabbable = false;
169
+ }
170
+ /** @hidden */
171
+ _disableTabbableElements() {
172
+ // Since we cannot select by tabindex attribute (links, inputs, buttons might not have one but still can be focusable),
173
+ // Select all elements from the cell and filter by tabIndex property.
174
+ Array.from(this.elementRef.nativeElement.querySelectorAll('*'))
175
+ .filter((elm) => elm.tabIndex >= 0)
176
+ .forEach((elm) => {
177
+ this._tabbableElements.set(elm, elm.tabIndex);
178
+ elm.tabIndex = -1;
179
+ });
180
+ }
181
+ /** @hidden */
182
+ _defaultItemFocusedEventAnnouncer(position) {
183
+ return `Column ${position.colIndex + 1} of ${position.totalCols}, row: ${position.rowIndex + 1} of ${position.totalRows}`;
184
+ }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
186
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: FocusableItemDirective, isStandalone: true, selector: "[fdkFocusableItem]", inputs: { fdkFocusableItem: "fdkFocusableItem", cellFocusedEventAnnouncer: "cellFocusedEventAnnouncer" }, outputs: { cellFocused: "cellFocused" }, host: { properties: { "attr.tabindex": "this._tabindex" } }, providers: [
187
+ {
188
+ provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,
189
+ useExisting: FocusableItemDirective
190
+ },
191
+ DestroyedService
192
+ ], ngImport: i0 }); }
193
+ }
194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableItemDirective, decorators: [{
195
+ type: Directive,
196
+ args: [{
197
+ selector: '[fdkFocusableItem]',
198
+ standalone: true,
199
+ providers: [
200
+ {
201
+ provide: FDK_FOCUSABLE_ITEM_DIRECTIVE,
202
+ useExisting: FocusableItemDirective
203
+ },
204
+ DestroyedService
205
+ ]
206
+ }]
207
+ }], ctorParameters: function () { return []; }, propDecorators: { fdkFocusableItem: [{
208
+ type: Input
209
+ }], cellFocusedEventAnnouncer: [{
210
+ type: Input
211
+ }], cellFocused: [{
212
+ type: Output
213
+ }], _tabindex: [{
214
+ type: HostBinding,
215
+ args: ['attr.tabindex']
216
+ }] } });
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2ZvY3VzYWJsZS1pdGVtL2ZvY3VzYWJsZS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDckIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFzQjFDLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxrQkFBa0I7OEdBQTNELGdDQUFnQztrR0FBaEMsZ0NB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LEdBQUcsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsY0FBYztJQUNOLGlDQUFpQyxDQUFDLFFBQStCO1FBQ3JFLE9BQU8sVUFBVSxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxRQUFRLENBQUMsU0FBUyxVQUFVLFFBQVEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUMxRixRQUFRLENBQUMsU0FDYixFQUFFLENBQUM7SUFDUCxDQUFDOzhHQXJNUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixpUkFScEI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxXQUFXLEVBQUUsc0JBQXNCO2FBQ3RDO1lBQ0QsZ0JBQWdCO1NBQ25COzsyRkFFUSxzQkFBc0I7a0JBWGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLHdCQUF3Qjt5QkFDdEM7d0JBQ0QsZ0JBQWdCO3FCQUNuQjtpQkFDSjswRUFJTyxnQkFBZ0I7c0JBRG5CLEtBQUs7Z0JBWU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQUtHLFdBQVc7c0JBRG5CLE1BQU07Z0JBdUJILFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBOZ1pvbmUsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSwgRjIsIE1BQ19FTlRFUiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBGREtfRk9DVVNBQkxFX0lURU1fRElSRUNUSVZFIH0gZnJvbSAnLi9mb2N1c2FibGUtaXRlbS50b2tlbnMnO1xuaW1wb3J0IHsgRGVzdHJveWVkU2VydmljZSwgVGFiYmFibGVFbGVtZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEhhc0VsZW1lbnRSZWYgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRGVwcmVjYXRlZFNlbGVjdG9yLFxuICAgIEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgIGdldERlcHJlY2F0ZWRNb2RlbFxufSBmcm9tICcuLi8uLi9kZXByZWNhdGVkLXNlbGVjdG9yLmNsYXNzJztcbmltcG9ydCB7IExpdmVBbm5vdW5jZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBGb2N1c2FibGVPYnNlcnZlciB9IGZyb20gJy4vZm9jdXNhYmxlLm9ic2VydmVyJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL21vZGVscy9udWxsYWJsZSc7XG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zJztcblxuZXhwb3J0IHR5cGUgQ2VsbEZvY3VzZWRFdmVudEFubm91bmNlciA9IE51bGxhYmxlPChwb3NpdGlvbjogRm9jdXNhYmxlSXRlbVBvc2l0aW9uKSA9PiBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbiB7XG4gICAgcm93SW5kZXg6IG51bWJlcjtcbiAgICBjb2xJbmRleDogbnVtYmVyO1xuICAgIHRvdGFsUm93czogbnVtYmVyO1xuICAgIHRvdGFsQ29sczogbnVtYmVyO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZuRm9jdXNhYmxlSXRlbV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0RFUFJFQ0FURURfRElSRUNUSVZFX1NFTEVDVE9SLFxuICAgICAgICAgICAgdXNlVmFsdWU6IGdldERlcHJlY2F0ZWRNb2RlbCgnW2Zka0ZvY3VzYWJsZUl0ZW1dJywgJ1tmbkZvY3VzYWJsZUl0ZW1dJylcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGVwcmVjYXRlZEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmUgZXh0ZW5kcyBEZXByZWNhdGVkU2VsZWN0b3Ige31cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmRrRm9jdXNhYmxlSXRlbV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZES19GT0NVU0FCTEVfSVRFTV9ESVJFQ1RJVkUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRm9jdXNhYmxlSXRlbURpcmVjdGl2ZVxuICAgICAgICB9LFxuICAgICAgICBEZXN0cm95ZWRTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb2N1c2FibGVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgSGFzRWxlbWVudFJlZiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGl0ZW0gaXMgZm9jdXNhYmxlLiBEZWZhdWx0IGlzIHRydWUuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZmRrRm9jdXNhYmxlSXRlbSh2YWw6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9mb2N1c2FibGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgICAgICAgdGhpcy5zZXRUYWJiYWJsZSh0aGlzLl9mb2N1c2FibGUpO1xuICAgIH1cblxuICAgIGdldCBmZGtGb2N1c2FibGVJdGVtKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9jdXNhYmxlO1xuICAgIH1cblxuICAgIC8qKiBGdW5jdGlvbiwgd2hpY2ggcmV0dXJucyBhIHN0cmluZyB0byBiZSBhbm5vdW5jZWQgYnkgc2NyZWVuLXJlYWRlciB3aGVuZXZlciBhbiBpdGVtIHdoaWNoIGlzIGluIGdyaWQgcmVjZWl2ZXMgZm9jdXMuICovXG4gICAgQElucHV0KClcbiAgICBjZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyOiBDZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyID0gdGhpcy5fZGVmYXVsdEl0ZW1Gb2N1c2VkRXZlbnRBbm5vdW5jZXI7XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjZWxsIHJlY2VpdmVzIGZvY3VzLCBub3QgYmVpbmcgZW1pdHRlZCB3aGVuIGZvY3VzIG1vdmVzIGJldHdlZW4gaXRlbSdzIGNoaWxkcmVuLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNlbGxGb2N1c2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c2FibGVJdGVtUG9zaXRpb24+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHB1YmxpYyByZWFkb25seSBfa2V5ZG93biQgPSBuZXcgU3ViamVjdDxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcG9zaXRpb246IEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNhYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFiYmFibGVFbGVtZW50cyA9IG5ldyBNYXA8SFRNTEVsZW1lbnQsIG51bWJlcj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFiYmFibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90aW1lcklkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IF90YWJpbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFiYmFibGUgPyAwIDogLTE7XG4gICAgfVxuXG4gICAgLyoqIEVsZW1lbnQgcmVmZXJlbmNlLiAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzYWJsZU9ic2VydmVyID0gaW5qZWN0KEZvY3VzYWJsZU9ic2VydmVyKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveWVkU2VydmljZSk7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YWJiYWJsZUVsZW1lbnRTZXJ2aWNlID0gaW5qZWN0KFRhYmJhYmxlRWxlbWVudFNlcnZpY2UpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbGl2ZUFubm91bmNlciA9IGluamVjdChMaXZlQW5ub3VuY2VyKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fZm9jdXNhYmxlT2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKHRoaXMuZWxlbWVudFJlZiwgZmFsc2UpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaXNGb2N1c2FibGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzRm9jdXNhYmxlICYmIGlzRm9jdXNhYmxlICE9PSB0aGlzLmZka0ZvY3VzYWJsZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZGtGb2N1c2FibGVJdGVtID0gaXNGb2N1c2FibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmb2N1c2luJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9vbkZvY3VzaW4oKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9jdXNvdXQnKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX29uRm9jdXNvdXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9vbktleWRvd24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHRhYmJhYmxlIHN0YXRlICovXG4gICAgc2V0VGFiYmFibGUoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGFiYmFibGUgPSBzdGF0ZTtcblxuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VuYWJsZVRhYmJhYmxlRWxlbWVudHMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVUYWJiYWJsZUVsZW1lbnRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgYXN5bmMgX29uRm9jdXNpbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLmZka0ZvY3VzYWJsZUl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl90aW1lcklkICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lcklkKTtcbiAgICAgICAgICAgIHRoaXMuX3RpbWVySWQgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX3Bvc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNlbGxGb2N1c2VkLm5leHQodGhpcy5fcG9zaXRpb24pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5jZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGl2ZUFubm91bmNlci5jbGVhcigpO1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodGhpcy5jZWxsRm9jdXNlZEV2ZW50QW5ub3VuY2VyKHRoaXMuX3Bvc2l0aW9uKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uRm9jdXNvdXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mZGtGb2N1c2FibGVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaW1lb3V0IGlzIG5lZWRlZCB0byBwcmV2ZW50IGZvY3Vzb3V0IGV2ZW50IGZyb20gYmVpbmcgZW1pdHRlZCB3aGVuIGZvY3VzIG1vdmVzIGJldHdlZW4gaXRlbSdzIGNoaWxkcmVuLlxuICAgICAgICB0aGlzLl90aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiAodGhpcy5fdGltZXJJZCA9IG51bGwpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX29uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZmRrRm9jdXNhYmxlSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNGb2N1c2VkID0gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHNob3VsZEZvY3VzQ2hpbGQgPSBLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBNQUNfRU5URVIsIEYyXSkgJiYgIWV2ZW50LnNoaWZ0S2V5ICYmIGlzRm9jdXNlZDtcbiAgICAgICAgY29uc3Qgc2hvdWxkRm9jdXNDZWxsID1cbiAgICAgICAgICAgICgoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEYyKSAmJiBldmVudC5zaGlmdEtleSkgfHwgS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIEVTQ0FQRSkpICYmICFpc0ZvY3VzZWQ7XG5cbiAgICAgICAgaWYgKHNob3VsZEZvY3VzQ2hpbGQpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICBjb25zdCB0YWJiYWJsZUVsZW1lbnQgPSB0aGlzLl90YWJiYWJsZUVsZW1lbnRTZXJ2aWNlLmdldFRhYmJhYmxlRWxlbWVudChcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0YWJiYWJsZUVsZW1lbnQ/LmZvY3VzKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChzaG91bGRGb2N1c0NlbGwpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlkb3duJC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZW5hYmxlVGFiYmFibGVFbGVtZW50cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3RhYmJhYmxlRWxlbWVudHMuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdGFiYmFibGVFbGVtZW50cy5mb3JFYWNoKCh0YWJJbmRleCwgZWxlbWVudCkgPT4gKGVsZW1lbnQudGFiSW5kZXggPSB0YWJJbmRleCkpO1xuICAgICAgICB0aGlzLl90YWJiYWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGlzYWJsZVRhYmJhYmxlRWxlbWVudHMoKTogdm9pZCB7XG4gICAgICAgIC8vIFNpbmNlIHdlIGNhbm5vdCBzZWxlY3QgYnkgdGFiaW5kZXggYXR0cmlidXRlIChsaW5rcywgaW5wdXRzLCBidXR0b25zIG1pZ2h0IG5vdCBoYXZlIG9uZSBidXQgc3RpbGwgY2FuIGJlIGZvY3VzYWJsZSksXG4gICAgICAgIC8vIFNlbGVjdCBhbGwgZWxlbWVudHMgZnJvbSB0aGUgY2VsbCBhbmQgZmlsdGVyIGJ5IHRhYkluZGV4IHByb3BlcnR5LlxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCcqJykpXG4gICAgICAgICAgICAuZmlsdGVyKChlbG0pID0+IGVsbS50YWJJbmRleCA+PSAwKVxuICAgICAgICAgICAgLmZvckVhY2goKGVsbSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3RhYmJhYmxlRWxlbWVudHMuc2V0KGVsbSwgZWxtLnRhYkluZGV4KTtcbiAgICAgICAgICAgICAgICBlbG0udGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVmYXVsdEl0ZW1Gb2N1c2VkRXZlbnRBbm5vdW5jZXIocG9zaXRpb246IEZvY3VzYWJsZUl0ZW1Qb3NpdGlvbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgQ29sdW1uICR7cG9zaXRpb24uY29sSW5kZXggKyAxfSBvZiAke3Bvc2l0aW9uLnRvdGFsQ29sc30sIHJvdzogJHtwb3NpdGlvbi5yb3dJbmRleCArIDF9IG9mICR7XG4gICAgICAgICAgICBwb3NpdGlvbi50b3RhbFJvd3NcbiAgICAgICAgfWA7XG4gICAgfVxufVxuIl19
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
2
2
  import { FocusableItemDirective, DeprecatedFocusableItemDirective } from './focusable-item.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  export class FocusableItemModule {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: FocusableItemModule, imports: [FocusableItemDirective, DeprecatedFocusableItemDirective], exports: [FocusableItemDirective, DeprecatedFocusableItemDirective] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableItemModule }); }
5
8
  }
6
- FocusableItemModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- FocusableItemModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FocusableItemModule, imports: [FocusableItemDirective, DeprecatedFocusableItemDirective], exports: [FocusableItemDirective, DeprecatedFocusableItemDirective] });
8
- FocusableItemModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableItemModule });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableItemModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableItemModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [FocusableItemDirective, DeprecatedFocusableItemDirective],
13
13
  exports: [FocusableItemDirective, DeprecatedFocusableItemDirective]
14
14
  }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWl0ZW0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2ZvY3VzYWJsZS1pdGVtL2ZvY3VzYWJsZS1pdGVtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU10RyxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsWUFIbEIsc0JBQXNCLEVBQUUsZ0NBQWdDLGFBQ3hELHNCQUFzQixFQUFFLGdDQUFnQztpSEFFekQsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0NBQWdDLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLGdDQUFnQyxDQUFDO2lCQUN0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c2FibGVJdGVtRGlyZWN0aXZlLCBEZXByZWNhdGVkRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSwgRGVwcmVjYXRlZEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtGb2N1c2FibGVJdGVtRGlyZWN0aXZlLCBEZXByZWNhdGVkRm9jdXNhYmxlSXRlbURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgRm9jdXNhYmxlSXRlbU1vZHVsZSB7fVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLWl0ZW0ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2ZvY3VzYWJsZS1pdGVtL2ZvY3VzYWJsZS1pdGVtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQU10RyxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixZQUhsQixzQkFBc0IsRUFBRSxnQ0FBZ0MsYUFDeEQsc0JBQXNCLEVBQUUsZ0NBQWdDOytHQUV6RCxtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsZ0NBQWdDLENBQUM7b0JBQ25FLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLGdDQUFnQyxDQUFDO2lCQUN0RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c2FibGVJdGVtRGlyZWN0aXZlLCBEZXByZWNhdGVkRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZm9jdXNhYmxlLWl0ZW0uZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRm9jdXNhYmxlSXRlbURpcmVjdGl2ZSwgRGVwcmVjYXRlZEZvY3VzYWJsZUl0ZW1EaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtGb2N1c2FibGVJdGVtRGlyZWN0aXZlLCBEZXByZWNhdGVkRm9jdXNhYmxlSXRlbURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgRm9jdXNhYmxlSXRlbU1vZHVsZSB7fVxuIl19
@@ -34,13 +34,13 @@ export class FocusableObserver {
34
34
  unobserve(element) {
35
35
  this._attributeObserver.unobserve(element);
36
36
  }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableObserver, deps: [{ token: i1.AttributeObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableObserver, providedIn: 'root' }); }
37
39
  }
38
- FocusableObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableObserver, deps: [{ token: i1.AttributeObserver }], target: i0.ɵɵFactoryTarget.Injectable });
39
- FocusableObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableObserver, providedIn: 'root' });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusableObserver, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: FocusableObserver, decorators: [{
41
41
  type: Injectable,
42
42
  args: [{
43
43
  providedIn: 'root'
44
44
  }]
45
45
  }], ctorParameters: function () { return [{ type: i1.AttributeObserver }]; } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLm9ic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2ZvY3VzYWJsZS1pdGVtL2ZvY3VzYWJsZS5vYnNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBS2pFLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsY0FBYztJQUNkLFlBQW9CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO0lBQUcsQ0FBQztJQUU3RCxjQUFjO0lBQ2QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFnQixFQUFFLGVBQXdCO1FBQ3pELElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0M7UUFFRCxPQUFPLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztJQUNkLE9BQU8sQ0FDSCxPQUErRCxFQUMvRCxlQUFlLEdBQUcsSUFBSTtRQUV0QixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQyxFQUN4RSxvQkFBb0IsRUFBRSxDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDZCxTQUFTLENBQUMsT0FBK0Q7UUFDckUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDOzs4R0FyQ1EsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGZCxNQUFNOzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNFbGVtZW50Rm9jdXNhYmxlQnlEZWZhdWx0IH0gZnJvbSAnLi9pcy1lbGVtZW50LWZvY3VzYWJsZS1ieS1kZWZhdWx0JztcbmltcG9ydCB7IGdldE5hdGl2ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1uYXRpdmUtZWxlbWVudCc7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9oYXMtZWxlbWVudC1yZWYuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF0dHJpYnV0ZU9ic2VydmVyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JzZXJ2ZXJzL2F0dHJpYnV0ZS5vYnNlcnZlcic7XG5pbXBvcnQgeyBEaXNhYmxlZE9ic2VydmVyIH0gZnJvbSAnLi4vZGlzYWJsZWQvZGlzYWJsZWQub2JzZXJ2ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzYWJsZU9ic2VydmVyIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2F0dHJpYnV0ZU9ic2VydmVyOiBBdHRyaWJ1dGVPYnNlcnZlcikge31cblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgc3RhdGljIGlzRm9jdXNhYmxlKGVsZW1lbnQ6IEVsZW1lbnQsIHJlc3BlY3RUYWJJbmRleDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoRGlzYWJsZWRPYnNlcnZlci5pc0Rpc2FibGVkKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlc3BlY3RUYWJJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YWJJbmRleCA9IHBhcnNlSW50KGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpICsgJycsIDEwKTtcbiAgICAgICAgaWYgKGlzTmFOKHRhYkluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuIGlzRWxlbWVudEZvY3VzYWJsZUJ5RGVmYXVsdChlbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YWJJbmRleCA+IC0xO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb2JzZXJ2ZShcbiAgICAgICAgZWxlbWVudDogSGFzRWxlbWVudFJlZjxFbGVtZW50PiB8IEVsZW1lbnQgfCBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICByZXNwZWN0VGFiSW5kZXggPSB0cnVlXG4gICAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSBnZXROYXRpdmVFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlT2JzZXJ2ZXIub2JzZXJ2ZShuYXRpdmVFbGVtZW50KS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IEZvY3VzYWJsZU9ic2VydmVyLmlzRm9jdXNhYmxlKG5hdGl2ZUVsZW1lbnQsIHJlc3BlY3RUYWJJbmRleCkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdW5vYnNlcnZlKGVsZW1lbnQ6IEhhc0VsZW1lbnRSZWY8RWxlbWVudD4gfCBFbGVtZW50IHwgRWxlbWVudFJlZjxFbGVtZW50Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVPYnNlcnZlci51bm9ic2VydmUoZWxlbWVudCk7XG4gICAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLm9ic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy9kaXJlY3RpdmVzL2ZvY3VzYWJsZS1pdGVtL2ZvY3VzYWJsZS5vYnNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBS2pFLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsY0FBYztJQUNkLFlBQW9CLGtCQUFxQztRQUFyQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO0lBQUcsQ0FBQztJQUU3RCxjQUFjO0lBQ2QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFnQixFQUFFLGVBQXdCO1FBQ3pELElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0M7UUFFRCxPQUFPLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztJQUNkLE9BQU8sQ0FDSCxPQUErRCxFQUMvRCxlQUFlLEdBQUcsSUFBSTtRQUV0QixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQyxFQUN4RSxvQkFBb0IsRUFBRSxDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDZCxTQUFTLENBQUMsT0FBK0Q7UUFDckUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXJDUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaXNFbGVtZW50Rm9jdXNhYmxlQnlEZWZhdWx0IH0gZnJvbSAnLi9pcy1lbGVtZW50LWZvY3VzYWJsZS1ieS1kZWZhdWx0JztcbmltcG9ydCB7IGdldE5hdGl2ZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1uYXRpdmUtZWxlbWVudCc7XG5pbXBvcnQgeyBIYXNFbGVtZW50UmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9oYXMtZWxlbWVudC1yZWYuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF0dHJpYnV0ZU9ic2VydmVyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JzZXJ2ZXJzL2F0dHJpYnV0ZS5vYnNlcnZlcic7XG5pbXBvcnQgeyBEaXNhYmxlZE9ic2VydmVyIH0gZnJvbSAnLi4vZGlzYWJsZWQvZGlzYWJsZWQub2JzZXJ2ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzYWJsZU9ic2VydmVyIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2F0dHJpYnV0ZU9ic2VydmVyOiBBdHRyaWJ1dGVPYnNlcnZlcikge31cblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgc3RhdGljIGlzRm9jdXNhYmxlKGVsZW1lbnQ6IEVsZW1lbnQsIHJlc3BlY3RUYWJJbmRleDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoRGlzYWJsZWRPYnNlcnZlci5pc0Rpc2FibGVkKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlc3BlY3RUYWJJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YWJJbmRleCA9IHBhcnNlSW50KGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpICsgJycsIDEwKTtcbiAgICAgICAgaWYgKGlzTmFOKHRhYkluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuIGlzRWxlbWVudEZvY3VzYWJsZUJ5RGVmYXVsdChlbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YWJJbmRleCA+IC0xO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb2JzZXJ2ZShcbiAgICAgICAgZWxlbWVudDogSGFzRWxlbWVudFJlZjxFbGVtZW50PiB8IEVsZW1lbnQgfCBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICByZXNwZWN0VGFiSW5kZXggPSB0cnVlXG4gICAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSBnZXROYXRpdmVFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gdGhpcy5fYXR0cmlidXRlT2JzZXJ2ZXIub2JzZXJ2ZShuYXRpdmVFbGVtZW50KS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IEZvY3VzYWJsZU9ic2VydmVyLmlzRm9jdXNhYmxlKG5hdGl2ZUVsZW1lbnQsIHJlc3BlY3RUYWJJbmRleCkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdW5vYnNlcnZlKGVsZW1lbnQ6IEhhc0VsZW1lbnRSZWY8RWxlbWVudD4gfCBFbGVtZW50IHwgRWxlbWVudFJlZjxFbGVtZW50Pik6IHZvaWQge1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVPYnNlcnZlci51bm9ic2VydmUoZWxlbWVudCk7XG4gICAgfVxufVxuIl19