@rivet-health/design-system 40.44.0 → 40.44.1

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 (245) hide show
  1. package/{esm2020 → esm2022}/lib/accessibility/sr-only/sr-only.component.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/download/download.service.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/format/pipes/date.pipe.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/format/pipes/days.pipe.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/format/pipes/dollars.pipe.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/format/pipes/number.pipe.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/format/pipes/percentage.pipe.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/format/pipes/sentence-case.pipe.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/format/pipes/small-currency.pipe.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/format/pipes/small-number.pipe.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/format/truncate/truncate.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/icon/icon.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/input/alphabetic-field/alphabetic-field.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/input/auto-focus/auto-focus.directive.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/input/button/button.component.mjs +5 -5
  17. package/{esm2020 → esm2022}/lib/input/button-group/button-group.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/input/calendar/calendar.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/input/card-checkbox/card-checkbox.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/input/checkbox/checkbox.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/input/currency-field/currency-field.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/input/date/date.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/input/date-range/date-range.component.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/input/filter-chip/filter-chip.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/input/filter-dropdown/filter-dropdown.component.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/input/input-label/input-label.component.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/input/mentions-input/mentions-input.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/input/number-field/number-field.component.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/input/percentage-field/percentage-field.component.mjs +4 -4
  30. package/{esm2020 → esm2022}/lib/input/phone-field/phone-field.component.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/input/radio/radio.component.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/input/search/search.component.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/input/search-select/search-select.component.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/input/select/select/select.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/input/select/select-node/select-node.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/input/simple-select/option-group.pipe.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/input/simple-select/simple-select.component.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/input/switch-checkbox/switch-checkbox.component.mjs +4 -4
  39. package/{esm2020 → esm2022}/lib/input/text-field/text-field.component.mjs +4 -4
  40. package/{esm2020 → esm2022}/lib/input/textarea-field/textarea-field.component.mjs +4 -4
  41. package/{esm2020 → esm2022}/lib/input/validation-message/validation-message.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/layout/card/card-actions.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/layout/card/card-content.component.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/layout/card/card-header.component.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/layout/card/card-link.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/layout/card/card-media.component.mjs +4 -4
  47. package/{esm2020 → esm2022}/lib/layout/card/card.component.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/layout/setting-row/setting-row.component.mjs +4 -4
  49. package/esm2022/lib/load/loading/loading.component.mjs +43 -0
  50. package/{esm2020 → esm2022}/lib/load/loading-cover/loading-cover.component.mjs +4 -4
  51. package/{esm2020 → esm2022}/lib/navigation/editable-heading/editable-heading.component.mjs +4 -4
  52. package/{esm2020 → esm2022}/lib/navigation/link/link.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/navigation/page-header/page-header.component.mjs +4 -4
  54. package/{esm2020 → esm2022}/lib/navigation/simple-tabs/simple-tab/simple-tab.component.mjs +4 -4
  55. package/{esm2020 → esm2022}/lib/navigation/simple-tabs/simple-tabs/simple-tabs.component.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/navigation/tabs/tab/tab.component.mjs +4 -4
  57. package/{esm2020 → esm2022}/lib/navigation/tabs/tabs/tabs.component.mjs +4 -4
  58. package/{esm2020 → esm2022}/lib/navigation/views/all-views-modal/all-views-modal.component.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/navigation/views/edit-view/edit-view.component.mjs +8 -8
  60. package/{esm2020 → esm2022}/lib/navigation/views/permission-picker/permission-picker.component.mjs +4 -4
  61. package/{esm2020 → esm2022}/lib/navigation/views/view-menu/view-menu.component.mjs +4 -4
  62. package/{esm2020 → esm2022}/lib/navigation/views/views/views.component.mjs +4 -4
  63. package/{esm2020 → esm2022}/lib/notification/badge/badge.component.mjs +4 -4
  64. package/{esm2020 → esm2022}/lib/notification/banner/banner-action.component.mjs +4 -4
  65. package/{esm2020 → esm2022}/lib/notification/banner/banner.component.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/notification/map-indicator/map-indicator.component.mjs +4 -4
  67. package/{esm2020 → esm2022}/lib/notification/notification-badge/notification-badge.component.mjs +4 -4
  68. package/{esm2020 → esm2022}/lib/overlay/callout/callout.component.mjs +4 -4
  69. package/{esm2020 → esm2022}/lib/overlay/callout/help/help.component.mjs +4 -4
  70. package/{esm2020 → esm2022}/lib/overlay/callout/lock-scroll.directive.mjs +7 -7
  71. package/{esm2020 → esm2022}/lib/overlay/callout/menu/menu-item/menu-item.component.mjs +4 -4
  72. package/{esm2020 → esm2022}/lib/overlay/callout/menu/menu.component.mjs +4 -4
  73. package/{esm2020 → esm2022}/lib/overlay/callout/tooltip/locked-tooltip.directive.mjs +4 -4
  74. package/{esm2020 → esm2022}/lib/overlay/callout/tooltip/tooltip.component.mjs +4 -4
  75. package/{esm2020 → esm2022}/lib/overlay/callout/tooltip/tooltip.directive.mjs +4 -4
  76. package/{esm2020 → esm2022}/lib/overlay/modal/dialog/dialog.component.mjs +5 -5
  77. package/{esm2020 → esm2022}/lib/overlay/modal/dialog-stack.service.mjs +4 -4
  78. package/{esm2020 → esm2022}/lib/overlay/modal/form-dialog/form-dialog.component.mjs +5 -5
  79. package/{esm2020 → esm2022}/lib/overlay/modal/modal.component.mjs +4 -4
  80. package/{esm2020 → esm2022}/lib/overlay/modal/side-sheet/side-sheet.component.mjs +4 -4
  81. package/esm2022/lib/overlay/overlay-outlet.component.mjs +98 -0
  82. package/{esm2020 → esm2022}/lib/overlay/overlay.directive.mjs +4 -4
  83. package/{esm2020 → esm2022}/lib/overlay/overlay.service.mjs +4 -4
  84. package/{esm2020 → esm2022}/lib/overlay/toast/toast-action.component.mjs +4 -4
  85. package/esm2022/lib/overlay/toast/toast.component.mjs +41 -0
  86. package/{esm2020 → esm2022}/lib/riv.module.mjs +227 -227
  87. package/{esm2020 → esm2022}/lib/size/size.directive.mjs +4 -4
  88. package/{esm2020 → esm2022}/lib/table/simple-table/simple-table-cell.component.mjs +4 -4
  89. package/{esm2020 → esm2022}/lib/table/simple-table/simple-table-header-cell.component.mjs +4 -4
  90. package/{esm2020 → esm2022}/lib/table/simple-table/simple-table-row.component.mjs +4 -4
  91. package/{esm2020 → esm2022}/lib/table/simple-table/simple-table.component.mjs +4 -4
  92. package/{esm2020 → esm2022}/lib/table/table/table/table.component.mjs +5 -5
  93. package/{esm2020 → esm2022}/lib/table/table/table-collapse-all/table-collapse-all.component.mjs +4 -4
  94. package/{esm2020 → esm2022}/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +4 -4
  95. package/{esm2020 → esm2022}/lib/table/table/table-column-settings/table-column-settings.component.mjs +4 -4
  96. package/{esm2020 → esm2022}/lib/table/table/table-csv-export/table-csv-export.component.mjs +4 -4
  97. package/{esm2020 → esm2022}/lib/table/table/table-header-resize-handle/table-header-resize-handle.component.mjs +4 -4
  98. package/{esm2020 → esm2022}/lib/table/table/table-search/table-search.component.mjs +4 -4
  99. package/{esm2020 → esm2022}/lib/table/table/table-search-columns/table-search-columns.component.mjs +4 -4
  100. package/{esm2020 → esm2022}/lib/visibility/visibility.directive.mjs +4 -4
  101. package/{esm2020 → esm2022}/lib/visualization/chart/chart.component.mjs +5 -5
  102. package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-cell.component.mjs +4 -4
  103. package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-header-cell.component.mjs +4 -4
  104. package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-row.component.mjs +4 -4
  105. package/{esm2020 → esm2022}/lib/visualization/data-table/data-table.component.mjs +4 -4
  106. package/{esm2020 → esm2022}/lib/visualization/donut/donut.component.mjs +4 -4
  107. package/{esm2020 → esm2022}/lib/visualization/funnel-chart/funnel-chart.component.mjs +4 -4
  108. package/{esm2020 → esm2022}/lib/visualization/highlight/highlight.component.mjs +4 -4
  109. package/{esm2020 → esm2022}/lib/visualization/issue/issue.component.mjs +4 -4
  110. package/{esm2020 → esm2022}/lib/visualization/legend-item/legend-item.component.mjs +4 -4
  111. package/{esm2020 → esm2022}/lib/visualization/metric/metric.component.mjs +4 -4
  112. package/{esm2020 → esm2022}/lib/visualization/mini-pie/mini-pie.component.mjs +4 -4
  113. package/{esm2020 → esm2022}/lib/visualization/progress/progress.component.mjs +5 -5
  114. package/{esm2020 → esm2022}/lib/visualization/stacked-column/stacked-column.component.mjs +4 -4
  115. package/{esm2020 → esm2022}/lib/visualization/stacked-row/stacked-row.component.mjs +4 -4
  116. package/{esm2020 → esm2022}/lib/visualization/time-series/time-series.component.mjs +4 -4
  117. package/{esm2020 → esm2022}/lib/visualization/trend/trend.component.mjs +4 -4
  118. package/{esm2020 → esm2022}/lib/visualization/zero-state/zero-state.component.mjs +4 -4
  119. package/{fesm2020 → fesm2022}/rivet-health-design-system.mjs +610 -610
  120. package/{fesm2020 → fesm2022}/rivet-health-design-system.mjs.map +1 -1
  121. package/lib/format/svg-text-truncate/svg-text-truncate.directive.d.ts +1 -1
  122. package/lib/format/truncate/truncate.component.d.ts +1 -1
  123. package/lib/icon/icon.component.d.ts +1 -1
  124. package/lib/input/auto-focus/auto-focus.directive.d.ts +1 -1
  125. package/lib/input/button/button.component.d.ts +1 -1
  126. package/lib/input/calendar/calendar.component.d.ts +1 -1
  127. package/lib/input/checkbox/checkbox.component.d.ts +1 -1
  128. package/lib/input/currency-field/currency-field.component.d.ts +1 -1
  129. package/lib/input/date/date.component.d.ts +1 -1
  130. package/lib/input/date-range/date-range.component.d.ts +1 -1
  131. package/lib/input/filter-chip/filter-chip.component.d.ts +1 -1
  132. package/lib/input/filter-dropdown/filter-dropdown.component.d.ts +1 -1
  133. package/lib/input/input-label/input-label.component.d.ts +1 -1
  134. package/lib/input/mentions-input/mentions-input.component.d.ts +1 -1
  135. package/lib/input/number-field/number-field.component.d.ts +1 -1
  136. package/lib/input/percentage-field/percentage-field.component.d.ts +1 -1
  137. package/lib/input/phone-field/phone-field.component.d.ts +1 -1
  138. package/lib/input/radio/radio.component.d.ts +1 -1
  139. package/lib/input/search/search.component.d.ts +1 -1
  140. package/lib/input/search-select/search-select.component.d.ts +1 -1
  141. package/lib/input/select/select/select.component.d.ts +1 -1
  142. package/lib/input/select/select-node/select-node.component.d.ts +1 -1
  143. package/lib/input/simple-select/simple-select.component.d.ts +1 -1
  144. package/lib/input/switch-checkbox/switch-checkbox.component.d.ts +1 -1
  145. package/lib/input/text-field/text-field.component.d.ts +1 -1
  146. package/lib/input/textarea-field/textarea-field.component.d.ts +1 -1
  147. package/lib/input/validation-message/validation-message.component.d.ts +1 -1
  148. package/lib/layout/card/card-actions.component.d.ts +1 -1
  149. package/lib/layout/card/card-content.component.d.ts +1 -1
  150. package/lib/layout/card/card-header.component.d.ts +1 -1
  151. package/lib/layout/card/card-link.component.d.ts +1 -1
  152. package/lib/layout/card/card-media.component.d.ts +1 -1
  153. package/lib/layout/card/card.component.d.ts +1 -1
  154. package/lib/layout/setting-row/setting-row.component.d.ts +1 -1
  155. package/lib/load/loading/loading.component.d.ts +1 -1
  156. package/lib/load/loading-cover/loading-cover.component.d.ts +1 -1
  157. package/lib/navigation/editable-heading/editable-heading.component.d.ts +1 -1
  158. package/lib/navigation/link/link.component.d.ts +1 -1
  159. package/lib/navigation/page-header/page-header.component.d.ts +1 -1
  160. package/lib/navigation/simple-tabs/simple-tab/simple-tab.component.d.ts +1 -1
  161. package/lib/navigation/tabs/tab/tab.component.d.ts +1 -1
  162. package/lib/navigation/views/all-views-modal/all-views-modal.component.d.ts +1 -1
  163. package/lib/navigation/views/edit-view/edit-view.component.d.ts +1 -1
  164. package/lib/navigation/views/permission-picker/permission-picker.component.d.ts +3 -3
  165. package/lib/navigation/views/view-menu/view-menu.component.d.ts +1 -1
  166. package/lib/navigation/views/views/views.component.d.ts +1 -1
  167. package/lib/notification/badge/badge.component.d.ts +1 -1
  168. package/lib/notification/banner/banner-action.component.d.ts +1 -1
  169. package/lib/notification/banner/banner.component.d.ts +1 -1
  170. package/lib/notification/map-indicator/map-indicator.component.d.ts +1 -1
  171. package/lib/notification/notification-badge/notification-badge.component.d.ts +1 -1
  172. package/lib/overlay/callout/callout.component.d.ts +1 -1
  173. package/lib/overlay/callout/help/help.component.d.ts +1 -1
  174. package/lib/overlay/callout/lock-scroll.directive.d.ts +1 -1
  175. package/lib/overlay/callout/menu/menu-item/menu-item.component.d.ts +1 -1
  176. package/lib/overlay/callout/menu/menu.component.d.ts +1 -1
  177. package/lib/overlay/callout/tooltip/locked-tooltip.directive.d.ts +1 -1
  178. package/lib/overlay/callout/tooltip/tooltip.component.d.ts +1 -1
  179. package/lib/overlay/callout/tooltip/tooltip.directive.d.ts +1 -1
  180. package/lib/overlay/modal/dialog/dialog.component.d.ts +1 -1
  181. package/lib/overlay/modal/form-dialog/form-dialog.component.d.ts +1 -1
  182. package/lib/overlay/modal/modal.component.d.ts +1 -1
  183. package/lib/overlay/modal/side-sheet/side-sheet.component.d.ts +1 -1
  184. package/lib/overlay/toast/toast.component.d.ts +1 -1
  185. package/lib/table/simple-table/simple-table-header-cell.component.d.ts +1 -1
  186. package/lib/table/simple-table/simple-table-row.component.d.ts +1 -1
  187. package/lib/table/table/table/table.component.d.ts +1 -1
  188. package/lib/table/table/table-collapse-all/table-collapse-all.component.d.ts +1 -1
  189. package/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.d.ts +1 -1
  190. package/lib/table/table/table-column-settings/table-column-settings.component.d.ts +1 -1
  191. package/lib/table/table/table-csv-export/table-csv-export.component.d.ts +1 -1
  192. package/lib/table/table/table-search/table-search.component.d.ts +1 -1
  193. package/lib/table/table/table-search-columns/table-search-columns.component.d.ts +1 -1
  194. package/lib/visualization/chart/chart.component.d.ts +1 -1
  195. package/lib/visualization/data-table/data-table-row.component.d.ts +1 -1
  196. package/lib/visualization/donut/donut.component.d.ts +1 -1
  197. package/lib/visualization/funnel-chart/funnel-chart.component.d.ts +1 -1
  198. package/lib/visualization/highlight/highlight.component.d.ts +1 -1
  199. package/lib/visualization/issue/issue.component.d.ts +1 -1
  200. package/lib/visualization/legend-item/legend-item.component.d.ts +1 -1
  201. package/lib/visualization/metric/metric.component.d.ts +1 -1
  202. package/lib/visualization/mini-pie/mini-pie.component.d.ts +1 -1
  203. package/lib/visualization/progress/progress.component.d.ts +1 -1
  204. package/lib/visualization/stacked-column/stacked-column.component.d.ts +3 -3
  205. package/lib/visualization/stacked-row/stacked-row.component.d.ts +1 -1
  206. package/lib/visualization/time-series/time-series.component.d.ts +3 -3
  207. package/lib/visualization/trend/trend.component.d.ts +1 -1
  208. package/lib/visualization/zero-state/zero-state.component.d.ts +1 -1
  209. package/package.json +5 -11
  210. package/esm2020/lib/load/loading/loading.component.mjs +0 -43
  211. package/esm2020/lib/overlay/overlay-outlet.component.mjs +0 -98
  212. package/esm2020/lib/overlay/toast/toast.component.mjs +0 -41
  213. package/fesm2015/rivet-health-design-system.mjs +0 -18370
  214. package/fesm2015/rivet-health-design-system.mjs.map +0 -1
  215. /package/{esm2020 → esm2022}/lib/format/pipes/common.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/icon/dom-cache.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/icon/icons.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/input/select/state.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/navigation/views/state.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/notification/map-indicator/map-indicators.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/overlay/callout/callout.helpers.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/overlay/callout/select-callout-defaults.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/table/simple-table/coordinate-helper.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/table/table/clipboard.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/collapse-helpers.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/column-helpers.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/display-helpers.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/nesting-helpers.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/order-helpers.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/pagination-helpers.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/result-helpers.mjs +0 -0
  232. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/search-helpers.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/table/table/state-helpers/selection-helpers.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/table/table/state.mjs +0 -0
  235. /package/{esm2020 → esm2022}/lib/util/local-storage.mjs +0 -0
  236. /package/{esm2020 → esm2022}/lib/visualization/chart/chart-scaling.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/visualization/chart/chart.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/visualization/funnel-chart/funnel-chart.helpers.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/visualization/highlight/highlight.helpers.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/visualization/intervals.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/visualization/stacked-column/stacked-column.helpers.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/visualization/stacked-row/stacked-row.helpers.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/visualization/time-series/time-series.helpers.mjs +0 -0
  244. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  245. /package/{esm2020 → esm2022}/rivet-health-design-system.mjs +0 -0
