@softheon/armature 19.23.2 → 21.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 (267) hide show
  1. package/assets/styles/_utility.scss +26 -7
  2. package/assets/styles/b2b/_b2b-inputs-override.scss +8 -8
  3. package/assets/styles/b2b/_b2b-tabs.scss +6 -6
  4. package/assets/styles/deprecated/_button-deprecated.scss +6 -6
  5. package/assets/styles/material-override/_checkbox.scss +1 -1
  6. package/assets/styles/material-override/_radio-button.scss +16 -16
  7. package/assets/styles/material-override/_slider.scss +44 -44
  8. package/assets/styles/material-override/_switch.scss +77 -77
  9. package/fesm2022/softheon-armature-ag-grid-components.mjs +23 -25
  10. package/fesm2022/softheon-armature-ag-grid-components.mjs.map +1 -1
  11. package/fesm2022/softheon-armature.mjs +419 -420
  12. package/fesm2022/softheon-armature.mjs.map +1 -1
  13. package/package.json +21 -21
  14. package/{ag-grid-components/src/sof-table/sof-table.component.d.ts → types/softheon-armature-ag-grid-components.d.ts} +103 -6
  15. package/types/softheon-armature.d.ts +7175 -0
  16. package/ag-grid-components/index.d.ts +0 -5
  17. package/ag-grid-components/public-api.d.ts +0 -5
  18. package/ag-grid-components/src/ag-grid-components.module.d.ts +0 -30
  19. package/ag-grid-components/src/column-options-modal/column-options.component.d.ts +0 -50
  20. package/ag-grid-components/src/table-cell/table-cell.component.d.ts +0 -18
  21. package/index.d.ts +0 -5
  22. package/lib/alert-banner/alert-banner-api.d.ts +0 -7
  23. package/lib/alert-banner/alert-banner.module.d.ts +0 -12
  24. package/lib/alert-banner/components/alert-banner/alert-banner.component.d.ts +0 -41
  25. package/lib/alert-banner/models/alert-banner-config.d.ts +0 -20
  26. package/lib/alert-banner/models/alert-banner-context.d.ts +0 -18
  27. package/lib/alert-banner/models/constants.d.ts +0 -15
  28. package/lib/alert-banner/services/alert-banner.service.d.ts +0 -28
  29. package/lib/armature.module.d.ts +0 -47
  30. package/lib/base-components/b2b/toast/components/sof-toast/sof-toast.component.d.ts +0 -9
  31. package/lib/base-components/b2b/toast/models/toast.model.d.ts +0 -7
  32. package/lib/base-components/b2b/toast/toast.service.d.ts +0 -21
  33. package/lib/base-components/base-component-api.d.ts +0 -24
  34. package/lib/base-components/base-component.module.d.ts +0 -48
  35. package/lib/base-components/confirm-address/sof-confirm-address/compare-address-pipe/compare-address.pipe.d.ts +0 -11
  36. package/lib/base-components/confirm-address/sof-confirm-address/sof-confirm-address.component.d.ts +0 -62
  37. package/lib/base-components/confirm-address/sof-confirm-address-county-change/sof-confirm-address-county-change.component.d.ts +0 -41
  38. package/lib/base-components/menu/menu.d.ts +0 -52
  39. package/lib/base-components/sof-alert/sof-alert.component.d.ts +0 -39
  40. package/lib/base-components/sof-badge/sof-badge.component.d.ts +0 -60
  41. package/lib/base-components/sof-banner/sof-banner.component.d.ts +0 -34
  42. package/lib/base-components/sof-bottom-sheet/sof-bottom-sheet.component.d.ts +0 -64
  43. package/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.d.ts +0 -102
  44. package/lib/base-components/sof-callout/sof-callout.component.d.ts +0 -89
  45. package/lib/base-components/sof-chip/sof-chip.component.d.ts +0 -55
  46. package/lib/base-components/sof-context/sof-context.component.d.ts +0 -101
  47. package/lib/base-components/sof-dropdown-button/sof-dropdown-button.component.d.ts +0 -40
  48. package/lib/base-components/sof-handle/sof-handle.component.d.ts +0 -62
  49. package/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.d.ts +0 -28
  50. package/lib/base-components/sof-input-stepper/sof-input-stepper.component.d.ts +0 -76
  51. package/lib/base-components/sof-modal/sof-modal.component.d.ts +0 -54
  52. package/lib/base-components/sof-progress-bar/sof-progress-bar.component.d.ts +0 -40
  53. package/lib/base-components/sof-radio-card/sof-radio-card.component.d.ts +0 -20
  54. package/lib/base-components/sof-segmented-control/sof-segmented-control.component.d.ts +0 -42
  55. package/lib/base-components/sof-simple-alert/sof-simple-alert.component.d.ts +0 -28
  56. package/lib/base-components/sof-star-rating/sof-star-rating.component.d.ts +0 -22
  57. package/lib/base-components/sof-utility-button/sof-utility-button.component.d.ts +0 -40
  58. package/lib/component-save-print/components/component-save-print/component-save-print.component.d.ts +0 -46
  59. package/lib/component-save-print/services/component-save-print.service.d.ts +0 -18
  60. package/lib/component-save-print/sof-ar-component-save-print.module.d.ts +0 -9
  61. package/lib/core/client-generated/api/session.service.d.ts +0 -94
  62. package/lib/core/client-generated/configuration.d.ts +0 -48
  63. package/lib/core/client-generated/encoder.d.ts +0 -10
  64. package/lib/core/client-generated/model/applicationUserModel.d.ts +0 -54
  65. package/lib/core/client-generated/model/assertedUserModel.d.ts +0 -25
  66. package/lib/core/client-generated/model/brandingModel.d.ts +0 -33
  67. package/lib/core/client-generated/model/errorModel.d.ts +0 -24
  68. package/lib/core/client-generated/model/folderLink.d.ts +0 -34
  69. package/lib/core/client-generated/model/identityProfile.d.ts +0 -82
  70. package/lib/core/client-generated/model/models.d.ts +0 -19
  71. package/lib/core/client-generated/model/oAuthModel.d.ts +0 -28
  72. package/lib/core/client-generated/model/preferencesRow.d.ts +0 -15
  73. package/lib/core/client-generated/model/rolesRow.d.ts +0 -17
  74. package/lib/core/client-generated/model/sessionGetResponseModel.d.ts +0 -23
  75. package/lib/core/client-generated/model/sessionPostRequestModel.d.ts +0 -39
  76. package/lib/core/client-generated/model/sessionPostResponseModel.d.ts +0 -23
  77. package/lib/core/client-generated/model/sessionPutRequestModel.d.ts +0 -39
  78. package/lib/core/client-generated/model/sessionPutResponseModel.d.ts +0 -23
  79. package/lib/core/client-generated/model/sessionResponseModel.d.ts +0 -43
  80. package/lib/core/client-generated/model/settingsProfile.d.ts +0 -21
  81. package/lib/core/client-generated/model/themePaletteColorsModel.d.ts +0 -96
  82. package/lib/core/client-generated/model/themePaletteModel.d.ts +0 -65
  83. package/lib/core/client-generated/model/trackingModel.d.ts +0 -24
  84. package/lib/core/client-generated/model/validationRecordsRow.d.ts +0 -17
  85. package/lib/core/client-generated/variables.d.ts +0 -8
  86. package/lib/core/components/app-template/app-template.component.d.ts +0 -73
  87. package/lib/core/functions/guid.d.ts +0 -4
  88. package/lib/core/functions/naming-convention.d.ts +0 -6
  89. package/lib/core/functions/route-to-pre-login-route.d.ts +0 -6
  90. package/lib/core/initializer/abstract-startup-service.d.ts +0 -5
  91. package/lib/core/initializer/initializer.service.d.ts +0 -87
  92. package/lib/core/interceptors/armature-auth-token-append.interceptor.d.ts +0 -31
  93. package/lib/core/models/base-config.d.ts +0 -31
  94. package/lib/core/models/constants.d.ts +0 -17
  95. package/lib/core/models/data-store-config.d.ts +0 -27
  96. package/lib/core/models/federated-module-config.d.ts +0 -3
  97. package/lib/core/models/header-config.d.ts +0 -9
  98. package/lib/core/models/http-verbs.d.ts +0 -10
  99. package/lib/core/models/market-selection-config.d.ts +0 -12
  100. package/lib/core/models/nav-panel-config.d.ts +0 -17
  101. package/lib/core/models/navigation-config.d.ts +0 -14
  102. package/lib/core/models/oidc-auth-settings.d.ts +0 -11
  103. package/lib/core/models/route-path.d.ts +0 -5
  104. package/lib/core/models/session-config.d.ts +0 -18
  105. package/lib/core/models/styles.d.ts +0 -11
  106. package/lib/core/models/subdomain-config.d.ts +0 -7
  107. package/lib/core/models/typed-session.d.ts +0 -17
  108. package/lib/core/models/user-entity-service-config.d.ts +0 -14
  109. package/lib/core/services/authorization.service.d.ts +0 -54
  110. package/lib/core/services/banner.service.d.ts +0 -31
  111. package/lib/core/services/base-config.service.d.ts +0 -21
  112. package/lib/core/services/custom-auth-config.service.d.ts +0 -6
  113. package/lib/core/services/default-config.service.d.ts +0 -8
  114. package/lib/core/services/federated-module.service.d.ts +0 -23
  115. package/lib/core/services/market-selection.service.d.ts +0 -137
  116. package/lib/core/services/selected-market-context.d.ts +0 -22
  117. package/lib/core/services/session.service.d.ts +0 -127
  118. package/lib/core/services/user-entity.service.d.ts +0 -47
  119. package/lib/directives/text-overflow-ellipsis-tooltip.directive.d.ts +0 -59
  120. package/lib/distributed-cache/client-generated/api/api.d.ts +0 -3
  121. package/lib/distributed-cache/client-generated/api/cache.service.d.ts +0 -72
  122. package/lib/distributed-cache/client-generated/configuration.d.ts +0 -48
  123. package/lib/distributed-cache/client-generated/encoder.d.ts +0 -10
  124. package/lib/distributed-cache/client-generated/model/cacheExpirationType.d.ts +0 -19
  125. package/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.d.ts +0 -33
  126. package/lib/distributed-cache/client-generated/model/models.d.ts +0 -4
  127. package/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.d.ts +0 -20
  128. package/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.d.ts +0 -20
  129. package/lib/distributed-cache/client-generated/variables.d.ts +0 -8
  130. package/lib/distributed-cache/distributed-cache-api.d.ts +0 -7
  131. package/lib/distributed-cache/distributed-cache.module.d.ts +0 -8
  132. package/lib/distributed-cache/models/constants.d.ts +0 -2
  133. package/lib/distributed-cache/models/policy-person.d.ts +0 -19
  134. package/lib/distributed-cache/services/server-cache.service.d.ts +0 -72
  135. package/lib/error/components/error-common/error-common.component.d.ts +0 -63
  136. package/lib/error/error-api.d.ts +0 -1
  137. package/lib/faq/components/faq/faq.component.d.ts +0 -22
  138. package/lib/faq/faq-api.d.ts +0 -5
  139. package/lib/faq/faq.module.d.ts +0 -15
  140. package/lib/faq/models/faq-config.d.ts +0 -13
  141. package/lib/faq/models/faq.d.ts +0 -9
  142. package/lib/feedback-tool/components/feedback-tool/feedback-tool.component.d.ts +0 -62
  143. package/lib/feedback-tool/feedback-tool-api.d.ts +0 -3
  144. package/lib/feedback-tool/feedback-tool.module.d.ts +0 -14
  145. package/lib/footer/components/footer/footer.component.d.ts +0 -14
  146. package/lib/footer/components/site-map/site-map.component.d.ts +0 -13
  147. package/lib/footer/footer-api.d.ts +0 -7
  148. package/lib/footer/footer.module.d.ts +0 -14
  149. package/lib/footer/models/enum/site-map-direction.d.ts +0 -13
  150. package/lib/footer/models/footer-config.d.ts +0 -7
  151. package/lib/footer/models/site-map-models.d.ts +0 -41
  152. package/lib/forms/components/sof-address/sof-address.component.d.ts +0 -56
  153. package/lib/forms/components/sof-select/sof-select.component.d.ts +0 -239
  154. package/lib/forms/directives/alphanumeric/alphanumeric.directive.d.ts +0 -31
  155. package/lib/forms/directives/date-input-filter/date-input-filter.directive.d.ts +0 -7
  156. package/lib/forms/directives/input-trim/input-trim.directive.d.ts +0 -58
  157. package/lib/forms/directives/letters-characters/letters-characters.directive.d.ts +0 -27
  158. package/lib/forms/directives/letters-only/letters-only.directive.d.ts +0 -27
  159. package/lib/forms/directives/numbers-only/numbers-only.directive.d.ts +0 -22
  160. package/lib/forms/forms-api.d.ts +0 -16
  161. package/lib/forms/forms.module.d.ts +0 -22
  162. package/lib/forms/models/address.d.ts +0 -14
  163. package/lib/forms/models/constants.d.ts +0 -9
  164. package/lib/forms/models/county.d.ts +0 -13
  165. package/lib/forms/models/enums/states.d.ts +0 -64
  166. package/lib/forms/pipes/phone-format.pipe.d.ts +0 -10
  167. package/lib/forms/services/alert.service.d.ts +0 -60
  168. package/lib/header/components/header/header.component.d.ts +0 -123
  169. package/lib/header/components/mobile-header-menu/mobile-header-menu.component.d.ts +0 -26
  170. package/lib/header/components/sof-header/menu-prevent-close-directive/menu-prevent-close.directive.d.ts +0 -7
  171. package/lib/header/components/sof-header/sof-header.component.d.ts +0 -123
  172. package/lib/header/components/sof-header/user-initials-pipe/user-initials.pipe.d.ts +0 -10
  173. package/lib/header/header-api.d.ts +0 -12
  174. package/lib/header/header.module.d.ts +0 -21
  175. package/lib/header/models/header-auth.settings.d.ts +0 -30
  176. package/lib/header/models/header-external-links.d.ts +0 -13
  177. package/lib/header/models/header-language.settings.d.ts +0 -10
  178. package/lib/header/models/header-theme.settings.d.ts +0 -19
  179. package/lib/header/models/header.settings.d.ts +0 -56
  180. package/lib/header/models/mobile-header-nav.settings.d.ts +0 -11
  181. package/lib/mfe/components/entity-base/entity-base.component.d.ts +0 -40
  182. package/lib/mfe/components/entity-inject-wrapper/entity-inject-wrapper.component.d.ts +0 -25
  183. package/lib/mfe/mfe.module.d.ts +0 -7
  184. package/lib/mfe/models/entity-config-base.d.ts +0 -5
  185. package/lib/mfe/models/entity-dto.d.ts +0 -191
  186. package/lib/mfe/services/entity-helper.service.d.ts +0 -60
  187. package/lib/navigation/components/b2b-nav/b2b-nav.component.d.ts +0 -103
  188. package/lib/navigation/components/navigation/navigation.component.d.ts +0 -201
  189. package/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-hierarchy/sof-breadcrumbs-hierarchy.component.d.ts +0 -29
  190. package/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-history/sof-breadcrumbs-history.component.d.ts +0 -36
  191. package/lib/navigation/components/sof-navigation-panel/models/nav-panel-logo.d.ts +0 -12
  192. package/lib/navigation/components/sof-navigation-panel/models/nav-panel-nodes.d.ts +0 -134
  193. package/lib/navigation/components/sof-navigation-panel/models/nav-panel-settings.d.ts +0 -11
  194. package/lib/navigation/components/sof-navigation-panel/sof-nav-panel.component.d.ts +0 -130
  195. package/lib/navigation/components/sof-sub-navigation/sof-sub-navigation.component.d.ts +0 -49
  196. package/lib/navigation/components/sof-tabs-navigation/sof-tabs.component.d.ts +0 -30
  197. package/lib/navigation/models/breadcrumb.d.ts +0 -9
  198. package/lib/navigation/models/nav-theme.settings.d.ts +0 -25
  199. package/lib/navigation/models/nav.settings.d.ts +0 -68
  200. package/lib/navigation/models/navigation.d.ts +0 -42
  201. package/lib/navigation/navigation-api.d.ts +0 -15
  202. package/lib/navigation/navigation.module.d.ts +0 -28
  203. package/lib/oauth/models/constants.d.ts +0 -6
  204. package/lib/oauth/models/generated/accountManagementAssertionModel.d.ts +0 -49
  205. package/lib/oauth/models/generated/accountManagementRefreshRequestModel.d.ts +0 -21
  206. package/lib/oauth/models/generated/accountManagementResponseModel.d.ts +0 -45
  207. package/lib/oauth/models/generated/coverageDetail.d.ts +0 -67
  208. package/lib/oauth/models/generated/finance.d.ts +0 -36
  209. package/lib/oauth/models/generated/iSsoResponseModel.d.ts +0 -44
  210. package/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.d.ts +0 -45
  211. package/lib/oauth/models/generated/person.d.ts +0 -53
  212. package/lib/oauth/models/generated/policy.d.ts +0 -51
  213. package/lib/oauth/models/generated/refreshResponseModel.d.ts +0 -20
  214. package/lib/oauth/models/hybrid-saml-oauth-config.d.ts +0 -14
  215. package/lib/oauth/oauth-api.d.ts +0 -12
  216. package/lib/oauth/oauth.module.d.ts +0 -8
  217. package/lib/oauth/services/hybrid-saml-oauth.service.d.ts +0 -59
  218. package/lib/rbac/directives/rbac-action.directive.d.ts +0 -27
  219. package/lib/rbac/models/access-token-claims.d.ts +0 -18
  220. package/lib/rbac/models/constants.d.ts +0 -4
  221. package/lib/rbac/models/decoded-access-token.d.ts +0 -43
  222. package/lib/rbac/models/rbac-config.d.ts +0 -15
  223. package/lib/rbac/models/role-access.d.ts +0 -7
  224. package/lib/rbac/rbac-api.d.ts +0 -11
  225. package/lib/rbac/rbac.module.d.ts +0 -19
  226. package/lib/rbac/services/ar-role-nav.service.d.ts +0 -25
  227. package/lib/rbac/services/oauth2-role.service.d.ts +0 -51
  228. package/lib/rbac/services/role-nav.service.d.ts +0 -12
  229. package/lib/rbac/services/tokens.d.ts +0 -3
  230. package/lib/resize-panels/components/resize-panels/resize-panels.component.d.ts +0 -64
  231. package/lib/resize-panels/models/resize-event.d.ts +0 -6
  232. package/lib/resize-panels/resize-panels-api.d.ts +0 -4
  233. package/lib/resize-panels/resize-panels.module.d.ts +0 -9
  234. package/lib/rum/models/arm-error.d.ts +0 -27
  235. package/lib/rum/models/rum-config.d.ts +0 -9
  236. package/lib/rum/rum-api.d.ts +0 -7
  237. package/lib/rum/rum.module.d.ts +0 -14
  238. package/lib/rum/services/rum.service.d.ts +0 -47
  239. package/lib/rum/services/shared-error.service.d.ts +0 -27
  240. package/lib/rum/services/softheon-error-handler.service.d.ts +0 -32
  241. package/lib/saml/components/redirect-saml/redirect-saml.component.d.ts +0 -41
  242. package/lib/saml/models/i-saml-request.d.ts +0 -4
  243. package/lib/saml/models/i-saml-response.d.ts +0 -4
  244. package/lib/saml/models/redirect-saml-request.d.ts +0 -24
  245. package/lib/saml/models/sso-gateway-model.d.ts +0 -17
  246. package/lib/saml/saml-api.d.ts +0 -11
  247. package/lib/saml/saml.module.d.ts +0 -9
  248. package/lib/saml/services/entry/abstract-saml-entry.service.d.ts +0 -16
  249. package/lib/saml/services/entry/sso-gateway-entry.service.d.ts +0 -22
  250. package/lib/saml/services/send-off/abstract-saml.service.d.ts +0 -20
  251. package/lib/saml/services/send-off/saml.service.d.ts +0 -32
  252. package/lib/snackbar/snackbar.d.ts +0 -52
  253. package/lib/snackbar/snackbar.service.d.ts +0 -50
  254. package/lib/snackbar/sof-snackbar/sof-snackbar.component.d.ts +0 -39
  255. package/lib/sof-pipe/constants/constants.d.ts +0 -8
  256. package/lib/sof-pipe/models/sof-date-pipe-format.d.ts +0 -7
  257. package/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.d.ts +0 -19
  258. package/lib/sof-pipe/pipes/sof-date/sof-date.pipe.d.ts +0 -21
  259. package/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.d.ts +0 -12
  260. package/lib/sof-pipe/sof-pipe.api.d.ts +0 -7
  261. package/lib/sof-pipe/sof-pipe.module.d.ts +0 -10
  262. package/lib/theming/directives/css-override.directive.d.ts +0 -20
  263. package/lib/theming/models/css-override.d.ts +0 -15
  264. package/lib/theming/services/theme.service.d.ts +0 -45
  265. package/lib/theming/theme-api.d.ts +0 -5
  266. package/lib/theming/theme.module.d.ts +0 -9
  267. package/public-api.d.ts +0 -66
