@rivet-health/design-system 40.44.4 → 41.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/fesm2022/rivet-health-design-system.mjs +23103 -18810
  2. package/fesm2022/rivet-health-design-system.mjs.map +1 -1
  3. package/package.json +8 -9
  4. package/types/rivet-health-design-system.d.ts +6566 -0
  5. package/esm2022/lib/accessibility/sr-only/sr-only.component.mjs +0 -18
  6. package/esm2022/lib/download/download.service.mjs +0 -47
  7. package/esm2022/lib/format/pipes/common.mjs +0 -24
  8. package/esm2022/lib/format/pipes/date.pipe.mjs +0 -20
  9. package/esm2022/lib/format/pipes/days.pipe.mjs +0 -20
  10. package/esm2022/lib/format/pipes/dollars.pipe.mjs +0 -19
  11. package/esm2022/lib/format/pipes/number.pipe.mjs +0 -19
  12. package/esm2022/lib/format/pipes/percentage.pipe.mjs +0 -19
  13. package/esm2022/lib/format/pipes/sentence-case.pipe.mjs +0 -61
  14. package/esm2022/lib/format/pipes/small-currency.pipe.mjs +0 -24
  15. package/esm2022/lib/format/pipes/small-number.pipe.mjs +0 -29
  16. package/esm2022/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +0 -62
  17. package/esm2022/lib/format/truncate/truncate.component.mjs +0 -51
  18. package/esm2022/lib/icon/dom-cache.mjs +0 -32
  19. package/esm2022/lib/icon/icon.component.mjs +0 -86
  20. package/esm2022/lib/icon/icons.mjs +0 -271
  21. package/esm2022/lib/input/alphabetic-field/alphabetic-field.component.mjs +0 -42
  22. package/esm2022/lib/input/auto-focus/auto-focus.directive.mjs +0 -48
  23. package/esm2022/lib/input/button/button.component.mjs +0 -139
  24. package/esm2022/lib/input/button-group/button-group.component.mjs +0 -39
  25. package/esm2022/lib/input/calendar/calendar.component.mjs +0 -318
  26. package/esm2022/lib/input/card-checkbox/card-checkbox.component.mjs +0 -13
  27. package/esm2022/lib/input/checkbox/checkbox.component.mjs +0 -84
  28. package/esm2022/lib/input/currency-field/currency-field.component.mjs +0 -26
  29. package/esm2022/lib/input/date/date.component.mjs +0 -279
  30. package/esm2022/lib/input/date-range/date-range.component.mjs +0 -478
  31. package/esm2022/lib/input/filter-chip/filter-chip.component.mjs +0 -47
  32. package/esm2022/lib/input/filter-dropdown/filter-dropdown.component.mjs +0 -89
  33. package/esm2022/lib/input/input-label/input-label.component.mjs +0 -38
  34. package/esm2022/lib/input/mentions-input/mentions-input.component.mjs +0 -745
  35. package/esm2022/lib/input/number-field/number-field.component.mjs +0 -125
  36. package/esm2022/lib/input/percentage-field/percentage-field.component.mjs +0 -20
  37. package/esm2022/lib/input/phone-field/phone-field.component.mjs +0 -74
  38. package/esm2022/lib/input/radio/radio.component.mjs +0 -58
  39. package/esm2022/lib/input/search/search.component.mjs +0 -26
  40. package/esm2022/lib/input/search-select/search-select.component.mjs +0 -189
  41. package/esm2022/lib/input/select/select/select.component.mjs +0 -179
  42. package/esm2022/lib/input/select/select-node/select-node.component.mjs +0 -60
  43. package/esm2022/lib/input/select/state.mjs +0 -882
  44. package/esm2022/lib/input/simple-select/option-group.pipe.mjs +0 -19
  45. package/esm2022/lib/input/simple-select/simple-select.component.mjs +0 -178
  46. package/esm2022/lib/input/switch-checkbox/switch-checkbox.component.mjs +0 -33
  47. package/esm2022/lib/input/text-field/text-field.component.mjs +0 -115
  48. package/esm2022/lib/input/textarea-field/textarea-field.component.mjs +0 -21
  49. package/esm2022/lib/input/validation-message/validation-message.component.mjs +0 -17
  50. package/esm2022/lib/layout/card/card-actions.component.mjs +0 -72
  51. package/esm2022/lib/layout/card/card-content.component.mjs +0 -64
  52. package/esm2022/lib/layout/card/card-header.component.mjs +0 -201
  53. package/esm2022/lib/layout/card/card-link.component.mjs +0 -115
  54. package/esm2022/lib/layout/card/card-media.component.mjs +0 -70
  55. package/esm2022/lib/layout/card/card.component.mjs +0 -306
  56. package/esm2022/lib/layout/setting-row/setting-row.component.mjs +0 -111
  57. package/esm2022/lib/load/loading/loading.component.mjs +0 -43
  58. package/esm2022/lib/load/loading-cover/loading-cover.component.mjs +0 -25
  59. package/esm2022/lib/navigation/editable-heading/editable-heading.component.mjs +0 -243
  60. package/esm2022/lib/navigation/link/link.component.mjs +0 -48
  61. package/esm2022/lib/navigation/page-header/page-header.component.mjs +0 -68
  62. package/esm2022/lib/navigation/simple-tabs/simple-tab/simple-tab.component.mjs +0 -43
  63. package/esm2022/lib/navigation/simple-tabs/simple-tabs/simple-tabs.component.mjs +0 -11
  64. package/esm2022/lib/navigation/tabs/tab/tab.component.mjs +0 -16
  65. package/esm2022/lib/navigation/tabs/tabs/tabs.component.mjs +0 -11
  66. package/esm2022/lib/navigation/views/all-views-modal/all-views-modal.component.mjs +0 -43
  67. package/esm2022/lib/navigation/views/edit-view/edit-view.component.mjs +0 -118
  68. package/esm2022/lib/navigation/views/permission-picker/permission-picker.component.mjs +0 -151
  69. package/esm2022/lib/navigation/views/state.mjs +0 -456
  70. package/esm2022/lib/navigation/views/view-menu/view-menu.component.mjs +0 -30
  71. package/esm2022/lib/navigation/views/views/views.component.mjs +0 -90
  72. package/esm2022/lib/notification/badge/badge.component.mjs +0 -45
  73. package/esm2022/lib/notification/banner/banner-action.component.mjs +0 -48
  74. package/esm2022/lib/notification/banner/banner.component.mjs +0 -61
  75. package/esm2022/lib/notification/map-indicator/map-indicator.component.mjs +0 -50
  76. package/esm2022/lib/notification/map-indicator/map-indicators.mjs +0 -15
  77. package/esm2022/lib/notification/notification-badge/notification-badge.component.mjs +0 -26
  78. package/esm2022/lib/overlay/callout/callout.component.mjs +0 -130
  79. package/esm2022/lib/overlay/callout/callout.helpers.mjs +0 -113
  80. package/esm2022/lib/overlay/callout/help/help.component.mjs +0 -23
  81. package/esm2022/lib/overlay/callout/lock-scroll.directive.mjs +0 -69
  82. package/esm2022/lib/overlay/callout/menu/menu-item/menu-item.component.mjs +0 -71
  83. package/esm2022/lib/overlay/callout/menu/menu.component.mjs +0 -39
  84. package/esm2022/lib/overlay/callout/select-callout-defaults.mjs +0 -13
  85. package/esm2022/lib/overlay/callout/tooltip/locked-tooltip.directive.mjs +0 -30
  86. package/esm2022/lib/overlay/callout/tooltip/tooltip.component.mjs +0 -57
  87. package/esm2022/lib/overlay/callout/tooltip/tooltip.directive.mjs +0 -138
  88. package/esm2022/lib/overlay/modal/dialog/dialog.component.mjs +0 -47
  89. package/esm2022/lib/overlay/modal/dialog-stack.service.mjs +0 -41
  90. package/esm2022/lib/overlay/modal/form-dialog/form-dialog.component.mjs +0 -146
  91. package/esm2022/lib/overlay/modal/modal.component.mjs +0 -31
  92. package/esm2022/lib/overlay/modal/side-sheet/side-sheet.component.mjs +0 -30
  93. package/esm2022/lib/overlay/overlay-outlet.component.mjs +0 -98
  94. package/esm2022/lib/overlay/overlay.directive.mjs +0 -25
  95. package/esm2022/lib/overlay/overlay.service.mjs +0 -35
  96. package/esm2022/lib/overlay/toast/toast-action.component.mjs +0 -11
  97. package/esm2022/lib/overlay/toast/toast.component.mjs +0 -41
  98. package/esm2022/lib/riv.module.mjs +0 -580
  99. package/esm2022/lib/size/size.directive.mjs +0 -33
  100. package/esm2022/lib/table/simple-table/coordinate-helper.mjs +0 -61
  101. package/esm2022/lib/table/simple-table/simple-table-cell.component.mjs +0 -36
  102. package/esm2022/lib/table/simple-table/simple-table-header-cell.component.mjs +0 -37
  103. package/esm2022/lib/table/simple-table/simple-table-row.component.mjs +0 -19
  104. package/esm2022/lib/table/simple-table/simple-table.component.mjs +0 -104
  105. package/esm2022/lib/table/table/clipboard.mjs +0 -182
  106. package/esm2022/lib/table/table/state-helpers/collapse-helpers.mjs +0 -116
  107. package/esm2022/lib/table/table/state-helpers/column-helpers.mjs +0 -383
  108. package/esm2022/lib/table/table/state-helpers/display-helpers.mjs +0 -50
  109. package/esm2022/lib/table/table/state-helpers/nesting-helpers.mjs +0 -123
  110. package/esm2022/lib/table/table/state-helpers/order-helpers.mjs +0 -164
  111. package/esm2022/lib/table/table/state-helpers/pagination-helpers.mjs +0 -139
  112. package/esm2022/lib/table/table/state-helpers/result-helpers.mjs +0 -70
  113. package/esm2022/lib/table/table/state-helpers/search-helpers.mjs +0 -72
  114. package/esm2022/lib/table/table/state-helpers/selection-helpers.mjs +0 -180
  115. package/esm2022/lib/table/table/state.mjs +0 -1035
  116. package/esm2022/lib/table/table/table/table.component.mjs +0 -367
  117. package/esm2022/lib/table/table/table-collapse-all/table-collapse-all.component.mjs +0 -25
  118. package/esm2022/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +0 -227
  119. package/esm2022/lib/table/table/table-column-settings/table-column-settings.component.mjs +0 -134
  120. package/esm2022/lib/table/table/table-csv-export/table-csv-export.component.mjs +0 -35
  121. package/esm2022/lib/table/table/table-header-resize-handle/table-header-resize-handle.component.mjs +0 -28
  122. package/esm2022/lib/table/table/table-search/table-search.component.mjs +0 -71
  123. package/esm2022/lib/table/table/table-search-columns/table-search-columns.component.mjs +0 -57
  124. package/esm2022/lib/util/local-storage.mjs +0 -17
  125. package/esm2022/lib/visibility/visibility.directive.mjs +0 -34
  126. package/esm2022/lib/visualization/chart/chart-scaling.mjs +0 -380
  127. package/esm2022/lib/visualization/chart/chart.component.mjs +0 -626
  128. package/esm2022/lib/visualization/chart/chart.mjs +0 -3768
  129. package/esm2022/lib/visualization/data-table/data-table-cell.component.mjs +0 -22
  130. package/esm2022/lib/visualization/data-table/data-table-header-cell.component.mjs +0 -11
  131. package/esm2022/lib/visualization/data-table/data-table-row.component.mjs +0 -19
  132. package/esm2022/lib/visualization/data-table/data-table.component.mjs +0 -17
  133. package/esm2022/lib/visualization/donut/donut.component.mjs +0 -54
  134. package/esm2022/lib/visualization/funnel-chart/funnel-chart.component.mjs +0 -73
  135. package/esm2022/lib/visualization/funnel-chart/funnel-chart.helpers.mjs +0 -33
  136. package/esm2022/lib/visualization/highlight/highlight.component.mjs +0 -24
  137. package/esm2022/lib/visualization/highlight/highlight.helpers.mjs +0 -20
  138. package/esm2022/lib/visualization/intervals.mjs +0 -63
  139. package/esm2022/lib/visualization/issue/issue.component.mjs +0 -30
  140. package/esm2022/lib/visualization/legend-item/legend-item.component.mjs +0 -49
  141. package/esm2022/lib/visualization/metric/metric.component.mjs +0 -52
  142. package/esm2022/lib/visualization/mini-pie/mini-pie.component.mjs +0 -51
  143. package/esm2022/lib/visualization/progress/progress.component.mjs +0 -24
  144. package/esm2022/lib/visualization/stacked-column/stacked-column.component.mjs +0 -377
  145. package/esm2022/lib/visualization/stacked-column/stacked-column.helpers.mjs +0 -18
  146. package/esm2022/lib/visualization/stacked-row/stacked-row.component.mjs +0 -270
  147. package/esm2022/lib/visualization/stacked-row/stacked-row.helpers.mjs +0 -74
  148. package/esm2022/lib/visualization/time-series/time-series.component.mjs +0 -374
  149. package/esm2022/lib/visualization/time-series/time-series.helpers.mjs +0 -15
  150. package/esm2022/lib/visualization/trend/trend.component.mjs +0 -51
  151. package/esm2022/lib/visualization/zero-state/zero-state.component.mjs +0 -22
  152. package/esm2022/public-api.mjs +0 -118
  153. package/esm2022/rivet-health-design-system.mjs +0 -5
  154. package/index.d.ts +0 -5
  155. package/lib/accessibility/sr-only/sr-only.component.d.ts +0 -12
  156. package/lib/download/download.service.d.ts +0 -9
  157. package/lib/format/pipes/common.d.ts +0 -6
  158. package/lib/format/pipes/date.pipe.d.ts +0 -8
  159. package/lib/format/pipes/days.pipe.d.ts +0 -8
  160. package/lib/format/pipes/dollars.pipe.d.ts +0 -9
  161. package/lib/format/pipes/number.pipe.d.ts +0 -8
  162. package/lib/format/pipes/percentage.pipe.d.ts +0 -8
  163. package/lib/format/pipes/sentence-case.pipe.d.ts +0 -8
  164. package/lib/format/pipes/small-currency.pipe.d.ts +0 -8
  165. package/lib/format/pipes/small-number.pipe.d.ts +0 -8
  166. package/lib/format/svg-text-truncate/svg-text-truncate.directive.d.ts +0 -14
  167. package/lib/format/truncate/truncate.component.d.ts +0 -17
  168. package/lib/icon/dom-cache.d.ts +0 -13
  169. package/lib/icon/icon.component.d.ts +0 -27
  170. package/lib/icon/icons.d.ts +0 -137
  171. package/lib/input/alphabetic-field/alphabetic-field.component.d.ts +0 -14
  172. package/lib/input/auto-focus/auto-focus.directive.d.ts +0 -21
  173. package/lib/input/button/button.component.d.ts +0 -37
  174. package/lib/input/button-group/button-group.component.d.ts +0 -11
  175. package/lib/input/calendar/calendar.component.d.ts +0 -67
  176. package/lib/input/card-checkbox/card-checkbox.component.d.ts +0 -6
  177. package/lib/input/checkbox/checkbox.component.d.ts +0 -32
  178. package/lib/input/currency-field/currency-field.component.d.ts +0 -9
  179. package/lib/input/date/date.component.d.ts +0 -62
  180. package/lib/input/date-range/date-range.component.d.ts +0 -97
  181. package/lib/input/filter-chip/filter-chip.component.d.ts +0 -13
  182. package/lib/input/filter-dropdown/filter-dropdown.component.d.ts +0 -30
  183. package/lib/input/input-label/input-label.component.d.ts +0 -17
  184. package/lib/input/mentions-input/mentions-input.component.d.ts +0 -93
  185. package/lib/input/number-field/number-field.component.d.ts +0 -36
  186. package/lib/input/percentage-field/percentage-field.component.d.ts +0 -7
  187. package/lib/input/phone-field/phone-field.component.d.ts +0 -17
  188. package/lib/input/radio/radio.component.d.ts +0 -28
  189. package/lib/input/search/search.component.d.ts +0 -10
  190. package/lib/input/search-select/search-select.component.d.ts +0 -62
  191. package/lib/input/select/select/select.component.d.ts +0 -63
  192. package/lib/input/select/select-node/select-node.component.d.ts +0 -30
  193. package/lib/input/select/state.d.ts +0 -250
  194. package/lib/input/simple-select/option-group.pipe.d.ts +0 -8
  195. package/lib/input/simple-select/simple-select.component.d.ts +0 -63
  196. package/lib/input/switch-checkbox/switch-checkbox.component.d.ts +0 -18
  197. package/lib/input/text-field/text-field.component.d.ts +0 -38
  198. package/lib/input/textarea-field/textarea-field.component.d.ts +0 -8
  199. package/lib/input/validation-message/validation-message.component.d.ts +0 -6
  200. package/lib/layout/card/card-actions.component.d.ts +0 -38
  201. package/lib/layout/card/card-content.component.d.ts +0 -33
  202. package/lib/layout/card/card-header.component.d.ts +0 -132
  203. package/lib/layout/card/card-link.component.d.ts +0 -64
  204. package/lib/layout/card/card-media.component.d.ts +0 -43
  205. package/lib/layout/card/card.component.d.ts +0 -225
  206. package/lib/layout/setting-row/setting-row.component.d.ts +0 -72
  207. package/lib/load/loading/loading.component.d.ts +0 -17
  208. package/lib/load/loading-cover/loading-cover.component.d.ts +0 -10
  209. package/lib/navigation/editable-heading/editable-heading.component.d.ts +0 -118
  210. package/lib/navigation/link/link.component.d.ts +0 -19
  211. package/lib/navigation/page-header/page-header.component.d.ts +0 -50
  212. package/lib/navigation/simple-tabs/simple-tab/simple-tab.component.d.ts +0 -11
  213. package/lib/navigation/simple-tabs/simple-tabs/simple-tabs.component.d.ts +0 -5
  214. package/lib/navigation/tabs/tab/tab.component.d.ts +0 -6
  215. package/lib/navigation/tabs/tabs/tabs.component.d.ts +0 -5
  216. package/lib/navigation/views/all-views-modal/all-views-modal.component.d.ts +0 -14
  217. package/lib/navigation/views/edit-view/edit-view.component.d.ts +0 -31
  218. package/lib/navigation/views/permission-picker/permission-picker.component.d.ts +0 -37
  219. package/lib/navigation/views/state.d.ts +0 -175
  220. package/lib/navigation/views/view-menu/view-menu.component.d.ts +0 -13
  221. package/lib/navigation/views/views/views.component.d.ts +0 -25
  222. package/lib/notification/badge/badge.component.d.ts +0 -14
  223. package/lib/notification/banner/banner-action.component.d.ts +0 -15
  224. package/lib/notification/banner/banner.component.d.ts +0 -25
  225. package/lib/notification/map-indicator/map-indicator.component.d.ts +0 -24
  226. package/lib/notification/map-indicator/map-indicators.d.ts +0 -9
  227. package/lib/notification/notification-badge/notification-badge.component.d.ts +0 -11
  228. package/lib/overlay/callout/callout.component.d.ts +0 -36
  229. package/lib/overlay/callout/callout.helpers.d.ts +0 -16
  230. package/lib/overlay/callout/help/help.component.d.ts +0 -11
  231. package/lib/overlay/callout/lock-scroll.directive.d.ts +0 -22
  232. package/lib/overlay/callout/menu/menu-item/menu-item.component.d.ts +0 -27
  233. package/lib/overlay/callout/menu/menu.component.d.ts +0 -17
  234. package/lib/overlay/callout/select-callout-defaults.d.ts +0 -5
  235. package/lib/overlay/callout/tooltip/locked-tooltip.directive.d.ts +0 -14
  236. package/lib/overlay/callout/tooltip/tooltip.component.d.ts +0 -26
  237. package/lib/overlay/callout/tooltip/tooltip.directive.d.ts +0 -48
  238. package/lib/overlay/modal/dialog/dialog.component.d.ts +0 -19
  239. package/lib/overlay/modal/dialog-stack.service.d.ts +0 -23
  240. package/lib/overlay/modal/form-dialog/form-dialog.component.d.ts +0 -63
  241. package/lib/overlay/modal/modal.component.d.ts +0 -11
  242. package/lib/overlay/modal/side-sheet/side-sheet.component.d.ts +0 -13
  243. package/lib/overlay/overlay-outlet.component.d.ts +0 -19
  244. package/lib/overlay/overlay.directive.d.ts +0 -13
  245. package/lib/overlay/overlay.service.d.ts +0 -14
  246. package/lib/overlay/toast/toast-action.component.d.ts +0 -5
  247. package/lib/overlay/toast/toast.component.d.ts +0 -17
  248. package/lib/riv.module.d.ts +0 -122
  249. package/lib/size/size.directive.d.ts +0 -12
  250. package/lib/table/simple-table/coordinate-helper.d.ts +0 -13
  251. package/lib/table/simple-table/simple-table-cell.component.d.ts +0 -19
  252. package/lib/table/simple-table/simple-table-header-cell.component.d.ts +0 -20
  253. package/lib/table/simple-table/simple-table-row.component.d.ts +0 -6
  254. package/lib/table/simple-table/simple-table.component.d.ts +0 -11
  255. package/lib/table/table/clipboard.d.ts +0 -38
  256. package/lib/table/table/state-helpers/collapse-helpers.d.ts +0 -9
  257. package/lib/table/table/state-helpers/column-helpers.d.ts +0 -29
  258. package/lib/table/table/state-helpers/display-helpers.d.ts +0 -5
  259. package/lib/table/table/state-helpers/nesting-helpers.d.ts +0 -13
  260. package/lib/table/table/state-helpers/order-helpers.d.ts +0 -13
  261. package/lib/table/table/state-helpers/pagination-helpers.d.ts +0 -12
  262. package/lib/table/table/state-helpers/result-helpers.d.ts +0 -10
  263. package/lib/table/table/state-helpers/search-helpers.d.ts +0 -17
  264. package/lib/table/table/state-helpers/selection-helpers.d.ts +0 -13
  265. package/lib/table/table/state.d.ts +0 -512
  266. package/lib/table/table/table/table.component.d.ts +0 -88
  267. package/lib/table/table/table-collapse-all/table-collapse-all.component.d.ts +0 -10
  268. package/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.d.ts +0 -52
  269. package/lib/table/table/table-column-settings/table-column-settings.component.d.ts +0 -37
  270. package/lib/table/table/table-csv-export/table-csv-export.component.d.ts +0 -14
  271. package/lib/table/table/table-header-resize-handle/table-header-resize-handle.component.d.ts +0 -11
  272. package/lib/table/table/table-search/table-search.component.d.ts +0 -21
  273. package/lib/table/table/table-search-columns/table-search-columns.component.d.ts +0 -23
  274. package/lib/util/local-storage.d.ts +0 -14
  275. package/lib/visibility/visibility.directive.d.ts +0 -12
  276. package/lib/visualization/chart/chart-scaling.d.ts +0 -100
  277. package/lib/visualization/chart/chart.component.d.ts +0 -116
  278. package/lib/visualization/chart/chart.d.ts +0 -354
  279. package/lib/visualization/data-table/data-table-cell.component.d.ts +0 -11
  280. package/lib/visualization/data-table/data-table-header-cell.component.d.ts +0 -5
  281. package/lib/visualization/data-table/data-table-row.component.d.ts +0 -6
  282. package/lib/visualization/data-table/data-table.component.d.ts +0 -6
  283. package/lib/visualization/donut/donut.component.d.ts +0 -22
  284. package/lib/visualization/funnel-chart/funnel-chart.component.d.ts +0 -30
  285. package/lib/visualization/funnel-chart/funnel-chart.helpers.d.ts +0 -4
  286. package/lib/visualization/highlight/highlight.component.d.ts +0 -15
  287. package/lib/visualization/highlight/highlight.helpers.d.ts +0 -2
  288. package/lib/visualization/intervals.d.ts +0 -8
  289. package/lib/visualization/issue/issue.component.d.ts +0 -10
  290. package/lib/visualization/legend-item/legend-item.component.d.ts +0 -22
  291. package/lib/visualization/metric/metric.component.d.ts +0 -20
  292. package/lib/visualization/mini-pie/mini-pie.component.d.ts +0 -17
  293. package/lib/visualization/progress/progress.component.d.ts +0 -8
  294. package/lib/visualization/stacked-column/stacked-column.component.d.ts +0 -129
  295. package/lib/visualization/stacked-column/stacked-column.helpers.d.ts +0 -3
  296. package/lib/visualization/stacked-row/stacked-row.component.d.ts +0 -109
  297. package/lib/visualization/stacked-row/stacked-row.helpers.d.ts +0 -53
  298. package/lib/visualization/time-series/time-series.component.d.ts +0 -126
  299. package/lib/visualization/time-series/time-series.helpers.d.ts +0 -34
  300. package/lib/visualization/trend/trend.component.d.ts +0 -13
  301. package/lib/visualization/zero-state/zero-state.component.d.ts +0 -9
  302. package/public-api.d.ts +0 -118