@@ -127,10 +127,10 @@ export class SelectComponent extends InputLabelComponent {
127
127
  trackByOption(_, option) {
128
128
  return option.id;
129
129
  }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectComponent, selector: "riv-select", inputs: { manager: "manager", size: "size", disabled: "disabled", locked: "locked", grow: "grow", allowedCalloutPositions: "allowedCalloutPositions", preferredCalloutPosition: "preferredCalloutPosition" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "customSelectedOptionsTemplate", first: true, predicate: ["customSelectedOptions"], descendants: true }, { propertyName: "optionTemplate", first: true, predicate: ["option"], descendants: true }, { propertyName: "optionTitleTemplate", first: true, predicate: ["optionTitle"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }], viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-template #content>\n <riv-loading-cover [loading]=\"s.load.loading\">\n <div\n class=\"content-body\"\n [class.inline]=\"s.display.inline\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [ngStyle]=\"{\n 'max-height': s.display.maxHeight,\n 'max-width': s.display.maxWidth,\n 'min-height': s.display.minHeight,\n 'min-width': s.display.minWidth\n }\"\n >\n <header *ngIf=\"headerTemplate\">\n <ng-container\n *ngTemplateOutlet=\"headerTemplate; context: { state: s }\"\n ></ng-container>\n </header>\n <riv-search\n *ngIf=\"s.query.showSearch\"\n [value]=\"s.query.search\"\n [placeholder]=\"s.query.searchPlaceholder\"\n [autoFocus]=\"true\"\n (valueChange)=\"searchChange($event)\"\n ></riv-search>\n <div *ngIf=\"s.query.showOrder\">\n <span class=\"order-by\">Sort by:</span>\n <riv-select [manager]=\"orderByManager\">\n <ng-template #trigger let-state=\"state\">\n <span\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"state.display.open ? 'ChevronUp' : 'ChevronDown'\"\n [iconPosition]=\"'last'\"\n >\n {{ getSelectedOrderByOption(s)?.title }}\n </span>\n </ng-template>\n </riv-select>\n </div>\n <div class=\"options\">\n <riv-select-node\n *ngIf=\"\n s.selection.allowMultiSelect &&\n s.selection.allowSelectAll &&\n !s.display.zeroStateMessage\n \"\n [mode]=\"'multi'\"\n [node]=\"{\n id: '__NOOP__',\n title: s.query.search ? 'Select all matching' : 'Select all',\n selected: s.selection.visibleSelectionState,\n selectable: true,\n expandable: false,\n expanded: false\n }\"\n (selectChange)=\"\n manager?.actions?.next({ type: 'visibleSelectedChange' })\n \"\n ></riv-select-node>\n <div\n *ngFor=\"let group of s.fullOptionGroups; trackBy: trackBySymbol\"\n class=\"group\"\n [class.divider]=\"s.display.dividers\"\n >\n <span *ngIf=\"group.header; let header\" class=\"header\">\n {{ header }}\n <riv-help\n *ngIf=\"group.help; let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <ng-container\n *ngFor=\"let option of group.options; trackBy: trackByOption\"\n >\n <ng-container *ngIf=\"optionTemplate; else standardTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ node: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #standardTemplate>\n <riv-select-node\n [mode]=\"s.selection.allowMultiSelect ? 'multi' : 'single'\"\n [node]=\"option\"\n [showSingleSelected]=\"s.display.showSingleSelected\"\n [titleTemplate]=\"optionTitleTemplate\"\n (selectChange)=\"\n selectChange(s.selection.allowMultiSelect, $event)\n \"\n (expandChange)=\"\n manager?.actions?.next({\n type: 'toggleOptionExpanded',\n id: $event\n })\n \"\n ></riv-select-node>\n </ng-template>\n </ng-container>\n </div>\n <span\n *ngIf=\"s.display.displayLimitMessage; let message\"\n class=\"display-limit\"\n >\n {{ message }}\n </span>\n <riv-zero-state\n *ngIf=\"s.display.zeroStateMessage; let message\"\n [message]=\"message\"\n ></riv-zero-state>\n </div>\n <footer *ngIf=\"footerTemplate\" class=\"custom-footer\">\n <ng-container\n *ngTemplateOutlet=\"footerTemplate; context: { state: s }\"\n ></ng-container>\n </footer>\n </div>\n </riv-loading-cover>\n </ng-template>\n\n <ng-container *ngIf=\"!s.display.inline; else content\">\n <ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [disabled]=\"disabled || locked\"\n [attr.aria-disabled]=\"disabled || locked ? 'true' : null\"\n type=\"button\"\n class=\"custom-trigger-button\"\n [class.grow]=\"grow\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ state: s }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n (click)=\"allowedOpen()\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [disabled]=\"disabled || locked\"\n [attr.aria-disabled]=\"disabled || locked ? 'true' : null\"\n type=\"button\"\n >\n <ng-container\n *ngIf=\"s.selection.selected.size; else placeholderValue\"\n >\n <ng-container\n *ngIf=\"\n customSelectedOptionsTemplate;\n else standardSelectedOptionsTemplate\n \"\n >\n <span class=\"value\">\n <ng-container\n [ngTemplateOutlet]=\"customSelectedOptionsTemplate\"\n [ngTemplateOutletContext]=\"{ selected: s.selection.selected }\"\n ></ng-container>\n </span>\n </ng-container>\n <ng-template #standardSelectedOptionsTemplate>\n <span class=\"value\">{{\n s.display.formattedSelectedOptions\n }}</span>\n <span *ngIf=\"s.display.pillCount > 1\" class=\"selected-count\">\n {{ s.display.pillCount | rivNumber }}\n </span>\n </ng-template>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ s.display.placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon\n *ngIf=\"!locked\"\n [name]=\"s.display.open ? 'ChevronUp' : 'ChevronDown'\"\n [size]=\"20\"\n ></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"20\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n </ng-template>\n\n <ng-container *ngIf=\"s.display.open\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"allowedCalloutPositions\"\n [preferredPosition]=\"preferredCalloutPosition\"\n (close)=\"manager?.actions?.next({ type: 'openChange', open: false })\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </riv-callout>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);cursor:pointer;padding-left:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1);cursor:default}.selected-count{font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);font-weight:var(--font-weight-normal);color:var(--type-dark-body);border-radius:calc(var(--base-grid-size) * 3);background-color:var(--brand);padding:calc(var(--base-grid-size) / 4) calc(var(--base-grid-size) * 2);align-self:center}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-low-contrast)}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5)}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.custom-trigger-button{max-width:100%}.custom-trigger-button.grow{display:flex;flex-direction:column;width:100%}.order-by{font:var(--input-medium);color:var(--type-light-low-contrast)}.content-body{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-large)}.content-body:not(.inline){max-height:50vh;min-width:calc(var(--base-grid-size) * 75);max-width:50vw}.options{flex-grow:1;overflow-y:auto;gap:var(--size-medium)}.options,.group{display:flex;flex-direction:column}.group{gap:var(--size-xsmall)}.group.divider:not(:last-child){padding-bottom:var(--size-medium);border-bottom:var(--border-width) solid var(--border-light)}.display-limit{font:var(--body-small);color:var(--type-light-disabled);padding:var(--size-small);text-align:center}.header{font:var(--input-medium);color:var(--type-light-low-contrast);padding:var(--size-xsmall) 0;display:flex;align-items:center;gap:var(--size-small)}.custom-footer{padding-top:var(--size-large);border-top:var(--border-width) solid var(--border-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: i3.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i4.HelpComponent, selector: "riv-help", inputs: ["help", "size"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i6.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText", "errorMessage", "state"], outputs: ["labelAction"] }, { kind: "component", type: i7.LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "zIndexOverride", "errorMessage"] }, { kind: "directive", type: i8.OverlayDirective, selector: "[riv-overlay]" }, { kind: "component", type: i9.SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "component", type: SelectComponent, selector: "riv-select", inputs: ["manager", "size", "disabled", "locked", "grow", "allowedCalloutPositions", "preferredCalloutPosition"] }, { kind: "component", type: i10.SelectNodeComponent, selector: "riv-select-node", inputs: ["mode", "node", "showSingleSelected", "titleTemplate"], outputs: ["selectChange", "expandChange"] }, { kind: "component", type: i11.ZeroStateComponent, selector: "riv-zero-state", inputs: ["message", "title", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
132
  }
131
- SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
132
- SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SelectComponent, selector: "riv-select", inputs: { manager: "manager", size: "size", disabled: "disabled", locked: "locked", grow: "grow", allowedCalloutPositions: "allowedCalloutPositions", preferredCalloutPosition: "preferredCalloutPosition" }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "customSelectedOptionsTemplate", first: true, predicate: ["customSelectedOptions"], descendants: true }, { propertyName: "optionTemplate", first: true, predicate: ["option"], descendants: true }, { propertyName: "optionTitleTemplate", first: true, predicate: ["optionTitle"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }], viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-template #content>\n <riv-loading-cover [loading]=\"s.load.loading\">\n <div\n class=\"content-body\"\n [class.inline]=\"s.display.inline\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [ngStyle]=\"{\n 'max-height': s.display.maxHeight,\n 'max-width': s.display.maxWidth,\n 'min-height': s.display.minHeight,\n 'min-width': s.display.minWidth\n }\"\n >\n <header *ngIf=\"headerTemplate\">\n <ng-container\n *ngTemplateOutlet=\"headerTemplate; context: { state: s }\"\n ></ng-container>\n </header>\n <riv-search\n *ngIf=\"s.query.showSearch\"\n [value]=\"s.query.search\"\n [placeholder]=\"s.query.searchPlaceholder\"\n [autoFocus]=\"true\"\n (valueChange)=\"searchChange($event)\"\n ></riv-search>\n <div *ngIf=\"s.query.showOrder\">\n <span class=\"order-by\">Sort by:</span>\n <riv-select [manager]=\"orderByManager\">\n <ng-template #trigger let-state=\"state\">\n <span\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"state.display.open ? 'ChevronUp' : 'ChevronDown'\"\n [iconPosition]=\"'last'\"\n >\n {{ getSelectedOrderByOption(s)?.title }}\n </span>\n </ng-template>\n </riv-select>\n </div>\n <div class=\"options\">\n <riv-select-node\n *ngIf=\"\n s.selection.allowMultiSelect &&\n s.selection.allowSelectAll &&\n !s.display.zeroStateMessage\n \"\n [mode]=\"'multi'\"\n [node]=\"{\n id: '__NOOP__',\n title: s.query.search ? 'Select all matching' : 'Select all',\n selected: s.selection.visibleSelectionState,\n selectable: true,\n expandable: false,\n expanded: false\n }\"\n (selectChange)=\"\n manager?.actions?.next({ type: 'visibleSelectedChange' })\n \"\n ></riv-select-node>\n <div\n *ngFor=\"let group of s.fullOptionGroups; trackBy: trackBySymbol\"\n class=\"group\"\n [class.divider]=\"s.display.dividers\"\n >\n <span *ngIf=\"group.header; let header\" class=\"header\">\n {{ header }}\n <riv-help\n *ngIf=\"group.help; let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <ng-container\n *ngFor=\"let option of group.options; trackBy: trackByOption\"\n >\n <ng-container *ngIf=\"optionTemplate; else standardTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ node: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #standardTemplate>\n <riv-select-node\n [mode]=\"s.selection.allowMultiSelect ? 'multi' : 'single'\"\n [node]=\"option\"\n [showSingleSelected]=\"s.display.showSingleSelected\"\n [titleTemplate]=\"optionTitleTemplate\"\n (selectChange)=\"\n selectChange(s.selection.allowMultiSelect, $event)\n \"\n (expandChange)=\"\n manager?.actions?.next({\n type: 'toggleOptionExpanded',\n id: $event\n })\n \"\n ></riv-select-node>\n </ng-template>\n </ng-container>\n </div>\n <span\n *ngIf=\"s.display.displayLimitMessage; let message\"\n class=\"display-limit\"\n >\n {{ message }}\n </span>\n <riv-zero-state\n *ngIf=\"s.display.zeroStateMessage; let message\"\n [message]=\"message\"\n ></riv-zero-state>\n </div>\n <footer *ngIf=\"footerTemplate\" class=\"custom-footer\">\n <ng-container\n *ngTemplateOutlet=\"footerTemplate; context: { state: s }\"\n ></ng-container>\n </footer>\n </div>\n </riv-loading-cover>\n </ng-template>\n\n <ng-container *ngIf=\"!s.display.inline; else content\">\n <ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [disabled]=\"disabled || locked\"\n [attr.aria-disabled]=\"disabled || locked ? 'true' : null\"\n type=\"button\"\n class=\"custom-trigger-button\"\n [class.grow]=\"grow\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ state: s }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n (click)=\"allowedOpen()\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [disabled]=\"disabled || locked\"\n [attr.aria-disabled]=\"disabled || locked ? 'true' : null\"\n type=\"button\"\n >\n <ng-container\n *ngIf=\"s.selection.selected.size; else placeholderValue\"\n >\n <ng-container\n *ngIf=\"\n customSelectedOptionsTemplate;\n else standardSelectedOptionsTemplate\n \"\n >\n <span class=\"value\">\n <ng-container\n [ngTemplateOutlet]=\"customSelectedOptionsTemplate\"\n [ngTemplateOutletContext]=\"{ selected: s.selection.selected }\"\n ></ng-container>\n </span>\n </ng-container>\n <ng-template #standardSelectedOptionsTemplate>\n <span class=\"value\">{{\n s.display.formattedSelectedOptions\n }}</span>\n <span *ngIf=\"s.display.pillCount > 1\" class=\"selected-count\">\n {{ s.display.pillCount | rivNumber }}\n </span>\n </ng-template>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ s.display.placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon\n *ngIf=\"!locked\"\n [name]=\"s.display.open ? 'ChevronUp' : 'ChevronDown'\"\n [size]=\"20\"\n ></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"20\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n </ng-template>\n\n <ng-container *ngIf=\"s.display.open\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"allowedCalloutPositions\"\n [preferredPosition]=\"preferredCalloutPosition\"\n (close)=\"manager?.actions?.next({ type: 'openChange', open: false })\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </riv-callout>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);cursor:pointer;padding-left:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1);cursor:default}.selected-count{font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);font-weight:var(--font-weight-normal);color:var(--type-dark-body);border-radius:calc(var(--base-grid-size) * 3);background-color:var(--brand);padding:calc(var(--base-grid-size) / 4) calc(var(--base-grid-size) * 2);align-self:center}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-low-contrast)}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5)}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.custom-trigger-button{max-width:100%}.custom-trigger-button.grow{display:flex;flex-direction:column;width:100%}.order-by{font:var(--input-medium);color:var(--type-light-low-contrast)}.content-body{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-large)}.content-body:not(.inline){max-height:50vh;min-width:calc(var(--base-grid-size) * 75);max-width:50vw}.options{flex-grow:1;overflow-y:auto;gap:var(--size-medium)}.options,.group{display:flex;flex-direction:column}.group{gap:var(--size-xsmall)}.group.divider:not(:last-child){padding-bottom:var(--size-medium);border-bottom:var(--border-width) solid var(--border-light)}.display-limit{font:var(--body-small);color:var(--type-light-disabled);padding:var(--size-small);text-align:center}.header{font:var(--input-medium);color:var(--type-light-low-contrast);padding:var(--size-xsmall) 0;display:flex;align-items:center;gap:var(--size-small)}.custom-footer{padding-top:var(--size-large);border-top:var(--border-width) solid var(--border-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: i3.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i4.HelpComponent, selector: "riv-help", inputs: ["help", "size"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i6.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText", "errorMessage", "state"], outputs: ["labelAction"] }, { kind: "component", type: i7.LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "zIndexOverride", "errorMessage"] }, { kind: "directive", type: i8.OverlayDirective, selector: "[riv-overlay]" }, { kind: "component", type: i9.SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "component", type: SelectComponent, selector: "riv-select", inputs: ["manager", "size", "disabled", "locked", "grow", "allowedCalloutPositions", "preferredCalloutPosition"] }, { kind: "component", type: i10.SelectNodeComponent, selector: "riv-select-node", inputs: ["mode", "node", "showSingleSelected", "titleTemplate"], outputs: ["selectChange", "expandChange"] }, { kind: "component", type: i11.ZeroStateComponent, selector: "riv-zero-state", inputs: ["message", "title", "icon"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectComponent, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, decorators: [{
134
134
  type: Component,