@@ -1,134 +0,0 @@
1
- /**
2
- * Navigation panel nodes
3
- * @example
4
- * ```typescript
5
- * // no subnodes ...
6
- * node: NavPanelNode = {
7
- * label: 'Test Link',
8
- * iconClass: 'ph-bold ph-acorn',
9
- * route: '/test-link'
10
- * };
11
- *
12
- * // with sub nodes ...
13
- * node: NavPanelNode = {
14
- * label: 'Section Header',
15
- * subnodes: [
16
- * {
17
- * label: 'Test Link',
18
- * iconClass: 'ph-bold ph-acorn',
19
- * route: '/test-link'
20
- * }
21
- * ]
22
- * };
23
- * ```
24
- */
25
- export interface NavPanelNode {
26
- /**
27
- * Node label
28
- * @note can be a translation key
29
- * @example 'armature.navigationPanel.node-labels.home'
30
- */
31
- label: string;
32
- /**
33
- * Node icon class
34
- * @note we are currently using phosphor-icons type: bold, per design
35
- * @example 'ph-bold ph-acorn'
36
- * @tutorial
37
- * - include the following script in the index.html of your app -
38
- * ```html
39
- * <script src="https://unpkg.com/@phosphor-icons/web"></script>
40
- * ```
41
- * - Setting the font-size for an icon automatically sets the height & width to match, which helps when aligning icons in a column or row.
42
- * @see {@link [Phosphor Icons: Bold](https://phosphoricons.com/?weight=%22bold%22)}
43
- */
44
- iconClass?: string;
45
- /**
46
- * Node route url
47
- */
48
- route?: string;
49
- /**
50
- * Badge config
51
- */
52
- badgeConfig?: NavNodeBadgeConfig;
53
- /**
54
- * Subnodes array
55
- * @description If sub nodes are present,
56
- * the parent node should not have a route or icon and will only include a label for the sub nodes,
57
- * this parent node would not be included in the applications router-module as it is just a section header.
58
- * @example
59
- * ```typescript
60
- * node: NavPanelNode = {
61
- * label: 'Section Header',
62
- * subnodes: [
63
- * {
64
- * label: 'Test Link',
65
- * iconClass: 'ph-bold ph-acorn',
66
- * route: '/test-link'
67
- * }
68
- * ]
69
- * };
70
- * ```
71
- */
72
- subnodes?: Array<NavPanelSubnode>;
73
- }
74
- /**
75
- * Navigation panel subnodes
76
- * @note subnodes cannot have there own subnodes
77
- */
78
- interface NavPanelSubnode {
79
- /**
80
- * Subnode label
81
- * @note can be a translation key
82
- * @example 'armature.navigationPanel.node-labels.home'
83
- */
84
- label: string;
85
- /**
86
- * Subnode icon class
87
- * @note we are currently using phosphor-icons, type: bold, per design
88
- * @example 'ph-bold ph-acorn'
89
- * @tutorial
90
- * - include the following script in the index.html of your app -
91
- * ```html
92
- * <script src="https://unpkg.com/@phosphor-icons/web"></script>
93
- * ```
94
- * - Setting the font-size for an icon automatically sets the height & width to match, which helps when aligning icons in a column or row.
95
- * @see {@link [Phosphor Icons: Bold](https://phosphoricons.com/?weight=%22bold%22)}
96
- */
97
- iconClass?: string;
98
- /**
99
- * Subnode route url
100
- */
101
- route?: string;
102
- /**
103
- * Badge config
104
- */
105
- badgeConfig?: NavNodeBadgeConfig;
106
- }
107
- /**
108
- * Navigation node badge configuration
109
- */
110
- export interface NavNodeBadgeConfig {
111
- /** Badge type - 'notification' for red badges, 'status' for primary badges */
112
- type: 'notification' | 'status';
113
- }
114
- /**
115
- * Available badge data
116
- * @note the nav-panel returns this as @Output() event
117
- */
118
- export interface NavNodeAvailableBadge {
119
- /** node index */
120
- nodeIndex: number;
121
- /** node sub index */
122
- subnodeIndex?: number;
123
- /** the nodes label */
124
- nodeLabel: string;
125
- /** the nodes badge type - 'notification' for red badges, 'status' for primary badges */
126
- badgeType: 'notification' | 'status';
127
- }
128
- /** Interface for badge update events */
129
- export interface NavBadgeUpdate {
130
- nodeIndex: number;
131
- value: string;
132
- subIndex?: number;
133
- }
134
- export {};
@@ -1,11 +0,0 @@
1
- /**
2
- * Navigation panel settings
3
- */
4
- export interface NavPanelSettings {
5
- /**
6
- * Can we collapse/expand the nav panel on desktop
7
- * @note on mobile you always can.
8
- * @default true
9
- */
10
- allowNavToggle?: boolean;
11
- }
@@ -1,130 +0,0 @@
1
- import { EventEmitter, OnChanges, OnInit, Signal, SimpleChanges, WritableSignal } from '@angular/core';
2
- import { BreakpointState } from '@angular/cdk/layout';
3
- import { MatSidenavContent } from '@angular/material/sidenav';
4
- import { NavNodeAvailableBadge, NavPanelNode } from './models/nav-panel-nodes';
5
- import { NavPanelSettings } from './models/nav-panel-settings';
6
- import { NavPanelLogo } from './models/nav-panel-logo';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * The Navigation Panel Component
10
- * @description Main navigation panel for Portals, part of the new Portal UI-shell.
11
- * @note Designed to be used with the 'SofHeaderComponent' component as its child.
12
- * @see [Figma/portal-ui-shell]({@link https://www.figma.com/design/W5HVNCcN9HafDRvc5N7Z28/%5BWIP%5D-Softheon-Unified-Design-System-v1.0?node-id=14089-118395&t=G5IKDvYHpwU0vOFq-0})
13
- *
14
- * @todo `mobile styling` - awaiting design, minor adjustments have been made - 1/2/25 ...
15
- */
16
- export declare class SofNavPanelComponent implements OnInit, OnChanges {
17
- /**
18
- * Component Input (required) - Navigation node data
19
- * @see {@link NavPanelNode}
20
- */
21
- nodes: Array<NavPanelNode>;
22
- /**
23
- * Component Input - Basic navigation settings
24
- * @see {@link NavPanelSettings}
25
- * @note If any or all settings are not passed, defaults will be set.
26
- * @see {@link initSettings()}
27
- */
28
- settings?: NavPanelSettings;
29
- /**
30
- * Should scroll to top on `NavigationEnd` event?
31
- * @default true
32
- */
33
- scrollToTopOnNavigationEndEvent: boolean;
34
- /** The brand logo config */
35
- brandLogo?: NavPanelLogo;
36
- /** The nav panel title */
37
- title?: string;
38
- /** The nav panel subtitle */
39
- subtitle?: string;
40
- /** Is auto shrink or not */
41
- isAutoShrink: boolean;
42
- /**
43
- * Is the nav panel open
44
- * @note this is needed to pass panel opened state to the SofHeaderPortalComponent
45
- */
46
- isNavPanelOpenedEvent: EventEmitter<boolean>;
47
- /**
48
- * Main content for scroll position
49
- * @note this is the element which has the apps 'main' scrollbar.
50
- */
51
- sidenavContent: MatSidenavContent;
52
- /** This is the navPanel element */
53
- private navPanel;
54
- /** Utility for checking the matching state of media queries.*/
55
- private breakpointObserver;
56
- /** Has the small screen breakpoint been hit */
57
- isSmallScreen: Signal<BreakpointState>;
58
- /** Angular's router */
59
- private router;
60
- /** The previous break point state */
61
- private previousBreakpointState;
62
- /**
63
- * Badge values signal
64
- * @description Map of node index to badge value string
65
- * @example { 0: '5', 2: '12' } - node at index 0 shows '5', node at index 2 shows '12'
66
- */
67
- badgeValues: WritableSignal<Record<number, string>>;
68
- /** The nodes with badge configs */
69
- nodeBadges: WritableSignal<Array<NavNodeAvailableBadge>>;
70
- /** Emits the nodes with badge configs */
71
- availableNodeBadges: EventEmitter<Array<NavNodeAvailableBadge>>;
72
- /**
73
- * Constructor.
74
- */
75
- constructor();
76
- /** On Init - Initialize the settings */
77
- ngOnInit(): void;
78
- /** On Changes - find node badges and emit the results */
79
- ngOnChanges(changes: SimpleChanges): void;
80
- /**
81
- * Initializes the nav panel settings, defaults will be set if `null` or `undefined`
82
- * @note The 'nullish coalescing assignment operator' `??=` assigns defaults for `boolean` and `number` types,
83
- * for `number` types this will allow for `0` to be accepted. For a `string`, use 'logical OR assignment' `||=` operator,
84
- * as this will also prevent empty strings `" "`.
85
- * @see `??=` {@link [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_assignment#using_nullish_coalescing_assignment)}
86
- * @see `||=` {@link [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR_assignment#try_it)}
87
- */
88
- private initSettings;
89
- /** Closes the navigation panel */
90
- closeNav(): void;
91
- /**
92
- * Scrolls to the top of page
93
- * @note using `window.scrollTo` will not work if using this component as the main scrollbar does not live on the window level.
94
- * Configuring `scrollPositionRestoration` in the router module will not work either.
95
- */
96
- scrollToTop(): void;
97
- /**
98
- * Gets the badge value for a specific node index
99
- * @param index The flattened node index (accounts for subnodes)
100
- * @returns The badge value string or empty string if not found
101
- */
102
- getBadgeValue(index: number): string;
103
- /**
104
- * Updates the badge value for a specific node or subnode
105
- * @param nodeIndex The parent node index
106
- * @param value The badge value to set
107
- * @param subIndex The subnode index (optional, for subnodes only)
108
- * @example
109
- * // Update a regular node badge
110
- * updateBadgeValue(0, '5');
111
- *
112
- * // Update a subnode badge
113
- * updateBadgeValue(6, '12', 0); // 6th node, 1st subnode
114
- */
115
- updateBadgeValue(nodeIndex: number, value: string, subIndex?: number): void;
116
- /**
117
- * Calculates the flattened index for a node or subnode
118
- * @param nodeIndex The parent node index
119
- * @param subIndex The subnode index (optional)
120
- * @returns The flattened index accounting for all previous nodes and subnodes
121
- */
122
- getFlatIndex(nodeIndex: number, subIndex?: number): number;
123
- /**
124
- * Finds all nodes with badge configurations
125
- * @returns Array of badge information objects
126
- */
127
- private findBadges;
128
- static ɵfac: i0.ɵɵFactoryDeclaration<SofNavPanelComponent, never>;
129
- static ɵcmp: i0.ɵɵComponentDeclaration<SofNavPanelComponent, "sof-nav-panel", never, { "nodes": { "alias": "nodes"; "required": true; }; "settings": { "alias": "settings"; "required": false; }; "scrollToTopOnNavigationEndEvent": { "alias": "scrollToTopOnNavigationEndEvent"; "required": false; }; "brandLogo": { "alias": "brandLogo"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "isAutoShrink": { "alias": "isAutoShrink"; "required": false; }; }, { "isNavPanelOpenedEvent": "isNavPanelOpenedEvent"; "availableNodeBadges": "availableNodeBadges"; }, never, ["[sof-nav-panel-main-content]"], true, never>;
130
- }
@@ -1,49 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * The Softheon Sub Navigation component
5
- */
6
- export declare class SofSubNavigationComponent {
7
- /** The nav links for the sub navigation. *required */
8
- subNavigationData: Array<SubNavigationData>;
9
- /** Whether to use route navigation indicator */
10
- useRouteNavigation: boolean;
11
- /** Emit the current active index */
12
- activeIndex: EventEmitter<number>;
13
- /** The current active option index */
14
- currentActiveOptionIndex: number;
15
- /** The constructor */
16
- constructor();
17
- /** On component init */
18
- ngOnInit(): void;
19
- /**
20
- * Handle navigation link click event
21
- * @param index the nav link index in the subNavigationData config array
22
- * @param disabled whether the clicked navigation is disabled
23
- */
24
- handleNavLinkClick(index: number, disabled: boolean): void;
25
- /**
26
- * Handle selection option click event
27
- * @param value the nav link label value
28
- */
29
- handleOptionClick(value: string): void;
30
- static ɵfac: i0.ɵɵFactoryDeclaration<SofSubNavigationComponent, never>;
31
- static ɵcmp: i0.ɵɵComponentDeclaration<SofSubNavigationComponent, "sof-sub-navigation", never, { "subNavigationData": { "alias": "subNavigationData"; "required": true; }; "useRouteNavigation": { "alias": "useRouteNavigation"; "required": false; }; }, { "activeIndex": "activeIndex"; }, never, ["*"], false, never>;
32
- }
33
- /**
34
- * The navigation data for sub navigation interface
35
- * @property label: string, The text to display on the link
36
- * @property path (optional): string, The URL to navigate to
37
- * @property disabled (optional): boolean, Is the nav link disabled
38
- * @property queryParams (optional): Object, The queryParams to add to the path
39
- * @property icon (optional): string, The icon class tag to define the icon
40
- * */
41
- export interface SubNavigationData {
42
- label: string;
43
- path?: string;
44
- disabled?: boolean;
45
- queryParams?: {
46
- [key: string]: string | string[];
47
- };
48
- icon?: string;
49
- }
@@ -1,30 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- /**
3
- * The Softheon tabs component
4
- * @input navLinks, The nav links for the mat tabs *required
5
- * */
6
- export declare class SofTabsComponent {
7
- /** The nav links for the mat tabs *required */
8
- navLinks: Array<TabNavLink>;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<SofTabsComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<SofTabsComponent, "sof-tabs", never, { "navLinks": { "alias": "navLinks"; "required": true; }; }, {}, never, ["[sof-ar-tabs-right]"], false, never>;
11
- }
12
- /**
13
- * The navigation links for tabs interface
14
- * @property path: string, The URL to navigate to
15
- * @property label: string, The text to display on the tab
16
- * @property disabled (optional): boolean, Is the tab disabled
17
- * @property labelParams (optional): Object, The label translation param
18
- * @property queryParams (optional): Object, The queryParams to add to the path
19
- * */
20
- export interface TabNavLink {
21
- path: string;
22
- label: string;
23
- disabled?: boolean;
24
- labelParams?: {
25
- [key: string]: string;
26
- };
27
- queryParams?: {
28
- [key: string]: string | string[];
29
- };
30
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * The navigation links for tabs interface
3
- * @property url: string, The URL to navigate to
4
- * @property label: string, The text to display
5
- * */
6
- export interface Breadcrumb {
7
- url: string;
8
- label: string;
9
- }
@@ -1,25 +0,0 @@
1
- /** The Theme Settings */
2
- export interface NavigationThemeSettings {
3
- /** the content background color */
4
- contentBgColor?: string;
5
- /** the navigation overall font color */
6
- fontColor?: string;
7
- /** the background gradient color 2 */
8
- bgGradientColor1?: string;
9
- /** the background gradient color 2 */
10
- bgGradientColor2?: string;
11
- /** the overall border right color */
12
- borderRightColor?: string;
13
- /** the list border color */
14
- listBorderColor?: string;
15
- /** the nav highlight gradient color 1 */
16
- highlightGradient1?: string;
17
- /** the nav highlight gradient color 2 */
18
- highlightGradient2?: string;
19
- /** the SubNav highlight border color */
20
- subHighlightBorderColor?: string;
21
- /** the SubNav highlight bg color */
22
- subHighlightBgColor?: string;
23
- /** The mobile background color */
24
- mobileBgColor?: string;
25
- }
@@ -1,68 +0,0 @@
1
- /** the Navigation Settings */
2
- export interface NavigationSettings {
3
- /** the Header Menu FontAwesome icon when the navigation bar is open */
4
- fontAwesomeMenuIcon?: string;
5
- /** the Header Menu FontAwesome icon when the navigation bar is closed */
6
- fontAwesomeMenuIconClosed?: string;
7
- /** the main menu text that appears in the mobile SubNav */
8
- mainMenuText?: string;
9
- /** the header height */
10
- headerHeight?: number;
11
- /** menu button screen reader text */
12
- menuButtonSRText?: string;
13
- /** The menu style */
14
- menuStyle?: 'static' | 'stepper' | 'progress';
15
- /** True if navigation is hidden */
16
- hideNavigation?: boolean;
17
- /** True if the navigation should show numbers for the sections */
18
- displayNumbers?: boolean;
19
- /** The icon for progress menu completed section */
20
- progressSectionCompleteIcon?: string;
21
- /** The icon for progress menu future section */
22
- progressSectionFutureIcon?: string;
23
- /** The icon for progress menu current section */
24
- progressSectionCurrentIcon?: string;
25
- /** The icon for progress menu complete item */
26
- progressMenuCompleteIcon?: string;
27
- /** True if the progress bar should be displayed */
28
- showProgressBar?: boolean;
29
- /** The width of the side navigation for mobile */
30
- sideNavWidthMobile?: string;
31
- /** The width of side navigation for desktop */
32
- sideNavWidthDesktop?: string;
33
- /** The width of the progress drop down menu */
34
- progressMenuWidth?: string;
35
- /** Config to override the navigation and enable all routes. To be used for testing only */
36
- overrideNavigation?: boolean;
37
- /** The max content width for desktop */
38
- maxContentWidthDesktop?: number;
39
- /** The max content width for mobile */
40
- maxContentWidthMobile?: number;
41
- /** True if the mobile navigation uses custom footer. This will hide the language and signout buttons */
42
- useCustomMobileFooter?: boolean;
43
- /** The custom user name to be displayed for mobile side nav */
44
- customUserName?: string;
45
- /** The custom parent node index to be set when nav is toggled to progress menu style */
46
- toggleProgressNavParentIndex?: number;
47
- /** The custom child node index to be set when nav is toggled to progress menu style */
48
- toggleProgressNavChildIndex?: number;
49
- /** True when resetting the navigation */
50
- resetNav?: boolean;
51
- /** Whether to allow navigation toggle on non-mobile */
52
- allowNavToggle?: boolean;
53
- /** Whether to allow username to show up on sidenav mobile view */
54
- disableUsernameMobile?: boolean;
55
- /** The navigation version */
56
- version?: 'v1' | 'v2';
57
- }
58
- /** The Advanced Settings */
59
- export interface NavigationAdvancedSettings {
60
- /** the top gap on desktop screens for the MD component */
61
- topGapDesktop?: number;
62
- /** the top gap on mobile screens for the MD component */
63
- topGapMobile?: number;
64
- /** the margin on desktop screens for the MD component */
65
- marginTopDesktop?: number;
66
- /** the margin on mobile screens for the MD component */
67
- marginTopMobile?: number;
68
- }
@@ -1,42 +0,0 @@
1
- /** The Navigation (Parent) Node Model */
2
- export interface NavNode {
3
- /** the parent node title */
4
- text: string;
5
- /** the parent node fontAwesomeIcon */
6
- fontAwesomeIcon?: string;
7
- /** the parent node route */
8
- route?: string;
9
- /** the parent node sub-nodes */
10
- subNodes?: SubNavNodes[];
11
- /** True if the node is complete */
12
- complete?: boolean;
13
- /** True if the node was visited */
14
- visited?: boolean;
15
- /** The step content */
16
- stepContent?: string;
17
- /** the footer content */
18
- altLocation?: boolean;
19
- /** True if the parent node is disabled */
20
- isDisabled?: boolean;
21
- /** Whether or not the navigation expanded at start */
22
- expanded?: boolean;
23
- /** True when visibility is hidden */
24
- hidden?: boolean;
25
- }
26
- /** The Sub-Navigation (Child) Node Model */
27
- export interface SubNavNodes {
28
- /** the sub-node title */
29
- text: string;
30
- /** the sub-node route */
31
- route: string;
32
- /** True if the node is complete */
33
- complete?: boolean;
34
- /** True if the node was visited */
35
- visited?: boolean;
36
- /** The step content */
37
- stepContent?: string;
38
- /** True when visibility is hidden */
39
- hidden?: boolean;
40
- /** The sub nav icon */
41
- icon?: string;
42
- }
@@ -1,15 +0,0 @@
1
- /** Public API surface for components */
2
- export * from './navigation.module';
3
- export * from './models/navigation';
4
- export * from './models/nav.settings';
5
- export * from './models/nav-theme.settings';
6
- export * from './models/breadcrumb';
7
- export * from './components/sof-navigation-panel/models/nav-panel-nodes';
8
- export * from './components/sof-navigation-panel/models/nav-panel-settings';
9
- export * from './components/sof-navigation-panel/models/nav-panel-logo';
10
- export * from './components/navigation/navigation.component';
11
- export * from './components/sof-breadcrumbs/sof-breadcrumbs-hierarchy/sof-breadcrumbs-hierarchy.component';
12
- export * from './components/sof-breadcrumbs/sof-breadcrumbs-history/sof-breadcrumbs-history.component';
13
- export * from './components/sof-tabs-navigation/sof-tabs.component';
14
- export * from './components/sof-sub-navigation/sof-sub-navigation.component';
15
- export * from './components/sof-navigation-panel/sof-nav-panel.component';
@@ -1,28 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./components/navigation/navigation.component";
3
- import * as i2 from "./components/sof-tabs-navigation/sof-tabs.component";
4
- import * as i3 from "./components/sof-sub-navigation/sof-sub-navigation.component";
5
- import * as i4 from "@angular/router";
6
- import * as i5 from "@angular/common";
7
- import * as i6 from "@ngx-translate/core";
8
- import * as i7 from "@ngbracket/ngx-layout";
9
- import * as i8 from "@angular/material/sidenav";
10
- import * as i9 from "@angular/material/slider";
11
- import * as i10 from "@angular/material/slide-toggle";
12
- import * as i11 from "@angular/material/button";
13
- import * as i12 from "@angular/material/button-toggle";
14
- import * as i13 from "@angular/material/icon";
15
- import * as i14 from "@angular/material/list";
16
- import * as i15 from "@angular/material/tooltip";
17
- import * as i16 from "@angular/material/expansion";
18
- import * as i17 from "@angular/material/menu";
19
- import * as i18 from "@angular/material/stepper";
20
- import * as i19 from "@angular/material/select";
21
- import * as i20 from "@angular/material/progress-bar";
22
- import * as i21 from "@angular/material/tabs";
23
- /** The Navigation Module */
24
- export declare class NavigationModule {
25
- static ɵfac: i0.ɵɵFactoryDeclaration<NavigationModule, never>;
26
- static ɵmod: i0.ɵɵNgModuleDeclaration<NavigationModule, [typeof i1.ArmatureNavigationComponent, typeof i2.SofTabsComponent, typeof i3.SofSubNavigationComponent], [typeof i4.RouterModule, typeof i5.CommonModule, typeof i6.TranslateModule, typeof i7.FlexLayoutModule, typeof i8.MatSidenavModule, typeof i9.MatSliderModule, typeof i10.MatSlideToggleModule, typeof i11.MatButtonModule, typeof i12.MatButtonToggleModule, typeof i11.MatButtonModule, typeof i13.MatIconModule, typeof i14.MatListModule, typeof i15.MatTooltipModule, typeof i16.MatExpansionModule, typeof i17.MatMenuModule, typeof i18.MatStepperModule, typeof i16.MatExpansionModule, typeof i17.MatMenuModule, typeof i18.MatStepperModule, typeof i19.MatSelectModule, typeof i20.MatProgressBarModule, typeof i21.MatTabsModule], [typeof i1.ArmatureNavigationComponent, typeof i2.SofTabsComponent, typeof i3.SofSubNavigationComponent, typeof i8.MatSidenavModule, typeof i9.MatSliderModule, typeof i10.MatSlideToggleModule, typeof i11.MatButtonModule, typeof i12.MatButtonToggleModule, typeof i11.MatButtonModule, typeof i13.MatIconModule, typeof i14.MatListModule, typeof i15.MatTooltipModule, typeof i16.MatExpansionModule, typeof i17.MatMenuModule, typeof i18.MatStepperModule, typeof i16.MatExpansionModule, typeof i17.MatMenuModule, typeof i18.MatStepperModule, typeof i19.MatSelectModule, typeof i20.MatProgressBarModule, typeof i21.MatTabsModule]>;
27
- static ɵinj: i0.ɵɵInjectorDeclaration<NavigationModule>;
28
- }
@@ -1,6 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { HybridSamlOAuthConfig } from './hybrid-saml-oauth-config';
3
- /** The hybrid saml oauth config injection token */
4
- export declare const HYBRID_SAML_OAUTH_CONFIG: InjectionToken<HybridSamlOAuthConfig>;
5
- /** The key path prefix */
6
- export declare const keyPathPrefix: string;
@@ -1,49 +0,0 @@
1
- /**
2
- * SSO Gateway
3
- * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
4
- *
5
- * OpenAPI spec version: 2
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */
12
- import { Policy } from './policy';
13
- /**
14
- * The account management assertion model
15
- */
16
- export interface AccountManagementAssertionModel {
17
- /**
18
- * Gets or sets the policies.
19
- */
20
- policies?: Array<Policy>;
21
- /**
22
- * Gets or sets the role.
23
- */
24
- role?: string;
25
- /**
26
- * Gets or sets the user identifier.
27
- */
28
- userId?: string;
29
- /**
30
- * Gets or sets the user identifier type
31
- */
32
- userIdType?: string;
33
- /**
34
- * Gets or sets the transaction identifier.
35
- */
36
- transactionId?: string;
37
- /**
38
- * Gets or sets the language preference.
39
- */
40
- languagePreference?: string;
41
- /**
42
- * Gets or sets the broker identifier
43
- */
44
- brokerId?: string;
45
- /**
46
- * Gets or sets the broker identifier type
47
- */
48
- brokerIdType?: string;
49
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * SSO Gateway
3
- * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
4
- *
5
- * OpenAPI spec version: 2
6
- *
7
- *
8
- * NOTE: This class is auto generated by the swagger code generator program.
9
- * https://github.com/swagger-api/swagger-codegen.git
10
- * Do not edit the class manually.
11
- */
12
- import { ISsoResponseModelAccountManagementAssertionModel } from './iSsoResponseModelAccountManagementAssertionModel';
13
- /**
14
- * The refresh request model
15
- */
16
- export interface AccountManagementRefreshRequestModel {
17
- /**
18
- * Gets or sets the SSO response model.
19
- */
20
- ssoResponseModel: ISsoResponseModelAccountManagementAssertionModel;
21
- }