@@ -1,306 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
- import { uniqueId } from 'lodash';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- /**
6
- * Surface container that groups related content into a single scannable unit.
7
- *
8
- * A card is composed, not configured: project the parts you need, in the order
9
- * you need them. Every part is optional, so a bare `riv-card` is a valid
10
- * surface on its own.
11
- *
12
- * - `riv-card-media` — leading image or video
13
- * - `riv-card-header` — heading, subheading, leading adornment, actions
14
- * - `riv-card-content` — body
15
- * - `riv-card-actions` — trailing control row
16
- *
17
- * ```html
18
- * <riv-card>
19
- * <riv-card-header [heading]="workbook.name" [subheading]="payerName">
20
- * <riv-menu actions>...</riv-menu>
21
- * </riv-card-header>
22
- * <riv-card-content>
23
- * Last edit: {{ workbook.modified | rivDate }}
24
- * </riv-card-content>
25
- * </riv-card>
26
- * ```
27
- *
28
- * ## Making the card activate
29
- *
30
- * Set `clickable` and handle `cardClick` to make the whole surface act on a
31
- * click:
32
- *
33
- * ```html
34
- * <riv-card [clickable]="true" (cardClick)="goToWorkbook()">
35
- * ```
36
- *
37
- * The card renders its own full-surface button for this, so activation works
38
- * with a pointer, with Enter, and with Space, and the focus ring traces the
39
- * whole card. Controls in `riv-card-header`'s `[actions]` slot and in
40
- * `riv-card-actions` sit above it and stay independently clickable — a menu
41
- * inside a clickable card needs no `stopPropagation`. Other interactive content
42
- * projected into the card must raise itself with `position: relative` and
43
- * `z-index: var(--card-raised-z-index)`.
44
- *
45
- * When the card's action is really a navigation, prefer `[riv-card-link]` on an
46
- * `<a>` instead: that keeps the URL, middle-click, and "open in new tab".
47
- *
48
- * ## Selection
49
- *
50
- * Set `selected` to mark the card the user is currently looking at. It gives
51
- * the surface a distinct border and shadow, and announces through
52
- * `aria-current` so the state is not conveyed by colour alone.
53
- *
54
- * ```html
55
- * <riv-card [selected]="workbook.id === activeId">
56
- * ```
57
- *
58
- * Selection is separate from `tone`, so it composes with any tint — a selected
59
- * `danger` card keeps its danger background.
60
- *
61
- * ## Making the card expand and collapse
62
- *
63
- * Set `expandable` on `riv-card-header` and render the body only while it is
64
- * open. The header owns the toggle affordance and its accessibility; the
65
- * consumer owns the state:
66
- *
67
- * ```html
68
- * <riv-card>
69
- * <riv-card-header
70
- * [heading]="'Patient info'"
71
- * [expandable]="true"
72
- * [(expanded)]="open"
73
- * ></riv-card-header>
74
- * <riv-card-content *ngIf="open">...</riv-card-content>
75
- * </riv-card>
76
- * ```
77
- *
78
- * The card relays the region id from the header to the content, so the toggle's
79
- * `aria-controls` names the body with no ids wired by hand.
80
- *
81
- * Do not combine `expandable` with `clickable`: both claim the same click, and
82
- * a card that opens as well as expands leaves the user no way to tell which one
83
- * they are about to get.
84
- *
85
- * ## Notes
86
- *
87
- * When projecting raw content with no sub-components, set `padding` so the
88
- * content is not flush against the border.
89
- *
90
- * The card clips its own content so media and filled header/action rows follow
91
- * its corners. Popups (`riv-menu`, `rivTooltip`) render through the overlay
92
- * outlet, so they are not affected by that clipping.
93
- *
94
- * Set the corner radius with `radius`. The `--card-border-radius` custom
95
- * property still overrides it, for radii off the token scale.
96
- */
97
- export class CardComponent {
98
- constructor(el, renderer, cdr) {
99
- this.el = el;
100
- this.renderer = renderer;
101
- this.cdr = cdr;
102
- /** Border and shadow treatment of the surface. */
103
- this.variant = 'outlined';
104
- /** Neutral background elevation, matching the `--surface-light-*` tokens. */
105
- this.surface = '0';
106
- /** Semantic background tint. Overrides `surface` when not `neutral`. */
107
- this.tone = 'neutral';
108
- /** Stacking direction of the projected parts. */
109
- this.orientation = 'vertical';
110
- /**
111
- * Padding applied to the card itself. Leave as `none` when composing with
112
- * `riv-card-header` / `riv-card-content` / `riv-card-actions`, which own
113
- * their own padding.
114
- */
115
- this.padding = 'none';
116
- /** Corner radius, matching the `--border-radius-*` tokens. */
117
- this.radius = 'medium';
118
- /**
119
- * Makes the whole surface activate, emitting `cardClick`. Adds keyboard
120
- * support and a hover shadow (see `hoverDepth`).
121
- */
122
- this.clickable = false;
123
- /**
124
- * Marks the card as the current selection, giving it a distinct border and
125
- * shadow. Composes with any `tone`, so a selected danger card keeps its
126
- * tint. Announced to assistive technology through `aria-current`.
127
- */
128
- this.selected = false;
129
- /**
130
- * Mutes the surface, suppresses hover feedback, and disables the click
131
- * target. Presentational for everything else — disable the card's own
132
- * controls too.
133
- */
134
- this.disabled = false;
135
- /** Emitted when a clickable card is activated by pointer or keyboard. */
136
- this.cardClick = new EventEmitter();
137
- /**
138
- * Names the click target from the card's content. Generated only when the
139
- * consumer has not set their own id.
140
- */
141
- this.cardId = '';
142
- /** Set by a projected `[riv-card-link]` whose overlay covers the card. */
143
- this.stretchLink = false;
144
- }
145
- /**
146
- * Id an expandable header's toggle points `aria-controls` at, worn by a
147
- * projected `riv-card-content`.
148
- */
149
- get regionId() {
150
- return this.expandRegionId;
151
- }
152
- ngOnInit() {
153
- this.cardId = this.el.nativeElement.id || uniqueId('riv-card-');
154
- if (!this.el.nativeElement.id) {
155
- this.renderer.setAttribute(this.el.nativeElement, 'id', this.cardId);
156
- }
157
- }
158
- /**
159
- * Registers the header's title as the click target's accessible name, which
160
- * keeps the announcement to the card's subject instead of every word on the
161
- * surface. Called by `riv-card-header`; not part of the public API.
162
- */
163
- setTitleId(id) {
164
- this.titleId = id;
165
- this.cdr.markForCheck();
166
- }
167
- /**
168
- * Gives up a title registered by `setTitleId`, so a header that is removed
169
- * does not leave the click target naming itself against a detached element.
170
- * Ignores ids that are no longer the one in use.
171
- */
172
- clearTitleId(id) {
173
- if (this.titleId === id) {
174
- this.setTitleId(undefined);
175
- }
176
- }
177
- /**
178
- * Relays the region an expandable header controls to the projected
179
- * `riv-card-content`, so neither side needs the consumer to wire an id.
180
- * Called by `riv-card-header`; not part of the public API.
181
- */
182
- setRegionId(id) {
183
- this.expandRegionId = id;
184
- this.cdr.markForCheck();
185
- }
186
- /**
187
- * Gives up a region registered by `setRegionId`. Ignores ids that are no
188
- * longer the one in use.
189
- */
190
- clearRegionId(id) {
191
- if (this.expandRegionId === id) {
192
- this.setRegionId(undefined);
193
- }
194
- }
195
- /**
196
- * Records whether an enabled stretch `[riv-card-link]` covers the card, which
197
- * makes the whole surface activate and so earns the clickable hover shadow.
198
- * Called by `riv-card-link`; not part of the public API.
199
- */
200
- setStretchLink(present) {
201
- this.stretchLink = present;
202
- this.cdr.markForCheck();
203
- }
204
- /**
205
- * Element whose text names the click target, unless `clickLabel` is set. The
206
- * host id is read from the DOM rather than cached, so a bound `[id]` that
207
- * changes is picked up on the card's next change detection.
208
- */
209
- get labelledBy() {
210
- if (this.clickLabel)
211
- return null;
212
- return this.titleId ?? (this.el.nativeElement.id || this.cardId);
213
- }
214
- /** Announces the current selection to assistive technology. */
215
- get ariaCurrent() {
216
- return this.selected ? 'true' : null;
217
- }
218
- get classes() {
219
- return Object.entries({
220
- [this.variant]: true,
221
- [`surface-${this.surface}`]: true,
222
- [`tone-${this.tone}`]: true,
223
- [this.orientation]: true,
224
- [`padding-${this.padding}`]: true,
225
- [`radius-${this.radius}`]: true,
226
- [`hover-depth-${this.hoverDepth ??
227
- CardComponent.defaultHoverDepth({
228
- clickable: this.clickable || this.stretchLink,
229
- variant: this.variant,
230
- })}`]: true,
231
- clickable: this.clickable,
232
- selected: this.selected,
233
- disabled: this.disabled,
234
- })
235
- .filter(([_, v]) => v)
236
- .map(([k]) => k)
237
- .join(' ');
238
- }
239
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
240
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CardComponent, selector: "riv-card", inputs: { variant: "variant", surface: "surface", tone: "tone", orientation: "orientation", padding: "padding", radius: "radius", hoverDepth: "hoverDepth", clickable: "clickable", clickLabel: "clickLabel", selected: "selected", disabled: "disabled" }, outputs: { cardClick: "cardClick" }, host: { properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.classes" } }, ngImport: i0, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;color:var(--type-light-high-contrast);font:var(--body-medium)}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host.outlined{border:var(--border-width) solid var(--border-light)}:host.dashed{border:var(--border-width) dashed var(--border-light)}:host.elevated{box-shadow:var(--depth-1)}:host.surface-0{background-color:var(--surface-light-0)}:host.surface-1{background-color:var(--surface-light-1)}:host.surface-2{background-color:var(--surface-light-2)}:host.tone-danger{background-color:var(--surface-light-danger)}:host.tone-caution{background-color:var(--surface-light-caution)}:host.tone-warning{background-color:var(--surface-light-warning)}:host.tone-safety{background-color:var(--surface-light-safety)}:host.tone-selected{background-color:var(--surface-light-selected)}:host.padding-small{padding:var(--size-small)}:host.padding-medium{padding:var(--size-medium)}:host.padding-large{padding:var(--size-large)}:host.padding-xxlarge{padding:var(--size-xxlarge)}:host.radius-small{border-radius:var(--card-border-radius, var(--border-radius-small))}:host.radius-medium{border-radius:var(--card-border-radius, var(--border-radius-medium))}:host.radius-large{border-radius:var(--card-border-radius, var(--border-radius-large))}:host.radius-xlarge{border-radius:var(--card-border-radius, var(--border-radius-xlarge))}:host:not(.hover-depth-none){transition:box-shadow var(--short-transition)}:host.padding-xlarge{padding:var(--size-xlarge)}:host.clickable{transition:box-shadow var(--short-transition)}:host.hover-depth-1:not(.disabled):hover{box-shadow:var(--depth-1)}:host.hover-depth-2:not(.disabled):hover{box-shadow:var(--depth-2)}:host.hover-depth-3:not(.disabled):hover{box-shadow:var(--depth-3)}:host.hover-depth-4:not(.disabled):hover{box-shadow:var(--depth-4)}.click-target{position:absolute;inset:0;z-index:var(--card-click-target-z-index);padding:0;border:none;background:none;cursor:pointer}.click-target:disabled{cursor:default}.click-target:focus-visible{outline:var(--border-width-large) solid var(--type-light-link);outline-offset:calc(-1 * var(--border-width-large))}:host.selected{border:var(--border-width) solid var(--baloo-50);box-shadow:var(--depth-2)}:host.disabled{background-color:var(--surface-light-1)}:host.outlined.disabled,:host.dashed.disabled{border-color:var(--border-light)}@media print{:host{break-inside:avoid}}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
241
- }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardComponent, decorators: [{
243
- type: Component,
244
- args: [{ selector: 'riv-card', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"clickable\"\n type=\"button\"\n class=\"click-target\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"clickLabel\"\n [attr.aria-labelledby]=\"labelledBy\"\n (click)=\"cardClick.emit($event)\"\n></button>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:flex;min-width:0;overflow:hidden;color:var(--type-light-high-contrast);font:var(--body-medium)}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host.outlined{border:var(--border-width) solid var(--border-light)}:host.dashed{border:var(--border-width) dashed var(--border-light)}:host.elevated{box-shadow:var(--depth-1)}:host.surface-0{background-color:var(--surface-light-0)}:host.surface-1{background-color:var(--surface-light-1)}:host.surface-2{background-color:var(--surface-light-2)}:host.tone-danger{background-color:var(--surface-light-danger)}:host.tone-caution{background-color:var(--surface-light-caution)}:host.tone-warning{background-color:var(--surface-light-warning)}:host.tone-safety{background-color:var(--surface-light-safety)}:host.tone-selected{background-color:var(--surface-light-selected)}:host.padding-small{padding:var(--size-small)}:host.padding-medium{padding:var(--size-medium)}:host.padding-large{padding:var(--size-large)}:host.padding-xxlarge{padding:var(--size-xxlarge)}:host.radius-small{border-radius:var(--card-border-radius, var(--border-radius-small))}:host.radius-medium{border-radius:var(--card-border-radius, var(--border-radius-medium))}:host.radius-large{border-radius:var(--card-border-radius, var(--border-radius-large))}:host.radius-xlarge{border-radius:var(--card-border-radius, var(--border-radius-xlarge))}:host:not(.hover-depth-none){transition:box-shadow var(--short-transition)}:host.padding-xlarge{padding:var(--size-xlarge)}:host.clickable{transition:box-shadow var(--short-transition)}:host.hover-depth-1:not(.disabled):hover{box-shadow:var(--depth-1)}:host.hover-depth-2:not(.disabled):hover{box-shadow:var(--depth-2)}:host.hover-depth-3:not(.disabled):hover{box-shadow:var(--depth-3)}:host.hover-depth-4:not(.disabled):hover{box-shadow:var(--depth-4)}.click-target{position:absolute;inset:0;z-index:var(--card-click-target-z-index);padding:0;border:none;background:none;cursor:pointer}.click-target:disabled{cursor:default}.click-target:focus-visible{outline:var(--border-width-large) solid var(--type-light-link);outline-offset:calc(-1 * var(--border-width-large))}:host.selected{border:var(--border-width) solid var(--baloo-50);box-shadow:var(--depth-2)}:host.disabled{background-color:var(--surface-light-1)}:host.outlined.disabled,:host.dashed.disabled{border-color:var(--border-light)}@media print{:host{break-inside:avoid}}\n"] }]
245
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { variant: [{
246
- type: Input
247
- }], surface: [{
248
- type: Input
249
- }], tone: [{
250
- type: Input
251
- }], orientation: [{
252
- type: Input
253
- }], padding: [{
254
- type: Input
255
- }], radius: [{
256
- type: Input
257
- }], hoverDepth: [{
258
- type: Input
259
- }], clickable: [{
260
- type: Input
261
- }], clickLabel: [{
262
- type: Input
263
- }], selected: [{
264
- type: Input
265
- }], disabled: [{
266
- type: Input
267
- }], cardClick: [{
268
- type: Output
269
- }], ariaCurrent: [{
270
- type: HostBinding,
271
- args: ['attr.aria-current']
272
- }], classes: [{
273
- type: HostBinding,
274
- args: ['class']
275
- }] } });
276
- (function (CardComponent) {
277
- CardComponent.Variants = ['outlined', 'elevated', 'flat', 'dashed'];
278
- CardComponent.Surfaces = ['0', '1', '2'];
279
- CardComponent.Tones = [
280
- 'neutral',
281
- 'danger',
282
- 'caution',
283
- 'warning',
284
- 'safety',
285
- 'selected',
286
- ];
287
- CardComponent.Orientations = ['vertical', 'horizontal'];
288
- /** Shared padding scale for the card and its sub-components. */
289
- CardComponent.Paddings = [
290
- 'none',
291
- 'small',
292
- 'medium',
293
- 'large',
294
- 'xlarge',
295
- 'xxlarge',
296
- ];
297
- CardComponent.Radii = ['small', 'medium', 'large', 'xlarge'];
298
- CardComponent.Depths = ['none', '1', '2', '3', '4'];
299
- function defaultHoverDepth({ clickable, variant, }) {
300
- if (!clickable)
301
- return 'none';
302
- return variant === 'elevated' ? '2' : '1';
303
- }
304
- CardComponent.defaultHoverDepth = defaultHoverDepth;
305
- })(CardComponent || (CardComponent = {}));
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sYXlvdXQvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2xheW91dC9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7OztBQUVsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJGRztBQU9ILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ21CLEVBQTJCLEVBQzNCLFFBQW1CLEVBQ25CLEdBQXNCO1FBRnRCLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHekMsa0RBQWtEO1FBRWxELFlBQU8sR0FBMEIsVUFBVSxDQUFDO1FBRTVDLDZFQUE2RTtRQUU3RSxZQUFPLEdBQTBCLEdBQUcsQ0FBQztRQUVyQyx3RUFBd0U7UUFFeEUsU0FBSSxHQUF1QixTQUFTLENBQUM7UUFFckMsaURBQWlEO1FBRWpELGdCQUFXLEdBQThCLFVBQVUsQ0FBQztRQUVwRDs7OztXQUlHO1FBRUgsWUFBTyxHQUEwQixNQUFNLENBQUM7UUFFeEMsOERBQThEO1FBRTlELFdBQU0sR0FBeUIsUUFBUSxDQUFDO1FBYXhDOzs7V0FHRztRQUVILGNBQVMsR0FBWSxLQUFLLENBQUM7UUFVM0I7Ozs7V0FJRztRQUVILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUI7Ozs7V0FJRztRQUVILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIseUVBQXlFO1FBRXpFLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRTNDOzs7V0FHRztRQUNLLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFRNUIsMEVBQTBFO1FBQ2xFLGdCQUFXLEdBQVksS0FBSyxDQUFDO0lBekZsQyxDQUFDO0lBMkZKOzs7T0FHRztJQUNILElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsRUFBc0I7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxFQUFVO1FBQ3JCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxFQUFzQjtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsRUFBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsT0FBZ0I7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQWMsVUFBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNwQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJO1lBQ3BCLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ2pDLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQzNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUk7WUFDeEIsQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDakMsQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDL0IsQ0FBQyxlQUNDLElBQUksQ0FBQyxVQUFVO2dCQUNmLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDOUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVc7b0JBQzdDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDdEIsQ0FDSCxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQ1QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQzthQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDckIsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzsrR0F6TVUsYUFBYTttR0FBYixhQUFhLDZhQ2hIMUIseVRBV0E7OzRGRHFHYSxhQUFhO2tCQU56QixTQUFTOytCQUNFLFVBQVUsbUJBR0gsdUJBQXVCLENBQUMsTUFBTTt1SUFXL0MsT0FBTztzQkFETixLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSztnQkFLTixJQUFJO3NCQURILEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQVNOLE9BQU87c0JBRE4sS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBWU4sVUFBVTtzQkFEVCxLQUFLO2dCQVFOLFNBQVM7c0JBRFIsS0FBSztnQkFTTixVQUFVO3NCQURULEtBQUs7Z0JBU04sUUFBUTtzQkFEUCxLQUFLO2dCQVNOLFFBQVE7c0JBRFAsS0FBSztnQkFLTixTQUFTO3NCQURSLE1BQU07Z0JBZ0dILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTTVCLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxPQUFPOztBQTBCdEIsV0FBaUIsYUFBYTtJQUNmLHNCQUFRLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQVUsQ0FBQztJQUcvRCxzQkFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQVUsQ0FBQztJQUdwQyxtQkFBSyxHQUFHO1FBQ25CLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULFNBQVM7UUFDVCxRQUFRO1FBQ1IsVUFBVTtLQUNGLENBQUM7SUFHRSwwQkFBWSxHQUFHLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBVSxDQUFDO0lBR2hFLGdFQUFnRTtJQUNuRCxzQkFBUSxHQUFHO1FBQ3RCLE1BQU07UUFDTixPQUFPO1FBQ1AsUUFBUTtRQUNSLE9BQU87UUFDUCxRQUFRO1FBQ1IsU0FBUztLQUNELENBQUM7SUFHRSxtQkFBSyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFVLENBQUM7SUFHeEQsb0JBQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQVUsQ0FBQztJQUc1RCxTQUFnQixpQkFBaUIsQ0FBQyxFQUNoQyxTQUFTLEVBQ1QsT0FBTyxHQUNzQztRQUM3QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDO1FBQzlCLE9BQU8sT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDNUMsQ0FBQztJQU5lLCtCQUFpQixvQkFNaEMsQ0FBQTtBQUNILENBQUMsRUE1Q2dCLGFBQWEsS0FBYixhQUFhLFFBNEM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ2xvZGFzaCc7XG5cbi8qKlxuICogU3VyZmFjZSBjb250YWluZXIgdGhhdCBncm91cHMgcmVsYXRlZCBjb250ZW50IGludG8gYSBzaW5nbGUgc2Nhbm5hYmxlIHVuaXQuXG4gKlxuICogQSBjYXJkIGlzIGNvbXBvc2VkLCBub3QgY29uZmlndXJlZDogcHJvamVjdCB0aGUgcGFydHMgeW91IG5lZWQsIGluIHRoZSBvcmRlclxuICogeW91IG5lZWQgdGhlbS4gRXZlcnkgcGFydCBpcyBvcHRpb25hbCwgc28gYSBiYXJlIGByaXYtY2FyZGAgaXMgYSB2YWxpZFxuICogc3VyZmFjZSBvbiBpdHMgb3duLlxuICpcbiAqIC0gYHJpdi1jYXJkLW1lZGlhYCDigJQgbGVhZGluZyBpbWFnZSBvciB2aWRlb1xuICogLSBgcml2LWNhcmQtaGVhZGVyYCDigJQgaGVhZGluZywgc3ViaGVhZGluZywgbGVhZGluZyBhZG9ybm1lbnQsIGFjdGlvbnNcbiAqIC0gYHJpdi1jYXJkLWNvbnRlbnRgIOKAlCBib2R5XG4gKiAtIGByaXYtY2FyZC1hY3Rpb25zYCDigJQgdHJhaWxpbmcgY29udHJvbCByb3dcbiAqXG4gKiBgYGBodG1sXG4gKiA8cml2LWNhcmQ+XG4gKiAgIDxyaXYtY2FyZC1oZWFkZXIgW2hlYWRpbmddPVwid29ya2Jvb2submFtZVwiIFtzdWJoZWFkaW5nXT1cInBheWVyTmFtZVwiPlxuICogICAgIDxyaXYtbWVudSBhY3Rpb25zPi4uLjwvcml2LW1lbnU+XG4gKiAgIDwvcml2LWNhcmQtaGVhZGVyPlxuICogICA8cml2LWNhcmQtY29udGVudD5cbiAqICAgICBMYXN0IGVkaXQ6IHt7IHdvcmtib29rLm1vZGlmaWVkIHwgcml2RGF0ZSB9fVxuICogICA8L3Jpdi1jYXJkLWNvbnRlbnQ+XG4gKiA8L3Jpdi1jYXJkPlxuICogYGBgXG4gKlxuICogIyMgTWFraW5nIHRoZSBjYXJkIGFjdGl2YXRlXG4gKlxuICogU2V0IGBjbGlja2FibGVgIGFuZCBoYW5kbGUgYGNhcmRDbGlja2AgdG8gbWFrZSB0aGUgd2hvbGUgc3VyZmFjZSBhY3Qgb24gYVxuICogY2xpY2s6XG4gKlxuICogYGBgaHRtbFxuICogPHJpdi1jYXJkIFtjbGlja2FibGVdPVwidHJ1ZVwiIChjYXJkQ2xpY2spPVwiZ29Ub1dvcmtib29rKClcIj5cbiAqIGBgYFxuICpcbiAqIFRoZSBjYXJkIHJlbmRlcnMgaXRzIG93biBmdWxsLXN1cmZhY2UgYnV0dG9uIGZvciB0aGlzLCBzbyBhY3RpdmF0aW9uIHdvcmtzXG4gKiB3aXRoIGEgcG9pbnRlciwgd2l0aCBFbnRlciwgYW5kIHdpdGggU3BhY2UsIGFuZCB0aGUgZm9jdXMgcmluZyB0cmFjZXMgdGhlXG4gKiB3aG9sZSBjYXJkLiBDb250cm9scyBpbiBgcml2LWNhcmQtaGVhZGVyYCdzIGBbYWN0aW9uc11gIHNsb3QgYW5kIGluXG4gKiBgcml2LWNhcmQtYWN0aW9uc2Agc2l0IGFib3ZlIGl0IGFuZCBzdGF5IGluZGVwZW5kZW50bHkgY2xpY2thYmxlIOKAlCBhIG1lbnVcbiAqIGluc2lkZSBhIGNsaWNrYWJsZSBjYXJkIG5lZWRzIG5vIGBzdG9wUHJvcGFnYXRpb25gLiBPdGhlciBpbnRlcmFjdGl2ZSBjb250ZW50XG4gKiBwcm9qZWN0ZWQgaW50byB0aGUgY2FyZCBtdXN0IHJhaXNlIGl0c2VsZiB3aXRoIGBwb3NpdGlvbjogcmVsYXRpdmVgIGFuZFxuICogYHotaW5kZXg6IHZhcigtLWNhcmQtcmFpc2VkLXotaW5kZXgpYC5cbiAqXG4gKiBXaGVuIHRoZSBjYXJkJ3MgYWN0aW9uIGlzIHJlYWxseSBhIG5hdmlnYXRpb24sIHByZWZlciBgW3Jpdi1jYXJkLWxpbmtdYCBvbiBhblxuICogYDxhPmAgaW5zdGVhZDogdGhhdCBrZWVwcyB0aGUgVVJMLCBtaWRkbGUtY2xpY2ssIGFuZCBcIm9wZW4gaW4gbmV3IHRhYlwiLlxuICpcbiAqICMjIFNlbGVjdGlvblxuICpcbiAqIFNldCBgc2VsZWN0ZWRgIHRvIG1hcmsgdGhlIGNhcmQgdGhlIHVzZXIgaXMgY3VycmVudGx5IGxvb2tpbmcgYXQuIEl0IGdpdmVzXG4gKiB0aGUgc3VyZmFjZSBhIGRpc3RpbmN0IGJvcmRlciBhbmQgc2hhZG93LCBhbmQgYW5ub3VuY2VzIHRocm91Z2hcbiAqIGBhcmlhLWN1cnJlbnRgIHNvIHRoZSBzdGF0ZSBpcyBub3QgY29udmV5ZWQgYnkgY29sb3VyIGFsb25lLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxyaXYtY2FyZCBbc2VsZWN0ZWRdPVwid29ya2Jvb2suaWQgPT09IGFjdGl2ZUlkXCI+XG4gKiBgYGBcbiAqXG4gKiBTZWxlY3Rpb24gaXMgc2VwYXJhdGUgZnJvbSBgdG9uZWAsIHNvIGl0IGNvbXBvc2VzIHdpdGggYW55IHRpbnQg4oCUIGEgc2VsZWN0ZWRcbiAqIGBkYW5nZXJgIGNhcmQga2VlcHMgaXRzIGRhbmdlciBiYWNrZ3JvdW5kLlxuICpcbiAqICMjIE1ha2luZyB0aGUgY2FyZCBleHBhbmQgYW5kIGNvbGxhcHNlXG4gKlxuICogU2V0IGBleHBhbmRhYmxlYCBvbiBgcml2LWNhcmQtaGVhZGVyYCBhbmQgcmVuZGVyIHRoZSBib2R5IG9ubHkgd2hpbGUgaXQgaXNcbiAqIG9wZW4uIFRoZSBoZWFkZXIgb3ducyB0aGUgdG9nZ2xlIGFmZm9yZGFuY2UgYW5kIGl0cyBhY2Nlc3NpYmlsaXR5OyB0aGVcbiAqIGNvbnN1bWVyIG93bnMgdGhlIHN0YXRlOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxyaXYtY2FyZD5cbiAqICAgPHJpdi1jYXJkLWhlYWRlclxuICogICAgIFtoZWFkaW5nXT1cIidQYXRpZW50IGluZm8nXCJcbiAqICAgICBbZXhwYW5kYWJsZV09XCJ0cnVlXCJcbiAqICAgICBbKGV4cGFuZGVkKV09XCJvcGVuXCJcbiAqICAgPjwvcml2LWNhcmQtaGVhZGVyPlxuICogICA8cml2LWNhcmQtY29udGVudCAqbmdJZj1cIm9wZW5cIj4uLi48L3Jpdi1jYXJkLWNvbnRlbnQ+XG4gKiA8L3Jpdi1jYXJkPlxuICogYGBgXG4gKlxuICogVGhlIGNhcmQgcmVsYXlzIHRoZSByZWdpb24gaWQgZnJvbSB0aGUgaGVhZGVyIHRvIHRoZSBjb250ZW50LCBzbyB0aGUgdG9nZ2xlJ3NcbiAqIGBhcmlhLWNvbnRyb2xzYCBuYW1lcyB0aGUgYm9keSB3aXRoIG5vIGlkcyB3aXJlZCBieSBoYW5kLlxuICpcbiAqIERvIG5vdCBjb21iaW5lIGBleHBhbmRhYmxlYCB3aXRoIGBjbGlja2FibGVgOiBib3RoIGNsYWltIHRoZSBzYW1lIGNsaWNrLCBhbmRcbiAqIGEgY2FyZCB0aGF0IG9wZW5zIGFzIHdlbGwgYXMgZXhwYW5kcyBsZWF2ZXMgdGhlIHVzZXIgbm8gd2F5IHRvIHRlbGwgd2hpY2ggb25lXG4gKiB0aGV5IGFyZSBhYm91dCB0byBnZXQuXG4gKlxuICogIyMgTm90ZXNcbiAqXG4gKiBXaGVuIHByb2plY3RpbmcgcmF3IGNvbnRlbnQgd2l0aCBubyBzdWItY29tcG9uZW50cywgc2V0IGBwYWRkaW5nYCBzbyB0aGVcbiAqIGNvbnRlbnQgaXMgbm90IGZsdXNoIGFnYWluc3QgdGhlIGJvcmRlci5cbiAqXG4gKiBUaGUgY2FyZCBjbGlwcyBpdHMgb3duIGNvbnRlbnQgc28gbWVkaWEgYW5kIGZpbGxlZCBoZWFkZXIvYWN0aW9uIHJvd3MgZm9sbG93XG4gKiBpdHMgY29ybmVycy4gUG9wdXBzIChgcml2LW1lbnVgLCBgcml2VG9vbHRpcGApIHJlbmRlciB0aHJvdWdoIHRoZSBvdmVybGF5XG4gKiBvdXRsZXQsIHNvIHRoZXkgYXJlIG5vdCBhZmZlY3RlZCBieSB0aGF0IGNsaXBwaW5nLlxuICpcbiAqIFNldCB0aGUgY29ybmVyIHJhZGl1cyB3aXRoIGByYWRpdXNgLiBUaGUgYC0tY2FyZC1ib3JkZXItcmFkaXVzYCBjdXN0b21cbiAqIHByb3BlcnR5IHN0aWxsIG92ZXJyaWRlcyBpdCwgZm9yIHJhZGlpIG9mZiB0aGUgdG9rZW4gc2NhbGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgLyoqIEJvcmRlciBhbmQgc2hhZG93IHRyZWF0bWVudCBvZiB0aGUgc3VyZmFjZS4gKi9cbiAgQElucHV0KClcbiAgdmFyaWFudDogQ2FyZENvbXBvbmVudC5WYXJpYW50ID0gJ291dGxpbmVkJztcblxuICAvKiogTmV1dHJhbCBiYWNrZ3JvdW5kIGVsZXZhdGlvbiwgbWF0Y2hpbmcgdGhlIGAtLXN1cmZhY2UtbGlnaHQtKmAgdG9rZW5zLiAqL1xuICBASW5wdXQoKVxuICBzdXJmYWNlOiBDYXJkQ29tcG9uZW50LlN1cmZhY2UgPSAnMCc7XG5cbiAgLyoqIFNlbWFudGljIGJhY2tncm91bmQgdGludC4gT3ZlcnJpZGVzIGBzdXJmYWNlYCB3aGVuIG5vdCBgbmV1dHJhbGAuICovXG4gIEBJbnB1dCgpXG4gIHRvbmU6IENhcmRDb21wb25lbnQuVG9uZSA9ICduZXV0cmFsJztcblxuICAvKiogU3RhY2tpbmcgZGlyZWN0aW9uIG9mIHRoZSBwcm9qZWN0ZWQgcGFydHMuICovXG4gIEBJbnB1dCgpXG4gIG9yaWVudGF0aW9uOiBDYXJkQ29tcG9uZW50Lk9yaWVudGF0aW9uID0gJ3ZlcnRpY2FsJztcblxuICAvKipcbiAgICogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBjYXJkIGl0c2VsZi4gTGVhdmUgYXMgYG5vbmVgIHdoZW4gY29tcG9zaW5nIHdpdGhcbiAgICogYHJpdi1jYXJkLWhlYWRlcmAgLyBgcml2LWNhcmQtY29udGVudGAgLyBgcml2LWNhcmQtYWN0aW9uc2AsIHdoaWNoIG93blxuICAgKiB0aGVpciBvd24gcGFkZGluZy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHBhZGRpbmc6IENhcmRDb21wb25lbnQuUGFkZGluZyA9ICdub25lJztcblxuICAvKiogQ29ybmVyIHJhZGl1cywgbWF0Y2hpbmcgdGhlIGAtLWJvcmRlci1yYWRpdXMtKmAgdG9rZW5zLiAqL1xuICBASW5wdXQoKVxuICByYWRpdXM6IENhcmRDb21wb25lbnQuUmFkaXVzID0gJ21lZGl1bSc7XG5cbiAgLyoqXG4gICAqIFNoYWRvdyByYWlzZWQgb24gaG92ZXIsIG1hdGNoaW5nIHRoZSBgLS1kZXB0aC0qYCB0b2tlbnMuIFRoaXMgc2hhZG93IGlzXG4gICAqIHRoZSBjYXJkJ3Mgb25seSBob3ZlciBmZWVkYmFjazsgdGhlIHN1cmZhY2UgaXMgbm90IHRpbnRlZC4gRGVmYXVsdHMgdG8gYDFgXG4gICAqIGZvciBhIGNhcmQgdGhhdCBhY3RpdmF0ZXMgYXMgYSB3aG9sZSDigJQgYGNsaWNrYWJsZWAsIG9yIGhvbGRpbmcgYW4gZW5hYmxlZFxuICAgKiBzdHJldGNoIGBbcml2LWNhcmQtbGlua11gIOKAlCBgMmAgZm9yIHN1Y2ggYSBjYXJkIHdoZW4gZWxldmF0ZWQsIGFuZCBgbm9uZWBcbiAgICogb3RoZXJ3aXNlLiBBIGhvdmVyIHNoYWRvdyByZWFkcyBhcyBjbGlja2FibGUsIHNvIHNldCBpdCBvbiBhbnkgb3RoZXIgY2FyZFxuICAgKiBvbmx5IHdoZW4gdGhlIGNhcmQncyBvd24gY29udHJvbHMgbWFrZSBpdCBpbnRlcmFjdGl2ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGhvdmVyRGVwdGg/OiBDYXJkQ29tcG9uZW50LkRlcHRoO1xuXG4gIC8qKlxuICAgKiBNYWtlcyB0aGUgd2hvbGUgc3VyZmFjZSBhY3RpdmF0ZSwgZW1pdHRpbmcgYGNhcmRDbGlja2AuIEFkZHMga2V5Ym9hcmRcbiAgICogc3VwcG9ydCBhbmQgYSBob3ZlciBzaGFkb3cgKHNlZSBgaG92ZXJEZXB0aGApLlxuICAgKi9cbiAgQElucHV0KClcbiAgY2xpY2thYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFjY2Vzc2libGUgbmFtZSBmb3IgdGhlIGNhcmQncyBhY3Rpb24uIERlZmF1bHRzIHRvIHRoZSBgcml2LWNhcmQtaGVhZGVyYFxuICAgKiB0aXRsZSwgZmFsbGluZyBiYWNrIHRvIHRoZSBjYXJkJ3Mgd2hvbGUgdGV4dCBjb250ZW50IHdoZW4gdGhlcmUgaXMgbm9cbiAgICogaGVhZGVyLiBTZXQgdGhpcyB3aGVuIG5laXRoZXIgcmVhZHMgd2VsbCBvbiBpdHMgb3duLlxuICAgKi9cbiAgQElucHV0KClcbiAgY2xpY2tMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogTWFya3MgdGhlIGNhcmQgYXMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLCBnaXZpbmcgaXQgYSBkaXN0aW5jdCBib3JkZXIgYW5kXG4gICAqIHNoYWRvdy4gQ29tcG9zZXMgd2l0aCBhbnkgYHRvbmVgLCBzbyBhIHNlbGVjdGVkIGRhbmdlciBjYXJkIGtlZXBzIGl0c1xuICAgKiB0aW50LiBBbm5vdW5jZWQgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdGhyb3VnaCBgYXJpYS1jdXJyZW50YC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE11dGVzIHRoZSBzdXJmYWNlLCBzdXBwcmVzc2VzIGhvdmVyIGZlZWRiYWNrLCBhbmQgZGlzYWJsZXMgdGhlIGNsaWNrXG4gICAqIHRhcmdldC4gUHJlc2VudGF0aW9uYWwgZm9yIGV2ZXJ5dGhpbmcgZWxzZSDigJQgZGlzYWJsZSB0aGUgY2FyZCdzIG93blxuICAgKiBjb250cm9scyB0b28uXG4gICAqL1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBjbGlja2FibGUgY2FyZCBpcyBhY3RpdmF0ZWQgYnkgcG9pbnRlciBvciBrZXlib2FyZC4gKi9cbiAgQE91dHB1dCgpXG4gIGNhcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAvKipcbiAgICogTmFtZXMgdGhlIGNsaWNrIHRhcmdldCBmcm9tIHRoZSBjYXJkJ3MgY29udGVudC4gR2VuZXJhdGVkIG9ubHkgd2hlbiB0aGVcbiAgICogY29uc3VtZXIgaGFzIG5vdCBzZXQgdGhlaXIgb3duIGlkLlxuICAgKi9cbiAgcHJpdmF0ZSBjYXJkSWQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBTZXQgYnkgYSBwcm9qZWN0ZWQgYHJpdi1jYXJkLWhlYWRlcmAgdGhhdCBoYXMgYSB0aXRsZSB0byBuYW1lIGFnYWluc3QuICovXG4gIHByaXZhdGUgdGl0bGVJZD86IHN0cmluZztcblxuICAvKiogU2V0IGJ5IGEgcHJvamVjdGVkIGByaXYtY2FyZC1oZWFkZXJgIHRoYXQgaXMgZXhwYW5kYWJsZS4gKi9cbiAgcHJpdmF0ZSBleHBhbmRSZWdpb25JZD86IHN0cmluZztcblxuICAvKiogU2V0IGJ5IGEgcHJvamVjdGVkIGBbcml2LWNhcmQtbGlua11gIHdob3NlIG92ZXJsYXkgY292ZXJzIHRoZSBjYXJkLiAqL1xuICBwcml2YXRlIHN0cmV0Y2hMaW5rOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElkIGFuIGV4cGFuZGFibGUgaGVhZGVyJ3MgdG9nZ2xlIHBvaW50cyBgYXJpYS1jb250cm9sc2AgYXQsIHdvcm4gYnkgYVxuICAgKiBwcm9qZWN0ZWQgYHJpdi1jYXJkLWNvbnRlbnRgLlxuICAgKi9cbiAgZ2V0IHJlZ2lvbklkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5kUmVnaW9uSWQ7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhcmRJZCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCB8fCB1bmlxdWVJZCgncml2LWNhcmQtJyk7XG4gICAgaWYgKCF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2lkJywgdGhpcy5jYXJkSWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGhlYWRlcidzIHRpdGxlIGFzIHRoZSBjbGljayB0YXJnZXQncyBhY2Nlc3NpYmxlIG5hbWUsIHdoaWNoXG4gICAqIGtlZXBzIHRoZSBhbm5vdW5jZW1lbnQgdG8gdGhlIGNhcmQncyBzdWJqZWN0IGluc3RlYWQgb2YgZXZlcnkgd29yZCBvbiB0aGVcbiAgICogc3VyZmFjZS4gQ2FsbGVkIGJ5IGByaXYtY2FyZC1oZWFkZXJgOyBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbiAgICovXG4gIHNldFRpdGxlSWQoaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudGl0bGVJZCA9IGlkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpdmVzIHVwIGEgdGl0bGUgcmVnaXN0ZXJlZCBieSBgc2V0VGl0bGVJZGAsIHNvIGEgaGVhZGVyIHRoYXQgaXMgcmVtb3ZlZFxuICAgKiBkb2VzIG5vdCBsZWF2ZSB0aGUgY2xpY2sgdGFyZ2V0IG5hbWluZyBpdHNlbGYgYWdhaW5zdCBhIGRldGFjaGVkIGVsZW1lbnQuXG4gICAqIElnbm9yZXMgaWRzIHRoYXQgYXJlIG5vIGxvbmdlciB0aGUgb25lIGluIHVzZS5cbiAgICovXG4gIGNsZWFyVGl0bGVJZChpZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMudGl0bGVJZCA9PT0gaWQpIHtcbiAgICAgIHRoaXMuc2V0VGl0bGVJZCh1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWxheXMgdGhlIHJlZ2lvbiBhbiBleHBhbmRhYmxlIGhlYWRlciBjb250cm9scyB0byB0aGUgcHJvamVjdGVkXG4gICAqIGByaXYtY2FyZC1jb250ZW50YCwgc28gbmVpdGhlciBzaWRlIG5lZWRzIHRoZSBjb25zdW1lciB0byB3aXJlIGFuIGlkLlxuICAgKiBDYWxsZWQgYnkgYHJpdi1jYXJkLWhlYWRlcmA7IG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJLlxuICAgKi9cbiAgc2V0UmVnaW9uSWQoaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZXhwYW5kUmVnaW9uSWQgPSBpZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlcyB1cCBhIHJlZ2lvbiByZWdpc3RlcmVkIGJ5IGBzZXRSZWdpb25JZGAuIElnbm9yZXMgaWRzIHRoYXQgYXJlIG5vXG4gICAqIGxvbmdlciB0aGUgb25lIGluIHVzZS5cbiAgICovXG4gIGNsZWFyUmVnaW9uSWQoaWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmV4cGFuZFJlZ2lvbklkID09PSBpZCkge1xuICAgICAgdGhpcy5zZXRSZWdpb25JZCh1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmRzIHdoZXRoZXIgYW4gZW5hYmxlZCBzdHJldGNoIGBbcml2LWNhcmQtbGlua11gIGNvdmVycyB0aGUgY2FyZCwgd2hpY2hcbiAgICogbWFrZXMgdGhlIHdob2xlIHN1cmZhY2UgYWN0aXZhdGUgYW5kIHNvIGVhcm5zIHRoZSBjbGlja2FibGUgaG92ZXIgc2hhZG93LlxuICAgKiBDYWxsZWQgYnkgYHJpdi1jYXJkLWxpbmtgOyBub3QgcGFydCBvZiB0aGUgcHVibGljIEFQSS5cbiAgICovXG4gIHNldFN0cmV0Y2hMaW5rKHByZXNlbnQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN0cmV0Y2hMaW5rID0gcHJlc2VudDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbGVtZW50IHdob3NlIHRleHQgbmFtZXMgdGhlIGNsaWNrIHRhcmdldCwgdW5sZXNzIGBjbGlja0xhYmVsYCBpcyBzZXQuIFRoZVxuICAgKiBob3N0IGlkIGlzIHJlYWQgZnJvbSB0aGUgRE9NIHJhdGhlciB0aGFuIGNhY2hlZCwgc28gYSBib3VuZCBgW2lkXWAgdGhhdFxuICAgKiBjaGFuZ2VzIGlzIHBpY2tlZCB1cCBvbiB0aGUgY2FyZCdzIG5leHQgY2hhbmdlIGRldGVjdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgbGFiZWxsZWRCeSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5jbGlja0xhYmVsKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy50aXRsZUlkID8/ICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaWQgfHwgdGhpcy5jYXJkSWQpO1xuICB9XG5cbiAgLyoqIEFubm91bmNlcyB0aGUgY3VycmVudCBzZWxlY3Rpb24gdG8gYXNzaXN0aXZlIHRlY2hub2xvZ3kuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWN1cnJlbnQnKVxuICBnZXQgYXJpYUN1cnJlbnQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgPyAndHJ1ZScgOiBudWxsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBjbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHtcbiAgICAgIFt0aGlzLnZhcmlhbnRdOiB0cnVlLFxuICAgICAgW2BzdXJmYWNlLSR7dGhpcy5zdXJmYWNlfWBdOiB0cnVlLFxuICAgICAgW2B0b25lLSR7dGhpcy50b25lfWBdOiB0cnVlLFxuICAgICAgW3RoaXMub3JpZW50YXRpb25dOiB0cnVlLFxuICAgICAgW2BwYWRkaW5nLSR7dGhpcy5wYWRkaW5nfWBdOiB0cnVlLFxuICAgICAgW2ByYWRpdXMtJHt0aGlzLnJhZGl1c31gXTogdHJ1ZSxcbiAgICAgIFtgaG92ZXItZGVwdGgtJHtcbiAgICAgICAgdGhpcy5ob3ZlckRlcHRoID8/XG4gICAgICAgIENhcmRDb21wb25lbnQuZGVmYXVsdEhvdmVyRGVwdGgoe1xuICAgICAgICAgIGNsaWNrYWJsZTogdGhpcy5jbGlja2FibGUgfHwgdGhpcy5zdHJldGNoTGluayxcbiAgICAgICAgICB2YXJpYW50OiB0aGlzLnZhcmlhbnQsXG4gICAgICAgIH0pXG4gICAgICB9YF06IHRydWUsXG4gICAgICBjbGlja2FibGU6IHRoaXMuY2xpY2thYmxlLFxuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICB9KVxuICAgICAgLmZpbHRlcigoW18sIHZdKSA9PiB2KVxuICAgICAgLm1hcCgoW2tdKSA9PiBrKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhcmRDb21wb25lbnQge1xuICBleHBvcnQgY29uc3QgVmFyaWFudHMgPSBbJ291dGxpbmVkJywgJ2VsZXZhdGVkJywgJ2ZsYXQnLCAnZGFzaGVkJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFZhcmlhbnQgPSAodHlwZW9mIFZhcmlhbnRzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBjb25zdCBTdXJmYWNlcyA9IFsnMCcsICcxJywgJzInXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgU3VyZmFjZSA9ICh0eXBlb2YgU3VyZmFjZXMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IFRvbmVzID0gW1xuICAgICduZXV0cmFsJyxcbiAgICAnZGFuZ2VyJyxcbiAgICAnY2F1dGlvbicsXG4gICAgJ3dhcm5pbmcnLFxuICAgICdzYWZldHknLFxuICAgICdzZWxlY3RlZCcsXG4gIF0gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFRvbmUgPSAodHlwZW9mIFRvbmVzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBjb25zdCBPcmllbnRhdGlvbnMgPSBbJ3ZlcnRpY2FsJywgJ2hvcml6b250YWwnXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgT3JpZW50YXRpb24gPSAodHlwZW9mIE9yaWVudGF0aW9ucylbbnVtYmVyXTtcblxuICAvKiogU2hhcmVkIHBhZGRpbmcgc2NhbGUgZm9yIHRoZSBjYXJkIGFuZCBpdHMgc3ViLWNvbXBvbmVudHMuICovXG4gIGV4cG9ydCBjb25zdCBQYWRkaW5ncyA9IFtcbiAgICAnbm9uZScsXG4gICAgJ3NtYWxsJyxcbiAgICAnbWVkaXVtJyxcbiAgICAnbGFyZ2UnLFxuICAgICd4bGFyZ2UnLFxuICAgICd4eGxhcmdlJyxcbiAgXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgUGFkZGluZyA9ICh0eXBlb2YgUGFkZGluZ3MpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IFJhZGlpID0gWydzbWFsbCcsICdtZWRpdW0nLCAnbGFyZ2UnLCAneGxhcmdlJ10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFJhZGl1cyA9ICh0eXBlb2YgUmFkaWkpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IERlcHRocyA9IFsnbm9uZScsICcxJywgJzInLCAnMycsICc0J10gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIERlcHRoID0gKHR5cGVvZiBEZXB0aHMpW251bWJlcl07XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRIb3ZlckRlcHRoKHtcbiAgICBjbGlja2FibGUsXG4gICAgdmFyaWFudCxcbiAgfTogUGljazxDYXJkQ29tcG9uZW50LCAnY2xpY2thYmxlJyB8ICd2YXJpYW50Jz4pOiBEZXB0aCB7XG4gICAgaWYgKCFjbGlja2FibGUpIHJldHVybiAnbm9uZSc7XG4gICAgcmV0dXJuIHZhcmlhbnQgPT09ICdlbGV2YXRlZCcgPyAnMicgOiAnMSc7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKm5nSWY9XCJjbGlja2FibGVcIlxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJjbGljay10YXJnZXRcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkID8gJ3RydWUnIDogbnVsbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xpY2tMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJsYWJlbGxlZEJ5XCJcbiAgKGNsaWNrKT1cImNhcmRDbGljay5lbWl0KCRldmVudClcIlxuPjwvYnV0dG9uPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,111 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../../input/button/button.component";
5
- import * as i3 from "../../icon/icon.component";
6
- import * as i4 from "../../accessibility/sr-only/sr-only.component";
7
- import * as i5 from "../../overlay/callout/tooltip/tooltip.directive";
8
- /**
9
- * One labelled setting that is read in place and edited inline.
10
- *
11
- * Reading shows the label, the current value, and an edit button. Editing
12
- * swaps the value for a consumer-supplied field plus Cancel and Save buttons.
13
- * The row holds no state of its own — bind `editing` and act on `edit`,
14
- * `cancel`, and `save`.
15
- *
16
- * Set the value shown while reading with `value` for plain text, or project
17
- * richer content such as a `riv-badge` into the `[display-value]` slot. Use
18
- * one or the other: when `value` is set, the slot isn't shown.
19
- *
20
- * Two content slots:
21
- * - `[display-value]` — content shown while reading, when `value` is empty
22
- * - `#editor` template — any field component to edit the value with, such as
23
- * `riv-text-field`, `riv-currency-field`, or `riv-simple-select`. The row
24
- * wraps it in a `<label>` named after `label`, so don't give the field its
25
- * own label. Only the first control in the template gets that name, so keep
26
- * it to one field.
27
- *
28
- * ```html
29
- * <riv-setting-row
30
- * [label]="'Threshold'"
31
- * [infoTooltip]="'Applies to new claims only'"
32
- * [editing]="editing"
33
- * [saving]="saving"
34
- * (edit)="editing = true"
35
- * (cancel)="editing = false"
36
- * (save)="save()"
37
- * [value]="threshold + '%'"
38
- * >
39
- * <ng-template #editor>
40
- * <riv-text-field [(value)]="draft"></riv-text-field>
41
- * </ng-template>
42
- * </riv-setting-row>
43
- * ```
44
- *
45
- * Stack rows directly to build a settings list; each row pads itself
46
- * vertically and lays out on a shared twelve-column grid so labels, values,
47
- * and actions line up between rows.
48
- */
49
- export class SettingRowComponent {
50
- constructor() {
51
- /** Names the setting. Also gives the edit button its screen-reader name, "Edit {label}". */
52
- this.label = '';
53
- /**
54
- * The value shown while reading, as plain text and already formatted, such
55
- * as `'$250'`. For anything richer, leave this empty and project it into
56
- * `[display-value]` instead.
57
- */
58
- this.value = '';
59
- /** Explains the setting from an info icon beside the label. */
60
- this.infoTooltip = '';
61
- /**
62
- * Whether the edit field is shown. The consumer (the parent component) owns
63
- * this state, so it can keep only one row open for editing at a time.
64
- */
65
- this.editing = false;
66
- /** Blocks Save, for a draft that is not yet valid. */
67
- this.saveDisabled = false;
68
- /** Shows Save as loading and blocks Save and Cancel while a save is in flight. */
69
- this.saving = false;
70
- this.tooltipMaxWidth = '320px';
71
- this.edit = new EventEmitter();
72
- this.cancel = new EventEmitter();
73
- this.save = new EventEmitter();
74
- }
75
- get editingClass() {
76
- return this.editing;
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SettingRowComponent, selector: "riv-setting-row", inputs: { label: "label", value: "value", infoTooltip: "infoTooltip", editing: "editing", saveDisabled: "saveDisabled", saving: "saving", tooltipMaxWidth: "tooltipMaxWidth" }, outputs: { edit: "edit", cancel: "cancel", save: "save" }, host: { properties: { "class.editing": "this.editingClass" } }, queries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], ngImport: i0, template: "<span class=\"label\">\n <riv-icon\n *ngIf=\"infoTooltip\"\n [name]=\"'Info'\"\n [size]=\"16\"\n [rivTooltip]=\"infoTooltip\"\n [rivTooltipMaxWidth]=\"tooltipMaxWidth\"\n ></riv-icon>\n {{ label }}\n</span>\n\n<ng-container *ngIf=\"!editing; else editMode\">\n <span class=\"value\">\n <ng-container *ngIf=\"value; else projectedValue\">{{ value }}</ng-container>\n <ng-template #projectedValue>\n <ng-content select=\"[display-value]\"></ng-content>\n </ng-template>\n </span>\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [icon]=\"'Edit2'\"\n [rivTooltip]=\"'Edit'\"\n [variant]=\"'ghost'\"\n [attr.aria-label]=\"'Edit ' + label\"\n (click)=\"edit.emit()\"\n ></button>\n </div>\n</ng-container>\n\n<ng-template #editMode>\n <label class=\"field\">\n <riv-sr-only>{{ label }}</riv-sr-only>\n <ng-container *ngTemplateOutlet=\"editor ?? null\"></ng-container>\n </label>\n\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [variant]=\"'basic'\"\n [size]=\"'medium'\"\n [disabled]=\"saving\"\n (click)=\"cancel.emit()\"\n >\n Cancel\n </button>\n <button\n rivButton\n type=\"button\"\n [variant]=\"'primary'\"\n [size]=\"'medium'\"\n [disabled]=\"saveDisabled || saving\"\n [loading]=\"saving\"\n (click)=\"save.emit()\"\n >\n Save\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--size-large);align-items:center;padding-block:var(--size-medium);color:var(--type-light-high-contrast)}.label,.value,.actions{display:flex;align-items:center;gap:var(--size-small)}.label{grid-column-end:span 4;font:var(--title-02)}.value{grid-column-end:span 7;font:var(--body-medium)}.field{grid-column-end:span 4}.actions{grid-column-end:span 1;justify-content:flex-end}:host.editing .actions{grid-column-end:span 4}\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.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: i3.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i4.SrOnlyComponent, selector: "riv-sr-only" }, { kind: "directive", type: i5.TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipAnchor", "rivTooltipCloseDelay", "rivTooltipOpenDelay", "rivTooltipGracePeriod"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SettingRowComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 'riv-setting-row', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"label\">\n <riv-icon\n *ngIf=\"infoTooltip\"\n [name]=\"'Info'\"\n [size]=\"16\"\n [rivTooltip]=\"infoTooltip\"\n [rivTooltipMaxWidth]=\"tooltipMaxWidth\"\n ></riv-icon>\n {{ label }}\n</span>\n\n<ng-container *ngIf=\"!editing; else editMode\">\n <span class=\"value\">\n <ng-container *ngIf=\"value; else projectedValue\">{{ value }}</ng-container>\n <ng-template #projectedValue>\n <ng-content select=\"[display-value]\"></ng-content>\n </ng-template>\n </span>\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [icon]=\"'Edit2'\"\n [rivTooltip]=\"'Edit'\"\n [variant]=\"'ghost'\"\n [attr.aria-label]=\"'Edit ' + label\"\n (click)=\"edit.emit()\"\n ></button>\n </div>\n</ng-container>\n\n<ng-template #editMode>\n <label class=\"field\">\n <riv-sr-only>{{ label }}</riv-sr-only>\n <ng-container *ngTemplateOutlet=\"editor ?? null\"></ng-container>\n </label>\n\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [variant]=\"'basic'\"\n [size]=\"'medium'\"\n [disabled]=\"saving\"\n (click)=\"cancel.emit()\"\n >\n Cancel\n </button>\n <button\n rivButton\n type=\"button\"\n [variant]=\"'primary'\"\n [size]=\"'medium'\"\n [disabled]=\"saveDisabled || saving\"\n [loading]=\"saving\"\n (click)=\"save.emit()\"\n >\n Save\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--size-large);align-items:center;padding-block:var(--size-medium);color:var(--type-light-high-contrast)}.label,.value,.actions{display:flex;align-items:center;gap:var(--size-small)}.label{grid-column-end:span 4;font:var(--title-02)}.value{grid-column-end:span 7;font:var(--body-medium)}.field{grid-column-end:span 4}.actions{grid-column-end:span 1;justify-content:flex-end}:host.editing .actions{grid-column-end:span 4}\n"] }]
84
- }], propDecorators: { label: [{
85
- type: Input
86
- }], value: [{
87
- type: Input
88
- }], infoTooltip: [{
89
- type: Input
90
- }], editing: [{
91
- type: Input
92
- }], saveDisabled: [{
93
- type: Input
94
- }], saving: [{
95
- type: Input
96
- }], tooltipMaxWidth: [{
97
- type: Input
98
- }], edit: [{
99
- type: Output
100
- }], cancel: [{
101
- type: Output
102
- }], save: [{
103
- type: Output
104
- }], editor: [{
105
- type: ContentChild,
106
- args: ['editor']
107
- }], editingClass: [{
108
- type: HostBinding,
109
- args: ['class.editing']
110
- }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvbGF5b3V0L3NldHRpbmctcm93L3NldHRpbmctcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2xheW91dC9zZXR0aW5nLXJvdy9zZXR0aW5nLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBRXZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBT0gsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQU9FLDRGQUE0RjtRQUU1RixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5COzs7O1dBSUc7UUFFSCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLCtEQUErRDtRQUUvRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV6Qjs7O1dBR0c7UUFFSCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLHNEQUFzRDtRQUV0RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU5QixrRkFBa0Y7UUFFbEYsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUd4QixvQkFBZSxHQUFXLE9BQU8sQ0FBQztRQUdsQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdoQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdsQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQVNqQztJQUpDLElBQ0ksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOytHQWxEVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixnY0MxRGhDLHE5Q0E2REE7OzRGREhhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsS0FBSztzQkFESixLQUFLO2dCQVNOLEtBQUs7c0JBREosS0FBSztnQkFLTixXQUFXO3NCQURWLEtBQUs7Z0JBUU4sT0FBTztzQkFETixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLElBQUk7c0JBREgsTUFBTTtnQkFJUCxNQUFNO3NCQURMLE1BQU07Z0JBSVAsSUFBSTtzQkFESCxNQUFNO2dCQUlQLE1BQU07c0JBREwsWUFBWTt1QkFBQyxRQUFRO2dCQUlsQixZQUFZO3NCQURmLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIE9uZSBsYWJlbGxlZCBzZXR0aW5nIHRoYXQgaXMgcmVhZCBpbiBwbGFjZSBhbmQgZWRpdGVkIGlubGluZS5cbiAqXG4gKiBSZWFkaW5nIHNob3dzIHRoZSBsYWJlbCwgdGhlIGN1cnJlbnQgdmFsdWUsIGFuZCBhbiBlZGl0IGJ1dHRvbi4gRWRpdGluZ1xuICogc3dhcHMgdGhlIHZhbHVlIGZvciBhIGNvbnN1bWVyLXN1cHBsaWVkIGZpZWxkIHBsdXMgQ2FuY2VsIGFuZCBTYXZlIGJ1dHRvbnMuXG4gKiBUaGUgcm93IGhvbGRzIG5vIHN0YXRlIG9mIGl0cyBvd24g4oCUIGJpbmQgYGVkaXRpbmdgIGFuZCBhY3Qgb24gYGVkaXRgLFxuICogYGNhbmNlbGAsIGFuZCBgc2F2ZWAuXG4gKlxuICogU2V0IHRoZSB2YWx1ZSBzaG93biB3aGlsZSByZWFkaW5nIHdpdGggYHZhbHVlYCBmb3IgcGxhaW4gdGV4dCwgb3IgcHJvamVjdFxuICogcmljaGVyIGNvbnRlbnQgc3VjaCBhcyBhIGByaXYtYmFkZ2VgIGludG8gdGhlIGBbZGlzcGxheS12YWx1ZV1gIHNsb3QuIFVzZVxuICogb25lIG9yIHRoZSBvdGhlcjogd2hlbiBgdmFsdWVgIGlzIHNldCwgdGhlIHNsb3QgaXNuJ3Qgc2hvd24uXG4gKlxuICogVHdvIGNvbnRlbnQgc2xvdHM6XG4gKiAtIGBbZGlzcGxheS12YWx1ZV1gIOKAlCBjb250ZW50IHNob3duIHdoaWxlIHJlYWRpbmcsIHdoZW4gYHZhbHVlYCBpcyBlbXB0eVxuICogLSBgI2VkaXRvcmAgdGVtcGxhdGUg4oCUIGFueSBmaWVsZCBjb21wb25lbnQgdG8gZWRpdCB0aGUgdmFsdWUgd2l0aCwgc3VjaCBhc1xuICogICBgcml2LXRleHQtZmllbGRgLCBgcml2LWN1cnJlbmN5LWZpZWxkYCwgb3IgYHJpdi1zaW1wbGUtc2VsZWN0YC4gVGhlIHJvd1xuICogICB3cmFwcyBpdCBpbiBhIGA8bGFiZWw+YCBuYW1lZCBhZnRlciBgbGFiZWxgLCBzbyBkb24ndCBnaXZlIHRoZSBmaWVsZCBpdHNcbiAqICAgb3duIGxhYmVsLiBPbmx5IHRoZSBmaXJzdCBjb250cm9sIGluIHRoZSB0ZW1wbGF0ZSBnZXRzIHRoYXQgbmFtZSwgc28ga2VlcFxuICogICBpdCB0byBvbmUgZmllbGQuXG4gKlxuICogYGBgaHRtbFxuICogPHJpdi1zZXR0aW5nLXJvd1xuICogICBbbGFiZWxdPVwiJ1RocmVzaG9sZCdcIlxuICogICBbaW5mb1Rvb2x0aXBdPVwiJ0FwcGxpZXMgdG8gbmV3IGNsYWltcyBvbmx5J1wiXG4gKiAgIFtlZGl0aW5nXT1cImVkaXRpbmdcIlxuICogICBbc2F2aW5nXT1cInNhdmluZ1wiXG4gKiAgIChlZGl0KT1cImVkaXRpbmcgPSB0cnVlXCJcbiAqICAgKGNhbmNlbCk9XCJlZGl0aW5nID0gZmFsc2VcIlxuICogICAoc2F2ZSk9XCJzYXZlKClcIlxuICogICBbdmFsdWVdPVwidGhyZXNob2xkICsgJyUnXCJcbiAqID5cbiAqICAgPG5nLXRlbXBsYXRlICNlZGl0b3I+XG4gKiAgICAgPHJpdi10ZXh0LWZpZWxkIFsodmFsdWUpXT1cImRyYWZ0XCI+PC9yaXYtdGV4dC1maWVsZD5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvcml2LXNldHRpbmctcm93PlxuICogYGBgXG4gKlxuICogU3RhY2sgcm93cyBkaXJlY3RseSB0byBidWlsZCBhIHNldHRpbmdzIGxpc3Q7IGVhY2ggcm93IHBhZHMgaXRzZWxmXG4gKiB2ZXJ0aWNhbGx5IGFuZCBsYXlzIG91dCBvbiBhIHNoYXJlZCB0d2VsdmUtY29sdW1uIGdyaWQgc28gbGFiZWxzLCB2YWx1ZXMsXG4gKiBhbmQgYWN0aW9ucyBsaW5lIHVwIGJldHdlZW4gcm93cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LXNldHRpbmctcm93JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmctcm93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2V0dGluZy1yb3cuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ1Jvd0NvbXBvbmVudCB7XG4gIC8qKiBOYW1lcyB0aGUgc2V0dGluZy4gQWxzbyBnaXZlcyB0aGUgZWRpdCBidXR0b24gaXRzIHNjcmVlbi1yZWFkZXIgbmFtZSwgXCJFZGl0IHtsYWJlbH1cIi4gKi9cbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgc2hvd24gd2hpbGUgcmVhZGluZywgYXMgcGxhaW4gdGV4dCBhbmQgYWxyZWFkeSBmb3JtYXR0ZWQsIHN1Y2hcbiAgICogYXMgYCckMjUwJ2AuIEZvciBhbnl0aGluZyByaWNoZXIsIGxlYXZlIHRoaXMgZW1wdHkgYW5kIHByb2plY3QgaXQgaW50b1xuICAgKiBgW2Rpc3BsYXktdmFsdWVdYCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBFeHBsYWlucyB0aGUgc2V0dGluZyBmcm9tIGFuIGluZm8gaWNvbiBiZXNpZGUgdGhlIGxhYmVsLiAqL1xuICBASW5wdXQoKVxuICBpbmZvVG9vbHRpcDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGVkaXQgZmllbGQgaXMgc2hvd24uIFRoZSBjb25zdW1lciAodGhlIHBhcmVudCBjb21wb25lbnQpIG93bnNcbiAgICogdGhpcyBzdGF0ZSwgc28gaXQgY2FuIGtlZXAgb25seSBvbmUgcm93IG9wZW4gZm9yIGVkaXRpbmcgYXQgYSB0aW1lLlxuICAgKi9cbiAgQElucHV0KClcbiAgZWRpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBCbG9ja3MgU2F2ZSwgZm9yIGEgZHJhZnQgdGhhdCBpcyBub3QgeWV0IHZhbGlkLiAqL1xuICBASW5wdXQoKVxuICBzYXZlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogU2hvd3MgU2F2ZSBhcyBsb2FkaW5nIGFuZCBibG9ja3MgU2F2ZSBhbmQgQ2FuY2VsIHdoaWxlIGEgc2F2ZSBpcyBpbiBmbGlnaHQuICovXG4gIEBJbnB1dCgpXG4gIHNhdmluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHRvb2x0aXBNYXhXaWR0aDogc3RyaW5nID0gJzMyMHB4JztcblxuICBAT3V0cHV0KClcbiAgZWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2VkaXRvcicpXG4gIGVkaXRvcj86IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZWRpdGluZycpXG4gIGdldCBlZGl0aW5nQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZWRpdGluZztcbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJsYWJlbFwiPlxuICA8cml2LWljb25cbiAgICAqbmdJZj1cImluZm9Ub29sdGlwXCJcbiAgICBbbmFtZV09XCInSW5mbydcIlxuICAgIFtzaXplXT1cIjE2XCJcbiAgICBbcml2VG9vbHRpcF09XCJpbmZvVG9vbHRpcFwiXG4gICAgW3JpdlRvb2x0aXBNYXhXaWR0aF09XCJ0b29sdGlwTWF4V2lkdGhcIlxuICA+PC9yaXYtaWNvbj5cbiAge3sgbGFiZWwgfX1cbjwvc3Bhbj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlZGl0aW5nOyBlbHNlIGVkaXRNb2RlXCI+XG4gIDxzcGFuIGNsYXNzPVwidmFsdWVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWU7IGVsc2UgcHJvamVjdGVkVmFsdWVcIj57eyB2YWx1ZSB9fTwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjcHJvamVjdGVkVmFsdWU+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGlzcGxheS12YWx1ZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxidXR0b25cbiAgICAgIHJpdkJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbaWNvbl09XCInRWRpdDInXCJcbiAgICAgIFtyaXZUb29sdGlwXT1cIidFZGl0J1wiXG4gICAgICBbdmFyaWFudF09XCInZ2hvc3QnXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0VkaXQgJyArIGxhYmVsXCJcbiAgICAgIChjbGljayk9XCJlZGl0LmVtaXQoKVwiXG4gICAgPjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2VkaXRNb2RlPlxuICA8bGFiZWwgY2xhc3M9XCJmaWVsZFwiPlxuICAgIDxyaXYtc3Itb25seT57eyBsYWJlbCB9fTwvcml2LXNyLW9ubHk+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVkaXRvciA/PyBudWxsXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbGFiZWw+XG5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICA8YnV0dG9uXG4gICAgICByaXZCdXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW3ZhcmlhbnRdPVwiJ2Jhc2ljJ1wiXG4gICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwic2F2aW5nXCJcbiAgICAgIChjbGljayk9XCJjYW5jZWwuZW1pdCgpXCJcbiAgICA+XG4gICAgICBDYW5jZWxcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICByaXZCdXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW3ZhcmlhbnRdPVwiJ3ByaW1hcnknXCJcbiAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzYXZlRGlzYWJsZWQgfHwgc2F2aW5nXCJcbiAgICAgIFtsb2FkaW5nXT1cInNhdmluZ1wiXG4gICAgICAoY2xpY2spPVwic2F2ZS5lbWl0KClcIlxuICAgID5cbiAgICAgIFNhdmVcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,43 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class LoadingComponent {
5
- constructor() {
6
- this.size = 40;
7
- this.variant = 'dark';
8
- this.strokeWidth = LoadingComponent.STROKE_WIDTH;
9
- }
10
- static { this.STROKE_WIDTH = 1.5; }
11
- static { this.ARC_START_RADIANS = (Math.PI * 22.5) / 180; }
12
- getPathData() {
13
- const size = this.size;
14
- const halfSize = size / 2;
15
- const stroke = LoadingComponent.STROKE_WIDTH;
16
- const halfStroke = stroke / 2;
17
- const top = halfStroke;
18
- const right = size - stroke;
19
- const radius = (size - stroke * 2) / 2;
20
- const commands = [
21
- `M${halfSize},${top}`,
22
- `L${right},${top}`,
23
- `L${right},${halfSize}`,
24
- `A ${radius} ${radius},0,1,1,${halfSize} ${top}`,
25
- ];
26
- return commands.join(' ');
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: LoadingComponent, selector: "riv-loading", inputs: { size: "size", variant: "variant" }, ngImport: i0, template: "<svg\n [ngClass]=\"{\n dark: variant === 'dark',\n light: variant === 'light',\n small: size === 16,\n medium: size === 40,\n large: size === 80\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.viewBox]=\"'0 0 ' + size + ' ' + size\"\n fill=\"none\"\n>\n <path [attr.stroke-width]=\"strokeWidth\" [attr.d]=\"getPathData()\"></path>\n</svg>\n", styles: [":host{display:inline-block;font-size:0;line-height:0}.dark path{stroke:var(--brand)}.light path{stroke:var(--white-90)}@keyframes stroke-small{0%{stroke-dasharray:1 43;stroke-dashoffset:0}50%{stroke-dasharray:43 1}to{stroke-dasharray:1 43;stroke-dashoffset:-44}}.small{animation:1.5s linear stroke-small infinite}@keyframes stroke-medium{0%{stroke-dasharray:1 121;stroke-dashoffset:0}50%{stroke-dasharray:121 1}to{stroke-dasharray:1 121;stroke-dashoffset:-122}}.medium{animation:1.67s linear stroke-medium infinite}@keyframes stroke-large{0%{stroke-dasharray:1 259;stroke-dashoffset:0}50%{stroke-dasharray:259 1}to{stroke-dasharray:1 259;stroke-dashoffset:-260}}.large{animation:2s linear stroke-large infinite}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingComponent, decorators: [{
32
- type: Component,
33
- args: [{ selector: 'riv-loading', changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg\n [ngClass]=\"{\n dark: variant === 'dark',\n light: variant === 'light',\n small: size === 16,\n medium: size === 40,\n large: size === 80\n }\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.viewBox]=\"'0 0 ' + size + ' ' + size\"\n fill=\"none\"\n>\n <path [attr.stroke-width]=\"strokeWidth\" [attr.d]=\"getPathData()\"></path>\n</svg>\n", styles: [":host{display:inline-block;font-size:0;line-height:0}.dark path{stroke:var(--brand)}.light path{stroke:var(--white-90)}@keyframes stroke-small{0%{stroke-dasharray:1 43;stroke-dashoffset:0}50%{stroke-dasharray:43 1}to{stroke-dasharray:1 43;stroke-dashoffset:-44}}.small{animation:1.5s linear stroke-small infinite}@keyframes stroke-medium{0%{stroke-dasharray:1 121;stroke-dashoffset:0}50%{stroke-dasharray:121 1}to{stroke-dasharray:1 121;stroke-dashoffset:-122}}.medium{animation:1.67s linear stroke-medium infinite}@keyframes stroke-large{0%{stroke-dasharray:1 259;stroke-dashoffset:0}50%{stroke-dasharray:259 1}to{stroke-dasharray:1 259;stroke-dashoffset:-260}}.large{animation:2s linear stroke-large infinite}\n"] }]
34
- }], propDecorators: { size: [{
35
- type: Input
36
- }], variant: [{
37
- type: Input
38
- }] } });
39
- (function (LoadingComponent) {
40
- LoadingComponent.Sizes = [16, 40, 80];
41
- LoadingComponent.Variants = ['light', 'dark'];
42
- })(LoadingComponent || (LoadingComponent = {}));
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFXRSxTQUFJLEdBQTBCLEVBQUUsQ0FBQztRQUdqQyxZQUFPLEdBQTZCLE1BQU0sQ0FBQztRQXNCbEMsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7S0FDdEQ7YUE5QmlCLGlCQUFZLEdBQUcsR0FBRyxBQUFOLENBQU87YUFDbkIsc0JBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsQUFBekIsQ0FBMEI7SUFRM0QsV0FBVztRQUNULE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUUxQixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUU5QixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUM1QixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZDLE1BQU0sUUFBUSxHQUFHO1lBQ2YsSUFBSSxRQUFRLElBQUksR0FBRyxFQUFFO1lBQ3JCLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtZQUNsQixJQUFJLEtBQUssSUFBSSxRQUFRLEVBQUU7WUFDdkIsS0FBSyxNQUFNLElBQUksTUFBTSxVQUFVLFFBQVEsSUFBSSxHQUFHLEVBQUU7U0FDakQsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDOytHQTVCVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpR0NSN0IsbWFBZ0JBOzs0RkRSYSxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzhCQU8vQyxJQUFJO3NCQURILEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLOztBQTBCUixXQUFpQixnQkFBZ0I7SUFDbEIsc0JBQUssR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFVLENBQUM7SUFHOUIseUJBQVEsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQVUsQ0FBQztBQUVyRCxDQUFDLEVBTmdCLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFNaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtbG9hZGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGluZy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IFNUUk9LRV9XSURUSCA9IDEuNTtcbiAgc3RhdGljIHJlYWRvbmx5IEFSQ19TVEFSVF9SQURJQU5TID0gKE1hdGguUEkgKiAyMi41KSAvIDE4MDtcblxuICBASW5wdXQoKVxuICBzaXplOiBMb2FkaW5nQ29tcG9uZW50LlNpemUgPSA0MDtcblxuICBASW5wdXQoKVxuICB2YXJpYW50OiBMb2FkaW5nQ29tcG9uZW50LlZhcmlhbnQgPSAnZGFyayc7XG5cbiAgZ2V0UGF0aERhdGEoKSB7XG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICBjb25zdCBoYWxmU2l6ZSA9IHNpemUgLyAyO1xuXG4gICAgY29uc3Qgc3Ryb2tlID0gTG9hZGluZ0NvbXBvbmVudC5TVFJPS0VfV0lEVEg7XG4gICAgY29uc3QgaGFsZlN0cm9rZSA9IHN0cm9rZSAvIDI7XG5cbiAgICBjb25zdCB0b3AgPSBoYWxmU3Ryb2tlO1xuICAgIGNvbnN0IHJpZ2h0ID0gc2l6ZSAtIHN0cm9rZTtcbiAgICBjb25zdCByYWRpdXMgPSAoc2l6ZSAtIHN0cm9rZSAqIDIpIC8gMjtcblxuICAgIGNvbnN0IGNvbW1hbmRzID0gW1xuICAgICAgYE0ke2hhbGZTaXplfSwke3RvcH1gLFxuICAgICAgYEwke3JpZ2h0fSwke3RvcH1gLFxuICAgICAgYEwke3JpZ2h0fSwke2hhbGZTaXplfWAsXG4gICAgICBgQSAke3JhZGl1c30gJHtyYWRpdXN9LDAsMSwxLCR7aGFsZlNpemV9ICR7dG9wfWAsXG4gICAgXTtcbiAgICByZXR1cm4gY29tbWFuZHMuam9pbignICcpO1xuICB9XG5cbiAgcmVhZG9ubHkgc3Ryb2tlV2lkdGggPSBMb2FkaW5nQ29tcG9uZW50LlNUUk9LRV9XSURUSDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBMb2FkaW5nQ29tcG9uZW50IHtcbiAgZXhwb3J0IGNvbnN0IFNpemVzID0gWzE2LCA0MCwgODBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBTaXplID0gKHR5cGVvZiBMb2FkaW5nQ29tcG9uZW50LlNpemVzKVtudW1iZXJdO1xuXG4gIGV4cG9ydCBjb25zdCBWYXJpYW50cyA9IFsnbGlnaHQnLCAnZGFyayddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBWYXJpYW50ID0gKHR5cGVvZiBMb2FkaW5nQ29tcG9uZW50LlZhcmlhbnRzKVtudW1iZXJdO1xufVxuIiwiPHN2Z1xuICBbbmdDbGFzc109XCJ7XG4gICAgZGFyazogdmFyaWFudCA9PT0gJ2RhcmsnLFxuICAgIGxpZ2h0OiB2YXJpYW50ID09PSAnbGlnaHQnLFxuICAgIHNtYWxsOiBzaXplID09PSAxNixcbiAgICBtZWRpdW06IHNpemUgPT09IDQwLFxuICAgIGxhcmdlOiBzaXplID09PSA4MFxuICB9XCJcbiAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gIFthdHRyLndpZHRoXT1cInNpemVcIlxuICBbYXR0ci5oZWlnaHRdPVwic2l6ZVwiXG4gIFthdHRyLnZpZXdCb3hdPVwiJzAgMCAnICsgc2l6ZSArICcgJyArIHNpemVcIlxuICBmaWxsPVwibm9uZVwiXG4+XG4gIDxwYXRoIFthdHRyLnN0cm9rZS13aWR0aF09XCJzdHJva2VXaWR0aFwiIFthdHRyLmRdPVwiZ2V0UGF0aERhdGEoKVwiPjwvcGF0aD5cbjwvc3ZnPlxuIl19
@@ -1,25 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../loading/loading.component";
5
- export class LoadingCoverComponent {
6
- constructor() {
7
- this.loading = false;
8
- this.loadingSize = 40;
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingCoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: LoadingCoverComponent, selector: "riv-loading-cover", inputs: { loading: "loading", loadingSize: "loadingSize", zIndexOverride: "zIndexOverride", errorMessage: "errorMessage" }, ngImport: i0, template: "<ng-content></ng-content>\n<div *ngIf=\"loading\" class=\"cover\" [style.z-index]=\"zIndexOverride ?? null\">\n <riv-loading [size]=\"loadingSize\"></riv-loading>\n</div>\n<div\n *ngIf=\"errorMessage\"\n class=\"cover\"\n [style.z-index]=\"zIndexOverride ?? null\"\n>\n <span class=\"error-icon\">\uD83D\uDE41</span>\n <span>{{ errorMessage }}</span>\n</div>\n", styles: [":host{display:block;max-width:100%;position:relative}.cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--size-xsmall);background-color:var(--white-90);border-radius:var(--border-radius-medium);text-align:center;color:var(--type-light-low-contrast);z-index:var(--loadable-z-index);font:var(--body-medium)}.error-icon{font-size:var(--type-5-font-size)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoadingComponent, selector: "riv-loading", inputs: ["size", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoadingCoverComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'riv-loading-cover', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<div *ngIf=\"loading\" class=\"cover\" [style.z-index]=\"zIndexOverride ?? null\">\n <riv-loading [size]=\"loadingSize\"></riv-loading>\n</div>\n<div\n *ngIf=\"errorMessage\"\n class=\"cover\"\n [style.z-index]=\"zIndexOverride ?? null\"\n>\n <span class=\"error-icon\">\uD83D\uDE41</span>\n <span>{{ errorMessage }}</span>\n</div>\n", styles: [":host{display:block;max-width:100%;position:relative}.cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--size-xsmall);background-color:var(--white-90);border-radius:var(--border-radius-medium);text-align:center;color:var(--type-light-low-contrast);z-index:var(--loadable-z-index);font:var(--body-medium)}.error-icon{font-size:var(--type-5-font-size)}\n"] }]
16
- }], propDecorators: { loading: [{
17
- type: Input
18
- }], loadingSize: [{
19
- type: Input
20
- }], zIndexOverride: [{
21
- type: Input
22
- }], errorMessage: [{
23
- type: Input
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1jb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmctY292ZXIvbG9hZGluZy1jb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9sb2FkL2xvYWRpbmctY292ZXIvbG9hZGluZy1jb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVMxRSxNQUFNLE9BQU8scUJBQXFCO0lBTmxDO1FBUUUsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUd6QixnQkFBVyxHQUEwQixFQUFFLENBQUM7S0FPekM7K0dBWlkscUJBQXFCO21HQUFyQixxQkFBcUIscUxDVGxDLGdYQVlBOzs0RkRIYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBSS9DLE9BQU87c0JBRE4sS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Jpdi1sb2FkaW5nLWNvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmctY292ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkaW5nLWNvdmVyLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdDb3ZlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBsb2FkaW5nU2l6ZTogTG9hZGluZ0NvbXBvbmVudC5TaXplID0gNDA7XG5cbiAgQElucHV0KClcbiAgekluZGV4T3ZlcnJpZGU/OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImNvdmVyXCIgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4T3ZlcnJpZGUgPz8gbnVsbFwiPlxuICA8cml2LWxvYWRpbmcgW3NpemVdPVwibG9hZGluZ1NpemVcIj48L3Jpdi1sb2FkaW5nPlxuPC9kaXY+XG48ZGl2XG4gICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCJcbiAgY2xhc3M9XCJjb3ZlclwiXG4gIFtzdHlsZS56LWluZGV4XT1cInpJbmRleE92ZXJyaWRlID8/IG51bGxcIlxuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLWljb25cIj7wn5mBPC9zcGFuPlxuICA8c3Bhbj57eyBlcnJvck1lc3NhZ2UgfX08L3NwYW4+XG48L2Rpdj5cbiJdfQ==