135
135
  args: [{ selector: 'riv-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"manager?.state | async; let s\">\n <ng-template #content>\n <riv-loading-cover [loading]=\"s.load.loading\">\n <div\n class=\"content-body\"\n [class.inline]=\"s.display.inline\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [ngStyle]=\"{\n 'max-height': s.display.maxHeight,\n 'max-width': s.display.maxWidth,\n 'min-height': s.display.minHeight,\n 'min-width': s.display.minWidth\n }\"\n >\n <header *ngIf=\"headerTemplate\">\n <ng-container\n *ngTemplateOutlet=\"headerTemplate; context: { state: s }\"\n ></ng-container>\n </header>\n <riv-search\n *ngIf=\"s.query.showSearch\"\n [value]=\"s.query.search\"\n [placeholder]=\"s.query.searchPlaceholder\"\n [autoFocus]=\"true\"\n (valueChange)=\"searchChange($event)\"\n ></riv-search>\n <div *ngIf=\"s.query.showOrder\">\n <span class=\"order-by\">Sort by:</span>\n <riv-select [manager]=\"orderByManager\">\n <ng-template #trigger let-state=\"state\">\n <span\n rivButton\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"state.display.open ? 'ChevronUp' : 'ChevronDown'\"\n [iconPosition]=\"'last'\"\n >\n {{ getSelectedOrderByOption(s)?.title }}\n </span>\n </ng-template>\n </riv-select>\n </div>\n <div class=\"options\">\n <riv-select-node\n *ngIf=\"\n s.selection.allowMultiSelect &&\n s.selection.allowSelectAll &&\n !s.display.zeroStateMessage\n \"\n [mode]=\"'multi'\"\n [node]=\"{\n id: '__NOOP__',\n title: s.query.search ? 'Select all matching' : 'Select all',\n selected: s.selection.visibleSelectionState,\n selectable: true,\n expandable: false,\n expanded: false\n }\"\n (selectChange)=\"\n manager?.actions?.next({ type: 'visibleSelectedChange' })\n \"\n ></riv-select-node>\n <div\n *ngFor=\"let group of s.fullOptionGroups; trackBy: trackBySymbol\"\n class=\"group\"\n [class.divider]=\"s.display.dividers\"\n >\n <span *ngIf=\"group.header; let header\" class=\"header\">\n {{ header }}\n <riv-help\n *ngIf=\"group.help; let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <ng-container\n *ngFor=\"let option of group.options; trackBy: trackByOption\"\n >\n <ng-container *ngIf=\"optionTemplate; else standardTemplate\">\n <ng-container\n [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ node: option }\"\n ></ng-container>\n </ng-container>\n <ng-template #standardTemplate>\n <riv-select-node\n [mode]=\"s.selection.allowMultiSelect ? 'multi' : 'single'\"\n [node]=\"option\"\n [showSingleSelected]=\"s.display.showSingleSelected\"\n [titleTemplate]=\"optionTitleTemplate\"\n (selectChange)=\"\n selectChange(s.selection.allowMultiSelect, $event)\n \"\n (expandChange)=\"\n manager?.actions?.next({\n type: 'toggleOptionExpanded',\n id: $event\n })\n \"\n ></riv-select-node>\n </ng-template>\n </ng-container>\n </div>\n <span\n *ngIf=\"s.display.displayLimitMessage; let message\"\n class=\"display-limit\"\n >\n {{ message }}\n </span>\n <riv-zero-state\n *ngIf=\"s.display.zeroStateMessage; let message\"\n [message]=\"message\"\n ></riv-zero-state>\n </div>\n <footer *ngIf=\"footerTemplate\" class=\"custom-footer\">\n <ng-container\n *ngTemplateOutlet=\"footerTemplate; context: { state: s }\"\n ></ng-container>\n </footer>\n </div>\n </riv-loading-cover>\n </ng-template>\n\n <ng-container *ngIf=\"!s.display.inline; else content\">\n <ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [disabled]=\"disabled || locked\"\n [attr.aria-disabled]=\"disabled || locked ? 'true' : null\"\n type=\"button\"\n class=\"custom-trigger-button\"\n [class.grow]=\"grow\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ state: s }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n (click)=\"allowedOpen()\"\n (keydown.escape)=\"escapeClose($event, s.display.open)\"\n [disabled]=\"disabled || locked\"\n [attr.aria-disabled]=\"disabled || locked ? 'true' : null\"\n type=\"button\"\n >\n <ng-container\n *ngIf=\"s.selection.selected.size; else placeholderValue\"\n >\n <ng-container\n *ngIf=\"\n customSelectedOptionsTemplate;\n else standardSelectedOptionsTemplate\n \"\n >\n <span class=\"value\">\n <ng-container\n [ngTemplateOutlet]=\"customSelectedOptionsTemplate\"\n [ngTemplateOutletContext]=\"{ selected: s.selection.selected }\"\n ></ng-container>\n </span>\n </ng-container>\n <ng-template #standardSelectedOptionsTemplate>\n <span class=\"value\">{{\n s.display.formattedSelectedOptions\n }}</span>\n <span *ngIf=\"s.display.pillCount > 1\" class=\"selected-count\">\n {{ s.display.pillCount | rivNumber }}\n </span>\n </ng-template>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ s.display.placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon\n *ngIf=\"!locked\"\n [name]=\"s.display.open ? 'ChevronUp' : 'ChevronDown'\"\n [size]=\"20\"\n ></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"20\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n </ng-template>\n\n <ng-container *ngIf=\"s.display.open\">\n <riv-callout\n *riv-overlay\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"allowedCalloutPositions\"\n [preferredPosition]=\"preferredCalloutPosition\"\n (close)=\"manager?.actions?.next({ type: 'openChange', open: false })\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </riv-callout>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);cursor:pointer;padding-left:var(--size-small)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1);cursor:default}.selected-count{font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);font-weight:var(--font-weight-normal);color:var(--type-dark-body);border-radius:calc(var(--base-grid-size) * 3);background-color:var(--brand);padding:calc(var(--base-grid-size) / 4) calc(var(--base-grid-size) * 2);align-self:center}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-low-contrast)}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5)}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.custom-trigger-button{max-width:100%}.custom-trigger-button.grow{display:flex;flex-direction:column;width:100%}.order-by{font:var(--input-medium);color:var(--type-light-low-contrast)}.content-body{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-large)}.content-body:not(.inline){max-height:50vh;min-width:calc(var(--base-grid-size) * 75);max-width:50vw}.options{flex-grow:1;overflow-y:auto;gap:var(--size-medium)}.options,.group{display:flex;flex-direction:column}.group{gap:var(--size-xsmall)}.group.divider:not(:last-child){padding-bottom:var(--size-medium);border-bottom:var(--border-width) solid var(--border-light)}.display-limit{font:var(--body-small);color:var(--type-light-disabled);padding:var(--size-small);text-align:center}.header{font:var(--input-medium);color:var(--type-light-low-contrast);padding:var(--size-xsmall) 0;display:flex;align-items:center;gap:var(--size-small)}.custom-footer{padding-top:var(--size-large);border-top:var(--border-width) solid var(--border-light)}\n"] }]
136
136
  }], propDecorators: { manager: [{
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
175
175
  (function (SelectComponent) {
176
176
  SelectComponent.Sizes = ['small', 'medium', 'large'];
177
177
  })(SelectComponent || (SelectComponent = {}));
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFckMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUXhHLE1BQU0sT0FBTyxlQUNYLFNBQVEsbUJBQW1CO0lBUDdCOztRQWNFLFNBQUksR0FBeUIsUUFBUSxDQUFDO1FBR3RDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixzRUFBc0U7UUFFdEUsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUd0Qiw0QkFBdUIsR0FBd0M7WUFDN0QsR0FBRyxvQ0FBb0M7U0FDeEMsQ0FBQztRQUdGLDZCQUF3QixHQUFzQyxjQUFjLENBQUM7UUFnSHBFLHdCQUFtQixHQUMxQjtZQUNFO2dCQUNFLE9BQU8sRUFBRTtvQkFDUDt3QkFDRSxFQUFFLEVBQUUsT0FBTzt3QkFD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LHVCQUF1QixDQUFDLE1BQU07OEJBTy9DLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQU1OLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixlQUFlO3NCQURkLFlBQVk7dUJBQUMsU0FBUztnQkFJdkIsNkJBQTZCO3NCQUQ1QixZQUFZO3VCQUFDLHVCQUF1QjtnQkFNckMsY0FBYztzQkFEYixZQUFZO3VCQUFDLFFBQVE7Z0JBUXRCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxhQUFhO2dCQUkzQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsUUFBUTtnQkFJdEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFFBQVE7Z0JBSXRCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBSWhDLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUI7O0FBcUlwQyxXQUFpQixlQUFlO0lBT2pCLHFCQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBVSxDQUFDO0FBRTdELENBQUMsRUFUZ0IsZUFBZSxLQUFmLGVBQWUsUUFTL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBza2lwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUml2U2VsZWN0IH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXkvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBkZWZhdWx0U2VsZWN0QWxsb3dlZENhbGxvdXRQb3NpdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5L2NhbGxvdXQvc2VsZWN0LWNhbGxvdXQtZGVmYXVsdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQ8TyBleHRlbmRzIFJpdlNlbGVjdC5CYXNlT3B0aW9uPlxuICBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKVxuICBtYW5hZ2VyPzogUml2U2VsZWN0Lk1hbmFnZXI8Tz47XG5cbiAgQElucHV0KClcbiAgc2l6ZTogU2VsZWN0Q29tcG9uZW50LlNpemUgPSAnbWVkaXVtJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTdHJldGNoZXMgYSBjdXN0b20gdHJpZ2dlciB0byBmaWxsIHRoZSB3aWR0aCBvZiB0aGlzIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KClcbiAgZ3JvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93ZWRDYWxsb3V0UG9zaXRpb25zOiBDYWxsb3V0Q29tcG9uZW50LkFuY2hvcmVkUG9zaXRpb25bXSA9IFtcbiAgICAuLi5kZWZhdWx0U2VsZWN0QWxsb3dlZENhbGxvdXRQb3NpdGlvbnMsXG4gIF07XG5cbiAgQElucHV0KClcbiAgcHJlZmVycmVkQ2FsbG91dFBvc2l0aW9uOiBDYWxsb3V0Q29tcG9uZW50LkFuY2hvcmVkUG9zaXRpb24gPSAnYm90dG9tLXJpZ2h0JztcblxuICBAQ29udGVudENoaWxkKCd0cmlnZ2VyJylcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBzdGF0ZTogUml2U2VsZWN0LkZ1bGxTdGF0ZTxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdjdXN0b21TZWxlY3RlZE9wdGlvbnMnKVxuICBjdXN0b21TZWxlY3RlZE9wdGlvbnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHtcbiAgICBzZWxlY3RlZDogUml2U2VsZWN0Lk9wdGlvblNldDxPPjtcbiAgfT47XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uJylcbiAgb3B0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7IG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+IH0+O1xuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBvbmx5IGFuIG9wdGlvbidzIHRpdGxlLCBrZWVwaW5nIHRoZSBzdGFuZGFyZCByb3cncyBjaGVja2JveCxcbiAgICogY291bnQsIGhlbHAsIGFuZCBleHBhbmQgY29udHJvbHMuIElnbm9yZWQgd2hlbiBgI29wdGlvbmAgaXMgc2V0LlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGl0bGUnKVxuICBvcHRpb25UaXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdoZWFkZXInKVxuICBoZWFkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgc3RhdGU6IFJpdlNlbGVjdC5GdWxsU3RhdGU8Tz4gfT47XG5cbiAgQENvbnRlbnRDaGlsZCgnZm9vdGVyJylcbiAgZm9vdGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7IHN0YXRlOiBSaXZTZWxlY3QuRnVsbFN0YXRlPE8+IH0+O1xuXG4gIEBWaWV3Q2hpbGQoJ2N1c3RvbVRyaWdnZXJCdXR0b24nKVxuICBjdXN0b21UcmlnZ2VyQnV0dG9uPzogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdzdGFuZGFyZFRyaWdnZXJCdXR0b24nKVxuICBzdGFuZGFyZFRyaWdnZXJCdXR0b24/OiBFbGVtZW50UmVmO1xuXG4gIG9yZGVyQnlNYW5hZ2VyPzogUml2U2VsZWN0Lk1hbmFnZXI8U2VsZWN0Q29tcG9uZW50Lk9yZGVyQnlPcHRpb24+O1xuICBwcml2YXRlIG9yZGVyQnlTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcmRlckJ5TWFuYWdlciA9IFJpdlNlbGVjdC5jcmVhdGVJbk1lbW9yeU1hbmFnZXIoXG4gICAgICAoKSA9PiB0aGlzLm9yZGVyQnlPcHRpb25Hcm91cHMsXG4gICAgICB7XG4gICAgICAgIHNob3dTaW5nbGVTZWxlY3RlZDogdHJ1ZSxcbiAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgc2VsZWN0aW9uOiB7XG4gICAgICAgICAgICBzZWxlY3RlZDogbmV3IFJpdlNlbGVjdC5PcHRpb25TZXQoW1xuICAgICAgICAgICAgICB0aGlzLm9yZGVyQnlPcHRpb25Hcm91cHNbMF0ub3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgICh7IGlkIH0pID0+IGlkID09PSAndGl0bGUnLFxuICAgICAgICAgICAgICApISxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLm9yZGVyQnlTdWJzY3JpcHRpb24gPSB0aGlzLm9yZGVyQnlNYW5hZ2VyLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHMgPT4gWy4uLnMuc2VsZWN0aW9uLnNlbGVjdGVkXVswXT8uaWQgPz8gbnVsbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyZW50KSA9PiBwcmV2ID09PSBjdXJyZW50KSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUob3JkZXIgPT4ge1xuICAgICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7XG4gICAgICAgICAgdHlwZTogJ29yZGVyQ2hhbmdlJyxcbiAgICAgICAgICBwYXlsb2FkOiBvcmRlcixcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJCeVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldFRyaWdnZXIoKTogRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmN1c3RvbVRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgPz9cbiAgICAgIHRoaXMuc3RhbmRhcmRUcmlnZ2VyQnV0dG9uPy5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIGFsbG93ZWRPcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5sb2NrZWQpIHtcbiAgICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucy5uZXh0KHtcbiAgICAgICAgdHlwZTogJ29wZW5DaGFuZ2UnLFxuICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcHJldmVudERlZmF1bHQga2VlcHMgYSBzdXJyb3VuZGluZyBkaWFsb2cgZnJvbSBjbG9zaW5nIG9uIHRoZSBzYW1lIEVzY2FwZS5cbiAgZXNjYXBlQ2xvc2UoZXZlbnQ6IEV2ZW50LCBvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKG9wZW4gJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7IHR5cGU6ICdvcGVuQ2hhbmdlJywgb3BlbjogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2hhbmdlKG11bHRpOiBib29sZWFuLCBpZDogT1snaWQnXSkge1xuICAgIGlmIChtdWx0aSkge1xuICAgICAgdGhpcy5tYW5hZ2VyPy5hY3Rpb25zLm5leHQoe1xuICAgICAgICB0eXBlOiAndG9nZ2xlT3B0aW9uU2VsZWN0ZWQnLFxuICAgICAgICBpZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7XG4gICAgICAgIHR5cGU6ICdzZXRTZWxlY3RlZE9wdGlvbicsXG4gICAgICAgIGlkLFxuICAgICAgfSk7XG4gICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7XG4gICAgICAgIHR5cGU6ICdvcGVuQ2hhbmdlJyxcbiAgICAgICAgb3BlbjogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWFkb25seSBvcmRlckJ5T3B0aW9uR3JvdXBzOiBSaXZTZWxlY3QuT3B0aW9uR3JvdXA8U2VsZWN0Q29tcG9uZW50Lk9yZGVyQnlPcHRpb24+W10gPVxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAndGl0bGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdBLVonLFxuICAgICAgICAgICAgaGVscDogJ1NvcnRzIHZhbHVlcyBpbiBhbHBoYW51bWVyaWMgb3JkZXIgKEEtWiwgMC05KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2NvdW50JyxcbiAgICAgICAgICAgIHRpdGxlOiAnVm9sdW1lJyxcbiAgICAgICAgICAgIGhlbHA6ICdTb3J0cyB2YWx1ZXMgYnkgY291bnQgKGhpZ2hlc3QgdG8gbG93ZXN0KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXTtcblxuICBnZXRTZWxlY3RlZE9yZGVyQnlPcHRpb24oXG4gICAgc3RhdGU6IFJpdlNlbGVjdC5GdWxsU3RhdGU8Tz4sXG4gICk6IFNlbGVjdENvbXBvbmVudC5PcmRlckJ5T3B0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMub3JkZXJCeU9wdGlvbkdyb3Vwc1swXS5vcHRpb25zLmZpbmQoXG4gICAgICAgICh7IGlkIH0pID0+IGlkID09PSBzdGF0ZS5xdWVyeS5vcmRlcixcbiAgICAgICkgPz8gbnVsbFxuICAgICk7XG4gIH1cblxuICBzZWFyY2hDaGFuZ2UgPSBkZWJvdW5jZSgocXVlcnk6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7IHR5cGU6ICdzZWFyY2hDaGFuZ2UnLCBwYXlsb2FkOiBxdWVyeSB9KTtcbiAgfSwgNTAwKTtcblxuICAvLyB0cmFja0J5U3ltYm9sIGZvciBvdXIgb3B0aW9uIGdyb3VwcyB0aGF0IGRvbid0IGhhdmUgYSBnb29kIGlkZW50aXR5LlxuICAvLyB0aGlzIGxhemlseSBhdHRhY2hlcyBhIEphdmFzY3JpcHQgc3ltYm9sIHRvIGFueSB2YWx1ZSBhbmQgcmV0dXJucyBpdC5cbiAgLy8gU3ltYm9scyBhcmUgZ3VhcmFudGVlZCB1bmlxdWUgYW5kIHRoZXkgZG8gbm90IGV4aXN0IGluIEpTT04sIHNvIHRoZXlcbiAgLy8gZG8gbm90IGludGVyZmVyZSB3aXRoIGFueSB0eXBlcyBvciBzZXJpYWxpemF0aW9uIGZvciBBUEkgY2FsbHMuIFRoZVxuICAvLyBvbmx5IHB1cnBvc2UgdGhleSBzZXJ2ZSBpcyB0byB0ZWxsIG5nRm9yIHdoaWNoIG9iamVjdHMgYXJlIHN0aWxsIGluXG4gIC8vIHRoZSBhcnJheS4gTm90ZTogdGhpcyBpcyBvbmx5IHNhZmUgb24gYW4gYXJyYXkgb2Ygb2JqZWN0cy5cbiAgdHJhY2tCeVN5bWJvbChfOiBudW1iZXIsIHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIXZhbHVlLl90cmFja2luZ1N5bWJvbCkge1xuICAgICAgdmFsdWUuX3RyYWNraW5nU3ltYm9sID0gU3ltYm9sKCk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS5fdHJhY2tpbmdTeW1ib2w7XG4gIH1cblxuICB0cmFja0J5T3B0aW9uKF86IG51bWJlciwgb3B0aW9uOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlbGVjdENvbXBvbmVudCB7XG4gIGV4cG9ydCB0eXBlIE9yZGVyQnlPcHRpb24gPSB7XG4gICAgaWQ6IFJpdlNlbGVjdC5PcmRlckJ5O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVscDogc3RyaW5nO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBTaXplcyA9IFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFNpemUgPSAodHlwZW9mIFNpemVzKVtudW1iZXJdO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1hbmFnZXI/LnN0YXRlIHwgYXN5bmM7IGxldCBzXCI+XG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8cml2LWxvYWRpbmctY292ZXIgW2xvYWRpbmddPVwicy5sb2FkLmxvYWRpbmdcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb250ZW50LWJvZHlcIlxuICAgICAgICBbY2xhc3MuaW5saW5lXT1cInMuZGlzcGxheS5pbmxpbmVcIlxuICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiZXNjYXBlQ2xvc2UoJGV2ZW50LCBzLmRpc3BsYXkub3BlbilcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJ21heC1oZWlnaHQnOiBzLmRpc3BsYXkubWF4SGVpZ2h0LFxuICAgICAgICAgICdtYXgtd2lkdGgnOiBzLmRpc3BsYXkubWF4V2lkdGgsXG4gICAgICAgICAgJ21pbi1oZWlnaHQnOiBzLmRpc3BsYXkubWluSGVpZ2h0LFxuICAgICAgICAgICdtaW4td2lkdGgnOiBzLmRpc3BsYXkubWluV2lkdGhcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxoZWFkZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgc3RhdGU6IHMgfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2hlYWRlcj5cbiAgICAgICAgPHJpdi1zZWFyY2hcbiAgICAgICAgICAqbmdJZj1cInMucXVlcnkuc2hvd1NlYXJjaFwiXG4gICAgICAgICAgW3ZhbHVlXT1cInMucXVlcnkuc2VhcmNoXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicy5xdWVyeS5zZWFyY2hQbGFjZWhvbGRlclwiXG4gICAgICAgICAgW2F1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2VhcmNoQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9yaXYtc2VhcmNoPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicy5xdWVyeS5zaG93T3JkZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9yZGVyLWJ5XCI+U29ydCBieTo8L3NwYW4+XG4gICAgICAgICAgPHJpdi1zZWxlY3QgW21hbmFnZXJdPVwib3JkZXJCeU1hbmFnZXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdHJpZ2dlciBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJpdkJ1dHRvblxuICAgICAgICAgICAgICAgIFt2YXJpYW50XT1cIidnaG9zdCdcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cInN0YXRlLmRpc3BsYXkub3BlbiA/ICdDaGV2cm9uVXAnIDogJ0NoZXZyb25Eb3duJ1wiXG4gICAgICAgICAgICAgICAgW2ljb25Qb3NpdGlvbl09XCInbGFzdCdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0U2VsZWN0ZWRPcmRlckJ5T3B0aW9uKHMpPy50aXRsZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvcml2LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgICAgICAgPHJpdi1zZWxlY3Qtbm9kZVxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgcy5zZWxlY3Rpb24uYWxsb3dNdWx0aVNlbGVjdCAmJlxuICAgICAgICAgICAgICBzLnNlbGVjdGlvbi5hbGxvd1NlbGVjdEFsbCAmJlxuICAgICAgICAgICAgICAhcy5kaXNwbGF5Lnplcm9TdGF0ZU1lc3NhZ2VcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbbW9kZV09XCInbXVsdGknXCJcbiAgICAgICAgICAgIFtub2RlXT1cIntcbiAgICAgICAgICAgICAgaWQ6ICdfX05PT1BfXycsXG4gICAgICAgICAgICAgIHRpdGxlOiBzLnF1ZXJ5LnNlYXJjaCA/ICdTZWxlY3QgYWxsIG1hdGNoaW5nJyA6ICdTZWxlY3QgYWxsJyxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHMuc2VsZWN0aW9uLnZpc2libGVTZWxlY3Rpb25TdGF0ZSxcbiAgICAgICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZXhwYW5kYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIGV4cGFuZGVkOiBmYWxzZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoc2VsZWN0Q2hhbmdlKT1cIlxuICAgICAgICAgICAgICBtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ3Zpc2libGVTZWxlY3RlZENoYW5nZScgfSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvcml2LXNlbGVjdC1ub2RlPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBzLmZ1bGxPcHRpb25Hcm91cHM7IHRyYWNrQnk6IHRyYWNrQnlTeW1ib2xcIlxuICAgICAgICAgICAgY2xhc3M9XCJncm91cFwiXG4gICAgICAgICAgICBbY2xhc3MuZGl2aWRlcl09XCJzLmRpc3BsYXkuZGl2aWRlcnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ3JvdXAuaGVhZGVyOyBsZXQgaGVhZGVyXCIgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgICAgICAgIDxyaXYtaGVscFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JvdXAuaGVscDsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgICAgIFtoZWxwXT1cImhlbHBcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIjEyXCJcbiAgICAgICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeU9wdGlvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZTsgZWxzZSBzdGFuZGFyZFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbm9kZTogb3B0aW9uIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8cml2LXNlbGVjdC1ub2RlXG4gICAgICAgICAgICAgICAgICBbbW9kZV09XCJzLnNlbGVjdGlvbi5hbGxvd011bHRpU2VsZWN0ID8gJ211bHRpJyA6ICdzaW5nbGUnXCJcbiAgICAgICAgICAgICAgICAgIFtub2RlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgICBbc2hvd1NpbmdsZVNlbGVjdGVkXT1cInMuZGlzcGxheS5zaG93U2luZ2xlU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgW3RpdGxlVGVtcGxhdGVdPVwib3B0aW9uVGl0bGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAoc2VsZWN0Q2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RDaGFuZ2Uocy5zZWxlY3Rpb24uYWxsb3dNdWx0aVNlbGVjdCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIChleHBhbmRDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0b2dnbGVPcHRpb25FeHBhbmRlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICRldmVudFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9yaXYtc2VsZWN0LW5vZGU+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJzLmRpc3BsYXkuZGlzcGxheUxpbWl0TWVzc2FnZTsgbGV0IG1lc3NhZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJkaXNwbGF5LWxpbWl0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBtZXNzYWdlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxyaXYtemVyby1zdGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJzLmRpc3BsYXkuemVyb1N0YXRlTWVzc2FnZTsgbGV0IG1lc3NhZ2VcIlxuICAgICAgICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXG4gICAgICAgICAgPjwvcml2LXplcm8tc3RhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Zm9vdGVyICpuZ0lmPVwiZm9vdGVyVGVtcGxhdGVcIiBjbGFzcz1cImN1c3RvbS1mb290ZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7IHN0YXRlOiBzIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mb290ZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3Jpdi1sb2FkaW5nLWNvdmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcy5kaXNwbGF5LmlubGluZTsgZWxzZSBjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyaWdnZXJUZW1wbGF0ZTsgZWxzZSBzdGFuZGFyZFRyaWdnZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgI2N1c3RvbVRyaWdnZXJCdXR0b25cbiAgICAgICAgKGNsaWNrKT1cImFsbG93ZWRPcGVuKClcIlxuICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiZXNjYXBlQ2xvc2UoJGV2ZW50LCBzLmRpc3BsYXkub3BlbilcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9ja2VkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2NrZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tLXRyaWdnZXItYnV0dG9uXCJcbiAgICAgICAgW2NsYXNzLmdyb3ddPVwiZ3Jvd1wiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmlnZ2VyVGVtcGxhdGVcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHN0YXRlOiBzIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3N0YW5kYXJkVHJpZ2dlcj5cbiAgICAgIDxyaXYtaW5wdXQtbGFiZWxcbiAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbiAgICAgICAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAgICAgICAobGFiZWxBY3Rpb24pPVwibGFiZWxBY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNzdGFuZGFyZFRyaWdnZXJCdXR0b25cbiAgICAgICAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgICAgICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICAgICAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICAgICAgW2NsYXNzLndhcm5pbmddPVwic3RhdGUgPT09ICd3YXJuaW5nJ1wiXG4gICAgICAgICAgW2NsYXNzLmVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWxsb3dlZE9wZW4oKVwiXG4gICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cImVzY2FwZUNsb3NlKCRldmVudCwgcy5kaXNwbGF5Lm9wZW4pXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9ja2VkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJzLnNlbGVjdGlvbi5zZWxlY3RlZC5zaXplOyBlbHNlIHBsYWNlaG9sZGVyVmFsdWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICBjdXN0b21TZWxlY3RlZE9wdGlvbnNUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBlbHNlIHN0YW5kYXJkU2VsZWN0ZWRPcHRpb25zVGVtcGxhdGVcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVNlbGVjdGVkT3B0aW9uc1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGVkOiBzLnNlbGVjdGlvbi5zZWxlY3RlZCB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZFNlbGVjdGVkT3B0aW9uc1RlbXBsYXRlPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3tcbiAgICAgICAgICAgICAgICBzLmRpc3BsYXkuZm9ybWF0dGVkU2VsZWN0ZWRPcHRpb25zXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInMuZGlzcGxheS5waWxsQ291bnQgPiAxXCIgY2xhc3M9XCJzZWxlY3RlZC1jb3VudFwiPlxuICAgICAgICAgICAgICAgIHt7IHMuZGlzcGxheS5waWxsQ291bnQgfCByaXZOdW1iZXIgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVmFsdWU+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIHBsYWNlaG9sZGVyXCI+e3sgcy5kaXNwbGF5LnBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGV2cm9uXCI+XG4gICAgICAgICAgICA8cml2LWljb25cbiAgICAgICAgICAgICAgKm5nSWY9XCIhbG9ja2VkXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwicy5kaXNwbGF5Lm9wZW4gPyAnQ2hldnJvblVwJyA6ICdDaGV2cm9uRG93bidcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgICAgIDxyaXYtaWNvbiAqbmdJZj1cImxvY2tlZFwiIFtuYW1lXT1cIidMb2NrJ1wiIFtzaXplXT1cIjIwXCI+PC9yaXYtaWNvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9yaXYtaW5wdXQtbGFiZWw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzLmRpc3BsYXkub3BlblwiPlxuICAgICAgPHJpdi1jYWxsb3V0XG4gICAgICAgICpyaXYtb3ZlcmxheVxuICAgICAgICBbYW5jaG9yXT1cImdldFRyaWdnZXIoKVwiXG4gICAgICAgIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgICAgICAgW3Nob3dDYXJldF09XCJmYWxzZVwiXG4gICAgICAgIFthbGxvd2VkUG9zaXRpb25zXT1cImFsbG93ZWRDYWxsb3V0UG9zaXRpb25zXCJcbiAgICAgICAgW3ByZWZlcnJlZFBvc2l0aW9uXT1cInByZWZlcnJlZENhbGxvdXRQb3NpdGlvblwiXG4gICAgICAgIChjbG9zZSk9XCJtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ29wZW5DaGFuZ2UnLCBvcGVuOiBmYWxzZSB9KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9yaXYtY2FsbG91dD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFckMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUXhHLE1BQU0sT0FBTyxlQUNYLFNBQVEsbUJBQW1CO0lBUDdCOztRQWNFLFNBQUksR0FBeUIsUUFBUSxDQUFDO1FBR3RDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixzRUFBc0U7UUFFdEUsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUd0Qiw0QkFBdUIsR0FBd0M7WUFDN0QsR0FBRyxvQ0FBb0M7U0FDeEMsQ0FBQztRQUdGLDZCQUF3QixHQUFzQyxjQUFjLENBQUM7UUFnSHBFLHdCQUFtQixHQUMxQjtZQUNFO2dCQUNFLE9BQU8sRUFBRTtvQkFDUDt3QkFDRSxFQUFFLEVBQUUsT0FBTzt3QkFD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LHVCQUF1QixDQUFDLE1BQU07OEJBTy9DLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQU1OLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTixlQUFlO3NCQURkLFlBQVk7dUJBQUMsU0FBUztnQkFJdkIsNkJBQTZCO3NCQUQ1QixZQUFZO3VCQUFDLHVCQUF1QjtnQkFNckMsY0FBYztzQkFEYixZQUFZO3VCQUFDLFFBQVE7Z0JBUXRCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxhQUFhO2dCQUkzQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsUUFBUTtnQkFJdEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFFBQVE7Z0JBSXRCLG1CQUFtQjtzQkFEbEIsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBSWhDLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyx1QkFBdUI7O0FBcUlwQyxXQUFpQixlQUFlO0lBT2pCLHFCQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBVSxDQUFDO0FBRTdELENBQUMsRUFUZ0IsZUFBZSxLQUFmLGVBQWUsUUFTL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBza2lwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUml2U2VsZWN0IH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL292ZXJsYXkvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBkZWZhdWx0U2VsZWN0QWxsb3dlZENhbGxvdXRQb3NpdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9vdmVybGF5L2NhbGxvdXQvc2VsZWN0LWNhbGxvdXQtZGVmYXVsdHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb21wb25lbnQ8TyBleHRlbmRzIFJpdlNlbGVjdC5CYXNlT3B0aW9uPlxuICBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKVxuICBtYW5hZ2VyPzogUml2U2VsZWN0Lk1hbmFnZXI8Tz47XG5cbiAgQElucHV0KClcbiAgc2l6ZTogU2VsZWN0Q29tcG9uZW50LlNpemUgPSAnbWVkaXVtJztcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBTdHJldGNoZXMgYSBjdXN0b20gdHJpZ2dlciB0byBmaWxsIHRoZSB3aWR0aCBvZiB0aGlzIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KClcbiAgZ3JvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93ZWRDYWxsb3V0UG9zaXRpb25zOiBDYWxsb3V0Q29tcG9uZW50LkFuY2hvcmVkUG9zaXRpb25bXSA9IFtcbiAgICAuLi5kZWZhdWx0U2VsZWN0QWxsb3dlZENhbGxvdXRQb3NpdGlvbnMsXG4gIF07XG5cbiAgQElucHV0KClcbiAgcHJlZmVycmVkQ2FsbG91dFBvc2l0aW9uOiBDYWxsb3V0Q29tcG9uZW50LkFuY2hvcmVkUG9zaXRpb24gPSAnYm90dG9tLXJpZ2h0JztcblxuICBAQ29udGVudENoaWxkKCd0cmlnZ2VyJylcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBzdGF0ZTogUml2U2VsZWN0LkZ1bGxTdGF0ZTxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdjdXN0b21TZWxlY3RlZE9wdGlvbnMnKVxuICBjdXN0b21TZWxlY3RlZE9wdGlvbnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHtcbiAgICBzZWxlY3RlZDogUml2U2VsZWN0Lk9wdGlvblNldDxPPjtcbiAgfT47XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uJylcbiAgb3B0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7IG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+IH0+O1xuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBvbmx5IGFuIG9wdGlvbidzIHRpdGxlLCBrZWVwaW5nIHRoZSBzdGFuZGFyZCByb3cncyBjaGVja2JveCxcbiAgICogY291bnQsIGhlbHAsIGFuZCBleHBhbmQgY29udHJvbHMuIElnbm9yZWQgd2hlbiBgI29wdGlvbmAgaXMgc2V0LlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGl0bGUnKVxuICBvcHRpb25UaXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdoZWFkZXInKVxuICBoZWFkZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgc3RhdGU6IFJpdlNlbGVjdC5GdWxsU3RhdGU8Tz4gfT47XG5cbiAgQENvbnRlbnRDaGlsZCgnZm9vdGVyJylcbiAgZm9vdGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7IHN0YXRlOiBSaXZTZWxlY3QuRnVsbFN0YXRlPE8+IH0+O1xuXG4gIEBWaWV3Q2hpbGQoJ2N1c3RvbVRyaWdnZXJCdXR0b24nKVxuICBjdXN0b21UcmlnZ2VyQnV0dG9uPzogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdzdGFuZGFyZFRyaWdnZXJCdXR0b24nKVxuICBzdGFuZGFyZFRyaWdnZXJCdXR0b24/OiBFbGVtZW50UmVmO1xuXG4gIG9yZGVyQnlNYW5hZ2VyPzogUml2U2VsZWN0Lk1hbmFnZXI8U2VsZWN0Q29tcG9uZW50Lk9yZGVyQnlPcHRpb24+O1xuICBwcml2YXRlIG9yZGVyQnlTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcmRlckJ5TWFuYWdlciA9IFJpdlNlbGVjdC5jcmVhdGVJbk1lbW9yeU1hbmFnZXIoXG4gICAgICAoKSA9PiB0aGlzLm9yZGVyQnlPcHRpb25Hcm91cHMsXG4gICAgICB7XG4gICAgICAgIHNob3dTaW5nbGVTZWxlY3RlZDogdHJ1ZSxcbiAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgc2VsZWN0aW9uOiB7XG4gICAgICAgICAgICBzZWxlY3RlZDogbmV3IFJpdlNlbGVjdC5PcHRpb25TZXQoW1xuICAgICAgICAgICAgICB0aGlzLm9yZGVyQnlPcHRpb25Hcm91cHNbMF0ub3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgICAgICh7IGlkIH0pID0+IGlkID09PSAndGl0bGUnLFxuICAgICAgICAgICAgICApISxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLm9yZGVyQnlTdWJzY3JpcHRpb24gPSB0aGlzLm9yZGVyQnlNYW5hZ2VyLnN0YXRlXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHMgPT4gWy4uLnMuc2VsZWN0aW9uLnNlbGVjdGVkXVswXT8uaWQgPz8gbnVsbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyZW50KSA9PiBwcmV2ID09PSBjdXJyZW50KSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUob3JkZXIgPT4ge1xuICAgICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7XG4gICAgICAgICAgdHlwZTogJ29yZGVyQ2hhbmdlJyxcbiAgICAgICAgICBwYXlsb2FkOiBvcmRlcixcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub3JkZXJCeVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGdldFRyaWdnZXIoKTogRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmN1c3RvbVRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnQgPz9cbiAgICAgIHRoaXMuc3RhbmRhcmRUcmlnZ2VyQnV0dG9uPy5uYXRpdmVFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIGFsbG93ZWRPcGVuKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5sb2NrZWQpIHtcbiAgICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucy5uZXh0KHtcbiAgICAgICAgdHlwZTogJ29wZW5DaGFuZ2UnLFxuICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcHJldmVudERlZmF1bHQga2VlcHMgYSBzdXJyb3VuZGluZyBkaWFsb2cgZnJvbSBjbG9zaW5nIG9uIHRoZSBzYW1lIEVzY2FwZS5cbiAgZXNjYXBlQ2xvc2UoZXZlbnQ6IEV2ZW50LCBvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKG9wZW4gJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7IHR5cGU6ICdvcGVuQ2hhbmdlJywgb3BlbjogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2hhbmdlKG11bHRpOiBib29sZWFuLCBpZDogT1snaWQnXSkge1xuICAgIGlmIChtdWx0aSkge1xuICAgICAgdGhpcy5tYW5hZ2VyPy5hY3Rpb25zLm5leHQoe1xuICAgICAgICB0eXBlOiAndG9nZ2xlT3B0aW9uU2VsZWN0ZWQnLFxuICAgICAgICBpZCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7XG4gICAgICAgIHR5cGU6ICdzZXRTZWxlY3RlZE9wdGlvbicsXG4gICAgICAgIGlkLFxuICAgICAgfSk7XG4gICAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dCh7XG4gICAgICAgIHR5cGU6ICdvcGVuQ2hhbmdlJyxcbiAgICAgICAgb3BlbjogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZWFkb25seSBvcmRlckJ5T3B0aW9uR3JvdXBzOiBSaXZTZWxlY3QuT3B0aW9uR3JvdXA8U2VsZWN0Q29tcG9uZW50Lk9yZGVyQnlPcHRpb24+W10gPVxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAndGl0bGUnLFxuICAgICAgICAgICAgdGl0bGU6ICdBLVonLFxuICAgICAgICAgICAgaGVscDogJ1NvcnRzIHZhbHVlcyBpbiBhbHBoYW51bWVyaWMgb3JkZXIgKEEtWiwgMC05KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2NvdW50JyxcbiAgICAgICAgICAgIHRpdGxlOiAnVm9sdW1lJyxcbiAgICAgICAgICAgIGhlbHA6ICdTb3J0cyB2YWx1ZXMgYnkgY291bnQgKGhpZ2hlc3QgdG8gbG93ZXN0KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXTtcblxuICBnZXRTZWxlY3RlZE9yZGVyQnlPcHRpb24oXG4gICAgc3RhdGU6IFJpdlNlbGVjdC5GdWxsU3RhdGU8Tz4sXG4gICk6IFNlbGVjdENvbXBvbmVudC5PcmRlckJ5T3B0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMub3JkZXJCeU9wdGlvbkdyb3Vwc1swXS5vcHRpb25zLmZpbmQoXG4gICAgICAgICh7IGlkIH0pID0+IGlkID09PSBzdGF0ZS5xdWVyeS5vcmRlcixcbiAgICAgICkgPz8gbnVsbFxuICAgICk7XG4gIH1cblxuICBzZWFyY2hDaGFuZ2UgPSBkZWJvdW5jZSgocXVlcnk6IHN0cmluZykgPT4ge1xuICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7IHR5cGU6ICdzZWFyY2hDaGFuZ2UnLCBwYXlsb2FkOiBxdWVyeSB9KTtcbiAgfSwgNTAwKTtcblxuICAvLyB0cmFja0J5U3ltYm9sIGZvciBvdXIgb3B0aW9uIGdyb3VwcyB0aGF0IGRvbid0IGhhdmUgYSBnb29kIGlkZW50aXR5LlxuICAvLyB0aGlzIGxhemlseSBhdHRhY2hlcyBhIEphdmFzY3JpcHQgc3ltYm9sIHRvIGFueSB2YWx1ZSBhbmQgcmV0dXJucyBpdC5cbiAgLy8gU3ltYm9scyBhcmUgZ3VhcmFudGVlZCB1bmlxdWUgYW5kIHRoZXkgZG8gbm90IGV4aXN0IGluIEpTT04sIHNvIHRoZXlcbiAgLy8gZG8gbm90IGludGVyZmVyZSB3aXRoIGFueSB0eXBlcyBvciBzZXJpYWxpemF0aW9uIGZvciBBUEkgY2FsbHMuIFRoZVxuICAvLyBvbmx5IHB1cnBvc2UgdGhleSBzZXJ2ZSBpcyB0byB0ZWxsIG5nRm9yIHdoaWNoIG9iamVjdHMgYXJlIHN0aWxsIGluXG4gIC8vIHRoZSBhcnJheS4gTm90ZTogdGhpcyBpcyBvbmx5IHNhZmUgb24gYW4gYXJyYXkgb2Ygb2JqZWN0cy5cbiAgdHJhY2tCeVN5bWJvbChfOiBudW1iZXIsIHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIXZhbHVlLl90cmFja2luZ1N5bWJvbCkge1xuICAgICAgdmFsdWUuX3RyYWNraW5nU3ltYm9sID0gU3ltYm9sKCk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS5fdHJhY2tpbmdTeW1ib2w7XG4gIH1cblxuICB0cmFja0J5T3B0aW9uKF86IG51bWJlciwgb3B0aW9uOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPik6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlbGVjdENvbXBvbmVudCB7XG4gIGV4cG9ydCB0eXBlIE9yZGVyQnlPcHRpb24gPSB7XG4gICAgaWQ6IFJpdlNlbGVjdC5PcmRlckJ5O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVscDogc3RyaW5nO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBTaXplcyA9IFsnc21hbGwnLCAnbWVkaXVtJywgJ2xhcmdlJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFNpemUgPSAodHlwZW9mIFNpemVzKVtudW1iZXJdO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1hbmFnZXI/LnN0YXRlIHwgYXN5bmM7IGxldCBzXCI+XG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8cml2LWxvYWRpbmctY292ZXIgW2xvYWRpbmddPVwicy5sb2FkLmxvYWRpbmdcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJjb250ZW50LWJvZHlcIlxuICAgICAgICBbY2xhc3MuaW5saW5lXT1cInMuZGlzcGxheS5pbmxpbmVcIlxuICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiZXNjYXBlQ2xvc2UoJGV2ZW50LCBzLmRpc3BsYXkub3BlbilcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJ21heC1oZWlnaHQnOiBzLmRpc3BsYXkubWF4SGVpZ2h0LFxuICAgICAgICAgICdtYXgtd2lkdGgnOiBzLmRpc3BsYXkubWF4V2lkdGgsXG4gICAgICAgICAgJ21pbi1oZWlnaHQnOiBzLmRpc3BsYXkubWluSGVpZ2h0LFxuICAgICAgICAgICdtaW4td2lkdGgnOiBzLmRpc3BsYXkubWluV2lkdGhcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxoZWFkZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHsgc3RhdGU6IHMgfVwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2hlYWRlcj5cbiAgICAgICAgPHJpdi1zZWFyY2hcbiAgICAgICAgICAqbmdJZj1cInMucXVlcnkuc2hvd1NlYXJjaFwiXG4gICAgICAgICAgW3ZhbHVlXT1cInMucXVlcnkuc2VhcmNoXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicy5xdWVyeS5zZWFyY2hQbGFjZWhvbGRlclwiXG4gICAgICAgICAgW2F1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2VhcmNoQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9yaXYtc2VhcmNoPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicy5xdWVyeS5zaG93T3JkZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9yZGVyLWJ5XCI+U29ydCBieTo8L3NwYW4+XG4gICAgICAgICAgPHJpdi1zZWxlY3QgW21hbmFnZXJdPVwib3JkZXJCeU1hbmFnZXJcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdHJpZ2dlciBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIHJpdkJ1dHRvblxuICAgICAgICAgICAgICAgIFt2YXJpYW50XT1cIidnaG9zdCdcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cInN0YXRlLmRpc3BsYXkub3BlbiA/ICdDaGV2cm9uVXAnIDogJ0NoZXZyb25Eb3duJ1wiXG4gICAgICAgICAgICAgICAgW2ljb25Qb3NpdGlvbl09XCInbGFzdCdcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0U2VsZWN0ZWRPcmRlckJ5T3B0aW9uKHMpPy50aXRsZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvcml2LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgICAgICAgPHJpdi1zZWxlY3Qtbm9kZVxuICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgcy5zZWxlY3Rpb24uYWxsb3dNdWx0aVNlbGVjdCAmJlxuICAgICAgICAgICAgICBzLnNlbGVjdGlvbi5hbGxvd1NlbGVjdEFsbCAmJlxuICAgICAgICAgICAgICAhcy5kaXNwbGF5Lnplcm9TdGF0ZU1lc3NhZ2VcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbbW9kZV09XCInbXVsdGknXCJcbiAgICAgICAgICAgIFtub2RlXT1cIntcbiAgICAgICAgICAgICAgaWQ6ICdfX05PT1BfXycsXG4gICAgICAgICAgICAgIHRpdGxlOiBzLnF1ZXJ5LnNlYXJjaCA/ICdTZWxlY3QgYWxsIG1hdGNoaW5nJyA6ICdTZWxlY3QgYWxsJyxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHMuc2VsZWN0aW9uLnZpc2libGVTZWxlY3Rpb25TdGF0ZSxcbiAgICAgICAgICAgICAgc2VsZWN0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgZXhwYW5kYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgIGV4cGFuZGVkOiBmYWxzZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAoc2VsZWN0Q2hhbmdlKT1cIlxuICAgICAgICAgICAgICBtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ3Zpc2libGVTZWxlY3RlZENoYW5nZScgfSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvcml2LXNlbGVjdC1ub2RlPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBzLmZ1bGxPcHRpb25Hcm91cHM7IHRyYWNrQnk6IHRyYWNrQnlTeW1ib2xcIlxuICAgICAgICAgICAgY2xhc3M9XCJncm91cFwiXG4gICAgICAgICAgICBbY2xhc3MuZGl2aWRlcl09XCJzLmRpc3BsYXkuZGl2aWRlcnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZ3JvdXAuaGVhZGVyOyBsZXQgaGVhZGVyXCIgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgICAgICAgIDxyaXYtaGVscFxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JvdXAuaGVscDsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgICAgIFtoZWxwXT1cImhlbHBcIlxuICAgICAgICAgICAgICAgIFtzaXplXT1cIjEyXCJcbiAgICAgICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZ3JvdXAub3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeU9wdGlvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZTsgZWxzZSBzdGFuZGFyZFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbm9kZTogb3B0aW9uIH1cIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhbmRhcmRUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8cml2LXNlbGVjdC1ub2RlXG4gICAgICAgICAgICAgICAgICBbbW9kZV09XCJzLnNlbGVjdGlvbi5hbGxvd011bHRpU2VsZWN0ID8gJ211bHRpJyA6ICdzaW5nbGUnXCJcbiAgICAgICAgICAgICAgICAgIFtub2RlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgICBbc2hvd1NpbmdsZVNlbGVjdGVkXT1cInMuZGlzcGxheS5zaG93U2luZ2xlU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgW3RpdGxlVGVtcGxhdGVdPVwib3B0aW9uVGl0bGVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAoc2VsZWN0Q2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RDaGFuZ2Uocy5zZWxlY3Rpb24uYWxsb3dNdWx0aVNlbGVjdCwgJGV2ZW50KVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIChleHBhbmRDaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICd0b2dnbGVPcHRpb25FeHBhbmRlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICRldmVudFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9yaXYtc2VsZWN0LW5vZGU+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nSWY9XCJzLmRpc3BsYXkuZGlzcGxheUxpbWl0TWVzc2FnZTsgbGV0IG1lc3NhZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJkaXNwbGF5LWxpbWl0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBtZXNzYWdlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxyaXYtemVyby1zdGF0ZVxuICAgICAgICAgICAgKm5nSWY9XCJzLmRpc3BsYXkuemVyb1N0YXRlTWVzc2FnZTsgbGV0IG1lc3NhZ2VcIlxuICAgICAgICAgICAgW21lc3NhZ2VdPVwibWVzc2FnZVwiXG4gICAgICAgICAgPjwvcml2LXplcm8tc3RhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Zm9vdGVyICpuZ0lmPVwiZm9vdGVyVGVtcGxhdGVcIiBjbGFzcz1cImN1c3RvbS1mb290ZXJcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlOyBjb250ZXh0OiB7IHN0YXRlOiBzIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mb290ZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L3Jpdi1sb2FkaW5nLWNvdmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcy5kaXNwbGF5LmlubGluZTsgZWxzZSBjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyaWdnZXJUZW1wbGF0ZTsgZWxzZSBzdGFuZGFyZFRyaWdnZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgI2N1c3RvbVRyaWdnZXJCdXR0b25cbiAgICAgICAgKGNsaWNrKT1cImFsbG93ZWRPcGVuKClcIlxuICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiZXNjYXBlQ2xvc2UoJGV2ZW50LCBzLmRpc3BsYXkub3BlbilcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9ja2VkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2NrZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY3VzdG9tLXRyaWdnZXItYnV0dG9uXCJcbiAgICAgICAgW2NsYXNzLmdyb3ddPVwiZ3Jvd1wiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmlnZ2VyVGVtcGxhdGVcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHN0YXRlOiBzIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3N0YW5kYXJkVHJpZ2dlcj5cbiAgICAgIDxyaXYtaW5wdXQtbGFiZWxcbiAgICAgICAgW2xhYmVsXT1cImxhYmVsXCJcbiAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbiAgICAgICAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAgICAgICAobGFiZWxBY3Rpb24pPVwibGFiZWxBY3Rpb24uZW1pdCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICNzdGFuZGFyZFRyaWdnZXJCdXR0b25cbiAgICAgICAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgICAgICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICAgICAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICAgICAgW2NsYXNzLndhcm5pbmddPVwic3RhdGUgPT09ICd3YXJuaW5nJ1wiXG4gICAgICAgICAgW2NsYXNzLmVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICAgICAgICAoY2xpY2spPVwiYWxsb3dlZE9wZW4oKVwiXG4gICAgICAgICAgKGtleWRvd24uZXNjYXBlKT1cImVzY2FwZUNsb3NlKCRldmVudCwgcy5kaXNwbGF5Lm9wZW4pXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbG9ja2VkXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJzLnNlbGVjdGlvbi5zZWxlY3RlZC5zaXplOyBlbHNlIHBsYWNlaG9sZGVyVmFsdWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICBjdXN0b21TZWxlY3RlZE9wdGlvbnNUZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBlbHNlIHN0YW5kYXJkU2VsZWN0ZWRPcHRpb25zVGVtcGxhdGVcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVNlbGVjdGVkT3B0aW9uc1RlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGVkOiBzLnNlbGVjdGlvbi5zZWxlY3RlZCB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZFNlbGVjdGVkT3B0aW9uc1RlbXBsYXRlPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3tcbiAgICAgICAgICAgICAgICBzLmRpc3BsYXkuZm9ybWF0dGVkU2VsZWN0ZWRPcHRpb25zXG4gICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInMuZGlzcGxheS5waWxsQ291bnQgPiAxXCIgY2xhc3M9XCJzZWxlY3RlZC1jb3VudFwiPlxuICAgICAgICAgICAgICAgIHt7IHMuZGlzcGxheS5waWxsQ291bnQgfCByaXZOdW1iZXIgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVmFsdWU+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIHBsYWNlaG9sZGVyXCI+e3sgcy5kaXNwbGF5LnBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGV2cm9uXCI+XG4gICAgICAgICAgICA8cml2LWljb25cbiAgICAgICAgICAgICAgKm5nSWY9XCIhbG9ja2VkXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwicy5kaXNwbGF5Lm9wZW4gPyAnQ2hldnJvblVwJyA6ICdDaGV2cm9uRG93bidcIlxuICAgICAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgICAgIDxyaXYtaWNvbiAqbmdJZj1cImxvY2tlZFwiIFtuYW1lXT1cIidMb2NrJ1wiIFtzaXplXT1cIjIwXCI+PC9yaXYtaWNvbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9yaXYtaW5wdXQtbGFiZWw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzLmRpc3BsYXkub3BlblwiPlxuICAgICAgPHJpdi1jYWxsb3V0XG4gICAgICAgICpyaXYtb3ZlcmxheVxuICAgICAgICBbYW5jaG9yXT1cImdldFRyaWdnZXIoKVwiXG4gICAgICAgIFt0aGVtZV09XCInbGlnaHQnXCJcbiAgICAgICAgW3Nob3dDYXJldF09XCJmYWxzZVwiXG4gICAgICAgIFthbGxvd2VkUG9zaXRpb25zXT1cImFsbG93ZWRDYWxsb3V0UG9zaXRpb25zXCJcbiAgICAgICAgW3ByZWZlcnJlZFBvc2l0aW9uXT1cInByZWZlcnJlZENhbGxvdXRQb3NpdGlvblwiXG4gICAgICAgIChjbG9zZSk9XCJtYW5hZ2VyPy5hY3Rpb25zPy5uZXh0KHsgdHlwZTogJ29wZW5DaGFuZ2UnLCBvcGVuOiBmYWxzZSB9KVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9yaXYtY2FsbG91dD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -35,10 +35,10 @@ export class SelectNodeComponent {
35
35
  getCount(node) {
36
36
  return node.count;
37
37
  }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectNodeComponent, selector: "riv-select-node", inputs: { mode: "mode", node: "node", showSingleSelected: "showSingleSelected", titleTemplate: "titleTemplate" }, outputs: { selectChange: "selectChange", expandChange: "expandChange" }, ngImport: i0, template: "<ng-template #title let-n=\"node\">\n <riv-highlight\n class=\"title\"\n [text]=\"n.title\"\n [indices]=\"n.titleHighlightIndices ?? []\"\n ></riv-highlight>\n <span *ngIf=\"n.subtitle\">&nbsp;</span>\n <riv-highlight\n *ngIf=\"n.subtitle\"\n class=\"subtitle\"\n [text]=\"n.subtitle\"\n [indices]=\"n.subtitleHighlightIndices ?? []\"\n ></riv-highlight>\n</ng-template>\n\n<ng-container *ngIf=\"node; let n\">\n <ng-container *ngIf=\"mode === 'multi'\">\n <div\n #row\n class=\"row\"\n [rivTooltip]=\"\n getDisabled(n) && !getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n >\n <label rivTruncate [class.disabled]=\"getDisabled(n)\">\n <riv-checkbox\n *ngIf=\"n.selectable\"\n [value]=\"n.selected === true\"\n [indeterminate]=\"n.selected === 'indeterminate'\"\n [disabled]=\"getDisabled(n)\"\n (valueChange)=\"selectChange.emit(getId(n))\"\n >\n </riv-checkbox>\n <span\n rivTruncate\n class=\"name\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n >\n <ng-container\n *ngTemplateOutlet=\"titleTemplate ?? title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span\n class=\"spacer\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n ></span>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </label>\n <button\n type=\"button\"\n *ngIf=\"n.children?.length\"\n class=\"expand\"\n [disabled]=\"!n.expandable\"\n [attr.aria-disabled]=\"!n.expandable ? 'true' : null\"\n (click)=\"expandChange.emit(getId(n))\"\n >\n <riv-icon\n [size]=\"20\"\n [name]=\"n.expanded ? 'ChevronUp' : 'ChevronDown'\"\n ></riv-icon>\n </button>\n </div>\n <div *ngIf=\"n.expanded\" class=\"children\">\n <riv-select-node\n *ngFor=\"let child of n.children\"\n [mode]=\"mode\"\n [node]=\"child\"\n [showSingleSelected]=\"showSingleSelected\"\n [titleTemplate]=\"titleTemplate\"\n (selectChange)=\"selectChange.emit($event)\"\n (expandChange)=\"expandChange.emit($event)\"\n ></riv-select-node>\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'single'\">\n <div\n #row\n class=\"row\"\n [rivTooltip]=\"\n getDisabled(n) && !getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n >\n <button\n type=\"button\"\n class=\"single\"\n [disabled]=\"getDisabled(n)\"\n [attr.aria-disabled]=\"getDisabled(n) ? 'true' : null\"\n (click)=\"selectChange.emit(getId(n))\"\n >\n <span\n class=\"label\"\n rivTruncate\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n >\n <ng-container\n *ngTemplateOutlet=\"titleTemplate ?? title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span\n class=\"spacer\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n ></span>\n <riv-icon\n *ngIf=\"showSingleSelected && n.selected\"\n [name]=\"'Check'\"\n [size]=\"16\"\n ></riv-icon>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </button>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".row{display:flex;align-items:center}.row label{flex-grow:1;border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:center;gap:var(--size-small)}.row label:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}.spacer{flex-grow:1;min-width:1px;align-self:stretch}.subtitle,.count{color:var(--type-light-low-contrast)}.expand{cursor:pointer;color:var(--purp-80);display:inline-flex;transition:background-color var(--medium-transition);border-radius:var(--border-radius-small);padding:var(--size-xsmall)}.expand:hover{background-color:var(--black-20)}.expand:active{background-color:var(--black-40)}.expand:disabled{color:var(--type-light-disabled)}.expand:disabled:hover{background-color:transparent}.children{padding-left:var(--size-large)}.single{border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:baseline;gap:var(--size-small);text-align:left;width:100%}.single:hover:not(:disabled){cursor:pointer;background-color:var(--surface-light-2)}.single:active:not(:disabled){cursor:pointer;background-color:var(--surface-light-3)}.disabled .title,:disabled .title,.disabled .subtitle,:disabled .subtitle,.disabled .count,:disabled .count{color:var(--type-light-disabled)}riv-help{align-self:center;color:var(--type-light-low-contrast)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CheckboxComponent, selector: "riv-checkbox", inputs: ["name", "identifier", "value", "checkedColorToken", "indeterminateColorToken", "checkboxTooltip", "indeterminate", "disabled", "required", "state", "errorMessage", "ariaLabel"], outputs: ["valueChange"] }, { kind: "component", type: i3.HelpComponent, selector: "riv-help", inputs: ["help", "size"] }, { kind: "component", type: i4.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: SelectNodeComponent, selector: "riv-select-node", inputs: ["mode", "node", "showSingleSelected", "titleTemplate"], outputs: ["selectChange", "expandChange"] }, { kind: "directive", type: i6.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipAnchor", "rivTooltipCloseDelay", "rivTooltipOpenDelay", "rivTooltipGracePeriod"] }, { kind: "component", type: i7.TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "pipe", type: i8.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
40
  }
39
- SelectNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- SelectNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SelectNodeComponent, selector: "riv-select-node", inputs: { mode: "mode", node: "node", showSingleSelected: "showSingleSelected", titleTemplate: "titleTemplate" }, outputs: { selectChange: "selectChange", expandChange: "expandChange" }, ngImport: i0, template: "<ng-template #title let-n=\"node\">\n <riv-highlight\n class=\"title\"\n [text]=\"n.title\"\n [indices]=\"n.titleHighlightIndices ?? []\"\n ></riv-highlight>\n <span *ngIf=\"n.subtitle\">&nbsp;</span>\n <riv-highlight\n *ngIf=\"n.subtitle\"\n class=\"subtitle\"\n [text]=\"n.subtitle\"\n [indices]=\"n.subtitleHighlightIndices ?? []\"\n ></riv-highlight>\n</ng-template>\n\n<ng-container *ngIf=\"node; let n\">\n <ng-container *ngIf=\"mode === 'multi'\">\n <div\n #row\n class=\"row\"\n [rivTooltip]=\"\n getDisabled(n) && !getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n >\n <label rivTruncate [class.disabled]=\"getDisabled(n)\">\n <riv-checkbox\n *ngIf=\"n.selectable\"\n [value]=\"n.selected === true\"\n [indeterminate]=\"n.selected === 'indeterminate'\"\n [disabled]=\"getDisabled(n)\"\n (valueChange)=\"selectChange.emit(getId(n))\"\n >\n </riv-checkbox>\n <span\n rivTruncate\n class=\"name\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n >\n <ng-container\n *ngTemplateOutlet=\"titleTemplate ?? title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span\n class=\"spacer\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n ></span>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </label>\n <button\n type=\"button\"\n *ngIf=\"n.children?.length\"\n class=\"expand\"\n [disabled]=\"!n.expandable\"\n [attr.aria-disabled]=\"!n.expandable ? 'true' : null\"\n (click)=\"expandChange.emit(getId(n))\"\n >\n <riv-icon\n [size]=\"20\"\n [name]=\"n.expanded ? 'ChevronUp' : 'ChevronDown'\"\n ></riv-icon>\n </button>\n </div>\n <div *ngIf=\"n.expanded\" class=\"children\">\n <riv-select-node\n *ngFor=\"let child of n.children\"\n [mode]=\"mode\"\n [node]=\"child\"\n [showSingleSelected]=\"showSingleSelected\"\n [titleTemplate]=\"titleTemplate\"\n (selectChange)=\"selectChange.emit($event)\"\n (expandChange)=\"expandChange.emit($event)\"\n ></riv-select-node>\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'single'\">\n <div\n #row\n class=\"row\"\n [rivTooltip]=\"\n getDisabled(n) && !getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n >\n <button\n type=\"button\"\n class=\"single\"\n [disabled]=\"getDisabled(n)\"\n [attr.aria-disabled]=\"getDisabled(n) ? 'true' : null\"\n (click)=\"selectChange.emit(getId(n))\"\n >\n <span\n class=\"label\"\n rivTruncate\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n >\n <ng-container\n *ngTemplateOutlet=\"titleTemplate ?? title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span\n class=\"spacer\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n ></span>\n <riv-icon\n *ngIf=\"showSingleSelected && n.selected\"\n [name]=\"'Check'\"\n [size]=\"16\"\n ></riv-icon>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </button>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".row{display:flex;align-items:center}.row label{flex-grow:1;border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:center;gap:var(--size-small)}.row label:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}.spacer{flex-grow:1;min-width:1px;align-self:stretch}.subtitle,.count{color:var(--type-light-low-contrast)}.expand{cursor:pointer;color:var(--purp-80);display:inline-flex;transition:background-color var(--medium-transition);border-radius:var(--border-radius-small);padding:var(--size-xsmall)}.expand:hover{background-color:var(--black-20)}.expand:active{background-color:var(--black-40)}.expand:disabled{color:var(--type-light-disabled)}.expand:disabled:hover{background-color:transparent}.children{padding-left:var(--size-large)}.single{border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:baseline;gap:var(--size-small);text-align:left;width:100%}.single:hover:not(:disabled){cursor:pointer;background-color:var(--surface-light-2)}.single:active:not(:disabled){cursor:pointer;background-color:var(--surface-light-3)}.disabled .title,:disabled .title,.disabled .subtitle,:disabled .subtitle,.disabled .count,:disabled .count{color:var(--type-light-disabled)}riv-help{align-self:center;color:var(--type-light-low-contrast)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CheckboxComponent, selector: "riv-checkbox", inputs: ["name", "identifier", "value", "checkedColorToken", "indeterminateColorToken", "checkboxTooltip", "indeterminate", "disabled", "required", "state", "errorMessage", "ariaLabel"], outputs: ["valueChange"] }, { kind: "component", type: i3.HelpComponent, selector: "riv-help", inputs: ["help", "size"] }, { kind: "component", type: i4.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: SelectNodeComponent, selector: "riv-select-node", inputs: ["mode", "node", "showSingleSelected", "titleTemplate"], outputs: ["selectChange", "expandChange"] }, { kind: "directive", type: i6.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipAnchor", "rivTooltipCloseDelay", "rivTooltipOpenDelay", "rivTooltipGracePeriod"] }, { kind: "component", type: i7.TruncateComponent, selector: "[rivTruncate]", inputs: ["maxTooltipWidth"] }, { kind: "pipe", type: i8.NumberPipe, name: "rivNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectNodeComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectNodeComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'riv-select-node', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #title let-n=\"node\">\n <riv-highlight\n class=\"title\"\n [text]=\"n.title\"\n [indices]=\"n.titleHighlightIndices ?? []\"\n ></riv-highlight>\n <span *ngIf=\"n.subtitle\">&nbsp;</span>\n <riv-highlight\n *ngIf=\"n.subtitle\"\n class=\"subtitle\"\n [text]=\"n.subtitle\"\n [indices]=\"n.subtitleHighlightIndices ?? []\"\n ></riv-highlight>\n</ng-template>\n\n<ng-container *ngIf=\"node; let n\">\n <ng-container *ngIf=\"mode === 'multi'\">\n <div\n #row\n class=\"row\"\n [rivTooltip]=\"\n getDisabled(n) && !getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n >\n <label rivTruncate [class.disabled]=\"getDisabled(n)\">\n <riv-checkbox\n *ngIf=\"n.selectable\"\n [value]=\"n.selected === true\"\n [indeterminate]=\"n.selected === 'indeterminate'\"\n [disabled]=\"getDisabled(n)\"\n (valueChange)=\"selectChange.emit(getId(n))\"\n >\n </riv-checkbox>\n <span\n rivTruncate\n class=\"name\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n >\n <ng-container\n *ngTemplateOutlet=\"titleTemplate ?? title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span\n class=\"spacer\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n ></span>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </label>\n <button\n type=\"button\"\n *ngIf=\"n.children?.length\"\n class=\"expand\"\n [disabled]=\"!n.expandable\"\n [attr.aria-disabled]=\"!n.expandable ? 'true' : null\"\n (click)=\"expandChange.emit(getId(n))\"\n >\n <riv-icon\n [size]=\"20\"\n [name]=\"n.expanded ? 'ChevronUp' : 'ChevronDown'\"\n ></riv-icon>\n </button>\n </div>\n <div *ngIf=\"n.expanded\" class=\"children\">\n <riv-select-node\n *ngFor=\"let child of n.children\"\n [mode]=\"mode\"\n [node]=\"child\"\n [showSingleSelected]=\"showSingleSelected\"\n [titleTemplate]=\"titleTemplate\"\n (selectChange)=\"selectChange.emit($event)\"\n (expandChange)=\"expandChange.emit($event)\"\n ></riv-select-node>\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'single'\">\n <div\n #row\n class=\"row\"\n [rivTooltip]=\"\n getDisabled(n) && !getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n >\n <button\n type=\"button\"\n class=\"single\"\n [disabled]=\"getDisabled(n)\"\n [attr.aria-disabled]=\"getDisabled(n) ? 'true' : null\"\n (click)=\"selectChange.emit(getId(n))\"\n >\n <span\n class=\"label\"\n rivTruncate\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n >\n <ng-container\n *ngTemplateOutlet=\"titleTemplate ?? title; context: { node: n }\"\n ></ng-container>\n </span>\n <span class=\"help\">\n <riv-help\n *ngIf=\"getHelp(n); let help\"\n [help]=\"help\"\n [size]=\"12\"\n ></riv-help>\n </span>\n <span\n class=\"spacer\"\n [rivTooltip]=\"\n getDisabled(n) && getHelp(n) ? getDisabledExplanation(n) : undefined\n \"\n [rivTooltipAnchor]=\"row\"\n ></span>\n <riv-icon\n *ngIf=\"showSingleSelected && n.selected\"\n [name]=\"'Check'\"\n [size]=\"16\"\n ></riv-icon>\n <span *ngIf=\"includeCount()\" class=\"count\">\n {{ getCount(n) | rivNumber }}\n </span>\n </button>\n </div>\n </ng-container>\n</ng-container>\n", styles: [".row{display:flex;align-items:center}.row label{flex-grow:1;border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:center;gap:var(--size-small)}.row label:hover:not(.disabled){cursor:pointer;background-color:var(--surface-light-2)}.spacer{flex-grow:1;min-width:1px;align-self:stretch}.subtitle,.count{color:var(--type-light-low-contrast)}.expand{cursor:pointer;color:var(--purp-80);display:inline-flex;transition:background-color var(--medium-transition);border-radius:var(--border-radius-small);padding:var(--size-xsmall)}.expand:hover{background-color:var(--black-20)}.expand:active{background-color:var(--black-40)}.expand:disabled{color:var(--type-light-disabled)}.expand:disabled:hover{background-color:transparent}.children{padding-left:var(--size-large)}.single{border-radius:var(--border-radius-medium);padding:var(--size-small) var(--size-xsmall);font:var(--input-medium);display:flex;align-items:baseline;gap:var(--size-small);text-align:left;width:100%}.single:hover:not(:disabled){cursor:pointer;background-color:var(--surface-light-2)}.single:active:not(:disabled){cursor:pointer;background-color:var(--surface-light-3)}.disabled .title,:disabled .title,.disabled .subtitle,:disabled .subtitle,.disabled .count,:disabled .count{color:var(--type-light-disabled)}riv-help{align-self:center;color:var(--type-light-low-contrast)}\n"] }]
44
44
  }], propDecorators: { mode: [{
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
57
57
  (function (SelectNodeComponent) {
58
58
  SelectNodeComponent.modes = ['single', 'multi'];
59
59
  })(SelectNodeComponent || (SelectNodeComponent = {}));
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2VsZWN0L3NlbGVjdC1ub2RlL3NlbGVjdC1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qtbm9kZS9zZWxlY3Qtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztBQVN2QixNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBeUJFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUczQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0EyQjVDO0lBekJDLFlBQVk7UUFDVixPQUFPLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0Usd0VBQXdFO0lBQ3hFLG9EQUFvRDtJQUNwRCxtR0FBbUc7SUFDbkcsS0FBSyxDQUFDLElBQTZCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQTZCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUE2QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELHNCQUFzQixDQUNwQixJQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQTZCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztpSEFoRFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsa1BDaEJoQyx3d0lBOElBLHM4RUQ5SGEsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQVNOLGFBQWE7c0JBRFosS0FBSztnQkFJTixZQUFZO3NCQURYLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxNQUFNOztBQThCVCxXQUFpQixtQkFBbUI7SUFDckIseUJBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQVUsQ0FBQztBQUVwRCxDQUFDLEVBSGdCLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdlNlbGVjdCB9IGZyb20gJy4uL3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNlbGVjdC1ub2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW5vZGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Tm9kZUNvbXBvbmVudDxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+IHtcbiAgQElucHV0KClcbiAgbW9kZT86IFNlbGVjdE5vZGVDb21wb25lbnQuTW9kZTtcblxuICBASW5wdXQoKVxuICBub2RlPzogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz47XG5cbiAgQElucHV0KClcbiAgc2hvd1NpbmdsZVNlbGVjdGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVuZGVycyBpbiBwbGFjZSBvZiB0aGUgZGVmYXVsdCB0aXRsZS4gVGhlIGRlZmF1bHQgaGlnaGxpZ2h0cyBzZWFyY2hcbiAgICogbWF0Y2hlczsgYSBjdXN0b20gdGl0bGUgY2FuIHVzZSB0aGUgbm9kZSdzIGB0aXRsZUhpZ2hsaWdodEluZGljZXNgIHRvIGRvXG4gICAqIHRoZSBzYW1lLlxuICAgKi9cbiAgQElucHV0KClcbiAgdGl0bGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgbm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4gfT47XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T1snaWQnXT4oKTtcblxuICBAT3V0cHV0KClcbiAgZXhwYW5kQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPWydpZCddPigpO1xuXG4gIGluY2x1ZGVDb3VudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubm9kZT8uY291bnQgPT09ICdudW1iZXInO1xuICB9XG5cbiAgLy8gVE9ETzogdGhlc2UgdHdvIGZ1bmN0aW9ucyBjYW4gcHJvYmFibHkgZ28gYXdheSBvbmNlIHdlIHVwZ3JhZGUgQW5ndWxhciBhbmRcbiAgLy8gZ2V0IGJldHRlciB0eXBlIHNhZmV0eSBpbiB0ZW1wbGF0ZSBjb2RlLiAoQW5ndWxhciBjaGFuZ2VzIHRoZSB0eXBlIG9mXG4gIC8vIHRoaXMubm9kZSBmcm9tIEZ1bGxPcHRpb248Tz4gdG8gRnVsbE9wdGlvbjxhbnk+LilcbiAgLy8gaHR0cHM6Ly93d3cubm90aW9uLnNvL3JpdmV0L1Jlc29sdmUtVE9ET3MtYWZ0ZXItQW5ndWxhci11cGdyYWRlLTFmMjY2N2ViMmEzMTgwYjc5ZjZhZDkyYTdlNTc2ZjA4XG4gIGdldElkKG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+KTogT1snaWQnXSB7XG4gICAgcmV0dXJuIG5vZGUuaWQ7XG4gIH1cbiAgZ2V0RGlzYWJsZWQobm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFub2RlLmRpc2FibGVkO1xuICB9XG4gIGdldEhlbHAobm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4pOiBPWydoZWxwJ10ge1xuICAgIHJldHVybiBub2RlLmhlbHA7XG4gIH1cbiAgZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihcbiAgICBub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPixcbiAgKTogT1snZGlzYWJsZWRFeHBsYW5hdGlvbiddIHtcbiAgICByZXR1cm4gbm9kZS5kaXNhYmxlZEV4cGxhbmF0aW9uO1xuICB9XG4gIGdldENvdW50KG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+KTogT1snY291bnQnXSB7XG4gICAgcmV0dXJuIG5vZGUuY291bnQ7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWxlY3ROb2RlQ29tcG9uZW50IHtcbiAgZXhwb3J0IGNvbnN0IG1vZGVzID0gWydzaW5nbGUnLCAnbXVsdGknXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgTW9kZSA9ICh0eXBlb2YgbW9kZXMpW251bWJlcl07XG59XG4iLCI8bmctdGVtcGxhdGUgI3RpdGxlIGxldC1uPVwibm9kZVwiPlxuICA8cml2LWhpZ2hsaWdodFxuICAgIGNsYXNzPVwidGl0bGVcIlxuICAgIFt0ZXh0XT1cIm4udGl0bGVcIlxuICAgIFtpbmRpY2VzXT1cIm4udGl0bGVIaWdobGlnaHRJbmRpY2VzID8/IFtdXCJcbiAgPjwvcml2LWhpZ2hsaWdodD5cbiAgPHNwYW4gKm5nSWY9XCJuLnN1YnRpdGxlXCI+Jm5ic3A7PC9zcGFuPlxuICA8cml2LWhpZ2hsaWdodFxuICAgICpuZ0lmPVwibi5zdWJ0aXRsZVwiXG4gICAgY2xhc3M9XCJzdWJ0aXRsZVwiXG4gICAgW3RleHRdPVwibi5zdWJ0aXRsZVwiXG4gICAgW2luZGljZXNdPVwibi5zdWJ0aXRsZUhpZ2hsaWdodEluZGljZXMgPz8gW11cIlxuICA+PC9yaXYtaGlnaGxpZ2h0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGU7IGxldCBuXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnbXVsdGknXCI+XG4gICAgPGRpdlxuICAgICAgI3Jvd1xuICAgICAgY2xhc3M9XCJyb3dcIlxuICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgIGdldERpc2FibGVkKG4pICYmICFnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8bGFiZWwgcml2VHJ1bmNhdGUgW2NsYXNzLmRpc2FibGVkXT1cImdldERpc2FibGVkKG4pXCI+XG4gICAgICAgIDxyaXYtY2hlY2tib3hcbiAgICAgICAgICAqbmdJZj1cIm4uc2VsZWN0YWJsZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cIm4uc2VsZWN0ZWQgPT09IHRydWVcIlxuICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cIm4uc2VsZWN0ZWQgPT09ICdpbmRldGVybWluYXRlJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImdldERpc2FibGVkKG4pXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2VsZWN0Q2hhbmdlLmVtaXQoZ2V0SWQobikpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3Jpdi1jaGVja2JveD5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICByaXZUcnVuY2F0ZVxuICAgICAgICAgIGNsYXNzPVwibmFtZVwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZSA/PyB0aXRsZTsgY29udGV4dDogeyBub2RlOiBuIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhlbHBcIj5cbiAgICAgICAgICA8cml2LWhlbHBcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0SGVscChuKTsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgICAgICBbc2l6ZV09XCIxMlwiXG4gICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNwYWNlclwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmNsdWRlQ291bnQoKVwiIGNsYXNzPVwiY291bnRcIj5cbiAgICAgICAgICB7eyBnZXRDb3VudChuKSB8IHJpdk51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJuLmNoaWxkcmVuPy5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cImV4cGFuZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhbi5leHBhbmRhYmxlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCIhbi5leHBhbmRhYmxlID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgIChjbGljayk9XCJleHBhbmRDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8cml2LWljb25cbiAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgW25hbWVdPVwibi5leHBhbmRlZCA/ICdDaGV2cm9uVXAnIDogJ0NoZXZyb25Eb3duJ1wiXG4gICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm4uZXhwYW5kZWRcIiBjbGFzcz1cImNoaWxkcmVuXCI+XG4gICAgICA8cml2LXNlbGVjdC1ub2RlXG4gICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBuLmNoaWxkcmVuXCJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAgIFtub2RlXT1cImNoaWxkXCJcbiAgICAgICAgW3Nob3dTaW5nbGVTZWxlY3RlZF09XCJzaG93U2luZ2xlU2VsZWN0ZWRcIlxuICAgICAgICBbdGl0bGVUZW1wbGF0ZV09XCJ0aXRsZVRlbXBsYXRlXCJcbiAgICAgICAgKHNlbGVjdENoYW5nZSk9XCJzZWxlY3RDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGV4cGFuZENoYW5nZSk9XCJleHBhbmRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L3Jpdi1zZWxlY3Qtbm9kZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnc2luZ2xlJ1wiPlxuICAgIDxkaXZcbiAgICAgICNyb3dcbiAgICAgIGNsYXNzPVwicm93XCJcbiAgICAgIFtyaXZUb29sdGlwXT1cIlxuICAgICAgICBnZXREaXNhYmxlZChuKSAmJiAhZ2V0SGVscChuKSA/IGdldERpc2FibGVkRXhwbGFuYXRpb24obikgOiB1bmRlZmluZWRcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzaW5nbGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZ2V0RGlzYWJsZWQobilcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImdldERpc2FibGVkKG4pID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgIHJpdlRydW5jYXRlXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZSA/PyB0aXRsZTsgY29udGV4dDogeyBub2RlOiBuIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhlbHBcIj5cbiAgICAgICAgICA8cml2LWhlbHBcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0SGVscChuKTsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgICAgICBbc2l6ZV09XCIxMlwiXG4gICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNwYWNlclwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgKm5nSWY9XCJzaG93U2luZ2xlU2VsZWN0ZWQgJiYgbi5zZWxlY3RlZFwiXG4gICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmNsdWRlQ291bnQoKVwiIGNsYXNzPVwiY291bnRcIj5cbiAgICAgICAgICB7eyBnZXRDb3VudChuKSB8IHJpdk51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2VsZWN0L3NlbGVjdC1ub2RlL3NlbGVjdC1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3NlbGVjdC9zZWxlY3Qtbm9kZS9zZWxlY3Qtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7OztBQVN2QixNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBeUJFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUczQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0EyQjVDO0lBekJDLFlBQVk7UUFDVixPQUFPLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQzlDLENBQUM7SUFFRCw2RUFBNkU7SUFDN0Usd0VBQXdFO0lBQ3hFLG9EQUFvRDtJQUNwRCxtR0FBbUc7SUFDbkcsS0FBSyxDQUFDLElBQTZCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQTZCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUE2QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELHNCQUFzQixDQUNwQixJQUE2QjtRQUU3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLElBQTZCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOytHQWhEVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixrUENoQmhDLHd3SUE4SUEsczhFRDlIYSxtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQVNOLGFBQWE7c0JBRFosS0FBSztnQkFJTixZQUFZO3NCQURYLE1BQU07Z0JBSVAsWUFBWTtzQkFEWCxNQUFNOztBQThCVCxXQUFpQixtQkFBbUI7SUFDckIseUJBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQVUsQ0FBQztBQUVwRCxDQUFDLEVBSGdCLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdlNlbGVjdCB9IGZyb20gJy4uL3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNlbGVjdC1ub2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LW5vZGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Tm9kZUNvbXBvbmVudDxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+IHtcbiAgQElucHV0KClcbiAgbW9kZT86IFNlbGVjdE5vZGVDb21wb25lbnQuTW9kZTtcblxuICBASW5wdXQoKVxuICBub2RlPzogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz47XG5cbiAgQElucHV0KClcbiAgc2hvd1NpbmdsZVNlbGVjdGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVuZGVycyBpbiBwbGFjZSBvZiB0aGUgZGVmYXVsdCB0aXRsZS4gVGhlIGRlZmF1bHQgaGlnaGxpZ2h0cyBzZWFyY2hcbiAgICogbWF0Y2hlczsgYSBjdXN0b20gdGl0bGUgY2FuIHVzZSB0aGUgbm9kZSdzIGB0aXRsZUhpZ2hsaWdodEluZGljZXNgIHRvIGRvXG4gICAqIHRoZSBzYW1lLlxuICAgKi9cbiAgQElucHV0KClcbiAgdGl0bGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgbm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4gfT47XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8T1snaWQnXT4oKTtcblxuICBAT3V0cHV0KClcbiAgZXhwYW5kQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPWydpZCddPigpO1xuXG4gIGluY2x1ZGVDb3VudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMubm9kZT8uY291bnQgPT09ICdudW1iZXInO1xuICB9XG5cbiAgLy8gVE9ETzogdGhlc2UgdHdvIGZ1bmN0aW9ucyBjYW4gcHJvYmFibHkgZ28gYXdheSBvbmNlIHdlIHVwZ3JhZGUgQW5ndWxhciBhbmRcbiAgLy8gZ2V0IGJldHRlciB0eXBlIHNhZmV0eSBpbiB0ZW1wbGF0ZSBjb2RlLiAoQW5ndWxhciBjaGFuZ2VzIHRoZSB0eXBlIG9mXG4gIC8vIHRoaXMubm9kZSBmcm9tIEZ1bGxPcHRpb248Tz4gdG8gRnVsbE9wdGlvbjxhbnk+LilcbiAgLy8gaHR0cHM6Ly93d3cubm90aW9uLnNvL3JpdmV0L1Jlc29sdmUtVE9ET3MtYWZ0ZXItQW5ndWxhci11cGdyYWRlLTFmMjY2N2ViMmEzMTgwYjc5ZjZhZDkyYTdlNTc2ZjA4XG4gIGdldElkKG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+KTogT1snaWQnXSB7XG4gICAgcmV0dXJuIG5vZGUuaWQ7XG4gIH1cbiAgZ2V0RGlzYWJsZWQobm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFub2RlLmRpc2FibGVkO1xuICB9XG4gIGdldEhlbHAobm9kZTogUml2U2VsZWN0LkZ1bGxPcHRpb248Tz4pOiBPWydoZWxwJ10ge1xuICAgIHJldHVybiBub2RlLmhlbHA7XG4gIH1cbiAgZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihcbiAgICBub2RlOiBSaXZTZWxlY3QuRnVsbE9wdGlvbjxPPixcbiAgKTogT1snZGlzYWJsZWRFeHBsYW5hdGlvbiddIHtcbiAgICByZXR1cm4gbm9kZS5kaXNhYmxlZEV4cGxhbmF0aW9uO1xuICB9XG4gIGdldENvdW50KG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+KTogT1snY291bnQnXSB7XG4gICAgcmV0dXJuIG5vZGUuY291bnQ7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWxlY3ROb2RlQ29tcG9uZW50IHtcbiAgZXhwb3J0IGNvbnN0IG1vZGVzID0gWydzaW5nbGUnLCAnbXVsdGknXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgTW9kZSA9ICh0eXBlb2YgbW9kZXMpW251bWJlcl07XG59XG4iLCI8bmctdGVtcGxhdGUgI3RpdGxlIGxldC1uPVwibm9kZVwiPlxuICA8cml2LWhpZ2hsaWdodFxuICAgIGNsYXNzPVwidGl0bGVcIlxuICAgIFt0ZXh0XT1cIm4udGl0bGVcIlxuICAgIFtpbmRpY2VzXT1cIm4udGl0bGVIaWdobGlnaHRJbmRpY2VzID8/IFtdXCJcbiAgPjwvcml2LWhpZ2hsaWdodD5cbiAgPHNwYW4gKm5nSWY9XCJuLnN1YnRpdGxlXCI+Jm5ic3A7PC9zcGFuPlxuICA8cml2LWhpZ2hsaWdodFxuICAgICpuZ0lmPVwibi5zdWJ0aXRsZVwiXG4gICAgY2xhc3M9XCJzdWJ0aXRsZVwiXG4gICAgW3RleHRdPVwibi5zdWJ0aXRsZVwiXG4gICAgW2luZGljZXNdPVwibi5zdWJ0aXRsZUhpZ2hsaWdodEluZGljZXMgPz8gW11cIlxuICA+PC9yaXYtaGlnaGxpZ2h0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGU7IGxldCBuXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnbXVsdGknXCI+XG4gICAgPGRpdlxuICAgICAgI3Jvd1xuICAgICAgY2xhc3M9XCJyb3dcIlxuICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgIGdldERpc2FibGVkKG4pICYmICFnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgXCJcbiAgICA+XG4gICAgICA8bGFiZWwgcml2VHJ1bmNhdGUgW2NsYXNzLmRpc2FibGVkXT1cImdldERpc2FibGVkKG4pXCI+XG4gICAgICAgIDxyaXYtY2hlY2tib3hcbiAgICAgICAgICAqbmdJZj1cIm4uc2VsZWN0YWJsZVwiXG4gICAgICAgICAgW3ZhbHVlXT1cIm4uc2VsZWN0ZWQgPT09IHRydWVcIlxuICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cIm4uc2VsZWN0ZWQgPT09ICdpbmRldGVybWluYXRlJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImdldERpc2FibGVkKG4pXCJcbiAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2VsZWN0Q2hhbmdlLmVtaXQoZ2V0SWQobikpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3Jpdi1jaGVja2JveD5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICByaXZUcnVuY2F0ZVxuICAgICAgICAgIGNsYXNzPVwibmFtZVwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZSA/PyB0aXRsZTsgY29udGV4dDogeyBub2RlOiBuIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhlbHBcIj5cbiAgICAgICAgICA8cml2LWhlbHBcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0SGVscChuKTsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgICAgICBbc2l6ZV09XCIxMlwiXG4gICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNwYWNlclwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmNsdWRlQ291bnQoKVwiIGNsYXNzPVwiY291bnRcIj5cbiAgICAgICAgICB7eyBnZXRDb3VudChuKSB8IHJpdk51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJuLmNoaWxkcmVuPy5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cImV4cGFuZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhbi5leHBhbmRhYmxlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCIhbi5leHBhbmRhYmxlID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgIChjbGljayk9XCJleHBhbmRDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8cml2LWljb25cbiAgICAgICAgICBbc2l6ZV09XCIyMFwiXG4gICAgICAgICAgW25hbWVdPVwibi5leHBhbmRlZCA/ICdDaGV2cm9uVXAnIDogJ0NoZXZyb25Eb3duJ1wiXG4gICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIm4uZXhwYW5kZWRcIiBjbGFzcz1cImNoaWxkcmVuXCI+XG4gICAgICA8cml2LXNlbGVjdC1ub2RlXG4gICAgICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBuLmNoaWxkcmVuXCJcbiAgICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAgIFtub2RlXT1cImNoaWxkXCJcbiAgICAgICAgW3Nob3dTaW5nbGVTZWxlY3RlZF09XCJzaG93U2luZ2xlU2VsZWN0ZWRcIlxuICAgICAgICBbdGl0bGVUZW1wbGF0ZV09XCJ0aXRsZVRlbXBsYXRlXCJcbiAgICAgICAgKHNlbGVjdENoYW5nZSk9XCJzZWxlY3RDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGV4cGFuZENoYW5nZSk9XCJleHBhbmRDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgID48L3Jpdi1zZWxlY3Qtbm9kZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnc2luZ2xlJ1wiPlxuICAgIDxkaXZcbiAgICAgICNyb3dcbiAgICAgIGNsYXNzPVwicm93XCJcbiAgICAgIFtyaXZUb29sdGlwXT1cIlxuICAgICAgICBnZXREaXNhYmxlZChuKSAmJiAhZ2V0SGVscChuKSA/IGdldERpc2FibGVkRXhwbGFuYXRpb24obikgOiB1bmRlZmluZWRcbiAgICAgIFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzaW5nbGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZ2V0RGlzYWJsZWQobilcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImdldERpc2FibGVkKG4pID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RDaGFuZ2UuZW1pdChnZXRJZChuKSlcIlxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgIHJpdlRydW5jYXRlXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGl0bGVUZW1wbGF0ZSA/PyB0aXRsZTsgY29udGV4dDogeyBub2RlOiBuIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhlbHBcIj5cbiAgICAgICAgICA8cml2LWhlbHBcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0SGVscChuKTsgbGV0IGhlbHBcIlxuICAgICAgICAgICAgW2hlbHBdPVwiaGVscFwiXG4gICAgICAgICAgICBbc2l6ZV09XCIxMlwiXG4gICAgICAgICAgPjwvcml2LWhlbHA+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNwYWNlclwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBdPVwiXG4gICAgICAgICAgICBnZXREaXNhYmxlZChuKSAmJiBnZXRIZWxwKG4pID8gZ2V0RGlzYWJsZWRFeHBsYW5hdGlvbihuKSA6IHVuZGVmaW5lZFxuICAgICAgICAgIFwiXG4gICAgICAgICAgW3JpdlRvb2x0aXBBbmNob3JdPVwicm93XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgKm5nSWY9XCJzaG93U2luZ2xlU2VsZWN0ZWQgJiYgbi5zZWxlY3RlZFwiXG4gICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpbmNsdWRlQ291bnQoKVwiIGNsYXNzPVwiY291bnRcIj5cbiAgICAgICAgICB7eyBnZXRDb3VudChuKSB8IHJpdk51bWJlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -9,11 +9,11 @@ export class OptionGroupPipe {
9
9
  },
10
10
  ];
11
11
  }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OptionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: OptionGroupPipe, name: "rivOptionGroup" }); }
12
14
  }
13
- OptionGroupPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OptionGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
- OptionGroupPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OptionGroupPipe, name: "rivOptionGroup" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OptionGroupPipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OptionGroupPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{ name: 'rivOptionGroup' }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW1wbGUtc2VsZWN0L29wdGlvbi1ncm91cC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRCxNQUFNLE9BQU8sZUFBZTtJQUcxQixTQUFTLENBQUMsS0FBVyxFQUFFLE1BQWU7UUFDcEMsT0FBTztZQUNMO2dCQUNFLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTthQUNyQjtTQUNGLENBQUM7SUFDSixDQUFDOzs2R0FWVSxlQUFlOzJHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdlNlbGVjdCB9IGZyb20gJy4uL3NlbGVjdC9zdGF0ZSc7XG5cbkBQaXBlKHsgbmFtZTogJ3Jpdk9wdGlvbkdyb3VwJyB9KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkdyb3VwUGlwZTxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+XG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICB0cmFuc2Zvcm0odmFsdWU/OiBPW10sIGhlYWRlcj86IHN0cmluZyk6IFJpdlNlbGVjdC5PcHRpb25Hcm91cDxPPltdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBoZWFkZXI6IGhlYWRlcixcbiAgICAgICAgb3B0aW9uczogdmFsdWUgPz8gW10sXG4gICAgICB9LFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW1wbGUtc2VsZWN0L29wdGlvbi1ncm91cC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRCxNQUFNLE9BQU8sZUFBZTtJQUcxQixTQUFTLENBQUMsS0FBVyxFQUFFLE1BQWU7UUFDcEMsT0FBTztZQUNMO2dCQUNFLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBRTthQUNyQjtTQUNGLENBQUM7SUFDSixDQUFDOytHQVZVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJpdlNlbGVjdCB9IGZyb20gJy4uL3NlbGVjdC9zdGF0ZSc7XG5cbkBQaXBlKHsgbmFtZTogJ3Jpdk9wdGlvbkdyb3VwJyB9KVxuZXhwb3J0IGNsYXNzIE9wdGlvbkdyb3VwUGlwZTxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+XG4gIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybVxue1xuICB0cmFuc2Zvcm0odmFsdWU/OiBPW10sIGhlYWRlcj86IHN0cmluZyk6IFJpdlNlbGVjdC5PcHRpb25Hcm91cDxPPltdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBoZWFkZXI6IGhlYWRlcixcbiAgICAgICAgb3B0aW9uczogdmFsdWUgPz8gW10sXG4gICAgICB9LFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
@@ -114,10 +114,10 @@ export class SimpleSelectComponent extends InputLabelComponent {
114
114
  issueAction(action) {
115
115
  this.manager?.actions.next(action);
116
116
  }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SimpleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SimpleSelectComponent, selector: "riv-simple-select", inputs: { optionGroups: "optionGroups", selectedOption: "selectedOption", size: "size", disabled: "disabled", locked: "locked", filterabilityOptions: "filterabilityOptions", orderBy: "orderBy", placeholder: "placeholder", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", dividers: "dividers", sortSelectedToTop: "sortSelectedToTop", grow: "grow", preferredCalloutPosition: "preferredCalloutPosition", allowedCalloutPositions: "allowedCalloutPositions" }, outputs: { selectedOptionChange: "selectedOptionChange" }, host: { properties: { "class": "this.classes" } }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "customSelectedOptionsTemplate", first: true, predicate: ["customSelectedOptions"], descendants: true }, { propertyName: "optionTemplate", first: true, predicate: ["option"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<riv-select\n [manager]=\"manager\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n [locked]=\"locked\"\n [grow]=\"grow\"\n [preferredCalloutPosition]=\"preferredCalloutPosition\"\n [allowedCalloutPositions]=\"allowedCalloutPositions\"\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <ng-container *ngIf=\"triggerTemplate; let triggerTpl\">\n <ng-template #trigger let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"triggerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container\n *ngIf=\"customSelectedOptionsTemplate; let customSelectedOptionsTpl\"\n >\n <ng-template #customSelectedOptions let-selected=\"selected\">\n <ng-container\n [ngTemplateOutlet]=\"customSelectedOptionsTpl\"\n [ngTemplateOutletContext]=\"{ selected }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"optionTemplate; let optionTpl\">\n <ng-template #option let-node=\"node\">\n <button\n class=\"custom-node\"\n [disabled]=\"node.disabled\"\n [attr.aria-disabled]=\"node.disabled ? 'true' : null\"\n (click)=\"\n manager?.actions?.next({\n type: 'setSelectedOption',\n id: node.id\n });\n manager?.actions?.next({\n type: 'openChange',\n open: false\n })\n \"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"optionTpl\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplate; let headerTpl\">\n <ng-template #header let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"headerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"footerTemplate; let footerTpl\">\n <ng-template #footer let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"footerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n</riv-select>\n", styles: [":host(.grow),:host(.grow) riv-select{display:block;width:100%}.custom-node{display:block;width:100%;text-align:left}.custom-node:not(:disabled){cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SelectComponent, selector: "riv-select", inputs: ["manager", "size", "disabled", "locked", "grow", "allowedCalloutPositions", "preferredCalloutPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
119
  }
118
- SimpleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimpleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
119
- SimpleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SimpleSelectComponent, selector: "riv-simple-select", inputs: { optionGroups: "optionGroups", selectedOption: "selectedOption", size: "size", disabled: "disabled", locked: "locked", filterabilityOptions: "filterabilityOptions", orderBy: "orderBy", placeholder: "placeholder", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", dividers: "dividers", sortSelectedToTop: "sortSelectedToTop", grow: "grow", preferredCalloutPosition: "preferredCalloutPosition", allowedCalloutPositions: "allowedCalloutPositions" }, outputs: { selectedOptionChange: "selectedOptionChange" }, host: { properties: { "class": "this.classes" } }, queries: [{ propertyName: "triggerTemplate", first: true, predicate: ["trigger"], descendants: true }, { propertyName: "customSelectedOptionsTemplate", first: true, predicate: ["customSelectedOptions"], descendants: true }, { propertyName: "optionTemplate", first: true, predicate: ["option"], descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<riv-select\n [manager]=\"manager\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n [locked]=\"locked\"\n [grow]=\"grow\"\n [preferredCalloutPosition]=\"preferredCalloutPosition\"\n [allowedCalloutPositions]=\"allowedCalloutPositions\"\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <ng-container *ngIf=\"triggerTemplate; let triggerTpl\">\n <ng-template #trigger let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"triggerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container\n *ngIf=\"customSelectedOptionsTemplate; let customSelectedOptionsTpl\"\n >\n <ng-template #customSelectedOptions let-selected=\"selected\">\n <ng-container\n [ngTemplateOutlet]=\"customSelectedOptionsTpl\"\n [ngTemplateOutletContext]=\"{ selected }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"optionTemplate; let optionTpl\">\n <ng-template #option let-node=\"node\">\n <button\n class=\"custom-node\"\n [disabled]=\"node.disabled\"\n [attr.aria-disabled]=\"node.disabled ? 'true' : null\"\n (click)=\"\n manager?.actions?.next({\n type: 'setSelectedOption',\n id: node.id\n });\n manager?.actions?.next({\n type: 'openChange',\n open: false\n })\n \"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"optionTpl\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplate; let headerTpl\">\n <ng-template #header let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"headerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"footerTemplate; let footerTpl\">\n <ng-template #footer let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"footerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n</riv-select>\n", styles: [":host(.grow),:host(.grow) riv-select{display:block;width:100%}.custom-node{display:block;width:100%;text-align:left}.custom-node:not(:disabled){cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.SelectComponent, selector: "riv-select", inputs: ["manager", "size", "disabled", "locked", "grow", "allowedCalloutPositions", "preferredCalloutPosition"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SimpleSelectComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SimpleSelectComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'riv-simple-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-select\n [manager]=\"manager\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n [locked]=\"locked\"\n [grow]=\"grow\"\n [preferredCalloutPosition]=\"preferredCalloutPosition\"\n [allowedCalloutPositions]=\"allowedCalloutPositions\"\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <ng-container *ngIf=\"triggerTemplate; let triggerTpl\">\n <ng-template #trigger let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"triggerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container\n *ngIf=\"customSelectedOptionsTemplate; let customSelectedOptionsTpl\"\n >\n <ng-template #customSelectedOptions let-selected=\"selected\">\n <ng-container\n [ngTemplateOutlet]=\"customSelectedOptionsTpl\"\n [ngTemplateOutletContext]=\"{ selected }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"optionTemplate; let optionTpl\">\n <ng-template #option let-node=\"node\">\n <button\n class=\"custom-node\"\n [disabled]=\"node.disabled\"\n [attr.aria-disabled]=\"node.disabled ? 'true' : null\"\n (click)=\"\n manager?.actions?.next({\n type: 'setSelectedOption',\n id: node.id\n });\n manager?.actions?.next({\n type: 'openChange',\n open: false\n })\n \"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"optionTpl\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplate; let headerTpl\">\n <ng-template #header let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"headerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"footerTemplate; let footerTpl\">\n <ng-template #footer let-state=\"state\">\n <ng-container\n [ngTemplateOutlet]=\"footerTpl\"\n [ngTemplateOutletContext]=\"{ state }\"\n ></ng-container>\n </ng-template>\n </ng-container>\n</riv-select>\n", styles: [":host(.grow),:host(.grow) riv-select{display:block;width:100%}.custom-node{display:block;width:100%;text-align:left}.custom-node:not(:disabled){cursor:pointer}\n"] }]
123
123
  }], propDecorators: { optionGroups: [{
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
175
175
  }], selectedOptionChange: [{
176
176
  type: Output
177
177
  }] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW1wbGUtc2VsZWN0L3NpbXBsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2ltcGxlLXNlbGVjdC9zaW1wbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFJTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFdkUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUTVDLE1BQU0sT0FBTyxxQkFDWCxTQUFRLG1CQUFtQjtJQVA3Qjs7UUFXRSxpQkFBWSxHQUErQixFQUFFLENBQUM7UUFHOUMsbUJBQWMsR0FBYSxJQUFJLENBQUM7UUFHaEMsU0FBSSxHQUF5QixRQUFRLENBQUM7UUFHdEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBR3hCLHlCQUFvQixHQUFrRDtZQUNwRSxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUF3QkYsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5DLHdFQUF3RTtRQUV4RSxTQUFJLEdB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O2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUlOLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBTU4sZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFNBQVM7Z0JBSXZCLDZCQUE2QjtzQkFENUIsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBTXJDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxRQUFRO2dCQUl0QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsUUFBUTtnQkFJdEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFFBQVE7Z0JBOEhsQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsT0FBTztnQkFVcEIsb0JBQW9CO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRnVzZU9wdGlvbnMgfSBmcm9tICdmdXNlLmpzJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL292ZXJsYXkvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBkZWZhdWx0U2VsZWN0QWxsb3dlZENhbGxvdXRQb3NpdGlvbnMgfSBmcm9tICcuLi8uLi9vdmVybGF5L2NhbGxvdXQvc2VsZWN0LWNhbGxvdXQtZGVmYXVsdHMnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUml2U2VsZWN0IH0gZnJvbSAnLi4vc2VsZWN0L3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNpbXBsZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2ltcGxlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpbXBsZS1zZWxlY3QuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2ltcGxlU2VsZWN0Q29tcG9uZW50PE8gZXh0ZW5kcyBSaXZTZWxlY3QuQmFzZU9wdGlvbj5cbiAgZXh0ZW5kcyBJbnB1dExhYmVsQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKVxuICBvcHRpb25Hcm91cHM6IFJpdlNlbGVjdC5PcHRpb25Hcm91cDxPPltdID0gW107XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRPcHRpb246IE8gfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzaXplOiBTZWxlY3RDb21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbG9ja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyYWJpbGl0eU9wdGlvbnM6IFNpbXBsZVNlbGVjdENvbXBvbmVudC5GaWx0ZXJhYmlsaXR5T3B0aW9uczxPPiA9IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgfTtcblxuICBASW5wdXQoKVxuICBvcmRlckJ5PzogUml2U2VsZWN0Lk9yZGVyQnk7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1pbkhlaWdodD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtaW5XaWR0aD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBkaXZpZGVycz86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc29ydFNlbGVjdGVkVG9Ub3A6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU3RyZXRjaGVzIHRoZSBzZWxlY3QgdHJpZ2dlciB0byBmaWxsIHRoZSB3aWR0aCBvZiB0aGlzIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KClcbiAgZ3JvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHByZWZlcnJlZENhbGxvdXRQb3NpdGlvbjogQ2FsbG91dENvbXBvbmVudC5BbmNob3JlZFBvc2l0aW9uID0gJ2JvdHRvbS1yaWdodCc7XG5cbiAgQElucHV0KClcbiAgYWxsb3dlZENhbGxvdXRQb3NpdGlvbnM6IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbltdID0gW1xuICAgIC4uLmRlZmF1bHRTZWxlY3RBbGxvd2VkQ2FsbG91dFBvc2l0aW9ucyxcbiAgXTtcblxuICBAQ29udGVudENoaWxkKCd0cmlnZ2VyJylcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBzdGF0ZTogUml2U2VsZWN0LkZ1bGxTdGF0ZTxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdjdXN0b21TZWxlY3RlZE9wdGlvbnMnKVxuICBjdXN0b21TZWxlY3RlZE9wdGlvbnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHtcbiAgICBzZWxlY3RlZDogUml2U2VsZWN0Lk9wdGlvblNldDxPPjtcbiAgfT47XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uJylcbiAgb3B0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7IG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+IH0+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicpXG4gIGhlYWRlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBzdGF0ZTogUml2U2VsZWN0LkZ1bGxTdGF0ZTxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdmb290ZXInKVxuICBmb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgc3RhdGU6IFJpdlNlbGVjdC5GdWxsU3RhdGU8Tz4gfT47XG5cbiAgbWFuYWdlcj86IFJpdlNlbGVjdC5NYW5hZ2VyPE8+O1xuICBzZWxlY3RlZE9wdGlvblN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VyID0gUml2U2VsZWN0LmNyZWF0ZUluTWVtb3J5TWFuYWdlcigoKSA9PiB0aGlzLm9wdGlvbkdyb3Vwcywge1xuICAgICAgYWxsb3dNdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgICBhbGxvd1NlYXJjaDogdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5lbmFibGVkLFxuICAgICAgYWxsb3dTZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgZGl2aWRlcnM6IHRoaXMuZGl2aWRlcnMsXG4gICAgICBmdXNlT3B0aW9uczogdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5lbmFibGVkXG4gICAgICAgID8gdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5mdXNlT3B0aW9uc1xuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICBxdWVyeTogeyBvcmRlcjogdGhpcy5vcmRlckJ5IH0sXG4gICAgICAgIHNlbGVjdGlvbjoge1xuICAgICAgICAgIHNlbGVjdGVkOiBuZXcgUml2U2VsZWN0Lk9wdGlvblNldChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPyBbdGhpcy5zZWxlY3RlZE9wdGlvbl0gOiBbXSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICAuLi4odGhpcy5wbGFjZWhvbGRlclxuICAgICAgICAgID8geyBkaXNwbGF5OiB7IHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyIH0gfVxuICAgICAgICAgIDogbnVsbCksXG4gICAgICB9LFxuICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgIG1heEhlaWdodDogdGhpcy5tYXhIZWlnaHQsXG4gICAgICBtYXhXaWR0aDogdGhpcy5tYXhXaWR0aCxcbiAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHQsXG4gICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWRcbiAgICAgICAgPyB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgc2hvd1NpbmdsZVNlbGVjdGVkOiB0cnVlLFxuICAgICAgc29ydFNlbGVjdGVkVG9Ub3A6IHRoaXMuc29ydFNlbGVjdGVkVG9Ub3AsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5tYW5hZ2VyPy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChzID0+IFsuLi5zLnNlbGVjdGlvbi5zZWxlY3RlZF1bMF0gPz8gbnVsbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzRXF1YWwpLFxuICAgICAgICBmaWx0ZXIoc2VsZWN0aW9uID0+IHNlbGVjdGlvbj8uaWQgIT09IHRoaXMuc2VsZWN0ZWRPcHRpb24/LmlkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0aW9uID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkNoYW5nZS5uZXh0KHNlbGVjdGlvbik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgd2Fybk9uTWFuYWdlck9wdGlvbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcywga2V5czogc3RyaW5nW10pIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXNba2V5XSAmJlxuICAgICAgICAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlICYmXG4gICAgICAgICFpc0VxdWFsKGNoYW5nZXNba2V5XS5wcmV2aW91c1ZhbHVlLCBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlKVxuICAgICAgKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgSGVhZHMgdXA6IGNoYW5naW5nICR7a2V5fSBvbiA8cml2LXNpbXBsZS1zZWxlY3Q+IGFmdGVyIGluaXRpYWxpemF0aW9uIGhhcyBubyBlZmZlY3Q7YCxcbiAgICAgICAgICAnd2FzOicsXG4gICAgICAgICAgY2hhbmdlc1trZXldLnByZXZpb3VzVmFsdWUsXG4gICAgICAgICAgJ2NoYW5nZWQgdG86JyxcbiAgICAgICAgICBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydvcHRpb25Hcm91cHMnXSAmJlxuICAgICAgIWlzRXF1YWwoXG4gICAgICAgIGNoYW5nZXNbJ29wdGlvbkdyb3VwcyddLnByZXZpb3VzVmFsdWUsXG4gICAgICAgIGNoYW5nZXNbJ29wdGlvbkdyb3VwcyddLmN1cnJlbnRWYWx1ZSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucy5uZXh0KHsgdHlwZTogJ2xvYWQnIH0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3NlbGVjdGVkT3B0aW9uJ10gJiZcbiAgICAgICFpc0VxdWFsKFxuICAgICAgICBjaGFuZ2VzWydzZWxlY3RlZE9wdGlvbiddLnByZXZpb3VzVmFsdWUsXG4gICAgICAgIGNoYW5nZXNbJ3NlbGVjdGVkT3B0aW9uJ10uY3VycmVudFZhbHVlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5tYW5hZ2VyPy5hY3Rpb25zLm5leHQoe1xuICAgICAgICB0eXBlOiAnc2VsZWN0aW9uQ2hhbmdlJyxcbiAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgIHNlbGVjdGVkOiBuZXcgUml2U2VsZWN0Lk9wdGlvblNldChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPyBbdGhpcy5zZWxlY3RlZE9wdGlvbl0gOiBbXSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1snb3JkZXJCeSddICYmXG4gICAgICAhaXNFcXVhbChcbiAgICAgICAgY2hhbmdlc1snb3JkZXJCeSddLnByZXZpb3VzVmFsdWUsXG4gICAgICAgIGNoYW5nZXNbJ29yZGVyQnknXS5jdXJyZW50VmFsdWUsXG4gICAgICApICYmXG4gICAgICB0aGlzLm9yZGVyQnlcbiAgICApIHtcbiAgICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucy5uZXh0KHtcbiAgICAgICAgdHlwZTogJ29yZGVyQ2hhbmdlJyxcbiAgICAgICAgcGF5bG9hZDogdGhpcy5vcmRlckJ5LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy53YXJuT25NYW5hZ2VyT3B0aW9uQ2hhbmdlcyhjaGFuZ2VzLCBbXG4gICAgICAnZGl2aWRlcnMnLFxuICAgICAgJ2ZpbHRlcmFiaWxpdHlPcHRpb25zJyxcbiAgICAgICdtYXhIZWlnaHQnLFxuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdtaW5IZWlnaHQnLFxuICAgICAgJ21pbldpZHRoJyxcbiAgICAgICdwbGFjZWhvbGRlcicsXG4gICAgICAnc29ydFNlbGVjdGVkVG9Ub3AnLFxuICAgIF0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdyb3cgPyAnZ3JvdycgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBpc3N1ZUFjdGlvbihhY3Rpb246IFJpdlNlbGVjdC5BY3Rpb248Tz4pOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dChhY3Rpb24pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGVkT3B0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPIHwgbnVsbD4oKTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTaW1wbGVTZWxlY3RDb21wb25lbnQge1xuICBleHBvcnQgdHlwZSBGaWx0ZXJhYmlsaXR5T3B0aW9uczxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+ID1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2U7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWU7XG4gICAgICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgICAgICBmdXNlT3B0aW9ucz86IElGdXNlT3B0aW9uczxPPjtcbiAgICAgIH07XG59XG4iLCI8cml2LXNlbGVjdFxuICBbbWFuYWdlcl09XCJtYW5hZ2VyXCJcbiAgW3NpemVdPVwic2l6ZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtsb2NrZWRdPVwibG9ja2VkXCJcbiAgW2dyb3ddPVwiZ3Jvd1wiXG4gIFtwcmVmZXJyZWRDYWxsb3V0UG9zaXRpb25dPVwicHJlZmVycmVkQ2FsbG91dFBvc2l0aW9uXCJcbiAgW2FsbG93ZWRDYWxsb3V0UG9zaXRpb25zXT1cImFsbG93ZWRDYWxsb3V0UG9zaXRpb25zXCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2hlbHBdPVwiaGVscFwiXG4gIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtzdGF0ZV09XCJzdGF0ZVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbiAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAobGFiZWxBY3Rpb24pPVwibGFiZWxBY3Rpb24uZW1pdCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyaWdnZXJUZW1wbGF0ZTsgbGV0IHRyaWdnZXJUcGxcIj5cbiAgICA8bmctdGVtcGxhdGUgI3RyaWdnZXIgbGV0LXN0YXRlPVwic3RhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJpZ2dlclRwbFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHN0YXRlIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cImN1c3RvbVNlbGVjdGVkT3B0aW9uc1RlbXBsYXRlOyBsZXQgY3VzdG9tU2VsZWN0ZWRPcHRpb25zVHBsXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tU2VsZWN0ZWRPcHRpb25zIGxldC1zZWxlY3RlZD1cInNlbGVjdGVkXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVNlbGVjdGVkT3B0aW9uc1RwbFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGVkIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZTsgbGV0IG9wdGlvblRwbFwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uIGxldC1ub2RlPVwibm9kZVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImN1c3RvbS1ub2RlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoe1xuICAgICAgICAgICAgdHlwZTogJ3NldFNlbGVjdGVkT3B0aW9uJyxcbiAgICAgICAgICAgIGlkOiBub2RlLmlkXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgbWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiAnb3BlbkNoYW5nZScsXG4gICAgICAgICAgICBvcGVuOiBmYWxzZVxuICAgICAgICAgIH0pXG4gICAgICAgIFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVHBsXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGU7IGxldCBoZWFkZXJUcGxcIj5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlciBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUcGxcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzdGF0ZSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyVGVtcGxhdGU7IGxldCBmb290ZXJUcGxcIj5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3RlciBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUcGxcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzdGF0ZSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvcml2LXNlbGVjdD5cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW1wbGUtc2VsZWN0L3NpbXBsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2ltcGxlLXNlbGVjdC9zaW1wbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFJTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFdkUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUTVDLE1BQU0sT0FBTyxxQkFDWCxTQUFRLG1CQUFtQjtJQVA3Qjs7UUFXRSxpQkFBWSxHQUErQixFQUFFLENBQUM7UUFHOUMsbUJBQWMsR0FBYSxJQUFJLENBQUM7UUFHaEMsU0FBSSxHQUF5QixRQUFRLENBQUM7UUFHdEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBR3hCLHlCQUFvQixHQUFrRDtZQUNwRSxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUF3QkYsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBRW5DLHdFQUF3RTtRQUV4RSxTQUFJLEdB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O2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUlOLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBTU4sZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFNBQVM7Z0JBSXZCLDZCQUE2QjtzQkFENUIsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBTXJDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxRQUFRO2dCQUl0QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsUUFBUTtnQkFJdEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFFBQVE7Z0JBOEhsQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsT0FBTztnQkFVcEIsb0JBQW9CO3NCQURuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRnVzZU9wdGlvbnMgfSBmcm9tICdmdXNlLmpzJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB0eXBlIHsgQ2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL292ZXJsYXkvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBkZWZhdWx0U2VsZWN0QWxsb3dlZENhbGxvdXRQb3NpdGlvbnMgfSBmcm9tICcuLi8uLi9vdmVybGF5L2NhbGxvdXQvc2VsZWN0LWNhbGxvdXQtZGVmYXVsdHMnO1xuaW1wb3J0IHsgSW5wdXRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0LWxhYmVsL2lucHV0LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUml2U2VsZWN0IH0gZnJvbSAnLi4vc2VsZWN0L3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNpbXBsZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2ltcGxlLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NpbXBsZS1zZWxlY3QuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2ltcGxlU2VsZWN0Q29tcG9uZW50PE8gZXh0ZW5kcyBSaXZTZWxlY3QuQmFzZU9wdGlvbj5cbiAgZXh0ZW5kcyBJbnB1dExhYmVsQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKVxuICBvcHRpb25Hcm91cHM6IFJpdlNlbGVjdC5PcHRpb25Hcm91cDxPPltdID0gW107XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRPcHRpb246IE8gfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBzaXplOiBTZWxlY3RDb21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbG9ja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZmlsdGVyYWJpbGl0eU9wdGlvbnM6IFNpbXBsZVNlbGVjdENvbXBvbmVudC5GaWx0ZXJhYmlsaXR5T3B0aW9uczxPPiA9IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgfTtcblxuICBASW5wdXQoKVxuICBvcmRlckJ5PzogUml2U2VsZWN0Lk9yZGVyQnk7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1pbkhlaWdodD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtaW5XaWR0aD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBkaXZpZGVycz86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc29ydFNlbGVjdGVkVG9Ub3A6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU3RyZXRjaGVzIHRoZSBzZWxlY3QgdHJpZ2dlciB0byBmaWxsIHRoZSB3aWR0aCBvZiB0aGlzIGNvbXBvbmVudC4gKi9cbiAgQElucHV0KClcbiAgZ3JvdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHByZWZlcnJlZENhbGxvdXRQb3NpdGlvbjogQ2FsbG91dENvbXBvbmVudC5BbmNob3JlZFBvc2l0aW9uID0gJ2JvdHRvbS1yaWdodCc7XG5cbiAgQElucHV0KClcbiAgYWxsb3dlZENhbGxvdXRQb3NpdGlvbnM6IENhbGxvdXRDb21wb25lbnQuQW5jaG9yZWRQb3NpdGlvbltdID0gW1xuICAgIC4uLmRlZmF1bHRTZWxlY3RBbGxvd2VkQ2FsbG91dFBvc2l0aW9ucyxcbiAgXTtcblxuICBAQ29udGVudENoaWxkKCd0cmlnZ2VyJylcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBzdGF0ZTogUml2U2VsZWN0LkZ1bGxTdGF0ZTxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdjdXN0b21TZWxlY3RlZE9wdGlvbnMnKVxuICBjdXN0b21TZWxlY3RlZE9wdGlvbnNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHtcbiAgICBzZWxlY3RlZDogUml2U2VsZWN0Lk9wdGlvblNldDxPPjtcbiAgfT47XG5cbiAgQENvbnRlbnRDaGlsZCgnb3B0aW9uJylcbiAgb3B0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7IG5vZGU6IFJpdlNlbGVjdC5GdWxsT3B0aW9uPE8+IH0+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicpXG4gIGhlYWRlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8eyBzdGF0ZTogUml2U2VsZWN0LkZ1bGxTdGF0ZTxPPiB9PjtcblxuICBAQ29udGVudENoaWxkKCdmb290ZXInKVxuICBmb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHsgc3RhdGU6IFJpdlNlbGVjdC5GdWxsU3RhdGU8Tz4gfT47XG5cbiAgbWFuYWdlcj86IFJpdlNlbGVjdC5NYW5hZ2VyPE8+O1xuICBzZWxlY3RlZE9wdGlvblN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tYW5hZ2VyID0gUml2U2VsZWN0LmNyZWF0ZUluTWVtb3J5TWFuYWdlcigoKSA9PiB0aGlzLm9wdGlvbkdyb3Vwcywge1xuICAgICAgYWxsb3dNdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgICBhbGxvd1NlYXJjaDogdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5lbmFibGVkLFxuICAgICAgYWxsb3dTZWxlY3RBbGw6IGZhbHNlLFxuICAgICAgZGl2aWRlcnM6IHRoaXMuZGl2aWRlcnMsXG4gICAgICBmdXNlT3B0aW9uczogdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5lbmFibGVkXG4gICAgICAgID8gdGhpcy5maWx0ZXJhYmlsaXR5T3B0aW9ucy5mdXNlT3B0aW9uc1xuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICBxdWVyeTogeyBvcmRlcjogdGhpcy5vcmRlckJ5IH0sXG4gICAgICAgIHNlbGVjdGlvbjoge1xuICAgICAgICAgIHNlbGVjdGVkOiBuZXcgUml2U2VsZWN0Lk9wdGlvblNldChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPyBbdGhpcy5zZWxlY3RlZE9wdGlvbl0gOiBbXSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICAuLi4odGhpcy5wbGFjZWhvbGRlclxuICAgICAgICAgID8geyBkaXNwbGF5OiB7IHBsYWNlaG9sZGVyOiB0aGlzLnBsYWNlaG9sZGVyIH0gfVxuICAgICAgICAgIDogbnVsbCksXG4gICAgICB9LFxuICAgICAgaW5saW5lOiBmYWxzZSxcbiAgICAgIG1heEhlaWdodDogdGhpcy5tYXhIZWlnaHQsXG4gICAgICBtYXhXaWR0aDogdGhpcy5tYXhXaWR0aCxcbiAgICAgIG1pbkhlaWdodDogdGhpcy5taW5IZWlnaHQsXG4gICAgICBtaW5XaWR0aDogdGhpcy5taW5XaWR0aCxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWRcbiAgICAgICAgPyB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgc2hvd1NpbmdsZVNlbGVjdGVkOiB0cnVlLFxuICAgICAgc29ydFNlbGVjdGVkVG9Ub3A6IHRoaXMuc29ydFNlbGVjdGVkVG9Ub3AsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5tYW5hZ2VyPy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChzID0+IFsuLi5zLnNlbGVjdGlvbi5zZWxlY3RlZF1bMF0gPz8gbnVsbCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKGlzRXF1YWwpLFxuICAgICAgICBmaWx0ZXIoc2VsZWN0aW9uID0+IHNlbGVjdGlvbj8uaWQgIT09IHRoaXMuc2VsZWN0ZWRPcHRpb24/LmlkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoc2VsZWN0aW9uID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbkNoYW5nZS5uZXh0KHNlbGVjdGlvbik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgd2Fybk9uTWFuYWdlck9wdGlvbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcywga2V5czogc3RyaW5nW10pIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNoYW5nZXNba2V5XSAmJlxuICAgICAgICAhY2hhbmdlc1trZXldLmZpcnN0Q2hhbmdlICYmXG4gICAgICAgICFpc0VxdWFsKGNoYW5nZXNba2V5XS5wcmV2aW91c1ZhbHVlLCBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlKVxuICAgICAgKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgSGVhZHMgdXA6IGNoYW5naW5nICR7a2V5fSBvbiA8cml2LXNpbXBsZS1zZWxlY3Q+IGFmdGVyIGluaXRpYWxpemF0aW9uIGhhcyBubyBlZmZlY3Q7YCxcbiAgICAgICAgICAnd2FzOicsXG4gICAgICAgICAgY2hhbmdlc1trZXldLnByZXZpb3VzVmFsdWUsXG4gICAgICAgICAgJ2NoYW5nZWQgdG86JyxcbiAgICAgICAgICBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydvcHRpb25Hcm91cHMnXSAmJlxuICAgICAgIWlzRXF1YWwoXG4gICAgICAgIGNoYW5nZXNbJ29wdGlvbkdyb3VwcyddLnByZXZpb3VzVmFsdWUsXG4gICAgICAgIGNoYW5nZXNbJ29wdGlvbkdyb3VwcyddLmN1cnJlbnRWYWx1ZSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucy5uZXh0KHsgdHlwZTogJ2xvYWQnIH0pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNoYW5nZXNbJ3NlbGVjdGVkT3B0aW9uJ10gJiZcbiAgICAgICFpc0VxdWFsKFxuICAgICAgICBjaGFuZ2VzWydzZWxlY3RlZE9wdGlvbiddLnByZXZpb3VzVmFsdWUsXG4gICAgICAgIGNoYW5nZXNbJ3NlbGVjdGVkT3B0aW9uJ10uY3VycmVudFZhbHVlLFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5tYW5hZ2VyPy5hY3Rpb25zLm5leHQoe1xuICAgICAgICB0eXBlOiAnc2VsZWN0aW9uQ2hhbmdlJyxcbiAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgIHNlbGVjdGVkOiBuZXcgUml2U2VsZWN0Lk9wdGlvblNldChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPyBbdGhpcy5zZWxlY3RlZE9wdGlvbl0gOiBbXSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1snb3JkZXJCeSddICYmXG4gICAgICAhaXNFcXVhbChcbiAgICAgICAgY2hhbmdlc1snb3JkZXJCeSddLnByZXZpb3VzVmFsdWUsXG4gICAgICAgIGNoYW5nZXNbJ29yZGVyQnknXS5jdXJyZW50VmFsdWUsXG4gICAgICApICYmXG4gICAgICB0aGlzLm9yZGVyQnlcbiAgICApIHtcbiAgICAgIHRoaXMubWFuYWdlcj8uYWN0aW9ucy5uZXh0KHtcbiAgICAgICAgdHlwZTogJ29yZGVyQ2hhbmdlJyxcbiAgICAgICAgcGF5bG9hZDogdGhpcy5vcmRlckJ5LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy53YXJuT25NYW5hZ2VyT3B0aW9uQ2hhbmdlcyhjaGFuZ2VzLCBbXG4gICAgICAnZGl2aWRlcnMnLFxuICAgICAgJ2ZpbHRlcmFiaWxpdHlPcHRpb25zJyxcbiAgICAgICdtYXhIZWlnaHQnLFxuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdtaW5IZWlnaHQnLFxuICAgICAgJ21pbldpZHRoJyxcbiAgICAgICdwbGFjZWhvbGRlcicsXG4gICAgICAnc29ydFNlbGVjdGVkVG9Ub3AnLFxuICAgIF0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvblN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdyb3cgPyAnZ3JvdycgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyBpc3N1ZUFjdGlvbihhY3Rpb246IFJpdlNlbGVjdC5BY3Rpb248Tz4pOiB2b2lkIHtcbiAgICB0aGlzLm1hbmFnZXI/LmFjdGlvbnMubmV4dChhY3Rpb24pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGVkT3B0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxPIHwgbnVsbD4oKTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTaW1wbGVTZWxlY3RDb21wb25lbnQge1xuICBleHBvcnQgdHlwZSBGaWx0ZXJhYmlsaXR5T3B0aW9uczxPIGV4dGVuZHMgUml2U2VsZWN0LkJhc2VPcHRpb24+ID1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2U7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWU7XG4gICAgICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgICAgICBmdXNlT3B0aW9ucz86IElGdXNlT3B0aW9uczxPPjtcbiAgICAgIH07XG59XG4iLCI8cml2LXNlbGVjdFxuICBbbWFuYWdlcl09XCJtYW5hZ2VyXCJcbiAgW3NpemVdPVwic2l6ZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtsb2NrZWRdPVwibG9ja2VkXCJcbiAgW2dyb3ddPVwiZ3Jvd1wiXG4gIFtwcmVmZXJyZWRDYWxsb3V0UG9zaXRpb25dPVwicHJlZmVycmVkQ2FsbG91dFBvc2l0aW9uXCJcbiAgW2FsbG93ZWRDYWxsb3V0UG9zaXRpb25zXT1cImFsbG93ZWRDYWxsb3V0UG9zaXRpb25zXCJcbiAgW2xhYmVsXT1cImxhYmVsXCJcbiAgW2hlbHBdPVwiaGVscFwiXG4gIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtzdGF0ZV09XCJzdGF0ZVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlXCJcbiAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAobGFiZWxBY3Rpb24pPVwibGFiZWxBY3Rpb24uZW1pdCgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyaWdnZXJUZW1wbGF0ZTsgbGV0IHRyaWdnZXJUcGxcIj5cbiAgICA8bmctdGVtcGxhdGUgI3RyaWdnZXIgbGV0LXN0YXRlPVwic3RhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHJpZ2dlclRwbFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHN0YXRlIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cImN1c3RvbVNlbGVjdGVkT3B0aW9uc1RlbXBsYXRlOyBsZXQgY3VzdG9tU2VsZWN0ZWRPcHRpb25zVHBsXCJcbiAgPlxuICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tU2VsZWN0ZWRPcHRpb25zIGxldC1zZWxlY3RlZD1cInNlbGVjdGVkXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVNlbGVjdGVkT3B0aW9uc1RwbFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGVkIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZTsgbGV0IG9wdGlvblRwbFwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uIGxldC1ub2RlPVwibm9kZVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImN1c3RvbS1ub2RlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgIG1hbmFnZXI/LmFjdGlvbnM/Lm5leHQoe1xuICAgICAgICAgICAgdHlwZTogJ3NldFNlbGVjdGVkT3B0aW9uJyxcbiAgICAgICAgICAgIGlkOiBub2RlLmlkXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgbWFuYWdlcj8uYWN0aW9ucz8ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiAnb3BlbkNoYW5nZScsXG4gICAgICAgICAgICBvcGVuOiBmYWxzZVxuICAgICAgICAgIH0pXG4gICAgICAgIFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVHBsXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBub2RlIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGU7IGxldCBoZWFkZXJUcGxcIj5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlciBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUcGxcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzdGF0ZSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZm9vdGVyVGVtcGxhdGU7IGxldCBmb290ZXJUcGxcIj5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3RlciBsZXQtc3RhdGU9XCJzdGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUcGxcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzdGF0ZSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvcml2LXNlbGVjdD5cbiJdfQ==
@@ -18,10 +18,10 @@ export class SwitchCheckboxComponent extends CheckboxComponent {
18
18
  this.animated = true;
19
19
  }
20
20
  }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SwitchCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SwitchCheckboxComponent, selector: "riv-switch-checkbox", inputs: { size: "size" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label\n #label\n [ngClass]=\"size\"\n [class.checked]=\"value\"\n [class.animated]=\"animated\"\n [class.disabled]=\"disabled\"\n>\n <input\n #input\n type=\"checkbox\"\n [name]=\"name\"\n [id]=\"identifier\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [required]=\"required\"\n [attr.aria-label]=\"isCheckboxOnly() ? ariaLabel : null\"\n (change)=\"valueChange.emit(!!input.checked)\"\n />\n <ng-content></ng-content>\n</label>\n", styles: [":host{display:inline-flex}label{position:relative;flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:center;--transition-params: .15s cubic-bezier(.52, .19, .98, .43)}label.medium{--slide-width: calc(var(--base-grid-size) * 12);--switch-size: calc(var(--base-grid-size) * 6)}label.small{--slide-width: calc(var(--base-grid-size) * 8);--switch-size: calc(var(--base-grid-size) * 4)}label:not(.disabled){cursor:pointer}label:before{content:\"\";display:inline-block;box-sizing:border-box;width:var(--slide-width);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light);border-radius:var(--switch-size)}label.animated:before{transition:background-color var(--transition-params)}label.disabled:before{background-color:var(--black-20)}label.checked:before{background-color:var(--purp-60)}label.disabled.checked:before{background-color:var(--black-60)}label:after{content:\"\";position:absolute;width:var(--switch-size);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light);border-radius:100%;box-shadow:var(--depth-1)}label.animated:after{transition:transform var(--transition-params)}label.checked:after{transform:translate(calc(var(--slide-width) - var(--switch-size)))}input{position:absolute;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
23
  }
22
- SwitchCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SwitchCheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
- SwitchCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SwitchCheckboxComponent, selector: "riv-switch-checkbox", inputs: { size: "size" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label\n #label\n [ngClass]=\"size\"\n [class.checked]=\"value\"\n [class.animated]=\"animated\"\n [class.disabled]=\"disabled\"\n>\n <input\n #input\n type=\"checkbox\"\n [name]=\"name\"\n [id]=\"identifier\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [required]=\"required\"\n [attr.aria-label]=\"isCheckboxOnly() ? ariaLabel : null\"\n (change)=\"valueChange.emit(!!input.checked)\"\n />\n <ng-content></ng-content>\n</label>\n", styles: [":host{display:inline-flex}label{position:relative;flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:center;--transition-params: .15s cubic-bezier(.52, .19, .98, .43)}label.medium{--slide-width: calc(var(--base-grid-size) * 12);--switch-size: calc(var(--base-grid-size) * 6)}label.small{--slide-width: calc(var(--base-grid-size) * 8);--switch-size: calc(var(--base-grid-size) * 4)}label:not(.disabled){cursor:pointer}label:before{content:\"\";display:inline-block;box-sizing:border-box;width:var(--slide-width);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light);border-radius:var(--switch-size)}label.animated:before{transition:background-color var(--transition-params)}label.disabled:before{background-color:var(--black-20)}label.checked:before{background-color:var(--purp-60)}label.disabled.checked:before{background-color:var(--black-60)}label:after{content:\"\";position:absolute;width:var(--switch-size);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light);border-radius:100%;box-shadow:var(--depth-1)}label.animated:after{transition:transform var(--transition-params)}label.checked:after{transform:translate(calc(var(--slide-width) - var(--switch-size)))}input{position:absolute;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SwitchCheckboxComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SwitchCheckboxComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'riv-switch-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n #label\n [ngClass]=\"size\"\n [class.checked]=\"value\"\n [class.animated]=\"animated\"\n [class.disabled]=\"disabled\"\n>\n <input\n #input\n type=\"checkbox\"\n [name]=\"name\"\n [id]=\"identifier\"\n [checked]=\"value\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [required]=\"required\"\n [attr.aria-label]=\"isCheckboxOnly() ? ariaLabel : null\"\n (change)=\"valueChange.emit(!!input.checked)\"\n />\n <ng-content></ng-content>\n</label>\n", styles: [":host{display:inline-flex}label{position:relative;flex-grow:1;display:inline-flex;gap:var(--size-small);align-items:center;--transition-params: .15s cubic-bezier(.52, .19, .98, .43)}label.medium{--slide-width: calc(var(--base-grid-size) * 12);--switch-size: calc(var(--base-grid-size) * 6)}label.small{--slide-width: calc(var(--base-grid-size) * 8);--switch-size: calc(var(--base-grid-size) * 4)}label:not(.disabled){cursor:pointer}label:before{content:\"\";display:inline-block;box-sizing:border-box;width:var(--slide-width);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light);border-radius:var(--switch-size)}label.animated:before{transition:background-color var(--transition-params)}label.disabled:before{background-color:var(--black-20)}label.checked:before{background-color:var(--purp-60)}label.disabled.checked:before{background-color:var(--black-60)}label:after{content:\"\";position:absolute;width:var(--switch-size);height:var(--switch-size);background-color:var(--white-100);border:var(--border-width) solid var(--border-light);border-radius:100%;box-shadow:var(--depth-1)}label.animated:after{transition:transform var(--transition-params)}label.checked:after{transform:translate(calc(var(--slide-width) - var(--switch-size)))}input{position:absolute;opacity:0;z-index:-1}\n"] }]
27
27
  }], propDecorators: { size: [{
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
30
30
  (function (SwitchCheckboxComponent) {
31
31
  SwitchCheckboxComponent.Sizes = ['small', 'medium'];
32
32
  })(SwitchCheckboxComponent || (SwitchCheckboxComponent = {}));
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3N3aXRjaC1jaGVja2JveC9zd2l0Y2gtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc3dpdGNoLWNoZWNrYm94L3N3aXRjaC1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVFuRSxNQUFNLE9BQU8sdUJBQ1gsU0FBUSxpQkFBaUI7SUFQM0I7O1FBV0UsU0FBSSxHQUFpQyxRQUFRLENBQUM7UUFFOUM7OztXQUdHO1FBQ0gsYUFBUSxHQUFZLEtBQUssQ0FBQztLQVEzQjtJQU5VLFdBQVcsQ0FBQyxPQUFzQjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjtJQUNILENBQUM7O3FIQWxCVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixpSUNmcEMsaWhCQXFCQTs0RkROYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEJBTy9DLElBQUk7c0JBREgsS0FBSzs7QUFpQlIsV0FBaUIsdUJBQXVCO0lBQ3pCLDZCQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFFcEQsQ0FBQyxFQUhnQix1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1zd2l0Y2gtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3dpdGNoLWNoZWNrYm94LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENoZWNrYm94Q29tcG9uZW50XG4gIGV4dGVuZHMgQ2hlY2tib3hDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgQElucHV0KClcbiAgc2l6ZTogU3dpdGNoQ2hlY2tib3hDb21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIC8qKlxuICAgKiBPbmx5IHZhbHVlIGNoYW5nZXMgYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciBhbmltYXRlLCBzbyBhIHN3aXRjaCB0aGF0XG4gICAqIHJlbmRlcnMgYWxyZWFkeSBvbiBkb2Vzbid0IHNsaWRlIGludG8gcGxhY2UuXG4gICAqL1xuICBhbmltYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG92ZXJyaWRlIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICBpZiAoY2hhbmdlc1sndmFsdWUnXSAmJiAhY2hhbmdlc1sndmFsdWUnXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5hbmltYXRlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU3dpdGNoQ2hlY2tib3hDb21wb25lbnQge1xuICBleHBvcnQgY29uc3QgU2l6ZXMgPSBbJ3NtYWxsJywgJ21lZGl1bSddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBTaXplID0gKHR5cGVvZiBTaXplcylbbnVtYmVyXTtcbn1cbiIsIjxsYWJlbFxuICAjbGFiZWxcbiAgW25nQ2xhc3NdPVwic2l6ZVwiXG4gIFtjbGFzcy5jaGVja2VkXT1cInZhbHVlXCJcbiAgW2NsYXNzLmFuaW1hdGVkXT1cImFuaW1hdGVkXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbj5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbaWRdPVwiaWRlbnRpZmllclwiXG4gICAgW2NoZWNrZWRdPVwidmFsdWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpc0NoZWNrYm94T25seSgpID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCEhaW5wdXQuY2hlY2tlZClcIlxuICAvPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2xhYmVsPlxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L3N3aXRjaC1jaGVja2JveC9zd2l0Y2gtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc3dpdGNoLWNoZWNrYm94L3N3aXRjaC1jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQVFuRSxNQUFNLE9BQU8sdUJBQ1gsU0FBUSxpQkFBaUI7SUFQM0I7O1FBV0UsU0FBSSxHQUFpQyxRQUFRLENBQUM7UUFFOUM7OztXQUdHO1FBQ0gsYUFBUSxHQUFZLEtBQUssQ0FBQztLQVEzQjtJQU5VLFdBQVcsQ0FBQyxPQUFzQjtRQUN6QyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjtJQUNILENBQUM7K0dBbEJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGlJQ2ZwQyxpaEJBcUJBOzs0RkROYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEJBTy9DLElBQUk7c0JBREgsS0FBSzs7QUFpQlIsV0FBaUIsdUJBQXVCO0lBQ3pCLDZCQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFVLENBQUM7QUFFcEQsQ0FBQyxFQUhnQix1QkFBdUIsS0FBdkIsdUJBQXVCLFFBR3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1zd2l0Y2gtY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3dpdGNoLWNoZWNrYm94LmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFN3aXRjaENoZWNrYm94Q29tcG9uZW50XG4gIGV4dGVuZHMgQ2hlY2tib3hDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXNcbntcbiAgQElucHV0KClcbiAgc2l6ZTogU3dpdGNoQ2hlY2tib3hDb21wb25lbnQuU2l6ZSA9ICdtZWRpdW0nO1xuXG4gIC8qKlxuICAgKiBPbmx5IHZhbHVlIGNoYW5nZXMgYWZ0ZXIgdGhlIGZpcnN0IHJlbmRlciBhbmltYXRlLCBzbyBhIHN3aXRjaCB0aGF0XG4gICAqIHJlbmRlcnMgYWxyZWFkeSBvbiBkb2Vzbid0IHNsaWRlIGludG8gcGxhY2UuXG4gICAqL1xuICBhbmltYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG92ZXJyaWRlIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICBpZiAoY2hhbmdlc1sndmFsdWUnXSAmJiAhY2hhbmdlc1sndmFsdWUnXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5hbmltYXRlZCA9IHRydWU7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU3dpdGNoQ2hlY2tib3hDb21wb25lbnQge1xuICBleHBvcnQgY29uc3QgU2l6ZXMgPSBbJ3NtYWxsJywgJ21lZGl1bSddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBTaXplID0gKHR5cGVvZiBTaXplcylbbnVtYmVyXTtcbn1cbiIsIjxsYWJlbFxuICAjbGFiZWxcbiAgW25nQ2xhc3NdPVwic2l6ZVwiXG4gIFtjbGFzcy5jaGVja2VkXT1cInZhbHVlXCJcbiAgW2NsYXNzLmFuaW1hdGVkXT1cImFuaW1hdGVkXCJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbj5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbaWRdPVwiaWRlbnRpZmllclwiXG4gICAgW2NoZWNrZWRdPVwidmFsdWVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpc0NoZWNrYm94T25seSgpID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgKGNoYW5nZSk9XCJ2YWx1ZUNoYW5nZS5lbWl0KCEhaW5wdXQuY2hlY2tlZClcIlxuICAvPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2xhYmVsPlxuIl19